From dd53ea45935f153f1c95d227926f109c14babefd Mon Sep 17 00:00:00 2001 From: jacques franc Date: Fri, 17 Oct 2025 14:47:49 +0200 Subject: [PATCH 01/59] start working on gantt + start date --- geos-trame/src/geos/trame/app/deck/tree.py | 5 +- geos-trame/src/geos/trame/app/ui/timeline.py | 48 ++++++++++++-------- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 4979f3bec..2efa61073 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -4,6 +4,7 @@ import os from collections import defaultdict from typing import Any +from datetime import timedelta, datetime import dpath import funcy @@ -33,6 +34,7 @@ def __init__( self, sm_id: str | None = None, **kwargs: Any ) -> None: self.root = None self.input_has_errors = False self._sm_id = sm_id + self.world_origin_time = datetime(1924,3,28). strftime("%Y-%m-%d")# Total start date !! def set_input_file( self, input_filename: str ) -> None: """Set a new input file. @@ -134,7 +136,8 @@ def timeline( self ) -> list[ dict ] | None: item: dict[ str, str | int ] = { "id": global_id, "summary": e.name, - "start_date": e.begin_time, + "start_date": ( datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time)) ).strftime("%Y-%m-%d"), + "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)) ) } timeline.append( item ) global_id = global_id + 1 diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index d6961c0ed..fd4e79a09 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -2,6 +2,7 @@ # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. # SPDX-FileContributor: Lionel Untereiner from typing import Any +from datetime import datetime, timedelta from trame.widgets import gantt from trame.widgets import vuetify3 as vuetify @@ -10,6 +11,8 @@ from geos.trame.app.deck.tree import DeckTree +date_fmt = "%Y-%m-%d" + class TimelineEditor( vuetify.VCard ): def __init__( self, source: DeckTree, **kwargs: Any ) -> None: @@ -18,6 +21,7 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) + self.state.change("set_start_date")(self._set_start_date) items = self.tree.timeline() @@ -31,14 +35,14 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: "start_date": { "label": "Start", "component": "gantt-date", - "width": 75, + "width": 175, "placeholder": "Start", "sort": "date", }, "end_date": { "label": "End", "component": "gantt-date", - "width": 75, + "width": 0, "placeholder": "End", "sort": "date", }, @@ -56,28 +60,29 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: label="Select starting simulation date", prepend_icon="", prepend_inner_icon="$calendar", - placeholder="09/18/2024", + # placeholder="09/18/2024", + v_model="start_date", ) vuetify.VDivider() - with ( - vuetify.VContainer( "Events timeline" ), - vuetify.VTimeline( - direction="horizontal", - truncate_line="both", - align="center", - side="end", - ), - vuetify.VTimelineItem( v_for=( f"item in {items}", ), key="i", value="item", size="small" ), - ): - vuetify.VAlert( "{{ item.summary }}" ) - vuetify.Template( "{{ item.start_date }}", raw_attrs=[ "v-slot:opposite" ] ) + # with ( + # vuetify.VContainer( "Events timeline" ), + # vuetify.VTimeline( + # direction="horizontal", + # truncate_line="both", + # align="center", + # side="end", + # ), + # vuetify.VTimelineItem( v_for=( f"item in {items}", ), key="i", value="item", size="small" ), + # ): + # vuetify.VAlert( "{{ item.summary }}" ) + # vuetify.Template( "{{ item.start_date }}", raw_attrs=[ "v-slot:opposite" ] ) with vuetify.VContainer( "Events chart" ): gantt.Gantt( canEdit=True, - dateLimit=30, - startDate="2024-11-01 00:00", - endDate="2024-12-01 00:00", + dateLimit=40, + startDate= self.state.start_date if self.state.start_date else self.tree.world_origin_time, + endDate=(datetime.strptime( self.state.start_date if self.state.start_date else self.tree.world_origin_time,date_fmt) + timedelta(days=40)).strftime(date_fmt), # title='Gantt-pre-test', fields=fields, update=( self.update_from_js, "items" ), @@ -85,6 +90,13 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: classes="fill_height", ) + def _set_start_date(self, start_date : str | None, **_: Any) -> None: + if start_date is None: + start_date = self.tree.world_origin_time.strftime(date_fmt) + return + + self.state.start_date = start_date + def update_from_js( self, *items: tuple ) -> None: """Update method called from javascript.""" self.state.items = list( items ) From a291921e3ac497e6cc304375ac6da18a4f04622a Mon Sep 17 00:00:00 2001 From: jacques franc Date: Sun, 19 Oct 2025 17:51:45 +0200 Subject: [PATCH 02/59] filter only Solver event (to start with) --- geos-trame/src/geos/trame/app/deck/tree.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 2efa61073..0070ffbfd 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -132,11 +132,12 @@ def timeline( self ) -> list[ dict ] | None: timeline = [] # list root events global_id = 0 - for e in self.input_file.problem.events[ 0 ].periodic_event: + solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) + for e in solver_events: item: dict[ str, str | int ] = { "id": global_id, "summary": e.name, - "start_date": ( datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time)) ).strftime("%Y-%m-%d"), + "start_date": str( datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time)) ), #.strftime("%Y-%m-%d"), "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)) ) } timeline.append( item ) From 008c3aab67f6d2dea3cb84ba6fdaddd49db944d2 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Sun, 19 Oct 2025 17:52:14 +0200 Subject: [PATCH 03/59] start wiring in picked date --- geos-trame/src/geos/trame/app/ui/timeline.py | 31 +++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index fd4e79a09..891aa739a 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -21,7 +21,9 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) - self.state.change("set_start_date")(self._set_start_date) + + self.state.sdate = self.tree.world_origin_time + self.state.change("sdate")(self._set_start_date) items = self.tree.timeline() @@ -33,23 +35,23 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: "placeholder": "Add a new task...", }, "start_date": { - "label": "Start", + "label": "",# "Start", "component": "gantt-date", - "width": 175, + "width": -1, "placeholder": "Start", "sort": "date", }, "end_date": { - "label": "End", + "label": "",# "End", "component": "gantt-date", - "width": 0, + "width": -1, "placeholder": "End", "sort": "date", }, "duration": { "label": "Days", "component": "gantt-number", - "width": 50, + "width": 150, "placeholder": "0", }, } ] @@ -61,7 +63,7 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: prepend_icon="", prepend_inner_icon="$calendar", # placeholder="09/18/2024", - v_model="start_date", + v_model="sdate" ) vuetify.VDivider() # with ( @@ -79,10 +81,10 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: with vuetify.VContainer( "Events chart" ): gantt.Gantt( - canEdit=True, + canEdit=False, dateLimit=40, - startDate= self.state.start_date if self.state.start_date else self.tree.world_origin_time, - endDate=(datetime.strptime( self.state.start_date if self.state.start_date else self.tree.world_origin_time,date_fmt) + timedelta(days=40)).strftime(date_fmt), + startDate= self.state.sdate, + endDate=(datetime.strptime( self.state.sdate,date_fmt) + timedelta(days=40)).strftime(date_fmt) if self.state.sdate else '2012-12-12', # title='Gantt-pre-test', fields=fields, update=( self.update_from_js, "items" ), @@ -90,12 +92,13 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: classes="fill_height", ) - def _set_start_date(self, start_date : str | None, **_: Any) -> None: - if start_date is None: - start_date = self.tree.world_origin_time.strftime(date_fmt) + def _set_start_date(self, sdate : str | None, **_: Any) -> None: + if sdate is None: + self.state.sdate = self.tree.world_origin_time.strftime(date_fmt) return - self.state.start_date = start_date + self.state.sdate = sdate + print(f"new date :{self.state.sdate}") def update_from_js( self, *items: tuple ) -> None: """Update method called from javascript.""" From 86eaba9ff029bbe83659184a3cbe052686d350ec Mon Sep 17 00:00:00 2001 From: jacques franc Date: Sun, 19 Oct 2025 17:52:56 +0200 Subject: [PATCH 04/59] more usable deck for TL --- geos-trame/tests/data/geosDeck/geosDeck.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/geos-trame/tests/data/geosDeck/geosDeck.xml b/geos-trame/tests/data/geosDeck/geosDeck.xml index a4a7de8ef..cd097f761 100644 --- a/geos-trame/tests/data/geosDeck/geosDeck.xml +++ b/geos-trame/tests/data/geosDeck/geosDeck.xml @@ -149,6 +149,7 @@ From df12876654945eb28904db4efcf5c541b9fb479b Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 21 Oct 2025 15:36:54 +0200 Subject: [PATCH 05/59] wip import new widgets --- geos-trame/src/geos/trame/app/main.py | 4 + geos-trame/src/geos/trame/app/misc/widgets.py | 42 ++++ geos-trame/src/geos/trame/app/ui/timeline.py | 6 +- geos-trame/src/geos/trame/module/__init__.py | 2 +- .../geos/trame/module/serve/gantt-chart.es.js | 194 ++++++++++++++++++ geos-trame/vue-components/package.json | 9 +- 6 files changed, 248 insertions(+), 9 deletions(-) create mode 100644 geos-trame/src/geos/trame/app/misc/widgets.py create mode 100644 geos-trame/src/geos/trame/module/serve/gantt-chart.es.js diff --git a/geos-trame/src/geos/trame/app/main.py b/geos-trame/src/geos/trame/app/main.py index 2ad3b293a..705968b83 100644 --- a/geos-trame/src/geos/trame/app/main.py +++ b/geos-trame/src/geos/trame/app/main.py @@ -7,6 +7,9 @@ from trame.app import get_server # type: ignore from trame_server import Server +import sys +sys.path.insert(0,"/data/pau901/SIM_CS/users/jfranc/geosPythonPackages/geos-trame/src") + from geos.trame.app.core import GeosTrame @@ -15,6 +18,7 @@ def main( server: Server = None, **kwargs: Any ) -> None: # Get or create server if server is None: server = get_server() + server.clear_state_client_cache() if isinstance( server, str ): server = get_server( server ) diff --git a/geos-trame/src/geos/trame/app/misc/widgets.py b/geos-trame/src/geos/trame/app/misc/widgets.py new file mode 100644 index 000000000..f7d0b6603 --- /dev/null +++ b/geos-trame/src/geos/trame/app/misc/widgets.py @@ -0,0 +1,42 @@ +"""Module compatible with vue3""" +from trame_client.widgets.core import AbstractElement +from .. import module + +__all__ = [ + "Gantt", +] + + +class HtmlElement(AbstractElement): + def __init__(self, _elem_name, children=None, **kwargs): + super().__init__(_elem_name, children, **kwargs) + if self.server: + self.server.enable_module(module) + +class Gantt(HtmlElement): + """ + Gantt Editor component + + Properties: + + """ + + def __init__(self, **kwargs): + super().__init__( + "gantt", + **kwargs, + ) + self._attr_names += [ + "items", + "title", + "fields", + "levels", + "dateLimit", + "startDate", + "endDate", + "canEdit" + ] + self._event_names += [ + "input", + "update" + ] diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 891aa739a..e64986318 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -4,7 +4,8 @@ from typing import Any from datetime import datetime, timedelta -from trame.widgets import gantt +# from trame.widgets import gantt +from geos.trame.app.misc.widgets import gantt from trame.widgets import vuetify3 as vuetify from trame_simput import get_simput_manager @@ -91,6 +92,9 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: items=( "items", items ), classes="fill_height", ) + gantt.GanttChart( + + ) def _set_start_date(self, sdate : str | None, **_: Any) -> None: if sdate is None: diff --git a/geos-trame/src/geos/trame/module/__init__.py b/geos-trame/src/geos/trame/module/__init__.py index 1c705fceb..8f6e8dee7 100644 --- a/geos-trame/src/geos/trame/module/__init__.py +++ b/geos-trame/src/geos/trame/module/__init__.py @@ -7,7 +7,7 @@ serve = { "__geos_trame": serve_path } # List of JS files to load (usually from the serve path above) -scripts = [ "__geos_trame/geos_trame.umd.js" ] +scripts = [ "__geos_trame/geos_trame.umd.js" , "__geos_trame/gantt-chart.umd.js"] # List of CSS files to load (usually from the serve path above) # styles = ["__geos_trame/style.css"] diff --git a/geos-trame/src/geos/trame/module/serve/gantt-chart.es.js b/geos-trame/src/geos/trame/module/serve/gantt-chart.es.js new file mode 100644 index 000000000..e7ea6f409 --- /dev/null +++ b/geos-trame/src/geos/trame/module/serve/gantt-chart.es.js @@ -0,0 +1,194 @@ +import { ref as x, computed as S, watch as C, onMounted as W, createElementBlock as G, openBlock as I, Fragment as X, createElementVNode as i, createCommentVNode as Y, normalizeStyle as O, toDisplayString as N, createTextVNode as _, withDirectives as $, vModelText as F, nextTick as q } from "vue"; +import * as l from "d3"; +const J = (y, h) => { + const r = y.__vccOpts || y; + for (const [g, f] of h) + r[g] = f; + return r; +}, K = { class: "text-sm font-semibold text-gray-700 mb-2" }, Q = { class: "text-xs font-medium text-gray-600" }, Z = { class: "text-xs font-medium text-gray-600" }, tt = { class: "text-xs font-medium text-gray-600" }, et = { class: "mt-3 flex justify-between items-center" }, nt = { class: "text-xs font-bold text-blue-600" }, at = { + __name: "GanttChart", + props: { + tasks: Array, + startDate: String, + endDate: String + }, + emits: ["task-hovered", "task-moved"], + setup(y, { emit: h }) { + const r = y, g = h, f = x(null), A = x(0), d = { top: 40, right: 20, bottom: 30, left: 50 }, B = S(() => r.tasks.length * 40 + d.top + d.bottom), D = x(!1), V = (t, e) => { + if (!t || !e) return 0; + const a = new Date(t), o = new Date(e); + if (a.getTime() > o.getTime()) return 0; + const b = Math.abs(o.getTime() - a.getTime()); + return Math.ceil(b / (1e3 * 60 * 60 * 24)) + 1; + }, z = (t, e) => { + if (!t || e <= 0) return t; + const a = new Date(t); + return a.setDate(a.getDate() + e - 1), l.timeFormat("%Y-%m-%d")(a); + }, n = x(null), L = S(() => n.value ? V(n.value.start, n.value.end) : 0), M = S(() => { + if (!n.value || !n.value.x || !n.value.y) return {}; + const t = d.left; + return { + position: "absolute", + left: `${n.value.x + t}px`, + top: `${n.value.y + d.top + 5}px`, + // Place sous la barre + transform: "translateX(-50%)", + zIndex: 30, + minWidth: "320px" + // Agrandir le formulaire pour les 3 champs + }; + }), P = (t, e) => { + const a = c.value(new Date(t.start)), o = m.value(t.name); + n.value = { + id: t.id, + name: t.name, + start: t.start, + end: t.end, + // Initialiser la durée à partir des dates actuelles + durationDays: V(t.start, t.end), + x: a, + y: o + }, q(() => { + document.querySelector(".gantt-edit-form input").focus(); + }); + }; + C(() => { + var t; + return (t = n.value) == null ? void 0 : t.durationDays; + }, (t, e) => { + n.value && t && t !== e && (n.value.end = z(n.value.start, t)); + }), C(() => { + var t; + return (t = n.value) == null ? void 0 : t.start; + }, (t, e) => { + n.value && t && t !== e && (n.value.end = z(t, n.value.durationDays)); + }); + const R = () => { + const { id: t, name: e, start: a, end: o } = n.value, b = new Date(a), s = new Date(o); + if (b.getTime() >= s.getTime()) { + console.error("La date de début doit être strictement antérieure à la date de fin."), alert("La date de début doit être strictement antérieure à la date de fin."); + return; + } + g("task-moved", { + id: t, + name: e, + newStart: a, + newEnd: o + }), n.value = null; + }, c = x(null), m = x(null), j = (t) => { + const e = new Date(r.startDate), a = new Date(r.endDate); + c.value = l.scaleTime().domain([e, a]).range([0, t - d.left - d.right]), m.value = l.scaleBand().domain(r.tasks.map((o) => o.name)).range([0, r.tasks.length * 40]).paddingInner(0.1); + }, T = () => { + if (!r.tasks.length || !f.value) return; + A.value = f.value.clientWidth; + const t = A.value; + j(t); + const e = l.select(f.value); + e.selectAll("*").remove(); + const o = e.append("svg").attr("width", t).attr("height", B.value).append("g").attr("transform", `translate(${d.left}, ${d.top})`); + o.append("g").attr("transform", `translate(0, ${r.tasks.length * 40})`).call(l.axisBottom(c.value)), o.append("g").call(l.axisLeft(m.value)); + const b = l.drag().on("start", function(s, u) { + D.value = !1, l.select(this).raise().classed("dragging", !0), console.log(`DRAG START: Tentative de glisser la tâche: ${u.name}`); + }).on("drag", function(s, u) { + D.value = !0; + const p = s.x; + l.select(this).attr("x", p), console.log(`DRAG: Position X: ${p}`); + }).on("end", function(s, u) { + if (l.select(this).classed("dragging", !1), D.value) { + const p = c.value.invert(s.x), k = new Date(u.end).getTime() - new Date(u.start).getTime(), E = new Date(p.getTime() + k), w = l.timeFormat("%Y-%m-%d")(p), v = l.timeFormat("%Y-%m-%d")(E); + console.log(`DRAG END: Nouvelle date de début calculée: ${w}`), g("task-moved", { + id: u.id, + name: u.name, + newStart: w, + newEnd: v + }); + } + D.value = !1; + }); + r.tasks.forEach((s) => { + const u = c.value(new Date(s.start)), k = c.value(new Date(s.end)) - u, E = m.value(s.name), w = o.append("rect").datum(s).attr("x", u).attr("y", E).attr("width", k).attr("height", m.value.bandwidth()).attr("fill", s.color).attr("rx", 4).style("cursor", "grab").on("mouseenter", (v) => { + const [H, U] = l.pointer(v); + g("task-hovered", { task: s, isHovering: !0, x: H + d.left, y: U + d.top }), l.select(v.currentTarget).style("filter", "brightness(1.1)"); + }).on("mouseleave", (v) => { + g("task-hovered", { task: s, isHovering: !1 }), l.select(v.currentTarget).style("filter", "none"); + }).on("dblclick", function(v) { + P(s); + }); + b(w); + }), o.selectAll(".task-label").data(r.tasks).enter().append("text").text((s) => s.name).attr("x", (s) => c.value(new Date(s.start)) + 5).attr("y", (s) => m.value(s.name) + m.value.bandwidth() / 2 + 5).attr("fill", "black").style("pointer-events", "none").style("font-size", "12px"); + }; + return W(() => { + window.addEventListener("resize", T), T(); + }), C( + () => r.tasks, + () => { + T(); + }, + { deep: !0 } + ), (t, e) => (I(), G(X, null, [ + i("div", { + ref_key: "ganttContainer", + ref: f, + class: "relative w-full overflow-x-auto" + }, null, 512), + n.value ? (I(), G("div", { + key: 0, + style: O(M.value), + class: "gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50" + }, [ + i("div", K, "Éditer: " + N(n.value.name), 1), + i("label", Q, [ + e[4] || (e[4] = _(" Durée (jours): ", -1)), + $(i("input", { + type: "number", + "onUpdate:modelValue": e[0] || (e[0] = (a) => n.value.durationDays = a), + min: "1", + class: "mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500" + }, null, 512), [ + [ + F, + n.value.durationDays, + void 0, + { number: !0 } + ] + ]) + ]), + e[7] || (e[7] = i("hr", { class: "border-gray-200 my-1" }, null, -1)), + i("label", Z, [ + e[5] || (e[5] = _(" Début: ", -1)), + $(i("input", { + type: "date", + "onUpdate:modelValue": e[1] || (e[1] = (a) => n.value.start = a), + class: "mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500" + }, null, 512), [ + [F, n.value.start] + ]) + ]), + i("label", tt, [ + e[6] || (e[6] = _(" Fin: ", -1)), + $(i("input", { + type: "date", + "onUpdate:modelValue": e[2] || (e[2] = (a) => n.value.end = a), + class: "mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500" + }, null, 512), [ + [F, n.value.end] + ]) + ]), + i("div", et, [ + i("span", nt, " Durée effective: " + N(L.value) + " j. ", 1), + i("button", { + onClick: R, + class: "bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150" + }, " Valider ") + ]), + i("button", { + onClick: e[3] || (e[3] = (a) => n.value = null), + class: "absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs" + }, " × ") + ], 4)) : Y("", !0) + ], 64)); + } +}, lt = /* @__PURE__ */ J(at, [["__scopeId", "data-v-42cc02f8"]]); +export { + lt as GanttChart +}; diff --git a/geos-trame/vue-components/package.json b/geos-trame/vue-components/package.json index b4e57be70..2a2464a72 100644 --- a/geos-trame/vue-components/package.json +++ b/geos-trame/vue-components/package.json @@ -17,11 +17,6 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore --ignore-pattern public", "semantic-release": "semantic-release" }, - "dependencies": { - }, - "peerDependencies": { - "vue": "^2.7.0 || >=3.0.0" - }, "devDependencies": { "@rushstack/eslint-patch": "^1.1.4", "@vue/eslint-config-prettier": "^7.0.0", @@ -29,8 +24,8 @@ "eslint-plugin-vue": "^9.3.0", "prettier": "^2.7.1", "semantic-release": "19.0.2", - "vite": "^4.1.0", - "vue": "^3.0.0" + "vite": "^5.2.12", + "vue": "^3.4.27" }, "files": [ "dist/*", From 099af1851594fb1257a5159217bc6d72930492ac Mon Sep 17 00:00:00 2001 From: jacques franc Date: Fri, 24 Oct 2025 18:48:15 +0200 Subject: [PATCH 06/59] wip / first display --- .../geos/trame/app/gantt_chart/__init__.py | 7 + .../trame/app/gantt_chart/module/__init__.py | 25 +++ .../module/serve/gantt-chart.umd.js | 1 + .../widgets/gantt_chart.py} | 15 +- geos-trame/src/geos/trame/app/ui/timeline.py | 34 +-- geos-trame/src/geos/trame/module/__init__.py | 2 +- .../geos/trame/module/serve/gantt-chart.es.js | 194 ------------------ geos-trame/vue-components/package.json | 4 + 8 files changed, 61 insertions(+), 221 deletions(-) create mode 100644 geos-trame/src/geos/trame/app/gantt_chart/__init__.py create mode 100644 geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py create mode 100644 geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js rename geos-trame/src/geos/trame/app/{misc/widgets.py => gantt_chart/widgets/gantt_chart.py} (74%) delete mode 100644 geos-trame/src/geos/trame/module/serve/gantt-chart.es.js diff --git a/geos-trame/src/geos/trame/app/gantt_chart/__init__.py b/geos-trame/src/geos/trame/app/gantt_chart/__init__.py new file mode 100644 index 000000000..34d11ae90 --- /dev/null +++ b/geos-trame/src/geos/trame/app/gantt_chart/__init__.py @@ -0,0 +1,7 @@ +from trame_client.utils.version import get_version + +__version__ = get_version("gantt-chart") + +__all__ = [ + "__version__", +] diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py b/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py new file mode 100644 index 000000000..8dc4af3a8 --- /dev/null +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py @@ -0,0 +1,25 @@ +from pathlib import Path + +# Compute local path to serve +serve_path = str( Path( __file__ ).with_name( "serve" ).resolve() ) + +# Serve directory for JS/CSS files +serve = { "__gantt_chart": serve_path } + +# List of JS files to load (usually from the serve path above) +scripts = [ "__gantt_chart/gantt-chart.umd.js"] + +# List of CSS files to load (usually from the serve path above) +# styles = ["__geos_trame/style.css"] + +# List of Vue plugins to install/load +vue_use = [ "GanttLib" ] + +# Uncomment to add entries to the shared state +# state = {} + + +# Optional if you want to execute custom initialization at module load +def setup( app, **kwargs ): # noqa + """Method called at initialization with possibly some custom keyword arguments.""" + pass diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js new file mode 100644 index 000000000..14b87b1e7 --- /dev/null +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -0,0 +1 @@ +(function(e,D){typeof exports=="object"&&typeof module<"u"?module.exports=D(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],D):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=D(e.Vue,e.d3))})(this,function(e,D){"use strict";function M(d){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const u in d)if(u!=="default"){const r=Object.getOwnPropertyDescriptor(d,u);Object.defineProperty(v,u,r.get?r:{enumerable:!0,get:()=>d[u]})}}return v.default=d,Object.freeze(v)}const i=M(D),z=(d,v)=>{const u=d.__vccOpts||d;for(const[r,b]of v)u[r]=b;return u},B={class:"gantt-wrapper relative w-full"},F={class:"font-bold mb-1"},$={class:"mt-1 font-medium"},A={class:"text-sm font-semibold text-gray-700 mb-2"},I={class:"text-xs font-medium text-gray-600"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=z({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["task-moved"],setup(d,{emit:v}){const u=d,r=e.ref([]),b=e.ref(null),k=e.ref(0),c={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,r.value.length*40+c.top+c.bottom)),w=e.ref(!1),a=e.ref(null),f=e.ref(null),V=e.ref({x:0,y:0}),U=e.computed(()=>({position:"absolute",left:`${V.value.x}px`,top:`${V.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),T=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),s=new Date(n);if(l.getTime()>s.getTime())return 0;const p=Math.abs(s.getTime()-l.getTime());return Math.ceil(p/(1e3*60*60*24))+1},C=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),i.timeFormat("%Y-%m-%d")(l)},j=t=>{const n=r.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...r.value[n],start:t.newStart,end:t.newEnd},s=[...r.value];s[n]=l,r.value=s}},W=e.computed(()=>a.value?T(a.value.start,a.value.end):0),X=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=c.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+c.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),H=(t,n)=>{if(w.value||a.value)return;const l=g.value(new Date(t.start)),s=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:T(t.start,t.end),x:l,y:s},e.nextTick(()=>{const p=document.querySelector(".gantt-edit-form input");p&&p.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=C(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=T(t,a.value.end)),a.value&&t&&(a.value.end=C(t,a.value.durationDays))});const J=()=>{const{id:t,name:n,start:l,end:s}=a.value,p=new Date(l),o=new Date(s);if(p.getTime()>=o.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}j({id:t,newStart:l,newEnd:s}),a.value=null},g=e.ref(null),x=e.ref(null),K=t=>{const n=new Date(u.startDate),l=new Date(u.endDate);g.value=i.scaleTime().domain([n,l]).range([0,t-c.left-c.right]),x.value=i.scaleBand().domain(Array.isArray(r.value)?r.value.map(s=>s.name):[]).range([0,r.value.length*40]).paddingInner(.1)},h=()=>{if(!b.value)return;k.value=b.value.clientWidth;const t=k.value;K(t);const n=i.select(b.value);n.selectAll("*").remove();const s=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${c.left}, ${c.top})`);if(s.append("g").attr("transform",`translate(0, ${r.value.length*40||50})`).call(i.axisBottom(g.value)),s.append("g").call(i.axisLeft(x.value)),!r.value.length)return;const p=i.drag().on("start",function(o,m){w.value=!1,i.select(this).raise().classed("dragging",!0)}).on("drag",function(o,m){w.value=!0;const E=o.x;i.select(this).attr("x",E)}).on("end",function(o,m){if(i.select(this).classed("dragging",!1),w.value){const E=g.value.invert(o.x),N=new Date(m.end).getTime()-new Date(m.start).getTime(),_=new Date(E.getTime()+N),S=i.timeFormat("%Y-%m-%d")(E),y=i.timeFormat("%Y-%m-%d")(_);j({id:m.id,name:m.name,newStart:S,newEnd:y})}w.value=!1});r.value.forEach(o=>{const m=g.value(new Date(o.start)),N=g.value(new Date(o.end))-m,_=x.value(o.name),S=s.append("rect").datum(o).attr("x",m).attr("y",_).attr("width",N).attr("height",x.value.bandwidth()).attr("fill",o.color).attr("rx",4).style("cursor","grab").on("mouseenter",(y,Q)=>{const[R,Z]=i.pointer(y);f.value=Q,V.value={x:R+c.left,y:Z+c.top},i.select(y.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",y=>{f.value=null,i.select(y.currentTarget).style("filter","none")}).on("dblclick",function(y){H(o)});p(S)}),s.selectAll(".task-label").data(r.value).enter().append("text").text(o=>o.name).attr("x",o=>g.value(new Date(o.start))+5).attr("y",o=>x.value(o.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>u.tasks,t=>{Array.isArray(t)?(r.value=t.map(n=>({...n})),h()):(r.value=[],h())},{immediate:!0,deep:!0}),e.onMounted(()=>{h(),window.addEventListener("resize",h)}),e.watch(()=>r.value,()=>{h()}),(t,n)=>(e.openBlock(),e.createElementBlock("div",B,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:b,class:"relative w-full overflow-x-auto"},null,512),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(U.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",F,e.toDisplayString(f.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(f.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(f.value.end),1),e.createElementVNode("div",$,"Durée: "+e.toDisplayString(T(f.value.start,f.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(X.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",A,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",I,[n[4]||(n[4]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[7]||(n[7]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",L,[n[5]||(n[5]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",O,[n[6]||(n[6]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",P,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(W.value)+" j. ",1),e.createElementVNode("button",{onClick:J,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-59e9c80e"]]);return{install(d){d.component("GanttChart",Y)}}}); diff --git a/geos-trame/src/geos/trame/app/misc/widgets.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py similarity index 74% rename from geos-trame/src/geos/trame/app/misc/widgets.py rename to geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index f7d0b6603..106a91e6d 100644 --- a/geos-trame/src/geos/trame/app/misc/widgets.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -23,20 +23,15 @@ class Gantt(HtmlElement): def __init__(self, **kwargs): super().__init__( - "gantt", + "GanttChart", **kwargs, ) self._attr_names += [ - "items", - "title", - "fields", - "levels", - "dateLimit", + "tasks", "startDate", - "endDate", - "canEdit" + "endDate" ] self._event_names += [ - "input", - "update" + # "input", + # "update" ] diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index e64986318..40321e26a 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -5,13 +5,13 @@ from datetime import datetime, timedelta # from trame.widgets import gantt -from geos.trame.app.misc.widgets import gantt +from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt from trame.widgets import vuetify3 as vuetify +from trame.widgets.html import Html from trame_simput import get_simput_manager from geos.trame.app.deck.tree import DeckTree - date_fmt = "%Y-%m-%d" class TimelineEditor( vuetify.VCard ): @@ -81,20 +81,22 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # vuetify.Template( "{{ item.start_date }}", raw_attrs=[ "v-slot:opposite" ] ) with vuetify.VContainer( "Events chart" ): - gantt.Gantt( - canEdit=False, - dateLimit=40, - startDate= self.state.sdate, - endDate=(datetime.strptime( self.state.sdate,date_fmt) + timedelta(days=40)).strftime(date_fmt) if self.state.sdate else '2012-12-12', - # title='Gantt-pre-test', - fields=fields, - update=( self.update_from_js, "items" ), - items=( "items", items ), - classes="fill_height", - ) - gantt.GanttChart( - - ) + Gantt() + # tasks=[{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}], + # startDate="2012-11-01", + # endDate="2013-01-12") + # + # Gantt( + # canEdit=False, + # dateLimit=40, + # startDate= self.state.sdate, + # endDate=(datetime.strptime( self.state.sdate,date_fmt) + timedelta(days=40)).strftime(date_fmt) if self.state.sdate else '2012-12-12', + # # title='Gantt-pre-test', + # fields=fields, + # update=( self.update_from_js, "items" ), + # items=( "items", items ), + # classes="fill_height", + # ) def _set_start_date(self, sdate : str | None, **_: Any) -> None: if sdate is None: diff --git a/geos-trame/src/geos/trame/module/__init__.py b/geos-trame/src/geos/trame/module/__init__.py index 8f6e8dee7..a31068625 100644 --- a/geos-trame/src/geos/trame/module/__init__.py +++ b/geos-trame/src/geos/trame/module/__init__.py @@ -7,7 +7,7 @@ serve = { "__geos_trame": serve_path } # List of JS files to load (usually from the serve path above) -scripts = [ "__geos_trame/geos_trame.umd.js" , "__geos_trame/gantt-chart.umd.js"] +scripts = [ "__geos_trame/geos_trame.umd.js"] # List of CSS files to load (usually from the serve path above) # styles = ["__geos_trame/style.css"] diff --git a/geos-trame/src/geos/trame/module/serve/gantt-chart.es.js b/geos-trame/src/geos/trame/module/serve/gantt-chart.es.js deleted file mode 100644 index e7ea6f409..000000000 --- a/geos-trame/src/geos/trame/module/serve/gantt-chart.es.js +++ /dev/null @@ -1,194 +0,0 @@ -import { ref as x, computed as S, watch as C, onMounted as W, createElementBlock as G, openBlock as I, Fragment as X, createElementVNode as i, createCommentVNode as Y, normalizeStyle as O, toDisplayString as N, createTextVNode as _, withDirectives as $, vModelText as F, nextTick as q } from "vue"; -import * as l from "d3"; -const J = (y, h) => { - const r = y.__vccOpts || y; - for (const [g, f] of h) - r[g] = f; - return r; -}, K = { class: "text-sm font-semibold text-gray-700 mb-2" }, Q = { class: "text-xs font-medium text-gray-600" }, Z = { class: "text-xs font-medium text-gray-600" }, tt = { class: "text-xs font-medium text-gray-600" }, et = { class: "mt-3 flex justify-between items-center" }, nt = { class: "text-xs font-bold text-blue-600" }, at = { - __name: "GanttChart", - props: { - tasks: Array, - startDate: String, - endDate: String - }, - emits: ["task-hovered", "task-moved"], - setup(y, { emit: h }) { - const r = y, g = h, f = x(null), A = x(0), d = { top: 40, right: 20, bottom: 30, left: 50 }, B = S(() => r.tasks.length * 40 + d.top + d.bottom), D = x(!1), V = (t, e) => { - if (!t || !e) return 0; - const a = new Date(t), o = new Date(e); - if (a.getTime() > o.getTime()) return 0; - const b = Math.abs(o.getTime() - a.getTime()); - return Math.ceil(b / (1e3 * 60 * 60 * 24)) + 1; - }, z = (t, e) => { - if (!t || e <= 0) return t; - const a = new Date(t); - return a.setDate(a.getDate() + e - 1), l.timeFormat("%Y-%m-%d")(a); - }, n = x(null), L = S(() => n.value ? V(n.value.start, n.value.end) : 0), M = S(() => { - if (!n.value || !n.value.x || !n.value.y) return {}; - const t = d.left; - return { - position: "absolute", - left: `${n.value.x + t}px`, - top: `${n.value.y + d.top + 5}px`, - // Place sous la barre - transform: "translateX(-50%)", - zIndex: 30, - minWidth: "320px" - // Agrandir le formulaire pour les 3 champs - }; - }), P = (t, e) => { - const a = c.value(new Date(t.start)), o = m.value(t.name); - n.value = { - id: t.id, - name: t.name, - start: t.start, - end: t.end, - // Initialiser la durée à partir des dates actuelles - durationDays: V(t.start, t.end), - x: a, - y: o - }, q(() => { - document.querySelector(".gantt-edit-form input").focus(); - }); - }; - C(() => { - var t; - return (t = n.value) == null ? void 0 : t.durationDays; - }, (t, e) => { - n.value && t && t !== e && (n.value.end = z(n.value.start, t)); - }), C(() => { - var t; - return (t = n.value) == null ? void 0 : t.start; - }, (t, e) => { - n.value && t && t !== e && (n.value.end = z(t, n.value.durationDays)); - }); - const R = () => { - const { id: t, name: e, start: a, end: o } = n.value, b = new Date(a), s = new Date(o); - if (b.getTime() >= s.getTime()) { - console.error("La date de début doit être strictement antérieure à la date de fin."), alert("La date de début doit être strictement antérieure à la date de fin."); - return; - } - g("task-moved", { - id: t, - name: e, - newStart: a, - newEnd: o - }), n.value = null; - }, c = x(null), m = x(null), j = (t) => { - const e = new Date(r.startDate), a = new Date(r.endDate); - c.value = l.scaleTime().domain([e, a]).range([0, t - d.left - d.right]), m.value = l.scaleBand().domain(r.tasks.map((o) => o.name)).range([0, r.tasks.length * 40]).paddingInner(0.1); - }, T = () => { - if (!r.tasks.length || !f.value) return; - A.value = f.value.clientWidth; - const t = A.value; - j(t); - const e = l.select(f.value); - e.selectAll("*").remove(); - const o = e.append("svg").attr("width", t).attr("height", B.value).append("g").attr("transform", `translate(${d.left}, ${d.top})`); - o.append("g").attr("transform", `translate(0, ${r.tasks.length * 40})`).call(l.axisBottom(c.value)), o.append("g").call(l.axisLeft(m.value)); - const b = l.drag().on("start", function(s, u) { - D.value = !1, l.select(this).raise().classed("dragging", !0), console.log(`DRAG START: Tentative de glisser la tâche: ${u.name}`); - }).on("drag", function(s, u) { - D.value = !0; - const p = s.x; - l.select(this).attr("x", p), console.log(`DRAG: Position X: ${p}`); - }).on("end", function(s, u) { - if (l.select(this).classed("dragging", !1), D.value) { - const p = c.value.invert(s.x), k = new Date(u.end).getTime() - new Date(u.start).getTime(), E = new Date(p.getTime() + k), w = l.timeFormat("%Y-%m-%d")(p), v = l.timeFormat("%Y-%m-%d")(E); - console.log(`DRAG END: Nouvelle date de début calculée: ${w}`), g("task-moved", { - id: u.id, - name: u.name, - newStart: w, - newEnd: v - }); - } - D.value = !1; - }); - r.tasks.forEach((s) => { - const u = c.value(new Date(s.start)), k = c.value(new Date(s.end)) - u, E = m.value(s.name), w = o.append("rect").datum(s).attr("x", u).attr("y", E).attr("width", k).attr("height", m.value.bandwidth()).attr("fill", s.color).attr("rx", 4).style("cursor", "grab").on("mouseenter", (v) => { - const [H, U] = l.pointer(v); - g("task-hovered", { task: s, isHovering: !0, x: H + d.left, y: U + d.top }), l.select(v.currentTarget).style("filter", "brightness(1.1)"); - }).on("mouseleave", (v) => { - g("task-hovered", { task: s, isHovering: !1 }), l.select(v.currentTarget).style("filter", "none"); - }).on("dblclick", function(v) { - P(s); - }); - b(w); - }), o.selectAll(".task-label").data(r.tasks).enter().append("text").text((s) => s.name).attr("x", (s) => c.value(new Date(s.start)) + 5).attr("y", (s) => m.value(s.name) + m.value.bandwidth() / 2 + 5).attr("fill", "black").style("pointer-events", "none").style("font-size", "12px"); - }; - return W(() => { - window.addEventListener("resize", T), T(); - }), C( - () => r.tasks, - () => { - T(); - }, - { deep: !0 } - ), (t, e) => (I(), G(X, null, [ - i("div", { - ref_key: "ganttContainer", - ref: f, - class: "relative w-full overflow-x-auto" - }, null, 512), - n.value ? (I(), G("div", { - key: 0, - style: O(M.value), - class: "gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50" - }, [ - i("div", K, "Éditer: " + N(n.value.name), 1), - i("label", Q, [ - e[4] || (e[4] = _(" Durée (jours): ", -1)), - $(i("input", { - type: "number", - "onUpdate:modelValue": e[0] || (e[0] = (a) => n.value.durationDays = a), - min: "1", - class: "mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500" - }, null, 512), [ - [ - F, - n.value.durationDays, - void 0, - { number: !0 } - ] - ]) - ]), - e[7] || (e[7] = i("hr", { class: "border-gray-200 my-1" }, null, -1)), - i("label", Z, [ - e[5] || (e[5] = _(" Début: ", -1)), - $(i("input", { - type: "date", - "onUpdate:modelValue": e[1] || (e[1] = (a) => n.value.start = a), - class: "mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500" - }, null, 512), [ - [F, n.value.start] - ]) - ]), - i("label", tt, [ - e[6] || (e[6] = _(" Fin: ", -1)), - $(i("input", { - type: "date", - "onUpdate:modelValue": e[2] || (e[2] = (a) => n.value.end = a), - class: "mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500" - }, null, 512), [ - [F, n.value.end] - ]) - ]), - i("div", et, [ - i("span", nt, " Durée effective: " + N(L.value) + " j. ", 1), - i("button", { - onClick: R, - class: "bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150" - }, " Valider ") - ]), - i("button", { - onClick: e[3] || (e[3] = (a) => n.value = null), - class: "absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs" - }, " × ") - ], 4)) : Y("", !0) - ], 64)); - } -}, lt = /* @__PURE__ */ J(at, [["__scopeId", "data-v-42cc02f8"]]); -export { - lt as GanttChart -}; diff --git a/geos-trame/vue-components/package.json b/geos-trame/vue-components/package.json index 2a2464a72..ac0290691 100644 --- a/geos-trame/vue-components/package.json +++ b/geos-trame/vue-components/package.json @@ -17,6 +17,10 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore --ignore-pattern public", "semantic-release": "semantic-release" }, + "dependencies":{ + "vue":"^3.4.27", + "d3":"^7.9.0" + }, "devDependencies": { "@rushstack/eslint-patch": "^1.1.4", "@vue/eslint-config-prettier": "^7.0.0", From a2872a26e73697e9b4ad16329b10f7e90b19cacc Mon Sep 17 00:00:00 2001 From: jacques franc Date: Sun, 26 Oct 2025 14:38:39 +0100 Subject: [PATCH 07/59] first working version --- .../app/gantt_chart/module/serve/gantt-chart.umd.js | 2 +- .../trame/app/gantt_chart/widgets/gantt_chart.py | 1 + geos-trame/src/geos/trame/app/ui/timeline.py | 12 +++++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index 14b87b1e7..a8e77aadd 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,D){typeof exports=="object"&&typeof module<"u"?module.exports=D(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],D):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=D(e.Vue,e.d3))})(this,function(e,D){"use strict";function M(d){const v=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const u in d)if(u!=="default"){const r=Object.getOwnPropertyDescriptor(d,u);Object.defineProperty(v,u,r.get?r:{enumerable:!0,get:()=>d[u]})}}return v.default=d,Object.freeze(v)}const i=M(D),z=(d,v)=>{const u=d.__vccOpts||d;for(const[r,b]of v)u[r]=b;return u},B={class:"gantt-wrapper relative w-full"},F={class:"font-bold mb-1"},$={class:"mt-1 font-medium"},A={class:"text-sm font-semibold text-gray-700 mb-2"},I={class:"text-xs font-medium text-gray-600"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=z({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["task-moved"],setup(d,{emit:v}){const u=d,r=e.ref([]),b=e.ref(null),k=e.ref(0),c={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,r.value.length*40+c.top+c.bottom)),w=e.ref(!1),a=e.ref(null),f=e.ref(null),V=e.ref({x:0,y:0}),U=e.computed(()=>({position:"absolute",left:`${V.value.x}px`,top:`${V.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),T=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),s=new Date(n);if(l.getTime()>s.getTime())return 0;const p=Math.abs(s.getTime()-l.getTime());return Math.ceil(p/(1e3*60*60*24))+1},C=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),i.timeFormat("%Y-%m-%d")(l)},j=t=>{const n=r.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...r.value[n],start:t.newStart,end:t.newEnd},s=[...r.value];s[n]=l,r.value=s}},W=e.computed(()=>a.value?T(a.value.start,a.value.end):0),X=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=c.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+c.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),H=(t,n)=>{if(w.value||a.value)return;const l=g.value(new Date(t.start)),s=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:T(t.start,t.end),x:l,y:s},e.nextTick(()=>{const p=document.querySelector(".gantt-edit-form input");p&&p.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=C(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=T(t,a.value.end)),a.value&&t&&(a.value.end=C(t,a.value.durationDays))});const J=()=>{const{id:t,name:n,start:l,end:s}=a.value,p=new Date(l),o=new Date(s);if(p.getTime()>=o.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}j({id:t,newStart:l,newEnd:s}),a.value=null},g=e.ref(null),x=e.ref(null),K=t=>{const n=new Date(u.startDate),l=new Date(u.endDate);g.value=i.scaleTime().domain([n,l]).range([0,t-c.left-c.right]),x.value=i.scaleBand().domain(Array.isArray(r.value)?r.value.map(s=>s.name):[]).range([0,r.value.length*40]).paddingInner(.1)},h=()=>{if(!b.value)return;k.value=b.value.clientWidth;const t=k.value;K(t);const n=i.select(b.value);n.selectAll("*").remove();const s=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${c.left}, ${c.top})`);if(s.append("g").attr("transform",`translate(0, ${r.value.length*40||50})`).call(i.axisBottom(g.value)),s.append("g").call(i.axisLeft(x.value)),!r.value.length)return;const p=i.drag().on("start",function(o,m){w.value=!1,i.select(this).raise().classed("dragging",!0)}).on("drag",function(o,m){w.value=!0;const E=o.x;i.select(this).attr("x",E)}).on("end",function(o,m){if(i.select(this).classed("dragging",!1),w.value){const E=g.value.invert(o.x),N=new Date(m.end).getTime()-new Date(m.start).getTime(),_=new Date(E.getTime()+N),S=i.timeFormat("%Y-%m-%d")(E),y=i.timeFormat("%Y-%m-%d")(_);j({id:m.id,name:m.name,newStart:S,newEnd:y})}w.value=!1});r.value.forEach(o=>{const m=g.value(new Date(o.start)),N=g.value(new Date(o.end))-m,_=x.value(o.name),S=s.append("rect").datum(o).attr("x",m).attr("y",_).attr("width",N).attr("height",x.value.bandwidth()).attr("fill",o.color).attr("rx",4).style("cursor","grab").on("mouseenter",(y,Q)=>{const[R,Z]=i.pointer(y);f.value=Q,V.value={x:R+c.left,y:Z+c.top},i.select(y.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",y=>{f.value=null,i.select(y.currentTarget).style("filter","none")}).on("dblclick",function(y){H(o)});p(S)}),s.selectAll(".task-label").data(r.value).enter().append("text").text(o=>o.name).attr("x",o=>g.value(new Date(o.start))+5).attr("y",o=>x.value(o.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>u.tasks,t=>{Array.isArray(t)?(r.value=t.map(n=>({...n})),h()):(r.value=[],h())},{immediate:!0,deep:!0}),e.onMounted(()=>{h(),window.addEventListener("resize",h)}),e.watch(()=>r.value,()=>{h()}),(t,n)=>(e.openBlock(),e.createElementBlock("div",B,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:b,class:"relative w-full overflow-x-auto"},null,512),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(U.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",F,e.toDisplayString(f.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(f.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(f.value.end),1),e.createElementVNode("div",$,"Durée: "+e.toDisplayString(T(f.value.start,f.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(X.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",A,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",I,[n[4]||(n[4]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[7]||(n[7]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",L,[n[5]||(n[5]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",O,[n[6]||(n[6]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",P,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(W.value)+" j. ",1),e.createElementVNode("button",{onClick:J,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-59e9c80e"]]);return{install(d){d.component("GanttChart",Y)}}}); +(function(e,D){typeof exports=="object"&&typeof module<"u"?module.exports=D(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],D):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=D(e.Vue,e.d3))})(this,function(e,D){"use strict";function M(d){const b=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const c in d)if(c!=="default"){const r=Object.getOwnPropertyDescriptor(d,c);Object.defineProperty(b,c,r.get?r:{enumerable:!0,get:()=>d[c]})}}return b.default=d,Object.freeze(b)}const i=M(D),z=(d,b)=>{const c=d.__vccOpts||d;for(const[r,v]of b)c[r]=v;return c},B={class:"gantt-wrapper relative w-full"},F={class:"font-bold mb-1"},$={class:"mt-1 font-medium"},A={class:"text-sm font-semibold text-gray-700 mb-2"},I={class:"text-xs font-medium text-gray-600"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=z({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["task-moved"],setup(d,{emit:b}){const c=d,r=e.ref([]),v=e.ref(null),_=e.ref(0),u={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,r.value.length*40+u.top+u.bottom)),w=e.ref(!1),a=e.ref(null),f=e.ref(null),N=e.ref({x:0,y:0}),U=e.computed(()=>({position:"absolute",left:`${N.value.x}px`,top:`${N.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),V=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),s=new Date(n);if(l.getTime()>s.getTime())return 0;const p=Math.abs(s.getTime()-l.getTime());return Math.ceil(p/(1e3*60*60*24))+1},C=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),i.timeFormat("%Y-%m-%d")(l)},j=t=>{const n=r.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...r.value[n],start:t.newStart,end:t.newEnd},s=[...r.value];s[n]=l,r.value=s}},W=e.computed(()=>a.value?V(a.value.start,a.value.end):0),X=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=u.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+u.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),H=(t,n)=>{if(w.value||a.value)return;const l=g.value(new Date(t.start)),s=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:V(t.start,t.end),x:l,y:s},e.nextTick(()=>{const p=document.querySelector(".gantt-edit-form input");p&&p.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=C(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=V(t,a.value.end)),a.value&&t&&(a.value.end=C(t,a.value.durationDays))});const J=()=>{const{id:t,name:n,start:l,end:s}=a.value,p=new Date(l),o=new Date(s);if(p.getTime()>=o.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}j({id:t,newStart:l,newEnd:s}),a.value=null},g=e.ref(null),x=e.ref(null),K=t=>{const n=new Date(c.startDate),l=new Date(c.endDate);g.value=i.scaleTime().domain([n,l]).range([0,t-u.left-u.right]),x.value=i.scaleBand().domain(Array.isArray(r.value)?r.value.map(s=>s.name):[]).range([0,r.value.length*40]).paddingInner(.1)},h=()=>{if(!v.value)return;_.value=v.value.clientWidth;const t=_.value;K(t);const n=i.select(v.value);n.selectAll("*").remove();const s=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${u.left}, ${u.top})`);if(s.append("g").attr("transform",`translate(0, ${r.value.length*40||50})`).call(i.axisBottom(g.value)),s.append("g").call(i.axisLeft(x.value)),!r.value.length)return;const p=i.drag().on("start",function(o,m){w.value=!1,i.select(this).raise().classed("dragging",!0)}).on("drag",function(o,m){w.value=!0;const E=o.x;i.select(this).attr("x",E)}).on("end",function(o,m){if(i.select(this).classed("dragging",!1),w.value){const E=g.value.invert(o.x),T=new Date(m.end).getTime()-new Date(m.start).getTime(),S=new Date(E.getTime()+T),k=i.timeFormat("%Y-%m-%d")(E),y=i.timeFormat("%Y-%m-%d")(S);j({id:m.id,name:m.name,newStart:k,newEnd:y})}w.value=!1});r.value.forEach(o=>{const m=g.value(new Date(o.start)),T=g.value(new Date(o.end))-m,S=x.value(o.name),k=s.append("rect").datum(o).attr("x",m).attr("y",S).attr("width",T).attr("height",x.value.bandwidth()).attr("fill",o.color).attr("rx",4).style("cursor","grab").on("mouseenter",(y,Q)=>{const[R,Z]=i.pointer(y);f.value=Q,N.value={x:R+u.left,y:Z+u.top},i.select(y.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",y=>{f.value=null,i.select(y.currentTarget).style("filter","none")}).on("dblclick",function(y){H(o)});p(k)}),s.selectAll(".task-label").data(r.value).enter().append("text").text(o=>o.name).attr("x",o=>g.value(new Date(o.start))+5).attr("y",o=>x.value(o.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>c.tasks,t=>{Array.isArray(t)?(r.value=t.map(n=>({...n})),h()):(r.value=[],h())},{immediate:!0,deep:!0}),e.onMounted(()=>{h(),window.addEventListener("resize",h)}),e.watch(()=>r.value,()=>{h()}),(t,n)=>(e.openBlock(),e.createElementBlock("div",B,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:v,class:"relative w-full overflow-x-auto"},null,512),e.createElementVNode("div",null,[n[4]||(n[4]=e.createElementVNode("p",null,"Debug:",-1)),e.createElementVNode("p",null,"Start Date: "+e.toDisplayString(d.startDate),1),e.createElementVNode("p",null,"EndDate: "+e.toDisplayString(d.endDate),1),e.createElementVNode("p",null,"tasks: "+e.toDisplayString(d.tasks),1),e.createElementVNode("p",null,"localTasks: "+e.toDisplayString(r.value),1)]),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(U.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",F,e.toDisplayString(f.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(f.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(f.value.end),1),e.createElementVNode("div",$,"Durée: "+e.toDisplayString(V(f.value.start,f.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(X.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",A,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",I,[n[5]||(n[5]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[8]||(n[8]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",L,[n[6]||(n[6]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",O,[n[7]||(n[7]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",P,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(W.value)+" j. ",1),e.createElementVNode("button",{onClick:J,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-856a2b6e"]]);return{install(d){d.component("GanttChart",Y)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index 106a91e6d..b9c4fa5c8 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -33,5 +33,6 @@ def __init__(self, **kwargs): ] self._event_names += [ # "input", + "task" # "update" ] diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 40321e26a..d2017eb1d 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -79,12 +79,14 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # ): # vuetify.VAlert( "{{ item.summary }}" ) # vuetify.Template( "{{ item.start_date }}", raw_attrs=[ "v-slot:opposite" ] ) - + tasks_ = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, + {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#151A77"}] with vuetify.VContainer( "Events chart" ): - Gantt() - # tasks=[{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}], - # startDate="2012-11-01", - # endDate="2013-01-12") + Gantt( + tasks=("tasks", tasks_), + startDate="2012-11-01", + endDate="2013-01-12" + ) # # Gantt( # canEdit=False, From 4045ae8d36f2365f7beaf79dc9e3126c1b8b32d9 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Sun, 26 Oct 2025 15:32:02 +0100 Subject: [PATCH 08/59] bind update --- .../trame/app/gantt_chart/module/serve/gantt-chart.umd.js | 2 +- .../src/geos/trame/app/gantt_chart/widgets/gantt_chart.py | 4 ++-- geos-trame/src/geos/trame/app/ui/timeline.py | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index a8e77aadd..aed9a0394 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,D){typeof exports=="object"&&typeof module<"u"?module.exports=D(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],D):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=D(e.Vue,e.d3))})(this,function(e,D){"use strict";function M(d){const b=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const c in d)if(c!=="default"){const r=Object.getOwnPropertyDescriptor(d,c);Object.defineProperty(b,c,r.get?r:{enumerable:!0,get:()=>d[c]})}}return b.default=d,Object.freeze(b)}const i=M(D),z=(d,b)=>{const c=d.__vccOpts||d;for(const[r,v]of b)c[r]=v;return c},B={class:"gantt-wrapper relative w-full"},F={class:"font-bold mb-1"},$={class:"mt-1 font-medium"},A={class:"text-sm font-semibold text-gray-700 mb-2"},I={class:"text-xs font-medium text-gray-600"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=z({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["task-moved"],setup(d,{emit:b}){const c=d,r=e.ref([]),v=e.ref(null),_=e.ref(0),u={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,r.value.length*40+u.top+u.bottom)),w=e.ref(!1),a=e.ref(null),f=e.ref(null),N=e.ref({x:0,y:0}),U=e.computed(()=>({position:"absolute",left:`${N.value.x}px`,top:`${N.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),V=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),s=new Date(n);if(l.getTime()>s.getTime())return 0;const p=Math.abs(s.getTime()-l.getTime());return Math.ceil(p/(1e3*60*60*24))+1},C=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),i.timeFormat("%Y-%m-%d")(l)},j=t=>{const n=r.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...r.value[n],start:t.newStart,end:t.newEnd},s=[...r.value];s[n]=l,r.value=s}},W=e.computed(()=>a.value?V(a.value.start,a.value.end):0),X=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=u.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+u.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),H=(t,n)=>{if(w.value||a.value)return;const l=g.value(new Date(t.start)),s=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:V(t.start,t.end),x:l,y:s},e.nextTick(()=>{const p=document.querySelector(".gantt-edit-form input");p&&p.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=C(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=V(t,a.value.end)),a.value&&t&&(a.value.end=C(t,a.value.durationDays))});const J=()=>{const{id:t,name:n,start:l,end:s}=a.value,p=new Date(l),o=new Date(s);if(p.getTime()>=o.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}j({id:t,newStart:l,newEnd:s}),a.value=null},g=e.ref(null),x=e.ref(null),K=t=>{const n=new Date(c.startDate),l=new Date(c.endDate);g.value=i.scaleTime().domain([n,l]).range([0,t-u.left-u.right]),x.value=i.scaleBand().domain(Array.isArray(r.value)?r.value.map(s=>s.name):[]).range([0,r.value.length*40]).paddingInner(.1)},h=()=>{if(!v.value)return;_.value=v.value.clientWidth;const t=_.value;K(t);const n=i.select(v.value);n.selectAll("*").remove();const s=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${u.left}, ${u.top})`);if(s.append("g").attr("transform",`translate(0, ${r.value.length*40||50})`).call(i.axisBottom(g.value)),s.append("g").call(i.axisLeft(x.value)),!r.value.length)return;const p=i.drag().on("start",function(o,m){w.value=!1,i.select(this).raise().classed("dragging",!0)}).on("drag",function(o,m){w.value=!0;const E=o.x;i.select(this).attr("x",E)}).on("end",function(o,m){if(i.select(this).classed("dragging",!1),w.value){const E=g.value.invert(o.x),T=new Date(m.end).getTime()-new Date(m.start).getTime(),S=new Date(E.getTime()+T),k=i.timeFormat("%Y-%m-%d")(E),y=i.timeFormat("%Y-%m-%d")(S);j({id:m.id,name:m.name,newStart:k,newEnd:y})}w.value=!1});r.value.forEach(o=>{const m=g.value(new Date(o.start)),T=g.value(new Date(o.end))-m,S=x.value(o.name),k=s.append("rect").datum(o).attr("x",m).attr("y",S).attr("width",T).attr("height",x.value.bandwidth()).attr("fill",o.color).attr("rx",4).style("cursor","grab").on("mouseenter",(y,Q)=>{const[R,Z]=i.pointer(y);f.value=Q,N.value={x:R+u.left,y:Z+u.top},i.select(y.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",y=>{f.value=null,i.select(y.currentTarget).style("filter","none")}).on("dblclick",function(y){H(o)});p(k)}),s.selectAll(".task-label").data(r.value).enter().append("text").text(o=>o.name).attr("x",o=>g.value(new Date(o.start))+5).attr("y",o=>x.value(o.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>c.tasks,t=>{Array.isArray(t)?(r.value=t.map(n=>({...n})),h()):(r.value=[],h())},{immediate:!0,deep:!0}),e.onMounted(()=>{h(),window.addEventListener("resize",h)}),e.watch(()=>r.value,()=>{h()}),(t,n)=>(e.openBlock(),e.createElementBlock("div",B,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:v,class:"relative w-full overflow-x-auto"},null,512),e.createElementVNode("div",null,[n[4]||(n[4]=e.createElementVNode("p",null,"Debug:",-1)),e.createElementVNode("p",null,"Start Date: "+e.toDisplayString(d.startDate),1),e.createElementVNode("p",null,"EndDate: "+e.toDisplayString(d.endDate),1),e.createElementVNode("p",null,"tasks: "+e.toDisplayString(d.tasks),1),e.createElementVNode("p",null,"localTasks: "+e.toDisplayString(r.value),1)]),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(U.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",F,e.toDisplayString(f.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(f.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(f.value.end),1),e.createElementVNode("div",$,"Durée: "+e.toDisplayString(V(f.value.start,f.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(X.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",A,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",I,[n[5]||(n[5]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[8]||(n[8]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",L,[n[6]||(n[6]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",O,[n[7]||(n[7]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",P,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(W.value)+" j. ",1),e.createElementVNode("button",{onClick:J,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-856a2b6e"]]);return{install(d){d.component("GanttChart",Y)}}}); +(function(e,b){typeof exports=="object"&&typeof module<"u"?module.exports=b(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],b):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=b(e.Vue,e.d3))})(this,function(e,b){"use strict";function z(i){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const c in i)if(c!=="default"){const f=Object.getOwnPropertyDescriptor(i,c);Object.defineProperty(y,c,f.get?f:{enumerable:!0,get:()=>i[c]})}}return y.default=i,Object.freeze(y)}const d=z(b),B=(i,y)=>{const c=i.__vccOpts||i;for(const[f,s]of y)c[f]=s;return c},F={class:"gantt-wrapper relative w-full"},$={class:"font-bold mb-1"},A={class:"mt-1 font-medium"},I={class:"text-sm font-semibold text-gray-700 mb-2"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"text-xs font-medium text-gray-600"},U={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=B({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(i,{emit:y}){const c=y,f=i,s=e.ref([]),V=e.ref(null),C=e.ref(0),u={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,s.value.length*40+u.top+u.bottom)),D=e.ref(!1),a=e.ref(null),p=e.ref(null),N=e.ref({x:0,y:0}),W=e.computed(()=>({position:"absolute",left:`${N.value.x}px`,top:`${N.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),T=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),o=new Date(n);if(l.getTime()>o.getTime())return 0;const h=Math.abs(o.getTime()-l.getTime());return Math.ceil(h/(1e3*60*60*24))+1},j=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),d.timeFormat("%Y-%m-%d")(l)},M=t=>{const n=s.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...s.value[n],start:t.newStart,end:t.newEnd},o=[...s.value];o[n]=l,s.value=o,c("taskUpdated",l)}},X=e.computed(()=>a.value?T(a.value.start,a.value.end):0),H=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=u.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+u.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),g=e.ref(null),x=e.ref(null),J=t=>{if(D.value||a.value||!g.value||!x.value)return;const n=g.value(new Date(t.start)),l=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:T(t.start,t.end),x:n,y:l},e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=j(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=T(t,a.value.end)),a.value&&t&&(a.value.end=j(t,a.value.durationDays))});const K=()=>{const{id:t,name:n,start:l,end:o}=a.value,h=new Date(l),r=new Date(o);if(h.getTime()>=r.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}M({id:t,newStart:l,newEnd:o}),a.value=null},Q=t=>{const n=new Date(f.startDate),l=new Date(f.endDate);g.value=d.scaleTime().domain([n,l]).range([0,t-u.left-u.right]),x.value=d.scaleBand().domain(Array.isArray(s.value)?s.value.map(o=>o.name):[]).range([0,s.value.length*40]).paddingInner(.1)},w=()=>{if(!V.value)return;C.value=V.value.clientWidth;const t=C.value;Q(t);const n=d.select(V.value);n.selectAll("*").remove();const o=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${u.left}, ${u.top})`);if(o.append("g").attr("transform",`translate(0, ${s.value.length*40||50})`).call(d.axisBottom(g.value)),o.append("g").call(d.axisLeft(x.value)),!s.value.length)return;const h=d.drag().on("start",function(r,m){D.value=!1,d.select(this).raise().classed("dragging",!0)}).on("drag",function(r,m){D.value=!0;const E=r.x;d.select(this).attr("x",E)}).on("end",function(r,m){if(d.select(this).classed("dragging",!1),D.value){const E=g.value.invert(r.x),S=new Date(m.end).getTime()-new Date(m.start).getTime(),_=new Date(E.getTime()+S),k=d.timeFormat("%Y-%m-%d")(E),v=d.timeFormat("%Y-%m-%d")(_);M({id:m.id,name:m.name,newStart:k,newEnd:v})}D.value=!1});s.value.forEach(r=>{const m=g.value(new Date(r.start)),S=g.value(new Date(r.end))-m,_=x.value(r.name),k=o.append("rect").datum(r).attr("x",m).attr("y",_).attr("width",S).attr("height",x.value.bandwidth()).attr("fill",r.color).attr("rx",4).style("cursor","grab").on("mouseenter",(v,R)=>{const[Z,ee]=d.pointer(v);p.value=R,N.value={x:Z+u.left,y:ee+u.top},d.select(v.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",v=>{p.value=null,d.select(v.currentTarget).style("filter","none")}).on("dblclick",function(v){J(r)});h(k)}),o.selectAll(".task-label").data(s.value).enter().append("text").text(r=>r.name).attr("x",r=>g.value(new Date(r.start))+5).attr("y",r=>x.value(r.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>f.tasks,t=>{Array.isArray(t)?(s.value=t.map(n=>({...n})),w()):(s.value=[],w())},{immediate:!0,deep:!0}),e.onMounted(()=>{w(),window.addEventListener("resize",w)}),e.watch(()=>s.value,w,{deep:!0}),(t,n)=>(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:V,class:"relative w-full overflow-x-auto"},null,512),n[8]||(n[8]=e.createElementVNode("div",null,[e.createElementVNode("p",null,"Debug::"),e.createElementVNode("p",null,"taskUpdated")],-1)),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(W.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",$,e.toDisplayString(p.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(p.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(p.value.end),1),e.createElementVNode("div",A,"Durée: "+e.toDisplayString(T(p.value.start,p.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(H.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",I,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",L,[n[4]||(n[4]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[7]||(n[7]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",O,[n[5]||(n[5]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",P,[n[6]||(n[6]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",U,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(X.value)+" j. ",1),e.createElementVNode("button",{onClick:K,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-77b2fee1"]]);return{install(i){i.component("GanttChart",Y)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index b9c4fa5c8..866ca143a 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -11,7 +11,7 @@ class HtmlElement(AbstractElement): def __init__(self, _elem_name, children=None, **kwargs): super().__init__(_elem_name, children, **kwargs) if self.server: - self.server.enable_module(module) + self.server.enable_module(module) class Gantt(HtmlElement): """ @@ -33,6 +33,6 @@ def __init__(self, **kwargs): ] self._event_names += [ # "input", - "task" + "taskUpdated" # "update" ] diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index d2017eb1d..6afe2ed84 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -85,7 +85,8 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: Gantt( tasks=("tasks", tasks_), startDate="2012-11-01", - endDate="2013-01-12" + endDate="2013-01-12", + taskUpdated=(self._updated_tasks,"tasks") ) # # Gantt( @@ -111,3 +112,6 @@ def _set_start_date(self, sdate : str | None, **_: Any) -> None: def update_from_js( self, *items: tuple ) -> None: """Update method called from javascript.""" self.state.items = list( items ) + + def _updated_tasks(self, *tasks: tuple) -> None: + self.state.tasks_ = list( tasks ) \ No newline at end of file From 3e0479a38f9b2b8fac6006a99b2dd71fac64e037 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 27 Oct 2025 11:16:14 +0100 Subject: [PATCH 09/59] working --- .../module/serve/gantt-chart.umd.js | 2 +- .../app/gantt_chart/module/serve/style.css | 1 + geos-trame/src/geos/trame/app/ui/timeline.py | 43 ++++++++++++------- 3 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index aed9a0394..bc403286d 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,b){typeof exports=="object"&&typeof module<"u"?module.exports=b(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],b):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=b(e.Vue,e.d3))})(this,function(e,b){"use strict";function z(i){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const c in i)if(c!=="default"){const f=Object.getOwnPropertyDescriptor(i,c);Object.defineProperty(y,c,f.get?f:{enumerable:!0,get:()=>i[c]})}}return y.default=i,Object.freeze(y)}const d=z(b),B=(i,y)=>{const c=i.__vccOpts||i;for(const[f,s]of y)c[f]=s;return c},F={class:"gantt-wrapper relative w-full"},$={class:"font-bold mb-1"},A={class:"mt-1 font-medium"},I={class:"text-sm font-semibold text-gray-700 mb-2"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"text-xs font-medium text-gray-600"},U={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=B({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(i,{emit:y}){const c=y,f=i,s=e.ref([]),V=e.ref(null),C=e.ref(0),u={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,s.value.length*40+u.top+u.bottom)),D=e.ref(!1),a=e.ref(null),p=e.ref(null),N=e.ref({x:0,y:0}),W=e.computed(()=>({position:"absolute",left:`${N.value.x}px`,top:`${N.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),T=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),o=new Date(n);if(l.getTime()>o.getTime())return 0;const h=Math.abs(o.getTime()-l.getTime());return Math.ceil(h/(1e3*60*60*24))+1},j=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),d.timeFormat("%Y-%m-%d")(l)},M=t=>{const n=s.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...s.value[n],start:t.newStart,end:t.newEnd},o=[...s.value];o[n]=l,s.value=o,c("taskUpdated",l)}},X=e.computed(()=>a.value?T(a.value.start,a.value.end):0),H=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=u.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+u.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),g=e.ref(null),x=e.ref(null),J=t=>{if(D.value||a.value||!g.value||!x.value)return;const n=g.value(new Date(t.start)),l=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:T(t.start,t.end),x:n,y:l},e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=j(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=T(t,a.value.end)),a.value&&t&&(a.value.end=j(t,a.value.durationDays))});const K=()=>{const{id:t,name:n,start:l,end:o}=a.value,h=new Date(l),r=new Date(o);if(h.getTime()>=r.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}M({id:t,newStart:l,newEnd:o}),a.value=null},Q=t=>{const n=new Date(f.startDate),l=new Date(f.endDate);g.value=d.scaleTime().domain([n,l]).range([0,t-u.left-u.right]),x.value=d.scaleBand().domain(Array.isArray(s.value)?s.value.map(o=>o.name):[]).range([0,s.value.length*40]).paddingInner(.1)},w=()=>{if(!V.value)return;C.value=V.value.clientWidth;const t=C.value;Q(t);const n=d.select(V.value);n.selectAll("*").remove();const o=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${u.left}, ${u.top})`);if(o.append("g").attr("transform",`translate(0, ${s.value.length*40||50})`).call(d.axisBottom(g.value)),o.append("g").call(d.axisLeft(x.value)),!s.value.length)return;const h=d.drag().on("start",function(r,m){D.value=!1,d.select(this).raise().classed("dragging",!0)}).on("drag",function(r,m){D.value=!0;const E=r.x;d.select(this).attr("x",E)}).on("end",function(r,m){if(d.select(this).classed("dragging",!1),D.value){const E=g.value.invert(r.x),S=new Date(m.end).getTime()-new Date(m.start).getTime(),_=new Date(E.getTime()+S),k=d.timeFormat("%Y-%m-%d")(E),v=d.timeFormat("%Y-%m-%d")(_);M({id:m.id,name:m.name,newStart:k,newEnd:v})}D.value=!1});s.value.forEach(r=>{const m=g.value(new Date(r.start)),S=g.value(new Date(r.end))-m,_=x.value(r.name),k=o.append("rect").datum(r).attr("x",m).attr("y",_).attr("width",S).attr("height",x.value.bandwidth()).attr("fill",r.color).attr("rx",4).style("cursor","grab").on("mouseenter",(v,R)=>{const[Z,ee]=d.pointer(v);p.value=R,N.value={x:Z+u.left,y:ee+u.top},d.select(v.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",v=>{p.value=null,d.select(v.currentTarget).style("filter","none")}).on("dblclick",function(v){J(r)});h(k)}),o.selectAll(".task-label").data(s.value).enter().append("text").text(r=>r.name).attr("x",r=>g.value(new Date(r.start))+5).attr("y",r=>x.value(r.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>f.tasks,t=>{Array.isArray(t)?(s.value=t.map(n=>({...n})),w()):(s.value=[],w())},{immediate:!0,deep:!0}),e.onMounted(()=>{w(),window.addEventListener("resize",w)}),e.watch(()=>s.value,w,{deep:!0}),(t,n)=>(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:V,class:"relative w-full overflow-x-auto"},null,512),n[8]||(n[8]=e.createElementVNode("div",null,[e.createElementVNode("p",null,"Debug::"),e.createElementVNode("p",null,"taskUpdated")],-1)),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(W.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",$,e.toDisplayString(p.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(p.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(p.value.end),1),e.createElementVNode("div",A,"Durée: "+e.toDisplayString(T(p.value.start,p.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(H.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",I,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",L,[n[4]||(n[4]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[7]||(n[7]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",O,[n[5]||(n[5]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",P,[n[6]||(n[6]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",U,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(X.value)+" j. ",1),e.createElementVNode("button",{onClick:K,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-77b2fee1"]]);return{install(i){i.component("GanttChart",Y)}}}); +(function(e,b){typeof exports=="object"&&typeof module<"u"?module.exports=b(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],b):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=b(e.Vue,e.d3))})(this,function(e,b){"use strict";function z(d){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const c in d)if(c!=="default"){const f=Object.getOwnPropertyDescriptor(d,c);Object.defineProperty(y,c,f.get?f:{enumerable:!0,get:()=>d[c]})}}return y.default=d,Object.freeze(y)}const i=z(b),B=(d,y)=>{const c=d.__vccOpts||d;for(const[f,o]of y)c[f]=o;return c},F={class:"gantt-wrapper relative w-full"},$={class:"font-bold mb-1"},A={class:"mt-1 font-medium"},I={class:"text-sm font-semibold text-gray-700 mb-2"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"text-xs font-medium text-gray-600"},U={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=B({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(d,{emit:y}){const c=y,f=d,o=e.ref([]),T=e.ref(null),C=e.ref(0),u={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,o.value.length*40+u.top+u.bottom)),D=e.ref(!1),a=e.ref(null),p=e.ref(null),N=e.ref({x:0,y:0}),W=e.computed(()=>({position:"absolute",left:`${N.value.x}px`,top:`${N.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),V=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),s=new Date(n);if(l.getTime()>s.getTime())return 0;const h=Math.abs(s.getTime()-l.getTime());return Math.ceil(h/(1e3*60*60*24))+1},j=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),i.timeFormat("%Y-%m-%d")(l)},M=t=>{const n=o.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...o.value[n],start:t.newStart,end:t.newEnd},s=[...o.value];s[n]=l,o.value=s,c("taskUpdated",o.value)}},X=e.computed(()=>a.value?V(a.value.start,a.value.end):0),H=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=u.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+u.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),g=e.ref(null),x=e.ref(null),J=t=>{if(D.value||a.value||!g.value||!x.value)return;const n=g.value(new Date(t.start)),l=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:V(t.start,t.end),x:n,y:l},e.nextTick(()=>{const s=document.querySelector(".gantt-edit-form input");s&&s.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=j(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=V(t,a.value.end)),a.value&&t&&(a.value.end=j(t,a.value.durationDays))});const K=()=>{const{id:t,name:n,start:l,end:s}=a.value,h=new Date(l),r=new Date(s);if(h.getTime()>=r.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}M({id:t,newStart:l,newEnd:s}),a.value=null},Q=t=>{const n=new Date(f.startDate),l=new Date(f.endDate);g.value=i.scaleTime().domain([n,l]).range([0,t-u.left-u.right]),x.value=i.scaleBand().domain(Array.isArray(o.value)?o.value.map(s=>s.name):[]).range([0,o.value.length*40]).paddingInner(.1)},w=()=>{if(!T.value)return;C.value=T.value.clientWidth;const t=C.value;Q(t);const n=i.select(T.value);n.selectAll("*").remove();const s=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${u.left}, ${u.top})`);if(s.append("g").attr("transform",`translate(0, ${o.value.length*40||50})`).call(i.axisBottom(g.value)),s.append("g").call(i.axisLeft(x.value)),!o.value.length)return;const h=i.drag().on("start",function(r,m){D.value=!1,i.select(this).raise().classed("dragging",!0)}).on("drag",function(r,m){D.value=!0;const E=r.x;i.select(this).attr("x",E)}).on("end",function(r,m){if(i.select(this).classed("dragging",!1),D.value){const E=g.value.invert(r.x),_=new Date(m.end).getTime()-new Date(m.start).getTime(),S=new Date(E.getTime()+_),k=i.timeFormat("%Y-%m-%d")(E),v=i.timeFormat("%Y-%m-%d")(S);M({id:m.id,name:m.name,newStart:k,newEnd:v})}D.value=!1});o.value.forEach(r=>{const m=g.value(new Date(r.start)),_=g.value(new Date(r.end))-m,S=x.value(r.name),k=s.append("rect").datum(r).attr("x",m).attr("y",S).attr("width",_).attr("height",x.value.bandwidth()).attr("fill",r.color).attr("rx",4).style("cursor","grab").on("mouseenter",(v,R)=>{const[Z,ee]=i.pointer(v);p.value=R,N.value={x:Z+u.left,y:ee+u.top},i.select(v.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",v=>{p.value=null,i.select(v.currentTarget).style("filter","none")}).on("dblclick",function(v){J(r)});h(k)}),s.selectAll(".task-label").data(o.value).enter().append("text").text(r=>r.name).attr("x",r=>g.value(new Date(r.start))+5).attr("y",r=>x.value(r.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>f.tasks,t=>{Array.isArray(t)?(o.value=t.map(n=>({...n})),w()):(o.value=[],w())},{immediate:!0,deep:!0}),e.onMounted(()=>{w(),window.addEventListener("resize",w)}),e.watch(()=>o.value,w,{deep:!0}),(t,n)=>(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:T,class:"relative w-full overflow-x-auto"},null,512),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(W.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",$,e.toDisplayString(p.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(p.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(p.value.end),1),e.createElementVNode("div",A,"Durée: "+e.toDisplayString(V(p.value.start,p.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(H.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",I,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",L,[n[4]||(n[4]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[7]||(n[7]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",O,[n[5]||(n[5]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",P,[n[6]||(n[6]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",U,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(X.value)+" j. ",1),e.createElementVNode("button",{onClick:K,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-3b13a159"]]);return{install(d){d.component("GanttChart",Y)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css new file mode 100644 index 000000000..659b0fff0 --- /dev/null +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css @@ -0,0 +1 @@ +.dragging[data-v-77b2fee1]{opacity:.7;filter:brightness(1.2)}.gantt-edit-form[data-v-77b2fee1]{box-sizing:border-box;background-color:#fffffff2}.g text[data-v-77b2fee1]{font-size:10px} diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 6afe2ed84..6c00d8eb6 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -3,6 +3,7 @@ # SPDX-FileContributor: Lionel Untereiner from typing import Any from datetime import datetime, timedelta +import logging # from trame.widgets import gantt from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt @@ -13,7 +14,8 @@ from geos.trame.app.deck.tree import DeckTree date_fmt = "%Y-%m-%d" - +logger = logging.getLogger("timeline") +logger.setLevel(logging.ERROR) class TimelineEditor( vuetify.VCard ): def __init__( self, source: DeckTree, **kwargs: Any ) -> None: @@ -23,8 +25,14 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) - self.state.sdate = self.tree.world_origin_time - self.state.change("sdate")(self._set_start_date) + # self.state.sdate = self.tree.world_origin_time + # self.state.change("sdate")(self._set_start_date) + self.state.tasks = [] + dtasks = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, + {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#151A77"}] + # self.state.tasks = list( tasks ) + # self.state.change("tasks")(self._updated_tasks) + self.state.tasks = dtasks items = self.tree.timeline() @@ -59,13 +67,13 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: with self: vuetify.VCardTitle( "Events View" ) - vuetify.VDateInput( - label="Select starting simulation date", - prepend_icon="", - prepend_inner_icon="$calendar", - # placeholder="09/18/2024", - v_model="sdate" - ) + # vuetify.VDateInput( + # label="Select starting simulation date", + # prepend_icon="", + # prepend_inner_icon="$calendar", + # # placeholder="09/18/2024", + # v_model="sdate" + # ) vuetify.VDivider() # with ( # vuetify.VContainer( "Events timeline" ), @@ -79,15 +87,15 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # ): # vuetify.VAlert( "{{ item.summary }}" ) # vuetify.Template( "{{ item.start_date }}", raw_attrs=[ "v-slot:opposite" ] ) - tasks_ = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, - {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#151A77"}] with vuetify.VContainer( "Events chart" ): Gantt( - tasks=("tasks", tasks_), + tasks=("tasks",), startDate="2012-11-01", endDate="2013-01-12", - taskUpdated=(self._updated_tasks,"tasks") + taskUpdated=(self._updated_tasks,"$event") ) + with vuetify.VContainer("Debug"): + vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) # # Gantt( # canEdit=False, @@ -113,5 +121,8 @@ def update_from_js( self, *items: tuple ) -> None: """Update method called from javascript.""" self.state.items = list( items ) - def _updated_tasks(self, *tasks: tuple) -> None: - self.state.tasks_ = list( tasks ) \ No newline at end of file + def _updated_tasks(self, *tasks: Any, **_: Any) -> None: + if tasks is None: + print('None values') + logger.info(f"new tasks {tasks}") + self.state.tasks = tasks \ No newline at end of file From 89d2abc92a1361b0346ef8cc32f12e9abb9c77ee Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 27 Oct 2025 17:51:35 +0100 Subject: [PATCH 10/59] working version of the widget --- .../trame/app/gantt_chart/module/serve/gantt-chart.umd.js | 2 +- geos-trame/src/geos/trame/app/ui/timeline.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index bc403286d..93d3c440e 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,b){typeof exports=="object"&&typeof module<"u"?module.exports=b(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],b):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=b(e.Vue,e.d3))})(this,function(e,b){"use strict";function z(d){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const c in d)if(c!=="default"){const f=Object.getOwnPropertyDescriptor(d,c);Object.defineProperty(y,c,f.get?f:{enumerable:!0,get:()=>d[c]})}}return y.default=d,Object.freeze(y)}const i=z(b),B=(d,y)=>{const c=d.__vccOpts||d;for(const[f,o]of y)c[f]=o;return c},F={class:"gantt-wrapper relative w-full"},$={class:"font-bold mb-1"},A={class:"mt-1 font-medium"},I={class:"text-sm font-semibold text-gray-700 mb-2"},L={class:"text-xs font-medium text-gray-600"},O={class:"text-xs font-medium text-gray-600"},P={class:"text-xs font-medium text-gray-600"},U={class:"mt-3 flex justify-between items-center"},G={class:"text-xs font-bold text-blue-600"},Y=B({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(d,{emit:y}){const c=y,f=d,o=e.ref([]),T=e.ref(null),C=e.ref(0),u={top:40,right:20,bottom:30,left:50},q=e.computed(()=>Math.max(150,o.value.length*40+u.top+u.bottom)),D=e.ref(!1),a=e.ref(null),p=e.ref(null),N=e.ref({x:0,y:0}),W=e.computed(()=>({position:"absolute",left:`${N.value.x}px`,top:`${N.value.y}px`,transform:"translateY(-100%) translateX(-50%)",pointerEvents:"none"})),V=(t,n)=>{if(!t||!n)return 0;const l=new Date(t),s=new Date(n);if(l.getTime()>s.getTime())return 0;const h=Math.abs(s.getTime()-l.getTime());return Math.ceil(h/(1e3*60*60*24))+1},j=(t,n)=>{if(!t||n<=0)return t;const l=new Date(t);return l.setDate(l.getDate()+n-1),i.timeFormat("%Y-%m-%d")(l)},M=t=>{const n=o.value.findIndex(l=>l.id===t.id);if(n!==-1){const l={...o.value[n],start:t.newStart,end:t.newEnd},s=[...o.value];s[n]=l,o.value=s,c("taskUpdated",o.value)}},X=e.computed(()=>a.value?V(a.value.start,a.value.end):0),H=e.computed(()=>{if(!a.value||!a.value.x||!a.value.y)return{};const t=u.left;return{position:"absolute",left:`${a.value.x+t}px`,top:`${a.value.y+u.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}}),g=e.ref(null),x=e.ref(null),J=t=>{if(D.value||a.value||!g.value||!x.value)return;const n=g.value(new Date(t.start)),l=x.value(t.name);a.value={id:t.id,name:t.name,start:t.start,end:t.end,durationDays:V(t.start,t.end),x:n,y:l},e.nextTick(()=>{const s=document.querySelector(".gantt-edit-form input");s&&s.focus()})};e.watch(()=>{var t;return(t=a.value)==null?void 0:t.durationDays},(t,n)=>{a.value&&t&&t!==n&&(a.value.end=j(a.value.start,t))}),e.watch(()=>{var t;return(t=a.value)==null?void 0:t.start},(t,n)=>{a.value&&t&&t!==n&&(a.value.durationDays=V(t,a.value.end)),a.value&&t&&(a.value.end=j(t,a.value.durationDays))});const K=()=>{const{id:t,name:n,start:l,end:s}=a.value,h=new Date(l),r=new Date(s);if(h.getTime()>=r.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),alert("Erreur: La date de début doit être antérieure à la date de fin.");return}M({id:t,newStart:l,newEnd:s}),a.value=null},Q=t=>{const n=new Date(f.startDate),l=new Date(f.endDate);g.value=i.scaleTime().domain([n,l]).range([0,t-u.left-u.right]),x.value=i.scaleBand().domain(Array.isArray(o.value)?o.value.map(s=>s.name):[]).range([0,o.value.length*40]).paddingInner(.1)},w=()=>{if(!T.value)return;C.value=T.value.clientWidth;const t=C.value;Q(t);const n=i.select(T.value);n.selectAll("*").remove();const s=n.append("svg").attr("width",t).attr("height",q.value).append("g").attr("transform",`translate(${u.left}, ${u.top})`);if(s.append("g").attr("transform",`translate(0, ${o.value.length*40||50})`).call(i.axisBottom(g.value)),s.append("g").call(i.axisLeft(x.value)),!o.value.length)return;const h=i.drag().on("start",function(r,m){D.value=!1,i.select(this).raise().classed("dragging",!0)}).on("drag",function(r,m){D.value=!0;const E=r.x;i.select(this).attr("x",E)}).on("end",function(r,m){if(i.select(this).classed("dragging",!1),D.value){const E=g.value.invert(r.x),_=new Date(m.end).getTime()-new Date(m.start).getTime(),S=new Date(E.getTime()+_),k=i.timeFormat("%Y-%m-%d")(E),v=i.timeFormat("%Y-%m-%d")(S);M({id:m.id,name:m.name,newStart:k,newEnd:v})}D.value=!1});o.value.forEach(r=>{const m=g.value(new Date(r.start)),_=g.value(new Date(r.end))-m,S=x.value(r.name),k=s.append("rect").datum(r).attr("x",m).attr("y",S).attr("width",_).attr("height",x.value.bandwidth()).attr("fill",r.color).attr("rx",4).style("cursor","grab").on("mouseenter",(v,R)=>{const[Z,ee]=i.pointer(v);p.value=R,N.value={x:Z+u.left,y:ee+u.top},i.select(v.currentTarget).style("filter","brightness(1.1)")}).on("mouseleave",v=>{p.value=null,i.select(v.currentTarget).style("filter","none")}).on("dblclick",function(v){J(r)});h(k)}),s.selectAll(".task-label").data(o.value).enter().append("text").text(r=>r.name).attr("x",r=>g.value(new Date(r.start))+5).attr("y",r=>x.value(r.name)+x.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px")};return e.watch(()=>f.tasks,t=>{Array.isArray(t)?(o.value=t.map(n=>({...n})),w()):(o.value=[],w())},{immediate:!0,deep:!0}),e.onMounted(()=>{w(),window.addEventListener("resize",w)}),e.watch(()=>o.value,w,{deep:!0}),(t,n)=>(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",{ref_key:"ganttContainer",ref:T,class:"relative w-full overflow-x-auto"},null,512),p.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(W.value),class:"bg-gray-800 text-white text-xs p-2 rounded-lg shadow-xl opacity-90 transition duration-150 z-40"},[e.createElementVNode("div",$,e.toDisplayString(p.value.name),1),e.createElementVNode("div",null,"Début: "+e.toDisplayString(p.value.start),1),e.createElementVNode("div",null,"Fin: "+e.toDisplayString(p.value.end),1),e.createElementVNode("div",A,"Durée: "+e.toDisplayString(V(p.value.start,p.value.end))+" jours",1)],4)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(H.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[e.createElementVNode("div",I,"Éditer: "+e.toDisplayString(a.value.name),1),e.createElementVNode("label",L,[n[4]||(n[4]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":n[0]||(n[0]=l=>a.value.durationDays=l),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.durationDays,void 0,{number:!0}]])]),n[7]||(n[7]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",O,[n[5]||(n[5]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[1]||(n[1]=l=>a.value.start=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.start]])]),e.createElementVNode("label",P,[n[6]||(n[6]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":n[2]||(n[2]=l=>a.value.end=l),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,a.value.end]])]),e.createElementVNode("div",U,[e.createElementVNode("span",G," Durée effective: "+e.toDisplayString(X.value)+" j. ",1),e.createElementVNode("button",{onClick:K,class:"bg-blue-600 hover:bg-blue-700 text-white text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider ")]),e.createElementVNode("button",{onClick:n[3]||(n[3]=l=>a.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-3b13a159"]]);return{install(d){d.component("GanttChart",Y)}}}); +(function(e,S){typeof exports=="object"&&typeof module<"u"?module.exports=S(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],S):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=S(e.Vue,e.d3))})(this,function(e,S){"use strict";function q(m){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const c in m)if(c!=="default"){const w=Object.getOwnPropertyDescriptor(m,c);Object.defineProperty(V,c,w.get?w:{enumerable:!0,get:()=>m[c]})}}return V.default=m,Object.freeze(V)}const s=q(S),G=(m,V)=>{const c=m.__vccOpts||m;for(const[w,l]of V)c[w]=l;return c},W={class:"gantt-wrapper relative w-full"},X={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},R={class:"flex items-center space-x-2"},H=["value"],J=["disabled"],K={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},Q={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},Z={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},ee={class:"text-xs text-gray-500 mt-2"},te={class:"text-xs font-medium text-gray-600"},ae={class:"text-xs font-medium text-gray-600"},ne={class:"text-xs font-medium text-gray-600"},le={class:"text-xs font-medium text-gray-600"},re={class:"text-xs font-medium text-gray-600"},oe={class:"text-xs font-medium text-gray-600"},se={class:"mt-3 flex justify-between items-center"},ie={class:"text-xs font-bold text-blue-600"},de=G({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated","updateTasksOrder"],setup(m,{emit:V}){const c=V,w=m,l=e.ref([]),N=e.ref("All"),ue=e.computed(()=>{const a=new Set(["All"]);return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),M=e.ref(null),$=e.ref(0),k={top:40,right:20,bottom:30,left:50},C=e.ref(!1),r=e.ref(null),B=(a,t)=>{if(!a||!t)return 0;const n=new Date(a),o=new Date(t);if(n.getTime()>o.getTime())return 0;const d=Math.abs(o.getTime()-n.getTime());return Math.ceil(d/(1e3*60*60*24))+1},Y=(a,t)=>{if(!a||t<=0)return a;const n=new Date(a);return n.setDate(n.getDate()+t-1),s.timeFormat("%Y-%m-%d")(n)},z=a=>a.toISOString().split("T")[0],f=e.computed(()=>N.value==="All"?l.value:l.value.filter(a=>a.category===N.value)),ce=e.computed(()=>Math.max(150,f.value.length*40+k.top+k.bottom)),_=e.computed(()=>{if(l.value.length===0)return new Date(w.startDate);const a=l.value.map(t=>new Date(t.start));return new Date(Math.min(...a))}),O=e.computed(()=>{if(l.value.length===0)return new Date(w.endDate);const a=l.value.map(n=>new Date(n.end)),t=new Date(Math.max(...a));return t.setDate(t.getDate()+10),t}),me=()=>{const t=(l.value.length>0?Math.max(...l.value.map(o=>o.id)):0)+1;let n;if(l.value.length>0){const o=l.value[l.value.length-1],d=new Date(o.end).getTime()-new Date(o.start).getTime(),x=new Date(o.end);x.setDate(x.getDate()+1);const I=new Date(x.getTime()+d);n={id:t,name:`Tâche Copiée ${t}`,start:z(x),end:z(I),color:o.color||"#4F46E5",category:o.category||"Uncategorized",isNew:!0}}else{const o=new Date,d=new Date;d.setDate(d.getDate()+10),n={id:t,name:`Première Tâche ${t}`,start:z(o),end:z(d),color:"#4F46E5",category:"Planning",isNew:!0}}l.value.push(n),c("updateTasksOrder",l.value)},fe=()=>{if(l.value.length===0)return;const a=Math.max(...l.value.map(n=>n.id)),t=l.value.filter(n=>n.id!==a);l.value=t,c("updateTasksOrder",l.value)},ge=a=>{const t=l.value.findIndex(n=>n.id===a.id);if(t!==-1){const n={...l.value[t],start:a.newStart,end:a.newEnd,category:l.value[t].category,name:a.name||l.value[t].name},o=[...l.value];o[t]=n,l.value=o,c("taskUpdated",l.value)}},pe=e.computed(()=>r.value?B(r.value.start,r.value.end):0),xe=e.computed(()=>!r.value||!r.value.y||!M.value?{}:{position:"absolute",left:`${M.value.clientWidth/2}px`,top:`${r.value.y+k.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),v=e.ref(null),p=e.ref(null),ye=a=>{if(C.value=!1,r.value&&r.value.id===a.id){r.value=null;return}if(!v.value||!p.value)return;const t=v.value(new Date(a.start)),n=p.value(a.name);n!==void 0&&(r.value={id:a.id,name:a.name,start:a.start,end:a.end,durationDays:B(a.start,a.end),x:t,y:n,category:a.category||"Uncategorized",color:a.color},e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()}))};e.watch(()=>{var a;return(a=r.value)==null?void 0:a.durationDays},(a,t)=>{r.value&&a&&a!==t&&(r.value.end=Y(r.value.start,a))}),e.watch(()=>{var a;return(a=r.value)==null?void 0:a.start},(a,t)=>{r.value&&a&&a!==t&&(r.value.durationDays=B(a,r.value.end)),r.value&&a&&(r.value.end=Y(a,r.value.durationDays))});const ve=()=>{const{id:a,name:t,start:n,end:o,category:d,color:x}=r.value,I=new Date(n),F=new Date(o);if(I.getTime()>=F.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),console.warn("Erreur: La date de début doit être antérieure à la date de fin. Opération annulée.");return}const j=l.value.findIndex(E=>E.id===a);if(j!==-1){const E={...l.value[j],name:t,start:n,end:o,category:d,color:x},A=[...l.value];A[j]=E,l.value=A,c("taskUpdated",l.value)}r.value=null},be=a=>{const t=_.value,n=O.value;v.value=s.scaleTime().domain([t,n]).range([0,a-k.left-k.right]),p.value=s.scaleBand().domain(Array.isArray(f.value)?f.value.map(o=>o.name):[]).range([0,f.value.length*40]).paddingInner(.1)},D=()=>{if(!M.value)return;$.value=M.value.clientWidth;const a=$.value;be(a);const t=s.select(M.value);t.selectAll("*").remove();const o=t.append("svg").attr("width",a).attr("height",ce.value).append("g").attr("transform",`translate(${k.left}, ${k.top})`);if(o.append("g").attr("transform",`translate(0, ${f.value.length*40||50})`).call(s.axisBottom(v.value)),o.append("g").attr("class","y-axis-g").call(s.axisLeft(p.value)),!f.value.length)return;let d=!1,x,I,F=-1;const j=p.value.step(),E=N.value!=="All",A=s.drag().on("start",function(i,u){if(r.value){s.select(this).style("cursor","pointer"),i.sourceEvent.stopPropagation();return}C.value=!1,d=!1,x=i.x,I=i.y,F=f.value.findIndex(b=>b.id===u.id),s.select(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(i,u){if(r.value)return;const b=i.x-x,h=i.y-I;if(Math.abs(h)>5&&!E)d=!0,s.select(this).attr("transform",`translate(0, ${h})`);else if(Math.abs(b)>5||E){C.value=!0,d=!1;const g=v.value(new Date(u.start))+b;s.select(this).select("rect").attr("x",g),s.select(this).select("text").attr("x",g+5),s.select(this).attr("transform",null)}}).on("end",function(i,u){if(s.select(this).style("cursor","grab"),r.value){s.select(this).classed("dragging",!1).attr("transform",null);return}if(s.select(this).classed("dragging",!1).attr("transform",null),d&&!E){const b=p.value(u.name)+(i.y-I),h=Math.round(b/j),g=Math.max(0,Math.min(f.value.length-1,h));if(g!==F){const T=f.value[F].id,y=l.value.findIndex(P=>P.id===T),U=f.value[g].id,he=l.value.findIndex(P=>P.id===U),L=[...l.value],[we]=L.splice(y,1);L.splice(he,0,we),l.value=L,c("updateTasksOrder",l.value)}else D()}else if(C.value){const b=v.value(new Date(u.start))+(i.x-x),h=v.value.invert(b),g=new Date(u.end).getTime()-new Date(u.start).getTime(),T=new Date(h.getTime()+g),y=s.timeFormat("%Y-%m-%d")(h),U=s.timeFormat("%Y-%m-%d")(T);ge({id:u.id,name:u.name,newStart:y,newEnd:U})}else D();C.value=!1,d=!1});f.value.forEach(i=>{const u=v.value(new Date(i.start)),h=v.value(new Date(i.end))-u,g=p.value(i.name),T=o.append("g").datum(i).attr("class","task-group").on("contextmenu",function(y){y.preventDefault(),y.sourceEvent?y.sourceEvent.stopPropagation():y.stopPropagation(),ye(i)});T.append("rect").attr("x",u).attr("y",g).attr("width",h).attr("height",p.value.bandwidth()).attr("fill",i.color).attr("rx",4).style("cursor","grab"),A(T),T.append("text").text(y=>y.name).attr("x",u+5).attr("y",g+p.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px"),E&&T.append("text").text("🚫").attr("x",-45).attr("y",g+p.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return e.watch(()=>w.tasks,a=>{if(Array.isArray(a)){const t=l.value.map(o=>o.id).join(","),n=a.map(o=>o.id).join(",");t!==n||a.length!==l.value.length?(l.value=a.map(o=>({...o})),D()):(l.value=a.map(o=>({...o})),D())}else l.value=[],D()},{immediate:!0,deep:!0}),e.onMounted(()=>{D(),window.addEventListener("resize",D)}),e.watch([()=>l.value,_,O,N],D,{deep:!0}),(a,t)=>(e.openBlock(),e.createElementBlock("div",W,[e.createElementVNode("div",X,[e.createElementVNode("div",R,[t[8]||(t[8]=e.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),e.withDirectives(e.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":t[0]||(t[0]=n=>N.value=n),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ue.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,H))),128))],512),[[e.vModelSelect,N.value]])]),e.createElementVNode("button",{onClick:me,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),e.createElementVNode("button",{onClick:fe,disabled:l.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,J)]),e.createElementVNode("div",{ref_key:"ganttContainer",ref:M,class:"relative w-full overflow-x-auto"},[f.value.length===0&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("p",Q," Aucune tâche ne correspond au filtre '"+e.toDisplayString(N.value)+"'. ",1)])):l.value.length===0?(e.openBlock(),e.createElementBlock("div",Z,[...t[9]||(t[9]=[e.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",null,[e.createElementVNode("p",ee," Dates du graphique calculées : "+e.toDisplayString(s.timeFormat("%Y-%m-%d")(_.value))+" à "+e.toDisplayString(s.timeFormat("%Y-%m-%d")(O.value)),1),t[10]||(t[10]=e.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(xe.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[t[17]||(t[17]=e.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),e.createElementVNode("label",te,[t[11]||(t[11]=e.createTextVNode(" Nom: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=n=>r.value.name=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.name]])]),e.createElementVNode("label",ae,[t[12]||(t[12]=e.createTextVNode(" Catégorie: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[2]||(t[2]=n=>r.value.category=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.category]])]),e.createElementVNode("label",ne,[t[13]||(t[13]=e.createTextVNode(" Couleur: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":t[3]||(t[3]=n=>r.value.color=n),class:"mt-1 h-8 border rounded-md w-full focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.color]])]),t[18]||(t[18]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",le,[t[14]||(t[14]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":t[4]||(t[4]=n=>r.value.durationDays=n),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.durationDays,void 0,{number:!0}]])]),e.createElementVNode("label",re,[t[15]||(t[15]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[5]||(t[5]=n=>r.value.start=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.start]])]),e.createElementVNode("label",oe,[t[16]||(t[16]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[6]||(t[6]=n=>r.value.end=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.end]])]),e.createElementVNode("div",se,[e.createElementVNode("span",ie," Durée effective: "+e.toDisplayString(pe.value)+" j. ",1)]),e.createElementVNode("button",{onClick:ve,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),e.createElementVNode("button",{onClick:t[7]||(t[7]=n=>r.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-76a01c2a"]]);return{install(m){m.component("GanttChart",de)}}}); diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 6c00d8eb6..0412cc9e9 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -29,7 +29,7 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # self.state.change("sdate")(self._set_start_date) self.state.tasks = [] dtasks = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, - {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#151A77"}] + {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 2", "progress": "100", "color": "#151A77"}] # self.state.tasks = list( tasks ) # self.state.change("tasks")(self._updated_tasks) self.state.tasks = dtasks @@ -92,7 +92,8 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: tasks=("tasks",), startDate="2012-11-01", endDate="2013-01-12", - taskUpdated=(self._updated_tasks,"$event") + taskUpdated=(self._updated_tasks,"$event"), + classes="fill_height", ) with vuetify.VContainer("Debug"): vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) @@ -106,7 +107,7 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # fields=fields, # update=( self.update_from_js, "items" ), # items=( "items", items ), - # classes="fill_height", + # # ) def _set_start_date(self, sdate : str | None, **_: Any) -> None: From ac0bd7a69f10739f53bda52bb6c8001040ee931e Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 27 Oct 2025 17:53:57 +0100 Subject: [PATCH 11/59] some more clean-up --- .../app/gantt_chart/widgets/gantt_chart.py | 2 - geos-trame/src/geos/trame/app/ui/timeline.py | 38 ------------------- 2 files changed, 40 deletions(-) diff --git a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index 866ca143a..33eb65cd0 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -32,7 +32,5 @@ def __init__(self, **kwargs): "endDate" ] self._event_names += [ - # "input", "taskUpdated" - # "update" ] diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 0412cc9e9..7e7fc0a33 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -25,8 +25,6 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) - # self.state.sdate = self.tree.world_origin_time - # self.state.change("sdate")(self._set_start_date) self.state.tasks = [] dtasks = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 2", "progress": "100", "color": "#151A77"}] @@ -75,18 +73,6 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # v_model="sdate" # ) vuetify.VDivider() - # with ( - # vuetify.VContainer( "Events timeline" ), - # vuetify.VTimeline( - # direction="horizontal", - # truncate_line="both", - # align="center", - # side="end", - # ), - # vuetify.VTimelineItem( v_for=( f"item in {items}", ), key="i", value="item", size="small" ), - # ): - # vuetify.VAlert( "{{ item.summary }}" ) - # vuetify.Template( "{{ item.start_date }}", raw_attrs=[ "v-slot:opposite" ] ) with vuetify.VContainer( "Events chart" ): Gantt( tasks=("tasks",), @@ -97,30 +83,6 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: ) with vuetify.VContainer("Debug"): vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) - # - # Gantt( - # canEdit=False, - # dateLimit=40, - # startDate= self.state.sdate, - # endDate=(datetime.strptime( self.state.sdate,date_fmt) + timedelta(days=40)).strftime(date_fmt) if self.state.sdate else '2012-12-12', - # # title='Gantt-pre-test', - # fields=fields, - # update=( self.update_from_js, "items" ), - # items=( "items", items ), - # - # ) - - def _set_start_date(self, sdate : str | None, **_: Any) -> None: - if sdate is None: - self.state.sdate = self.tree.world_origin_time.strftime(date_fmt) - return - - self.state.sdate = sdate - print(f"new date :{self.state.sdate}") - - def update_from_js( self, *items: tuple ) -> None: - """Update method called from javascript.""" - self.state.items = list( items ) def _updated_tasks(self, *tasks: Any, **_: Any) -> None: if tasks is None: From 50ac895e176014a9de1927b61cd217465d8f6e53 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 27 Oct 2025 17:56:56 +0100 Subject: [PATCH 12/59] rid of old gantt for dev-version --- geos-trame/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/geos-trame/pyproject.toml b/geos-trame/pyproject.toml index 4e98f6ce1..00fd6bffc 100644 --- a/geos-trame/pyproject.toml +++ b/geos-trame/pyproject.toml @@ -8,7 +8,8 @@ version = "1.0.0" description = "Geos Simulation Modeler" authors = [{name = "GEOS Contributors" }] maintainers = [{name = "Alexandre Benedicto", email = "alexandre.benedicto@external.totalenergies.com" }, - {name = "Paloma Martinez", email = "paloma.martinez@external.totalenergies.com" }] + {name = "Paloma Martinez", email = "paloma.martinez@external.totalenergies.com" } + {name = "Jacques Franc", email= "jacques.franc@external.totalenergies.com" }] license = {text = "Apache-2.0"} classifiers = [ "Development Status :: 4 - Beta", @@ -40,7 +41,6 @@ dependencies = [ "matplotlib==3.9.4", "trame-matplotlib==2.0.3", "trame-components==2.4.2", - "trame-gantt==0.1.5", "mpld3<0.5.11", "xsdata==24.5", "xsdata-pydantic[lxml]==24.5", From e9d5cd240f184dff19c5614956f7cf4f251972b3 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 27 Oct 2025 18:36:36 +0100 Subject: [PATCH 13/59] adjusting to real deck --- geos-trame/src/geos/trame/app/deck/tree.py | 11 ++++++++--- geos-trame/src/geos/trame/app/ui/timeline.py | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 0070ffbfd..ca3d5542f 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -133,12 +133,17 @@ def timeline( self ) -> list[ dict ] | None: # list root events global_id = 0 solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) + solver_events = self.input_file.problem.events[0].periodic_event for e in solver_events: item: dict[ str, str | int ] = { "id": global_id, - "summary": e.name, - "start_date": str( datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time)) ), #.strftime("%Y-%m-%d"), - "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)) ) + "name": e.name, + "start": (datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time))).strftime("%Y-%m-%d"), #, + "end": ( datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.end_time)) ).strftime("%Y-%m-%d"), + "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), + "category" : e.target.split('/')[-1], + "progress": "100", + "color": "#C55C36" } timeline.append( item ) global_id = global_id + 1 diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 7e7fc0a33..9531d2c78 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -30,9 +30,9 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 2", "progress": "100", "color": "#151A77"}] # self.state.tasks = list( tasks ) # self.state.change("tasks")(self._updated_tasks) - self.state.tasks = dtasks + # self.state.tasks = dtasks - items = self.tree.timeline() + self.state.tasks = self.tree.timeline() fields = [ { "summary": { From 503012346369cf3699736dac5b81c762e0a1e53a Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 28 Oct 2025 14:15:24 +0100 Subject: [PATCH 14/59] working - start including start date logic --- geos-trame/src/geos/trame/app/deck/tree.py | 7 +--- .../module/serve/gantt-chart.umd.js | 2 +- geos-trame/src/geos/trame/app/ui/timeline.py | 41 ++++--------------- 3 files changed, 10 insertions(+), 40 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index ca3d5542f..80d5e1430 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -34,7 +34,6 @@ def __init__( self, sm_id: str | None = None, **kwargs: Any ) -> None: self.root = None self.input_has_errors = False self._sm_id = sm_id - self.world_origin_time = datetime(1924,3,28). strftime("%Y-%m-%d")# Total start date !! def set_input_file( self, input_filename: str ) -> None: """Set a new input file. @@ -138,12 +137,10 @@ def timeline( self ) -> list[ dict ] | None: item: dict[ str, str | int ] = { "id": global_id, "name": e.name, - "start": (datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time))).strftime("%Y-%m-%d"), #, - "end": ( datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.end_time)) ).strftime("%Y-%m-%d"), + "start": (timedelta(seconds=float(e.begin_time))).strftime("%Y-%m-%d"), #, + "end": (timedelta(seconds=float(e.end_time))).strftime("%Y-%m-%d"), "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], - "progress": "100", - "color": "#C55C36" } timeline.append( item ) global_id = global_id + 1 diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index 93d3c440e..dd34181d6 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,S){typeof exports=="object"&&typeof module<"u"?module.exports=S(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],S):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=S(e.Vue,e.d3))})(this,function(e,S){"use strict";function q(m){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const c in m)if(c!=="default"){const w=Object.getOwnPropertyDescriptor(m,c);Object.defineProperty(V,c,w.get?w:{enumerable:!0,get:()=>m[c]})}}return V.default=m,Object.freeze(V)}const s=q(S),G=(m,V)=>{const c=m.__vccOpts||m;for(const[w,l]of V)c[w]=l;return c},W={class:"gantt-wrapper relative w-full"},X={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},R={class:"flex items-center space-x-2"},H=["value"],J=["disabled"],K={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},Q={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},Z={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},ee={class:"text-xs text-gray-500 mt-2"},te={class:"text-xs font-medium text-gray-600"},ae={class:"text-xs font-medium text-gray-600"},ne={class:"text-xs font-medium text-gray-600"},le={class:"text-xs font-medium text-gray-600"},re={class:"text-xs font-medium text-gray-600"},oe={class:"text-xs font-medium text-gray-600"},se={class:"mt-3 flex justify-between items-center"},ie={class:"text-xs font-bold text-blue-600"},de=G({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated","updateTasksOrder"],setup(m,{emit:V}){const c=V,w=m,l=e.ref([]),N=e.ref("All"),ue=e.computed(()=>{const a=new Set(["All"]);return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),M=e.ref(null),$=e.ref(0),k={top:40,right:20,bottom:30,left:50},C=e.ref(!1),r=e.ref(null),B=(a,t)=>{if(!a||!t)return 0;const n=new Date(a),o=new Date(t);if(n.getTime()>o.getTime())return 0;const d=Math.abs(o.getTime()-n.getTime());return Math.ceil(d/(1e3*60*60*24))+1},Y=(a,t)=>{if(!a||t<=0)return a;const n=new Date(a);return n.setDate(n.getDate()+t-1),s.timeFormat("%Y-%m-%d")(n)},z=a=>a.toISOString().split("T")[0],f=e.computed(()=>N.value==="All"?l.value:l.value.filter(a=>a.category===N.value)),ce=e.computed(()=>Math.max(150,f.value.length*40+k.top+k.bottom)),_=e.computed(()=>{if(l.value.length===0)return new Date(w.startDate);const a=l.value.map(t=>new Date(t.start));return new Date(Math.min(...a))}),O=e.computed(()=>{if(l.value.length===0)return new Date(w.endDate);const a=l.value.map(n=>new Date(n.end)),t=new Date(Math.max(...a));return t.setDate(t.getDate()+10),t}),me=()=>{const t=(l.value.length>0?Math.max(...l.value.map(o=>o.id)):0)+1;let n;if(l.value.length>0){const o=l.value[l.value.length-1],d=new Date(o.end).getTime()-new Date(o.start).getTime(),x=new Date(o.end);x.setDate(x.getDate()+1);const I=new Date(x.getTime()+d);n={id:t,name:`Tâche Copiée ${t}`,start:z(x),end:z(I),color:o.color||"#4F46E5",category:o.category||"Uncategorized",isNew:!0}}else{const o=new Date,d=new Date;d.setDate(d.getDate()+10),n={id:t,name:`Première Tâche ${t}`,start:z(o),end:z(d),color:"#4F46E5",category:"Planning",isNew:!0}}l.value.push(n),c("updateTasksOrder",l.value)},fe=()=>{if(l.value.length===0)return;const a=Math.max(...l.value.map(n=>n.id)),t=l.value.filter(n=>n.id!==a);l.value=t,c("updateTasksOrder",l.value)},ge=a=>{const t=l.value.findIndex(n=>n.id===a.id);if(t!==-1){const n={...l.value[t],start:a.newStart,end:a.newEnd,category:l.value[t].category,name:a.name||l.value[t].name},o=[...l.value];o[t]=n,l.value=o,c("taskUpdated",l.value)}},pe=e.computed(()=>r.value?B(r.value.start,r.value.end):0),xe=e.computed(()=>!r.value||!r.value.y||!M.value?{}:{position:"absolute",left:`${M.value.clientWidth/2}px`,top:`${r.value.y+k.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),v=e.ref(null),p=e.ref(null),ye=a=>{if(C.value=!1,r.value&&r.value.id===a.id){r.value=null;return}if(!v.value||!p.value)return;const t=v.value(new Date(a.start)),n=p.value(a.name);n!==void 0&&(r.value={id:a.id,name:a.name,start:a.start,end:a.end,durationDays:B(a.start,a.end),x:t,y:n,category:a.category||"Uncategorized",color:a.color},e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()}))};e.watch(()=>{var a;return(a=r.value)==null?void 0:a.durationDays},(a,t)=>{r.value&&a&&a!==t&&(r.value.end=Y(r.value.start,a))}),e.watch(()=>{var a;return(a=r.value)==null?void 0:a.start},(a,t)=>{r.value&&a&&a!==t&&(r.value.durationDays=B(a,r.value.end)),r.value&&a&&(r.value.end=Y(a,r.value.durationDays))});const ve=()=>{const{id:a,name:t,start:n,end:o,category:d,color:x}=r.value,I=new Date(n),F=new Date(o);if(I.getTime()>=F.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),console.warn("Erreur: La date de début doit être antérieure à la date de fin. Opération annulée.");return}const j=l.value.findIndex(E=>E.id===a);if(j!==-1){const E={...l.value[j],name:t,start:n,end:o,category:d,color:x},A=[...l.value];A[j]=E,l.value=A,c("taskUpdated",l.value)}r.value=null},be=a=>{const t=_.value,n=O.value;v.value=s.scaleTime().domain([t,n]).range([0,a-k.left-k.right]),p.value=s.scaleBand().domain(Array.isArray(f.value)?f.value.map(o=>o.name):[]).range([0,f.value.length*40]).paddingInner(.1)},D=()=>{if(!M.value)return;$.value=M.value.clientWidth;const a=$.value;be(a);const t=s.select(M.value);t.selectAll("*").remove();const o=t.append("svg").attr("width",a).attr("height",ce.value).append("g").attr("transform",`translate(${k.left}, ${k.top})`);if(o.append("g").attr("transform",`translate(0, ${f.value.length*40||50})`).call(s.axisBottom(v.value)),o.append("g").attr("class","y-axis-g").call(s.axisLeft(p.value)),!f.value.length)return;let d=!1,x,I,F=-1;const j=p.value.step(),E=N.value!=="All",A=s.drag().on("start",function(i,u){if(r.value){s.select(this).style("cursor","pointer"),i.sourceEvent.stopPropagation();return}C.value=!1,d=!1,x=i.x,I=i.y,F=f.value.findIndex(b=>b.id===u.id),s.select(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(i,u){if(r.value)return;const b=i.x-x,h=i.y-I;if(Math.abs(h)>5&&!E)d=!0,s.select(this).attr("transform",`translate(0, ${h})`);else if(Math.abs(b)>5||E){C.value=!0,d=!1;const g=v.value(new Date(u.start))+b;s.select(this).select("rect").attr("x",g),s.select(this).select("text").attr("x",g+5),s.select(this).attr("transform",null)}}).on("end",function(i,u){if(s.select(this).style("cursor","grab"),r.value){s.select(this).classed("dragging",!1).attr("transform",null);return}if(s.select(this).classed("dragging",!1).attr("transform",null),d&&!E){const b=p.value(u.name)+(i.y-I),h=Math.round(b/j),g=Math.max(0,Math.min(f.value.length-1,h));if(g!==F){const T=f.value[F].id,y=l.value.findIndex(P=>P.id===T),U=f.value[g].id,he=l.value.findIndex(P=>P.id===U),L=[...l.value],[we]=L.splice(y,1);L.splice(he,0,we),l.value=L,c("updateTasksOrder",l.value)}else D()}else if(C.value){const b=v.value(new Date(u.start))+(i.x-x),h=v.value.invert(b),g=new Date(u.end).getTime()-new Date(u.start).getTime(),T=new Date(h.getTime()+g),y=s.timeFormat("%Y-%m-%d")(h),U=s.timeFormat("%Y-%m-%d")(T);ge({id:u.id,name:u.name,newStart:y,newEnd:U})}else D();C.value=!1,d=!1});f.value.forEach(i=>{const u=v.value(new Date(i.start)),h=v.value(new Date(i.end))-u,g=p.value(i.name),T=o.append("g").datum(i).attr("class","task-group").on("contextmenu",function(y){y.preventDefault(),y.sourceEvent?y.sourceEvent.stopPropagation():y.stopPropagation(),ye(i)});T.append("rect").attr("x",u).attr("y",g).attr("width",h).attr("height",p.value.bandwidth()).attr("fill",i.color).attr("rx",4).style("cursor","grab"),A(T),T.append("text").text(y=>y.name).attr("x",u+5).attr("y",g+p.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px"),E&&T.append("text").text("🚫").attr("x",-45).attr("y",g+p.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return e.watch(()=>w.tasks,a=>{if(Array.isArray(a)){const t=l.value.map(o=>o.id).join(","),n=a.map(o=>o.id).join(",");t!==n||a.length!==l.value.length?(l.value=a.map(o=>({...o})),D()):(l.value=a.map(o=>({...o})),D())}else l.value=[],D()},{immediate:!0,deep:!0}),e.onMounted(()=>{D(),window.addEventListener("resize",D)}),e.watch([()=>l.value,_,O,N],D,{deep:!0}),(a,t)=>(e.openBlock(),e.createElementBlock("div",W,[e.createElementVNode("div",X,[e.createElementVNode("div",R,[t[8]||(t[8]=e.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),e.withDirectives(e.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":t[0]||(t[0]=n=>N.value=n),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ue.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,H))),128))],512),[[e.vModelSelect,N.value]])]),e.createElementVNode("button",{onClick:me,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),e.createElementVNode("button",{onClick:fe,disabled:l.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,J)]),e.createElementVNode("div",{ref_key:"ganttContainer",ref:M,class:"relative w-full overflow-x-auto"},[f.value.length===0&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("p",Q," Aucune tâche ne correspond au filtre '"+e.toDisplayString(N.value)+"'. ",1)])):l.value.length===0?(e.openBlock(),e.createElementBlock("div",Z,[...t[9]||(t[9]=[e.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",null,[e.createElementVNode("p",ee," Dates du graphique calculées : "+e.toDisplayString(s.timeFormat("%Y-%m-%d")(_.value))+" à "+e.toDisplayString(s.timeFormat("%Y-%m-%d")(O.value)),1),t[10]||(t[10]=e.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(xe.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[t[17]||(t[17]=e.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),e.createElementVNode("label",te,[t[11]||(t[11]=e.createTextVNode(" Nom: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=n=>r.value.name=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.name]])]),e.createElementVNode("label",ae,[t[12]||(t[12]=e.createTextVNode(" Catégorie: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[2]||(t[2]=n=>r.value.category=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.category]])]),e.createElementVNode("label",ne,[t[13]||(t[13]=e.createTextVNode(" Couleur: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":t[3]||(t[3]=n=>r.value.color=n),class:"mt-1 h-8 border rounded-md w-full focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.color]])]),t[18]||(t[18]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",le,[t[14]||(t[14]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":t[4]||(t[4]=n=>r.value.durationDays=n),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.durationDays,void 0,{number:!0}]])]),e.createElementVNode("label",re,[t[15]||(t[15]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[5]||(t[5]=n=>r.value.start=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.start]])]),e.createElementVNode("label",oe,[t[16]||(t[16]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[6]||(t[6]=n=>r.value.end=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.end]])]),e.createElementVNode("div",se,[e.createElementVNode("span",ie," Durée effective: "+e.toDisplayString(pe.value)+" j. ",1)]),e.createElementVNode("button",{onClick:ve,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),e.createElementVNode("button",{onClick:t[7]||(t[7]=n=>r.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-76a01c2a"]]);return{install(m){m.component("GanttChart",de)}}}); +(function(e,_){typeof exports=="object"&&typeof module<"u"?module.exports=_(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],_):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=_(e.Vue,e.d3))})(this,function(e,_){"use strict";function te(f){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(f){for(const u in f)if(u!=="default"){const T=Object.getOwnPropertyDescriptor(f,u);Object.defineProperty(V,u,T.get?T:{enumerable:!0,get:()=>f[u]})}}return V.default=f,Object.freeze(V)}const i=te(_),ae=(f,V)=>{const u=f.__vccOpts||f;for(const[T,l]of V)u[T]=l;return u},ne={class:"gantt-wrapper relative w-full"},le={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},re={class:"flex items-center space-x-2"},oe=["value"],se=["disabled"],ie={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},de={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},ce={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},ue={class:"text-xs text-gray-500 mt-2"},me={class:"text-xs font-medium text-gray-600"},fe={class:"text-xs font-medium text-gray-600"},ge=["value"],pe=["title"],xe={class:"text-xs font-medium text-gray-600"},ye={class:"text-xs font-medium text-gray-600"},ve={class:"text-xs font-medium text-gray-600"},be={class:"mt-3 flex justify-between items-center"},he={class:"text-xs font-bold text-blue-600"},H=5,we=.2,De=ae({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(f,{emit:V}){const u=V,T=f,l=e.ref([]),N=e.ref("All"),J=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],$=e.ref({}),Ee=a=>{if(a.length===0)return 1;const t=[...a].sort((o,s)=>o-s),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]},Y=a=>{const t=new Set;a.forEach(s=>{s.category&&s.category.trim()&&t.add(s.category)});let n={...$.value},o=0;t.forEach(s=>{if(!n[s]){let c=J[o%J.length];n[s]=c}o++}),$.value=n},Te=a=>!a||a==="Uncategorized"?"#9CA3AF":$.value[a]||"#9CA3AF",w=e.ref(!1),ke=e.computed(()=>{const a=new Set;return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),Ce=e.computed(()=>{const a=new Set(["All"]);return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),B=e.ref(null),K=e.ref(0),M={top:40,right:20,bottom:30,left:50},L=e.ref(!1),r=e.ref(null),W=(a,t)=>{if(!a||!t)return 0;const n=new Date(a),o=new Date(t);if(n.getTime()>o.getTime())return 0;const s=Math.abs(o.getTime()-n.getTime());return Math.ceil(s/(1e3*60*60*24))+1},Q=a=>W(a.start,a.end),Ve=e.computed(()=>{if(l.value.length===0)return 1;const a=l.value.filter(t=>t.start&&t.end).map(Q);return Math.max(1,Ee(a))}),Z=(a,t)=>{if(!a||t<=0)return a;const n=new Date(a);return n.setDate(n.getDate()+t-1),i.timeFormat("%Y-%m-%d")(n)},R=a=>a.toISOString().split("T")[0],g=e.computed(()=>N.value==="All"?l.value:l.value.filter(a=>a.category===N.value)),Ne=e.computed(()=>Math.max(150,g.value.length*40+M.top+M.bottom)),U=e.computed(()=>{if(l.value.length===0)return new Date(T.startDate);const a=l.value.map(t=>new Date(t.start));return new Date(Math.min(...a))}),G=e.computed(()=>{if(l.value.length===0)return new Date(T.endDate);const a=l.value.map(n=>new Date(n.end)),t=new Date(Math.max(...a));return t.setDate(t.getDate()+10),t}),Me=()=>{const t=(l.value.length>0?Math.max(...l.value.map(s=>s.id)):0)+1;let n;const o=(l.value.length>0?l.value[l.value.length-1].category:"Planning")||"Uncategorized";if(l.value.length>0){const s=l.value[l.value.length-1],c=new Date(s.end).getTime()-new Date(s.start).getTime(),k=new Date(s.end);k.setDate(k.getDate()+1);const D=new Date(k.getTime()+c);n={id:t,name:`Tâche Copiée ${t}`,start:R(k),end:R(D),category:o,isNew:!0}}else{const s=new Date,c=new Date;c.setDate(c.getDate()+10),n={id:t,name:`Première Tâche ${t}`,start:R(s),end:R(c),category:o,isNew:!0}}l.value.push(n),Y(l.value),u("taskUpdated",l.value)},Se=()=>{if(l.value.length===0)return;const a=Math.max(...l.value.map(n=>n.id)),t=l.value.filter(n=>n.id!==a);l.value=t,u("taskUpdated",l.value)},Ie=()=>{const a=[...l.value].sort((t,n)=>{const o=new Date(t.start),s=new Date(n.start);return os?1:t.id-n.id});l.value=a,u("taskUpdated",l.value)},Be=a=>{const t=l.value.findIndex(n=>n.id===a.id);if(t!==-1){const n={...l.value[t],start:a.newStart,end:a.newEnd,category:l.value[t].category,name:a.name||l.value[t].name},o=[...l.value];o[t]=n,l.value=o,u("taskUpdated",l.value)}},Fe=e.computed(()=>r.value?W(r.value.start,r.value.end):0),Ae=e.computed(()=>!r.value||!r.value.y||!B.value?{}:{position:"absolute",left:`${B.value.clientWidth/2}px`,top:`${r.value.y+M.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),x=e.ref(null),h=e.ref(null),_e=a=>{if(L.value=!1,r.value&&r.value.id===a.id){r.value=null,w.value=!1;return}if(!x.value||!h.value)return;const t=x.value(new Date(a.start)),n=h.value(a.name);n!==void 0&&(r.value={id:a.id,name:a.name,start:a.start,end:a.end,durationDays:W(a.start,a.end),x:t,y:n,category:a.category||"Uncategorized",newCategory:null},w.value=!1,e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()}))};e.watch(()=>{var a;return(a=r.value)==null?void 0:a.durationDays},(a,t)=>{r.value&&a&&a!==t&&(r.value.end=Z(r.value.start,a))}),e.watch(()=>{var a;return(a=r.value)==null?void 0:a.start},(a,t)=>{r.value&&a&&a!==t&&(r.value.durationDays=W(a,r.value.end)),r.value&&a&&(r.value.end=Z(a,r.value.durationDays))});const Le=()=>{const{id:a,name:t,start:n,end:o}=r.value,s=l.value.findIndex(A=>A.id===a);if(s===-1)return;const c=l.value[s];let{category:k}=r.value,D=k;if(w.value&&r.value.newCategory){const A=r.value.newCategory.trim();A&&(D=A)}D!==c.category&&Y(l.value.concat([{category:D}])),w.value=!1;const I=new Date(n),j=new Date(o);if(I.getTime()>=j.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),console.warn("Erreur: La date de début doit être antérieure à la date de fin. Opération annulée.");return}const z={...c,name:t,start:n,end:o,category:D},F=[...l.value];F[s]=z,l.value=F,u("taskUpdated",l.value),r.value=null},Ue=a=>{const t=U.value,n=G.value;x.value=i.scaleTime().domain([t,n]).range([0,a-M.left-M.right]),h.value=i.scaleBand().domain(Array.isArray(g.value)?g.value.map(o=>o.name):[]).range([0,g.value.length*40]).paddingInner(.1)},S=()=>{if(!B.value)return;K.value=B.value.clientWidth;const a=K.value;Ue(a);const t=i.select(B.value);t.selectAll("*").remove();const o=t.append("svg").attr("width",a).attr("height",Ne.value).append("g").attr("transform",`translate(${M.left}, ${M.top})`);if(o.append("g").attr("transform",`translate(0, ${g.value.length*40||50})`).call(i.axisBottom(x.value)),o.append("g").attr("class","y-axis-g").call(i.axisLeft(h.value)),!g.value.length)return;const c=Ve.value*H,k=i.timeDay.offset(U.value,1),D=x.value(k)-x.value(U.value);let I=!1,j,z,F=-1;const A=h.value.step(),q=N.value!=="All",je=i.drag().on("start",function(d,m){if(r.value){i.select(this).style("cursor","pointer"),d.sourceEvent.stopPropagation();return}L.value=!1,I=!1,j=d.x,z=d.y,F=g.value.findIndex(p=>p.id===m.id),i.select(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(d,m){if(r.value)return;const p=d.x-j,y=d.y-z;if(Math.abs(y)>5&&!q)I=!0,i.select(this).attr("transform",`translate(0, ${y})`);else if(Math.abs(p)>5||q){L.value=!0,I=!1;const v=x.value(new Date(m.start))+p;i.select(this).select("rect").attr("x",v),i.select(this).select("text").attr("x",v+5),i.select(this).attr("transform",null)}}).on("end",function(d,m){if(i.select(this).style("cursor","grab"),r.value){i.select(this).classed("dragging",!1).attr("transform",null);return}if(i.select(this).classed("dragging",!1).attr("transform",null),I&&!q){const p=h.value(m.name)+(d.y-z),y=Math.round(p/A),v=Math.max(0,Math.min(g.value.length-1,y));if(v!==F){const C=g.value[F].id,E=l.value.findIndex(P=>P.id===C),O=g.value[v].id,X=l.value.findIndex(P=>P.id===O),b=[...l.value],[ee]=b.splice(E,1);b.splice(X,0,ee),l.value=b,u("taskUpdated",l.value)}else S()}else if(L.value){const p=x.value(new Date(m.start))+(d.x-j),y=x.value.invert(p),v=new Date(m.end).getTime()-new Date(m.start).getTime(),C=new Date(y.getTime()+v),E=i.timeFormat("%Y-%m-%d")(y),O=i.timeFormat("%Y-%m-%d")(C);Be({id:m.id,name:m.name,newStart:E,newEnd:O})}else S();L.value=!1,I=!1});g.value.forEach(d=>{const m=x.value(new Date(d.start)),p=h.value(d.name),y=Q(d);let v,C=!1;if(y>c){C=!0;const b=c*D,P=(y-c)*we*D;v=b+P}else v=x.value(new Date(d.end))-m;const E=o.append("g").datum(d).attr("class","task-group").on("contextmenu",function(b){b.preventDefault(),b.sourceEvent?b.sourceEvent.stopPropagation():b.stopPropagation(),_e(d)}),O=E.append("rect").attr("x",m).attr("y",p).attr("width",v).attr("height",h.value.bandwidth()).attr("fill",Te(d.category)).attr("rx",4).style("cursor","grab");C&&(O.attr("stroke","black").attr("stroke-width",2),E.append("title").text(`Durée réelle: ${y} jours. Affiché plié (Whale Task) car > ${c} jours (${H}x la médiane).`)),je(E);const X=C?`📐: ${d.name}`:d.name;E.append("text").text(X).attr("x",m+5).attr("y",p+h.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",C?"bold":"normal"),q&&E.append("text").text("🚫").attr("x",-45).attr("y",p+h.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return e.watch(()=>T.tasks,a=>{Array.isArray(a)?(l.value=a.map(t=>{const{color:n,...o}=t;return{...o}}),Y(l.value),S()):(l.value=[],$.value={},S())},{immediate:!0,deep:!0}),e.onMounted(()=>{S(),window.addEventListener("resize",S)}),e.watch([()=>l.value,U,G,N],S,{deep:!0}),(a,t)=>(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",le,[e.createElementVNode("div",re,[t[9]||(t[9]=e.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),e.withDirectives(e.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":t[0]||(t[0]=n=>N.value=n),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ce.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,oe))),128))],512),[[e.vModelSelect,N.value]])]),e.createElementVNode("button",{onClick:Me,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),e.createElementVNode("button",{onClick:Ie,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),e.createElementVNode("button",{onClick:Se,disabled:l.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,se)]),e.createElementVNode("div",{ref_key:"ganttContainer",ref:B,class:"relative w-full overflow-x-auto"},[g.value.length===0&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("p",de," Aucune tâche ne correspond au filtre '"+e.toDisplayString(N.value)+"'. ",1)])):l.value.length===0?(e.openBlock(),e.createElementBlock("div",ce,[...t[10]||(t[10]=[e.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",null,[e.createElementVNode("p",ue," Dates du graphique calculées : "+e.toDisplayString(i.timeFormat("%Y-%m-%d")(U.value))+" à "+e.toDisplayString(i.timeFormat("%Y-%m-%d")(G.value)),1),t[11]||(t[11]=e.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: ** dans leur nom. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(Ae.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[t[17]||(t[17]=e.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),e.createElementVNode("label",me,[t[12]||(t[12]=e.createTextVNode(" Nom: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=n=>r.value.name=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.name]])]),e.createElementVNode("label",fe,[t[13]||(t[13]=e.createTextVNode(" Catégorie: ",-1)),w.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,type:"text","onUpdate:modelValue":t[3]||(t[3]=n=>r.value.newCategory=n),placeholder:"Nouvelle catégorie...",class:"p-1 border border-blue-500 rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512)),[[e.vModelText,r.value.newCategory]]):e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":t[2]||(t[2]=n=>r.value.category=n),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ke.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,ge))),128))],512)),[[e.vModelSelect,r.value.category]]),e.createElementVNode("button",{onClick:t[4]||(t[4]=n=>w.value=!w.value),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full transition duration-150",title:w.value?"Annuler l'entrée":"Créer une nouvelle catégorie"},e.toDisplayString(w.value?"×":"+"),9,pe)]),t[18]||(t[18]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",xe,[t[14]||(t[14]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":t[5]||(t[5]=n=>r.value.durationDays=n),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.durationDays,void 0,{number:!0}]])]),e.createElementVNode("label",ye,[t[15]||(t[15]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[6]||(t[6]=n=>r.value.start=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.start]])]),e.createElementVNode("label",ve,[t[16]||(t[16]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[7]||(t[7]=n=>r.value.end=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.end]])]),e.createElementVNode("div",be,[e.createElementVNode("span",he," Durée effective: "+e.toDisplayString(Fe.value)+" j. ",1)]),e.createElementVNode("button",{onClick:Le,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),e.createElementVNode("button",{onClick:t[8]||(t[8]=n=>r.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-2331ccc0"]]);return{install(f){f.component("GanttChart",De)}}}); diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 9531d2c78..e199486f3 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -25,52 +25,25 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) + self.state.sdate = datetime(1924,3,28). strftime("%Y-%m-%d") + self.state.tasks = [] - dtasks = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, - {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 2", "progress": "100", "color": "#151A77"}] + # dtasks = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, + # {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 2", "progress": "100", "color": "#151A77"}] # self.state.tasks = list( tasks ) # self.state.change("tasks")(self._updated_tasks) # self.state.tasks = dtasks self.state.tasks = self.tree.timeline() - fields = [ { - "summary": { - "label": "Summary", - "component": "gantt-text", - "width": 300, - "placeholder": "Add a new task...", - }, - "start_date": { - "label": "",# "Start", - "component": "gantt-date", - "width": -1, - "placeholder": "Start", - "sort": "date", - }, - "end_date": { - "label": "",# "End", - "component": "gantt-date", - "width": -1, - "placeholder": "End", - "sort": "date", - }, - "duration": { - "label": "Days", - "component": "gantt-number", - "width": 150, - "placeholder": "0", - }, - } ] - with self: - vuetify.VCardTitle( "Events View" ) + # vuetify.VCardTitle( "Events View" ) # vuetify.VDateInput( # label="Select starting simulation date", # prepend_icon="", # prepend_inner_icon="$calendar", - # # placeholder="09/18/2024", - # v_model="sdate" + # placeholder="09/18/2024", + # v_model=("sdate",) # ) vuetify.VDivider() with vuetify.VContainer( "Events chart" ): From 77ecf0f540772aff3fbff061d8404c62a82bee0b Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 28 Oct 2025 18:28:40 +0100 Subject: [PATCH 15/59] solution to small extend tasks --- geos-trame/src/geos/trame/app/deck/tree.py | 5 +++-- .../module/serve/gantt-chart.umd.js | 2 +- .../app/gantt_chart/widgets/gantt_chart.py | 2 -- geos-trame/src/geos/trame/app/ui/timeline.py | 21 ------------------- 4 files changed, 4 insertions(+), 26 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 80d5e1430..ae309de1a 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -34,6 +34,7 @@ def __init__( self, sm_id: str | None = None, **kwargs: Any ) -> None: self.root = None self.input_has_errors = False self._sm_id = sm_id + self.world_origin_time = datetime(1924,3,28). strftime("%Y-%m-%d")# Total start date !! def set_input_file( self, input_filename: str ) -> None: """Set a new input file. @@ -137,8 +138,8 @@ def timeline( self ) -> list[ dict ] | None: item: dict[ str, str | int ] = { "id": global_id, "name": e.name, - "start": (timedelta(seconds=float(e.begin_time))).strftime("%Y-%m-%d"), #, - "end": (timedelta(seconds=float(e.end_time))).strftime("%Y-%m-%d"), + "start": (datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time))).strftime("%Y-%m-%d"), #, + "end": (datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.end_time))).strftime("%Y-%m-%d"), "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], } diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index dd34181d6..6e2c4bcb3 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,_){typeof exports=="object"&&typeof module<"u"?module.exports=_(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],_):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=_(e.Vue,e.d3))})(this,function(e,_){"use strict";function te(f){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(f){for(const u in f)if(u!=="default"){const T=Object.getOwnPropertyDescriptor(f,u);Object.defineProperty(V,u,T.get?T:{enumerable:!0,get:()=>f[u]})}}return V.default=f,Object.freeze(V)}const i=te(_),ae=(f,V)=>{const u=f.__vccOpts||f;for(const[T,l]of V)u[T]=l;return u},ne={class:"gantt-wrapper relative w-full"},le={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},re={class:"flex items-center space-x-2"},oe=["value"],se=["disabled"],ie={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},de={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},ce={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},ue={class:"text-xs text-gray-500 mt-2"},me={class:"text-xs font-medium text-gray-600"},fe={class:"text-xs font-medium text-gray-600"},ge=["value"],pe=["title"],xe={class:"text-xs font-medium text-gray-600"},ye={class:"text-xs font-medium text-gray-600"},ve={class:"text-xs font-medium text-gray-600"},be={class:"mt-3 flex justify-between items-center"},he={class:"text-xs font-bold text-blue-600"},H=5,we=.2,De=ae({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(f,{emit:V}){const u=V,T=f,l=e.ref([]),N=e.ref("All"),J=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],$=e.ref({}),Ee=a=>{if(a.length===0)return 1;const t=[...a].sort((o,s)=>o-s),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]},Y=a=>{const t=new Set;a.forEach(s=>{s.category&&s.category.trim()&&t.add(s.category)});let n={...$.value},o=0;t.forEach(s=>{if(!n[s]){let c=J[o%J.length];n[s]=c}o++}),$.value=n},Te=a=>!a||a==="Uncategorized"?"#9CA3AF":$.value[a]||"#9CA3AF",w=e.ref(!1),ke=e.computed(()=>{const a=new Set;return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),Ce=e.computed(()=>{const a=new Set(["All"]);return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),B=e.ref(null),K=e.ref(0),M={top:40,right:20,bottom:30,left:50},L=e.ref(!1),r=e.ref(null),W=(a,t)=>{if(!a||!t)return 0;const n=new Date(a),o=new Date(t);if(n.getTime()>o.getTime())return 0;const s=Math.abs(o.getTime()-n.getTime());return Math.ceil(s/(1e3*60*60*24))+1},Q=a=>W(a.start,a.end),Ve=e.computed(()=>{if(l.value.length===0)return 1;const a=l.value.filter(t=>t.start&&t.end).map(Q);return Math.max(1,Ee(a))}),Z=(a,t)=>{if(!a||t<=0)return a;const n=new Date(a);return n.setDate(n.getDate()+t-1),i.timeFormat("%Y-%m-%d")(n)},R=a=>a.toISOString().split("T")[0],g=e.computed(()=>N.value==="All"?l.value:l.value.filter(a=>a.category===N.value)),Ne=e.computed(()=>Math.max(150,g.value.length*40+M.top+M.bottom)),U=e.computed(()=>{if(l.value.length===0)return new Date(T.startDate);const a=l.value.map(t=>new Date(t.start));return new Date(Math.min(...a))}),G=e.computed(()=>{if(l.value.length===0)return new Date(T.endDate);const a=l.value.map(n=>new Date(n.end)),t=new Date(Math.max(...a));return t.setDate(t.getDate()+10),t}),Me=()=>{const t=(l.value.length>0?Math.max(...l.value.map(s=>s.id)):0)+1;let n;const o=(l.value.length>0?l.value[l.value.length-1].category:"Planning")||"Uncategorized";if(l.value.length>0){const s=l.value[l.value.length-1],c=new Date(s.end).getTime()-new Date(s.start).getTime(),k=new Date(s.end);k.setDate(k.getDate()+1);const D=new Date(k.getTime()+c);n={id:t,name:`Tâche Copiée ${t}`,start:R(k),end:R(D),category:o,isNew:!0}}else{const s=new Date,c=new Date;c.setDate(c.getDate()+10),n={id:t,name:`Première Tâche ${t}`,start:R(s),end:R(c),category:o,isNew:!0}}l.value.push(n),Y(l.value),u("taskUpdated",l.value)},Se=()=>{if(l.value.length===0)return;const a=Math.max(...l.value.map(n=>n.id)),t=l.value.filter(n=>n.id!==a);l.value=t,u("taskUpdated",l.value)},Ie=()=>{const a=[...l.value].sort((t,n)=>{const o=new Date(t.start),s=new Date(n.start);return os?1:t.id-n.id});l.value=a,u("taskUpdated",l.value)},Be=a=>{const t=l.value.findIndex(n=>n.id===a.id);if(t!==-1){const n={...l.value[t],start:a.newStart,end:a.newEnd,category:l.value[t].category,name:a.name||l.value[t].name},o=[...l.value];o[t]=n,l.value=o,u("taskUpdated",l.value)}},Fe=e.computed(()=>r.value?W(r.value.start,r.value.end):0),Ae=e.computed(()=>!r.value||!r.value.y||!B.value?{}:{position:"absolute",left:`${B.value.clientWidth/2}px`,top:`${r.value.y+M.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),x=e.ref(null),h=e.ref(null),_e=a=>{if(L.value=!1,r.value&&r.value.id===a.id){r.value=null,w.value=!1;return}if(!x.value||!h.value)return;const t=x.value(new Date(a.start)),n=h.value(a.name);n!==void 0&&(r.value={id:a.id,name:a.name,start:a.start,end:a.end,durationDays:W(a.start,a.end),x:t,y:n,category:a.category||"Uncategorized",newCategory:null},w.value=!1,e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()}))};e.watch(()=>{var a;return(a=r.value)==null?void 0:a.durationDays},(a,t)=>{r.value&&a&&a!==t&&(r.value.end=Z(r.value.start,a))}),e.watch(()=>{var a;return(a=r.value)==null?void 0:a.start},(a,t)=>{r.value&&a&&a!==t&&(r.value.durationDays=W(a,r.value.end)),r.value&&a&&(r.value.end=Z(a,r.value.durationDays))});const Le=()=>{const{id:a,name:t,start:n,end:o}=r.value,s=l.value.findIndex(A=>A.id===a);if(s===-1)return;const c=l.value[s];let{category:k}=r.value,D=k;if(w.value&&r.value.newCategory){const A=r.value.newCategory.trim();A&&(D=A)}D!==c.category&&Y(l.value.concat([{category:D}])),w.value=!1;const I=new Date(n),j=new Date(o);if(I.getTime()>=j.getTime()){console.error("La date de début doit être strictement antérieure à la date de fin."),console.warn("Erreur: La date de début doit être antérieure à la date de fin. Opération annulée.");return}const z={...c,name:t,start:n,end:o,category:D},F=[...l.value];F[s]=z,l.value=F,u("taskUpdated",l.value),r.value=null},Ue=a=>{const t=U.value,n=G.value;x.value=i.scaleTime().domain([t,n]).range([0,a-M.left-M.right]),h.value=i.scaleBand().domain(Array.isArray(g.value)?g.value.map(o=>o.name):[]).range([0,g.value.length*40]).paddingInner(.1)},S=()=>{if(!B.value)return;K.value=B.value.clientWidth;const a=K.value;Ue(a);const t=i.select(B.value);t.selectAll("*").remove();const o=t.append("svg").attr("width",a).attr("height",Ne.value).append("g").attr("transform",`translate(${M.left}, ${M.top})`);if(o.append("g").attr("transform",`translate(0, ${g.value.length*40||50})`).call(i.axisBottom(x.value)),o.append("g").attr("class","y-axis-g").call(i.axisLeft(h.value)),!g.value.length)return;const c=Ve.value*H,k=i.timeDay.offset(U.value,1),D=x.value(k)-x.value(U.value);let I=!1,j,z,F=-1;const A=h.value.step(),q=N.value!=="All",je=i.drag().on("start",function(d,m){if(r.value){i.select(this).style("cursor","pointer"),d.sourceEvent.stopPropagation();return}L.value=!1,I=!1,j=d.x,z=d.y,F=g.value.findIndex(p=>p.id===m.id),i.select(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(d,m){if(r.value)return;const p=d.x-j,y=d.y-z;if(Math.abs(y)>5&&!q)I=!0,i.select(this).attr("transform",`translate(0, ${y})`);else if(Math.abs(p)>5||q){L.value=!0,I=!1;const v=x.value(new Date(m.start))+p;i.select(this).select("rect").attr("x",v),i.select(this).select("text").attr("x",v+5),i.select(this).attr("transform",null)}}).on("end",function(d,m){if(i.select(this).style("cursor","grab"),r.value){i.select(this).classed("dragging",!1).attr("transform",null);return}if(i.select(this).classed("dragging",!1).attr("transform",null),I&&!q){const p=h.value(m.name)+(d.y-z),y=Math.round(p/A),v=Math.max(0,Math.min(g.value.length-1,y));if(v!==F){const C=g.value[F].id,E=l.value.findIndex(P=>P.id===C),O=g.value[v].id,X=l.value.findIndex(P=>P.id===O),b=[...l.value],[ee]=b.splice(E,1);b.splice(X,0,ee),l.value=b,u("taskUpdated",l.value)}else S()}else if(L.value){const p=x.value(new Date(m.start))+(d.x-j),y=x.value.invert(p),v=new Date(m.end).getTime()-new Date(m.start).getTime(),C=new Date(y.getTime()+v),E=i.timeFormat("%Y-%m-%d")(y),O=i.timeFormat("%Y-%m-%d")(C);Be({id:m.id,name:m.name,newStart:E,newEnd:O})}else S();L.value=!1,I=!1});g.value.forEach(d=>{const m=x.value(new Date(d.start)),p=h.value(d.name),y=Q(d);let v,C=!1;if(y>c){C=!0;const b=c*D,P=(y-c)*we*D;v=b+P}else v=x.value(new Date(d.end))-m;const E=o.append("g").datum(d).attr("class","task-group").on("contextmenu",function(b){b.preventDefault(),b.sourceEvent?b.sourceEvent.stopPropagation():b.stopPropagation(),_e(d)}),O=E.append("rect").attr("x",m).attr("y",p).attr("width",v).attr("height",h.value.bandwidth()).attr("fill",Te(d.category)).attr("rx",4).style("cursor","grab");C&&(O.attr("stroke","black").attr("stroke-width",2),E.append("title").text(`Durée réelle: ${y} jours. Affiché plié (Whale Task) car > ${c} jours (${H}x la médiane).`)),je(E);const X=C?`📐: ${d.name}`:d.name;E.append("text").text(X).attr("x",m+5).attr("y",p+h.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",C?"bold":"normal"),q&&E.append("text").text("🚫").attr("x",-45).attr("y",p+h.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return e.watch(()=>T.tasks,a=>{Array.isArray(a)?(l.value=a.map(t=>{const{color:n,...o}=t;return{...o}}),Y(l.value),S()):(l.value=[],$.value={},S())},{immediate:!0,deep:!0}),e.onMounted(()=>{S(),window.addEventListener("resize",S)}),e.watch([()=>l.value,U,G,N],S,{deep:!0}),(a,t)=>(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",le,[e.createElementVNode("div",re,[t[9]||(t[9]=e.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),e.withDirectives(e.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":t[0]||(t[0]=n=>N.value=n),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ce.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,oe))),128))],512),[[e.vModelSelect,N.value]])]),e.createElementVNode("button",{onClick:Me,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),e.createElementVNode("button",{onClick:Ie,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),e.createElementVNode("button",{onClick:Se,disabled:l.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,se)]),e.createElementVNode("div",{ref_key:"ganttContainer",ref:B,class:"relative w-full overflow-x-auto"},[g.value.length===0&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("p",de," Aucune tâche ne correspond au filtre '"+e.toDisplayString(N.value)+"'. ",1)])):l.value.length===0?(e.openBlock(),e.createElementBlock("div",ce,[...t[10]||(t[10]=[e.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",null,[e.createElementVNode("p",ue," Dates du graphique calculées : "+e.toDisplayString(i.timeFormat("%Y-%m-%d")(U.value))+" à "+e.toDisplayString(i.timeFormat("%Y-%m-%d")(G.value)),1),t[11]||(t[11]=e.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: ** dans leur nom. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(Ae.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[t[17]||(t[17]=e.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),e.createElementVNode("label",me,[t[12]||(t[12]=e.createTextVNode(" Nom: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=n=>r.value.name=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.name]])]),e.createElementVNode("label",fe,[t[13]||(t[13]=e.createTextVNode(" Catégorie: ",-1)),w.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,type:"text","onUpdate:modelValue":t[3]||(t[3]=n=>r.value.newCategory=n),placeholder:"Nouvelle catégorie...",class:"p-1 border border-blue-500 rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512)),[[e.vModelText,r.value.newCategory]]):e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":t[2]||(t[2]=n=>r.value.category=n),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ke.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,ge))),128))],512)),[[e.vModelSelect,r.value.category]]),e.createElementVNode("button",{onClick:t[4]||(t[4]=n=>w.value=!w.value),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full transition duration-150",title:w.value?"Annuler l'entrée":"Créer une nouvelle catégorie"},e.toDisplayString(w.value?"×":"+"),9,pe)]),t[18]||(t[18]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",xe,[t[14]||(t[14]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":t[5]||(t[5]=n=>r.value.durationDays=n),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.durationDays,void 0,{number:!0}]])]),e.createElementVNode("label",ye,[t[15]||(t[15]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[6]||(t[6]=n=>r.value.start=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.start]])]),e.createElementVNode("label",ve,[t[16]||(t[16]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[7]||(t[7]=n=>r.value.end=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.end]])]),e.createElementVNode("div",be,[e.createElementVNode("span",he," Durée effective: "+e.toDisplayString(Fe.value)+" j. ",1)]),e.createElementVNode("button",{onClick:Le,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),e.createElementVNode("button",{onClick:t[8]||(t[8]=n=>r.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-2331ccc0"]]);return{install(f){f.component("GanttChart",De)}}}); +(function(e,_){typeof exports=="object"&&typeof module<"u"?module.exports=_(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],_):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=_(e.Vue,e.d3))})(this,function(e,_){"use strict";function ae(y){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(y){for(const c in y)if(c!=="default"){const k=Object.getOwnPropertyDescriptor(y,c);Object.defineProperty(V,c,k.get?k:{enumerable:!0,get:()=>y[c]})}}return V.default=y,Object.freeze(V)}const d=ae(_),ne=(y,V)=>{const c=y.__vccOpts||y;for(const[k,l]of V)c[k]=l;return c},le={class:"gantt-wrapper relative w-full"},re={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},oe={class:"flex items-center space-x-2"},se=["value"],ie=["disabled"],de={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},ue={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},ce={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},me={class:"text-xs text-gray-500 mt-2"},fe={class:"text-xs font-medium text-gray-600"},ge={class:"text-xs font-medium text-gray-600"},pe=["value"],xe=["title"],ye={class:"text-xs font-medium text-gray-600"},ve={class:"text-xs font-medium text-gray-600"},he={class:"text-xs font-medium text-gray-600"},be={class:"mt-3 flex justify-between items-center"},we={class:"text-xs font-bold text-blue-600"},J=5,De=.2,Ee=ne({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(y,{emit:V}){const c=V,k=y,l=e.ref([]),M=e.ref("All"),K=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],P=e.ref({}),ke=a=>{if(a.length===0)return 1;const t=[...a].sort((o,s)=>o-s),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]},G=a=>{const t=new Set;a.forEach(s=>{s.category&&s.category.trim()&&t.add(s.category)});let n={...P.value},o=0;t.forEach(s=>{if(!n[s]){let p=K[o%K.length];n[s]=p}o++}),P.value=n},Te=a=>!a||a==="Uncategorized"?"#9CA3AF":P.value[a]||"#9CA3AF",D=e.ref(!1),Ce=e.computed(()=>{const a=new Set;return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),Ne=e.computed(()=>{const a=new Set(["All"]);return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),B=e.ref(null),Q=e.ref(0),S={top:40,right:20,bottom:30,left:50},L=e.ref(!1),r=e.ref(null),$=(a,t)=>{if(!a||!t)return 1;const n=new Date(a),s=new Date(t).getTime()-n.getTime();if(s<0)return 1;const p=Math.ceil(s/(1e3*60*60*24))+1;return Math.max(1,p)},Z=a=>$(a.start,a.end),Ve=e.computed(()=>{if(l.value.length===0)return 1;const a=l.value.filter(t=>t.start&&t.end).map(Z);return Math.max(1,ke(a))}),Y=(a,t)=>{if(!a||t<=0)return a;const n=new Date(a);return n.setDate(n.getDate()+t-1),d.timeFormat("%Y-%m-%d")(n)},W=a=>a.toISOString().split("T")[0],g=e.computed(()=>M.value==="All"?l.value:l.value.filter(a=>a.category===M.value)),Me=e.computed(()=>Math.max(150,g.value.length*40+S.top+S.bottom)),U=e.computed(()=>{if(l.value.length===0)return new Date(k.startDate);const a=l.value.map(t=>new Date(t.start));return new Date(Math.min(...a))}),X=e.computed(()=>{if(l.value.length===0)return new Date(k.endDate);const a=l.value.map(n=>new Date(n.end)),t=new Date(Math.max(...a));return t.setDate(t.getDate()+10),t}),Se=()=>{const t=(l.value.length>0?Math.max(...l.value.map(s=>s.id)):0)+1;let n;const o=(l.value.length>0?l.value[l.value.length-1].category:"Planning")||"Uncategorized";if(l.value.length>0){const s=l.value[l.value.length-1],p=new Date(s.end).getTime()-new Date(s.start).getTime(),h=new Date(s.end);h.setDate(h.getDate()+1);const T=new Date(h.getTime()+p);n={id:t,name:`Tâche Copiée ${t}`,start:W(h),end:W(T),category:o,isNew:!0}}else{const s=new Date,p=new Date;p.setDate(p.getDate()+10),n={id:t,name:`Première Tâche ${t}`,start:W(s),end:W(p),category:o,isNew:!0}}l.value.push(n),G(l.value),c("taskUpdated",l.value)},Ie=()=>{if(l.value.length===0)return;const a=Math.max(...l.value.map(n=>n.id)),t=l.value.filter(n=>n.id!==a);l.value=t,c("taskUpdated",l.value)},Ae=()=>{const a=[...l.value].sort((t,n)=>{const o=new Date(t.start),s=new Date(n.start);return os?1:t.id-n.id});l.value=a,c("taskUpdated",l.value)},Be=a=>{const t=l.value.findIndex(n=>n.id===a.id);if(t!==-1){const n={...l.value[t],start:a.newStart,end:a.newEnd,category:l.value[t].category,name:a.name||l.value[t].name},o=[...l.value];o[t]=n,l.value=o,c("taskUpdated",l.value)}},Fe=e.computed(()=>r.value?$(r.value.start,r.value.end):0),_e=e.computed(()=>!r.value||!r.value.y||!B.value?{}:{position:"absolute",left:`${B.value.clientWidth/2}px`,top:`${r.value.y+S.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),v=e.ref(null),w=e.ref(null),ee=a=>{if(L.value=!1,r.value&&r.value.id===a.id){r.value=null,D.value=!1;return}if(!v.value||!w.value)return;const t=v.value(new Date(a.start)),n=w.value(a.name);n!==void 0&&(r.value={id:a.id,name:a.name,start:a.start,end:a.end,durationDays:$(a.start,a.end),x:t,y:n,category:a.category||"Uncategorized",newCategory:null},D.value=!1,e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()}))};e.watch(()=>{var a;return(a=r.value)==null?void 0:a.durationDays},(a,t)=>{if(r.value&&a){a!==t&&(r.value.end=Y(r.value.start,a));const n=Math.max(1,a);r.value.durationDays=n,r.value.end=Y(r.value.start,n)}}),e.watch(()=>{var a;return(a=r.value)==null?void 0:a.start},(a,t)=>{r.value&&a&&(r.value.end=Y(a,Math.max(1,r.value.durationDays)),a!==t&&(r.value.durationDays=$(a,r.value.end)))});const Le=()=>{const{id:a,name:t,start:n,end:o}=r.value,s=l.value.findIndex(C=>C.id===a);if(s===-1)return;const p=l.value[s];let{category:h}=r.value,T=h;if(D.value&&r.value.newCategory){const C=r.value.newCategory.trim();C&&(T=C)}T!==p.category&&G(l.value.concat([{category:T}])),D.value=!1;const R=new Date(n),A=new Date(o);if(R.getTime()>=A.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const j={...p,name:t,start:n,end:o,category:T},F=[...l.value];F[s]=j,l.value=F,c("taskUpdated",l.value),r.value=null},Ue=a=>{const t=U.value,n=X.value;v.value=d.scaleTime().domain([t,n]).range([0,a-S.left-S.right]),w.value=d.scaleBand().domain(Array.isArray(g.value)?g.value.map(o=>o.name):[]).range([0,g.value.length*40]).paddingInner(.1)},I=()=>{if(!B.value)return;Q.value=B.value.clientWidth;const a=Q.value;Ue(a);const t=d.select(B.value);t.selectAll("*").remove();const o=t.append("svg").attr("width",a).attr("height",Me.value).append("g").attr("transform",`translate(${S.left}, ${S.top})`);if(o.append("g").attr("transform",`translate(0, ${g.value.length*40||50})`).call(d.axisBottom(v.value)),o.append("g").attr("class","y-axis-g").call(d.axisLeft(w.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(i,u){i.preventDefault(),i.stopPropagation();const m=u,f=g.value.find(x=>x.name===m);f&&ee(f)}),!g.value.length)return;const h=Ve.value*J,T=d.timeDay.offset(U.value,1),R=v.value(T)-v.value(U.value);let A=!1,j,F,C=-1;const je=w.value.step(),q=M.value!=="All",ze=d.drag().on("start",function(i,u){if(r.value){d.select(this).style("cursor","pointer"),i.sourceEvent.stopPropagation();return}L.value=!1,A=!1,j=i.x,F=i.y,C=g.value.findIndex(m=>m.id===u.id),d.select(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(i,u){if(r.value)return;const m=i.x-j,f=i.y-F;if(Math.abs(f)>5&&!q)A=!0,d.select(this).attr("transform",`translate(0, ${f})`);else if(Math.abs(m)>5||q){L.value=!0,A=!1;const x=v.value(new Date(u.start))+m;d.select(this).select("rect").attr("x",x),d.select(this).select("text").attr("x",x+5),d.select(this).attr("transform",null)}}).on("end",function(i,u){if(d.select(this).style("cursor","grab"),r.value){d.select(this).classed("dragging",!1).attr("transform",null);return}if(d.select(this).classed("dragging",!1).attr("transform",null),A&&!q){const m=w.value(u.name)+(i.y-F),f=Math.round(m/je),x=Math.max(0,Math.min(g.value.length-1,f));if(x!==C){const N=g.value[C].id,E=l.value.findIndex(O=>O.id===N),z=g.value[x].id,H=l.value.findIndex(O=>O.id===z),b=[...l.value],[te]=b.splice(E,1);b.splice(H,0,te),l.value=b,c("taskUpdated",l.value)}else I()}else if(L.value){const m=v.value(new Date(u.start))+(i.x-j),f=v.value.invert(m),x=new Date(u.end).getTime()-new Date(u.start).getTime(),N=new Date(f.getTime()+x),E=d.timeFormat("%Y-%m-%d")(f),z=d.timeFormat("%Y-%m-%d")(N);Be({id:u.id,name:u.name,newStart:E,newEnd:z})}else I();L.value=!1,A=!1});g.value.forEach(i=>{const u=v.value(new Date(i.start)),m=w.value(i.name),f=Z(i);let x,N=!1;if(f>h){N=!0;const b=h*R,O=(f-h)*De*R;x=b+O}else x=v.value(new Date(i.end))-u;const E=o.append("g").datum(i).attr("class","task-group").on("contextmenu",function(b){b.preventDefault(),b.sourceEvent?b.sourceEvent.stopPropagation():b.stopPropagation(),ee(i)}),z=E.append("rect").attr("x",u).attr("y",m).attr("width",x).attr("height",w.value.bandwidth()).attr("fill",Te(i.category)).attr("rx",4).style("cursor","grab");N&&(z.attr("stroke","black").attr("stroke-width",2),E.append("title").text(`Durée réelle: ${f} jours. Affiché plié (Whale Task) car > ${h} jours (${J}x la médiane).`)),ze(E);const H=N?`📐: ${i.name}`:i.name;E.append("text").text(H).attr("x",u+5).attr("y",m+w.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",N?"bold":"normal"),q&&E.append("text").text("🚫").attr("x",-45).attr("y",m+w.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return e.watch(()=>k.tasks,a=>{Array.isArray(a)?(l.value=a.map(t=>{const{color:n,...o}=t;return{...o}}),G(l.value),I()):(l.value=[],P.value={},I())},{immediate:!0,deep:!0}),e.onMounted(()=>{I(),window.addEventListener("resize",I)}),e.watch([()=>l.value,U,X,M],I,{deep:!0}),(a,t)=>(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("div",re,[e.createElementVNode("div",oe,[t[9]||(t[9]=e.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),e.withDirectives(e.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":t[0]||(t[0]=n=>M.value=n),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ne.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,se))),128))],512),[[e.vModelSelect,M.value]])]),e.createElementVNode("button",{onClick:Se,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),e.createElementVNode("button",{onClick:Ae,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),e.createElementVNode("button",{onClick:Ie,disabled:l.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,ie)]),e.createElementVNode("div",{ref_key:"ganttContainer",ref:B,class:"relative w-full overflow-x-auto"},[g.value.length===0&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("p",ue," Aucune tâche ne correspond au filtre '"+e.toDisplayString(M.value)+"'. ",1)])):l.value.length===0?(e.openBlock(),e.createElementBlock("div",ce,[...t[10]||(t[10]=[e.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",null,[e.createElementVNode("p",me," Dates du graphique calculées : "+e.toDisplayString(d.timeFormat("%Y-%m-%d")(U.value))+" à "+e.toDisplayString(d.timeFormat("%Y-%m-%d")(X.value)),1),t[11]||(t[11]=e.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: ** dans leur nom. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(_e.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[t[17]||(t[17]=e.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),e.createElementVNode("label",fe,[t[12]||(t[12]=e.createTextVNode(" Nom: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=n=>r.value.name=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.name]])]),e.createElementVNode("label",ge,[t[13]||(t[13]=e.createTextVNode(" Catégorie: ",-1)),D.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,type:"text","onUpdate:modelValue":t[3]||(t[3]=n=>r.value.newCategory=n),placeholder:"Nouvelle catégorie...",class:"p-1 border border-blue-500 rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512)),[[e.vModelText,r.value.newCategory]]):e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":t[2]||(t[2]=n=>r.value.category=n),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ce.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,pe))),128))],512)),[[e.vModelSelect,r.value.category]]),e.createElementVNode("button",{onClick:t[4]||(t[4]=n=>D.value=!D.value),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full transition duration-150",title:D.value?"Annuler l'entrée":"Créer une nouvelle catégorie"},e.toDisplayString(D.value?"×":"+"),9,xe)]),t[18]||(t[18]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",ye,[t[14]||(t[14]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":t[5]||(t[5]=n=>r.value.durationDays=n),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.durationDays,void 0,{number:!0}]])]),e.createElementVNode("label",ve,[t[15]||(t[15]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[6]||(t[6]=n=>r.value.start=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.start]])]),e.createElementVNode("label",he,[t[16]||(t[16]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[7]||(t[7]=n=>r.value.end=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.end]])]),e.createElementVNode("div",be,[e.createElementVNode("span",we," Durée effective: "+e.toDisplayString(Fe.value)+" j. ",1)]),e.createElementVNode("button",{onClick:Le,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),e.createElementVNode("button",{onClick:t[8]||(t[8]=n=>r.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-d17387a0"]]);return{install(y){y.component("GanttChart",Ee)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index 33eb65cd0..f8a8fe6ee 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -28,8 +28,6 @@ def __init__(self, **kwargs): ) self._attr_names += [ "tasks", - "startDate", - "endDate" ] self._event_names += [ "taskUpdated" diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index e199486f3..e2476c183 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -24,33 +24,12 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) - - self.state.sdate = datetime(1924,3,28). strftime("%Y-%m-%d") - - self.state.tasks = [] - # dtasks = [{"id": "1", "name": " Analyse des besoins", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 1", "progress": "100", "color": "#C55C36"}, - # {"id": "2", "name": " Debut production", "start": "2012-12-12", "end":"2012-12-31", "category":"Phase 2", "progress": "100", "color": "#151A77"}] - # self.state.tasks = list( tasks ) - # self.state.change("tasks")(self._updated_tasks) - # self.state.tasks = dtasks - self.state.tasks = self.tree.timeline() with self: - # vuetify.VCardTitle( "Events View" ) - # vuetify.VDateInput( - # label="Select starting simulation date", - # prepend_icon="", - # prepend_inner_icon="$calendar", - # placeholder="09/18/2024", - # v_model=("sdate",) - # ) - vuetify.VDivider() with vuetify.VContainer( "Events chart" ): Gantt( tasks=("tasks",), - startDate="2012-11-01", - endDate="2013-01-12", taskUpdated=(self._updated_tasks,"$event"), classes="fill_height", ) From 8361f5dbc87d4ca24cd972138e5001e1aa757438 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 29 Oct 2025 15:17:01 +0100 Subject: [PATCH 16/59] working version --- geos-trame/src/geos/trame/app/deck/tree.py | 11 +++-- geos-trame/src/geos/trame/app/ui/timeline.py | 46 ++++++++++++++++---- 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index ae309de1a..fbbe83ed1 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -20,7 +20,9 @@ from geos.trame.app.utils.file_utils import normalize_path, format_xml from geos.trame.schema_generated.schema_mod import Problem, Included, File, Functions - +us_date_fmt = "%Y-%m-%d" +date_fmt = us_date_fmt +# date_fmt = "%m/%d/%Y" class DeckTree( object ): """A tree that represents a deck file along with all the available blocks and parameters.""" @@ -34,7 +36,7 @@ def __init__( self, sm_id: str | None = None, **kwargs: Any ) -> None: self.root = None self.input_has_errors = False self._sm_id = sm_id - self.world_origin_time = datetime(1924,3,28). strftime("%Y-%m-%d")# Total start date !! + self.world_origin_time = datetime(1924,3,28).strftime(date_fmt)# Total start date !! def set_input_file( self, input_filename: str ) -> None: """Set a new input file. @@ -135,11 +137,12 @@ def timeline( self ) -> list[ dict ] | None: solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) solver_events = self.input_file.problem.events[0].periodic_event for e in solver_events: + item: dict[ str, str | int ] = { "id": global_id, "name": e.name, - "start": (datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.begin_time))).strftime("%Y-%m-%d"), #, - "end": (datetime.strptime(self.world_origin_time,"%Y-%m-%d") + timedelta(seconds=float(e.end_time))).strftime("%Y-%m-%d"), + "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(us_date_fmt), #, + "end": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.end_time))).strftime(us_date_fmt), "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], } diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index e2476c183..90ec7eaa0 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -3,19 +3,25 @@ # SPDX-FileContributor: Lionel Untereiner from typing import Any from datetime import datetime, timedelta +from pandas import Timestamp +import pytz import logging # from trame.widgets import gantt from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt from trame.widgets import vuetify3 as vuetify -from trame.widgets.html import Html +from trame.widgets.html import Html,Script from trame_simput import get_simput_manager from geos.trame.app.deck.tree import DeckTree -date_fmt = "%Y-%m-%d" +us_date_fmt = "%Y-%m-%d" +date_fmt = us_date_fmt +# date_fmt = "%m/%d/%Y" logger = logging.getLogger("timeline") logger.setLevel(logging.ERROR) + + class TimelineEditor( vuetify.VCard ): def __init__( self, source: DeckTree, **kwargs: Any ) -> None: @@ -24,15 +30,25 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) + self.state.sdate = None #Timestamp(self.tree.world_origin_time) + self.state.change("sdate")(self._updated_sdate) self.state.tasks = self.tree.timeline() with self: with vuetify.VContainer( "Events chart" ): - Gantt( - tasks=("tasks",), - taskUpdated=(self._updated_tasks,"$event"), - classes="fill_height", - ) + vuetify.VDateInput( + label="Select starting simulation date", + prepend_icon="", + prepend_inner_icon="$calendar", + # placeholder="09/18/2024", + v_model=("sdate",), + ) + vuetify.VDivider() + Gantt( + tasks=("tasks",), + taskUpdated=(self._updated_tasks,"$event"), + classes="fill_height", + ) with vuetify.VContainer("Debug"): vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) @@ -40,4 +56,18 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: if tasks is None: print('None values') logger.info(f"new tasks {tasks}") - self.state.tasks = tasks \ No newline at end of file + self.state.tasks = tasks + + def _updated_sdate(self, sdate: str, **_: Any) -> None: + #sdate seems to be a panda Timestamp + if sdate is None: + return + + logger.info(f"new origin of time {sdate.to_datetime()}") + # return + former_origin_time: str = min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start") + time_delta : timedelta = sdate.to_datetime() - pytz.utc.localize(datetime.strptime(former_origin_time,date_fmt)) + self.state.tasks = list(map(lambda d: {**d, "start":(datetime.strptime(d["start"],date_fmt) + time_delta ).strftime(date_fmt), + "end" : (datetime.strptime(d["end"],date_fmt) + time_delta ).strftime(date_fmt) }, + self.state.tasks)) + return \ No newline at end of file From b2cf7a8d1bf150945ddb7255cbe1b0f2c3763f4e Mon Sep 17 00:00:00 2001 From: jacques franc Date: Thu, 30 Oct 2025 10:54:55 +0100 Subject: [PATCH 17/59] demo version --- .../geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js | 2 +- .../src/geos/trame/app/gantt_chart/module/serve/style.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index 6e2c4bcb3..5310218bd 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(e,_){typeof exports=="object"&&typeof module<"u"?module.exports=_(require("vue"),require("d3")):typeof define=="function"&&define.amd?define(["vue","d3"],_):(e=typeof globalThis<"u"?globalThis:e||self,e.GanttLib=_(e.Vue,e.d3))})(this,function(e,_){"use strict";function ae(y){const V=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(y){for(const c in y)if(c!=="default"){const k=Object.getOwnPropertyDescriptor(y,c);Object.defineProperty(V,c,k.get?k:{enumerable:!0,get:()=>y[c]})}}return V.default=y,Object.freeze(V)}const d=ae(_),ne=(y,V)=>{const c=y.__vccOpts||y;for(const[k,l]of V)c[k]=l;return c},le={class:"gantt-wrapper relative w-full"},re={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},oe={class:"flex items-center space-x-2"},se=["value"],ie=["disabled"],de={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},ue={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},ce={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},me={class:"text-xs text-gray-500 mt-2"},fe={class:"text-xs font-medium text-gray-600"},ge={class:"text-xs font-medium text-gray-600"},pe=["value"],xe=["title"],ye={class:"text-xs font-medium text-gray-600"},ve={class:"text-xs font-medium text-gray-600"},he={class:"text-xs font-medium text-gray-600"},be={class:"mt-3 flex justify-between items-center"},we={class:"text-xs font-bold text-blue-600"},J=5,De=.2,Ee=ne({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(y,{emit:V}){const c=V,k=y,l=e.ref([]),M=e.ref("All"),K=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],P=e.ref({}),ke=a=>{if(a.length===0)return 1;const t=[...a].sort((o,s)=>o-s),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]},G=a=>{const t=new Set;a.forEach(s=>{s.category&&s.category.trim()&&t.add(s.category)});let n={...P.value},o=0;t.forEach(s=>{if(!n[s]){let p=K[o%K.length];n[s]=p}o++}),P.value=n},Te=a=>!a||a==="Uncategorized"?"#9CA3AF":P.value[a]||"#9CA3AF",D=e.ref(!1),Ce=e.computed(()=>{const a=new Set;return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),Ne=e.computed(()=>{const a=new Set(["All"]);return l.value.forEach(t=>{t.category&&t.category.trim()&&a.add(t.category)}),Array.from(a).sort()}),B=e.ref(null),Q=e.ref(0),S={top:40,right:20,bottom:30,left:50},L=e.ref(!1),r=e.ref(null),$=(a,t)=>{if(!a||!t)return 1;const n=new Date(a),s=new Date(t).getTime()-n.getTime();if(s<0)return 1;const p=Math.ceil(s/(1e3*60*60*24))+1;return Math.max(1,p)},Z=a=>$(a.start,a.end),Ve=e.computed(()=>{if(l.value.length===0)return 1;const a=l.value.filter(t=>t.start&&t.end).map(Z);return Math.max(1,ke(a))}),Y=(a,t)=>{if(!a||t<=0)return a;const n=new Date(a);return n.setDate(n.getDate()+t-1),d.timeFormat("%Y-%m-%d")(n)},W=a=>a.toISOString().split("T")[0],g=e.computed(()=>M.value==="All"?l.value:l.value.filter(a=>a.category===M.value)),Me=e.computed(()=>Math.max(150,g.value.length*40+S.top+S.bottom)),U=e.computed(()=>{if(l.value.length===0)return new Date(k.startDate);const a=l.value.map(t=>new Date(t.start));return new Date(Math.min(...a))}),X=e.computed(()=>{if(l.value.length===0)return new Date(k.endDate);const a=l.value.map(n=>new Date(n.end)),t=new Date(Math.max(...a));return t.setDate(t.getDate()+10),t}),Se=()=>{const t=(l.value.length>0?Math.max(...l.value.map(s=>s.id)):0)+1;let n;const o=(l.value.length>0?l.value[l.value.length-1].category:"Planning")||"Uncategorized";if(l.value.length>0){const s=l.value[l.value.length-1],p=new Date(s.end).getTime()-new Date(s.start).getTime(),h=new Date(s.end);h.setDate(h.getDate()+1);const T=new Date(h.getTime()+p);n={id:t,name:`Tâche Copiée ${t}`,start:W(h),end:W(T),category:o,isNew:!0}}else{const s=new Date,p=new Date;p.setDate(p.getDate()+10),n={id:t,name:`Première Tâche ${t}`,start:W(s),end:W(p),category:o,isNew:!0}}l.value.push(n),G(l.value),c("taskUpdated",l.value)},Ie=()=>{if(l.value.length===0)return;const a=Math.max(...l.value.map(n=>n.id)),t=l.value.filter(n=>n.id!==a);l.value=t,c("taskUpdated",l.value)},Ae=()=>{const a=[...l.value].sort((t,n)=>{const o=new Date(t.start),s=new Date(n.start);return os?1:t.id-n.id});l.value=a,c("taskUpdated",l.value)},Be=a=>{const t=l.value.findIndex(n=>n.id===a.id);if(t!==-1){const n={...l.value[t],start:a.newStart,end:a.newEnd,category:l.value[t].category,name:a.name||l.value[t].name},o=[...l.value];o[t]=n,l.value=o,c("taskUpdated",l.value)}},Fe=e.computed(()=>r.value?$(r.value.start,r.value.end):0),_e=e.computed(()=>!r.value||!r.value.y||!B.value?{}:{position:"absolute",left:`${B.value.clientWidth/2}px`,top:`${r.value.y+S.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),v=e.ref(null),w=e.ref(null),ee=a=>{if(L.value=!1,r.value&&r.value.id===a.id){r.value=null,D.value=!1;return}if(!v.value||!w.value)return;const t=v.value(new Date(a.start)),n=w.value(a.name);n!==void 0&&(r.value={id:a.id,name:a.name,start:a.start,end:a.end,durationDays:$(a.start,a.end),x:t,y:n,category:a.category||"Uncategorized",newCategory:null},D.value=!1,e.nextTick(()=>{const o=document.querySelector(".gantt-edit-form input");o&&o.focus()}))};e.watch(()=>{var a;return(a=r.value)==null?void 0:a.durationDays},(a,t)=>{if(r.value&&a){a!==t&&(r.value.end=Y(r.value.start,a));const n=Math.max(1,a);r.value.durationDays=n,r.value.end=Y(r.value.start,n)}}),e.watch(()=>{var a;return(a=r.value)==null?void 0:a.start},(a,t)=>{r.value&&a&&(r.value.end=Y(a,Math.max(1,r.value.durationDays)),a!==t&&(r.value.durationDays=$(a,r.value.end)))});const Le=()=>{const{id:a,name:t,start:n,end:o}=r.value,s=l.value.findIndex(C=>C.id===a);if(s===-1)return;const p=l.value[s];let{category:h}=r.value,T=h;if(D.value&&r.value.newCategory){const C=r.value.newCategory.trim();C&&(T=C)}T!==p.category&&G(l.value.concat([{category:T}])),D.value=!1;const R=new Date(n),A=new Date(o);if(R.getTime()>=A.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const j={...p,name:t,start:n,end:o,category:T},F=[...l.value];F[s]=j,l.value=F,c("taskUpdated",l.value),r.value=null},Ue=a=>{const t=U.value,n=X.value;v.value=d.scaleTime().domain([t,n]).range([0,a-S.left-S.right]),w.value=d.scaleBand().domain(Array.isArray(g.value)?g.value.map(o=>o.name):[]).range([0,g.value.length*40]).paddingInner(.1)},I=()=>{if(!B.value)return;Q.value=B.value.clientWidth;const a=Q.value;Ue(a);const t=d.select(B.value);t.selectAll("*").remove();const o=t.append("svg").attr("width",a).attr("height",Me.value).append("g").attr("transform",`translate(${S.left}, ${S.top})`);if(o.append("g").attr("transform",`translate(0, ${g.value.length*40||50})`).call(d.axisBottom(v.value)),o.append("g").attr("class","y-axis-g").call(d.axisLeft(w.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(i,u){i.preventDefault(),i.stopPropagation();const m=u,f=g.value.find(x=>x.name===m);f&&ee(f)}),!g.value.length)return;const h=Ve.value*J,T=d.timeDay.offset(U.value,1),R=v.value(T)-v.value(U.value);let A=!1,j,F,C=-1;const je=w.value.step(),q=M.value!=="All",ze=d.drag().on("start",function(i,u){if(r.value){d.select(this).style("cursor","pointer"),i.sourceEvent.stopPropagation();return}L.value=!1,A=!1,j=i.x,F=i.y,C=g.value.findIndex(m=>m.id===u.id),d.select(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(i,u){if(r.value)return;const m=i.x-j,f=i.y-F;if(Math.abs(f)>5&&!q)A=!0,d.select(this).attr("transform",`translate(0, ${f})`);else if(Math.abs(m)>5||q){L.value=!0,A=!1;const x=v.value(new Date(u.start))+m;d.select(this).select("rect").attr("x",x),d.select(this).select("text").attr("x",x+5),d.select(this).attr("transform",null)}}).on("end",function(i,u){if(d.select(this).style("cursor","grab"),r.value){d.select(this).classed("dragging",!1).attr("transform",null);return}if(d.select(this).classed("dragging",!1).attr("transform",null),A&&!q){const m=w.value(u.name)+(i.y-F),f=Math.round(m/je),x=Math.max(0,Math.min(g.value.length-1,f));if(x!==C){const N=g.value[C].id,E=l.value.findIndex(O=>O.id===N),z=g.value[x].id,H=l.value.findIndex(O=>O.id===z),b=[...l.value],[te]=b.splice(E,1);b.splice(H,0,te),l.value=b,c("taskUpdated",l.value)}else I()}else if(L.value){const m=v.value(new Date(u.start))+(i.x-j),f=v.value.invert(m),x=new Date(u.end).getTime()-new Date(u.start).getTime(),N=new Date(f.getTime()+x),E=d.timeFormat("%Y-%m-%d")(f),z=d.timeFormat("%Y-%m-%d")(N);Be({id:u.id,name:u.name,newStart:E,newEnd:z})}else I();L.value=!1,A=!1});g.value.forEach(i=>{const u=v.value(new Date(i.start)),m=w.value(i.name),f=Z(i);let x,N=!1;if(f>h){N=!0;const b=h*R,O=(f-h)*De*R;x=b+O}else x=v.value(new Date(i.end))-u;const E=o.append("g").datum(i).attr("class","task-group").on("contextmenu",function(b){b.preventDefault(),b.sourceEvent?b.sourceEvent.stopPropagation():b.stopPropagation(),ee(i)}),z=E.append("rect").attr("x",u).attr("y",m).attr("width",x).attr("height",w.value.bandwidth()).attr("fill",Te(i.category)).attr("rx",4).style("cursor","grab");N&&(z.attr("stroke","black").attr("stroke-width",2),E.append("title").text(`Durée réelle: ${f} jours. Affiché plié (Whale Task) car > ${h} jours (${J}x la médiane).`)),ze(E);const H=N?`📐: ${i.name}`:i.name;E.append("text").text(H).attr("x",u+5).attr("y",m+w.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",N?"bold":"normal"),q&&E.append("text").text("🚫").attr("x",-45).attr("y",m+w.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return e.watch(()=>k.tasks,a=>{Array.isArray(a)?(l.value=a.map(t=>{const{color:n,...o}=t;return{...o}}),G(l.value),I()):(l.value=[],P.value={},I())},{immediate:!0,deep:!0}),e.onMounted(()=>{I(),window.addEventListener("resize",I)}),e.watch([()=>l.value,U,X,M],I,{deep:!0}),(a,t)=>(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("div",re,[e.createElementVNode("div",oe,[t[9]||(t[9]=e.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),e.withDirectives(e.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":t[0]||(t[0]=n=>M.value=n),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ne.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,se))),128))],512),[[e.vModelSelect,M.value]])]),e.createElementVNode("button",{onClick:Se,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),e.createElementVNode("button",{onClick:Ae,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),e.createElementVNode("button",{onClick:Ie,disabled:l.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,ie)]),e.createElementVNode("div",{ref_key:"ganttContainer",ref:B,class:"relative w-full overflow-x-auto"},[g.value.length===0&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("p",ue," Aucune tâche ne correspond au filtre '"+e.toDisplayString(M.value)+"'. ",1)])):l.value.length===0?(e.openBlock(),e.createElementBlock("div",ce,[...t[10]||(t[10]=[e.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):e.createCommentVNode("",!0)],512),e.createElementVNode("div",null,[e.createElementVNode("p",me," Dates du graphique calculées : "+e.toDisplayString(d.timeFormat("%Y-%m-%d")(U.value))+" à "+e.toDisplayString(d.timeFormat("%Y-%m-%d")(X.value)),1),t[11]||(t[11]=e.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: ** dans leur nom. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(_e.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[t[17]||(t[17]=e.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),e.createElementVNode("label",fe,[t[12]||(t[12]=e.createTextVNode(" Nom: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=n=>r.value.name=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.name]])]),e.createElementVNode("label",ge,[t[13]||(t[13]=e.createTextVNode(" Catégorie: ",-1)),D.value?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:1,type:"text","onUpdate:modelValue":t[3]||(t[3]=n=>r.value.newCategory=n),placeholder:"Nouvelle catégorie...",class:"p-1 border border-blue-500 rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512)),[[e.vModelText,r.value.newCategory]]):e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":t[2]||(t[2]=n=>r.value.category=n),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ce.value,n=>(e.openBlock(),e.createElementBlock("option",{key:n,value:n},e.toDisplayString(n),9,pe))),128))],512)),[[e.vModelSelect,r.value.category]]),e.createElementVNode("button",{onClick:t[4]||(t[4]=n=>D.value=!D.value),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full transition duration-150",title:D.value?"Annuler l'entrée":"Créer une nouvelle catégorie"},e.toDisplayString(D.value?"×":"+"),9,xe)]),t[18]||(t[18]=e.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),e.createElementVNode("label",ye,[t[14]||(t[14]=e.createTextVNode(" Durée (jours): ",-1)),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":t[5]||(t[5]=n=>r.value.durationDays=n),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.durationDays,void 0,{number:!0}]])]),e.createElementVNode("label",ve,[t[15]||(t[15]=e.createTextVNode(" Début: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[6]||(t[6]=n=>r.value.start=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.start]])]),e.createElementVNode("label",he,[t[16]||(t[16]=e.createTextVNode(" Fin: ",-1)),e.withDirectives(e.createElementVNode("input",{type:"date","onUpdate:modelValue":t[7]||(t[7]=n=>r.value.end=n),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[e.vModelText,r.value.end]])]),e.createElementVNode("div",be,[e.createElementVNode("span",we," Durée effective: "+e.toDisplayString(Fe.value)+" j. ",1)]),e.createElementVNode("button",{onClick:Le,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),e.createElementVNode("button",{onClick:t[8]||(t[8]=n=>r.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):e.createCommentVNode("",!0)]))}},[["__scopeId","data-v-d17387a0"]]);return{install(y){y.component("GanttChart",Ee)}}}); +(function(d,vt){typeof exports=="object"&&typeof module<"u"?module.exports=vt(require("vue")):typeof define=="function"&&define.amd?define(["vue"],vt):(d=typeof globalThis<"u"?globalThis:d||self,d.GanttLib=vt(d.Vue))})(this,function(d){"use strict";function vt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Ur(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ne(t){let e,n,r;t.length!==2?(e=vt,n=(u,s)=>vt(t(u),s),r=(u,s)=>t(u)-s):(e=t===vt||t===Ur?t:Fr,n=t,r=t);function i(u,s,l=0,c=u.length){if(l>>1;n(u[h],s)<0?l=h+1:c=h}while(l>>1;n(u[h],s)<=0?l=h+1:c=h}while(ll&&r(u[h-1],s)>-r(u[h],s)?h-1:h}return{left:i,center:a,right:o}}function Fr(){return 0}function $r(t){return t===null?NaN:+t}const Ir=Ne(vt).right;Ne($r).center;class mn extends Map{constructor(e,n=Hr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(pn(this,e))}has(e){return super.has(pn(this,e))}set(e,n){return super.set(Yr(this,e),n)}delete(e){return super.delete(Vr(this,e))}}function pn({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Yr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Vr({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function Hr(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Lr=Math.sqrt(50),Rr=Math.sqrt(10),Or=Math.sqrt(2);function yn(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=Lr?10:o>=Rr?5:o>=Or?2:1;let u,s,l;return i<0?(l=Math.pow(10,-i)/a,u=Math.round(t*l),s=Math.round(e*l),u/le&&--s,l=-l):(l=Math.pow(10,i)*a,u=Math.round(t/l),s=Math.round(e/l),u*le&&--s),s+t(e)}function Xr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Gr(){return!this.__axis}function _n(t,e){var n=[],r=null,i=null,o=6,a=6,u=3,s=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=t===Se||t===Wt?-1:1,c=t===Wt||t===Ae?"x":"y",h=t===Se||t===Ee?zr:Br;function f(m){var M=r??(e.ticks?e.ticks.apply(e,n):e.domain()),E=i??(e.tickFormat?e.tickFormat.apply(e,n):Pr),F=Math.max(o,0)+u,R=e.range(),b=+R[0]+s,$=+R[R.length-1]+s,x=(e.bandwidth?Xr:qr)(e.copy(),s),k=m.selection?m.selection():m,_=k.selectAll(".domain").data([null]),D=k.selectAll(".tick").data(M,e).order(),N=D.exit(),z=D.enter().append("g").attr("class","tick"),V=D.select("line"),I=D.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),D=D.merge(z),V=V.merge(z.append("line").attr("stroke","currentColor").attr(c+"2",l*o)),I=I.merge(z.append("text").attr("fill","currentColor").attr(c,l*F).attr("dy",t===Se?"0em":t===Ee?"0.71em":"0.32em")),m!==k&&(_=_.transition(m),D=D.transition(m),V=V.transition(m),I=I.transition(m),N=N.transition(m).attr("opacity",wn).attr("transform",function(X){return isFinite(X=x(X))?h(X+s):this.getAttribute("transform")}),z.attr("opacity",wn).attr("transform",function(X){var at=this.parentNode.__axis;return h((at&&isFinite(at=at(X))?at:x(X))+s)})),N.remove(),_.attr("d",t===Wt||t===Ae?a?"M"+l*a+","+b+"H"+s+"V"+$+"H"+l*a:"M"+s+","+b+"V"+$:a?"M"+b+","+l*a+"V"+s+"H"+$+"V"+l*a:"M"+b+","+s+"H"+$),D.attr("opacity",1).attr("transform",function(X){return h(x(X)+s)}),V.attr(c+"2",l*o),I.attr(c,l*F).text(E),k.filter(Gr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Ae?"start":t===Wt?"end":"middle"),k.each(function(){this.__axis=x})}return f.scale=function(m){return arguments.length?(e=m,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(m){return arguments.length?(n=m==null?[]:Array.from(m),f):n.slice()},f.tickValues=function(m){return arguments.length?(r=m==null?null:Array.from(m),f):r&&r.slice()},f.tickFormat=function(m){return arguments.length?(i=m,f):i},f.tickSize=function(m){return arguments.length?(o=a=+m,f):o},f.tickSizeInner=function(m){return arguments.length?(o=+m,f):o},f.tickSizeOuter=function(m){return arguments.length?(a=+m,f):a},f.tickPadding=function(m){return arguments.length?(u=+m,f):u},f.offset=function(m){return arguments.length?(s=+m,f):s},f}function Zr(t){return _n(Ee,t)}function Qr(t){return _n(Wt,t)}var Jr={value:()=>{}};function Ue(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}oe.prototype=Ue.prototype={constructor:oe,on:function(t,e){var n=this._,r=Kr(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Tn.hasOwnProperty(e)?{space:Tn[e],local:t}:t}function ti(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Fe&&e.documentElement.namespaceURI===Fe?e.createElement(t):e.createElementNS(n,t)}}function ei(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Mn(t){var e=ae(t);return(e.local?ei:ti)(e)}function ni(){}function $e(t){return t==null?ni:function(){return this.querySelector(t)}}function ri(t){typeof t!="function"&&(t=$e(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=$&&($=b+1);!(k=F[$])&&++$=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function Ni(t){t||(t=Si);function e(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;oe?1:t>=e?0:NaN}function Ai(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Ei(){return Array.from(this)}function Ui(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?Pi:typeof e=="function"?Bi:zi)(t,e,n??"")):Et(this.node(),t)}function Et(t,e){return t.style.getPropertyValue(e)||Sn(t).getComputedStyle(t,null).getPropertyValue(e)}function Xi(t){return function(){delete this[t]}}function Gi(t,e){return function(){this[t]=e}}function Zi(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function Qi(t,e){return arguments.length>1?this.each((e==null?Xi:typeof e=="function"?Zi:Gi)(t,e)):this.node()[t]}function An(t){return t.trim().split(/^|\s+/)}function Ie(t){return t.classList||new En(t)}function En(t){this._node=t,this._names=An(t.getAttribute("class")||"")}En.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Un(t,e){for(var n=Ie(t),r=-1,i=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Do(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n()=>t;function Ve(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:a,y:u,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}Ve.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Vo(t){return!t.ctrlKey&&!t.button}function Ho(){return this.parentNode}function Lo(t,e){return e??{x:t.x,y:t.y}}function Ro(){return navigator.maxTouchPoints||"ontouchstart"in this}function Oo(){var t=Vo,e=Ho,n=Lo,r=Ro,i={},o=Ue("start","drag","end"),a=0,u,s,l,c,h=0;function f(x){x.on("mousedown.drag",m).filter(r).on("touchstart.drag",F).on("touchmove.drag",R,$o).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(x,k){if(!(c||!t.call(this,x,k))){var _=$(this,e.call(this,x,k),x,k,"mouse");_&&(Q(x.view).on("mousemove.drag",M,zt).on("mouseup.drag",E,zt),Io(x.view),Ye(x),l=!1,u=x.clientX,s=x.clientY,_("start",x))}}function M(x){if(Ut(x),!l){var k=x.clientX-u,_=x.clientY-s;l=k*k+_*_>h}i.mouse("drag",x)}function E(x){Q(x.view).on("mousemove.drag mouseup.drag",null),Yo(x.view,l),Ut(x),i.mouse("end",x)}function F(x,k){if(t.call(this,x,k)){var _=x.changedTouches,D=e.call(this,x,k),N=_.length,z,V;for(z=0;z>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ce(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ce(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Po.exec(t))?new J(e[1],e[2],e[3],1):(e=zo.exec(t))?new J(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Bo.exec(t))?ce(e[1],e[2],e[3],e[4]):(e=qo.exec(t))?ce(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Xo.exec(t))?zn(e[1],e[2]/100,e[3]/100,1):(e=Go.exec(t))?zn(e[1],e[2]/100,e[3]/100,e[4]):Hn.hasOwnProperty(t)?On(Hn[t]):t==="transparent"?new J(NaN,NaN,NaN,0):null}function On(t){return new J(t>>16&255,t>>8&255,t&255,1)}function ce(t,e,n,r){return r<=0&&(t=e=n=NaN),new J(t,e,n,r)}function Jo(t){return t instanceof Bt||(t=bt(t)),t?(t=t.rgb(),new J(t.r,t.g,t.b,t.opacity)):new J}function Le(t,e,n,r){return arguments.length===1?Jo(t):new J(t,e,n,r??1)}function J(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}He(J,Le,Vn(Bt,{brighter(t){return t=t==null?le:Math.pow(le,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?qt:Math.pow(qt,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new J(Tt(this.r),Tt(this.g),Tt(this.b),fe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Wn,formatHex:Wn,formatHex8:Ko,formatRgb:Pn,toString:Pn}));function Wn(){return`#${Mt(this.r)}${Mt(this.g)}${Mt(this.b)}`}function Ko(){return`#${Mt(this.r)}${Mt(this.g)}${Mt(this.b)}${Mt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Pn(){const t=fe(this.opacity);return`${t===1?"rgb(":"rgba("}${Tt(this.r)}, ${Tt(this.g)}, ${Tt(this.b)}${t===1?")":`, ${t})`}`}function fe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Tt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Mt(t){return t=Tt(t),(t<16?"0":"")+t.toString(16)}function zn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new rt(t,e,n,r)}function Bn(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);if(t instanceof Bt||(t=bt(t)),!t)return new rt;if(t instanceof rt)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,u=o-i,s=(o+i)/2;return u?(e===o?a=(n-r)/u+(n0&&s<1?0:a,new rt(a,u,s,t.opacity)}function jo(t,e,n,r){return arguments.length===1?Bn(t):new rt(t,e,n,r??1)}function rt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}He(rt,jo,Vn(Bt,{brighter(t){return t=t==null?le:Math.pow(le,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?qt:Math.pow(qt,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new J(Re(t>=240?t-240:t+120,i,r),Re(t,i,r),Re(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new rt(qn(this.h),he(this.s),he(this.l),fe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=fe(this.opacity);return`${t===1?"hsl(":"hsla("}${qn(this.h)}, ${he(this.s)*100}%, ${he(this.l)*100}%${t===1?")":`, ${t})`}`}}));function qn(t){return t=(t||0)%360,t<0?t+360:t}function he(t){return Math.max(0,Math.min(1,t||0))}function Re(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Oe=t=>()=>t;function ta(t,e){return function(n){return t+n*e}}function ea(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function na(t){return(t=+t)==1?Xn:function(e,n){return n-e?ea(e,n,t):Oe(isNaN(e)?n:e)}}function Xn(t,e){var n=e-t;return n?ta(t,n):Oe(isNaN(t)?e:t)}const de=function t(e){var n=na(e);function r(i,o){var a=n((i=Le(i)).r,(o=Le(o)).r),u=n(i.g,o.g),s=n(i.b,o.b),l=Xn(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=u(c),i.b=s(c),i.opacity=l(c),i+""}}return r.gamma=t,r}(1);function ra(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;in&&(o=e.slice(n,o),u[a]?u[a]+=o:u[++a]=o),(r=r[0])===(i=i[0])?u[a]?u[a]+=i:u[++a]=i:(u[++a]=null,s.push({i:a,x:it(r,i)})),n=Pe.lastIndex;return n180?c+=360:c-l>180&&(l+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:it(l,c)})):c&&h.push(i(h)+"rotate("+c+r)}function u(l,c,h,f){l!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:it(l,c)}):c&&h.push(i(h)+"skewX("+c+r)}function s(l,c,h,f,m,M){if(l!==h||c!==f){var E=m.push(i(m)+"scale(",null,",",null,")");M.push({i:E-4,x:it(l,h)},{i:E-2,x:it(c,f)})}else(h!==1||f!==1)&&m.push(i(m)+"scale("+h+","+f+")")}return function(l,c){var h=[],f=[];return l=t(l),c=t(c),o(l.translateX,l.translateY,c.translateX,c.translateY,h,f),a(l.rotate,c.rotate,h,f),u(l.skewX,c.skewX,h,f),s(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,f),l=c=null,function(m){for(var M=-1,E=f.length,F;++M=0&&t._call.call(void 0,e),t=t._next;--$t}function er(){Dt=(pe=Jt.now())+ye,$t=Gt=0;try{pa()}finally{$t=0,va(),Dt=0}}function ya(){var t=Jt.now(),e=t-pe;e>Kn&&(ye-=e,pe=t)}function va(){for(var t,e=me,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:me=n);Qt=t,Xe(r)}function Xe(t){if(!$t){Gt&&(Gt=clearTimeout(Gt));var e=t-Dt;e>24?(t<1/0&&(Gt=setTimeout(er,t-Jt.now()-ye)),Zt&&(Zt=clearInterval(Zt))):(Zt||(pe=Jt.now(),Zt=setInterval(ya,Kn)),$t=1,jn(er))}}function nr(t,e,n){var r=new ve;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var xa=Ue("start","end","cancel","interrupt"),wa=[],rr=0,ir=1,Ge=2,xe=3,or=4,Ze=5,we=6;function _e(t,e,n,r,i,o){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;_a(t,n,{name:e,index:r,group:i,on:xa,tween:wa,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:rr})}function Qe(t,e){var n=ot(t,e);if(n.state>rr)throw new Error("too late; already scheduled");return n}function lt(t,e){var n=ot(t,e);if(n.state>xe)throw new Error("too late; already running");return n}function ot(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function _a(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=tr(o,0,n.time);function o(l){n.state=ir,n.timer.restart(a,n.delay,n.time),n.delay<=l&&a(l-n.delay)}function a(l){var c,h,f,m;if(n.state!==ir)return s();for(c in r)if(m=r[c],m.name===n.name){if(m.state===xe)return nr(a);m.state===or?(m.state=we,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete r[c]):+cGe&&r.state=0&&(e=e.slice(0,n)),!e||e==="start"})}function Ka(t,e,n){var r,i,o=Ja(e)?Qe:lt;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(e,n),a.on=i}}function ja(t,e){var n=this._id;return arguments.length<2?ot(this.node(),n).on.on(t):this.each(Ka(n,t,e))}function tu(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function eu(){return this.on("end.remove",tu(this._id))}function nu(t){var e=this._name,n=this._id;typeof t!="function"&&(t=$e(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;ae&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Au(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i2?Eu:Au,s=l=null,h}function h(f){return f==null||isNaN(f=+f)?o:(s||(s=u(t.map(r),e,n)))(r(a(f)))}return h.invert=function(f){return a(i((l||(l=u(e,t.map(r),it)))(f)))},h.domain=function(f){return arguments.length?(t=Array.from(f,Nu),c()):t.slice()},h.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},h.rangeRound=function(f){return e=Array.from(f),n=ca,c()},h.clamp=function(f){return arguments.length?(a=f?!0:It,c()):a!==It},h.interpolate=function(f){return arguments.length?(n=f,c()):n},h.unknown=function(f){return arguments.length?(o=f,h):o},function(f,m){return r=f,i=m,c()}}function $u(){return Fu()(It,It)}function Iu(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],o=t[r],a;return o(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{const a=i(o),u=i.ceil(o);return o-a(e(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,u)=>{const s=[];if(o=i.ceil(o),u=u==null?1:Math.floor(u),!(o0))return s;let l;do s.push(l=new Date(+o)),e(o,u),t(o);while(lL(a=>{if(a>=a)for(;t(a),!o(a);)a.setTime(a-1)},(a,u)=>{if(a>=a)if(u<0)for(;++u<=0;)for(;e(a,-1),!o(a););else for(;--u>=0;)for(;e(a,1),!o(a););}),n&&(i.count=(o,a)=>(tn.setTime(+o),en.setTime(+a),t(tn),t(en),Math.floor(n(tn,en))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const be=L(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);be.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?L(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):be),be.range;const ht=1e3,nt=ht*60,dt=nt*60,gt=dt*24,nn=gt*7,dr=gt*30,rn=gt*365,Yt=L(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCSeconds());Yt.range;const on=L(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ht)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getMinutes());on.range,L(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getUTCMinutes()).range;const an=L(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ht-t.getMinutes()*nt)},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getHours());an.range,L(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getUTCHours()).range;const Vt=L(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*nt)/gt,t=>t.getDate()-1);Vt.range;const un=L(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/gt,t=>t.getUTCDate()-1);un.range,L(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/gt,t=>Math.floor(t/gt)).range;function Ct(t){return L(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*nt)/nn)}const Te=Ct(0),Me=Ct(1),Yu=Ct(2),Vu=Ct(3),Ht=Ct(4),Hu=Ct(5),Lu=Ct(6);Te.range,Me.range,Yu.range,Vu.range,Ht.range,Hu.range,Lu.range;function kt(t){return L(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/nn)}const gr=kt(0),De=kt(1),Ru=kt(2),Ou=kt(3),Lt=kt(4),Wu=kt(5),Pu=kt(6);gr.range,De.range,Ru.range,Ou.range,Lt.range,Wu.range,Pu.range;const sn=L(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());sn.range,L(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()).range;const mt=L(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:L(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}),mt.range;const Nt=L(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Nt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:L(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}),Nt.range;function zu(t,e,n,r,i,o){const a=[[Yt,1,ht],[Yt,5,5*ht],[Yt,15,15*ht],[Yt,30,30*ht],[o,1,nt],[o,5,5*nt],[o,15,15*nt],[o,30,30*nt],[i,1,dt],[i,3,3*dt],[i,6,6*dt],[i,12,12*dt],[r,1,gt],[r,2,2*gt],[n,1,nn],[e,1,dr],[e,3,3*dr],[t,1,rn]];function u(l,c,h){const f=cF).right(a,f);if(m===a.length)return t.every(xn(l/rn,c/rn,h));if(m===0)return be.every(Math.max(xn(l,c,h),1));const[M,E]=a[f/a[m-1][2]53)return null;"w"in p||(p.w=1),"Z"in p?(S=cn(Kt(p.y,0,1)),W=S.getUTCDay(),S=W>4||W===0?De.ceil(S):De(S),S=un.offset(S,(p.V-1)*7),p.y=S.getUTCFullYear(),p.m=S.getUTCMonth(),p.d=S.getUTCDate()+(p.w+6)%7):(S=ln(Kt(p.y,0,1)),W=S.getDay(),S=W>4||W===0?Me.ceil(S):Me(S),S=Vt.offset(S,(p.V-1)*7),p.y=S.getFullYear(),p.m=S.getMonth(),p.d=S.getDate()+(p.w+6)%7)}else("W"in p||"U"in p)&&("w"in p||(p.w="u"in p?p.u%7:"W"in p?1:0),W="Z"in p?cn(Kt(p.y,0,1)).getUTCDay():ln(Kt(p.y,0,1)).getDay(),p.m=0,p.d="W"in p?(p.w+6)%7+p.W*7-(W+5)%7:p.w+p.U*7-(W+6)%7);return"Z"in p?(p.H+=p.Z/100|0,p.M+=p.Z%100,cn(p)):ln(p)}}function N(y,T,C,p){for(var O=0,S=T.length,W=C.length,H,B;O=W)return-1;if(H=T.charCodeAt(O++),H===37){if(H=T.charAt(O++),B=k[H in mr?T.charAt(O++):H],!B||(p=B(y,C,p))<0)return-1}else if(H!=C.charCodeAt(p++))return-1}return p}function z(y,T,C){var p=l.exec(T.slice(C));return p?(y.p=c.get(p[0].toLowerCase()),C+p[0].length):-1}function V(y,T,C){var p=m.exec(T.slice(C));return p?(y.w=M.get(p[0].toLowerCase()),C+p[0].length):-1}function I(y,T,C){var p=h.exec(T.slice(C));return p?(y.w=f.get(p[0].toLowerCase()),C+p[0].length):-1}function X(y,T,C){var p=R.exec(T.slice(C));return p?(y.m=b.get(p[0].toLowerCase()),C+p[0].length):-1}function at(y,T,C){var p=E.exec(T.slice(C));return p?(y.m=F.get(p[0].toLowerCase()),C+p[0].length):-1}function xt(y,T,C){return N(y,e,T,C)}function ne(y,T,C){return N(y,n,T,C)}function At(y,T,C){return N(y,r,T,C)}function Ot(y){return a[y.getDay()]}function G(y){return o[y.getDay()]}function Z(y){return s[y.getMonth()]}function wt(y){return u[y.getMonth()]}function fn(y){return i[+(y.getHours()>=12)]}function hn(y){return 1+~~(y.getMonth()/3)}function pt(y){return a[y.getUTCDay()]}function dn(y){return o[y.getUTCDay()]}function v(y){return s[y.getUTCMonth()]}function g(y){return u[y.getUTCMonth()]}function w(y){return i[+(y.getUTCHours()>=12)]}function U(y){return 1+~~(y.getUTCMonth()/3)}return{format:function(y){var T=_(y+="",$);return T.toString=function(){return y},T},parse:function(y){var T=D(y+="",!1);return T.toString=function(){return y},T},utcFormat:function(y){var T=_(y+="",x);return T.toString=function(){return y},T},utcParse:function(y){var T=D(y+="",!0);return T.toString=function(){return y},T}}}var mr={"-":"",_:" ",0:"0"},P=/^\s*\d+/,Gu=/^%/,Zu=/[\\^$*+?|[\]().{}]/g;function A(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o[e.toLowerCase(),n]))}function Ju(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ku(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function ju(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function ts(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function es(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function pr(t,e,n){var r=P.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function yr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ns(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function rs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function is(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function vr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function os(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function xr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function as(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function us(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function ss(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function ls(t,e,n){var r=P.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function cs(t,e,n){var r=Gu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function fs(t,e,n){var r=P.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function hs(t,e,n){var r=P.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function wr(t,e){return A(t.getDate(),e,2)}function ds(t,e){return A(t.getHours(),e,2)}function gs(t,e){return A(t.getHours()%12||12,e,2)}function ms(t,e){return A(1+Vt.count(mt(t),t),e,3)}function _r(t,e){return A(t.getMilliseconds(),e,3)}function ps(t,e){return _r(t,e)+"000"}function ys(t,e){return A(t.getMonth()+1,e,2)}function vs(t,e){return A(t.getMinutes(),e,2)}function xs(t,e){return A(t.getSeconds(),e,2)}function ws(t){var e=t.getDay();return e===0?7:e}function _s(t,e){return A(Te.count(mt(t)-1,t),e,2)}function br(t){var e=t.getDay();return e>=4||e===0?Ht(t):Ht.ceil(t)}function bs(t,e){return t=br(t),A(Ht.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Ts(t){return t.getDay()}function Ms(t,e){return A(Me.count(mt(t)-1,t),e,2)}function Ds(t,e){return A(t.getFullYear()%100,e,2)}function Cs(t,e){return t=br(t),A(t.getFullYear()%100,e,2)}function ks(t,e){return A(t.getFullYear()%1e4,e,4)}function Ns(t,e){var n=t.getDay();return t=n>=4||n===0?Ht(t):Ht.ceil(t),A(t.getFullYear()%1e4,e,4)}function Ss(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+A(e/60|0,"0",2)+A(e%60,"0",2)}function Tr(t,e){return A(t.getUTCDate(),e,2)}function As(t,e){return A(t.getUTCHours(),e,2)}function Es(t,e){return A(t.getUTCHours()%12||12,e,2)}function Us(t,e){return A(1+un.count(Nt(t),t),e,3)}function Mr(t,e){return A(t.getUTCMilliseconds(),e,3)}function Fs(t,e){return Mr(t,e)+"000"}function $s(t,e){return A(t.getUTCMonth()+1,e,2)}function Is(t,e){return A(t.getUTCMinutes(),e,2)}function Ys(t,e){return A(t.getUTCSeconds(),e,2)}function Vs(t){var e=t.getUTCDay();return e===0?7:e}function Hs(t,e){return A(gr.count(Nt(t)-1,t),e,2)}function Dr(t){var e=t.getUTCDay();return e>=4||e===0?Lt(t):Lt.ceil(t)}function Ls(t,e){return t=Dr(t),A(Lt.count(Nt(t),t)+(Nt(t).getUTCDay()===4),e,2)}function Rs(t){return t.getUTCDay()}function Os(t,e){return A(De.count(Nt(t)-1,t),e,2)}function Ws(t,e){return A(t.getUTCFullYear()%100,e,2)}function Ps(t,e){return t=Dr(t),A(t.getUTCFullYear()%100,e,2)}function zs(t,e){return A(t.getUTCFullYear()%1e4,e,4)}function Bs(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Lt(t):Lt.ceil(t),A(t.getUTCFullYear()%1e4,e,4)}function qs(){return"+0000"}function Cr(){return"%"}function kr(t){return+t}function Nr(t){return Math.floor(+t/1e3)}var Rt,St;Xs({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Xs(t){return Rt=Xu(t),St=Rt.format,Rt.parse,Rt.utcFormat,Rt.utcParse,Rt}function Gs(t){return new Date(t)}function Zs(t){return t instanceof Date?+t:+new Date(+t)}function Sr(t,e,n,r,i,o,a,u,s,l){var c=$u(),h=c.invert,f=c.domain,m=l(".%L"),M=l(":%S"),E=l("%I:%M"),F=l("%I %p"),R=l("%a %d"),b=l("%b %d"),$=l("%B"),x=l("%Y");function k(_){return(s(_)<_?m:u(_)<_?M:a(_)<_?E:o(_)<_?F:r(_)<_?i(_)<_?R:b:n(_)<_?$:x)(_)}return c.invert=function(_){return new Date(h(_))},c.domain=function(_){return arguments.length?f(Array.from(_,Zs)):f().map(Gs)},c.ticks=function(_){var D=f();return t(D[0],D[D.length-1],_??10)},c.tickFormat=function(_,D){return D==null?k:l(D)},c.nice=function(_){var D=f();return(!_||typeof _.range!="function")&&(_=e(D[0],D[D.length-1],_??10)),_?f(Iu(D,_)):c},c.copy=function(){return Uu(c,Sr(t,e,n,r,i,o,a,u,s,l))},c}function Qs(){return Ke.apply(Sr(Bu,qu,mt,sn,Te,Vt,an,on,Yt,St).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ee(t,e,n){this.k=t,this.x=e,this.y=n}ee.prototype={constructor:ee,scale:function(t){return t===1?this:new ee(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ee(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ee.prototype;const Js=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},Ks={class:"gantt-wrapper relative w-full"},js={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},tl={class:"flex items-center space-x-2"},el=["value"],nl=["disabled"],rl={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},il={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},ol={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},al={class:"text-xs text-gray-500 mt-2"},ul={class:"text-xs font-medium text-gray-600"},sl={class:"text-xs font-medium text-gray-600"},ll=["value"],cl=["title"],fl={class:"text-xs font-medium text-gray-600"},hl={class:"text-xs font-medium text-gray-600"},dl={class:"text-xs font-medium text-gray-600"},gl={class:"mt-3 flex justify-between items-center"},ml={class:"text-xs font-bold text-blue-600"},Ar=5,pl=.2,yl=Js({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(t,{emit:e}){const n=e,r=t,i=d.ref([]),o=d.ref("All"),a=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],u=d.ref({}),s=v=>{if(v.length===0)return 1;const g=[...v].sort((U,y)=>U-y),w=Math.floor(g.length/2);return g.length%2===0?(g[w-1]+g[w])/2:g[w]},l=v=>{const g=new Set;v.forEach(y=>{y.category&&y.category.trim()&&g.add(y.category)});let w={...u.value},U=0;g.forEach(y=>{if(!w[y]){let T=a[U%a.length];w[y]=T}U++}),u.value=w},c=v=>!v||v==="Uncategorized"?"#9CA3AF":u.value[v]||"#9CA3AF",h=d.ref(!1),f=d.computed(()=>{const v=new Set;return i.value.forEach(g=>{g.category&&g.category.trim()&&v.add(g.category)}),Array.from(v).sort()}),m=d.computed(()=>{const v=new Set(["All"]);return i.value.forEach(g=>{g.category&&g.category.trim()&&v.add(g.category)}),Array.from(v).sort()}),M=d.ref(null),E=d.ref(0),F={top:40,right:20,bottom:30,left:50},R=d.ref(!1),b=d.ref(null),$=(v,g)=>{if(!v||!g)return 1;const w=new Date(v),y=new Date(g).getTime()-w.getTime();if(y<0)return 1;const T=Math.ceil(y/(1e3*60*60*24))+1;return Math.max(1,T)},x=v=>$(v.start,v.end),k=d.computed(()=>{if(i.value.length===0)return 1;const v=i.value.filter(g=>g.start&&g.end).map(x);return Math.max(1,s(v))}),_=(v,g)=>{if(!v||g<=0)return v;const w=new Date(v);return w.setDate(w.getDate()+g-1),St("%Y-%m-%d")(w)},D=v=>v.toISOString().split("T")[0],N=d.computed(()=>o.value==="All"?i.value:i.value.filter(v=>v.category===o.value)),z=d.computed(()=>Math.max(150,N.value.length*40+F.top+F.bottom)),V=d.computed(()=>{if(i.value.length===0)return new Date(r.startDate);const v=i.value.map(g=>new Date(g.start));return new Date(Math.min(...v))}),I=d.computed(()=>{if(i.value.length===0)return new Date(r.endDate);const v=i.value.map(w=>new Date(w.end)),g=new Date(Math.max(...v));return g.setDate(g.getDate()+10),g}),X=()=>{const g=(i.value.length>0?Math.max(...i.value.map(y=>y.id)):0)+1;let w;const U=(i.value.length>0?i.value[i.value.length-1].category:"Planning")||"Uncategorized";if(i.value.length>0){const y=i.value[i.value.length-1],T=new Date(y.end).getTime()-new Date(y.start).getTime(),C=new Date(y.end);C.setDate(C.getDate()+1);const p=new Date(C.getTime()+T);w={id:g,name:`Tâche Copiée ${g}`,start:D(C),end:D(p),category:U,isNew:!0}}else{const y=new Date,T=new Date;T.setDate(T.getDate()+10),w={id:g,name:`Première Tâche ${g}`,start:D(y),end:D(T),category:U,isNew:!0}}i.value.push(w),l(i.value),n("taskUpdated",i.value)},at=()=>{if(i.value.length===0)return;const v=Math.max(...i.value.map(w=>w.id)),g=i.value.filter(w=>w.id!==v);i.value=g,n("taskUpdated",i.value)},xt=()=>{const v=[...i.value].sort((g,w)=>{const U=new Date(g.start),y=new Date(w.start);return Uy?1:g.id-w.id});i.value=v,n("taskUpdated",i.value)},ne=v=>{const g=i.value.findIndex(w=>w.id===v.id);if(g!==-1){const w={...i.value[g],start:v.newStart,end:v.newEnd,category:i.value[g].category,name:v.name||i.value[g].name},U=[...i.value];U[g]=w,i.value=U,n("taskUpdated",i.value)}},At=d.computed(()=>b.value?$(b.value.start,b.value.end):0),Ot=d.computed(()=>!b.value||!b.value.y||!M.value?{}:{position:"absolute",left:`${M.value.clientWidth/2}px`,top:`${b.value.y+F.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),G=d.ref(null),Z=d.ref(null),wt=v=>{if(R.value=!1,b.value&&b.value.id===v.id){b.value=null,h.value=!1;return}if(!G.value||!Z.value)return;const g=G.value(new Date(v.start)),w=Z.value(v.name);w!==void 0&&(b.value={id:v.id,name:v.name,start:v.start,end:v.end,durationDays:$(v.start,v.end),x:g,y:w,category:v.category||"Uncategorized",newCategory:null},h.value=!1,d.nextTick(()=>{const U=document.querySelector(".gantt-edit-form input");U&&U.focus()}))};d.watch(()=>{var v;return(v=b.value)==null?void 0:v.durationDays},(v,g)=>{if(b.value&&v){v!==g&&(b.value.end=_(b.value.start,v));const w=Math.max(1,v);b.value.durationDays=w,b.value.end=_(b.value.start,w)}}),d.watch(()=>{var v;return(v=b.value)==null?void 0:v.start},(v,g)=>{b.value&&v&&(b.value.end=_(v,Math.max(1,b.value.durationDays)),v!==g&&(b.value.durationDays=$(v,b.value.end)))});const fn=()=>{const{id:v,name:g,start:w,end:U}=b.value,y=i.value.findIndex(B=>B.id===v);if(y===-1)return;const T=i.value[y];let{category:C}=b.value,p=C;if(h.value&&b.value.newCategory){const B=b.value.newCategory.trim();B&&(p=B)}p!==T.category&&l(i.value.concat([{category:p}])),h.value=!1;const O=new Date(w),S=new Date(U);if(O.getTime()>=S.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const W={...T,name:g,start:w,end:U,category:p},H=[...i.value];H[y]=W,i.value=H,n("taskUpdated",i.value),b.value=null},hn=v=>{const g=V.value,w=I.value;G.value=Qs().domain([g,w]).range([0,v-F.left-F.right]),Z.value=fr().domain(Array.isArray(N.value)?N.value.map(U=>U.name):[]).range([0,N.value.length*40]).paddingInner(.1)},pt=()=>{if(!M.value)return;E.value=M.value.clientWidth;const v=E.value;hn(v);const g=Q(M.value);g.selectAll("*").remove();const U=g.append("svg").attr("width",v).attr("height",z.value).append("g").attr("transform",`translate(${F.left}, ${F.top})`);if(U.append("g").attr("transform",`translate(0, ${N.value.length*40||50})`).call(Zr(G.value)),U.append("g").attr("class","y-axis-g").call(Qr(Z.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(Y,q){Y.preventDefault(),Y.stopPropagation();const K=q,j=N.value.find(et=>et.name===K);j&&wt(j)}),!N.value.length)return;const C=k.value*Ar,p=Vt.offset(V.value,1),O=G.value(p)-G.value(V.value);let S=!1,W,H,B=-1;const Ce=Z.value.step(),ke=o.value!=="All",vl=Oo().on("start",function(Y,q){if(b.value){Q(this).style("cursor","pointer"),Y.sourceEvent.stopPropagation();return}R.value=!1,S=!1,W=Y.x,H=Y.y,B=N.value.findIndex(K=>K.id===q.id),Q(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(Y,q){if(b.value)return;const K=Y.x-W,j=Y.y-H;if(Math.abs(j)>5&&!ke)S=!0,Q(this).attr("transform",`translate(0, ${j})`);else if(Math.abs(K)>5||ke){R.value=!0,S=!1;const et=G.value(new Date(q.start))+K;Q(this).select("rect").attr("x",et),Q(this).select("text").attr("x",et+5),Q(this).attr("transform",null)}}).on("end",function(Y,q){if(Q(this).style("cursor","grab"),b.value){Q(this).classed("dragging",!1).attr("transform",null);return}if(Q(this).classed("dragging",!1).attr("transform",null),S&&!ke){const K=Z.value(q.name)+(Y.y-H),j=Math.round(K/Ce),et=Math.max(0,Math.min(N.value.length-1,j));if(et!==B){const _t=N.value[B].id,yt=i.value.findIndex(ie=>ie.id===_t),re=N.value[et].id,gn=i.value.findIndex(ie=>ie.id===re),ut=[...i.value],[Er]=ut.splice(yt,1);ut.splice(gn,0,Er),i.value=ut,n("taskUpdated",i.value)}else pt()}else if(R.value){const K=G.value(new Date(q.start))+(Y.x-W),j=G.value.invert(K),et=new Date(q.end).getTime()-new Date(q.start).getTime(),_t=new Date(j.getTime()+et),yt=St("%Y-%m-%d")(j),re=St("%Y-%m-%d")(_t);ne({id:q.id,name:q.name,newStart:yt,newEnd:re})}else pt();R.value=!1,S=!1});N.value.forEach(Y=>{const q=G.value(new Date(Y.start)),K=Z.value(Y.name),j=x(Y);let et,_t=!1;if(j>C){_t=!0;const ut=C*O,ie=(j-C)*pl*O;et=ut+ie}else et=G.value(new Date(Y.end))-q;const yt=U.append("g").datum(Y).attr("class","task-group").on("contextmenu",function(ut){ut.preventDefault(),ut.sourceEvent?ut.sourceEvent.stopPropagation():ut.stopPropagation(),wt(Y)}),re=yt.append("rect").attr("x",q).attr("y",K).attr("width",et).attr("height",Z.value.bandwidth()).attr("fill",c(Y.category)).attr("rx",4).style("cursor","grab");_t&&(re.attr("stroke","black").attr("stroke-width",2),yt.append("title").text(`Durée réelle: ${j} jours. Affiché plié (Whale Task) car > ${C} jours (${Ar}x la médiane).`)),vl(yt);const gn=_t?`📐: ${Y.name}`:Y.name;yt.append("text").text(gn).attr("x",q+5).attr("y",K+Z.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",_t?"bold":"normal"),ke&&yt.append("text").text("🚫").attr("x",-45).attr("y",K+Z.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})},dn=d.computed(()=>b.value?c(b.value.category):"#9CA3AF");return d.watch(()=>r.tasks,v=>{Array.isArray(v)?(i.value=v.map(g=>{const{color:w,...U}=g;return{...U}}),l(i.value),pt()):(i.value=[],u.value={},pt())},{immediate:!0,deep:!0}),d.onMounted(()=>{pt(),window.addEventListener("resize",pt)}),d.watch([()=>i.value,V,I,o],pt,{deep:!0}),(v,g)=>(d.openBlock(),d.createElementBlock("div",Ks,[d.createElementVNode("div",js,[d.createElementVNode("div",tl,[g[9]||(g[9]=d.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),d.withDirectives(d.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(m.value,w=>(d.openBlock(),d.createElementBlock("option",{key:w,value:w,style:d.normalizeStyle({color:c(w)})},d.toDisplayString(w),13,el))),128))],512),[[d.vModelSelect,o.value]])]),d.createElementVNode("button",{onClick:X,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),d.createElementVNode("button",{onClick:xt,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),d.createElementVNode("button",{onClick:at,disabled:i.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,nl)]),d.createElementVNode("div",{ref_key:"ganttContainer",ref:M,class:"relative w-full overflow-x-auto"},[N.value.length===0&&i.value.length>0?(d.openBlock(),d.createElementBlock("div",rl,[d.createElementVNode("p",il," Aucune tâche ne correspond au filtre '"+d.toDisplayString(o.value)+"'. ",1)])):i.value.length===0?(d.openBlock(),d.createElementBlock("div",ol,[...g[10]||(g[10]=[d.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):d.createCommentVNode("",!0)],512),d.createElementVNode("div",null,[d.createElementVNode("p",al," Dates du graphique calculées : "+d.toDisplayString(St("%Y-%m-%d")(V.value))+" à "+d.toDisplayString(St("%Y-%m-%d")(I.value)),1),g[11]||(g[11]=d.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: ** dans leur nom. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),b.value?(d.openBlock(),d.createElementBlock("div",{key:0,style:d.normalizeStyle(Ot.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[g[17]||(g[17]=d.createElementVNode("div",{class:"text-sm font-bold text-gray-700 mb-2"},"Éditer",-1)),d.createElementVNode("label",ul,[g[12]||(g[12]=d.createTextVNode(" Nom: ",-1)),d.withDirectives(d.createElementVNode("input",{type:"text","onUpdate:modelValue":g[1]||(g[1]=w=>b.value.name=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.name]])]),d.createElementVNode("label",sl,[g[13]||(g[13]=d.createTextVNode(" Catégorie: ",-1)),h.value?d.withDirectives((d.openBlock(),d.createElementBlock("input",{key:1,type:"text","onUpdate:modelValue":g[3]||(g[3]=w=>b.value.newCategory=w),placeholder:"Nouvelle catégorie...",class:"p-1 border border-blue-500 rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512)),[[d.vModelText,b.value.newCategory]]):d.withDirectives((d.openBlock(),d.createElementBlock("select",{key:0,"onUpdate:modelValue":g[2]||(g[2]=w=>b.value.category=w),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(f.value,w=>(d.openBlock(),d.createElementBlock("option",{key:w,value:w,style:d.normalizeStyle({color:c(w)})},d.toDisplayString(w),13,ll))),128))],512)),[[d.vModelSelect,b.value.category]]),d.createElementVNode("button",{onClick:g[4]||(g[4]=w=>h.value=!h.value),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full transition duration-150",title:h.value?"Annuler l'entrée":"Créer une nouvelle catégorie"},d.toDisplayString(h.value?"×":"+"),9,cl),d.createElementVNode("button",{style:d.normalizeStyle({backgroundColor:dn.value}),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full"},"        ",4)]),g[18]||(g[18]=d.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),d.createElementVNode("label",fl,[g[14]||(g[14]=d.createTextVNode(" Durée (jours): ",-1)),d.withDirectives(d.createElementVNode("input",{type:"number","onUpdate:modelValue":g[5]||(g[5]=w=>b.value.durationDays=w),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.durationDays,void 0,{number:!0}]])]),d.createElementVNode("label",hl,[g[15]||(g[15]=d.createTextVNode(" Début: ",-1)),d.withDirectives(d.createElementVNode("input",{type:"date","onUpdate:modelValue":g[6]||(g[6]=w=>b.value.start=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.start]])]),d.createElementVNode("label",dl,[g[16]||(g[16]=d.createTextVNode(" Fin: ",-1)),d.withDirectives(d.createElementVNode("input",{type:"date","onUpdate:modelValue":g[7]||(g[7]=w=>b.value.end=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.end]])]),d.createElementVNode("div",gl,[d.createElementVNode("span",ml," Durée effective: "+d.toDisplayString(At.value)+" j. ",1)]),d.createElementVNode("button",{onClick:fn,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),d.createElementVNode("button",{onClick:g[8]||(g[8]=w=>b.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):d.createCommentVNode("",!0)]))}},[["__scopeId","data-v-b7570e51"]]);return{install(t){t.component("GanttChart",yl)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css index 659b0fff0..00db36f3f 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css @@ -1 +1 @@ -.dragging[data-v-77b2fee1]{opacity:.7;filter:brightness(1.2)}.gantt-edit-form[data-v-77b2fee1]{box-sizing:border-box;background-color:#fffffff2}.g text[data-v-77b2fee1]{font-size:10px} +.gantt-edit-form[data-v-b7570e51]{box-sizing:border-box;background-color:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:300px;max-width:90vw}.gantt-edit-form input[type=text][data-v-b7570e51],.gantt-edit-form input[type=number][data-v-b7570e51],.gantt-edit-form input[type=date][data-v-b7570e51],.gantt-edit-form select[data-v-b7570e51]{transition:all .2s ease-in-out}.gantt-edit-form input[data-v-b7570e51]:focus,.gantt-edit-form select[data-v-b7570e51]:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.g text[data-v-b7570e51]{font-size:12px} From 854af2764d92dc4b2c5c52352484e6db78fd1733 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Thu, 30 Oct 2025 11:06:03 +0100 Subject: [PATCH 18/59] clean-up --- geos-trame/src/geos/trame/app/deck/tree.py | 4 +--- geos-trame/src/geos/trame/app/ui/timeline.py | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index fbbe83ed1..9cea0b7ce 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -20,9 +20,7 @@ from geos.trame.app.utils.file_utils import normalize_path, format_xml from geos.trame.schema_generated.schema_mod import Problem, Included, File, Functions -us_date_fmt = "%Y-%m-%d" -date_fmt = us_date_fmt -# date_fmt = "%m/%d/%Y" +date_fmt = "%Y-%m-%d" class DeckTree( object ): """A tree that represents a deck file along with all the available blocks and parameters.""" diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 90ec7eaa0..378f4bd1b 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -10,14 +10,11 @@ # from trame.widgets import gantt from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt from trame.widgets import vuetify3 as vuetify -from trame.widgets.html import Html,Script from trame_simput import get_simput_manager from geos.trame.app.deck.tree import DeckTree -us_date_fmt = "%Y-%m-%d" -date_fmt = us_date_fmt -# date_fmt = "%m/%d/%Y" +date_fmt = "%Y-%m-%d" logger = logging.getLogger("timeline") logger.setLevel(logging.ERROR) From 2508a4f702b2f636bd9a5aad9d48c2e0ea141ee8 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Thu, 30 Oct 2025 11:18:23 +0100 Subject: [PATCH 19/59] fix clean up --- geos-trame/src/geos/trame/app/deck/tree.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 9cea0b7ce..990dabce2 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -139,8 +139,8 @@ def timeline( self ) -> list[ dict ] | None: item: dict[ str, str | int ] = { "id": global_id, "name": e.name, - "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(us_date_fmt), #, - "end": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.end_time))).strftime(us_date_fmt), + "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(date_fmt), #, + "end": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.end_time))).strftime(date_fmt), "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], } From a74da1c55901d83dd79029a6b26e860626150b78 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Fri, 31 Oct 2025 14:58:45 +0100 Subject: [PATCH 20/59] wip --- geos-trame/src/geos/trame/app/ui/timeline.py | 20 ++++++++++++++++++- geos-trame/tests/data/geosDeck/ModelA.vtu | Bin 0 -> 2314472 bytes geos-trame/tests/data/geosDeck/geosDeck.xml | 14 ++++++------- 3 files changed, 25 insertions(+), 9 deletions(-) create mode 100755 geos-trame/tests/data/geosDeck/ModelA.vtu diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 378f4bd1b..631d97f3e 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -1,16 +1,19 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Lionel Untereiner +# SPDX-FileContributor: Lionel Untereiner, Jacques Franc from typing import Any from datetime import datetime, timedelta from pandas import Timestamp import pytz import logging +import dpath.util + # from trame.widgets import gantt from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt from trame.widgets import vuetify3 as vuetify from trame_simput import get_simput_manager +from geos.trame.schema_generated.schema_mod import PeriodicEvent from geos.trame.app.deck.tree import DeckTree @@ -54,6 +57,21 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: print('None values') logger.info(f"new tasks {tasks}") self.state.tasks = tasks + # self.tree.input_file.problem.events[0].periodic_event.clear() + former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) + # # pev = dpath.util.get(self.tree.input_file.pb_dict, 'Problem/Events/0/PeriodicEvent') + # pev = self.tree.input_file.problem.events[0].periodic_event + # # pev = dpath.util.get(ev[0],'PeriodicEvent') + # for i,t in enumerate(self.state.tasks): + # event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , #should be seconds / days for debug + # "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), + # "name": t["name"]} + + # pev[i] = PeriodicEvent(begin_time=event["begin_time"], end_time=event["end_time"], name=event["name"]) + + # self.tree.input_file.pb_dict = dict(self.tree.input_file.problem) + return + def _updated_sdate(self, sdate: str, **_: Any) -> None: #sdate seems to be a panda Timestamp diff --git a/geos-trame/tests/data/geosDeck/ModelA.vtu b/geos-trame/tests/data/geosDeck/ModelA.vtu new file mode 100755 index 0000000000000000000000000000000000000000..d9d18e40312817d1e7671f24c30acb044c46f470 GIT binary patch literal 2314472 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 LYJS0Ys-IR=dz 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
  • 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

    GIq2ztET0G>*l0=+)xj^m%?>erR?MedF=9 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 z%0D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 n{_$4p5C3fA4;zI)-Tu>m><{vP^iNg( @@ -96,11 +96,9 @@ logLevel="2" wellRegionName="wellRegion2" wellControlsName="wellControls2" - polylineNodeCoords="{ { 800, 1450, 395.646 }, - { 800, 1450, -200.0 }, - { 800, 1450, 0.0 }, - { 800, 1450, -554.354 } }" - polylineSegmentConn="{ { 0, 2 }, { 2, 1 }, { 1, 3 } }" + polylineNodeCoords="{ { 800, 1450, 395.646 }, + { 800, 1450, -554.354 } }" + polylineSegmentConn="{ { 0, 1 }}" radius="0.050" numElementsPerSegment="5"> + xMin="{ 1130, 650, 50 }" + xMax="{ 1200, 900, 145 }"/> From 5c739b396a1b70ab90602a155b4d0e4ef7c293d0 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Sun, 2 Nov 2025 19:54:20 +0100 Subject: [PATCH 21/59] fix if is a list crash --- geos-trame/src/geos/trame/app/deck/tree.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 990dabce2..bb10d3809 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -289,6 +289,9 @@ def _set_base_model_properties( model: dict, proxy_path: str, properties: dict ) if proxy_name.isnumeric() and int( proxy_name ) < len( model_copy ): models.append( ( proxy_name, model_copy ) ) + if is_list: + proxy_name = int(proxy_name) + #won't work if is_list # TO DO IMMEDIATELY -- review proxy strat model_copy = model_copy[ proxy_name ] continue From 731d33ffbcf781fa8bfd6f6e903c103be22072f6 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 3 Nov 2025 15:02:00 +0100 Subject: [PATCH 22/59] wip --- geos-trame/src/geos/trame/app/ui/timeline.py | 21 +++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 631d97f3e..ab0bef01f 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -59,17 +59,20 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.state.tasks = tasks # self.tree.input_file.problem.events[0].periodic_event.clear() former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) - # # pev = dpath.util.get(self.tree.input_file.pb_dict, 'Problem/Events/0/PeriodicEvent') - # pev = self.tree.input_file.problem.events[0].periodic_event - # # pev = dpath.util.get(ev[0],'PeriodicEvent') - # for i,t in enumerate(self.state.tasks): - # event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , #should be seconds / days for debug - # "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), - # "name": t["name"]} + # pev = dpath.util.get(self.tree.input_file.pb_dict, 'Problem/Events/0/PeriodicEvent') + pev = self.tree.input_file.problem.events[0].periodic_event + # pev = dpath.util.get(ev[0],'PeriodicEvent') + for i,t in enumerate(self.state.tasks): + event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , #should be seconds / days for debug + "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), + "name": t["name"]} - # pev[i] = PeriodicEvent(begin_time=event["begin_time"], end_time=event["end_time"], name=event["name"]) + self.tree.update(f'Problems/Events/0/PeriodicEvent/{i}','begin_time', event['begin_time']) + self.tree.update(f'Problems/Events/0/PeriodicEvent/{i}','end_time', event['end_time']) + self.tree.update(f'Problems/Events/0/PeriodicEvent/{i}','name', event['name']) + - # self.tree.input_file.pb_dict = dict(self.tree.input_file.problem) + # self.tree._apply_changed_properties(self.tree.input_file.problem) return From 82c2e406cacc1ffc00476403ebd13882279fa103 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 4 Nov 2025 10:29:31 +0100 Subject: [PATCH 23/59] fix typos in paths --- geos-trame/src/geos/trame/app/ui/timeline.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index ab0bef01f..a0bad7c59 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -67,9 +67,9 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), "name": t["name"]} - self.tree.update(f'Problems/Events/0/PeriodicEvent/{i}','begin_time', event['begin_time']) - self.tree.update(f'Problems/Events/0/PeriodicEvent/{i}','end_time', event['end_time']) - self.tree.update(f'Problems/Events/0/PeriodicEvent/{i}','name', event['name']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','beginTime', event['begin_time']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','endTime', event['end_time']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','name', event['name']) # self.tree._apply_changed_properties(self.tree.input_file.problem) From 9086b0584b19fd544e5a10119356fbd91bd48a1a Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 4 Nov 2025 10:29:53 +0100 Subject: [PATCH 24/59] fix connection to file repr --- geos-trame/src/geos/trame/app/deck/tree.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index bb10d3809..b55ca6654 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -76,7 +76,7 @@ def update( self, path: str, key: str, value: Any ) -> None: new_path = [ int( x ) if x.isdigit() else x for x in path.split( "/" ) ] new_path.append( key ) assert self.input_file is not None and self.input_file.pb_dict is not None - funcy.set_in( self.input_file.pb_dict, new_path, value ) + self.input_file.pb_dict = funcy.set_in( self.input_file.pb_dict, new_path, value ) def _search( self, path: str ) -> list | None: new_path = path.split( "/" ) From 93c9b3a13aecb49a2ceb9d5f0bad5aca889202b1 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 4 Nov 2025 10:39:57 +0100 Subject: [PATCH 25/59] adding freq --- geos-trame/src/geos/trame/app/deck/tree.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index b55ca6654..2227ca309 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -139,11 +139,13 @@ def timeline( self ) -> list[ dict ] | None: item: dict[ str, str | int ] = { "id": global_id, "name": e.name, - "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(date_fmt), #, + "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(date_fmt), "end": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.end_time))).strftime(date_fmt), "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], } + if(int(e.cycle_frequency)!=1): + item["freq"] = int(e.cycle_frequency) timeline.append( item ) global_id = global_id + 1 From 11f0d95ba525e87e1fc6dfa94bb84443b1ec1e86 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 4 Nov 2025 14:17:41 +0100 Subject: [PATCH 26/59] fix update in inspector --- geos-trame/src/geos/trame/app/ui/inspector.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/inspector.py b/geos-trame/src/geos/trame/app/ui/inspector.py index 2fad1245e..ea8a2589d 100644 --- a/geos-trame/src/geos/trame/app/ui/inspector.py +++ b/geos-trame/src/geos/trame/app/ui/inspector.py @@ -8,6 +8,8 @@ from trame.widgets import vuetify3 as vuetify, html from trame_simput import get_simput_manager +from xsdata.utils import text + from geos.trame.app.data_types.field_status import FieldStatus from geos.trame.app.data_types.renderable import Renderable from geos.trame.app.data_types.tree_node import TreeNode @@ -61,9 +63,9 @@ def _on_change( topic: str, ids: list | None = None ) -> None: if ids is not None and topic == "changed": for obj_id in ids: proxy = self.simput_manager.proxymanager.get( obj_id ) - self.tree.decode( obj_id ) + #self.tree.decode( obj_id ) # if const function and return not used why ?? to decode context ?? for prop in proxy.edited_property_names: - self.tree.update( obj_id, prop, proxy.get_property( prop ) ) + self.tree.update( obj_id, text.camel_case(prop), proxy.get_property( prop ) ) self.simput_manager.proxymanager.on( _on_change ) From e333e8a8e7e111578fed63e07b5cbcb1b495fa83 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 4 Nov 2025 15:22:48 +0100 Subject: [PATCH 27/59] some idea --- geos-trame/src/geos/trame/app/deck/tree.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 2227ca309..6b295c138 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -10,6 +10,7 @@ import funcy from pydantic import BaseModel from trame_simput import get_simput_manager +from trame_simput.core.proxy import ProxyManager, Proxy from xsdata.formats.dataclass.parsers.config import ParserConfig from xsdata.formats.dataclass.serializers.config import SerializerConfig from xsdata.utils import text @@ -172,6 +173,8 @@ def write_files( self ) -> None: includeName: str = self.input_file.xml_parser.get_relative_path_of_file( filepath ) DeckTree._append_include_file( model_with_changes, includeName ) + proxy = get_simput_manager( id=self._sm_id ) + DeckTree._discard_default(model_with_changes, proxy) model_as_xml: str = DeckTree.to_xml( model_with_changes ) basename = os.path.basename( filepath ) @@ -182,6 +185,15 @@ def write_files( self ) -> None: file.write( model_as_xml ) file.close() + @staticmethod + def _discard_default( model: Problem, proxy_mg : ProxyManager | Any) -> None: + for obj_id in model: + proxy = proxy_mg.proxymanager.get( obj_id ) + for prop in proxy.property_names: + if (obj_id[prop] == proxy.getproperty(prop) ) : + del obj_id[prop] + + @staticmethod def _append_include_file( model: Problem, included_file_path: str ) -> None: """Append an Included object which follows this structure according to the documentation. From ef99e0688c8077f944c2a9410660701d36287504 Mon Sep 17 00:00:00 2001 From: jafranc Date: Thu, 6 Nov 2025 19:56:35 +0100 Subject: [PATCH 28/59] fix toml --- geos-trame/pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/geos-trame/pyproject.toml b/geos-trame/pyproject.toml index 00fd6bffc..54df87d99 100644 --- a/geos-trame/pyproject.toml +++ b/geos-trame/pyproject.toml @@ -8,7 +8,7 @@ version = "1.0.0" description = "Geos Simulation Modeler" authors = [{name = "GEOS Contributors" }] maintainers = [{name = "Alexandre Benedicto", email = "alexandre.benedicto@external.totalenergies.com" }, - {name = "Paloma Martinez", email = "paloma.martinez@external.totalenergies.com" } + {name = "Paloma Martinez", email = "paloma.martinez@external.totalenergies.com" }, {name = "Jacques Franc", email= "jacques.franc@external.totalenergies.com" }] license = {text = "Apache-2.0"} classifiers = [ @@ -31,6 +31,7 @@ keywords = [ dependencies = [ "typing-extensions==4.12.2", + "pandas", "trame==3.6.5", "trame-vuetify==2.7.1", "trame-code==1.0.1", From 3a8c804e3dccc551709c8e069c1f2cca9e3ae3a6 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 10 Nov 2025 14:06:15 +0100 Subject: [PATCH 29/59] clean up timeline --- geos-trame/src/geos/trame/app/ui/timeline.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index a0bad7c59..502b52eb5 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -57,11 +57,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: print('None values') logger.info(f"new tasks {tasks}") self.state.tasks = tasks - # self.tree.input_file.problem.events[0].periodic_event.clear() former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) - # pev = dpath.util.get(self.tree.input_file.pb_dict, 'Problem/Events/0/PeriodicEvent') - pev = self.tree.input_file.problem.events[0].periodic_event - # pev = dpath.util.get(ev[0],'PeriodicEvent') for i,t in enumerate(self.state.tasks): event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , #should be seconds / days for debug "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), @@ -70,9 +66,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','beginTime', event['begin_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','endTime', event['end_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','name', event['name']) - - # self.tree._apply_changed_properties(self.tree.input_file.problem) return @@ -81,8 +75,6 @@ def _updated_sdate(self, sdate: str, **_: Any) -> None: if sdate is None: return - logger.info(f"new origin of time {sdate.to_datetime()}") - # return former_origin_time: str = min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start") time_delta : timedelta = sdate.to_datetime() - pytz.utc.localize(datetime.strptime(former_origin_time,date_fmt)) self.state.tasks = list(map(lambda d: {**d, "start":(datetime.strptime(d["start"],date_fmt) + time_delta ).strftime(date_fmt), From b93fc5c5983d15efc85868d1ca93c196c4011782 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 10 Nov 2025 14:06:36 +0100 Subject: [PATCH 30/59] continue discard algo --- geos-trame/src/geos/trame/app/deck/tree.py | 44 +++++++++++++++++----- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 6b295c138..a667e1f61 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -21,7 +21,10 @@ from geos.trame.app.utils.file_utils import normalize_path, format_xml from geos.trame.schema_generated.schema_mod import Problem, Included, File, Functions +import logging date_fmt = "%Y-%m-%d" +logger = logging.getLogger("tree") +logger.setLevel(logging.ERROR) class DeckTree( object ): """A tree that represents a deck file along with all the available blocks and parameters.""" @@ -173,9 +176,9 @@ def write_files( self ) -> None: includeName: str = self.input_file.xml_parser.get_relative_path_of_file( filepath ) DeckTree._append_include_file( model_with_changes, includeName ) - proxy = get_simput_manager( id=self._sm_id ) - DeckTree._discard_default(model_with_changes, proxy) - model_as_xml: str = DeckTree.to_xml( model_with_changes ) + proxy = get_simput_manager( id=self._sm_id ) # UI proxy + model_cleaned = DeckTree._discard_default(model_with_changes, proxy.proxymanager) + model_as_xml: str = DeckTree.to_xml( model_cleaned ) basename = os.path.basename( filepath ) assert self.input_folder is not None @@ -185,13 +188,36 @@ def write_files( self ) -> None: file.write( model_as_xml ) file.close() + @staticmethod - def _discard_default( model: Problem, proxy_mg : ProxyManager | Any) -> None: - for obj_id in model: - proxy = proxy_mg.proxymanager.get( obj_id ) - for prop in proxy.property_names: - if (obj_id[prop] == proxy.getproperty(prop) ) : - del obj_id[prop] + def _discard_default( model : Problem| None, proxy : ProxyManager | None) -> Problem: + """Discard values from model if set at their default.""" + model_dict : dict = dict(model) + + for id in proxy._id_map: + import re + if re.search(r"VTK",id) or re.search(r"Solvers", id) or re.search(r"CO2Brine", id): #TODO ??? + continue + node = DeckTree._get_base_model_from_path( model_dict, id) + from pydantic_core import PydanticUndefined + for k,v in node.__pydantic_fields__.items(): + if v.default is not PydanticUndefined and node.__getattribute__(k) == v.default: + logger.info(f"disable {id} : {k}") + delattr(node, k) + + return DeckTree._get_base_model_from_path(model_dict, '/Problem') + + # for obj in dict(model): + # proxy = proxy.get(obj) + + # for prop in proxy._properties: + # if ( proxy[prop] == proxy.getproperty(prop) ) : + # + + # _get_base_model_from_path( model: dict, proxy_id: str ) -> dict: + # proxy.getproperty(prop) + # PeriodicEvent.__pydantic_fields__['begin_time'].default + @staticmethod From 70fb5a49fe0ba1c63b9b59e425321a86085ef9a0 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 10 Nov 2025 16:43:29 +0100 Subject: [PATCH 31/59] maybe better --- geos-trame/src/geos/trame/app/deck/tree.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index a667e1f61..363066831 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -205,7 +205,7 @@ def _discard_default( model : Problem| None, proxy : ProxyManager | None) -> Pro logger.info(f"disable {id} : {k}") delattr(node, k) - return DeckTree._get_base_model_from_path(model_dict, '/Problem') + return DeckTree.decode_data(model_dict) # for obj in dict(model): # proxy = proxy.get(obj) From 9f43ebfbe9b0ce8dc9a2952d90c3653921fec514 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 10 Nov 2025 16:56:02 +0100 Subject: [PATCH 32/59] cleaning up verbosity-work pushed to other branch --- geos-trame/src/geos/trame/app/deck/tree.py | 35 +--------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 363066831..cb4749b48 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -176,9 +176,7 @@ def write_files( self ) -> None: includeName: str = self.input_file.xml_parser.get_relative_path_of_file( filepath ) DeckTree._append_include_file( model_with_changes, includeName ) - proxy = get_simput_manager( id=self._sm_id ) # UI proxy - model_cleaned = DeckTree._discard_default(model_with_changes, proxy.proxymanager) - model_as_xml: str = DeckTree.to_xml( model_cleaned ) + model_as_xml: str = DeckTree.to_xml( model_with_changes ) basename = os.path.basename( filepath ) assert self.input_folder is not None @@ -187,37 +185,6 @@ def write_files( self ) -> None: with open( location, "w" ) as file: file.write( model_as_xml ) file.close() - - - @staticmethod - def _discard_default( model : Problem| None, proxy : ProxyManager | None) -> Problem: - """Discard values from model if set at their default.""" - model_dict : dict = dict(model) - - for id in proxy._id_map: - import re - if re.search(r"VTK",id) or re.search(r"Solvers", id) or re.search(r"CO2Brine", id): #TODO ??? - continue - node = DeckTree._get_base_model_from_path( model_dict, id) - from pydantic_core import PydanticUndefined - for k,v in node.__pydantic_fields__.items(): - if v.default is not PydanticUndefined and node.__getattribute__(k) == v.default: - logger.info(f"disable {id} : {k}") - delattr(node, k) - - return DeckTree.decode_data(model_dict) - - # for obj in dict(model): - # proxy = proxy.get(obj) - - # for prop in proxy._properties: - # if ( proxy[prop] == proxy.getproperty(prop) ) : - # - - # _get_base_model_from_path( model: dict, proxy_id: str ) -> dict: - # proxy.getproperty(prop) - # PeriodicEvent.__pydantic_fields__['begin_time'].default - @staticmethod From c3a42632bbf1fd50a306c2c15767eedb4b464c5b Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 10 Nov 2025 18:25:55 +0100 Subject: [PATCH 33/59] more frequency and only available Categories --- geos-trame/src/geos/trame/app/deck/tree.py | 5 +++-- .../trame/app/gantt_chart/module/serve/gantt-chart.umd.js | 2 +- .../src/geos/trame/app/gantt_chart/widgets/gantt_chart.py | 1 + geos-trame/src/geos/trame/app/ui/timeline.py | 6 +++++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index cb4749b48..fb997459d 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -39,6 +39,7 @@ def __init__( self, sm_id: str | None = None, **kwargs: Any ) -> None: self.input_has_errors = False self._sm_id = sm_id self.world_origin_time = datetime(1924,3,28).strftime(date_fmt)# Total start date !! + self.registered_targets : dict = {} def set_input_file( self, input_filename: str ) -> None: """Set a new input file. @@ -136,10 +137,10 @@ def timeline( self ) -> list[ dict ] | None: timeline = [] # list root events global_id = 0 - solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) + # solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) solver_events = self.input_file.problem.events[0].periodic_event for e in solver_events: - + self.registered_targets[e.target.split('/')[-1]] = e.target item: dict[ str, str | int ] = { "id": global_id, "name": e.name, diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index 5310218bd..e60e16320 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(d,vt){typeof exports=="object"&&typeof module<"u"?module.exports=vt(require("vue")):typeof define=="function"&&define.amd?define(["vue"],vt):(d=typeof globalThis<"u"?globalThis:d||self,d.GanttLib=vt(d.Vue))})(this,function(d){"use strict";function vt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Ur(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ne(t){let e,n,r;t.length!==2?(e=vt,n=(u,s)=>vt(t(u),s),r=(u,s)=>t(u)-s):(e=t===vt||t===Ur?t:Fr,n=t,r=t);function i(u,s,l=0,c=u.length){if(l>>1;n(u[h],s)<0?l=h+1:c=h}while(l>>1;n(u[h],s)<=0?l=h+1:c=h}while(ll&&r(u[h-1],s)>-r(u[h],s)?h-1:h}return{left:i,center:a,right:o}}function Fr(){return 0}function $r(t){return t===null?NaN:+t}const Ir=Ne(vt).right;Ne($r).center;class mn extends Map{constructor(e,n=Hr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(pn(this,e))}has(e){return super.has(pn(this,e))}set(e,n){return super.set(Yr(this,e),n)}delete(e){return super.delete(Vr(this,e))}}function pn({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Yr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Vr({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function Hr(t){return t!==null&&typeof t=="object"?t.valueOf():t}const Lr=Math.sqrt(50),Rr=Math.sqrt(10),Or=Math.sqrt(2);function yn(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=Lr?10:o>=Rr?5:o>=Or?2:1;let u,s,l;return i<0?(l=Math.pow(10,-i)/a,u=Math.round(t*l),s=Math.round(e*l),u/le&&--s,l=-l):(l=Math.pow(10,i)*a,u=Math.round(t/l),s=Math.round(e/l),u*le&&--s),s+t(e)}function Xr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function Gr(){return!this.__axis}function _n(t,e){var n=[],r=null,i=null,o=6,a=6,u=3,s=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=t===Se||t===Wt?-1:1,c=t===Wt||t===Ae?"x":"y",h=t===Se||t===Ee?zr:Br;function f(m){var M=r??(e.ticks?e.ticks.apply(e,n):e.domain()),E=i??(e.tickFormat?e.tickFormat.apply(e,n):Pr),F=Math.max(o,0)+u,R=e.range(),b=+R[0]+s,$=+R[R.length-1]+s,x=(e.bandwidth?Xr:qr)(e.copy(),s),k=m.selection?m.selection():m,_=k.selectAll(".domain").data([null]),D=k.selectAll(".tick").data(M,e).order(),N=D.exit(),z=D.enter().append("g").attr("class","tick"),V=D.select("line"),I=D.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),D=D.merge(z),V=V.merge(z.append("line").attr("stroke","currentColor").attr(c+"2",l*o)),I=I.merge(z.append("text").attr("fill","currentColor").attr(c,l*F).attr("dy",t===Se?"0em":t===Ee?"0.71em":"0.32em")),m!==k&&(_=_.transition(m),D=D.transition(m),V=V.transition(m),I=I.transition(m),N=N.transition(m).attr("opacity",wn).attr("transform",function(X){return isFinite(X=x(X))?h(X+s):this.getAttribute("transform")}),z.attr("opacity",wn).attr("transform",function(X){var at=this.parentNode.__axis;return h((at&&isFinite(at=at(X))?at:x(X))+s)})),N.remove(),_.attr("d",t===Wt||t===Ae?a?"M"+l*a+","+b+"H"+s+"V"+$+"H"+l*a:"M"+s+","+b+"V"+$:a?"M"+b+","+l*a+"V"+s+"H"+$+"V"+l*a:"M"+b+","+s+"H"+$),D.attr("opacity",1).attr("transform",function(X){return h(x(X)+s)}),V.attr(c+"2",l*o),I.attr(c,l*F).text(E),k.filter(Gr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Ae?"start":t===Wt?"end":"middle"),k.each(function(){this.__axis=x})}return f.scale=function(m){return arguments.length?(e=m,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(m){return arguments.length?(n=m==null?[]:Array.from(m),f):n.slice()},f.tickValues=function(m){return arguments.length?(r=m==null?null:Array.from(m),f):r&&r.slice()},f.tickFormat=function(m){return arguments.length?(i=m,f):i},f.tickSize=function(m){return arguments.length?(o=a=+m,f):o},f.tickSizeInner=function(m){return arguments.length?(o=+m,f):o},f.tickSizeOuter=function(m){return arguments.length?(a=+m,f):a},f.tickPadding=function(m){return arguments.length?(u=+m,f):u},f.offset=function(m){return arguments.length?(s=+m,f):s},f}function Zr(t){return _n(Ee,t)}function Qr(t){return _n(Wt,t)}var Jr={value:()=>{}};function Ue(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}oe.prototype=Ue.prototype={constructor:oe,on:function(t,e){var n=this._,r=Kr(t+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Tn.hasOwnProperty(e)?{space:Tn[e],local:t}:t}function ti(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Fe&&e.documentElement.namespaceURI===Fe?e.createElement(t):e.createElementNS(n,t)}}function ei(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Mn(t){var e=ae(t);return(e.local?ei:ti)(e)}function ni(){}function $e(t){return t==null?ni:function(){return this.querySelector(t)}}function ri(t){typeof t!="function"&&(t=$e(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=$&&($=b+1);!(k=F[$])&&++$=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function Ni(t){t||(t=Si);function e(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;oe?1:t>=e?0:NaN}function Ai(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Ei(){return Array.from(this)}function Ui(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?Pi:typeof e=="function"?Bi:zi)(t,e,n??"")):Et(this.node(),t)}function Et(t,e){return t.style.getPropertyValue(e)||Sn(t).getComputedStyle(t,null).getPropertyValue(e)}function Xi(t){return function(){delete this[t]}}function Gi(t,e){return function(){this[t]=e}}function Zi(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function Qi(t,e){return arguments.length>1?this.each((e==null?Xi:typeof e=="function"?Zi:Gi)(t,e)):this.node()[t]}function An(t){return t.trim().split(/^|\s+/)}function Ie(t){return t.classList||new En(t)}function En(t){this._node=t,this._names=An(t.getAttribute("class")||"")}En.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Un(t,e){for(var n=Ie(t),r=-1,i=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Do(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,o;n()=>t;function Ve(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:o,x:a,y:u,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}Ve.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Vo(t){return!t.ctrlKey&&!t.button}function Ho(){return this.parentNode}function Lo(t,e){return e??{x:t.x,y:t.y}}function Ro(){return navigator.maxTouchPoints||"ontouchstart"in this}function Oo(){var t=Vo,e=Ho,n=Lo,r=Ro,i={},o=Ue("start","drag","end"),a=0,u,s,l,c,h=0;function f(x){x.on("mousedown.drag",m).filter(r).on("touchstart.drag",F).on("touchmove.drag",R,$o).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(x,k){if(!(c||!t.call(this,x,k))){var _=$(this,e.call(this,x,k),x,k,"mouse");_&&(Q(x.view).on("mousemove.drag",M,zt).on("mouseup.drag",E,zt),Io(x.view),Ye(x),l=!1,u=x.clientX,s=x.clientY,_("start",x))}}function M(x){if(Ut(x),!l){var k=x.clientX-u,_=x.clientY-s;l=k*k+_*_>h}i.mouse("drag",x)}function E(x){Q(x.view).on("mousemove.drag mouseup.drag",null),Yo(x.view,l),Ut(x),i.mouse("end",x)}function F(x,k){if(t.call(this,x,k)){var _=x.changedTouches,D=e.call(this,x,k),N=_.length,z,V;for(z=0;z>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ce(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ce(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Po.exec(t))?new J(e[1],e[2],e[3],1):(e=zo.exec(t))?new J(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Bo.exec(t))?ce(e[1],e[2],e[3],e[4]):(e=qo.exec(t))?ce(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Xo.exec(t))?zn(e[1],e[2]/100,e[3]/100,1):(e=Go.exec(t))?zn(e[1],e[2]/100,e[3]/100,e[4]):Hn.hasOwnProperty(t)?On(Hn[t]):t==="transparent"?new J(NaN,NaN,NaN,0):null}function On(t){return new J(t>>16&255,t>>8&255,t&255,1)}function ce(t,e,n,r){return r<=0&&(t=e=n=NaN),new J(t,e,n,r)}function Jo(t){return t instanceof Bt||(t=bt(t)),t?(t=t.rgb(),new J(t.r,t.g,t.b,t.opacity)):new J}function Le(t,e,n,r){return arguments.length===1?Jo(t):new J(t,e,n,r??1)}function J(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}He(J,Le,Vn(Bt,{brighter(t){return t=t==null?le:Math.pow(le,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?qt:Math.pow(qt,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new J(Tt(this.r),Tt(this.g),Tt(this.b),fe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Wn,formatHex:Wn,formatHex8:Ko,formatRgb:Pn,toString:Pn}));function Wn(){return`#${Mt(this.r)}${Mt(this.g)}${Mt(this.b)}`}function Ko(){return`#${Mt(this.r)}${Mt(this.g)}${Mt(this.b)}${Mt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Pn(){const t=fe(this.opacity);return`${t===1?"rgb(":"rgba("}${Tt(this.r)}, ${Tt(this.g)}, ${Tt(this.b)}${t===1?")":`, ${t})`}`}function fe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Tt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Mt(t){return t=Tt(t),(t<16?"0":"")+t.toString(16)}function zn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new rt(t,e,n,r)}function Bn(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);if(t instanceof Bt||(t=bt(t)),!t)return new rt;if(t instanceof rt)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),o=Math.max(e,n,r),a=NaN,u=o-i,s=(o+i)/2;return u?(e===o?a=(n-r)/u+(n0&&s<1?0:a,new rt(a,u,s,t.opacity)}function jo(t,e,n,r){return arguments.length===1?Bn(t):new rt(t,e,n,r??1)}function rt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}He(rt,jo,Vn(Bt,{brighter(t){return t=t==null?le:Math.pow(le,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?qt:Math.pow(qt,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new J(Re(t>=240?t-240:t+120,i,r),Re(t,i,r),Re(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new rt(qn(this.h),he(this.s),he(this.l),fe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=fe(this.opacity);return`${t===1?"hsl(":"hsla("}${qn(this.h)}, ${he(this.s)*100}%, ${he(this.l)*100}%${t===1?")":`, ${t})`}`}}));function qn(t){return t=(t||0)%360,t<0?t+360:t}function he(t){return Math.max(0,Math.min(1,t||0))}function Re(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Oe=t=>()=>t;function ta(t,e){return function(n){return t+n*e}}function ea(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function na(t){return(t=+t)==1?Xn:function(e,n){return n-e?ea(e,n,t):Oe(isNaN(e)?n:e)}}function Xn(t,e){var n=e-t;return n?ta(t,n):Oe(isNaN(t)?e:t)}const de=function t(e){var n=na(e);function r(i,o){var a=n((i=Le(i)).r,(o=Le(o)).r),u=n(i.g,o.g),s=n(i.b,o.b),l=Xn(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=u(c),i.b=s(c),i.opacity=l(c),i+""}}return r.gamma=t,r}(1);function ra(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(o){for(i=0;in&&(o=e.slice(n,o),u[a]?u[a]+=o:u[++a]=o),(r=r[0])===(i=i[0])?u[a]?u[a]+=i:u[++a]=i:(u[++a]=null,s.push({i:a,x:it(r,i)})),n=Pe.lastIndex;return n180?c+=360:c-l>180&&(l+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:it(l,c)})):c&&h.push(i(h)+"rotate("+c+r)}function u(l,c,h,f){l!==c?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:it(l,c)}):c&&h.push(i(h)+"skewX("+c+r)}function s(l,c,h,f,m,M){if(l!==h||c!==f){var E=m.push(i(m)+"scale(",null,",",null,")");M.push({i:E-4,x:it(l,h)},{i:E-2,x:it(c,f)})}else(h!==1||f!==1)&&m.push(i(m)+"scale("+h+","+f+")")}return function(l,c){var h=[],f=[];return l=t(l),c=t(c),o(l.translateX,l.translateY,c.translateX,c.translateY,h,f),a(l.rotate,c.rotate,h,f),u(l.skewX,c.skewX,h,f),s(l.scaleX,l.scaleY,c.scaleX,c.scaleY,h,f),l=c=null,function(m){for(var M=-1,E=f.length,F;++M=0&&t._call.call(void 0,e),t=t._next;--$t}function er(){Dt=(pe=Jt.now())+ye,$t=Gt=0;try{pa()}finally{$t=0,va(),Dt=0}}function ya(){var t=Jt.now(),e=t-pe;e>Kn&&(ye-=e,pe=t)}function va(){for(var t,e=me,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:me=n);Qt=t,Xe(r)}function Xe(t){if(!$t){Gt&&(Gt=clearTimeout(Gt));var e=t-Dt;e>24?(t<1/0&&(Gt=setTimeout(er,t-Jt.now()-ye)),Zt&&(Zt=clearInterval(Zt))):(Zt||(pe=Jt.now(),Zt=setInterval(ya,Kn)),$t=1,jn(er))}}function nr(t,e,n){var r=new ve;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var xa=Ue("start","end","cancel","interrupt"),wa=[],rr=0,ir=1,Ge=2,xe=3,or=4,Ze=5,we=6;function _e(t,e,n,r,i,o){var a=t.__transition;if(!a)t.__transition={};else if(n in a)return;_a(t,n,{name:e,index:r,group:i,on:xa,tween:wa,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:rr})}function Qe(t,e){var n=ot(t,e);if(n.state>rr)throw new Error("too late; already scheduled");return n}function lt(t,e){var n=ot(t,e);if(n.state>xe)throw new Error("too late; already running");return n}function ot(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function _a(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=tr(o,0,n.time);function o(l){n.state=ir,n.timer.restart(a,n.delay,n.time),n.delay<=l&&a(l-n.delay)}function a(l){var c,h,f,m;if(n.state!==ir)return s();for(c in r)if(m=r[c],m.name===n.name){if(m.state===xe)return nr(a);m.state===or?(m.state=we,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete r[c]):+cGe&&r.state=0&&(e=e.slice(0,n)),!e||e==="start"})}function Ka(t,e,n){var r,i,o=Ja(e)?Qe:lt;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(e,n),a.on=i}}function ja(t,e){var n=this._id;return arguments.length<2?ot(this.node(),n).on.on(t):this.each(Ka(n,t,e))}function tu(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function eu(){return this.on("end.remove",tu(this._id))}function nu(t){var e=this._name,n=this._id;typeof t!="function"&&(t=$e(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;ae&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Au(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i2?Eu:Au,s=l=null,h}function h(f){return f==null||isNaN(f=+f)?o:(s||(s=u(t.map(r),e,n)))(r(a(f)))}return h.invert=function(f){return a(i((l||(l=u(e,t.map(r),it)))(f)))},h.domain=function(f){return arguments.length?(t=Array.from(f,Nu),c()):t.slice()},h.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},h.rangeRound=function(f){return e=Array.from(f),n=ca,c()},h.clamp=function(f){return arguments.length?(a=f?!0:It,c()):a!==It},h.interpolate=function(f){return arguments.length?(n=f,c()):n},h.unknown=function(f){return arguments.length?(o=f,h):o},function(f,m){return r=f,i=m,c()}}function $u(){return Fu()(It,It)}function Iu(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],o=t[r],a;return o(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{const a=i(o),u=i.ceil(o);return o-a(e(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,u)=>{const s=[];if(o=i.ceil(o),u=u==null?1:Math.floor(u),!(o0))return s;let l;do s.push(l=new Date(+o)),e(o,u),t(o);while(lL(a=>{if(a>=a)for(;t(a),!o(a);)a.setTime(a-1)},(a,u)=>{if(a>=a)if(u<0)for(;++u<=0;)for(;e(a,-1),!o(a););else for(;--u>=0;)for(;e(a,1),!o(a););}),n&&(i.count=(o,a)=>(tn.setTime(+o),en.setTime(+a),t(tn),t(en),Math.floor(n(tn,en))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const be=L(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);be.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?L(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):be),be.range;const ht=1e3,nt=ht*60,dt=nt*60,gt=dt*24,nn=gt*7,dr=gt*30,rn=gt*365,Yt=L(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ht)},(t,e)=>(e-t)/ht,t=>t.getUTCSeconds());Yt.range;const on=L(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ht)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getMinutes());on.range,L(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getUTCMinutes()).range;const an=L(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ht-t.getMinutes()*nt)},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getHours());an.range,L(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getUTCHours()).range;const Vt=L(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*nt)/gt,t=>t.getDate()-1);Vt.range;const un=L(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/gt,t=>t.getUTCDate()-1);un.range,L(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/gt,t=>Math.floor(t/gt)).range;function Ct(t){return L(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*nt)/nn)}const Te=Ct(0),Me=Ct(1),Yu=Ct(2),Vu=Ct(3),Ht=Ct(4),Hu=Ct(5),Lu=Ct(6);Te.range,Me.range,Yu.range,Vu.range,Ht.range,Hu.range,Lu.range;function kt(t){return L(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/nn)}const gr=kt(0),De=kt(1),Ru=kt(2),Ou=kt(3),Lt=kt(4),Wu=kt(5),Pu=kt(6);gr.range,De.range,Ru.range,Ou.range,Lt.range,Wu.range,Pu.range;const sn=L(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());sn.range,L(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()).range;const mt=L(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());mt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:L(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}),mt.range;const Nt=L(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Nt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:L(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}),Nt.range;function zu(t,e,n,r,i,o){const a=[[Yt,1,ht],[Yt,5,5*ht],[Yt,15,15*ht],[Yt,30,30*ht],[o,1,nt],[o,5,5*nt],[o,15,15*nt],[o,30,30*nt],[i,1,dt],[i,3,3*dt],[i,6,6*dt],[i,12,12*dt],[r,1,gt],[r,2,2*gt],[n,1,nn],[e,1,dr],[e,3,3*dr],[t,1,rn]];function u(l,c,h){const f=cF).right(a,f);if(m===a.length)return t.every(xn(l/rn,c/rn,h));if(m===0)return be.every(Math.max(xn(l,c,h),1));const[M,E]=a[f/a[m-1][2]53)return null;"w"in p||(p.w=1),"Z"in p?(S=cn(Kt(p.y,0,1)),W=S.getUTCDay(),S=W>4||W===0?De.ceil(S):De(S),S=un.offset(S,(p.V-1)*7),p.y=S.getUTCFullYear(),p.m=S.getUTCMonth(),p.d=S.getUTCDate()+(p.w+6)%7):(S=ln(Kt(p.y,0,1)),W=S.getDay(),S=W>4||W===0?Me.ceil(S):Me(S),S=Vt.offset(S,(p.V-1)*7),p.y=S.getFullYear(),p.m=S.getMonth(),p.d=S.getDate()+(p.w+6)%7)}else("W"in p||"U"in p)&&("w"in p||(p.w="u"in p?p.u%7:"W"in p?1:0),W="Z"in p?cn(Kt(p.y,0,1)).getUTCDay():ln(Kt(p.y,0,1)).getDay(),p.m=0,p.d="W"in p?(p.w+6)%7+p.W*7-(W+5)%7:p.w+p.U*7-(W+6)%7);return"Z"in p?(p.H+=p.Z/100|0,p.M+=p.Z%100,cn(p)):ln(p)}}function N(y,T,C,p){for(var O=0,S=T.length,W=C.length,H,B;O=W)return-1;if(H=T.charCodeAt(O++),H===37){if(H=T.charAt(O++),B=k[H in mr?T.charAt(O++):H],!B||(p=B(y,C,p))<0)return-1}else if(H!=C.charCodeAt(p++))return-1}return p}function z(y,T,C){var p=l.exec(T.slice(C));return p?(y.p=c.get(p[0].toLowerCase()),C+p[0].length):-1}function V(y,T,C){var p=m.exec(T.slice(C));return p?(y.w=M.get(p[0].toLowerCase()),C+p[0].length):-1}function I(y,T,C){var p=h.exec(T.slice(C));return p?(y.w=f.get(p[0].toLowerCase()),C+p[0].length):-1}function X(y,T,C){var p=R.exec(T.slice(C));return p?(y.m=b.get(p[0].toLowerCase()),C+p[0].length):-1}function at(y,T,C){var p=E.exec(T.slice(C));return p?(y.m=F.get(p[0].toLowerCase()),C+p[0].length):-1}function xt(y,T,C){return N(y,e,T,C)}function ne(y,T,C){return N(y,n,T,C)}function At(y,T,C){return N(y,r,T,C)}function Ot(y){return a[y.getDay()]}function G(y){return o[y.getDay()]}function Z(y){return s[y.getMonth()]}function wt(y){return u[y.getMonth()]}function fn(y){return i[+(y.getHours()>=12)]}function hn(y){return 1+~~(y.getMonth()/3)}function pt(y){return a[y.getUTCDay()]}function dn(y){return o[y.getUTCDay()]}function v(y){return s[y.getUTCMonth()]}function g(y){return u[y.getUTCMonth()]}function w(y){return i[+(y.getUTCHours()>=12)]}function U(y){return 1+~~(y.getUTCMonth()/3)}return{format:function(y){var T=_(y+="",$);return T.toString=function(){return y},T},parse:function(y){var T=D(y+="",!1);return T.toString=function(){return y},T},utcFormat:function(y){var T=_(y+="",x);return T.toString=function(){return y},T},utcParse:function(y){var T=D(y+="",!0);return T.toString=function(){return y},T}}}var mr={"-":"",_:" ",0:"0"},P=/^\s*\d+/,Gu=/^%/,Zu=/[\\^$*+?|[\]().{}]/g;function A(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o[e.toLowerCase(),n]))}function Ju(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ku(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function ju(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function ts(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function es(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function pr(t,e,n){var r=P.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function yr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ns(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function rs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function is(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function vr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function os(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function xr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function as(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function us(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function ss(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function ls(t,e,n){var r=P.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function cs(t,e,n){var r=Gu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function fs(t,e,n){var r=P.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function hs(t,e,n){var r=P.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function wr(t,e){return A(t.getDate(),e,2)}function ds(t,e){return A(t.getHours(),e,2)}function gs(t,e){return A(t.getHours()%12||12,e,2)}function ms(t,e){return A(1+Vt.count(mt(t),t),e,3)}function _r(t,e){return A(t.getMilliseconds(),e,3)}function ps(t,e){return _r(t,e)+"000"}function ys(t,e){return A(t.getMonth()+1,e,2)}function vs(t,e){return A(t.getMinutes(),e,2)}function xs(t,e){return A(t.getSeconds(),e,2)}function ws(t){var e=t.getDay();return e===0?7:e}function _s(t,e){return A(Te.count(mt(t)-1,t),e,2)}function br(t){var e=t.getDay();return e>=4||e===0?Ht(t):Ht.ceil(t)}function bs(t,e){return t=br(t),A(Ht.count(mt(t),t)+(mt(t).getDay()===4),e,2)}function Ts(t){return t.getDay()}function Ms(t,e){return A(Me.count(mt(t)-1,t),e,2)}function Ds(t,e){return A(t.getFullYear()%100,e,2)}function Cs(t,e){return t=br(t),A(t.getFullYear()%100,e,2)}function ks(t,e){return A(t.getFullYear()%1e4,e,4)}function Ns(t,e){var n=t.getDay();return t=n>=4||n===0?Ht(t):Ht.ceil(t),A(t.getFullYear()%1e4,e,4)}function Ss(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+A(e/60|0,"0",2)+A(e%60,"0",2)}function Tr(t,e){return A(t.getUTCDate(),e,2)}function As(t,e){return A(t.getUTCHours(),e,2)}function Es(t,e){return A(t.getUTCHours()%12||12,e,2)}function Us(t,e){return A(1+un.count(Nt(t),t),e,3)}function Mr(t,e){return A(t.getUTCMilliseconds(),e,3)}function Fs(t,e){return Mr(t,e)+"000"}function $s(t,e){return A(t.getUTCMonth()+1,e,2)}function Is(t,e){return A(t.getUTCMinutes(),e,2)}function Ys(t,e){return A(t.getUTCSeconds(),e,2)}function Vs(t){var e=t.getUTCDay();return e===0?7:e}function Hs(t,e){return A(gr.count(Nt(t)-1,t),e,2)}function Dr(t){var e=t.getUTCDay();return e>=4||e===0?Lt(t):Lt.ceil(t)}function Ls(t,e){return t=Dr(t),A(Lt.count(Nt(t),t)+(Nt(t).getUTCDay()===4),e,2)}function Rs(t){return t.getUTCDay()}function Os(t,e){return A(De.count(Nt(t)-1,t),e,2)}function Ws(t,e){return A(t.getUTCFullYear()%100,e,2)}function Ps(t,e){return t=Dr(t),A(t.getUTCFullYear()%100,e,2)}function zs(t,e){return A(t.getUTCFullYear()%1e4,e,4)}function Bs(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Lt(t):Lt.ceil(t),A(t.getUTCFullYear()%1e4,e,4)}function qs(){return"+0000"}function Cr(){return"%"}function kr(t){return+t}function Nr(t){return Math.floor(+t/1e3)}var Rt,St;Xs({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Xs(t){return Rt=Xu(t),St=Rt.format,Rt.parse,Rt.utcFormat,Rt.utcParse,Rt}function Gs(t){return new Date(t)}function Zs(t){return t instanceof Date?+t:+new Date(+t)}function Sr(t,e,n,r,i,o,a,u,s,l){var c=$u(),h=c.invert,f=c.domain,m=l(".%L"),M=l(":%S"),E=l("%I:%M"),F=l("%I %p"),R=l("%a %d"),b=l("%b %d"),$=l("%B"),x=l("%Y");function k(_){return(s(_)<_?m:u(_)<_?M:a(_)<_?E:o(_)<_?F:r(_)<_?i(_)<_?R:b:n(_)<_?$:x)(_)}return c.invert=function(_){return new Date(h(_))},c.domain=function(_){return arguments.length?f(Array.from(_,Zs)):f().map(Gs)},c.ticks=function(_){var D=f();return t(D[0],D[D.length-1],_??10)},c.tickFormat=function(_,D){return D==null?k:l(D)},c.nice=function(_){var D=f();return(!_||typeof _.range!="function")&&(_=e(D[0],D[D.length-1],_??10)),_?f(Iu(D,_)):c},c.copy=function(){return Uu(c,Sr(t,e,n,r,i,o,a,u,s,l))},c}function Qs(){return Ke.apply(Sr(Bu,qu,mt,sn,Te,Vt,an,on,Yt,St).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ee(t,e,n){this.k=t,this.x=e,this.y=n}ee.prototype={constructor:ee,scale:function(t){return t===1?this:new ee(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ee(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ee.prototype;const Js=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},Ks={class:"gantt-wrapper relative w-full"},js={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},tl={class:"flex items-center space-x-2"},el=["value"],nl=["disabled"],rl={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},il={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},ol={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},al={class:"text-xs text-gray-500 mt-2"},ul={class:"text-xs font-medium text-gray-600"},sl={class:"text-xs font-medium text-gray-600"},ll=["value"],cl=["title"],fl={class:"text-xs font-medium text-gray-600"},hl={class:"text-xs font-medium text-gray-600"},dl={class:"text-xs font-medium text-gray-600"},gl={class:"mt-3 flex justify-between items-center"},ml={class:"text-xs font-bold text-blue-600"},Ar=5,pl=.2,yl=Js({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"}},emits:["taskUpdated"],setup(t,{emit:e}){const n=e,r=t,i=d.ref([]),o=d.ref("All"),a=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],u=d.ref({}),s=v=>{if(v.length===0)return 1;const g=[...v].sort((U,y)=>U-y),w=Math.floor(g.length/2);return g.length%2===0?(g[w-1]+g[w])/2:g[w]},l=v=>{const g=new Set;v.forEach(y=>{y.category&&y.category.trim()&&g.add(y.category)});let w={...u.value},U=0;g.forEach(y=>{if(!w[y]){let T=a[U%a.length];w[y]=T}U++}),u.value=w},c=v=>!v||v==="Uncategorized"?"#9CA3AF":u.value[v]||"#9CA3AF",h=d.ref(!1),f=d.computed(()=>{const v=new Set;return i.value.forEach(g=>{g.category&&g.category.trim()&&v.add(g.category)}),Array.from(v).sort()}),m=d.computed(()=>{const v=new Set(["All"]);return i.value.forEach(g=>{g.category&&g.category.trim()&&v.add(g.category)}),Array.from(v).sort()}),M=d.ref(null),E=d.ref(0),F={top:40,right:20,bottom:30,left:50},R=d.ref(!1),b=d.ref(null),$=(v,g)=>{if(!v||!g)return 1;const w=new Date(v),y=new Date(g).getTime()-w.getTime();if(y<0)return 1;const T=Math.ceil(y/(1e3*60*60*24))+1;return Math.max(1,T)},x=v=>$(v.start,v.end),k=d.computed(()=>{if(i.value.length===0)return 1;const v=i.value.filter(g=>g.start&&g.end).map(x);return Math.max(1,s(v))}),_=(v,g)=>{if(!v||g<=0)return v;const w=new Date(v);return w.setDate(w.getDate()+g-1),St("%Y-%m-%d")(w)},D=v=>v.toISOString().split("T")[0],N=d.computed(()=>o.value==="All"?i.value:i.value.filter(v=>v.category===o.value)),z=d.computed(()=>Math.max(150,N.value.length*40+F.top+F.bottom)),V=d.computed(()=>{if(i.value.length===0)return new Date(r.startDate);const v=i.value.map(g=>new Date(g.start));return new Date(Math.min(...v))}),I=d.computed(()=>{if(i.value.length===0)return new Date(r.endDate);const v=i.value.map(w=>new Date(w.end)),g=new Date(Math.max(...v));return g.setDate(g.getDate()+10),g}),X=()=>{const g=(i.value.length>0?Math.max(...i.value.map(y=>y.id)):0)+1;let w;const U=(i.value.length>0?i.value[i.value.length-1].category:"Planning")||"Uncategorized";if(i.value.length>0){const y=i.value[i.value.length-1],T=new Date(y.end).getTime()-new Date(y.start).getTime(),C=new Date(y.end);C.setDate(C.getDate()+1);const p=new Date(C.getTime()+T);w={id:g,name:`Tâche Copiée ${g}`,start:D(C),end:D(p),category:U,isNew:!0}}else{const y=new Date,T=new Date;T.setDate(T.getDate()+10),w={id:g,name:`Première Tâche ${g}`,start:D(y),end:D(T),category:U,isNew:!0}}i.value.push(w),l(i.value),n("taskUpdated",i.value)},at=()=>{if(i.value.length===0)return;const v=Math.max(...i.value.map(w=>w.id)),g=i.value.filter(w=>w.id!==v);i.value=g,n("taskUpdated",i.value)},xt=()=>{const v=[...i.value].sort((g,w)=>{const U=new Date(g.start),y=new Date(w.start);return Uy?1:g.id-w.id});i.value=v,n("taskUpdated",i.value)},ne=v=>{const g=i.value.findIndex(w=>w.id===v.id);if(g!==-1){const w={...i.value[g],start:v.newStart,end:v.newEnd,category:i.value[g].category,name:v.name||i.value[g].name},U=[...i.value];U[g]=w,i.value=U,n("taskUpdated",i.value)}},At=d.computed(()=>b.value?$(b.value.start,b.value.end):0),Ot=d.computed(()=>!b.value||!b.value.y||!M.value?{}:{position:"absolute",left:`${M.value.clientWidth/2}px`,top:`${b.value.y+F.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),G=d.ref(null),Z=d.ref(null),wt=v=>{if(R.value=!1,b.value&&b.value.id===v.id){b.value=null,h.value=!1;return}if(!G.value||!Z.value)return;const g=G.value(new Date(v.start)),w=Z.value(v.name);w!==void 0&&(b.value={id:v.id,name:v.name,start:v.start,end:v.end,durationDays:$(v.start,v.end),x:g,y:w,category:v.category||"Uncategorized",newCategory:null},h.value=!1,d.nextTick(()=>{const U=document.querySelector(".gantt-edit-form input");U&&U.focus()}))};d.watch(()=>{var v;return(v=b.value)==null?void 0:v.durationDays},(v,g)=>{if(b.value&&v){v!==g&&(b.value.end=_(b.value.start,v));const w=Math.max(1,v);b.value.durationDays=w,b.value.end=_(b.value.start,w)}}),d.watch(()=>{var v;return(v=b.value)==null?void 0:v.start},(v,g)=>{b.value&&v&&(b.value.end=_(v,Math.max(1,b.value.durationDays)),v!==g&&(b.value.durationDays=$(v,b.value.end)))});const fn=()=>{const{id:v,name:g,start:w,end:U}=b.value,y=i.value.findIndex(B=>B.id===v);if(y===-1)return;const T=i.value[y];let{category:C}=b.value,p=C;if(h.value&&b.value.newCategory){const B=b.value.newCategory.trim();B&&(p=B)}p!==T.category&&l(i.value.concat([{category:p}])),h.value=!1;const O=new Date(w),S=new Date(U);if(O.getTime()>=S.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const W={...T,name:g,start:w,end:U,category:p},H=[...i.value];H[y]=W,i.value=H,n("taskUpdated",i.value),b.value=null},hn=v=>{const g=V.value,w=I.value;G.value=Qs().domain([g,w]).range([0,v-F.left-F.right]),Z.value=fr().domain(Array.isArray(N.value)?N.value.map(U=>U.name):[]).range([0,N.value.length*40]).paddingInner(.1)},pt=()=>{if(!M.value)return;E.value=M.value.clientWidth;const v=E.value;hn(v);const g=Q(M.value);g.selectAll("*").remove();const U=g.append("svg").attr("width",v).attr("height",z.value).append("g").attr("transform",`translate(${F.left}, ${F.top})`);if(U.append("g").attr("transform",`translate(0, ${N.value.length*40||50})`).call(Zr(G.value)),U.append("g").attr("class","y-axis-g").call(Qr(Z.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(Y,q){Y.preventDefault(),Y.stopPropagation();const K=q,j=N.value.find(et=>et.name===K);j&&wt(j)}),!N.value.length)return;const C=k.value*Ar,p=Vt.offset(V.value,1),O=G.value(p)-G.value(V.value);let S=!1,W,H,B=-1;const Ce=Z.value.step(),ke=o.value!=="All",vl=Oo().on("start",function(Y,q){if(b.value){Q(this).style("cursor","pointer"),Y.sourceEvent.stopPropagation();return}R.value=!1,S=!1,W=Y.x,H=Y.y,B=N.value.findIndex(K=>K.id===q.id),Q(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(Y,q){if(b.value)return;const K=Y.x-W,j=Y.y-H;if(Math.abs(j)>5&&!ke)S=!0,Q(this).attr("transform",`translate(0, ${j})`);else if(Math.abs(K)>5||ke){R.value=!0,S=!1;const et=G.value(new Date(q.start))+K;Q(this).select("rect").attr("x",et),Q(this).select("text").attr("x",et+5),Q(this).attr("transform",null)}}).on("end",function(Y,q){if(Q(this).style("cursor","grab"),b.value){Q(this).classed("dragging",!1).attr("transform",null);return}if(Q(this).classed("dragging",!1).attr("transform",null),S&&!ke){const K=Z.value(q.name)+(Y.y-H),j=Math.round(K/Ce),et=Math.max(0,Math.min(N.value.length-1,j));if(et!==B){const _t=N.value[B].id,yt=i.value.findIndex(ie=>ie.id===_t),re=N.value[et].id,gn=i.value.findIndex(ie=>ie.id===re),ut=[...i.value],[Er]=ut.splice(yt,1);ut.splice(gn,0,Er),i.value=ut,n("taskUpdated",i.value)}else pt()}else if(R.value){const K=G.value(new Date(q.start))+(Y.x-W),j=G.value.invert(K),et=new Date(q.end).getTime()-new Date(q.start).getTime(),_t=new Date(j.getTime()+et),yt=St("%Y-%m-%d")(j),re=St("%Y-%m-%d")(_t);ne({id:q.id,name:q.name,newStart:yt,newEnd:re})}else pt();R.value=!1,S=!1});N.value.forEach(Y=>{const q=G.value(new Date(Y.start)),K=Z.value(Y.name),j=x(Y);let et,_t=!1;if(j>C){_t=!0;const ut=C*O,ie=(j-C)*pl*O;et=ut+ie}else et=G.value(new Date(Y.end))-q;const yt=U.append("g").datum(Y).attr("class","task-group").on("contextmenu",function(ut){ut.preventDefault(),ut.sourceEvent?ut.sourceEvent.stopPropagation():ut.stopPropagation(),wt(Y)}),re=yt.append("rect").attr("x",q).attr("y",K).attr("width",et).attr("height",Z.value.bandwidth()).attr("fill",c(Y.category)).attr("rx",4).style("cursor","grab");_t&&(re.attr("stroke","black").attr("stroke-width",2),yt.append("title").text(`Durée réelle: ${j} jours. Affiché plié (Whale Task) car > ${C} jours (${Ar}x la médiane).`)),vl(yt);const gn=_t?`📐: ${Y.name}`:Y.name;yt.append("text").text(gn).attr("x",q+5).attr("y",K+Z.value.bandwidth()/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",_t?"bold":"normal"),ke&&yt.append("text").text("🚫").attr("x",-45).attr("y",K+Z.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})},dn=d.computed(()=>b.value?c(b.value.category):"#9CA3AF");return d.watch(()=>r.tasks,v=>{Array.isArray(v)?(i.value=v.map(g=>{const{color:w,...U}=g;return{...U}}),l(i.value),pt()):(i.value=[],u.value={},pt())},{immediate:!0,deep:!0}),d.onMounted(()=>{pt(),window.addEventListener("resize",pt)}),d.watch([()=>i.value,V,I,o],pt,{deep:!0}),(v,g)=>(d.openBlock(),d.createElementBlock("div",Ks,[d.createElementVNode("div",js,[d.createElementVNode("div",tl,[g[9]||(g[9]=d.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),d.withDirectives(d.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(m.value,w=>(d.openBlock(),d.createElementBlock("option",{key:w,value:w,style:d.normalizeStyle({color:c(w)})},d.toDisplayString(w),13,el))),128))],512),[[d.vModelSelect,o.value]])]),d.createElementVNode("button",{onClick:X,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),d.createElementVNode("button",{onClick:xt,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),d.createElementVNode("button",{onClick:at,disabled:i.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,nl)]),d.createElementVNode("div",{ref_key:"ganttContainer",ref:M,class:"relative w-full overflow-x-auto"},[N.value.length===0&&i.value.length>0?(d.openBlock(),d.createElementBlock("div",rl,[d.createElementVNode("p",il," Aucune tâche ne correspond au filtre '"+d.toDisplayString(o.value)+"'. ",1)])):i.value.length===0?(d.openBlock(),d.createElementBlock("div",ol,[...g[10]||(g[10]=[d.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):d.createCommentVNode("",!0)],512),d.createElementVNode("div",null,[d.createElementVNode("p",al," Dates du graphique calculées : "+d.toDisplayString(St("%Y-%m-%d")(V.value))+" à "+d.toDisplayString(St("%Y-%m-%d")(I.value)),1),g[11]||(g[11]=d.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: ** dans leur nom. **Glissez verticalement** pour réordonner (désactivé si un filtre est appliqué).) ",-1))]),b.value?(d.openBlock(),d.createElementBlock("div",{key:0,style:d.normalizeStyle(Ot.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[g[17]||(g[17]=d.createElementVNode("div",{class:"text-sm font-bold text-gray-700 mb-2"},"Éditer",-1)),d.createElementVNode("label",ul,[g[12]||(g[12]=d.createTextVNode(" Nom: ",-1)),d.withDirectives(d.createElementVNode("input",{type:"text","onUpdate:modelValue":g[1]||(g[1]=w=>b.value.name=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.name]])]),d.createElementVNode("label",sl,[g[13]||(g[13]=d.createTextVNode(" Catégorie: ",-1)),h.value?d.withDirectives((d.openBlock(),d.createElementBlock("input",{key:1,type:"text","onUpdate:modelValue":g[3]||(g[3]=w=>b.value.newCategory=w),placeholder:"Nouvelle catégorie...",class:"p-1 border border-blue-500 rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512)),[[d.vModelText,b.value.newCategory]]):d.withDirectives((d.openBlock(),d.createElementBlock("select",{key:0,"onUpdate:modelValue":g[2]||(g[2]=w=>b.value.category=w),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},[(d.openBlock(!0),d.createElementBlock(d.Fragment,null,d.renderList(f.value,w=>(d.openBlock(),d.createElementBlock("option",{key:w,value:w,style:d.normalizeStyle({color:c(w)})},d.toDisplayString(w),13,ll))),128))],512)),[[d.vModelSelect,b.value.category]]),d.createElementVNode("button",{onClick:g[4]||(g[4]=w=>h.value=!h.value),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full transition duration-150",title:h.value?"Annuler l'entrée":"Créer une nouvelle catégorie"},d.toDisplayString(h.value?"×":"+"),9,cl),d.createElementVNode("button",{style:d.normalizeStyle({backgroundColor:dn.value}),type:"button",class:"text-gray-500 hover:text-blue-600 font-bold w-6 h-6 flex items-center justify-center border rounded-full"},"        ",4)]),g[18]||(g[18]=d.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),d.createElementVNode("label",fl,[g[14]||(g[14]=d.createTextVNode(" Durée (jours): ",-1)),d.withDirectives(d.createElementVNode("input",{type:"number","onUpdate:modelValue":g[5]||(g[5]=w=>b.value.durationDays=w),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.durationDays,void 0,{number:!0}]])]),d.createElementVNode("label",hl,[g[15]||(g[15]=d.createTextVNode(" Début: ",-1)),d.withDirectives(d.createElementVNode("input",{type:"date","onUpdate:modelValue":g[6]||(g[6]=w=>b.value.start=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.start]])]),d.createElementVNode("label",dl,[g[16]||(g[16]=d.createTextVNode(" Fin: ",-1)),d.withDirectives(d.createElementVNode("input",{type:"date","onUpdate:modelValue":g[7]||(g[7]=w=>b.value.end=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[d.vModelText,b.value.end]])]),d.createElementVNode("div",gl,[d.createElementVNode("span",ml," Durée effective: "+d.toDisplayString(At.value)+" j. ",1)]),d.createElementVNode("button",{onClick:fn,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),d.createElementVNode("button",{onClick:g[8]||(g[8]=w=>b.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):d.createCommentVNode("",!0)]))}},[["__scopeId","data-v-b7570e51"]]);return{install(t){t.component("GanttChart",yl)}}}); +(function(h,wt){typeof exports=="object"&&typeof module<"u"?module.exports=wt(require("vue")):typeof define=="function"&&define.amd?define(["vue"],wt):(h=typeof globalThis<"u"?globalThis:h||self,h.GanttLib=wt(h.Vue))})(this,function(h){"use strict";function wt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Xr(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ie(t){let e,n,r;t.length!==2?(e=wt,n=(u,s)=>wt(t(u),s),r=(u,s)=>t(u)-s):(e=t===wt||t===Xr?t:Gr,n=t,r=t);function i(u,s,l=0,c=u.length){if(l>>1;n(u[d],s)<0?l=d+1:c=d}while(l>>1;n(u[d],s)<=0?l=d+1:c=d}while(ll&&r(u[d-1],s)>-r(u[d],s)?d-1:d}return{left:i,center:o,right:a}}function Gr(){return 0}function Zr(t){return t===null?NaN:+t}const Qr=Ie(wt).right;Ie(Zr).center;class Mn extends Map{constructor(e,n=jr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(Dn(this,e))}has(e){return super.has(Dn(this,e))}set(e,n){return super.set(Jr(this,e),n)}delete(e){return super.delete(Kr(this,e))}}function Dn({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Jr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Kr({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function jr(t){return t!==null&&typeof t=="object"?t.valueOf():t}const ti=Math.sqrt(50),ei=Math.sqrt(10),ni=Math.sqrt(2);function Cn(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=ti?10:a>=ei?5:a>=ni?2:1;let u,s,l;return i<0?(l=Math.pow(10,-i)/o,u=Math.round(t*l),s=Math.round(e*l),u/le&&--s,l=-l):(l=Math.pow(10,i)*o,u=Math.round(t/l),s=Math.round(e/l),u*le&&--s),s+t(e)}function si(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function li(){return!this.__axis}function En(t,e){var n=[],r=null,i=null,a=6,o=6,u=3,s=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=t===Ye||t===Jt?-1:1,c=t===Jt||t===Le?"x":"y",d=t===Ye||t===He?ai:oi;function f(m){var C=r??(e.ticks?e.ticks.apply(e,n):e.domain()),N=i??(e.tickFormat?e.tickFormat.apply(e,n):ii),F=Math.max(a,0)+u,b=e.range(),I=+b[0]+s,$=+b[b.length-1]+s,v=(e.bandwidth?si:ui)(e.copy(),s),k=m.selection?m.selection():m,_=k.selectAll(".domain").data([null]),T=k.selectAll(".tick").data(C,e).order(),V=T.exit(),Y=T.enter().append("g").attr("class","tick"),z=T.select("line"),L=T.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),T=T.merge(Y),z=z.merge(Y.append("line").attr("stroke","currentColor").attr(c+"2",l*a)),L=L.merge(Y.append("text").attr("fill","currentColor").attr(c,l*F).attr("dy",t===Ye?"0em":t===He?"0.71em":"0.32em")),m!==k&&(_=_.transition(m),T=T.transition(m),z=z.transition(m),L=L.transition(m),V=V.transition(m).attr("opacity",Sn).attr("transform",function(Z){return isFinite(Z=v(Z))?d(Z+s):this.getAttribute("transform")}),Y.attr("opacity",Sn).attr("transform",function(Z){var ot=this.parentNode.__axis;return d((ot&&isFinite(ot=ot(Z))?ot:v(Z))+s)})),V.remove(),_.attr("d",t===Jt||t===Le?o?"M"+l*o+","+I+"H"+s+"V"+$+"H"+l*o:"M"+s+","+I+"V"+$:o?"M"+I+","+l*o+"V"+s+"H"+$+"V"+l*o:"M"+I+","+s+"H"+$),T.attr("opacity",1).attr("transform",function(Z){return d(v(Z)+s)}),z.attr(c+"2",l*a),L.attr(c,l*F).text(N),k.filter(li).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Le?"start":t===Jt?"end":"middle"),k.each(function(){this.__axis=v})}return f.scale=function(m){return arguments.length?(e=m,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(m){return arguments.length?(n=m==null?[]:Array.from(m),f):n.slice()},f.tickValues=function(m){return arguments.length?(r=m==null?null:Array.from(m),f):r&&r.slice()},f.tickFormat=function(m){return arguments.length?(i=m,f):i},f.tickSize=function(m){return arguments.length?(a=o=+m,f):a},f.tickSizeInner=function(m){return arguments.length?(a=+m,f):a},f.tickSizeOuter=function(m){return arguments.length?(o=+m,f):o},f.tickPadding=function(m){return arguments.length?(u=+m,f):u},f.offset=function(m){return arguments.length?(s=+m,f):s},f}function ci(t){return En(He,t)}function fi(t){return En(Jt,t)}var hi={value:()=>{}};function Re(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}he.prototype=Re.prototype={constructor:he,on:function(t,e){var n=this._,r=di(t+"",n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a0)for(var n=new Array(i),r=0,i,a;r=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Un.hasOwnProperty(e)?{space:Un[e],local:t}:t}function mi(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===qe&&e.documentElement.namespaceURI===qe?e.createElement(t):e.createElementNS(n,t)}}function pi(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Fn(t){var e=de(t);return(e.local?pi:mi)(e)}function yi(){}function Oe(t){return t==null?yi:function(){return this.querySelector(t)}}function xi(t){typeof t!="function"&&(t=Oe(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=$&&($=I+1);!(k=F[$])&&++$=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Wi(t){t||(t=Pi);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),a=0;ae?1:t>=e?0:NaN}function zi(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Bi(){return Array.from(this)}function Xi(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?ia:typeof e=="function"?oa:aa)(t,e,n??"")):Lt(this.node(),t)}function Lt(t,e){return t.style.getPropertyValue(e)||Ln(t).getComputedStyle(t,null).getPropertyValue(e)}function sa(t){return function(){delete this[t]}}function la(t,e){return function(){this[t]=e}}function ca(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function fa(t,e){return arguments.length>1?this.each((e==null?sa:typeof e=="function"?ca:la)(t,e)):this.node()[t]}function Hn(t){return t.trim().split(/^|\s+/)}function We(t){return t.classList||new Rn(t)}function Rn(t){this._node=t,this._names=Hn(t.getAttribute("class")||"")}Rn.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function qn(t,e){for(var n=We(t),r=-1,i=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Ha(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,a;n()=>t;function ze(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:a,x:o,y:u,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}ze.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Ja(t){return!t.ctrlKey&&!t.button}function Ka(){return this.parentNode}function ja(t,e){return e??{x:t.x,y:t.y}}function to(){return navigator.maxTouchPoints||"ontouchstart"in this}function eo(){var t=Ja,e=Ka,n=ja,r=to,i={},a=Re("start","drag","end"),o=0,u,s,l,c,d=0;function f(v){v.on("mousedown.drag",m).filter(r).on("touchstart.drag",F).on("touchmove.drag",b,Ga).on("touchend.drag touchcancel.drag",I).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(v,k){if(!(c||!t.call(this,v,k))){var _=$(this,e.call(this,v,k),v,k,"mouse");_&&(Q(v.view).on("mousemove.drag",C,jt).on("mouseup.drag",N,jt),Za(v.view),Pe(v),l=!1,u=v.clientX,s=v.clientY,_("start",v))}}function C(v){if(Ht(v),!l){var k=v.clientX-u,_=v.clientY-s;l=k*k+_*_>d}i.mouse("drag",v)}function N(v){Q(v.view).on("mousemove.drag mouseup.drag",null),Qa(v.view,l),Ht(v),i.mouse("end",v)}function F(v,k){if(t.call(this,v,k)){var _=v.changedTouches,T=e.call(this,v,k),V=_.length,Y,z;for(Y=0;Y>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ye(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ye(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=ro.exec(t))?new J(e[1],e[2],e[3],1):(e=io.exec(t))?new J(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=ao.exec(t))?ye(e[1],e[2],e[3],e[4]):(e=oo.exec(t))?ye(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=uo.exec(t))?jn(e[1],e[2]/100,e[3]/100,1):(e=so.exec(t))?jn(e[1],e[2]/100,e[3]/100,e[4]):Xn.hasOwnProperty(t)?Qn(Xn[t]):t==="transparent"?new J(NaN,NaN,NaN,0):null}function Qn(t){return new J(t>>16&255,t>>8&255,t&255,1)}function ye(t,e,n,r){return r<=0&&(t=e=n=NaN),new J(t,e,n,r)}function fo(t){return t instanceof te||(t=Ct(t)),t?(t=t.rgb(),new J(t.r,t.g,t.b,t.opacity)):new J}function Xe(t,e,n,r){return arguments.length===1?fo(t):new J(t,e,n,r??1)}function J(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Be(J,Xe,Bn(te,{brighter(t){return t=t==null?pe:Math.pow(pe,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ee:Math.pow(ee,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new J(kt(this.r),kt(this.g),kt(this.b),xe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Jn,formatHex:Jn,formatHex8:ho,formatRgb:Kn,toString:Kn}));function Jn(){return`#${Nt(this.r)}${Nt(this.g)}${Nt(this.b)}`}function ho(){return`#${Nt(this.r)}${Nt(this.g)}${Nt(this.b)}${Nt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Kn(){const t=xe(this.opacity);return`${t===1?"rgb(":"rgba("}${kt(this.r)}, ${kt(this.g)}, ${kt(this.b)}${t===1?")":`, ${t})`}`}function xe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function kt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Nt(t){return t=kt(t),(t<16?"0":"")+t.toString(16)}function jn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new rt(t,e,n,r)}function tr(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);if(t instanceof te||(t=Ct(t)),!t)return new rt;if(t instanceof rt)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,u=a-i,s=(a+i)/2;return u?(e===a?o=(n-r)/u+(n0&&s<1?0:o,new rt(o,u,s,t.opacity)}function go(t,e,n,r){return arguments.length===1?tr(t):new rt(t,e,n,r??1)}function rt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Be(rt,go,Bn(te,{brighter(t){return t=t==null?pe:Math.pow(pe,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ee:Math.pow(ee,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new J(Ge(t>=240?t-240:t+120,i,r),Ge(t,i,r),Ge(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new rt(er(this.h),ve(this.s),ve(this.l),xe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=xe(this.opacity);return`${t===1?"hsl(":"hsla("}${er(this.h)}, ${ve(this.s)*100}%, ${ve(this.l)*100}%${t===1?")":`, ${t})`}`}}));function er(t){return t=(t||0)%360,t<0?t+360:t}function ve(t){return Math.max(0,Math.min(1,t||0))}function Ge(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Ze=t=>()=>t;function mo(t,e){return function(n){return t+n*e}}function po(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function yo(t){return(t=+t)==1?nr:function(e,n){return n-e?po(e,n,t):Ze(isNaN(e)?n:e)}}function nr(t,e){var n=e-t;return n?mo(t,n):Ze(isNaN(t)?e:t)}const we=function t(e){var n=yo(e);function r(i,a){var o=n((i=Xe(i)).r,(a=Xe(a)).r),u=n(i.g,a.g),s=n(i.b,a.b),l=nr(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=u(c),i.b=s(c),i.opacity=l(c),i+""}}return r.gamma=t,r}(1);function xo(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(a){for(i=0;in&&(a=e.slice(n,a),u[o]?u[o]+=a:u[++o]=a),(r=r[0])===(i=i[0])?u[o]?u[o]+=i:u[++o]=i:(u[++o]=null,s.push({i:o,x:it(r,i)})),n=Je.lastIndex;return n180?c+=360:c-l>180&&(l+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:it(l,c)})):c&&d.push(i(d)+"rotate("+c+r)}function u(l,c,d,f){l!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:it(l,c)}):c&&d.push(i(d)+"skewX("+c+r)}function s(l,c,d,f,m,C){if(l!==d||c!==f){var N=m.push(i(m)+"scale(",null,",",null,")");C.push({i:N-4,x:it(l,d)},{i:N-2,x:it(c,f)})}else(d!==1||f!==1)&&m.push(i(m)+"scale("+d+","+f+")")}return function(l,c){var d=[],f=[];return l=t(l),c=t(c),a(l.translateX,l.translateY,c.translateX,c.translateY,d,f),o(l.rotate,c.rotate,d,f),u(l.skewX,c.skewX,d,f),s(l.scaleX,l.scaleY,c.scaleX,c.scaleY,d,f),l=c=null,function(m){for(var C=-1,N=f.length,F;++C=0&&t._call.call(void 0,e),t=t._next;--qt}function cr(){St=(Te=oe.now())+Me,qt=re=0;try{Ao()}finally{qt=0,Fo(),St=0}}function Uo(){var t=oe.now(),e=t-Te;e>ur&&(Me-=e,Te=t)}function Fo(){for(var t,e=be,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:be=n);ae=t,en(r)}function en(t){if(!qt){re&&(re=clearTimeout(re));var e=t-St;e>24?(t<1/0&&(re=setTimeout(cr,t-oe.now()-Me)),ie&&(ie=clearInterval(ie))):(ie||(Te=oe.now(),ie=setInterval(Uo,ur)),qt=1,sr(cr))}}function fr(t,e,n){var r=new De;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var $o=Re("start","end","cancel","interrupt"),Vo=[],hr=0,dr=1,nn=2,Ce=3,gr=4,rn=5,ke=6;function Ne(t,e,n,r,i,a){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Io(t,n,{name:e,index:r,group:i,on:$o,tween:Vo,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:hr})}function an(t,e){var n=at(t,e);if(n.state>hr)throw new Error("too late; already scheduled");return n}function lt(t,e){var n=at(t,e);if(n.state>Ce)throw new Error("too late; already running");return n}function at(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Io(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=lr(a,0,n.time);function a(l){n.state=dr,n.timer.restart(o,n.delay,n.time),n.delay<=l&&o(l-n.delay)}function o(l){var c,d,f,m;if(n.state!==dr)return s();for(c in r)if(m=r[c],m.name===n.name){if(m.state===Ce)return fr(o);m.state===gr?(m.state=ke,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete r[c]):+cnn&&r.state=0&&(e=e.slice(0,n)),!e||e==="start"})}function du(t,e,n){var r,i,a=hu(e)?an:lt;return function(){var o=a(this,t),u=o.on;u!==r&&(i=(r=u).copy()).on(e,n),o.on=i}}function gu(t,e){var n=this._id;return arguments.length<2?at(this.node(),n).on.on(t):this.each(du(n,t,e))}function mu(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function pu(){return this.on("end.remove",mu(this._id))}function yu(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Oe(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;oe&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function zu(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?Bu:zu,s=l=null,d}function d(f){return f==null||isNaN(f=+f)?a:(s||(s=u(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(i((l||(l=u(e,t.map(r),it)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,Wu),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=Do,c()},d.clamp=function(f){return arguments.length?(o=f?!0:Ot,c()):o!==Ot},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,m){return r=f,i=m,c()}}function Zu(){return Gu()(Ot,Ot)}function Qu(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],o;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const s=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return s;let l;do s.push(l=new Date(+a)),e(a,u),t(a);while(lH(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;e(o,-1),!a(o););else for(;--u>=0;)for(;e(o,1),!a(o););}),n&&(i.count=(a,o)=>(ln.setTime(+a),cn.setTime(+o),t(ln),t(cn),Math.floor(n(ln,cn))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?o=>r(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Se=H(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Se.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?H(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Se),Se.range;const gt=1e3,nt=gt*60,mt=nt*60,pt=mt*24,fn=pt*7,br=pt*30,hn=pt*365,Wt=H(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCSeconds());Wt.range;const dn=H(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*gt)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getMinutes());dn.range,H(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getUTCMinutes()).range;const gn=H(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*gt-t.getMinutes()*nt)},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getHours());gn.range,H(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCHours()).range;const Pt=H(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*nt)/pt,t=>t.getDate()-1);Pt.range;const mn=H(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/pt,t=>t.getUTCDate()-1);mn.range,H(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/pt,t=>Math.floor(t/pt)).range;function Et(t){return H(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*nt)/fn)}const Ee=Et(0),Ae=Et(1),Ju=Et(2),Ku=Et(3),zt=Et(4),ju=Et(5),ts=Et(6);Ee.range,Ae.range,Ju.range,Ku.range,zt.range,ju.range,ts.range;function At(t){return H(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/fn)}const Tr=At(0),Ue=At(1),es=At(2),ns=At(3),Bt=At(4),rs=At(5),is=At(6);Tr.range,Ue.range,es.range,ns.range,Bt.range,rs.range,is.range;const pn=H(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());pn.range,H(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()).range;const yt=H(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:H(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}),yt.range;const Ut=H(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Ut.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:H(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}),Ut.range;function as(t,e,n,r,i,a){const o=[[Wt,1,gt],[Wt,5,5*gt],[Wt,15,15*gt],[Wt,30,30*gt],[a,1,nt],[a,5,5*nt],[a,15,15*nt],[a,30,30*nt],[i,1,mt],[i,3,3*mt],[i,6,6*mt],[i,12,12*mt],[r,1,pt],[r,2,2*pt],[n,1,fn],[e,1,br],[e,3,3*br],[t,1,hn]];function u(l,c,d){const f=cF).right(o,f);if(m===o.length)return t.every(Nn(l/hn,c/hn,d));if(m===0)return Se.every(Math.max(Nn(l,c,d),1));const[C,N]=o[f/o[m-1][2]53)return null;"w"in p||(p.w=1),"Z"in p?(E=xn(ue(p.y,0,1)),O=E.getUTCDay(),E=O>4||O===0?Ue.ceil(E):Ue(E),E=mn.offset(E,(p.V-1)*7),p.y=E.getUTCFullYear(),p.m=E.getUTCMonth(),p.d=E.getUTCDate()+(p.w+6)%7):(E=yn(ue(p.y,0,1)),O=E.getDay(),E=O>4||O===0?Ae.ceil(E):Ae(E),E=Pt.offset(E,(p.V-1)*7),p.y=E.getFullYear(),p.m=E.getMonth(),p.d=E.getDate()+(p.w+6)%7)}else("W"in p||"U"in p)&&("w"in p||(p.w="u"in p?p.u%7:"W"in p?1:0),O="Z"in p?xn(ue(p.y,0,1)).getUTCDay():yn(ue(p.y,0,1)).getDay(),p.m=0,p.d="W"in p?(p.w+6)%7+p.W*7-(O+5)%7:p.w+p.U*7-(O+6)%7);return"Z"in p?(p.H+=p.Z/100|0,p.M+=p.Z%100,xn(p)):yn(p)}}function V(y,M,D,p){for(var q=0,E=M.length,O=D.length,W,K;q=O)return-1;if(W=M.charCodeAt(q++),W===37){if(W=M.charAt(q++),K=k[W in Mr?M.charAt(q++):W],!K||(p=K(y,D,p))<0)return-1}else if(W!=D.charCodeAt(p++))return-1}return p}function Y(y,M,D){var p=l.exec(M.slice(D));return p?(y.p=c.get(p[0].toLowerCase()),D+p[0].length):-1}function z(y,M,D){var p=m.exec(M.slice(D));return p?(y.w=C.get(p[0].toLowerCase()),D+p[0].length):-1}function L(y,M,D){var p=d.exec(M.slice(D));return p?(y.w=f.get(p[0].toLowerCase()),D+p[0].length):-1}function Z(y,M,D){var p=b.exec(M.slice(D));return p?(y.m=I.get(p[0].toLowerCase()),D+p[0].length):-1}function ot(y,M,D){var p=N.exec(M.slice(D));return p?(y.m=F.get(p[0].toLowerCase()),D+p[0].length):-1}function bt(y,M,D){return V(y,e,M,D)}function fe(y,M,D){return V(y,n,M,D)}function Ft(y,M,D){return V(y,r,M,D)}function R(y){return o[y.getDay()]}function tt(y){return a[y.getDay()]}function ut(y){return s[y.getMonth()]}function Tt(y){return u[y.getMonth()]}function vn(y){return i[+(y.getHours()>=12)]}function wn(y){return 1+~~(y.getMonth()/3)}function _n(y){return o[y.getUTCDay()]}function xt(y){return a[y.getUTCDay()]}function x(y){return s[y.getUTCMonth()]}function g(y){return u[y.getUTCMonth()]}function w(y){return i[+(y.getUTCHours()>=12)]}function S(y){return 1+~~(y.getUTCMonth()/3)}return{format:function(y){var M=_(y+="",$);return M.toString=function(){return y},M},parse:function(y){var M=T(y+="",!1);return M.toString=function(){return y},M},utcFormat:function(y){var M=_(y+="",v);return M.toString=function(){return y},M},utcParse:function(y){var M=T(y+="",!0);return M.toString=function(){return y},M}}}var Mr={"-":"",_:" ",0:"0"},P=/^\s*\d+/,ls=/^%/,cs=/[\\^$*+?|[\]().{}]/g;function A(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function hs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function ds(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function gs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function ms(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function ps(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=P.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ys(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function xs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function vs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function kr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ws(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function _s(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function bs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ts(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ms(t,e,n){var r=P.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ds(t,e,n){var r=ls.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Cs(t,e,n){var r=P.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function ks(t,e,n){var r=P.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Sr(t,e){return A(t.getDate(),e,2)}function Ns(t,e){return A(t.getHours(),e,2)}function Ss(t,e){return A(t.getHours()%12||12,e,2)}function Es(t,e){return A(1+Pt.count(yt(t),t),e,3)}function Er(t,e){return A(t.getMilliseconds(),e,3)}function As(t,e){return Er(t,e)+"000"}function Us(t,e){return A(t.getMonth()+1,e,2)}function Fs(t,e){return A(t.getMinutes(),e,2)}function $s(t,e){return A(t.getSeconds(),e,2)}function Vs(t){var e=t.getDay();return e===0?7:e}function Is(t,e){return A(Ee.count(yt(t)-1,t),e,2)}function Ar(t){var e=t.getDay();return e>=4||e===0?zt(t):zt.ceil(t)}function Ys(t,e){return t=Ar(t),A(zt.count(yt(t),t)+(yt(t).getDay()===4),e,2)}function Ls(t){return t.getDay()}function Hs(t,e){return A(Ae.count(yt(t)-1,t),e,2)}function Rs(t,e){return A(t.getFullYear()%100,e,2)}function qs(t,e){return t=Ar(t),A(t.getFullYear()%100,e,2)}function Os(t,e){return A(t.getFullYear()%1e4,e,4)}function Ws(t,e){var n=t.getDay();return t=n>=4||n===0?zt(t):zt.ceil(t),A(t.getFullYear()%1e4,e,4)}function Ps(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+A(e/60|0,"0",2)+A(e%60,"0",2)}function Ur(t,e){return A(t.getUTCDate(),e,2)}function zs(t,e){return A(t.getUTCHours(),e,2)}function Bs(t,e){return A(t.getUTCHours()%12||12,e,2)}function Xs(t,e){return A(1+mn.count(Ut(t),t),e,3)}function Fr(t,e){return A(t.getUTCMilliseconds(),e,3)}function Gs(t,e){return Fr(t,e)+"000"}function Zs(t,e){return A(t.getUTCMonth()+1,e,2)}function Qs(t,e){return A(t.getUTCMinutes(),e,2)}function Js(t,e){return A(t.getUTCSeconds(),e,2)}function Ks(t){var e=t.getUTCDay();return e===0?7:e}function js(t,e){return A(Tr.count(Ut(t)-1,t),e,2)}function $r(t){var e=t.getUTCDay();return e>=4||e===0?Bt(t):Bt.ceil(t)}function tl(t,e){return t=$r(t),A(Bt.count(Ut(t),t)+(Ut(t).getUTCDay()===4),e,2)}function el(t){return t.getUTCDay()}function nl(t,e){return A(Ue.count(Ut(t)-1,t),e,2)}function rl(t,e){return A(t.getUTCFullYear()%100,e,2)}function il(t,e){return t=$r(t),A(t.getUTCFullYear()%100,e,2)}function al(t,e){return A(t.getUTCFullYear()%1e4,e,4)}function ol(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Bt(t):Bt.ceil(t),A(t.getUTCFullYear()%1e4,e,4)}function ul(){return"+0000"}function Vr(){return"%"}function Ir(t){return+t}function Yr(t){return Math.floor(+t/1e3)}var Xt,_t;sl({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function sl(t){return Xt=ss(t),_t=Xt.format,Xt.parse,Xt.utcFormat,Xt.utcParse,Xt}function ll(t){return new Date(t)}function cl(t){return t instanceof Date?+t:+new Date(+t)}function Lr(t,e,n,r,i,a,o,u,s,l){var c=Zu(),d=c.invert,f=c.domain,m=l(".%L"),C=l(":%S"),N=l("%I:%M"),F=l("%I %p"),b=l("%a %d"),I=l("%b %d"),$=l("%B"),v=l("%Y");function k(_){return(s(_)<_?m:u(_)<_?C:o(_)<_?N:a(_)<_?F:r(_)<_?i(_)<_?b:I:n(_)<_?$:v)(_)}return c.invert=function(_){return new Date(d(_))},c.domain=function(_){return arguments.length?f(Array.from(_,cl)):f().map(ll)},c.ticks=function(_){var T=f();return t(T[0],T[T.length-1],_??10)},c.tickFormat=function(_,T){return T==null?k:l(T)},c.nice=function(_){var T=f();return(!_||typeof _.range!="function")&&(_=e(T[0],T[T.length-1],_??10)),_?f(Qu(T,_)):c},c.copy=function(){return Xu(c,Lr(t,e,n,r,i,a,o,u,s,l))},c}function fl(){return un.apply(Lr(os,us,yt,pn,Ee,Pt,gn,dn,Wt,_t).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ce(t,e,n){this.k=t,this.x=e,this.y=n}ce.prototype={constructor:ce,scale:function(t){return t===1?this:new ce(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ce(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ce.prototype;const hl=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},dl={class:"gantt-wrapper relative w-full"},gl={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},ml={class:"flex items-center space-x-2"},pl=["value"],yl=["disabled"],xl={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},vl={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},wl={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},_l={class:"text-xs text-gray-500 mt-2"},bl={class:"text-xs font-medium text-gray-600"},Tl={class:"text-xs font-medium text-gray-600"},Ml={class:"flex justify-between items-center mb-1"},Dl=["value"],Cl={class:"space-y-1"},kl={class:"flex items-center justify-between text-xs font-medium text-gray-600"},Nl={for:"enable-freq",class:"flex items-center space-x-2 cursor-pointer"},Sl={key:0,class:"text-xs font-medium text-gray-600"},El={class:"text-xs font-medium text-gray-600"},Al={class:"text-xs font-medium text-gray-600"},Ul={class:"text-xs font-medium text-gray-600"},Fl={class:"mt-3 flex justify-between items-center"},$l={class:"text-xs font-bold text-blue-600"},Hr=5,Vl=.2,Il=hl({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"},availableCategoriesList:{type:Array,default:()=>[]}},emits:["taskUpdated"],setup(t,{emit:e}){const n=e,r=t,i=h.ref([]),a=h.ref("All"),o=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],u=h.ref({}),s=x=>{if(x.length===0)return 1;const g=[...x].sort((S,y)=>S-y),w=Math.floor(g.length/2);return g.length%2===0?(g[w-1]+g[w])/2:g[w]},l=x=>{const g=new Set;x.forEach(y=>{y.category&&y.category.trim()&&g.add(y.category)}),r.availableCategoriesList.forEach(y=>{y&&y.trim()&&g.add(y)});let w={...u.value},S=0;g.forEach(y=>{if(!w[y]){let M=o[S%o.length];w[y]=M}S++}),u.value=w},c=x=>!x||x==="Uncategorized"?"#9CA3AF":u.value[x]||"#9CA3AF",d=h.computed(()=>{const x=r.availableCategoriesList.filter(g=>g&&g.trim()).sort();return x.length===0?["Uncategorized"]:x}),f=h.computed(()=>{const x=new Set(["All"]);return r.availableCategoriesList.forEach(g=>{g&&g.trim()&&x.add(g)}),Array.from(x).sort()}),m=h.ref(null),C=h.ref(0),N={top:40,right:20,bottom:30,left:50},F=h.ref(!1),b=h.ref(null),I=(x,g)=>{if(!x||!g)return 1;const w=new Date(x),y=new Date(g).getTime()-w.getTime();if(y<0)return 1;const M=Math.ceil(y/(1e3*60*60*24))+1;return Math.max(1,M)},$=x=>I(x.start,x.end),v=h.computed(()=>{if(i.value.length===0)return 1;const x=i.value.filter(g=>g.start&&g.end).map($);return Math.max(1,s(x))}),k=(x,g)=>{if(!x||g<=0)return x;const w=new Date(x);return w.setDate(w.getDate()+g-1),_t("%Y-%m-%d")(w)},_=x=>x.toISOString().split("T")[0],T=h.computed(()=>a.value==="All"?i.value:i.value.filter(x=>x.category===a.value)),V=h.computed(()=>Math.max(150,T.value.length*40+N.top+N.bottom)),Y=h.computed(()=>{if(i.value.length===0)return new Date(r.startDate);const x=i.value.map(g=>new Date(g.start));return new Date(Math.min(...x))}),z=h.computed(()=>{if(i.value.length===0)return new Date(r.endDate);const x=i.value.map(w=>new Date(w.end)),g=new Date(Math.max(...x));return g.setDate(g.getDate()+10),g}),L=()=>{const g=(i.value.length>0?Math.max(...i.value.map(y=>y.id)):0)+1;let w,S="Planning";if(a.value!=="All"?S=a.value:i.value.length>0&&(S=i.value[i.value.length-1].category||"Planning"),i.value.length>0){const y=i.value[i.value.length-1],M=new Date(y.end).getTime()-new Date(y.start).getTime(),D=new Date(y.end);D.setDate(D.getDate()+1);const p=new Date(D.getTime()+M);w={id:g,name:`Tâche Copiée ${g}`,start:_(D),end:_(p),category:S,isNew:!0}}else{const y=new Date,M=new Date;M.setDate(M.getDate()+10),w={id:g,name:`Première Tâche ${g}`,start:_(y),end:_(M),category:S,isNew:!0}}i.value.push(w),l(i.value),n("taskUpdated",i.value)},Z=()=>{if(i.value.length===0)return;let x=i.value,g=-1;if(a.value!=="All"&&(x=i.value.filter(w=>w.category===a.value)),x.length>0)g=Math.max(...x.map(w=>w.id));else return;if(g!==-1){const w=i.value.filter(S=>S.id!==g);i.value=w,n("taskUpdated",i.value)}},ot=()=>{const x=[...i.value].sort((g,w)=>{const S=new Date(g.start),y=new Date(w.start);return Sy?1:g.id-w.id});i.value=x,n("taskUpdated",i.value)},bt=x=>{const g=i.value.findIndex(w=>w.id===x.id);if(g!==-1){const w={...i.value[g],start:x.newStart,end:x.newEnd,category:i.value[g].category,name:x.name||i.value[g].name},S=[...i.value];S[g]=w,i.value=S,n("taskUpdated",i.value)}},fe=h.computed(()=>b.value?I(b.value.start,b.value.end):0),Ft=h.computed(()=>!b.value||!b.value.y||!m.value?{}:{position:"absolute",left:`${m.value.clientWidth/2}px`,top:`${b.value.y+N.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),R=h.ref(null),tt=h.ref(null),ut=h.ref(!1),Tt=x=>{if(F.value=!1,b.value&&b.value.id===x.id){b.value=null,ut.value=!1;return}if(!R.value||!tt.value)return;const g=R.value(new Date(x.start)),w=tt.value(x.name);w!==void 0&&(b.value={id:x.id,name:x.name,start:x.start,end:x.end,durationDays:I(x.start,x.end),x:g,y:w,category:x.category||"Uncategorized",newCategory:null,freq:x.freq||null},ut.value=!!x.freq,h.nextTick(()=>{const S=document.querySelector(".gantt-edit-form input");S&&S.focus()}))};h.watch(()=>{var x;return(x=b.value)==null?void 0:x.durationDays},(x,g)=>{if(b.value&&x){x!==g&&(b.value.end=k(b.value.start,x));const w=Math.max(1,x);b.value.durationDays=w,b.value.end=k(b.value.start,w)}}),h.watch(()=>{var x;return(x=b.value)==null?void 0:x.start},(x,g)=>{b.value&&x&&(b.value.end=k(x,Math.max(1,b.value.durationDays)),x!==g&&(b.value.durationDays=I(x,b.value.end)))});const vn=()=>{const{id:x,name:g,start:w,end:S,freq:y}=b.value,M=i.value.findIndex(Gt=>Gt.id===x);if(M===-1)return;const D=i.value[M];let{category:p}=b.value;const q=b.value.freq>0?b.value.freq:null,E=new Date(w),O=new Date(S);if(E.getTime()>=O.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const W={...D,name:g,start:w,end:S,category:p,freq:q},K=[...i.value];K[M]=W,i.value=K,n("taskUpdated",i.value),b.value=null,ut.value=!1},wn=h.computed(()=>b.value?c(b.value.category):"#9CA3AF"),_n=x=>{const g=Y.value,w=z.value;R.value=fl().domain([g,w]).range([0,x-N.left-N.right]),tt.value=wr().domain(Array.isArray(T.value)?T.value.map(S=>S.name):[]).range([0,T.value.length*40]).paddingInner(.1)},xt=()=>{if(!m.value)return;C.value=m.value.clientWidth;const x=C.value;_n(x);const g=Q(m.value);g.selectAll("*").remove();const S=g.append("svg").attr("width",x).attr("height",V.value).append("g").attr("transform",`translate(${N.left}, ${N.top})`);if(S.append("g").attr("transform",`translate(0, ${T.value.length*40||50})`).call(ci(R.value)),S.append("g").attr("class","y-axis-g").call(fi(tt.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(U,B){U.preventDefault(),U.stopPropagation();const X=B,G=T.value.find(ct=>ct.name===X);G&&Tt(G)}),!T.value.length)return;const D=v.value*Hr,p=Pt.offset(Y.value,1),q=R.value(p)-R.value(Y.value);let E=!1,O,W,K=-1;const Gt=tt.value.step(),Fe=a.value!=="All",Yl=eo().on("start",function(U,B){if(b.value){Q(this).style("cursor","pointer"),U.sourceEvent.stopPropagation();return}F.value=!1,E=!1,O=U.x,W=U.y,K=T.value.findIndex(X=>X.id===B.id),Q(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(U,B){if(b.value)return;const X=U.x-O,G=U.y-W;if(Math.abs(G)>5&&!Fe)E=!0,Q(this).attr("transform",`translate(0, ${G})`);else if(Math.abs(X)>5||Fe){F.value=!0,E=!1;const ct=R.value(new Date(B.start))+X;Q(this).select("rect").attr("x",ct),Q(this).select("text").attr("x",ct+5),Q(this).attr("transform",null)}}).on("end",function(U,B){if(Q(this).style("cursor","grab"),b.value){Q(this).classed("dragging",!1).attr("transform",null);return}if(Q(this).classed("dragging",!1).attr("transform",null),E&&!Fe){const X=tt.value(B.name)+(U.y-W),G=Math.round(X/Gt),ct=Math.max(0,Math.min(T.value.length-1,G));if(ct!==K){const Mt=T.value[K].id,$t=i.value.findIndex(It=>It.id===Mt),Dt=T.value[ct].id,Vt=i.value.findIndex(It=>It.id===Dt),ft=[...i.value],[Zt]=ft.splice($t,1);ft.splice(Vt,0,Zt),i.value=ft,n("taskUpdated",i.value)}else xt()}else if(F.value){const X=R.value(new Date(B.start))+(U.x-O),G=R.value.invert(X),ct=new Date(B.end).getTime()-new Date(B.start).getTime(),Mt=new Date(G.getTime()+ct),$t=_t("%Y-%m-%d")(G),Dt=_t("%Y-%m-%d")(Mt);bt({id:B.id,name:B.name,newStart:$t,newEnd:Dt})}else xt();F.value=!1,E=!1});T.value.forEach(U=>{const B=R.value(new Date(U.start)),X=tt.value(U.name),G=tt.value.bandwidth();if(U.freq&&U.freq>0){const et=U.freq,Yt=new Date(U.start),Qt=new Date(U.end);let vt=[],$e=new Date(Yt);for(;$e.getTime()<=Qt.getTime();)vt.push(new Date($e)),$e.setDate($e.getDate()+et);if(vt.length===0)return;const bn=S.append("g").datum(U).attr("class","task-group task-freq"),qr=c(U.category),Or=R.value(vt[0]),Hl=R.value(vt[vt.length-1]),Wr=X+G/10;bn.append("line").attr("x1",Or).attr("y1",Wr).attr("x2",Hl).attr("y2",Wr).attr("stroke",qr).attr("stroke-width",2).attr("stroke-dasharray","5, 5").attr("opacity",.6);const Ve=G/5,Tn=Ve/2;vt.forEach(Pr=>{_t("%Y-%m-%d")(Pr);const zr=R.value(Pr)-Tn,Br=X;bn.append("rect").attr("x",zr).attr("y",Br).attr("width",Ve).attr("height",Ve).attr("transform",`rotate(45, ${zr+Tn}, ${Br+Tn})`).attr("rx",2).attr("fill",qr).attr("stroke","black").attr("stroke-width",1)}),bn.append("text").text(`🔁: ${U.name}`).attr("x",Or+Ve+5).attr("y",X+G/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight","bold");return}const Mt=$(U);let $t,Dt=!1;const Vt=Mt<=2;if(!Vt&&Mt>D){Dt=!0;const et=D*q,Qt=(Mt-D)*Vl*q;$t=et+Qt}else Vt||($t=R.value(new Date(U.end))-B);const ft=S.append("g").datum(U).attr("class","task-group").on("contextmenu",function(et){et.preventDefault(),et.sourceEvent?et.sourceEvent.stopPropagation():et.stopPropagation(),Tt(U)});let Zt,It;if(Vt){const et=G/5,Yt=et/2,Qt=B-Yt,vt=X;Zt=ft.append("rect").attr("x",Qt).attr("y",vt).attr("width",et).attr("height",et).attr("transform",`rotate(45, ${Qt+Yt}, ${vt+Yt})`).attr("rx",2),It=B+Yt+5}else Zt=ft.append("rect").attr("x",B).attr("y",X).attr("width",$t).attr("height",G).attr("rx",4),It=B+5;Zt.attr("fill",c(U.category)).style("cursor","grab"),Dt&&(Zt.attr("stroke","black").attr("stroke-width",2),ft.append("title").text(`Durée réelle: ${Mt} jours. Affiché plié (Whale Task) car > ${D} jours (${Hr}x la médiane).`)),Yl(ft);const Rr=Dt?`📐: ${U.name}`:U.name,Ll=Vt?`◆: ${Rr}`:Rr;ft.append("text").text(Ll).attr("x",It).attr("y",X+G/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",Dt||Vt?"bold":"normal"),Fe&&ft.append("text").text("🚫").attr("x",-45).attr("y",X+tt.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return h.watch(()=>r.tasks,x=>{Array.isArray(x)?(i.value=x.map(g=>{const{color:w,...S}=g;return{...S}}),l(i.value),xt()):(i.value=[],u.value={},xt())},{immediate:!0,deep:!0}),h.onMounted(()=>{xt(),window.addEventListener("resize",xt)}),h.watch([()=>i.value,Y,z,a],xt,{deep:!0}),(x,g)=>(h.openBlock(),h.createElementBlock("div",dl,[h.createElementVNode("div",gl,[h.createElementVNode("div",ml,[g[9]||(g[9]=h.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),h.withDirectives(h.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(h.openBlock(!0),h.createElementBlock(h.Fragment,null,h.renderList(f.value,w=>(h.openBlock(),h.createElementBlock("option",{key:w,value:w,style:h.normalizeStyle({color:w==="All"?"inherit":c(w),fontWeight:"bold"})},h.toDisplayString(w),13,pl))),128))],512),[[h.vModelSelect,a.value]])]),h.createElementVNode("button",{onClick:L,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),h.createElementVNode("button",{onClick:ot,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),h.createElementVNode("button",{onClick:Z,disabled:i.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,yl)]),h.createElementVNode("div",{ref_key:"ganttContainer",ref:m,class:"relative w-full overflow-x-auto"},[T.value.length===0&&i.value.length>0?(h.openBlock(),h.createElementBlock("div",xl,[h.createElementVNode("p",vl," Aucune tâche ne correspond au filtre '"+h.toDisplayString(a.value)+"'. ",1)])):i.value.length===0?(h.openBlock(),h.createElementBlock("div",wl,[...g[10]||(g[10]=[h.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):h.createCommentVNode("",!0)],512),h.createElementVNode("div",null,[h.createElementVNode("p",_l," Dates du graphique calculées : "+h.toDisplayString(_t("%Y-%m-%d")(Y.value))+" à "+h.toDisplayString(_t("%Y-%m-%d")(z.value)),1),g[11]||(g[11]=h.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche ou un jalon pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: **. Les tâches courtes d'un jour sont des **◆: diamants**. Les tâches **récurrentes** sont des séries de **🔁: diamants**.) ",-1))]),b.value?(h.openBlock(),h.createElementBlock("div",{key:0,style:h.normalizeStyle(Ft.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[g[19]||(g[19]=h.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),h.createElementVNode("label",bl,[g[12]||(g[12]=h.createTextVNode(" Nom: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"text","onUpdate:modelValue":g[1]||(g[1]=w=>b.value.name=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.name]])]),h.createElementVNode("label",Tl,[h.createElementVNode("div",Ml,[g[13]||(g[13]=h.createElementVNode("span",null,"Catégorie:",-1)),h.createElementVNode("span",{style:h.normalizeStyle({backgroundColor:wn.value}),class:"w-6 h-6 rounded-full border border-gray-400 inline-block"},null,4)]),h.withDirectives(h.createElementVNode("select",{"onUpdate:modelValue":g[2]||(g[2]=w=>b.value.category=w),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500 flex-grow"},[(h.openBlock(!0),h.createElementBlock(h.Fragment,null,h.renderList(d.value,w=>(h.openBlock(),h.createElementBlock("option",{key:w,value:w},h.toDisplayString(w),9,Dl))),128))],512),[[h.vModelSelect,b.value.category]])]),h.createElementVNode("div",Cl,[h.createElementVNode("div",kl,[h.createElementVNode("label",Nl,[h.withDirectives(h.createElementVNode("input",{type:"checkbox",id:"enable-freq","onUpdate:modelValue":g[3]||(g[3]=w=>ut.value=w),class:"rounded text-blue-600 focus:ring-blue-500 h-4 w-4"},null,512),[[h.vModelCheckbox,ut.value]]),g[14]||(g[14]=h.createElementVNode("span",null,"Activer la récurrence",-1))])]),ut.value?(h.openBlock(),h.createElementBlock("label",Sl,[g[15]||(g[15]=h.createTextVNode(" Fréquence (récurrence en jours): ",-1)),h.withDirectives(h.createElementVNode("input",{type:"number","onUpdate:modelValue":g[4]||(g[4]=w=>b.value.freq=w),placeholder:"ex: 7 pour hebdomadaire",min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.freq,void 0,{number:!0}]])])):h.createCommentVNode("",!0)]),g[20]||(g[20]=h.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),h.createElementVNode("label",El,[g[16]||(g[16]=h.createTextVNode(" Durée (jours): ",-1)),h.withDirectives(h.createElementVNode("input",{type:"number","onUpdate:modelValue":g[5]||(g[5]=w=>b.value.durationDays=w),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.durationDays,void 0,{number:!0}]])]),h.createElementVNode("label",Al,[g[17]||(g[17]=h.createTextVNode(" Début: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"date","onUpdate:modelValue":g[6]||(g[6]=w=>b.value.start=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.start]])]),h.createElementVNode("label",Ul,[g[18]||(g[18]=h.createTextVNode(" Fin: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"date","onUpdate:modelValue":g[7]||(g[7]=w=>b.value.end=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.end]])]),h.createElementVNode("div",Fl,[h.createElementVNode("span",$l," Durée effective: "+h.toDisplayString(fe.value)+" j. ",1)]),h.createElementVNode("button",{onClick:vn,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),h.createElementVNode("button",{onClick:g[8]||(g[8]=w=>b.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):h.createCommentVNode("",!0)]))}},[["__scopeId","data-v-b75d67da"]]);return{install(t){t.component("GanttChart",Il)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index f8a8fe6ee..3fdf516d7 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -28,6 +28,7 @@ def __init__(self, **kwargs): ) self._attr_names += [ "tasks", + "availableCategoriesList" ] self._event_names += [ "taskUpdated" diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 502b52eb5..45b0be858 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -33,6 +33,7 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.state.sdate = None #Timestamp(self.tree.world_origin_time) self.state.change("sdate")(self._updated_sdate) self.state.tasks = self.tree.timeline() + self.state.regList = list(self.tree.registered_targets.keys()) with self: with vuetify.VContainer( "Events chart" ): @@ -46,6 +47,7 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: vuetify.VDivider() Gantt( tasks=("tasks",), + availableCategoriesList=("regList",), taskUpdated=(self._updated_tasks,"$event"), classes="fill_height", ) @@ -61,11 +63,13 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: for i,t in enumerate(self.state.tasks): event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , #should be seconds / days for debug "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), - "name": t["name"]} + "name": t["name"], + "category": t["category"]} self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','beginTime', event['begin_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','endTime', event['end_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','name', event['name']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','target', self.tree.registered_targets[event['category']]) return From fce2ff4459db22a47557bdfeafcc2292ad076970 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 10 Nov 2025 18:36:01 +0100 Subject: [PATCH 34/59] change freq if avail --- geos-trame/src/geos/trame/app/deck/tree.py | 4 ++-- geos-trame/src/geos/trame/app/ui/timeline.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index fb997459d..fd9ebe47e 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -149,8 +149,8 @@ def timeline( self ) -> list[ dict ] | None: "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], } - if(int(e.cycle_frequency)!=1): - item["freq"] = int(e.cycle_frequency) + if(int(e.time_frequency)!=1): + item["freq"] = timedelta(seconds=int(e.time_frequency)).days timeline.append( item ) global_id = global_id + 1 diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 45b0be858..3a21255b4 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -70,6 +70,9 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','endTime', event['end_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','name', event['name']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','target', self.tree.registered_targets[event['category']]) + + if t["freq"] is not None: + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','time_frequency', t["freq"]) return From 173da8794cc0f51fc831f5506dfce0598f4f6c07 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 12 Nov 2025 09:00:05 +0100 Subject: [PATCH 35/59] name fix --- geos-trame/src/geos/trame/app/ui/timeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 3a21255b4..e97967088 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -72,7 +72,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','target', self.tree.registered_targets[event['category']]) if t["freq"] is not None: - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','time_frequency', t["freq"]) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','timeFrequency', t["freq"]) return From a65dded2cf8724de706070f6dbfa134595868347 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 12 Nov 2025 11:06:14 +0100 Subject: [PATCH 36/59] cleaner --- geos-trame/src/geos/trame/app/deck/tree.py | 19 ++++++++++++++++--- geos-trame/src/geos/trame/app/ui/timeline.py | 14 +++++++++++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index fd9ebe47e..79b834ba2 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -14,7 +14,7 @@ from xsdata.formats.dataclass.parsers.config import ParserConfig from xsdata.formats.dataclass.serializers.config import SerializerConfig from xsdata.utils import text -from xsdata_pydantic.bindings import DictDecoder, XmlContext, XmlSerializer +from xsdata_pydantic.bindings import DictDecoder, XmlContext, XmlSerializer, DictEncoder from geos.trame.app.deck.file import DeckFile from geos.trame.app.geosTrameException import GeosTrameException @@ -103,6 +103,19 @@ def decode( self, path: str ) -> BaseModel | None: decoder = DictDecoder( context=context, config=ParserConfig() ) return decoder.decode( data[ 0 ] ) + @staticmethod + def encode_data( data: BaseModel ) -> dict: + """Convert a data to a xml serializable file.""" + context = XmlContext( + element_name_generator=text.pascal_case, + attribute_name_generator=text.camel_case, + ) + encoder = DictEncoder( context=context, config=SerializerConfig(indent=" ") ) + nodeDict : dict = encoder.encode( data ) + return nodeDict + + + @staticmethod def decode_data( data: dict ) -> Problem: """Convert a data to a xml serializable file.""" @@ -149,8 +162,8 @@ def timeline( self ) -> list[ dict ] | None: "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), "category" : e.target.split('/')[-1], } - if(int(e.time_frequency)!=1): - item["freq"] = timedelta(seconds=int(e.time_frequency)).days + if(int(e.time_frequency)>0): + item["freq"] = timedelta(seconds=int(e.time_frequency)).days #TODO deal with Days-Hours-Seconds timeline.append( item ) global_id = global_id + 1 diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index e97967088..6d9f61a45 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -60,19 +60,27 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: logger.info(f"new tasks {tasks}") self.state.tasks = tasks former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) + #update and erase for i,t in enumerate(self.state.tasks): - event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , #should be seconds / days for debug + event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), "name": t["name"], "category": t["category"]} + import funcy + from copy import copy + #if added Event then + if not self.tree._search(f'Problem/Events/0/PeriodicEvent/{i}'): + self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( self.tree.encode_data(PeriodicEvent(name="test")) ) + # self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( copy(self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'][0]) ) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','beginTime', event['begin_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','endTime', event['end_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','name', event['name']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','target', self.tree.registered_targets[event['category']]) - if t["freq"] is not None: - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','timeFrequency', t["freq"]) + if "freq" in t.keys(): + self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','timeFrequency', timedelta(days=int(t["freq"])).days) return From dcdfc098858a5180eac732b373f42483d02f3e9f Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 12 Nov 2025 14:31:15 +0100 Subject: [PATCH 37/59] task deletion --- geos-trame/src/geos/trame/app/deck/tree.py | 8 +++++-- geos-trame/src/geos/trame/app/ui/timeline.py | 25 ++++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 79b834ba2..c27918b5e 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -83,6 +83,12 @@ def update( self, path: str, key: str, value: Any ) -> None: assert self.input_file is not None and self.input_file.pb_dict is not None self.input_file.pb_dict = funcy.set_in( self.input_file.pb_dict, new_path, value ) + def drop(self, path:str ) -> None: + """Remove in the tree.""" + new_path = [ int( x ) if x.isdigit() else x for x in path.split( "/" ) ] + assert self.input_file is not None and self.input_file.pb_dict is not None + self.input_file.pb_dict = funcy.del_in( self.input_file.pb_dict, new_path ) + def _search( self, path: str ) -> list | None: new_path = path.split( "/" ) if self.input_file is None: @@ -114,8 +120,6 @@ def encode_data( data: BaseModel ) -> dict: nodeDict : dict = encoder.encode( data ) return nodeDict - - @staticmethod def decode_data( data: dict ) -> Problem: """Convert a data to a xml serializable file.""" diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 6d9f61a45..343a42439 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -61,26 +61,31 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.state.tasks = tasks former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) #update and erase + rm_list = [] for i,t in enumerate(self.state.tasks): + if i != t["id"]: + rm_list.append(i) event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), "name": t["name"], "category": t["category"]} - - import funcy - from copy import copy + #if added Event then - if not self.tree._search(f'Problem/Events/0/PeriodicEvent/{i}'): + if not self.tree._search(f'Problem/Events/0/PeriodicEvent/{t["id"]}'): self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( self.tree.encode_data(PeriodicEvent(name="test")) ) - # self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( copy(self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'][0]) ) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','beginTime', event['begin_time']) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','endTime', event['end_time']) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','name', event['name']) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','target', self.tree.registered_targets[event['category']]) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','beginTime', event['begin_time']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','endTime', event['end_time']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','name', event['name']) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','target', self.tree.registered_targets[event['category']]) if "freq" in t.keys(): - self.tree.update(f'Problem/Events/0/PeriodicEvent/{i}','timeFrequency', timedelta(days=int(t["freq"])).days) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).days) + + rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) + #remove lost indexes + for i in rm_list: + self.tree.drop(f'Problem/Events/0/PeriodicEvent/{i}') return From 12683957fd5ffe2663d95c601c2169ebc7a7892d Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 12 Nov 2025 15:07:21 +0100 Subject: [PATCH 38/59] output time in seconds --- geos-trame/src/geos/trame/app/ui/timeline.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 343a42439..2ceb0adb2 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -65,8 +65,8 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: for i,t in enumerate(self.state.tasks): if i != t["id"]: rm_list.append(i) - event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).days) , - "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).days), + event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).total_seconds()), + "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).total_seconds()), "name": t["name"], "category": t["category"]} @@ -80,7 +80,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','target', self.tree.registered_targets[event['category']]) if "freq" in t.keys(): - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).days) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).total_seconds()) rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) #remove lost indexes From 157ddf41569a22d33e5a7fd2ebc674b79732f975 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 12 Nov 2025 15:20:35 +0100 Subject: [PATCH 39/59] fix freq --- geos-trame/src/geos/trame/app/ui/timeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 2ceb0adb2..bca6dd38c 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -79,7 +79,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','name', event['name']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','target', self.tree.registered_targets[event['category']]) - if "freq" in t.keys(): + if "freq" in t and t["freq"] is not None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).total_seconds()) rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) From 60136d104de7bb27a622e305c451807c37085f19 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 10 Dec 2025 14:25:37 +0100 Subject: [PATCH 40/59] fix input conversion problem --- geos-trame/src/geos/trame/app/deck/tree.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index bdc433308..638488885 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -160,18 +160,21 @@ def timeline( self ) -> list[ dict ] | None: global_id = 0 # solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) solver_events = self.input_file.problem.events[0].periodic_event + max_time = self.input_file.problem.events[0].max_time for e in solver_events: self.registered_targets[e.target.split('/')[-1]] = e.target + e.end_time = max_time if float(e.end_time) > float(max_time) else e.end_time + #note here float conversion is used to correctly interpret scientific format item: dict[ str, str | int ] = { "id": global_id, "name": e.name, "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(date_fmt), "end": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.end_time))).strftime(date_fmt), - "duration" : str( timedelta(seconds=float(e.end_time) - float(e.begin_time)).days ), + "duration" : str( timedelta(seconds=(float(e.end_time) - float(e.begin_time))).days ), "category" : e.target.split('/')[-1], } - if(int(e.time_frequency)>0): - item["freq"] = timedelta(seconds=int(e.time_frequency)).days #TODO deal with Days-Hours-Seconds + if(int(float(e.time_frequency))>0): + item["freq"] = timedelta(seconds=float(e.time_frequency)).days #TODO deal with Days-Hours-Seconds timeline.append( item ) global_id = global_id + 1 From 605d27a2965f2bab25147e26ab4273a727d5fb2e Mon Sep 17 00:00:00 2001 From: jacques franc Date: Wed, 10 Dec 2025 18:23:00 +0100 Subject: [PATCH 41/59] ugly but functional --- geos-trame/src/geos/trame/app/ui/timeline.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index bca6dd38c..aee1bd77f 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -54,6 +54,13 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: with vuetify.VContainer("Debug"): vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) + #use to refect change in simput to gantt + # def _on_change( topic: str, ids: list | None = None ) -> None: + # if ids is not None and topic == "changed": + # print("blablabla") + + # self.simput_manager.proxymanager.on( _on_change ) + def _updated_tasks(self, *tasks: Any, **_: Any) -> None: if tasks is None: print('None values') @@ -74,13 +81,23 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: if not self.tree._search(f'Problem/Events/0/PeriodicEvent/{t["id"]}'): self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( self.tree.encode_data(PeriodicEvent(name="test")) ) + proxy = self.simput_manager.proxymanager.get(f'Problem/Events/0/PeriodicEvent/{t["id"]}') self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','beginTime', event['begin_time']) + proxy.set_property("begin_time",event['begin_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','endTime', event['end_time']) + proxy.set_property("end_time",event['end_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','name', event['name']) + proxy.set_property("name",event['name']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','target', self.tree.registered_targets[event['category']]) + proxy.set_property("target",event['category']) if "freq" in t and t["freq"] is not None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).total_seconds()) + proxy.set_property("time_frequency", timedelta(days=int(t["freq"])).total_seconds()) + + # proxy.commit() + self.ctrl.simput_reload_data() + # proxy.manager.commit_all() rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) #remove lost indexes From 4008b1e1318d57c959472b7aed4078ba8149454e Mon Sep 17 00:00:00 2001 From: jacques franc Date: Fri, 12 Dec 2025 08:53:30 +0100 Subject: [PATCH 42/59] float format --- geos-trame/src/geos/trame/app/ui/timeline.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index aee1bd77f..0b101f292 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -3,10 +3,8 @@ # SPDX-FileContributor: Lionel Untereiner, Jacques Franc from typing import Any from datetime import datetime, timedelta -from pandas import Timestamp import pytz import logging -import dpath.util # from trame.widgets import gantt @@ -51,8 +49,8 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: taskUpdated=(self._updated_tasks,"$event"), classes="fill_height", ) - with vuetify.VContainer("Debug"): - vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) + # with vuetify.VContainer("Debug"): + # vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) #use to refect change in simput to gantt # def _on_change( topic: str, ids: list | None = None ) -> None: @@ -72,8 +70,10 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: for i,t in enumerate(self.state.tasks): if i != t["id"]: rm_list.append(i) - event = {"begin_time": str(( datetime.strptime(t["start"],date_fmt) - former_origin_time).total_seconds()), - "end_time": str(( datetime.strptime(t["end"],date_fmt) - former_origin_time ).total_seconds()), + start_time = ( datetime.strptime(t["start"],date_fmt) - former_origin_time ).total_seconds() + end_time = ( datetime.strptime(t["end"],date_fmt ) - former_origin_time ).total_seconds() + event = {"begin_time": f"{ start_time: .6e}", + "end_time": f"{ end_time: .6e}", "name": t["name"], "category": t["category"]} From 244b5fdf2783860f2c27368913ef49d6bb899e2e Mon Sep 17 00:00:00 2001 From: jacques franc Date: Fri, 12 Dec 2025 09:01:56 +0100 Subject: [PATCH 43/59] skip init logic --- geos-trame/src/geos/trame/app/ui/timeline.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 0b101f292..d2aa41264 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -63,6 +63,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: if tasks is None: print('None values') logger.info(f"new tasks {tasks}") + self.state.tasks = tasks former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) #update and erase @@ -72,6 +73,11 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: rm_list.append(i) start_time = ( datetime.strptime(t["start"],date_fmt) - former_origin_time ).total_seconds() end_time = ( datetime.strptime(t["end"],date_fmt ) - former_origin_time ).total_seconds() + + #negative events + if (start_time<0 or end_time<0): + continue + event = {"begin_time": f"{ start_time: .6e}", "end_time": f"{ end_time: .6e}", "name": t["name"], @@ -95,9 +101,7 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).total_seconds()) proxy.set_property("time_frequency", timedelta(days=int(t["freq"])).total_seconds()) - # proxy.commit() self.ctrl.simput_reload_data() - # proxy.manager.commit_all() rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) #remove lost indexes From 852909b93bac4de585c15f4c6c31fffed71cc519 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 15 Dec 2025 12:03:09 +0100 Subject: [PATCH 44/59] working with save as --- geos-trame/src/geos/trame/app/deck/tree.py | 4 +--- geos-trame/src/geos/trame/app/ui/inspector.py | 1 - geos-trame/src/geos/trame/app/ui/timeline.py | 17 ++++++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index 638488885..db04fb36b 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -174,7 +174,7 @@ def timeline( self ) -> list[ dict ] | None: "category" : e.target.split('/')[-1], } if(int(float(e.time_frequency))>0): - item["freq"] = timedelta(seconds=float(e.time_frequency)).days #TODO deal with Days-Hours-Seconds + item["freq"] = timedelta(seconds=float(e.time_frequency)).days timeline.append( item ) global_id = global_id + 1 @@ -213,8 +213,6 @@ def write_files( self ) -> None: self._ctrl.on_add_success( title="File saved", message=f"File {basename} has been saved." ) - self._ctrl.on_add_success( title="File saved", message=f"File {basename} has been saved." ) - @staticmethod def _append_include_file( model: Problem, included_file_path: str ) -> None: """Append an Included object which follows this structure according to the documentation. diff --git a/geos-trame/src/geos/trame/app/ui/inspector.py b/geos-trame/src/geos/trame/app/ui/inspector.py index fc7a70c09..aea563ea4 100644 --- a/geos-trame/src/geos/trame/app/ui/inspector.py +++ b/geos-trame/src/geos/trame/app/ui/inspector.py @@ -63,7 +63,6 @@ def _on_change( topic: str, ids: list | None = None ) -> None: if ids is not None and topic == "changed": for obj_id in ids: proxy = self.simput_manager.proxymanager.get( obj_id ) - #self.tree.decode( obj_id ) # if const function and return not used why ?? to decode context ?? for prop in proxy.edited_property_names: self.tree.update( obj_id, text.camel_case( prop ), proxy.get_property( prop ) ) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index d2aa41264..f661dcb0e 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -64,13 +64,11 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: print('None values') logger.info(f"new tasks {tasks}") + rm_list = set([ t["id"] for t in self.state.tasks if "id" in t])-set([ t["id"] for t in tasks if "id" in t ]) self.state.tasks = tasks former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) #update and erase - rm_list = [] for i,t in enumerate(self.state.tasks): - if i != t["id"]: - rm_list.append(i) start_time = ( datetime.strptime(t["start"],date_fmt) - former_origin_time ).total_seconds() end_time = ( datetime.strptime(t["end"],date_fmt ) - former_origin_time ).total_seconds() @@ -86,8 +84,11 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: #if added Event then if not self.tree._search(f'Problem/Events/0/PeriodicEvent/{t["id"]}'): self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( self.tree.encode_data(PeriodicEvent(name="test")) ) + #should create proxy ?? + proxy = self.simput_manager.proxymanager.create(proxy_type='PeriodicEvent',proxy_id=f'Problem/Events/0/PeriodicEvent/{t["id"]}', initial_values=self.tree.encode_data(PeriodicEvent(name="test"))) + else: + proxy = self.simput_manager.proxymanager.get(f'Problem/Events/0/PeriodicEvent/{t["id"]}') - proxy = self.simput_manager.proxymanager.get(f'Problem/Events/0/PeriodicEvent/{t["id"]}') self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','beginTime', event['begin_time']) proxy.set_property("begin_time",event['begin_time']) self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','endTime', event['end_time']) @@ -98,15 +99,17 @@ def _updated_tasks(self, *tasks: Any, **_: Any) -> None: proxy.set_property("target",event['category']) if "freq" in t and t["freq"] is not None: - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', timedelta(days=int(t["freq"])).total_seconds()) - proxy.set_property("time_frequency", timedelta(days=int(t["freq"])).total_seconds()) + self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', str(timedelta(days=int(t["freq"])).total_seconds())) + proxy.set_property("time_frequency", str(timedelta(days=int(t["freq"])).total_seconds()) ) self.ctrl.simput_reload_data() - rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) + # rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) #remove lost indexes for i in rm_list: self.tree.drop(f'Problem/Events/0/PeriodicEvent/{i}') + #drop proxies as well + self.simput_manager.proxymanager.delete(proxy_id=f'Problem/Events/0/PeriodicEvent/{t["id"]}') return From 0cf99fc28c818fdfbc10d5cf8fb623aec230a99f Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 15 Dec 2025 13:25:34 +0100 Subject: [PATCH 45/59] ruffing and yapfing --- geos-trame/src/geos/trame/app/deck/tree.py | 50 ++++--- .../geos/trame/app/gantt_chart/__init__.py | 2 +- .../trame/app/gantt_chart/module/__init__.py | 2 +- .../app/gantt_chart/widgets/gantt_chart.py | 32 ++-- geos-trame/src/geos/trame/app/main.py | 3 +- geos-trame/src/geos/trame/app/ui/timeline.py | 139 ++++++++++-------- geos-trame/src/geos/trame/module/__init__.py | 2 +- 7 files changed, 129 insertions(+), 101 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index db04fb36b..c621d27ff 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -10,7 +10,6 @@ import funcy from pydantic import BaseModel -from trame_simput.core.proxy import ProxyManager, Proxy from xsdata.formats.dataclass.parsers.config import ParserConfig from xsdata.formats.dataclass.serializers.config import SerializerConfig from xsdata.utils import text @@ -25,9 +24,12 @@ from geos.trame.app.utils.file_utils import normalize_path, format_xml import logging + date_fmt = "%Y-%m-%d" -logger = logging.getLogger("tree") -logger.setLevel(logging.ERROR) +logger = logging.getLogger( "tree" ) +logger.setLevel( logging.ERROR ) + + class DeckTree( object ): """A tree that represents a deck file along with all the available blocks and parameters.""" @@ -42,8 +44,8 @@ def __init__( self, sm_id: str | None = None, ctrl: Controller = None, **kwargs: self.input_has_errors = False self._sm_id = sm_id self._ctrl = ctrl - self.world_origin_time = datetime(1924,3,28).strftime(date_fmt)# Total start date !! - self.registered_targets : dict = {} + self.world_origin_time = datetime( 1924, 3, 28 ).strftime( date_fmt ) # Total start date !! + self.registered_targets: dict = {} def set_input_file( self, input_filename: str ) -> None: """Set a new input file. @@ -87,7 +89,7 @@ def update( self, path: str, key: str, value: Any ) -> None: assert self.input_file is not None and self.input_file.pb_dict is not None self.input_file.pb_dict = funcy.set_in( self.input_file.pb_dict, new_path, value ) - def drop(self, path:str ) -> None: + def drop( self, path: str ) -> None: """Remove in the tree.""" new_path = [ int( x ) if x.isdigit() else x for x in path.split( "/" ) ] assert self.input_file is not None and self.input_file.pb_dict is not None @@ -120,9 +122,9 @@ def encode_data( data: BaseModel ) -> dict: element_name_generator=text.pascal_case, attribute_name_generator=text.camel_case, ) - encoder = DictEncoder( context=context, config=SerializerConfig(indent=" ") ) - nodeDict : dict = encoder.encode( data ) - return nodeDict + encoder = DictEncoder( context=context, config=SerializerConfig( indent=" " ) ) + nodeDict: dict = encoder.encode( data ) + return nodeDict @staticmethod def decode_data( data: dict ) -> Problem: @@ -159,22 +161,28 @@ def timeline( self ) -> list[ dict ] | None: # list root events global_id = 0 # solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) - solver_events = self.input_file.problem.events[0].periodic_event - max_time = self.input_file.problem.events[0].max_time + solver_events = self.input_file.problem.events[ 0 ].periodic_event + max_time = self.input_file.problem.events[ 0 ].max_time for e in solver_events: - self.registered_targets[e.target.split('/')[-1]] = e.target - e.end_time = max_time if float(e.end_time) > float(max_time) else e.end_time + self.registered_targets[ e.target.split( '/' )[ -1 ] ] = e.target + e.end_time = max_time if float( e.end_time ) > float( max_time ) else e.end_time #note here float conversion is used to correctly interpret scientific format item: dict[ str, str | int ] = { - "id": global_id, - "name": e.name, - "start": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.begin_time))).strftime(date_fmt), - "end": (datetime.strptime(self.world_origin_time,date_fmt) + timedelta(seconds=float(e.end_time))).strftime(date_fmt), - "duration" : str( timedelta(seconds=(float(e.end_time) - float(e.begin_time))).days ), - "category" : e.target.split('/')[-1], + "id": + global_id, + "name": + e.name, + "start": ( datetime.strptime( self.world_origin_time, date_fmt ) + + timedelta( seconds=float( e.begin_time ) ) ).strftime( date_fmt ), + "end": ( datetime.strptime( self.world_origin_time, date_fmt ) + + timedelta( seconds=float( e.end_time ) ) ).strftime( date_fmt ), + "duration": + str( timedelta( seconds=( float( e.end_time ) - float( e.begin_time ) ) ).days ), + "category": + e.target.split( '/' )[ -1 ], } - if(int(float(e.time_frequency))>0): - item["freq"] = timedelta(seconds=float(e.time_frequency)).days + if ( int( float( e.time_frequency ) ) > 0 ): + item[ "freq" ] = timedelta( seconds=float( e.time_frequency ) ).days timeline.append( item ) global_id = global_id + 1 diff --git a/geos-trame/src/geos/trame/app/gantt_chart/__init__.py b/geos-trame/src/geos/trame/app/gantt_chart/__init__.py index 34d11ae90..5f383b7c5 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/__init__.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/__init__.py @@ -1,6 +1,6 @@ from trame_client.utils.version import get_version -__version__ = get_version("gantt-chart") +__version__ = get_version( "gantt-chart" ) __all__ = [ "__version__", diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py b/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py index 8dc4af3a8..3818bbefd 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/__init__.py @@ -7,7 +7,7 @@ serve = { "__gantt_chart": serve_path } # List of JS files to load (usually from the serve path above) -scripts = [ "__gantt_chart/gantt-chart.umd.js"] +scripts = [ "__gantt_chart/gantt-chart.umd.js" ] # List of CSS files to load (usually from the serve path above) # styles = ["__geos_trame/style.css"] diff --git a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py index 3fdf516d7..36d2ec9f6 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py +++ b/geos-trame/src/geos/trame/app/gantt_chart/widgets/gantt_chart.py @@ -1,4 +1,3 @@ -"""Module compatible with vue3""" from trame_client.widgets.core import AbstractElement from .. import module @@ -7,29 +6,30 @@ ] -class HtmlElement(AbstractElement): - def __init__(self, _elem_name, children=None, **kwargs): - super().__init__(_elem_name, children, **kwargs) +#will eventually be a dependency, so we'll skip some type checks +class HtmlElement( AbstractElement ): + + def __init__( self, _elem_name, children=None, **kwargs ) -> None: # noqa + super().__init__( _elem_name, children, **kwargs ) # noqa if self.server: - self.server.enable_module(module) + self.server.enable_module( module ) -class Gantt(HtmlElement): - """ - Gantt Editor component + +class Gantt( HtmlElement ): + """Gantt Editor component. Properties: + tasks + availableCategoriesList + Emit: + taskUpdated. """ - def __init__(self, **kwargs): + def __init__( self, **kwargs ) -> None: #noqa super().__init__( "GanttChart", **kwargs, ) - self._attr_names += [ - "tasks", - "availableCategoriesList" - ] - self._event_names += [ - "taskUpdated" - ] + self._attr_names += [ "tasks", "availableCategoriesList" ] + self._event_names += [ "taskUpdated" ] diff --git a/geos-trame/src/geos/trame/app/main.py b/geos-trame/src/geos/trame/app/main.py index 705968b83..12404c521 100644 --- a/geos-trame/src/geos/trame/app/main.py +++ b/geos-trame/src/geos/trame/app/main.py @@ -8,7 +8,8 @@ from trame_server import Server import sys -sys.path.insert(0,"/data/pau901/SIM_CS/users/jfranc/geosPythonPackages/geos-trame/src") + +sys.path.insert( 0, "/data/pau901/SIM_CS/users/jfranc/geosPythonPackages/geos-trame/src" ) from geos.trame.app.core import GeosTrame diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index f661dcb0e..9ce012086 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -6,7 +6,6 @@ import pytz import logging - # from trame.widgets import gantt from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt from trame.widgets import vuetify3 as vuetify @@ -16,8 +15,8 @@ from geos.trame.app.deck.tree import DeckTree date_fmt = "%Y-%m-%d" -logger = logging.getLogger("timeline") -logger.setLevel(logging.ERROR) +logger = logging.getLogger( "timeline" ) +logger.setLevel( logging.ERROR ) class TimelineEditor( vuetify.VCard ): @@ -28,27 +27,27 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: self.tree = source self.simput_manager = get_simput_manager( id=self.state.sm_id ) - self.state.sdate = None #Timestamp(self.tree.world_origin_time) - self.state.change("sdate")(self._updated_sdate) + self.state.sdate = None #Timestamp(self.tree.world_origin_time) + self.state.change( "sdate" )( self._updated_sdate ) self.state.tasks = self.tree.timeline() - self.state.regList = list(self.tree.registered_targets.keys()) + self.state.regList = list( self.tree.registered_targets.keys() ) - with self: - with vuetify.VContainer( "Events chart" ): + with self: #noqa + with vuetify.VContainer( "Events chart" ): #noqa vuetify.VDateInput( label="Select starting simulation date", prepend_icon="", prepend_inner_icon="$calendar", # placeholder="09/18/2024", - v_model=("sdate",), + v_model=( "sdate", ), ) vuetify.VDivider() Gantt( - tasks=("tasks",), - availableCategoriesList=("regList",), - taskUpdated=(self._updated_tasks,"$event"), - classes="fill_height", - ) + tasks=( "tasks", ), + availableCategoriesList=( "regList", ), + taskUpdated=( self._updated_tasks, "$event" ), + classes="fill_height", + ) # with vuetify.VContainer("Debug"): # vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) @@ -56,72 +55,92 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # def _on_change( topic: str, ids: list | None = None ) -> None: # if ids is not None and topic == "changed": # print("blablabla") - + # self.simput_manager.proxymanager.on( _on_change ) - def _updated_tasks(self, *tasks: Any, **_: Any) -> None: + def _updated_tasks( self, *tasks: Any, **_: Any ) -> None: if tasks is None: - print('None values') - logger.info(f"new tasks {tasks}") + print( 'None values' ) + logger.info( f"new tasks {tasks}" ) + + rm_list = ( { t_id + for t in self.state.tasks if ( t_id := t.get( "id" ) ) is not None } - + { t_id + for t in tasks if ( t_id := t.get( "id" ) ) is not None } ) - rm_list = set([ t["id"] for t in self.state.tasks if "id" in t])-set([ t["id"] for t in tasks if "id" in t ]) self.state.tasks = tasks - former_origin_time: datetime = datetime.strptime( min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start"), date_fmt) + former_origin_time: datetime = datetime.strptime( + min( self.state.tasks, key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ), + date_fmt ) #update and erase - for i,t in enumerate(self.state.tasks): - start_time = ( datetime.strptime(t["start"],date_fmt) - former_origin_time ).total_seconds() - end_time = ( datetime.strptime(t["end"],date_fmt ) - former_origin_time ).total_seconds() + for t in self.state.tasks: + start_time = ( datetime.strptime( t[ "start" ], date_fmt ) - former_origin_time ).total_seconds() + end_time = ( datetime.strptime( t[ "end" ], date_fmt ) - former_origin_time ).total_seconds() #negative events - if (start_time<0 or end_time<0): + if ( start_time < 0 or end_time < 0 ): continue - event = {"begin_time": f"{ start_time: .6e}", - "end_time": f"{ end_time: .6e}", - "name": t["name"], - "category": t["category"]} - - #if added Event then - if not self.tree._search(f'Problem/Events/0/PeriodicEvent/{t["id"]}'): - self.tree.input_file.pb_dict['Problem']['Events'][0]['PeriodicEvent'].append( self.tree.encode_data(PeriodicEvent(name="test")) ) - #should create proxy ?? - proxy = self.simput_manager.proxymanager.create(proxy_type='PeriodicEvent',proxy_id=f'Problem/Events/0/PeriodicEvent/{t["id"]}', initial_values=self.tree.encode_data(PeriodicEvent(name="test"))) + event = { + "begin_time": f"{ start_time: .6e}", + "end_time": f"{ end_time: .6e}", + "name": t[ "name" ], + "category": t[ "category" ] + } + + #if added Event then + if not self.tree._search( f'Problem/Events/0/PeriodicEvent/{t["id"]}' ): + self.tree.input_file.pb_dict[ 'Problem' ][ 'Events' ][ 0 ][ 'PeriodicEvent' ].append( + self.tree.encode_data( PeriodicEvent( name="test" ) ) ) + proxy = self.simput_manager.proxymanager.create( proxy_type='PeriodicEvent', + proxy_id=f'Problem/Events/0/PeriodicEvent/{t["id"]}', + initial_values=self.tree.encode_data( + PeriodicEvent( name="test" ) ) ) else: - proxy = self.simput_manager.proxymanager.get(f'Problem/Events/0/PeriodicEvent/{t["id"]}') - - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','beginTime', event['begin_time']) - proxy.set_property("begin_time",event['begin_time']) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','endTime', event['end_time']) - proxy.set_property("end_time",event['end_time']) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','name', event['name']) - proxy.set_property("name",event['name']) - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','target', self.tree.registered_targets[event['category']]) - proxy.set_property("target",event['category']) - - if "freq" in t and t["freq"] is not None: - self.tree.update(f'Problem/Events/0/PeriodicEvent/{t["id"]}','timeFrequency', str(timedelta(days=int(t["freq"])).total_seconds())) - proxy.set_property("time_frequency", str(timedelta(days=int(t["freq"])).total_seconds()) ) - + proxy = self.simput_manager.proxymanager.get( f'Problem/Events/0/PeriodicEvent/{t["id"]}' ) + + self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'beginTime', event[ 'begin_time' ] ) + proxy.set_property( "begin_time", event[ 'begin_time' ] ) + self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'endTime', event[ 'end_time' ] ) + proxy.set_property( "end_time", event[ 'end_time' ] ) + self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'name', event[ 'name' ] ) + proxy.set_property( "name", event[ 'name' ] ) + self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'target', + self.tree.registered_targets[ event[ 'category' ] ] ) + proxy.set_property( "target", event[ 'category' ] ) + + if "freq" in t and t[ "freq" ] is not None: + self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'timeFrequency', + str( timedelta( days=int( t[ "freq" ] ) ).total_seconds() ) ) + proxy.set_property( "time_frequency", str( timedelta( days=int( t[ "freq" ] ) ).total_seconds() ) ) + self.ctrl.simput_reload_data() - - # rm_list.extend( range(len(self.state.tasks),len(self.tree.input_file.problem.events[0].periodic_event)) ) + #remove lost indexes for i in rm_list: - self.tree.drop(f'Problem/Events/0/PeriodicEvent/{i}') + self.tree.drop( f'Problem/Events/0/PeriodicEvent/{i}' ) #drop proxies as well - self.simput_manager.proxymanager.delete(proxy_id=f'Problem/Events/0/PeriodicEvent/{t["id"]}') + self.simput_manager.proxymanager.delete( proxy_id=f'Problem/Events/0/PeriodicEvent/{t["id"]}' ) return + @staticmethod + def shift_str( dt_str: str, time_delta: timedelta ) -> str: + """Helper function for shifting time.""" + return ( datetime.strptime( dt_str, date_fmt ) + time_delta ).strftime( date_fmt ) - def _updated_sdate(self, sdate: str, **_: Any) -> None: + def _updated_sdate( self, sdate: str, **_: Any ) -> None: #sdate seems to be a panda Timestamp if sdate is None: return - former_origin_time: str = min(self.state.tasks, key=lambda d: datetime.strptime(d.get("start"),date_fmt)).get("start") - time_delta : timedelta = sdate.to_datetime() - pytz.utc.localize(datetime.strptime(former_origin_time,date_fmt)) - self.state.tasks = list(map(lambda d: {**d, "start":(datetime.strptime(d["start"],date_fmt) + time_delta ).strftime(date_fmt), - "end" : (datetime.strptime(d["end"],date_fmt) + time_delta ).strftime(date_fmt) }, - self.state.tasks)) - return \ No newline at end of file + former_origin_time: str = min( self.state.tasks, + key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) + time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( + datetime.strptime( former_origin_time, date_fmt ) ) + self.state.tasks = [ { + **d, "start": TimelineEditor.shift_str( d[ "start" ], time_delta ), + "end": TimelineEditor.shift_str( d[ "end" ], time_delta ) + } for d in self.state.tasks ] + + return diff --git a/geos-trame/src/geos/trame/module/__init__.py b/geos-trame/src/geos/trame/module/__init__.py index a31068625..1c705fceb 100644 --- a/geos-trame/src/geos/trame/module/__init__.py +++ b/geos-trame/src/geos/trame/module/__init__.py @@ -7,7 +7,7 @@ serve = { "__geos_trame": serve_path } # List of JS files to load (usually from the serve path above) -scripts = [ "__geos_trame/geos_trame.umd.js"] +scripts = [ "__geos_trame/geos_trame.umd.js" ] # List of CSS files to load (usually from the serve path above) # styles = ["__geos_trame/style.css"] From aca998230660c81f3228dc50823b4fdc9bc257e6 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 15 Dec 2025 14:10:05 +0100 Subject: [PATCH 46/59] add new widget version --- .../geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js | 2 +- .../src/geos/trame/app/gantt_chart/module/serve/style.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js index e60e16320..796907960 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/gantt-chart.umd.js @@ -1 +1 @@ -(function(h,wt){typeof exports=="object"&&typeof module<"u"?module.exports=wt(require("vue")):typeof define=="function"&&define.amd?define(["vue"],wt):(h=typeof globalThis<"u"?globalThis:h||self,h.GanttLib=wt(h.Vue))})(this,function(h){"use strict";function wt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Xr(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ie(t){let e,n,r;t.length!==2?(e=wt,n=(u,s)=>wt(t(u),s),r=(u,s)=>t(u)-s):(e=t===wt||t===Xr?t:Gr,n=t,r=t);function i(u,s,l=0,c=u.length){if(l>>1;n(u[d],s)<0?l=d+1:c=d}while(l>>1;n(u[d],s)<=0?l=d+1:c=d}while(ll&&r(u[d-1],s)>-r(u[d],s)?d-1:d}return{left:i,center:o,right:a}}function Gr(){return 0}function Zr(t){return t===null?NaN:+t}const Qr=Ie(wt).right;Ie(Zr).center;class Mn extends Map{constructor(e,n=jr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(Dn(this,e))}has(e){return super.has(Dn(this,e))}set(e,n){return super.set(Jr(this,e),n)}delete(e){return super.delete(Kr(this,e))}}function Dn({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Jr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Kr({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function jr(t){return t!==null&&typeof t=="object"?t.valueOf():t}const ti=Math.sqrt(50),ei=Math.sqrt(10),ni=Math.sqrt(2);function Cn(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=ti?10:a>=ei?5:a>=ni?2:1;let u,s,l;return i<0?(l=Math.pow(10,-i)/o,u=Math.round(t*l),s=Math.round(e*l),u/le&&--s,l=-l):(l=Math.pow(10,i)*o,u=Math.round(t/l),s=Math.round(e/l),u*le&&--s),s+t(e)}function si(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function li(){return!this.__axis}function En(t,e){var n=[],r=null,i=null,a=6,o=6,u=3,s=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=t===Ye||t===Jt?-1:1,c=t===Jt||t===Le?"x":"y",d=t===Ye||t===He?ai:oi;function f(m){var C=r??(e.ticks?e.ticks.apply(e,n):e.domain()),N=i??(e.tickFormat?e.tickFormat.apply(e,n):ii),F=Math.max(a,0)+u,b=e.range(),I=+b[0]+s,$=+b[b.length-1]+s,v=(e.bandwidth?si:ui)(e.copy(),s),k=m.selection?m.selection():m,_=k.selectAll(".domain").data([null]),T=k.selectAll(".tick").data(C,e).order(),V=T.exit(),Y=T.enter().append("g").attr("class","tick"),z=T.select("line"),L=T.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),T=T.merge(Y),z=z.merge(Y.append("line").attr("stroke","currentColor").attr(c+"2",l*a)),L=L.merge(Y.append("text").attr("fill","currentColor").attr(c,l*F).attr("dy",t===Ye?"0em":t===He?"0.71em":"0.32em")),m!==k&&(_=_.transition(m),T=T.transition(m),z=z.transition(m),L=L.transition(m),V=V.transition(m).attr("opacity",Sn).attr("transform",function(Z){return isFinite(Z=v(Z))?d(Z+s):this.getAttribute("transform")}),Y.attr("opacity",Sn).attr("transform",function(Z){var ot=this.parentNode.__axis;return d((ot&&isFinite(ot=ot(Z))?ot:v(Z))+s)})),V.remove(),_.attr("d",t===Jt||t===Le?o?"M"+l*o+","+I+"H"+s+"V"+$+"H"+l*o:"M"+s+","+I+"V"+$:o?"M"+I+","+l*o+"V"+s+"H"+$+"V"+l*o:"M"+I+","+s+"H"+$),T.attr("opacity",1).attr("transform",function(Z){return d(v(Z)+s)}),z.attr(c+"2",l*a),L.attr(c,l*F).text(N),k.filter(li).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Le?"start":t===Jt?"end":"middle"),k.each(function(){this.__axis=v})}return f.scale=function(m){return arguments.length?(e=m,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(m){return arguments.length?(n=m==null?[]:Array.from(m),f):n.slice()},f.tickValues=function(m){return arguments.length?(r=m==null?null:Array.from(m),f):r&&r.slice()},f.tickFormat=function(m){return arguments.length?(i=m,f):i},f.tickSize=function(m){return arguments.length?(a=o=+m,f):a},f.tickSizeInner=function(m){return arguments.length?(a=+m,f):a},f.tickSizeOuter=function(m){return arguments.length?(o=+m,f):o},f.tickPadding=function(m){return arguments.length?(u=+m,f):u},f.offset=function(m){return arguments.length?(s=+m,f):s},f}function ci(t){return En(He,t)}function fi(t){return En(Jt,t)}var hi={value:()=>{}};function Re(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}he.prototype=Re.prototype={constructor:he,on:function(t,e){var n=this._,r=di(t+"",n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a0)for(var n=new Array(i),r=0,i,a;r=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Un.hasOwnProperty(e)?{space:Un[e],local:t}:t}function mi(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===qe&&e.documentElement.namespaceURI===qe?e.createElement(t):e.createElementNS(n,t)}}function pi(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Fn(t){var e=de(t);return(e.local?pi:mi)(e)}function yi(){}function Oe(t){return t==null?yi:function(){return this.querySelector(t)}}function xi(t){typeof t!="function"&&(t=Oe(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=$&&($=I+1);!(k=F[$])&&++$=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Wi(t){t||(t=Pi);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),a=0;ae?1:t>=e?0:NaN}function zi(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Bi(){return Array.from(this)}function Xi(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?ia:typeof e=="function"?oa:aa)(t,e,n??"")):Lt(this.node(),t)}function Lt(t,e){return t.style.getPropertyValue(e)||Ln(t).getComputedStyle(t,null).getPropertyValue(e)}function sa(t){return function(){delete this[t]}}function la(t,e){return function(){this[t]=e}}function ca(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function fa(t,e){return arguments.length>1?this.each((e==null?sa:typeof e=="function"?ca:la)(t,e)):this.node()[t]}function Hn(t){return t.trim().split(/^|\s+/)}function We(t){return t.classList||new Rn(t)}function Rn(t){this._node=t,this._names=Hn(t.getAttribute("class")||"")}Rn.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function qn(t,e){for(var n=We(t),r=-1,i=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Ha(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,a;n()=>t;function ze(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:a,x:o,y:u,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}ze.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Ja(t){return!t.ctrlKey&&!t.button}function Ka(){return this.parentNode}function ja(t,e){return e??{x:t.x,y:t.y}}function to(){return navigator.maxTouchPoints||"ontouchstart"in this}function eo(){var t=Ja,e=Ka,n=ja,r=to,i={},a=Re("start","drag","end"),o=0,u,s,l,c,d=0;function f(v){v.on("mousedown.drag",m).filter(r).on("touchstart.drag",F).on("touchmove.drag",b,Ga).on("touchend.drag touchcancel.drag",I).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(v,k){if(!(c||!t.call(this,v,k))){var _=$(this,e.call(this,v,k),v,k,"mouse");_&&(Q(v.view).on("mousemove.drag",C,jt).on("mouseup.drag",N,jt),Za(v.view),Pe(v),l=!1,u=v.clientX,s=v.clientY,_("start",v))}}function C(v){if(Ht(v),!l){var k=v.clientX-u,_=v.clientY-s;l=k*k+_*_>d}i.mouse("drag",v)}function N(v){Q(v.view).on("mousemove.drag mouseup.drag",null),Qa(v.view,l),Ht(v),i.mouse("end",v)}function F(v,k){if(t.call(this,v,k)){var _=v.changedTouches,T=e.call(this,v,k),V=_.length,Y,z;for(Y=0;Y>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ye(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ye(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=ro.exec(t))?new J(e[1],e[2],e[3],1):(e=io.exec(t))?new J(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=ao.exec(t))?ye(e[1],e[2],e[3],e[4]):(e=oo.exec(t))?ye(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=uo.exec(t))?jn(e[1],e[2]/100,e[3]/100,1):(e=so.exec(t))?jn(e[1],e[2]/100,e[3]/100,e[4]):Xn.hasOwnProperty(t)?Qn(Xn[t]):t==="transparent"?new J(NaN,NaN,NaN,0):null}function Qn(t){return new J(t>>16&255,t>>8&255,t&255,1)}function ye(t,e,n,r){return r<=0&&(t=e=n=NaN),new J(t,e,n,r)}function fo(t){return t instanceof te||(t=Ct(t)),t?(t=t.rgb(),new J(t.r,t.g,t.b,t.opacity)):new J}function Xe(t,e,n,r){return arguments.length===1?fo(t):new J(t,e,n,r??1)}function J(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Be(J,Xe,Bn(te,{brighter(t){return t=t==null?pe:Math.pow(pe,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ee:Math.pow(ee,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new J(kt(this.r),kt(this.g),kt(this.b),xe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Jn,formatHex:Jn,formatHex8:ho,formatRgb:Kn,toString:Kn}));function Jn(){return`#${Nt(this.r)}${Nt(this.g)}${Nt(this.b)}`}function ho(){return`#${Nt(this.r)}${Nt(this.g)}${Nt(this.b)}${Nt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Kn(){const t=xe(this.opacity);return`${t===1?"rgb(":"rgba("}${kt(this.r)}, ${kt(this.g)}, ${kt(this.b)}${t===1?")":`, ${t})`}`}function xe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function kt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Nt(t){return t=kt(t),(t<16?"0":"")+t.toString(16)}function jn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new rt(t,e,n,r)}function tr(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);if(t instanceof te||(t=Ct(t)),!t)return new rt;if(t instanceof rt)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,u=a-i,s=(a+i)/2;return u?(e===a?o=(n-r)/u+(n0&&s<1?0:o,new rt(o,u,s,t.opacity)}function go(t,e,n,r){return arguments.length===1?tr(t):new rt(t,e,n,r??1)}function rt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Be(rt,go,Bn(te,{brighter(t){return t=t==null?pe:Math.pow(pe,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ee:Math.pow(ee,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new J(Ge(t>=240?t-240:t+120,i,r),Ge(t,i,r),Ge(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new rt(er(this.h),ve(this.s),ve(this.l),xe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=xe(this.opacity);return`${t===1?"hsl(":"hsla("}${er(this.h)}, ${ve(this.s)*100}%, ${ve(this.l)*100}%${t===1?")":`, ${t})`}`}}));function er(t){return t=(t||0)%360,t<0?t+360:t}function ve(t){return Math.max(0,Math.min(1,t||0))}function Ge(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Ze=t=>()=>t;function mo(t,e){return function(n){return t+n*e}}function po(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function yo(t){return(t=+t)==1?nr:function(e,n){return n-e?po(e,n,t):Ze(isNaN(e)?n:e)}}function nr(t,e){var n=e-t;return n?mo(t,n):Ze(isNaN(t)?e:t)}const we=function t(e){var n=yo(e);function r(i,a){var o=n((i=Xe(i)).r,(a=Xe(a)).r),u=n(i.g,a.g),s=n(i.b,a.b),l=nr(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=u(c),i.b=s(c),i.opacity=l(c),i+""}}return r.gamma=t,r}(1);function xo(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(a){for(i=0;in&&(a=e.slice(n,a),u[o]?u[o]+=a:u[++o]=a),(r=r[0])===(i=i[0])?u[o]?u[o]+=i:u[++o]=i:(u[++o]=null,s.push({i:o,x:it(r,i)})),n=Je.lastIndex;return n180?c+=360:c-l>180&&(l+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:it(l,c)})):c&&d.push(i(d)+"rotate("+c+r)}function u(l,c,d,f){l!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:it(l,c)}):c&&d.push(i(d)+"skewX("+c+r)}function s(l,c,d,f,m,C){if(l!==d||c!==f){var N=m.push(i(m)+"scale(",null,",",null,")");C.push({i:N-4,x:it(l,d)},{i:N-2,x:it(c,f)})}else(d!==1||f!==1)&&m.push(i(m)+"scale("+d+","+f+")")}return function(l,c){var d=[],f=[];return l=t(l),c=t(c),a(l.translateX,l.translateY,c.translateX,c.translateY,d,f),o(l.rotate,c.rotate,d,f),u(l.skewX,c.skewX,d,f),s(l.scaleX,l.scaleY,c.scaleX,c.scaleY,d,f),l=c=null,function(m){for(var C=-1,N=f.length,F;++C=0&&t._call.call(void 0,e),t=t._next;--qt}function cr(){St=(Te=oe.now())+Me,qt=re=0;try{Ao()}finally{qt=0,Fo(),St=0}}function Uo(){var t=oe.now(),e=t-Te;e>ur&&(Me-=e,Te=t)}function Fo(){for(var t,e=be,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:be=n);ae=t,en(r)}function en(t){if(!qt){re&&(re=clearTimeout(re));var e=t-St;e>24?(t<1/0&&(re=setTimeout(cr,t-oe.now()-Me)),ie&&(ie=clearInterval(ie))):(ie||(Te=oe.now(),ie=setInterval(Uo,ur)),qt=1,sr(cr))}}function fr(t,e,n){var r=new De;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var $o=Re("start","end","cancel","interrupt"),Vo=[],hr=0,dr=1,nn=2,Ce=3,gr=4,rn=5,ke=6;function Ne(t,e,n,r,i,a){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Io(t,n,{name:e,index:r,group:i,on:$o,tween:Vo,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:hr})}function an(t,e){var n=at(t,e);if(n.state>hr)throw new Error("too late; already scheduled");return n}function lt(t,e){var n=at(t,e);if(n.state>Ce)throw new Error("too late; already running");return n}function at(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Io(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=lr(a,0,n.time);function a(l){n.state=dr,n.timer.restart(o,n.delay,n.time),n.delay<=l&&o(l-n.delay)}function o(l){var c,d,f,m;if(n.state!==dr)return s();for(c in r)if(m=r[c],m.name===n.name){if(m.state===Ce)return fr(o);m.state===gr?(m.state=ke,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete r[c]):+cnn&&r.state=0&&(e=e.slice(0,n)),!e||e==="start"})}function du(t,e,n){var r,i,a=hu(e)?an:lt;return function(){var o=a(this,t),u=o.on;u!==r&&(i=(r=u).copy()).on(e,n),o.on=i}}function gu(t,e){var n=this._id;return arguments.length<2?at(this.node(),n).on.on(t):this.each(du(n,t,e))}function mu(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function pu(){return this.on("end.remove",mu(this._id))}function yu(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Oe(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;oe&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function zu(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?Bu:zu,s=l=null,d}function d(f){return f==null||isNaN(f=+f)?a:(s||(s=u(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(i((l||(l=u(e,t.map(r),it)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,Wu),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=Do,c()},d.clamp=function(f){return arguments.length?(o=f?!0:Ot,c()):o!==Ot},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,m){return r=f,i=m,c()}}function Zu(){return Gu()(Ot,Ot)}function Qu(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],o;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const s=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return s;let l;do s.push(l=new Date(+a)),e(a,u),t(a);while(lH(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;e(o,-1),!a(o););else for(;--u>=0;)for(;e(o,1),!a(o););}),n&&(i.count=(a,o)=>(ln.setTime(+a),cn.setTime(+o),t(ln),t(cn),Math.floor(n(ln,cn))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?o=>r(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Se=H(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Se.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?H(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Se),Se.range;const gt=1e3,nt=gt*60,mt=nt*60,pt=mt*24,fn=pt*7,br=pt*30,hn=pt*365,Wt=H(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCSeconds());Wt.range;const dn=H(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*gt)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getMinutes());dn.range,H(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*nt)},(t,e)=>(e-t)/nt,t=>t.getUTCMinutes()).range;const gn=H(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*gt-t.getMinutes()*nt)},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getHours());gn.range,H(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCHours()).range;const Pt=H(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*nt)/pt,t=>t.getDate()-1);Pt.range;const mn=H(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/pt,t=>t.getUTCDate()-1);mn.range,H(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/pt,t=>Math.floor(t/pt)).range;function Et(t){return H(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*nt)/fn)}const Ee=Et(0),Ae=Et(1),Ju=Et(2),Ku=Et(3),zt=Et(4),ju=Et(5),ts=Et(6);Ee.range,Ae.range,Ju.range,Ku.range,zt.range,ju.range,ts.range;function At(t){return H(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/fn)}const Tr=At(0),Ue=At(1),es=At(2),ns=At(3),Bt=At(4),rs=At(5),is=At(6);Tr.range,Ue.range,es.range,ns.range,Bt.range,rs.range,is.range;const pn=H(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());pn.range,H(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()).range;const yt=H(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:H(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}),yt.range;const Ut=H(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Ut.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:H(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}),Ut.range;function as(t,e,n,r,i,a){const o=[[Wt,1,gt],[Wt,5,5*gt],[Wt,15,15*gt],[Wt,30,30*gt],[a,1,nt],[a,5,5*nt],[a,15,15*nt],[a,30,30*nt],[i,1,mt],[i,3,3*mt],[i,6,6*mt],[i,12,12*mt],[r,1,pt],[r,2,2*pt],[n,1,fn],[e,1,br],[e,3,3*br],[t,1,hn]];function u(l,c,d){const f=cF).right(o,f);if(m===o.length)return t.every(Nn(l/hn,c/hn,d));if(m===0)return Se.every(Math.max(Nn(l,c,d),1));const[C,N]=o[f/o[m-1][2]53)return null;"w"in p||(p.w=1),"Z"in p?(E=xn(ue(p.y,0,1)),O=E.getUTCDay(),E=O>4||O===0?Ue.ceil(E):Ue(E),E=mn.offset(E,(p.V-1)*7),p.y=E.getUTCFullYear(),p.m=E.getUTCMonth(),p.d=E.getUTCDate()+(p.w+6)%7):(E=yn(ue(p.y,0,1)),O=E.getDay(),E=O>4||O===0?Ae.ceil(E):Ae(E),E=Pt.offset(E,(p.V-1)*7),p.y=E.getFullYear(),p.m=E.getMonth(),p.d=E.getDate()+(p.w+6)%7)}else("W"in p||"U"in p)&&("w"in p||(p.w="u"in p?p.u%7:"W"in p?1:0),O="Z"in p?xn(ue(p.y,0,1)).getUTCDay():yn(ue(p.y,0,1)).getDay(),p.m=0,p.d="W"in p?(p.w+6)%7+p.W*7-(O+5)%7:p.w+p.U*7-(O+6)%7);return"Z"in p?(p.H+=p.Z/100|0,p.M+=p.Z%100,xn(p)):yn(p)}}function V(y,M,D,p){for(var q=0,E=M.length,O=D.length,W,K;q=O)return-1;if(W=M.charCodeAt(q++),W===37){if(W=M.charAt(q++),K=k[W in Mr?M.charAt(q++):W],!K||(p=K(y,D,p))<0)return-1}else if(W!=D.charCodeAt(p++))return-1}return p}function Y(y,M,D){var p=l.exec(M.slice(D));return p?(y.p=c.get(p[0].toLowerCase()),D+p[0].length):-1}function z(y,M,D){var p=m.exec(M.slice(D));return p?(y.w=C.get(p[0].toLowerCase()),D+p[0].length):-1}function L(y,M,D){var p=d.exec(M.slice(D));return p?(y.w=f.get(p[0].toLowerCase()),D+p[0].length):-1}function Z(y,M,D){var p=b.exec(M.slice(D));return p?(y.m=I.get(p[0].toLowerCase()),D+p[0].length):-1}function ot(y,M,D){var p=N.exec(M.slice(D));return p?(y.m=F.get(p[0].toLowerCase()),D+p[0].length):-1}function bt(y,M,D){return V(y,e,M,D)}function fe(y,M,D){return V(y,n,M,D)}function Ft(y,M,D){return V(y,r,M,D)}function R(y){return o[y.getDay()]}function tt(y){return a[y.getDay()]}function ut(y){return s[y.getMonth()]}function Tt(y){return u[y.getMonth()]}function vn(y){return i[+(y.getHours()>=12)]}function wn(y){return 1+~~(y.getMonth()/3)}function _n(y){return o[y.getUTCDay()]}function xt(y){return a[y.getUTCDay()]}function x(y){return s[y.getUTCMonth()]}function g(y){return u[y.getUTCMonth()]}function w(y){return i[+(y.getUTCHours()>=12)]}function S(y){return 1+~~(y.getUTCMonth()/3)}return{format:function(y){var M=_(y+="",$);return M.toString=function(){return y},M},parse:function(y){var M=T(y+="",!1);return M.toString=function(){return y},M},utcFormat:function(y){var M=_(y+="",v);return M.toString=function(){return y},M},utcParse:function(y){var M=T(y+="",!0);return M.toString=function(){return y},M}}}var Mr={"-":"",_:" ",0:"0"},P=/^\s*\d+/,ls=/^%/,cs=/[\\^$*+?|[\]().{}]/g;function A(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function hs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function ds(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function gs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function ms(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function ps(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=P.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ys(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function xs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function vs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function kr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ws(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function _s(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function bs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Ts(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ms(t,e,n){var r=P.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ds(t,e,n){var r=ls.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Cs(t,e,n){var r=P.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function ks(t,e,n){var r=P.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Sr(t,e){return A(t.getDate(),e,2)}function Ns(t,e){return A(t.getHours(),e,2)}function Ss(t,e){return A(t.getHours()%12||12,e,2)}function Es(t,e){return A(1+Pt.count(yt(t),t),e,3)}function Er(t,e){return A(t.getMilliseconds(),e,3)}function As(t,e){return Er(t,e)+"000"}function Us(t,e){return A(t.getMonth()+1,e,2)}function Fs(t,e){return A(t.getMinutes(),e,2)}function $s(t,e){return A(t.getSeconds(),e,2)}function Vs(t){var e=t.getDay();return e===0?7:e}function Is(t,e){return A(Ee.count(yt(t)-1,t),e,2)}function Ar(t){var e=t.getDay();return e>=4||e===0?zt(t):zt.ceil(t)}function Ys(t,e){return t=Ar(t),A(zt.count(yt(t),t)+(yt(t).getDay()===4),e,2)}function Ls(t){return t.getDay()}function Hs(t,e){return A(Ae.count(yt(t)-1,t),e,2)}function Rs(t,e){return A(t.getFullYear()%100,e,2)}function qs(t,e){return t=Ar(t),A(t.getFullYear()%100,e,2)}function Os(t,e){return A(t.getFullYear()%1e4,e,4)}function Ws(t,e){var n=t.getDay();return t=n>=4||n===0?zt(t):zt.ceil(t),A(t.getFullYear()%1e4,e,4)}function Ps(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+A(e/60|0,"0",2)+A(e%60,"0",2)}function Ur(t,e){return A(t.getUTCDate(),e,2)}function zs(t,e){return A(t.getUTCHours(),e,2)}function Bs(t,e){return A(t.getUTCHours()%12||12,e,2)}function Xs(t,e){return A(1+mn.count(Ut(t),t),e,3)}function Fr(t,e){return A(t.getUTCMilliseconds(),e,3)}function Gs(t,e){return Fr(t,e)+"000"}function Zs(t,e){return A(t.getUTCMonth()+1,e,2)}function Qs(t,e){return A(t.getUTCMinutes(),e,2)}function Js(t,e){return A(t.getUTCSeconds(),e,2)}function Ks(t){var e=t.getUTCDay();return e===0?7:e}function js(t,e){return A(Tr.count(Ut(t)-1,t),e,2)}function $r(t){var e=t.getUTCDay();return e>=4||e===0?Bt(t):Bt.ceil(t)}function tl(t,e){return t=$r(t),A(Bt.count(Ut(t),t)+(Ut(t).getUTCDay()===4),e,2)}function el(t){return t.getUTCDay()}function nl(t,e){return A(Ue.count(Ut(t)-1,t),e,2)}function rl(t,e){return A(t.getUTCFullYear()%100,e,2)}function il(t,e){return t=$r(t),A(t.getUTCFullYear()%100,e,2)}function al(t,e){return A(t.getUTCFullYear()%1e4,e,4)}function ol(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Bt(t):Bt.ceil(t),A(t.getUTCFullYear()%1e4,e,4)}function ul(){return"+0000"}function Vr(){return"%"}function Ir(t){return+t}function Yr(t){return Math.floor(+t/1e3)}var Xt,_t;sl({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function sl(t){return Xt=ss(t),_t=Xt.format,Xt.parse,Xt.utcFormat,Xt.utcParse,Xt}function ll(t){return new Date(t)}function cl(t){return t instanceof Date?+t:+new Date(+t)}function Lr(t,e,n,r,i,a,o,u,s,l){var c=Zu(),d=c.invert,f=c.domain,m=l(".%L"),C=l(":%S"),N=l("%I:%M"),F=l("%I %p"),b=l("%a %d"),I=l("%b %d"),$=l("%B"),v=l("%Y");function k(_){return(s(_)<_?m:u(_)<_?C:o(_)<_?N:a(_)<_?F:r(_)<_?i(_)<_?b:I:n(_)<_?$:v)(_)}return c.invert=function(_){return new Date(d(_))},c.domain=function(_){return arguments.length?f(Array.from(_,cl)):f().map(ll)},c.ticks=function(_){var T=f();return t(T[0],T[T.length-1],_??10)},c.tickFormat=function(_,T){return T==null?k:l(T)},c.nice=function(_){var T=f();return(!_||typeof _.range!="function")&&(_=e(T[0],T[T.length-1],_??10)),_?f(Qu(T,_)):c},c.copy=function(){return Xu(c,Lr(t,e,n,r,i,a,o,u,s,l))},c}function fl(){return un.apply(Lr(os,us,yt,pn,Ee,Pt,gn,dn,Wt,_t).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ce(t,e,n){this.k=t,this.x=e,this.y=n}ce.prototype={constructor:ce,scale:function(t){return t===1?this:new ce(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ce(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ce.prototype;const hl=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},dl={class:"gantt-wrapper relative w-full"},gl={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},ml={class:"flex items-center space-x-2"},pl=["value"],yl=["disabled"],xl={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},vl={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},wl={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},_l={class:"text-xs text-gray-500 mt-2"},bl={class:"text-xs font-medium text-gray-600"},Tl={class:"text-xs font-medium text-gray-600"},Ml={class:"flex justify-between items-center mb-1"},Dl=["value"],Cl={class:"space-y-1"},kl={class:"flex items-center justify-between text-xs font-medium text-gray-600"},Nl={for:"enable-freq",class:"flex items-center space-x-2 cursor-pointer"},Sl={key:0,class:"text-xs font-medium text-gray-600"},El={class:"text-xs font-medium text-gray-600"},Al={class:"text-xs font-medium text-gray-600"},Ul={class:"text-xs font-medium text-gray-600"},Fl={class:"mt-3 flex justify-between items-center"},$l={class:"text-xs font-bold text-blue-600"},Hr=5,Vl=.2,Il=hl({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"},availableCategoriesList:{type:Array,default:()=>[]}},emits:["taskUpdated"],setup(t,{emit:e}){const n=e,r=t,i=h.ref([]),a=h.ref("All"),o=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],u=h.ref({}),s=x=>{if(x.length===0)return 1;const g=[...x].sort((S,y)=>S-y),w=Math.floor(g.length/2);return g.length%2===0?(g[w-1]+g[w])/2:g[w]},l=x=>{const g=new Set;x.forEach(y=>{y.category&&y.category.trim()&&g.add(y.category)}),r.availableCategoriesList.forEach(y=>{y&&y.trim()&&g.add(y)});let w={...u.value},S=0;g.forEach(y=>{if(!w[y]){let M=o[S%o.length];w[y]=M}S++}),u.value=w},c=x=>!x||x==="Uncategorized"?"#9CA3AF":u.value[x]||"#9CA3AF",d=h.computed(()=>{const x=r.availableCategoriesList.filter(g=>g&&g.trim()).sort();return x.length===0?["Uncategorized"]:x}),f=h.computed(()=>{const x=new Set(["All"]);return r.availableCategoriesList.forEach(g=>{g&&g.trim()&&x.add(g)}),Array.from(x).sort()}),m=h.ref(null),C=h.ref(0),N={top:40,right:20,bottom:30,left:50},F=h.ref(!1),b=h.ref(null),I=(x,g)=>{if(!x||!g)return 1;const w=new Date(x),y=new Date(g).getTime()-w.getTime();if(y<0)return 1;const M=Math.ceil(y/(1e3*60*60*24))+1;return Math.max(1,M)},$=x=>I(x.start,x.end),v=h.computed(()=>{if(i.value.length===0)return 1;const x=i.value.filter(g=>g.start&&g.end).map($);return Math.max(1,s(x))}),k=(x,g)=>{if(!x||g<=0)return x;const w=new Date(x);return w.setDate(w.getDate()+g-1),_t("%Y-%m-%d")(w)},_=x=>x.toISOString().split("T")[0],T=h.computed(()=>a.value==="All"?i.value:i.value.filter(x=>x.category===a.value)),V=h.computed(()=>Math.max(150,T.value.length*40+N.top+N.bottom)),Y=h.computed(()=>{if(i.value.length===0)return new Date(r.startDate);const x=i.value.map(g=>new Date(g.start));return new Date(Math.min(...x))}),z=h.computed(()=>{if(i.value.length===0)return new Date(r.endDate);const x=i.value.map(w=>new Date(w.end)),g=new Date(Math.max(...x));return g.setDate(g.getDate()+10),g}),L=()=>{const g=(i.value.length>0?Math.max(...i.value.map(y=>y.id)):0)+1;let w,S="Planning";if(a.value!=="All"?S=a.value:i.value.length>0&&(S=i.value[i.value.length-1].category||"Planning"),i.value.length>0){const y=i.value[i.value.length-1],M=new Date(y.end).getTime()-new Date(y.start).getTime(),D=new Date(y.end);D.setDate(D.getDate()+1);const p=new Date(D.getTime()+M);w={id:g,name:`Tâche Copiée ${g}`,start:_(D),end:_(p),category:S,isNew:!0}}else{const y=new Date,M=new Date;M.setDate(M.getDate()+10),w={id:g,name:`Première Tâche ${g}`,start:_(y),end:_(M),category:S,isNew:!0}}i.value.push(w),l(i.value),n("taskUpdated",i.value)},Z=()=>{if(i.value.length===0)return;let x=i.value,g=-1;if(a.value!=="All"&&(x=i.value.filter(w=>w.category===a.value)),x.length>0)g=Math.max(...x.map(w=>w.id));else return;if(g!==-1){const w=i.value.filter(S=>S.id!==g);i.value=w,n("taskUpdated",i.value)}},ot=()=>{const x=[...i.value].sort((g,w)=>{const S=new Date(g.start),y=new Date(w.start);return Sy?1:g.id-w.id});i.value=x,n("taskUpdated",i.value)},bt=x=>{const g=i.value.findIndex(w=>w.id===x.id);if(g!==-1){const w={...i.value[g],start:x.newStart,end:x.newEnd,category:i.value[g].category,name:x.name||i.value[g].name},S=[...i.value];S[g]=w,i.value=S,n("taskUpdated",i.value)}},fe=h.computed(()=>b.value?I(b.value.start,b.value.end):0),Ft=h.computed(()=>!b.value||!b.value.y||!m.value?{}:{position:"absolute",left:`${m.value.clientWidth/2}px`,top:`${b.value.y+N.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),R=h.ref(null),tt=h.ref(null),ut=h.ref(!1),Tt=x=>{if(F.value=!1,b.value&&b.value.id===x.id){b.value=null,ut.value=!1;return}if(!R.value||!tt.value)return;const g=R.value(new Date(x.start)),w=tt.value(x.name);w!==void 0&&(b.value={id:x.id,name:x.name,start:x.start,end:x.end,durationDays:I(x.start,x.end),x:g,y:w,category:x.category||"Uncategorized",newCategory:null,freq:x.freq||null},ut.value=!!x.freq,h.nextTick(()=>{const S=document.querySelector(".gantt-edit-form input");S&&S.focus()}))};h.watch(()=>{var x;return(x=b.value)==null?void 0:x.durationDays},(x,g)=>{if(b.value&&x){x!==g&&(b.value.end=k(b.value.start,x));const w=Math.max(1,x);b.value.durationDays=w,b.value.end=k(b.value.start,w)}}),h.watch(()=>{var x;return(x=b.value)==null?void 0:x.start},(x,g)=>{b.value&&x&&(b.value.end=k(x,Math.max(1,b.value.durationDays)),x!==g&&(b.value.durationDays=I(x,b.value.end)))});const vn=()=>{const{id:x,name:g,start:w,end:S,freq:y}=b.value,M=i.value.findIndex(Gt=>Gt.id===x);if(M===-1)return;const D=i.value[M];let{category:p}=b.value;const q=b.value.freq>0?b.value.freq:null,E=new Date(w),O=new Date(S);if(E.getTime()>=O.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const W={...D,name:g,start:w,end:S,category:p,freq:q},K=[...i.value];K[M]=W,i.value=K,n("taskUpdated",i.value),b.value=null,ut.value=!1},wn=h.computed(()=>b.value?c(b.value.category):"#9CA3AF"),_n=x=>{const g=Y.value,w=z.value;R.value=fl().domain([g,w]).range([0,x-N.left-N.right]),tt.value=wr().domain(Array.isArray(T.value)?T.value.map(S=>S.name):[]).range([0,T.value.length*40]).paddingInner(.1)},xt=()=>{if(!m.value)return;C.value=m.value.clientWidth;const x=C.value;_n(x);const g=Q(m.value);g.selectAll("*").remove();const S=g.append("svg").attr("width",x).attr("height",V.value).append("g").attr("transform",`translate(${N.left}, ${N.top})`);if(S.append("g").attr("transform",`translate(0, ${T.value.length*40||50})`).call(ci(R.value)),S.append("g").attr("class","y-axis-g").call(fi(tt.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(U,B){U.preventDefault(),U.stopPropagation();const X=B,G=T.value.find(ct=>ct.name===X);G&&Tt(G)}),!T.value.length)return;const D=v.value*Hr,p=Pt.offset(Y.value,1),q=R.value(p)-R.value(Y.value);let E=!1,O,W,K=-1;const Gt=tt.value.step(),Fe=a.value!=="All",Yl=eo().on("start",function(U,B){if(b.value){Q(this).style("cursor","pointer"),U.sourceEvent.stopPropagation();return}F.value=!1,E=!1,O=U.x,W=U.y,K=T.value.findIndex(X=>X.id===B.id),Q(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(U,B){if(b.value)return;const X=U.x-O,G=U.y-W;if(Math.abs(G)>5&&!Fe)E=!0,Q(this).attr("transform",`translate(0, ${G})`);else if(Math.abs(X)>5||Fe){F.value=!0,E=!1;const ct=R.value(new Date(B.start))+X;Q(this).select("rect").attr("x",ct),Q(this).select("text").attr("x",ct+5),Q(this).attr("transform",null)}}).on("end",function(U,B){if(Q(this).style("cursor","grab"),b.value){Q(this).classed("dragging",!1).attr("transform",null);return}if(Q(this).classed("dragging",!1).attr("transform",null),E&&!Fe){const X=tt.value(B.name)+(U.y-W),G=Math.round(X/Gt),ct=Math.max(0,Math.min(T.value.length-1,G));if(ct!==K){const Mt=T.value[K].id,$t=i.value.findIndex(It=>It.id===Mt),Dt=T.value[ct].id,Vt=i.value.findIndex(It=>It.id===Dt),ft=[...i.value],[Zt]=ft.splice($t,1);ft.splice(Vt,0,Zt),i.value=ft,n("taskUpdated",i.value)}else xt()}else if(F.value){const X=R.value(new Date(B.start))+(U.x-O),G=R.value.invert(X),ct=new Date(B.end).getTime()-new Date(B.start).getTime(),Mt=new Date(G.getTime()+ct),$t=_t("%Y-%m-%d")(G),Dt=_t("%Y-%m-%d")(Mt);bt({id:B.id,name:B.name,newStart:$t,newEnd:Dt})}else xt();F.value=!1,E=!1});T.value.forEach(U=>{const B=R.value(new Date(U.start)),X=tt.value(U.name),G=tt.value.bandwidth();if(U.freq&&U.freq>0){const et=U.freq,Yt=new Date(U.start),Qt=new Date(U.end);let vt=[],$e=new Date(Yt);for(;$e.getTime()<=Qt.getTime();)vt.push(new Date($e)),$e.setDate($e.getDate()+et);if(vt.length===0)return;const bn=S.append("g").datum(U).attr("class","task-group task-freq"),qr=c(U.category),Or=R.value(vt[0]),Hl=R.value(vt[vt.length-1]),Wr=X+G/10;bn.append("line").attr("x1",Or).attr("y1",Wr).attr("x2",Hl).attr("y2",Wr).attr("stroke",qr).attr("stroke-width",2).attr("stroke-dasharray","5, 5").attr("opacity",.6);const Ve=G/5,Tn=Ve/2;vt.forEach(Pr=>{_t("%Y-%m-%d")(Pr);const zr=R.value(Pr)-Tn,Br=X;bn.append("rect").attr("x",zr).attr("y",Br).attr("width",Ve).attr("height",Ve).attr("transform",`rotate(45, ${zr+Tn}, ${Br+Tn})`).attr("rx",2).attr("fill",qr).attr("stroke","black").attr("stroke-width",1)}),bn.append("text").text(`🔁: ${U.name}`).attr("x",Or+Ve+5).attr("y",X+G/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight","bold");return}const Mt=$(U);let $t,Dt=!1;const Vt=Mt<=2;if(!Vt&&Mt>D){Dt=!0;const et=D*q,Qt=(Mt-D)*Vl*q;$t=et+Qt}else Vt||($t=R.value(new Date(U.end))-B);const ft=S.append("g").datum(U).attr("class","task-group").on("contextmenu",function(et){et.preventDefault(),et.sourceEvent?et.sourceEvent.stopPropagation():et.stopPropagation(),Tt(U)});let Zt,It;if(Vt){const et=G/5,Yt=et/2,Qt=B-Yt,vt=X;Zt=ft.append("rect").attr("x",Qt).attr("y",vt).attr("width",et).attr("height",et).attr("transform",`rotate(45, ${Qt+Yt}, ${vt+Yt})`).attr("rx",2),It=B+Yt+5}else Zt=ft.append("rect").attr("x",B).attr("y",X).attr("width",$t).attr("height",G).attr("rx",4),It=B+5;Zt.attr("fill",c(U.category)).style("cursor","grab"),Dt&&(Zt.attr("stroke","black").attr("stroke-width",2),ft.append("title").text(`Durée réelle: ${Mt} jours. Affiché plié (Whale Task) car > ${D} jours (${Hr}x la médiane).`)),Yl(ft);const Rr=Dt?`📐: ${U.name}`:U.name,Ll=Vt?`◆: ${Rr}`:Rr;ft.append("text").text(Ll).attr("x",It).attr("y",X+G/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",Dt||Vt?"bold":"normal"),Fe&&ft.append("text").text("🚫").attr("x",-45).attr("y",X+tt.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return h.watch(()=>r.tasks,x=>{Array.isArray(x)?(i.value=x.map(g=>{const{color:w,...S}=g;return{...S}}),l(i.value),xt()):(i.value=[],u.value={},xt())},{immediate:!0,deep:!0}),h.onMounted(()=>{xt(),window.addEventListener("resize",xt)}),h.watch([()=>i.value,Y,z,a],xt,{deep:!0}),(x,g)=>(h.openBlock(),h.createElementBlock("div",dl,[h.createElementVNode("div",gl,[h.createElementVNode("div",ml,[g[9]||(g[9]=h.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),h.withDirectives(h.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(h.openBlock(!0),h.createElementBlock(h.Fragment,null,h.renderList(f.value,w=>(h.openBlock(),h.createElementBlock("option",{key:w,value:w,style:h.normalizeStyle({color:w==="All"?"inherit":c(w),fontWeight:"bold"})},h.toDisplayString(w),13,pl))),128))],512),[[h.vModelSelect,a.value]])]),h.createElementVNode("button",{onClick:L,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),h.createElementVNode("button",{onClick:ot,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),h.createElementVNode("button",{onClick:Z,disabled:i.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,yl)]),h.createElementVNode("div",{ref_key:"ganttContainer",ref:m,class:"relative w-full overflow-x-auto"},[T.value.length===0&&i.value.length>0?(h.openBlock(),h.createElementBlock("div",xl,[h.createElementVNode("p",vl," Aucune tâche ne correspond au filtre '"+h.toDisplayString(a.value)+"'. ",1)])):i.value.length===0?(h.openBlock(),h.createElementBlock("div",wl,[...g[10]||(g[10]=[h.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):h.createCommentVNode("",!0)],512),h.createElementVNode("div",null,[h.createElementVNode("p",_l," Dates du graphique calculées : "+h.toDisplayString(_t("%Y-%m-%d")(Y.value))+" à "+h.toDisplayString(_t("%Y-%m-%d")(z.value)),1),g[11]||(g[11]=h.createElementVNode("p",{class:"text-xs text-blue-500 font-medium"}," (CONSEIL: **Cliquez-droit** sur une barre de tâche ou un jalon pour l'éditer. Les tâches **Whales** (durée > 5x médiane) sont **compressées** et marquées par un **📐: **. Les tâches courtes d'un jour sont des **◆: diamants**. Les tâches **récurrentes** sont des séries de **🔁: diamants**.) ",-1))]),b.value?(h.openBlock(),h.createElementBlock("div",{key:0,style:h.normalizeStyle(Ft.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[g[19]||(g[19]=h.createElementVNode("div",{class:"text-sm font-semibold text-gray-700 mb-2"},"Éditer",-1)),h.createElementVNode("label",bl,[g[12]||(g[12]=h.createTextVNode(" Nom: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"text","onUpdate:modelValue":g[1]||(g[1]=w=>b.value.name=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.name]])]),h.createElementVNode("label",Tl,[h.createElementVNode("div",Ml,[g[13]||(g[13]=h.createElementVNode("span",null,"Catégorie:",-1)),h.createElementVNode("span",{style:h.normalizeStyle({backgroundColor:wn.value}),class:"w-6 h-6 rounded-full border border-gray-400 inline-block"},null,4)]),h.withDirectives(h.createElementVNode("select",{"onUpdate:modelValue":g[2]||(g[2]=w=>b.value.category=w),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500 flex-grow"},[(h.openBlock(!0),h.createElementBlock(h.Fragment,null,h.renderList(d.value,w=>(h.openBlock(),h.createElementBlock("option",{key:w,value:w},h.toDisplayString(w),9,Dl))),128))],512),[[h.vModelSelect,b.value.category]])]),h.createElementVNode("div",Cl,[h.createElementVNode("div",kl,[h.createElementVNode("label",Nl,[h.withDirectives(h.createElementVNode("input",{type:"checkbox",id:"enable-freq","onUpdate:modelValue":g[3]||(g[3]=w=>ut.value=w),class:"rounded text-blue-600 focus:ring-blue-500 h-4 w-4"},null,512),[[h.vModelCheckbox,ut.value]]),g[14]||(g[14]=h.createElementVNode("span",null,"Activer la récurrence",-1))])]),ut.value?(h.openBlock(),h.createElementBlock("label",Sl,[g[15]||(g[15]=h.createTextVNode(" Fréquence (récurrence en jours): ",-1)),h.withDirectives(h.createElementVNode("input",{type:"number","onUpdate:modelValue":g[4]||(g[4]=w=>b.value.freq=w),placeholder:"ex: 7 pour hebdomadaire",min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.freq,void 0,{number:!0}]])])):h.createCommentVNode("",!0)]),g[20]||(g[20]=h.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),h.createElementVNode("label",El,[g[16]||(g[16]=h.createTextVNode(" Durée (jours): ",-1)),h.withDirectives(h.createElementVNode("input",{type:"number","onUpdate:modelValue":g[5]||(g[5]=w=>b.value.durationDays=w),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.durationDays,void 0,{number:!0}]])]),h.createElementVNode("label",Al,[g[17]||(g[17]=h.createTextVNode(" Début: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"date","onUpdate:modelValue":g[6]||(g[6]=w=>b.value.start=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.start]])]),h.createElementVNode("label",Ul,[g[18]||(g[18]=h.createTextVNode(" Fin: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"date","onUpdate:modelValue":g[7]||(g[7]=w=>b.value.end=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.end]])]),h.createElementVNode("div",Fl,[h.createElementVNode("span",$l," Durée effective: "+h.toDisplayString(fe.value)+" j. ",1)]),h.createElementVNode("button",{onClick:vn,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Valider "),h.createElementVNode("button",{onClick:g[8]||(g[8]=w=>b.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):h.createCommentVNode("",!0)]))}},[["__scopeId","data-v-b75d67da"]]);return{install(t){t.component("GanttChart",Il)}}}); +(function(h,wt){typeof exports=="object"&&typeof module<"u"?module.exports=wt(require("vue")):typeof define=="function"&&define.amd?define(["vue"],wt):(h=typeof globalThis<"u"?globalThis:h||self,h.GanttLib=wt(h.Vue))})(this,function(h){"use strict";function wt(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function Br(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Ie(t){let e,n,r;t.length!==2?(e=wt,n=(u,s)=>wt(t(u),s),r=(u,s)=>t(u)-s):(e=t===wt||t===Br?t:Xr,n=t,r=t);function i(u,s,l=0,c=u.length){if(l>>1;n(u[d],s)<0?l=d+1:c=d}while(l>>1;n(u[d],s)<=0?l=d+1:c=d}while(ll&&r(u[d-1],s)>-r(u[d],s)?d-1:d}return{left:i,center:o,right:a}}function Xr(){return 0}function Gr(t){return t===null?NaN:+t}const Zr=Ie(wt).right;Ie(Gr).center;class Mn extends Map{constructor(e,n=Kr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(Dn(this,e))}has(e){return super.has(Dn(this,e))}set(e,n){return super.set(Qr(this,e),n)}delete(e){return super.delete(Jr(this,e))}}function Dn({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Qr({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Jr({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function Kr(t){return t!==null&&typeof t=="object"?t.valueOf():t}const jr=Math.sqrt(50),ti=Math.sqrt(10),ei=Math.sqrt(2);function Cn(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),o=a>=jr?10:a>=ti?5:a>=ei?2:1;let u,s,l;return i<0?(l=Math.pow(10,-i)/o,u=Math.round(t*l),s=Math.round(e*l),u/le&&--s,l=-l):(l=Math.pow(10,i)*o,u=Math.round(t/l),s=Math.round(e/l),u*le&&--s),s+t(e)}function ui(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function si(){return!this.__axis}function En(t,e){var n=[],r=null,i=null,a=6,o=6,u=3,s=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=t===Ye||t===Jt?-1:1,c=t===Jt||t===He?"x":"y",d=t===Ye||t===Le?ii:ai;function f(g){var C=r??(e.ticks?e.ticks.apply(e,n):e.domain()),N=i??(e.tickFormat?e.tickFormat.apply(e,n):ri),F=Math.max(a,0)+u,b=e.range(),I=+b[0]+s,$=+b[b.length-1]+s,v=(e.bandwidth?ui:oi)(e.copy(),s),k=g.selection?g.selection():g,_=k.selectAll(".domain").data([null]),T=k.selectAll(".tick").data(C,e).order(),V=T.exit(),Y=T.enter().append("g").attr("class","tick"),W=T.select("line"),H=T.select("text");_=_.merge(_.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),T=T.merge(Y),W=W.merge(Y.append("line").attr("stroke","currentColor").attr(c+"2",l*a)),H=H.merge(Y.append("text").attr("fill","currentColor").attr(c,l*F).attr("dy",t===Ye?"0em":t===Le?"0.71em":"0.32em")),g!==k&&(_=_.transition(g),T=T.transition(g),W=W.transition(g),H=H.transition(g),V=V.transition(g).attr("opacity",Sn).attr("transform",function(Z){return isFinite(Z=v(Z))?d(Z+s):this.getAttribute("transform")}),Y.attr("opacity",Sn).attr("transform",function(Z){var ot=this.parentNode.__axis;return d((ot&&isFinite(ot=ot(Z))?ot:v(Z))+s)})),V.remove(),_.attr("d",t===Jt||t===He?o?"M"+l*o+","+I+"H"+s+"V"+$+"H"+l*o:"M"+s+","+I+"V"+$:o?"M"+I+","+l*o+"V"+s+"H"+$+"V"+l*o:"M"+I+","+s+"H"+$),T.attr("opacity",1).attr("transform",function(Z){return d(v(Z)+s)}),W.attr(c+"2",l*a),H.attr(c,l*F).text(N),k.filter(si).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===He?"start":t===Jt?"end":"middle"),k.each(function(){this.__axis=v})}return f.scale=function(g){return arguments.length?(e=g,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(g){return arguments.length?(n=g==null?[]:Array.from(g),f):n.slice()},f.tickValues=function(g){return arguments.length?(r=g==null?null:Array.from(g),f):r&&r.slice()},f.tickFormat=function(g){return arguments.length?(i=g,f):i},f.tickSize=function(g){return arguments.length?(a=o=+g,f):a},f.tickSizeInner=function(g){return arguments.length?(a=+g,f):a},f.tickSizeOuter=function(g){return arguments.length?(o=+g,f):o},f.tickPadding=function(g){return arguments.length?(u=+g,f):u},f.offset=function(g){return arguments.length?(s=+g,f):s},f}function li(t){return En(Le,t)}function ci(t){return En(Jt,t)}var fi={value:()=>{}};function Re(){for(var t=0,e=arguments.length,n={},r;t=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}he.prototype=Re.prototype={constructor:he,on:function(t,e){var n=this._,r=hi(t+"",n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a0)for(var n=new Array(i),r=0,i,a;r=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Un.hasOwnProperty(e)?{space:Un[e],local:t}:t}function gi(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Oe&&e.documentElement.namespaceURI===Oe?e.createElement(t):e.createElementNS(n,t)}}function mi(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Fn(t){var e=de(t);return(e.local?mi:gi)(e)}function pi(){}function qe(t){return t==null?pi:function(){return this.querySelector(t)}}function yi(t){typeof t!="function"&&(t=qe(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=$&&($=I+1);!(k=F[$])&&++$=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function qi(t){t||(t=Pi);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,i=new Array(r),a=0;ae?1:t>=e?0:NaN}function Wi(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function zi(){return Array.from(this)}function Bi(){for(var t=this._groups,e=0,n=t.length;e1?this.each((e==null?ra:typeof e=="function"?aa:ia)(t,e,n??"")):Ht(this.node(),t)}function Ht(t,e){return t.style.getPropertyValue(e)||Hn(t).getComputedStyle(t,null).getPropertyValue(e)}function ua(t){return function(){delete this[t]}}function sa(t,e){return function(){this[t]=e}}function la(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function ca(t,e){return arguments.length>1?this.each((e==null?ua:typeof e=="function"?la:sa)(t,e)):this.node()[t]}function Ln(t){return t.trim().split(/^|\s+/)}function Pe(t){return t.classList||new Rn(t)}function Rn(t){this._node=t,this._names=Ln(t.getAttribute("class")||"")}Rn.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function On(t,e){for(var n=Pe(t),r=-1,i=e.length;++r=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Ha(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,i=e.length,a;n()=>t;function ze(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:a,x:o,y:u,dx:s,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}ze.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Qa(t){return!t.ctrlKey&&!t.button}function Ja(){return this.parentNode}function Ka(t,e){return e??{x:t.x,y:t.y}}function ja(){return navigator.maxTouchPoints||"ontouchstart"in this}function to(){var t=Qa,e=Ja,n=Ka,r=ja,i={},a=Re("start","drag","end"),o=0,u,s,l,c,d=0;function f(v){v.on("mousedown.drag",g).filter(r).on("touchstart.drag",F).on("touchmove.drag",b,Xa).on("touchend.drag touchcancel.drag",I).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(v,k){if(!(c||!t.call(this,v,k))){var _=$(this,e.call(this,v,k),v,k,"mouse");_&&(Q(v.view).on("mousemove.drag",C,jt).on("mouseup.drag",N,jt),Ga(v.view),We(v),l=!1,u=v.clientX,s=v.clientY,_("start",v))}}function C(v){if(Lt(v),!l){var k=v.clientX-u,_=v.clientY-s;l=k*k+_*_>d}i.mouse("drag",v)}function N(v){Q(v.view).on("mousemove.drag mouseup.drag",null),Za(v.view,l),Lt(v),i.mouse("end",v)}function F(v,k){if(t.call(this,v,k)){var _=v.changedTouches,T=e.call(this,v,k),V=_.length,Y,W;for(Y=0;Y>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ye(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ye(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=no.exec(t))?new J(e[1],e[2],e[3],1):(e=ro.exec(t))?new J(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=io.exec(t))?ye(e[1],e[2],e[3],e[4]):(e=ao.exec(t))?ye(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=oo.exec(t))?jn(e[1],e[2]/100,e[3]/100,1):(e=uo.exec(t))?jn(e[1],e[2]/100,e[3]/100,e[4]):Xn.hasOwnProperty(t)?Qn(Xn[t]):t==="transparent"?new J(NaN,NaN,NaN,0):null}function Qn(t){return new J(t>>16&255,t>>8&255,t&255,1)}function ye(t,e,n,r){return r<=0&&(t=e=n=NaN),new J(t,e,n,r)}function co(t){return t instanceof te||(t=Dt(t)),t?(t=t.rgb(),new J(t.r,t.g,t.b,t.opacity)):new J}function Xe(t,e,n,r){return arguments.length===1?co(t):new J(t,e,n,r??1)}function J(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Be(J,Xe,Bn(te,{brighter(t){return t=t==null?pe:Math.pow(pe,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ee:Math.pow(ee,t),new J(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new J(Ct(this.r),Ct(this.g),Ct(this.b),xe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Jn,formatHex:Jn,formatHex8:fo,formatRgb:Kn,toString:Kn}));function Jn(){return`#${kt(this.r)}${kt(this.g)}${kt(this.b)}`}function fo(){return`#${kt(this.r)}${kt(this.g)}${kt(this.b)}${kt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Kn(){const t=xe(this.opacity);return`${t===1?"rgb(":"rgba("}${Ct(this.r)}, ${Ct(this.g)}, ${Ct(this.b)}${t===1?")":`, ${t})`}`}function xe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ct(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function kt(t){return t=Ct(t),(t<16?"0":"")+t.toString(16)}function jn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new rt(t,e,n,r)}function tr(t){if(t instanceof rt)return new rt(t.h,t.s,t.l,t.opacity);if(t instanceof te||(t=Dt(t)),!t)return new rt;if(t instanceof rt)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,u=a-i,s=(a+i)/2;return u?(e===a?o=(n-r)/u+(n0&&s<1?0:o,new rt(o,u,s,t.opacity)}function ho(t,e,n,r){return arguments.length===1?tr(t):new rt(t,e,n,r??1)}function rt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Be(rt,ho,Bn(te,{brighter(t){return t=t==null?pe:Math.pow(pe,t),new rt(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ee:Math.pow(ee,t),new rt(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new J(Ge(t>=240?t-240:t+120,i,r),Ge(t,i,r),Ge(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new rt(er(this.h),ve(this.s),ve(this.l),xe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=xe(this.opacity);return`${t===1?"hsl(":"hsla("}${er(this.h)}, ${ve(this.s)*100}%, ${ve(this.l)*100}%${t===1?")":`, ${t})`}`}}));function er(t){return t=(t||0)%360,t<0?t+360:t}function ve(t){return Math.max(0,Math.min(1,t||0))}function Ge(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Ze=t=>()=>t;function go(t,e){return function(n){return t+n*e}}function mo(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function po(t){return(t=+t)==1?nr:function(e,n){return n-e?mo(e,n,t):Ze(isNaN(e)?n:e)}}function nr(t,e){var n=e-t;return n?go(t,n):Ze(isNaN(t)?e:t)}const we=function t(e){var n=po(e);function r(i,a){var o=n((i=Xe(i)).r,(a=Xe(a)).r),u=n(i.g,a.g),s=n(i.b,a.b),l=nr(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=u(c),i.b=s(c),i.opacity=l(c),i+""}}return r.gamma=t,r}(1);function yo(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(a){for(i=0;in&&(a=e.slice(n,a),u[o]?u[o]+=a:u[++o]=a),(r=r[0])===(i=i[0])?u[o]?u[o]+=i:u[++o]=i:(u[++o]=null,s.push({i:o,x:it(r,i)})),n=Je.lastIndex;return n180?c+=360:c-l>180&&(l+=360),f.push({i:d.push(i(d)+"rotate(",null,r)-2,x:it(l,c)})):c&&d.push(i(d)+"rotate("+c+r)}function u(l,c,d,f){l!==c?f.push({i:d.push(i(d)+"skewX(",null,r)-2,x:it(l,c)}):c&&d.push(i(d)+"skewX("+c+r)}function s(l,c,d,f,g,C){if(l!==d||c!==f){var N=g.push(i(g)+"scale(",null,",",null,")");C.push({i:N-4,x:it(l,d)},{i:N-2,x:it(c,f)})}else(d!==1||f!==1)&&g.push(i(g)+"scale("+d+","+f+")")}return function(l,c){var d=[],f=[];return l=t(l),c=t(c),a(l.translateX,l.translateY,c.translateX,c.translateY,d,f),o(l.rotate,c.rotate,d,f),u(l.skewX,c.skewX,d,f),s(l.scaleX,l.scaleY,c.scaleX,c.scaleY,d,f),l=c=null,function(g){for(var C=-1,N=f.length,F;++C=0&&t._call.call(void 0,e),t=t._next;--Ot}function cr(){Nt=(Te=oe.now())+Me,Ot=re=0;try{Eo()}finally{Ot=0,Uo(),Nt=0}}function Ao(){var t=oe.now(),e=t-Te;e>ur&&(Me-=e,Te=t)}function Uo(){for(var t,e=be,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:be=n);ae=t,en(r)}function en(t){if(!Ot){re&&(re=clearTimeout(re));var e=t-Nt;e>24?(t<1/0&&(re=setTimeout(cr,t-oe.now()-Me)),ie&&(ie=clearInterval(ie))):(ie||(Te=oe.now(),ie=setInterval(Ao,ur)),Ot=1,sr(cr))}}function fr(t,e,n){var r=new De;return e=e==null?0:+e,r.restart(i=>{r.stop(),t(i+e)},e,n),r}var Fo=Re("start","end","cancel","interrupt"),$o=[],hr=0,dr=1,nn=2,Ce=3,gr=4,rn=5,ke=6;function Ne(t,e,n,r,i,a){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Vo(t,n,{name:e,index:r,group:i,on:Fo,tween:$o,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:hr})}function an(t,e){var n=at(t,e);if(n.state>hr)throw new Error("too late; already scheduled");return n}function lt(t,e){var n=at(t,e);if(n.state>Ce)throw new Error("too late; already running");return n}function at(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Vo(t,e,n){var r=t.__transition,i;r[e]=n,n.timer=lr(a,0,n.time);function a(l){n.state=dr,n.timer.restart(o,n.delay,n.time),n.delay<=l&&o(l-n.delay)}function o(l){var c,d,f,g;if(n.state!==dr)return s();for(c in r)if(g=r[c],g.name===n.name){if(g.state===Ce)return fr(o);g.state===gr?(g.state=ke,g.timer.stop(),g.on.call("interrupt",t,t.__data__,g.index,g.group),delete r[c]):+cnn&&r.state=0&&(e=e.slice(0,n)),!e||e==="start"})}function hu(t,e,n){var r,i,a=fu(e)?an:lt;return function(){var o=a(this,t),u=o.on;u!==r&&(i=(r=u).copy()).on(e,n),o.on=i}}function du(t,e){var n=this._id;return arguments.length<2?at(this.node(),n).on.on(t):this.each(hu(n,t,e))}function gu(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function mu(){return this.on("end.remove",gu(this._id))}function pu(t){var e=this._name,n=this._id;typeof t!="function"&&(t=qe(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;oe&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Wu(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?zu:Wu,s=l=null,d}function d(f){return f==null||isNaN(f=+f)?a:(s||(s=u(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(i((l||(l=u(e,t.map(r),it)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,qu),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=Mo,c()},d.clamp=function(f){return arguments.length?(o=f?!0:qt,c()):o!==qt},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,g){return r=f,i=g,c()}}function Gu(){return Xu()(qt,qt)}function Zu(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],o;return a(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const o=i(a),u=i.ceil(a);return a-o(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,u)=>{const s=[];if(a=i.ceil(a),u=u==null?1:Math.floor(u),!(a0))return s;let l;do s.push(l=new Date(+a)),e(a,u),t(a);while(lL(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,u)=>{if(o>=o)if(u<0)for(;++u<=0;)for(;e(o,-1),!a(o););else for(;--u>=0;)for(;e(o,1),!a(o););}),n&&(i.count=(a,o)=>(ln.setTime(+a),cn.setTime(+o),t(ln),t(cn),Math.floor(n(ln,cn))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?o=>r(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Se=L(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Se.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?L(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Se),Se.range;const dt=1e3,et=dt*60,gt=et*60,mt=gt*24,fn=mt*7,br=mt*30,hn=mt*365,Pt=L(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*dt)},(t,e)=>(e-t)/dt,t=>t.getUTCSeconds());Pt.range;const dn=L(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*dt)},(t,e)=>{t.setTime(+t+e*et)},(t,e)=>(e-t)/et,t=>t.getMinutes());dn.range,L(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*et)},(t,e)=>(e-t)/et,t=>t.getUTCMinutes()).range;const gn=L(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*dt-t.getMinutes()*et)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());gn.range,L(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours()).range;const Wt=L(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*et)/mt,t=>t.getDate()-1);Wt.range;const mn=L(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/mt,t=>t.getUTCDate()-1);mn.range,L(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/mt,t=>Math.floor(t/mt)).range;function St(t){return L(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*et)/fn)}const Ee=St(0),Ae=St(1),Qu=St(2),Ju=St(3),zt=St(4),Ku=St(5),ju=St(6);Ee.range,Ae.range,Qu.range,Ju.range,zt.range,Ku.range,ju.range;function Et(t){return L(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/fn)}const Tr=Et(0),Ue=Et(1),ts=Et(2),es=Et(3),Bt=Et(4),ns=Et(5),rs=Et(6);Tr.range,Ue.range,ts.range,es.range,Bt.range,ns.range,rs.range;const pn=L(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());pn.range,L(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()).range;const pt=L(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());pt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:L(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}),pt.range;const At=L(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());At.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:L(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}),At.range;function is(t,e,n,r,i,a){const o=[[Pt,1,dt],[Pt,5,5*dt],[Pt,15,15*dt],[Pt,30,30*dt],[a,1,et],[a,5,5*et],[a,15,15*et],[a,30,30*et],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,mt],[r,2,2*mt],[n,1,fn],[e,1,br],[e,3,3*br],[t,1,hn]];function u(l,c,d){const f=cF).right(o,f);if(g===o.length)return t.every(Nn(l/hn,c/hn,d));if(g===0)return Se.every(Math.max(Nn(l,c,d),1));const[C,N]=o[f/o[g-1][2]53)return null;"w"in p||(p.w=1),"Z"in p?(E=xn(ue(p.y,0,1)),O=E.getUTCDay(),E=O>4||O===0?Ue.ceil(E):Ue(E),E=mn.offset(E,(p.V-1)*7),p.y=E.getUTCFullYear(),p.m=E.getUTCMonth(),p.d=E.getUTCDate()+(p.w+6)%7):(E=yn(ue(p.y,0,1)),O=E.getDay(),E=O>4||O===0?Ae.ceil(E):Ae(E),E=Wt.offset(E,(p.V-1)*7),p.y=E.getFullYear(),p.m=E.getMonth(),p.d=E.getDate()+(p.w+6)%7)}else("W"in p||"U"in p)&&("w"in p||(p.w="u"in p?p.u%7:"W"in p?1:0),O="Z"in p?xn(ue(p.y,0,1)).getUTCDay():yn(ue(p.y,0,1)).getDay(),p.m=0,p.d="W"in p?(p.w+6)%7+p.W*7-(O+5)%7:p.w+p.U*7-(O+6)%7);return"Z"in p?(p.H+=p.Z/100|0,p.M+=p.Z%100,xn(p)):yn(p)}}function V(y,M,D,p){for(var R=0,E=M.length,O=D.length,q,K;R=O)return-1;if(q=M.charCodeAt(R++),q===37){if(q=M.charAt(R++),K=k[q in Mr?M.charAt(R++):q],!K||(p=K(y,D,p))<0)return-1}else if(q!=D.charCodeAt(p++))return-1}return p}function Y(y,M,D){var p=l.exec(M.slice(D));return p?(y.p=c.get(p[0].toLowerCase()),D+p[0].length):-1}function W(y,M,D){var p=g.exec(M.slice(D));return p?(y.w=C.get(p[0].toLowerCase()),D+p[0].length):-1}function H(y,M,D){var p=d.exec(M.slice(D));return p?(y.w=f.get(p[0].toLowerCase()),D+p[0].length):-1}function Z(y,M,D){var p=b.exec(M.slice(D));return p?(y.m=I.get(p[0].toLowerCase()),D+p[0].length):-1}function ot(y,M,D){var p=N.exec(M.slice(D));return p?(y.m=F.get(p[0].toLowerCase()),D+p[0].length):-1}function bt(y,M,D){return V(y,e,M,D)}function fe(y,M,D){return V(y,n,M,D)}function Ut(y,M,D){return V(y,r,M,D)}function z(y){return o[y.getDay()]}function nt(y){return a[y.getDay()]}function ut(y){return s[y.getMonth()]}function Tt(y){return u[y.getMonth()]}function vn(y){return i[+(y.getHours()>=12)]}function wn(y){return 1+~~(y.getMonth()/3)}function _n(y){return o[y.getUTCDay()]}function yt(y){return a[y.getUTCDay()]}function x(y){return s[y.getUTCMonth()]}function m(y){return u[y.getUTCMonth()]}function w(y){return i[+(y.getUTCHours()>=12)]}function S(y){return 1+~~(y.getUTCMonth()/3)}return{format:function(y){var M=_(y+="",$);return M.toString=function(){return y},M},parse:function(y){var M=T(y+="",!1);return M.toString=function(){return y},M},utcFormat:function(y){var M=_(y+="",v);return M.toString=function(){return y},M},utcParse:function(y){var M=T(y+="",!0);return M.toString=function(){return y},M}}}var Mr={"-":"",_:" ",0:"0"},P=/^\s*\d+/,ss=/^%/,ls=/[\\^$*+?|[\]().{}]/g;function A(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function fs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function hs(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function ds(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function gs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function ms(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Dr(t,e,n){var r=P.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Cr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ps(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function ys(t,e,n){var r=P.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function xs(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function kr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function vs(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function ws(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function _s(t,e,n){var r=P.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function bs(t,e,n){var r=P.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Ts(t,e,n){var r=P.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Ms(t,e,n){var r=ss.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Ds(t,e,n){var r=P.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Cs(t,e,n){var r=P.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Sr(t,e){return A(t.getDate(),e,2)}function ks(t,e){return A(t.getHours(),e,2)}function Ns(t,e){return A(t.getHours()%12||12,e,2)}function Ss(t,e){return A(1+Wt.count(pt(t),t),e,3)}function Er(t,e){return A(t.getMilliseconds(),e,3)}function Es(t,e){return Er(t,e)+"000"}function As(t,e){return A(t.getMonth()+1,e,2)}function Us(t,e){return A(t.getMinutes(),e,2)}function Fs(t,e){return A(t.getSeconds(),e,2)}function $s(t){var e=t.getDay();return e===0?7:e}function Vs(t,e){return A(Ee.count(pt(t)-1,t),e,2)}function Ar(t){var e=t.getDay();return e>=4||e===0?zt(t):zt.ceil(t)}function Is(t,e){return t=Ar(t),A(zt.count(pt(t),t)+(pt(t).getDay()===4),e,2)}function Ys(t){return t.getDay()}function Hs(t,e){return A(Ae.count(pt(t)-1,t),e,2)}function Ls(t,e){return A(t.getFullYear()%100,e,2)}function Rs(t,e){return t=Ar(t),A(t.getFullYear()%100,e,2)}function Os(t,e){return A(t.getFullYear()%1e4,e,4)}function qs(t,e){var n=t.getDay();return t=n>=4||n===0?zt(t):zt.ceil(t),A(t.getFullYear()%1e4,e,4)}function Ps(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+A(e/60|0,"0",2)+A(e%60,"0",2)}function Ur(t,e){return A(t.getUTCDate(),e,2)}function Ws(t,e){return A(t.getUTCHours(),e,2)}function zs(t,e){return A(t.getUTCHours()%12||12,e,2)}function Bs(t,e){return A(1+mn.count(At(t),t),e,3)}function Fr(t,e){return A(t.getUTCMilliseconds(),e,3)}function Xs(t,e){return Fr(t,e)+"000"}function Gs(t,e){return A(t.getUTCMonth()+1,e,2)}function Zs(t,e){return A(t.getUTCMinutes(),e,2)}function Qs(t,e){return A(t.getUTCSeconds(),e,2)}function Js(t){var e=t.getUTCDay();return e===0?7:e}function Ks(t,e){return A(Tr.count(At(t)-1,t),e,2)}function $r(t){var e=t.getUTCDay();return e>=4||e===0?Bt(t):Bt.ceil(t)}function js(t,e){return t=$r(t),A(Bt.count(At(t),t)+(At(t).getUTCDay()===4),e,2)}function tl(t){return t.getUTCDay()}function el(t,e){return A(Ue.count(At(t)-1,t),e,2)}function nl(t,e){return A(t.getUTCFullYear()%100,e,2)}function rl(t,e){return t=$r(t),A(t.getUTCFullYear()%100,e,2)}function il(t,e){return A(t.getUTCFullYear()%1e4,e,4)}function al(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Bt(t):Bt.ceil(t),A(t.getUTCFullYear()%1e4,e,4)}function ol(){return"+0000"}function Vr(){return"%"}function Ir(t){return+t}function Yr(t){return Math.floor(+t/1e3)}var Xt,_t;ul({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function ul(t){return Xt=us(t),_t=Xt.format,Xt.parse,Xt.utcFormat,Xt.utcParse,Xt}function sl(t){return new Date(t)}function ll(t){return t instanceof Date?+t:+new Date(+t)}function Hr(t,e,n,r,i,a,o,u,s,l){var c=Gu(),d=c.invert,f=c.domain,g=l(".%L"),C=l(":%S"),N=l("%I:%M"),F=l("%I %p"),b=l("%a %d"),I=l("%b %d"),$=l("%B"),v=l("%Y");function k(_){return(s(_)<_?g:u(_)<_?C:o(_)<_?N:a(_)<_?F:r(_)<_?i(_)<_?b:I:n(_)<_?$:v)(_)}return c.invert=function(_){return new Date(d(_))},c.domain=function(_){return arguments.length?f(Array.from(_,ll)):f().map(sl)},c.ticks=function(_){var T=f();return t(T[0],T[T.length-1],_??10)},c.tickFormat=function(_,T){return T==null?k:l(T)},c.nice=function(_){var T=f();return(!_||typeof _.range!="function")&&(_=e(T[0],T[T.length-1],_??10)),_?f(Zu(T,_)):c},c.copy=function(){return Bu(c,Hr(t,e,n,r,i,a,o,u,s,l))},c}function cl(){return un.apply(Hr(as,os,pt,pn,Ee,Wt,gn,dn,Pt,_t).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ce(t,e,n){this.k=t,this.x=e,this.y=n}ce.prototype={constructor:ce,scale:function(t){return t===1?this:new ce(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ce(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ce.prototype;const fl=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n},hl={class:"gantt-wrapper relative w-full"},dl={class:"absolute top-0 right-0 z-10 flex space-x-4 items-center mr-2"},gl={class:"flex items-center space-x-2"},ml=["value"],pl=["disabled"],yl={key:0,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},xl={class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"},vl={key:1,class:"absolute inset-0 flex items-center justify-center bg-gray-50/50 z-20"},wl={class:"text-xs text-gray-500 mt-2"},_l={class:"text-xs font-medium text-gray-600"},bl={class:"text-xs font-medium text-gray-600"},Tl={class:"flex justify-between items-center mb-1"},Ml=["value"],Dl={class:"space-y-1"},Cl={class:"flex items-center justify-between text-xs font-medium text-gray-600"},kl={for:"enable-freq",class:"flex items-center space-x-2 cursor-pointer"},Nl={key:0,class:"text-xs font-medium text-gray-600"},Sl={class:"text-xs font-medium text-gray-600"},El={class:"text-xs font-medium text-gray-600"},Al={class:"text-xs font-medium text-gray-600"},Ul={class:"mt-3 flex justify-between items-center"},Fl={class:"text-xs font-bold text-blue-600"},$l=5,Vl=.2,Il=fl({__name:"GanttChart",props:{tasks:{type:Array,default:()=>[]},startDate:{type:String,default:"2012-12-12"},endDate:{type:String,default:"2013-12-13"},availableCategoriesList:{type:Array,default:()=>[]}},emits:["taskUpdated"],setup(t,{emit:e}){const n=e,r=t,i=h.ref([]),a=h.ref("All"),o=["#4F46E5","#10B981","#F59E0B","#EF4444","#6366F1","#EC4899","#06B6D4"],u=h.ref({}),s=x=>{if(x.length===0)return 1;const m=[...x].sort((S,y)=>S-y),w=Math.floor(m.length/2);return m.length%2===0?(m[w-1]+m[w])/2:m[w]},l=x=>{const m=new Set;x.forEach(y=>{y.category&&y.category.trim()&&m.add(y.category)}),r.availableCategoriesList.forEach(y=>{y&&y.trim()&&m.add(y)});let w={...u.value},S=0;m.forEach(y=>{if(!w[y]){let M=o[S%o.length];w[y]=M}S++}),u.value=w},c=x=>!x||x==="Uncategorized"?"#9CA3AF":u.value[x]||"#9CA3AF",d=h.computed(()=>{const x=r.availableCategoriesList.filter(m=>m&&m.trim()).sort();return x.length===0?["Uncategorized"]:x}),f=h.computed(()=>{const x=new Set(["All"]);return r.availableCategoriesList.forEach(m=>{m&&m.trim()&&x.add(m)}),Array.from(x).sort()}),g=h.ref(null),C=h.ref(0),N={top:40,right:20,bottom:30,left:50},F=h.ref(!1),b=h.ref(null),I=(x,m)=>{if(!x||!m)return 1;const w=new Date(x),y=new Date(m).getTime()-w.getTime();if(y<0)return 1;const M=Math.ceil(y/(1e3*60*60*24))+1;return Math.max(1,M)},$=x=>I(x.start,x.end),v=h.computed(()=>{if(i.value.length===0)return 1;const x=i.value.filter(m=>m.start&&m.end).map($);return Math.max(1,s(x))}),k=(x,m)=>{if(!x||m<=0)return x;const w=new Date(x);return w.setDate(w.getDate()+m-1),_t("%Y-%m-%d")(w)},_=x=>x.toISOString().split("T")[0],T=h.computed(()=>a.value==="All"?i.value:i.value.filter(x=>x.category===a.value)),V=h.computed(()=>Math.max(150,T.value.length*40+N.top+N.bottom)),Y=h.computed(()=>{if(i.value.length===0)return new Date(r.startDate);const x=i.value.map(m=>new Date(m.start));return new Date(Math.min(...x))}),W=h.computed(()=>{if(i.value.length===0)return new Date(r.endDate);const x=i.value.map(w=>new Date(w.end)),m=new Date(Math.max(...x));return m.setDate(m.getDate()+10),m}),H=()=>{const m=(i.value.length>0?Math.max(...i.value.map(y=>y.id)):0)+1;let w,S="Planning";if(a.value!=="All"?S=a.value:i.value.length>0&&(S=i.value[i.value.length-1].category||"Planning"),i.value.length>0){const y=i.value[i.value.length-1],M=new Date(y.end).getTime()-new Date(y.start).getTime(),D=new Date(y.end);D.setDate(D.getDate()+1);const p=new Date(D.getTime()+M);w={id:m,name:`Tâche Copiée ${m}`,start:_(D),end:_(p),category:S,isNew:!0}}else{const y=new Date,M=new Date;M.setDate(M.getDate()+10),w={id:m,name:`Première Tâche ${m}`,start:_(y),end:_(M),category:S,isNew:!0}}i.value.push(w),l(i.value),n("taskUpdated",i.value)},Z=()=>{if(i.value.length===0)return;let x=i.value,m=-1;if(a.value!=="All"&&(x=i.value.filter(w=>w.category===a.value)),x.length>0)m=Math.max(...x.map(w=>w.id));else return;if(m!==-1){const w=i.value.filter(S=>S.id!==m);i.value=w,n("taskUpdated",i.value)}},ot=()=>{const x=[...i.value].sort((m,w)=>{const S=new Date(m.start),y=new Date(w.start);return Sy?1:m.id-w.id});i.value=x,n("taskUpdated",i.value)},bt=x=>{const m=i.value.findIndex(w=>w.id===x.id);if(m!==-1){const w={...i.value[m],start:x.newStart,end:x.newEnd,category:i.value[m].category,name:x.name||i.value[m].name},S=[...i.value];S[m]=w,i.value=S,n("taskUpdated",i.value)}},fe=h.computed(()=>b.value?I(b.value.start,b.value.end):0),Ut=h.computed(()=>!b.value||!b.value.y||!g.value?{}:{position:"absolute",left:`${g.value.clientWidth/2}px`,top:`${b.value.y+N.top+5}px`,transform:"translateX(-50%)",zIndex:30,minWidth:"320px"}),z=h.ref(null),nt=h.ref(null),ut=h.ref(!1),Tt=x=>{if(F.value=!1,b.value&&b.value.id===x.id){b.value=null,ut.value=!1;return}if(!z.value||!nt.value)return;const m=0,w=0;b.value={id:x.id,name:x.name,start:x.start,end:x.end,durationDays:I(x.start,x.end),x:m,y:w,category:x.category||"Uncategorized",newCategory:null,freq:x.freq||null},ut.value=!!x.freq,h.nextTick(()=>{const S=document.querySelector(".gantt-edit-form input");S&&S.focus()})};h.watch(()=>{var x;return(x=b.value)==null?void 0:x.durationDays},(x,m)=>{if(b.value&&x){x!==m&&(b.value.end=k(b.value.start,x));const w=Math.max(1,x);b.value.durationDays=w,b.value.end=k(b.value.start,w)}}),h.watch(()=>{var x;return(x=b.value)==null?void 0:x.start},(x,m)=>{b.value&&x&&(b.value.end=k(x,Math.max(1,b.value.durationDays)),x!==m&&(b.value.durationDays=I(x,b.value.end)))});const vn=()=>{const{id:x,name:m,start:w,end:S,freq:y}=b.value,M=i.value.findIndex(Gt=>Gt.id===x);if(M===-1)return;const D=i.value[M];let{category:p}=b.value;const R=b.value.freq>0?b.value.freq:null,E=new Date(w),O=new Date(S);if(E.getTime()>=O.getTime()){console.error("La tâche doit avoir une durée d'au moins un jour (date de début < date de fin)."),console.warn("Erreur: La date de début doit être strictement antérieure à la date de fin pour garantir une durée positive. Opération annulée.");return}const q={...D,name:m,start:w,end:S,category:p,freq:R},K=[...i.value];K[M]=q,i.value=K,n("taskUpdated",i.value),b.value=null,ut.value=!1},wn=h.computed(()=>b.value?c(b.value.category):"#9CA3AF"),_n=x=>{const m=Y.value,w=W.value;z.value=cl().domain([m,w]).range([0,x-N.left-N.right]),nt.value=wr().domain(Array.isArray(T.value)?T.value.map(S=>S.name):[]).range([0,T.value.length*40]).paddingInner(.1)},yt=()=>{if(!g.value)return;C.value=g.value.clientWidth;const x=C.value;_n(x);const m=Q(g.value);m.selectAll("*").remove();const S=m.append("svg").attr("width",x).attr("height",V.value).append("g").attr("transform",`translate(${N.left}, ${N.top})`);if(S.append("g").attr("transform",`translate(0, ${T.value.length*40||50})`).call(li(z.value)),S.append("g").attr("class","y-axis-g").call(ci(nt.value)).selectAll(".tick text").style("cursor","pointer").on("contextmenu",function(U,B){U.preventDefault(),U.stopPropagation();const X=B,G=T.value.find(ct=>ct.name===X);G&&Tt(G)}),!T.value.length)return;const D=v.value*$l,p=Wt.offset(Y.value,1),R=z.value(p)-z.value(Y.value);let E=!1,O,q,K=-1;const Gt=nt.value.step(),Fe=a.value!=="All",Yl=to().on("start",function(U,B){if(b.value){Q(this).style("cursor","pointer"),U.sourceEvent.stopPropagation();return}F.value=!1,E=!1,O=U.x,q=U.y,K=T.value.findIndex(X=>X.id===B.id),Q(this).raise().classed("dragging",!0).style("cursor","grabbing")}).on("drag",function(U,B){if(b.value)return;const X=U.x-O,G=U.y-q;if(Math.abs(G)>5&&!Fe)E=!0,Q(this).attr("transform",`translate(0, ${G})`);else if(Math.abs(X)>5||Fe){F.value=!0,E=!1;const ct=z.value(new Date(B.start))+X;Q(this).select("rect").attr("x",ct),Q(this).select("text").attr("x",ct+5),Q(this).attr("transform",null)}}).on("end",function(U,B){if(Q(this).style("cursor","grab"),b.value){Q(this).classed("dragging",!1).attr("transform",null);return}if(Q(this).classed("dragging",!1).attr("transform",null),E&&!Fe){const X=nt.value(B.name)+(U.y-q),G=Math.round(X/Gt),ct=Math.max(0,Math.min(T.value.length-1,G));if(ct!==K){const Ft=T.value[K].id,$t=i.value.findIndex(It=>It.id===Ft),Mt=T.value[ct].id,Vt=i.value.findIndex(It=>It.id===Mt),xt=[...i.value],[Zt]=xt.splice($t,1);xt.splice(Vt,0,Zt),i.value=xt,n("taskUpdated",i.value)}else yt()}else if(F.value){const X=z.value(new Date(B.start))+(U.x-O),G=z.value.invert(X),ct=new Date(B.end).getTime()-new Date(B.start).getTime(),Ft=new Date(G.getTime()+ct),$t=_t("%Y-%m-%d")(G),Mt=_t("%Y-%m-%d")(Ft);bt({id:B.id,name:B.name,newStart:$t,newEnd:Mt})}else yt();F.value=!1,E=!1});T.value.forEach(U=>{const B=z.value(new Date(U.start)),X=nt.value(U.name),G=nt.value.bandwidth();if(U.freq&&U.freq>0){const tt=U.freq,Yt=new Date(U.start),Qt=new Date(U.end);let vt=[],$e=new Date(Yt);for(;$e.getTime()<=Qt.getTime();)vt.push(new Date($e)),$e.setDate($e.getDate()+tt);if(vt.length===0)return;const bn=S.append("g").datum(U).attr("class","task-group task-freq"),Rr=c(U.category),Or=z.value(vt[0]),Ll=z.value(vt[vt.length-1]),qr=X+G/10;bn.append("line").attr("x1",Or).attr("y1",qr).attr("x2",Ll).attr("y2",qr).attr("stroke",Rr).attr("stroke-width",2).attr("stroke-dasharray","5, 5").attr("opacity",.6);const Ve=G/5,Tn=Ve/2;vt.forEach(Pr=>{_t("%Y-%m-%d")(Pr);const Wr=z.value(Pr)-Tn,zr=X;bn.append("rect").attr("x",Wr).attr("y",zr).attr("width",Ve).attr("height",Ve).attr("transform",`rotate(45, ${Wr+Tn}, ${zr+Tn})`).attr("rx",2).attr("fill",Rr).attr("stroke","black").attr("stroke-width",1)}),bn.append("text").text(`🔁: ${U.name}`).attr("x",Or+Ve+5).attr("y",X+G/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight","bold");return}const Ft=$(U);let $t,Mt=!1;const Vt=Ft<=2;if(!Vt&&Ft>D){Mt=!0;const tt=D*R,Qt=(Ft-D)*Vl*R;$t=tt+Qt}else Vt||($t=z.value(new Date(U.end))-B);const xt=S.append("g").datum(U).attr("class","task-group").on("contextmenu",function(tt){tt.preventDefault(),tt.sourceEvent?tt.sourceEvent.stopPropagation():tt.stopPropagation(),Tt(U)});let Zt,It;if(Vt){const tt=G/5,Yt=tt/2,Qt=B-Yt,vt=X;Zt=xt.append("rect").attr("x",Qt).attr("y",vt).attr("width",tt).attr("height",tt).attr("transform",`rotate(45, ${Qt+Yt}, ${vt+Yt})`).attr("rx",2),It=B+Yt+5}else Zt=xt.append("rect").attr("x",B).attr("y",X).attr("width",$t).attr("height",G).attr("rx",4),It=B+5;Zt.attr("fill",c(U.category)).style("cursor","grab"),Mt&&Zt.attr("stroke","black").attr("stroke-width",2),Yl(xt);const Lr=Mt?`📐: ${U.name}`:U.name,Hl=Vt?`◆: ${Lr}`:Lr;xt.append("text").text(Hl).attr("x",It).attr("y",X+G/2+5).attr("fill","black").style("pointer-events","none").style("font-size","12px").style("font-weight",Mt||Vt?"bold":"normal"),Fe&&xt.append("text").text("🚫").attr("x",-45).attr("y",X+nt.value.bandwidth()/2+5).attr("fill","gray").style("font-size","14px").style("cursor","help").attr("title","Réorganisation désactivée en mode filtré")})};return h.watch(()=>r.tasks,x=>{Array.isArray(x)?(i.value=x.map(m=>{const{color:w,...S}=m;return{...S}}),l(i.value),yt()):(i.value=[],u.value={},yt())},{immediate:!0,deep:!0}),h.onMounted(()=>{yt(),window.addEventListener("resize",yt)}),h.watch([()=>i.value,Y,W,a],yt,{deep:!0}),(x,m)=>(h.openBlock(),h.createElementBlock("div",hl,[h.createElementVNode("div",dl,[h.createElementVNode("div",gl,[m[9]||(m[9]=h.createElementVNode("label",{for:"categoryFilter",class:"text-sm font-medium text-gray-700"},"Filtrer par:",-1)),h.withDirectives(h.createElementVNode("select",{id:"categoryFilter","onUpdate:modelValue":m[0]||(m[0]=w=>a.value=w),class:"p-1 border border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 text-sm"},[(h.openBlock(!0),h.createElementBlock(h.Fragment,null,h.renderList(f.value,w=>(h.openBlock(),h.createElementBlock("option",{key:w,value:w,style:h.normalizeStyle({color:w==="All"?"inherit":c(w),fontWeight:"bold"})},h.toDisplayString(w),13,ml))),128))],512),[[h.vModelSelect,a.value]])]),h.createElementVNode("button",{onClick:H,class:"bg-green-500 hover:bg-green-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Ajouter une nouvelle tâche (copie de la dernière)"}," + "),h.createElementVNode("button",{onClick:ot,class:"bg-blue-500 hover:bg-blue-600 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-sm leading-none w-8 h-8 flex items-center justify-center",title:"Trier par date de début"}," ⇅ "),h.createElementVNode("button",{onClick:Z,disabled:i.value.length===0,class:"bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-gray-500 font-bold py-1 px-2 rounded-full shadow-lg transition duration-150 text-lg leading-none w-8 h-8 flex items-center justify-center",title:"Supprimer la dernière tâche (ID max)"}," − ",8,pl)]),h.createElementVNode("div",{ref_key:"ganttContainer",ref:g,class:"relative w-full overflow-x-auto"},[T.value.length===0&&i.value.length>0?(h.openBlock(),h.createElementBlock("div",yl,[h.createElementVNode("p",xl," Aucune tâche ne correspond au filtre '"+h.toDisplayString(a.value)+"'. ",1)])):i.value.length===0?(h.openBlock(),h.createElementBlock("div",vl,[...m[10]||(m[10]=[h.createElementVNode("p",{class:"text-xl font-semibold text-gray-600 p-4 bg-white rounded-lg shadow-lg"}," Le tableau de tâches est vide. Utilisez '+' pour commencer ! ",-1)])])):h.createCommentVNode("",!0)],512),h.createElementVNode("div",null,[h.createElementVNode("p",wl," Time period: "+h.toDisplayString(_t("%Y-%m-%d")(Y.value))+" to "+h.toDisplayString(_t("%Y-%m-%d")(W.value)),1)]),b.value?(h.openBlock(),h.createElementBlock("div",{key:0,style:h.normalizeStyle(Ut.value),class:"gantt-edit-form p-4 border border-blue-400 rounded-lg shadow-xl flex flex-col space-y-2 z-50"},[m[18]||(m[18]=h.createElementVNode("div",{class:"form-title text-sm font-bold text-gray-800 mb-2"},"Edit",-1)),h.createElementVNode("label",_l,[m[11]||(m[11]=h.createTextVNode(" Name: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"text","onUpdate:modelValue":m[1]||(m[1]=w=>b.value.name=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.name]])]),h.createElementVNode("label",bl,[h.createElementVNode("div",Tl,[m[12]||(m[12]=h.createElementVNode("span",null,"Category:",-1)),h.createElementVNode("span",{style:h.normalizeStyle({backgroundColor:wn.value}),class:"w-6 h-6 rounded-full border border-gray-400 inline-block"},null,4),h.withDirectives(h.createElementVNode("select",{"onUpdate:modelValue":m[2]||(m[2]=w=>b.value.category=w),class:"p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500 flex-grow"},[(h.openBlock(!0),h.createElementBlock(h.Fragment,null,h.renderList(d.value,w=>(h.openBlock(),h.createElementBlock("option",{key:w,value:w},h.toDisplayString(w),9,Ml))),128))],512),[[h.vModelSelect,b.value.category]])])]),h.createElementVNode("div",Dl,[h.createElementVNode("div",Cl,[h.createElementVNode("label",kl,[h.withDirectives(h.createElementVNode("input",{type:"checkbox",id:"enable-freq","onUpdate:modelValue":m[3]||(m[3]=w=>ut.value=w),class:"rounded text-blue-600 focus:ring-blue-500 h-4 w-4"},null,512),[[h.vModelCheckbox,ut.value]]),m[13]||(m[13]=h.createElementVNode("span",null,"Make recursive event",-1))])]),ut.value?(h.openBlock(),h.createElementBlock("label",Nl,[m[14]||(m[14]=h.createTextVNode(" Frequency (recurring in days): ",-1)),h.withDirectives(h.createElementVNode("input",{type:"number","onUpdate:modelValue":m[4]||(m[4]=w=>b.value.freq=w),placeholder:"ex: 7 pour hebdomadaire",min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.freq,void 0,{number:!0}]])])):h.createCommentVNode("",!0)]),m[19]||(m[19]=h.createElementVNode("hr",{class:"border-gray-200 my-1"},null,-1)),h.createElementVNode("label",Sl,[m[15]||(m[15]=h.createTextVNode(" Duration (in days): ",-1)),h.withDirectives(h.createElementVNode("input",{type:"number","onUpdate:modelValue":m[5]||(m[5]=w=>b.value.durationDays=w),min:"1",class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.durationDays,void 0,{number:!0}]])]),h.createElementVNode("label",El,[m[16]||(m[16]=h.createTextVNode(" Start: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"date","onUpdate:modelValue":m[6]||(m[6]=w=>b.value.start=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.start]])]),h.createElementVNode("label",Al,[m[17]||(m[17]=h.createTextVNode(" End: ",-1)),h.withDirectives(h.createElementVNode("input",{type:"date","onUpdate:modelValue":m[7]||(m[7]=w=>b.value.end=w),class:"mt-1 p-1 border rounded-md w-full text-sm focus:ring-blue-500 focus:border-blue-500"},null,512),[[h.vModelText,b.value.end]])]),h.createElementVNode("div",Ul,[h.createElementVNode("span",Fl," Computed duration: "+h.toDisplayString(fe.value)+" d. ",1)]),h.createElementVNode("button",{onClick:vn,class:"bg-blue-600 hover:bg-blue-700 text-gray-500 text-xs font-bold py-1 px-3 rounded-md transition duration-150"}," Validate "),h.createElementVNode("button",{onClick:m[8]||(m[8]=w=>b.value=null),class:"absolute top-1 right-1 text-gray-500 hover:text-gray-800 text-xs"}," × ")],4)):h.createCommentVNode("",!0)]))}},[["__scopeId","data-v-a0ba9fd3"]]);return{install(t){t.component("GanttChart",Il)}}}); diff --git a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css index 00db36f3f..5c549cc51 100644 --- a/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css +++ b/geos-trame/src/geos/trame/app/gantt_chart/module/serve/style.css @@ -1 +1 @@ -.gantt-edit-form[data-v-b7570e51]{box-sizing:border-box;background-color:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:300px;max-width:90vw}.gantt-edit-form input[type=text][data-v-b7570e51],.gantt-edit-form input[type=number][data-v-b7570e51],.gantt-edit-form input[type=date][data-v-b7570e51],.gantt-edit-form select[data-v-b7570e51]{transition:all .2s ease-in-out}.gantt-edit-form input[data-v-b7570e51]:focus,.gantt-edit-form select[data-v-b7570e51]:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.g text[data-v-b7570e51]{font-size:12px} +.dragging[data-v-a0ba9fd3]{opacity:.7;filter:brightness(1.2)}.gantt-edit-form[data-v-a0ba9fd3]{box-sizing:border-box;background-color:#ffffffe6;position:fixed;z-index:900;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:300px;max-width:90vw}.form-title[data-v-a0ba9fd3]{font-size:1.5rem;color:#333;margin-top:0;padding-bottom:5px;border-bottom:2px solid #ddd;background-color:#7a7a7ae6}.g text[data-v-a0ba9fd3]{font-size:10px}.task-group[data-v-a0ba9fd3]{transform-origin:0 0} From af98b821169807abf6681f344eee28193b59a2f8 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 15 Dec 2025 14:56:38 +0100 Subject: [PATCH 47/59] get some space --- geos-trame/src/geos/trame/app/core.py | 8 ++++---- geos-trame/src/geos/trame/app/ui/timeline.py | 3 --- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/geos-trame/src/geos/trame/app/core.py b/geos-trame/src/geos/trame/app/core.py index 0a8f40973..c9bd244e8 100644 --- a/geos-trame/src/geos/trame/app/core.py +++ b/geos-trame/src/geos/trame/app/core.py @@ -111,7 +111,7 @@ def deck_ui( self ) -> None: cols=10, order=2, ): - self.timelineEditor = TimelineEditor( source=self.tree, classes="ma-2", style="height: 40%" ) + self.timelineEditor = TimelineEditor( source=self.tree, classes="ma-2", style="height: 60%" ) with vuetify.VRow( classes="mb-6 fill-height", ): with vuetify.VCol( @@ -121,7 +121,7 @@ def deck_ui( self ) -> None: self.deckEditor = DeckEditor( source=self.tree, classes="ma-2", - style="flex: 1; height: 100%;", + style="height: 100%;", ) with vuetify.VCol( @@ -133,13 +133,13 @@ def deck_ui( self ) -> None: region_viewer=self.region_viewer, well_viewer=self.well_viewer, classes="ma-2", - style="flex: 1; height: 60%; width: 100%;", + style="height: 60%; width: 100%;", ) self.deckPlotting = DeckPlotting( source=self.tree, classes="ma-2", - style="flex: 1; height: 40%; width: 100%;", + style="height: 40%; width: 100%;", ) def build_ui( self ) -> None: diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 9ce012086..cadbba65c 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -38,7 +38,6 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: label="Select starting simulation date", prepend_icon="", prepend_inner_icon="$calendar", - # placeholder="09/18/2024", v_model=( "sdate", ), ) vuetify.VDivider() @@ -48,8 +47,6 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: taskUpdated=( self._updated_tasks, "$event" ), classes="fill_height", ) - # with vuetify.VContainer("Debug"): - # vuetify.VAlert("{{tasks}}", vmodel=("tasks",)) #use to refect change in simput to gantt # def _on_change( topic: str, ids: list | None = None ) -> None: From d727a7fa2c5737b43421b02858ccb1b08640632d Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 15 Dec 2025 15:03:19 +0100 Subject: [PATCH 48/59] discard debug --- geos-trame/src/geos/trame/app/core.py | 2 +- geos-trame/src/geos/trame/app/main.py | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/geos-trame/src/geos/trame/app/core.py b/geos-trame/src/geos/trame/app/core.py index c9bd244e8..3baf7d387 100644 --- a/geos-trame/src/geos/trame/app/core.py +++ b/geos-trame/src/geos/trame/app/core.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright 2023-2024 TotalEnergies. -# SPDX-FileContributor: Lionel Untereiner +# SPDX-FileContributor: Lionel Untereiner, Jacques Franc from trame.ui.vuetify3 import VAppLayout from trame.decorators import TrameApp diff --git a/geos-trame/src/geos/trame/app/main.py b/geos-trame/src/geos/trame/app/main.py index 12404c521..2ad3b293a 100644 --- a/geos-trame/src/geos/trame/app/main.py +++ b/geos-trame/src/geos/trame/app/main.py @@ -7,10 +7,6 @@ from trame.app import get_server # type: ignore from trame_server import Server -import sys - -sys.path.insert( 0, "/data/pau901/SIM_CS/users/jfranc/geosPythonPackages/geos-trame/src" ) - from geos.trame.app.core import GeosTrame @@ -19,7 +15,6 @@ def main( server: Server = None, **kwargs: Any ) -> None: # Get or create server if server is None: server = get_server() - server.clear_state_client_cache() if isinstance( server, str ): server = get_server( server ) From d56bde4e5a1e32e09337844e12915fb00cfb661b Mon Sep 17 00:00:00 2001 From: jacques franc Date: Mon, 15 Dec 2025 17:22:54 +0100 Subject: [PATCH 49/59] can write --- geos-trame/src/geos/trame/app/ui/timeline.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index cadbba65c..9b9955393 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -110,6 +110,8 @@ def _updated_tasks( self, *tasks: Any, **_: Any ) -> None: self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'timeFrequency', str( timedelta( days=int( t[ "freq" ] ) ).total_seconds() ) ) proxy.set_property( "time_frequency", str( timedelta( days=int( t[ "freq" ] ) ).total_seconds() ) ) + + proxy.commit() self.ctrl.simput_reload_data() From c58cb558baec578cc889839030920b3412771b98 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 14:07:47 +0100 Subject: [PATCH 50/59] comments and mypi --- geos-trame/src/geos/trame/app/deck/tree.py | 5 ++-- geos-trame/src/geos/trame/app/ui/timeline.py | 28 ++++++++------------ 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/geos-trame/src/geos/trame/app/deck/tree.py b/geos-trame/src/geos/trame/app/deck/tree.py index c621d27ff..06b1944ec 100644 --- a/geos-trame/src/geos/trame/app/deck/tree.py +++ b/geos-trame/src/geos/trame/app/deck/tree.py @@ -160,10 +160,9 @@ def timeline( self ) -> list[ dict ] | None: timeline = [] # list root events global_id = 0 - # solver_events = filter(lambda ev : 'Solver' in ev.target, self.input_file.problem.events[0].periodic_event) - solver_events = self.input_file.problem.events[ 0 ].periodic_event + all_periodic_events = self.input_file.problem.events[ 0 ].periodic_event max_time = self.input_file.problem.events[ 0 ].max_time - for e in solver_events: + for e in all_periodic_events: self.registered_targets[ e.target.split( '/' )[ -1 ] ] = e.target e.end_time = max_time if float( e.end_time ) > float( max_time ) else e.end_time #note here float conversion is used to correctly interpret scientific format diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 9b9955393..ac0982ff8 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -6,7 +6,6 @@ import pytz import logging -# from trame.widgets import gantt from geos.trame.app.gantt_chart.widgets.gantt_chart import Gantt from trame.widgets import vuetify3 as vuetify from trame_simput import get_simput_manager @@ -56,9 +55,6 @@ def __init__( self, source: DeckTree, **kwargs: Any ) -> None: # self.simput_manager.proxymanager.on( _on_change ) def _updated_tasks( self, *tasks: Any, **_: Any ) -> None: - if tasks is None: - print( 'None values' ) - logger.info( f"new tasks {tasks}" ) rm_list = ( { t_id for t in self.state.tasks if ( t_id := t.get( "id" ) ) is not None } - @@ -128,18 +124,16 @@ def shift_str( dt_str: str, time_delta: timedelta ) -> str: """Helper function for shifting time.""" return ( datetime.strptime( dt_str, date_fmt ) + time_delta ).strftime( date_fmt ) - def _updated_sdate( self, sdate: str, **_: Any ) -> None: - #sdate seems to be a panda Timestamp - if sdate is None: - return - - former_origin_time: str = min( self.state.tasks, - key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) - time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( - datetime.strptime( former_origin_time, date_fmt ) ) - self.state.tasks = [ { - **d, "start": TimelineEditor.shift_str( d[ "start" ], time_delta ), - "end": TimelineEditor.shift_str( d[ "end" ], time_delta ) - } for d in self.state.tasks ] + def _updated_sdate( self, sdate: Any, **_: Any ) -> None: + #sdate seems to some sort of panda Timestamp + if sdate is not None: + former_origin_time: str = min( self.state.tasks, + key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) + time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( + datetime.strptime( former_origin_time, date_fmt ) ) + self.state.tasks = [ { + **d, "start": TimelineEditor.shift_str( d[ "start" ], time_delta ), + "end": TimelineEditor.shift_str( d[ "end" ], time_delta ) + } for d in self.state.tasks ] return From 35a0a5c9841ffeb6a82ec6904ead780f7b087c0c Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 14:12:18 +0100 Subject: [PATCH 51/59] missed deps --- geos-trame/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/geos-trame/pyproject.toml b/geos-trame/pyproject.toml index 54df87d99..3c08dfdc0 100644 --- a/geos-trame/pyproject.toml +++ b/geos-trame/pyproject.toml @@ -49,6 +49,7 @@ dependencies = [ "dpath==2.2.0", "colorcet==3.1.0", "funcy==2.0", + "pytz==2025.2", "typing_inspect==0.9.0", "typing_extensions>=4.12", "PyYAML", From 163848df3dcf5fb86970b4dc18b177b218939120 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 14:19:14 +0100 Subject: [PATCH 52/59] and now with its type --- geos-trame/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/geos-trame/pyproject.toml b/geos-trame/pyproject.toml index 3c08dfdc0..ab578d5c9 100644 --- a/geos-trame/pyproject.toml +++ b/geos-trame/pyproject.toml @@ -50,6 +50,7 @@ dependencies = [ "colorcet==3.1.0", "funcy==2.0", "pytz==2025.2", + "types-pytz==2025.2.0.20251108", "typing_inspect==0.9.0", "typing_extensions>=4.12", "PyYAML", From f5c6505f457255d8a6cf472f0622284a03e28bd7 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 14:39:09 +0100 Subject: [PATCH 53/59] last attempt on toml --- geos-trame/pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/geos-trame/pyproject.toml b/geos-trame/pyproject.toml index ab578d5c9..b038284b1 100644 --- a/geos-trame/pyproject.toml +++ b/geos-trame/pyproject.toml @@ -31,7 +31,6 @@ keywords = [ dependencies = [ "typing-extensions==4.12.2", - "pandas", "trame==3.6.5", "trame-vuetify==2.7.1", "trame-code==1.0.1", From ebc03e69cca86622b2a48f4ac90a32bf323cb7b1 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 15:21:44 +0100 Subject: [PATCH 54/59] yapf --- geos-trame/src/geos/trame/app/ui/timeline.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index ac0982ff8..0560ff7d6 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -106,7 +106,6 @@ def _updated_tasks( self, *tasks: Any, **_: Any ) -> None: self.tree.update( f'Problem/Events/0/PeriodicEvent/{t["id"]}', 'timeFrequency', str( timedelta( days=int( t[ "freq" ] ) ).total_seconds() ) ) proxy.set_property( "time_frequency", str( timedelta( days=int( t[ "freq" ] ) ).total_seconds() ) ) - proxy.commit() self.ctrl.simput_reload_data() @@ -127,8 +126,8 @@ def shift_str( dt_str: str, time_delta: timedelta ) -> str: def _updated_sdate( self, sdate: Any, **_: Any ) -> None: #sdate seems to some sort of panda Timestamp if sdate is not None: - former_origin_time: str = min( self.state.tasks, - key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) + former_origin_time: str = min( + self.state.tasks, key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( datetime.strptime( former_origin_time, date_fmt ) ) self.state.tasks = [ { From 3b17fb366d51c7d99a8cde9c03701acc7d16883f Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 15:28:46 +0100 Subject: [PATCH 55/59] devil in spaces --- geos-trame/src/geos/trame/app/ui/timeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 0560ff7d6..459780b4c 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -126,7 +126,7 @@ def shift_str( dt_str: str, time_delta: timedelta ) -> str: def _updated_sdate( self, sdate: Any, **_: Any ) -> None: #sdate seems to some sort of panda Timestamp if sdate is not None: - former_origin_time: str = min( + former_origin_time: str = min( self.state.tasks, key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( datetime.strptime( former_origin_time, date_fmt ) ) From 89fedbab0c99a9ef3625091673f8ed9457f0fcd2 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 15:39:43 +0100 Subject: [PATCH 56/59] restore un needed changes --- geos-trame/tests/data/geosDeck/ModelA.vtu | Bin 2314472 -> 0 bytes geos-trame/tests/data/geosDeck/geosDeck.xml | 11 ++++++----- 2 files changed, 6 insertions(+), 5 deletions(-) delete mode 100755 geos-trame/tests/data/geosDeck/ModelA.vtu diff --git a/geos-trame/tests/data/geosDeck/ModelA.vtu b/geos-trame/tests/data/geosDeck/ModelA.vtu deleted file mode 100755 index d9d18e40312817d1e7671f24c30acb044c46f470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2314472 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 LYJS0Ys-IR=dz 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
  • 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

    GIq2ztET0G>*l0=+)xj^m%?>erR?MedF=9 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 z%0D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 n{_$4p5C3fA4;zI)-Tu>m><{vP^iNg( @@ -96,9 +96,11 @@ logLevel="2" wellRegionName="wellRegion2" wellControlsName="wellControls2" - polylineNodeCoords="{ { 800, 1450, 395.646 }, - { 800, 1450, -554.354 } }" - polylineSegmentConn="{ { 0, 1 }}" + polylineNodeCoords="{ { 800, 1450, 395.646 }, + { 800, 1450, -200.0 }, + { 800, 1450, 0.0 }, + { 800, 1450, -554.354 } }" + polylineSegmentConn="{ { 0, 2 }, { 2, 1 }, { 1, 3 } }" radius="0.050" numElementsPerSegment="5"> From 3f89f6b90bc4fb3d3c82493a60a20b7772d9c10c Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 16:28:32 +0100 Subject: [PATCH 57/59] mypi skip for one line --- geos-trame/src/geos/trame/app/ui/timeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 459780b4c..164c6f4e9 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -128,7 +128,7 @@ def _updated_sdate( self, sdate: Any, **_: Any ) -> None: if sdate is not None: former_origin_time: str = min( self.state.tasks, key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) - time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( + time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( # type: ignore datetime.strptime( former_origin_time, date_fmt ) ) self.state.tasks = [ { **d, "start": TimelineEditor.shift_str( d[ "start" ], time_delta ), From 324af05cf9554d99779e71948c53e6ae0b30edc5 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 16:45:53 +0100 Subject: [PATCH 58/59] adding types to mypi --- .github/workflows/typing-check.yml | 2 +- geos-trame/pyproject.toml | 1 - geos-trame/src/geos/trame/app/ui/timeline.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/typing-check.yml b/.github/workflows/typing-check.yml index 6d22bf3b7..940fb9fc4 100644 --- a/.github/workflows/typing-check.yml +++ b/.github/workflows/typing-check.yml @@ -30,7 +30,7 @@ jobs: # working-directory: ./${{ matrix.package-name }} run: | python -m pip install --upgrade pip - python -m pip install mypy ruff types-PyYAML + python -m pip install mypy ruff types-PyYAML types-pytz - name: Typing check with mypy # working-directory: ./${{ matrix.package-name }} diff --git a/geos-trame/pyproject.toml b/geos-trame/pyproject.toml index b038284b1..a98132b64 100644 --- a/geos-trame/pyproject.toml +++ b/geos-trame/pyproject.toml @@ -49,7 +49,6 @@ dependencies = [ "colorcet==3.1.0", "funcy==2.0", "pytz==2025.2", - "types-pytz==2025.2.0.20251108", "typing_inspect==0.9.0", "typing_extensions>=4.12", "PyYAML", diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index 164c6f4e9..d86d3f719 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -128,7 +128,7 @@ def _updated_sdate( self, sdate: Any, **_: Any ) -> None: if sdate is not None: former_origin_time: str = min( self.state.tasks, key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) - time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( # type: ignore + time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( datetime.strptime( former_origin_time, date_fmt ) ) self.state.tasks = [ { **d, "start": TimelineEditor.shift_str( d[ "start" ], time_delta ), From 2191fd419193e493c37746d7d5a90d6433690876 Mon Sep 17 00:00:00 2001 From: jacques franc Date: Tue, 16 Dec 2025 16:55:19 +0100 Subject: [PATCH 59/59] yapf happy ? --- geos-trame/src/geos/trame/app/ui/timeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geos-trame/src/geos/trame/app/ui/timeline.py b/geos-trame/src/geos/trame/app/ui/timeline.py index d86d3f719..459780b4c 100644 --- a/geos-trame/src/geos/trame/app/ui/timeline.py +++ b/geos-trame/src/geos/trame/app/ui/timeline.py @@ -128,7 +128,7 @@ def _updated_sdate( self, sdate: Any, **_: Any ) -> None: if sdate is not None: former_origin_time: str = min( self.state.tasks, key=lambda d: datetime.strptime( d.get( "start" ), date_fmt ) ).get( "start" ) - time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( + time_delta: timedelta = sdate.to_datetime() - pytz.utc.localize( datetime.strptime( former_origin_time, date_fmt ) ) self.state.tasks = [ { **d, "start": TimelineEditor.shift_str( d[ "start" ], time_delta ),

    fPU}YUvNLd{R#Ig+#e6=%1L*hLq7M%rHe~<{@D|MtO9-ulwOT- zv>tFj<*5xGLp?o5eLL@S-+C$iw=C`I0sNz4;;SLz`XF4#xZYVvKF7(|__wvBdp`Ux zdZ6O+D% ze&hLnM%woY=Xq=Pe6BHyFc~f{4th%Vt}@@OmWfraDU7FF58*sD_3YA z(zVO|arec)#t!%Oc2a+yKf1r?{Lgux-$(uD`ZT=X>-tpaIGmjFx~`r}zh47%9Cy5S ze%TFwI=^(j*%rIK_kSl_)K87br#0hjNzzLJe~0clVtBqd1i9Me>-nPX%X3E8)t)z+ zZo3pdhd%T3J;r~c=0u>A9dTB;|`;JjR$~Oc(o=bXO>G`DRnL^`a zY>$P=e?ym{ro_>@%+X)JAOJohvTvLe%#ORNPSJDeWk{J z=_$Y`K$kxya<1nlDNnlhWA~D-e-g@vUiGb`UAdlI2fZBW<$)!E=IeP+3&z#d^Vio=@O1+gQ z-F_AJPv46+-FR;MPkQ>5(D==VaYoRMgETJkCgq#X_oy^>lm$vZhP|$jjqABZecz>B zDt7|@P<|`oC_fqba}p{?c8ix&QV7`nAJ+ ztvBoG2H#Wdw7k-lmoC5if9B^ofOgovx>G*eRafw$jN|{1|2On2`9FqFy5E2KrbFKj zOhP>Gq$Q;P#uG)Z=>Ei|=6Mq@8_9`fTLp0zEgGLpim> z`H=IY=kbg0O15Nw(0hZeY3Hs_55n*L4cDv2pF3}!j(=7GBb1{EQ28<7-Oy`%_hRyG z4gJS-k@&wF@ZF&veJ|SYdE2-s-)8*dew_1$@cVxxHp*{$McT3Q>UG>Khkp5_=Z}f% zaXfZ>_WP@T^@Q@Ck8X>qd3b*6x#}U(Zvg%N_+4`T6_X{(;P00je=&~qcYw-|2R}qR z`b~&`j{=V{PB~s>pk9xXUV(AKeZFviuMqXo1i7Zbl;p2|(V+cYnrsN8=ORSCa1fL2{=sPyAfR_f=4(Q4oU-3NlI?pz4YerBW?eB{H6R_X-E#uz*p&pV# zcOTCExApj|6VP)Xhb(R7|N^PxJmB|xF36;amBbSaq0J< zccXmQ=?||{zw<~Rgx_;8{x*iscboLH{{I($UkAQ{o{(-locs9KVk7Z?uJ2v<=cj*t zK>l-peis~H98Z#w@4BeE$VvFUM>mD~nhYF@eYYsrMcXxc`jQ?8E?xeW=$B8r-*@Te zE8YC1i%Xx5eNWNv^8ibbUjcCGPX~1QO&7m{UiBozzs8ULK>1y-NjKf~iS#A3kA=t? z7t{cIlus1oqrCBvwj0;S_T%>%hi3zo^LK+ySHJWf@atdw{~_fs4wP=X^T&{G`aATG zO|*xlw2x)LRrp~gxaaiFGrX7U{!}U>d%5@2NkZ~`ht4BV^nUC;u8S;CQ z@8e?Z=?1+v_?zIymwilsOi#LURlwa>^?eEBXMM-S@1@^I->)*hP`=^VCI3+L4+E|R zdTwA`ToLTsihqocGkz{Pa;CeVVY>3ttJD5m-;Khq@O; za=(RLzW-8}c7C6HhrrhzzWL}$M!V@p`rE)Mq^AtZr(M}8?;Pxy3tkoZ*N~qLeJRj$ zeD}wlzaB@vBl7F9&v}&ds*03r9_2~HIAI*+0OZ~V7629mE=Ip`#>Ve=pk9pMH(tPZ zuYC_hzN^%q^E%gquJ4S;O%fA{|0@ryhyBg5$8$U9!4pV#{%bzkseQ_Y?a%tL-kMMk z&rrVk;LU)(tL(ebS>c<4fAcZ!Q~*}QzGuPxedC7kEAPA1)!;u3JO?}jY>A$!>L>r6 z;E&V((gEi|e*%08?PfmdiESU?$>D1Plux}!utUA$kv~eh=cHqiFNfZ*XwL~qp9p_n z=#5C91)L462K_(yY>uL|GSHjd5Tb@mP{@r@Y% zrJp-4xF6RaxkSMAv61*c?;k7+#s}xO&Wm#5ANTnjpY|bF9lefEnd74R8~u;2vy9fN z=mPMC3(}$>AR^r;AqYr!rzqVmjfB$OqNJp>fRvypNSD&0BGL`gNVmYZ7WaAlF>8JI z&%U#J_RKkFV$ZzL`vT{p=V$uSKA`s+?xI|abwTq=+adQGb}qno9Vp#<5i9WiFN59n zz_P$H^tZo&)6jd6@+IQxIbP4-J^~-fbL#I1_`3!1!Ap-xS-R)S)a$uj^?R;YJ?i(~ z{dDLX40Js!F@7fm9;AOwqnwBOy#s8=d#gP#Ciob@P1Mso#yjY{2)-$N_Q&e9&rR_0 z(ChkgYvfx3N8o=c{JVnO8QSL@@I0^p^k_hTH`;t2^LES^GEXU_E7z0$kpe%BM{COJ zX^fxd37LNs$$KXpM?4@tTY%H3Z)f7;`J&zQTkm-{zdjT7+lRd8aeEL4&+F!){0Vw{ z1A77c@cwijbA&kOpnjJ9ZutH`3ZMB4-V<6KxsQn3I_hu!itF#L$NS#bj_(KG|DO|= zF~ED+9Y@)7Z^42Q;DPg~E4_*8AU;WC7e*19@ z>X8z;F~m0>_)lo>HNs z{dhj@wG{tnQf`Iao7gq4^ds>4F%^E-;Xg)CM(kGxb_Rct`p$Vh;>DlqtzrN3xwAjI ze&F-B7rWkPo00Z$oU{PC=c4>>JC6Sd`eNG4`}*DkZ~k_?=uv)l0AHE1`P#XOPkZQ| zk1|iI2K0T@-+V9Ehc}~7KK0h+`~4Z?tRd8|A^2?A6F&_4P+&#c$?r^a>{kY_e!u(b z@jhhjg!Z*7{toY9V|`d+nvZG-OlG~3hu)tC0X2wzB7&iqgNi}|JB(ca42-eLa{Z~xMc%qz!Bh6(;xQ|N7pl4=cq{hyAr>5 z;rkl9-NC1Y?+@^&vA>!;?&xZde{>Idlc9NR7YYY1MyQ{nIM!2kC6(T)0##=ibm zqTb%$JdyWyP4st%J_T5Y`pl!;2K^m?`H|~Hc?W)#rM?x=zYBa*^fia>`F7WLT_18i zXa{@^kn`TkO4MsHunf>V)GNd#JNQeKU59s_(RKQ-@ZUW3uPK|qZoZ}K5a!#oM8D_r z4ib;U#Qy@&a|tQ&!+B{|%9((ffp4OBD=A$~OnrXem(C~wF9PN4l`B7FCOYtXk2 zcnZ5+kei9$uhM=gksAs<7W68>k>H2H=kJsbLVq9hKZ+jl;x9jP?mv0Xw;%K!KLHu^~Il}N4)rRUDEHn`xmo_e>naxPdt^cg?{DL=Q(TFyJF)10{D}l z|0#ICFWxJz{wMgUe(jkjALh@S_nQzuzo#A60h0h<<~dc5`NQ7-8XfvZ-c#D~ejep4 zOE=%xdw)DHpdRmo6^3;6c|S;T?0Y}RExxZG5XU~opZ;xoI}eagyz>OV&m)M3`lU-I^bsj zPlE4BJthZyQz(z-{cwqX;yU6q@Vq4&$96&ui7nGNFF<;I6bmKb+x!;j< z{NjGwDdOrl#@~~kG{n1I`~lTIdac{v#D|z~{9; z_!GbnsNW&V%dvA8ywAV&_yIoYj?d~5hotmh{jQ0gBH+){&ibRD`aO#NwGOzN_@qZ} z8}^%{*YSz_JzKGJ7k|nSuf3H0PHsTY7tsBl_QlRv^m{(seXy*^MW9dn&*As?1E&+m zVes{#KEjZ`3B56}?|T0y;9ml7o|XAn=4btYy*c#DiO3blelcKE`isw*&yCMVH|*?0 zzAJj2|Ck@|exdWDneY`wt_0BeYjMiqytXrP((BUR&U0Nis1H5~{Hcg{`1|5X@jnl6 zICcwAb{_sKaq3U|`@X0IejL#GvGZp6ly7DKfJn}eSW>8V+=yb1d<5{b@1vTV%WAUq#?2=tiN9rS9y|n}TmZi(@x#qO^FW(0Airmi@#k8Cg3cVC5n40;y>ZTI<eCN$Wn@wC|fuDz;qv;<_<*pRTLf|B_(G=XM$TeV*gvR~hh*GykIOI;61>8(r zx?N?_hTZ{`=kY_ao>0FnE#Xuy^i}F4-Wc2`n9_d`X1uy`q*CZ7qEL7sDD=}%NNSKzT`Q! zht$J+h@Vn!&+}P}_VRl=6}D!ztgXR@LeSi<~`NM zuX;e|k@YFRPXF?K;(NyTPCeq(2L0}TxS!(wjr%r!AKkzC82#qy`yK5HegW`0?LVFV zlasP}`r-S-eJu5MLyzYGypL-M@$k9XgxrlE=<~e>eOZa4_KKnBXZUvltARHU-S>v$W8WWL;mbmMiub;k4$#j)e+mCjQ+EH@ zeb+4b=YF;OR_4WPU%%YPvMgQuk0PS}>Y=w7?a_$xCFt^rm%lE2mfO;9^3|k%&ERui z*L`2}Z60CwU*Kb46XaS^ZioJ+;8#RM{jCIgPwrOA?nA5ZE##k|FEMd`4e0#L{ly*N z-=zQg9JZn#_uy!G*NzA57(7lA9lX_1$r9+Bk|Aiv-_$G ziNkF8R!}y->L-&^79LnfA+1+4c2B_~kl#bMzF0 zzcuvs;9Y-gj2_pYU56}QQDJ$pxjq8{01Gq17n)tX*ZCs4ouf+KP@EY(>p!-Dq z@!S0)zvrIM?*QF%`kw1~oqC$jm;}Cq^e^jS{pw)X`j|g{hJNY#ih1bk(67IxiQ{ST z6^WN|`wjd5<+owaJWTty`=FlR^L)c*_%{K)2iA75KN$c0kr6NcJO|)DpMEsrx!y-R zxqj`rns9yFbpqE7!ux0Z?)#mei~e1}^4bA9P6@{^S%{P42hR(7e()0deg@V?Ut8j$ zKK*pQHU>V&S>gDoAMXXnN#?=W-|TQz5{sZyX^?%#RbuZg*6!G#Lmg`p~ zh>PpS-aqyeaV|ywDhVu%AFJ@|Hh9lnu0*bIAgA6V`0M>Gp2s`^ej+e2fIOU`HIZ6pXd4-K%a};G3v9AIJKr8wUBE`**ss*XPN)&dG%xP zc|XS_mYt7omcrC?SuY|=&|1B;hTSIo{rxuzhCOfLO(1Fbo}D})~o1uzwK?> zFDZEMZSmfo!_e;$&vU@|_&X5#MeyOi+J`(R$>HA`5%qTv=zL)pW$&FCnI;M`7Wg^P zbGDWf`u)d#bmD)SvgbVIH$UJ3bf4b|=ubg?QUlWf%?C6O)aO<{$LX)oe|?|7PB|&C z5_TN_omiOO} z^qbG1Pesl=67x&k*Rme%@$(wcb-o42KO}DE>qTP6yt)p^bp$pdu9qmMCZ6A;uP6Sk zqI?yLNf)321+alZa8`dt6ZLpjXf&4>T~zU~Lu@j1SMeV>Cw#MeA+ z$1lC$GrnJ<*Y@$;t>YZWKgxAOz6SPvUVM&xuC%ZGm&8v!j{h8AJN}bj`=8Ms(zWmW z#BrYU6VD%AV_e`o>pS!~9xTH1dyD!QU*CT#;Lk^UTnDOWDfCCQXC!)hQ1%`f&np|> ztLVu=zvxA|53o1Td6@G_=f@vFcmC=8uo3p_Ko9Q?6R*B9w4dL@hxlC$y#DEz^JD$< z`ybMk8yY?0#h>TYtdHlC{-S+6FJk`RedJtU{fmB_m3q0}nmRH{e_iU`m;U8B_wS)! z0zRUje*zpz`&|K+K)xRO3L+=J`bUBP6g_u<>OV@kAA0%&zXv~ra_i_({(H`8F!){I zyU{;BqTa3XPdn#{-#@?x$ghWgKi`EmwCi->dGO{TJ%j%)@)5wp@UMm575nm^qg~3v zzY$ml7(O4K)AKnQNd0_%t|RBTO?o&#@w>VjdA}F(`MoVgKem6LApWg@>yiJPdL*WP z`e}Zp>tRcgbG^*x+~>x6=)ZccuX>|X&o7Cq>sm9g?>gY0(96MJ9_V^k=zpl+b9b04;hj~P< zYdBuKhMemk`6(;s_|Wx*3ejS!x{BXj?Q2iE{LP3@OWqn`1Rvwi)2=!Nj5 zB5v{ETME8A_^*Jj2kpTx`OR;-tvq!5{|5YX-eUi|4WIYJ-l9As@P88W?@*uR#NGHM zB)%)a%a;fK{6OQOANu9^Q-5QlXD9X94crBM3w>4fi}+**|Csknra(_z$_3FgHi)n5 zY^|wJGW7dhIfC3v=rJ$sb@Wt+-+Mtq|7Re-AODt7_Wqii>Zc#opg!5qTZyvo_b`sj zXun>xUpva?fA$5h|L+!=l4Gx>?_MHb^jf{Bl zmn%jTbi6f;_*=sYC!$#gAdPNyYA$@%3Gtm&ifG`^MA6?em%jJvUjPW?|P|B3zg=+~8j{tnDe z=n06!@5H|}a4qlOjQH~w@*BXXrhjAx7J#n;^taJ_4Cp%aRLYrw=8dTT1L_+YE#k%B zee{{P85g|g!^{`xM!oZ+cRSGa0rzLjUv&M;{07&(%!la0_;LjH!~7xlcf)<4TG(~} zX&do$eCU4EZS>A0ZV&L^yyDX@Y9A5N4f*as<8lH!o)2&z=qvP%q+Pa959#h3nfKZW zzEkKs4wPz!$^e**s-Gd}7>eUn2U4&Hr_KE%g7H1{v|5fAx7y6ZT-kylSI%C3uijeXZg z%Hj7vz}vw0uy=>DcGcH6u;coX>p^v(*9LkI&4-kg*Y7Q~i}RQ+*!A89&!@QWkd}6J zzab;_GH>@bC!b;^f;&g-<}d`&;x=eU6X^J#DUt^N8r&#mhl z_RG@v=X==o_L#)U_p0qp$G?_9$5Tt_f5~}o_#N>1FAsls zzoF~AwTYAY39hq#O1zneqe&_z4{oj0N$Ft%1coTj&es;V( z4ZjZ(XV+=N^;_H5bI5*YDk1Op#q-PJM??3#vUKI8%WwW(Px^`Zd+PrLy!5Q-?*qOY zP(9|s<|F>wY2T*A<5lFRK>w3|bO87h{i`p~bt&I3?t?Bu-(Scb1dgH|4^#Gj1ovTm zfBIf^U2F;ZHsPQ7x8||i-nPGV&u2OR*pHs+v~N!8;k?B8M;`pl2K{YdE}(MGufz2V z=iAOdlk%Q%9-5bOCiMLRERJ2rv320P0=+r@7sdapJf{~ae-8b1xzghzQ-CzB8em{XY zjievB4*oZK&jS+z?H~G~{qFR0$N9P8&jtLM`2GbP5B?zK13>rXib8*c|K>>^rfmM? zQREySoTMI(6C59;Cw{IMx-a(zcKp7$4(WNz#pt`r^FIN5H;MBt@XdISw*dYF-SZbG z!8`uZp5r#}kCi_>A8{Q&ZlL!k{ML`qFX{5PMn0T}w*`MOsNY5OEB^rcE$n-~L;Ifp zkT0ZrZ)|()dH%$CNR zi_xdN`aJ(>+4tMW^sDj6ZARY~;6~s*=-H^}Klo>Ty#L^D;?ohm-ha@Dem4wQjrhoK z-c|oB+oyy2LKK6bczb6Br=S99Aa_>?$zbp;qAE8g=c{DGf0Obil^Ig6}zxfnl z{(<9@Dd=^a;`qe;2J;!rFW7=!*T28xJ>+!-p#P>FK;sJ-#K6|0x1AhhRJjV5S z_g`H9&WHRt;^X(h?~MB|{do`ELT_>U!x7{UK|cz70^a%5tHjmycl{U%pZ>Xj;QG1s zwBCMat!H2C<;S0o=wJQ7`(AYZ814^+e*61y?yGD?kNZHKXeaZPJl92ij;kC z`d$v_kL%#~UY^Iq$#tJ_eMr3b`UsVm?!7+05ntD%{zd;2;6Utu%=7L#(g@mF`PkIk zb)&eHi=(F^{Fi|LfcHJ+I4T+K<9I3@|2gh6A1{LEq$d6IZS>co`~mb8*pqJx^$EXU zez%<0H>4hofzId5Zwc3rT{m`p)$=yvh@*MJyU}-=__x5H_V`&Ie)DENfzSLI*O%rZ z*ABVG)ZcNwdCR{bUkSZsfS#kXEM5L^eSZvc-O$$s_&fM%*xyH4`=S2Q(7&afVj<_c zT)#|BKS|1Sv;lqg^EbeIe!LgYX>Ig)?mazx>T8DH{^+}i+%@10;8mda zb@@GX-PZ5qQv6>AJWhKZ114gARStdTOTP}@_r_ZM8HaywQjgO3{}%0^9q4-}5;^ay z@cxRy=ot|Br(XlX$3*@(dT#?y0KLDpE&aJO{8fR{{T^Wa}d-;O`dt54JKMe$T z>CQ7ly7%7eM`z+DpLD+qZ$Zxibl=tS_h9hmA30Cdk1_ad{H#Y>=C$7v|Max~U7o8{ zv|BphAK3XF_!{j~lyWiP8{i8AZExG(es!F7H~~~|O6;jey^e>qHy^o$z=p_qKEZo< zcHmcMp4(EC&9AnfcEexCFJb-E!d=lX@wyzPkA5yrL`e zcj<5Xr9Y*>Z$Y2=1?DeY2XEfzbK=^V{%HTOKe`V8HF}p2*Ts~LkA9n9asWH}XWYW| zW#!F#P+onuLnQX(v%PxZkMVtt_>2N?|CxzDvw-%ajXal`XpedHm$!kgGl%QX?mve6 zP_9pBL*FyvYdnpw@lJ+6uLCpTcLv~c@a7fVBM#0llh8kk1J%=zdL^VDuL3>)pM-K< z{434#+68+)zkg^Scn!E8sC*{;a(_a7z8^}U-{)KX;(hPLrrxvAFW&N6=<-#D?>x|T z_H&ex6@ks&v_!7M1ml@#e0xLm(op$&AyM?mr zo~|Q${>=5!bkrj`{0D))&s|4!UD5r|N$@?yzIgqUUX16UApEYMrNaM$&=(R1@#gK$ z2fqxs0=OJ_hVNb@^tVNCW6CwqU!AgfeX}S#-ZvlBeKY-Cgq>Z~vl?<$flHuohdu-R zSHME_^O8XCohwW^4gD-9up)Bai)X%IJ?Q4wxejC=Vs6^8Jo20H%XNOg8<~lZ`vCu- zH!=PDHQ*Nf%fj=ce(%4_g}v?ikG*opmj$~1Yk4wquK!AR{Z;yO^qFVj`losCA46|R z`RVgEjMJO{7_`=`(|fcIlz z@K1pCfmx8R4s?CveafDnK8(G1`2V-@MZfodBQTTw6ut?_X9ll-^1TG# z6yR>)4xqm?WIe5y^}QVt_16;qa`eCK(W3AVpy#6eDshwlQ~a~+`QjA(I?z^9Za(I0C9YXj#a_l^Amd=Z}GFDbiEVIFaG=bK&=%0sS)HTRqQ`MZEa4AJ|{)A2qZ~ zJ?BtX|7^;aBBK5-QBFiX5&%Esd9Dd`oUs#r&n0w*zZ3Cu9AiF&d429Pn%_4Vy$R6w z3ea;zwP?TI;2UGd=cO6#dIaeAClUR!4ey!Jz|_QJ1mzy^^#k7@*cWL2+#1U5X}*~uhW$6pQk8?@_!?*9_z6d`{MO;4SLoBD-r*7l=I-^Civ5K^*LPhnX^8(Rh?{it9;C~k z0X=K6yB@d>X#S-01m^+fU#_PAZ3Onm{%quLQjdGU7TCK>xeV>1A8#O+8NMOtwLi}! z9^Zj?9ouy%*OOd#a{THz&+(t*!TPj|`Sjj@KZNh7ds6-gzdYyNlCt;rJf>_t(@<7UdVBm+ z&vN3R9rdO~UV3=WTz>Jr@Ke3g)AAgDOTC{1{rxZ3SMJk3aq;g6%o1uS$ z9@kUjW8e9p^D4hvK3`qodksCm0CxlZj{1E1{_?%$Jk51%_bbegah==wz3UBCh-(F4 zY}(iNdvEM}KSVs}{$5{C{Py?v-h_V;ag*+S38|nLhQ1Y81ehUu#EZWQKU~9dVCcX8?SP&iKlT4nAa7Z^`t?#M$-Wme~Ko{*V58 zfgSDp`^%I0jy6W`Ov>NVPIV|Z0{VS5kJa;Jlld;@p9PL*Gf9IfoJaX>qzUy_`&y61MU)oLi zB+z_{N9Zx{K)U=P-TZO+%q#zw_muc6l$QbJQ{KGv8PJ>1ACltVFW}V^>NhWB5%F<9 z%lyAC=rgZ)1aWg6({;_N)PFm6E7CqiDZfp8Z4cw>`eh94v<0q2-zSu>)BXc_{@y{a z?c9}mZiC(e`Nqf(1%CzAJr zkJiN1@v6UHk%9WTZke8P6Y8m+c9fmhn%}Ymy`7OWzs2{k-vhr7elO$;<%^)t{4Mic zhJ!aB#_x}McS1K$<|NOD_Vz=U?*qyk@!R~0EtDO0u1wWTp#k@qJs2C_g}*MSMwY`6OGvdWxM)=GtF>mh#_>9P11FB~% zW!E#j$6_4#=J@GzQ-XfseKifDMcKDp9J=rE>#W;Fpsx+|rsy4qf9JuQ7e5*NM4GP1UZ$Cl5@8wbG%Wgf0>pS#c^BVdPKj#${;B($_5&!kK6?(1DdisI+0Gpw20DlSn z<_&z0KdYd7KB5F=<;;ihoP>D>`e&ZO0qXB~-@FCq11Yg@zJ&P`H;CWzh^W7nz_+OX z3d;S7|6t%q;1Hm6%iGdK366&Ti1&=^dX8TcFz#*zUwhy!pywG}hjl#MmiVT}j{EbD zYvps?8=JVs1=gf~aVR@Zc0Jd9mI1Vr?`iMz=!m?(8={@8__H7SF6w=rdj0|ZI?(kq z^OxKgaDU!$qW4>x-y4(qPeo5J{B)mRdH45I;*b01wJ5v3QxQEEfTy5WqMV#KP2jni z0(77GEd4Jx{p<(eBKW?c?EMv&@xLJY%Ol?$H~{+_sn;{&=Q)d=$a}7!5qz!DmjwDC z@a}WJPB|4YIWPtFQ_p<#c%Jw!{qa8V5%3=HHt;?4HKN`V@xyhTMT{4^P`_D}-5;AB z$bX5v=Wo;-p3iv||J{!>f7$bQuDkb!&-HibmGQtQ1NH-^R{81r<({TcIc?xDx;kn8pfiHGa&^YF`Yjo+&W$h$uGfcEqIRXKXZi@%S69q_Xq z(Dm;YlwJRJJv<%#G9&ccz%0P{(6iF+;ruY1pSce2KD5v66#Vx2^*MYG{q7^^=WpXG^;GYo*7(tibHR%s{_;zCSJyFYgUXjsNERx_)24xI$N-cCw&9HT88JFI>Ot zNV~e8_XF)A->bB9W8%^iIF5Geg?xJK6hpoUQ2Xl5g}nCSq2GQr7QJJDNvWsrar2ja zf49ZHerQ*JUP6!OT3tW&ylWBSR0`M)dqpW1Ccf_jx6!W($_Kt8P<%MQzYaUk@pq)pH|3o8 zzZO2vkD14k9(n|F;tPVW27H3BBNkKi|1KB}+cLQBlewq4R2LCSdxxwe6p00PB-|-6k zGoWXqJc;)MBi ztL-Y;$^=RzZm>i_-XxiFb>E^f0;qM)QcYR z;x95<6!ad~?#O!%VG`e6?{jtjH3Pi&>w2HAbmwi;*q3b_E6Pqf^bY{Z$f@9T;zwx!cu8aBpy8{1yp!;jL_+Glt=6>D-@N3Y&0qA?qb==(a z^G($IzkCPqmd#r*UnMJa@1rrl!TbovA4!Oh;}FLm=D!TU&w12q0)9N;J@2_Q&sR^N z9`0MTLC$uu-NN6!wEf!Q_bK$dk77HkS9$L{_4)c3`A=!bp1|m|Z!}d^@3xXp2$ z|^BX?@z86klUq9Sm(VttqPv1draq8`Q*BInK#vjL@BjGc@$MOfn{UGr$KgfLm z=eMr^FM!Xo`qgXyv%lH@iel#>@}A?Dev~b`@PSVeC7*vq2Bg?&(~Ye zytK3JUJko2(LT-_x}nE@85_F&CKhG!o~u`%^O2PJ@4O`ra=n35sF(fu674q``a1kr zN!jPXyltN+{k9%q{o*4ZN&o4A-m5^L$F}s(+Qg+X^hQ9(zwU>*KW2W2=Sa;bo{ZdC z?3=&jx^5ieGoLubhE^+mm%&ef#zSDcR3imzYnq+Jyo!i7AQRyW$8odH>;5Q zmilgmPkrV`rvl#-|K6mW5|{?)`f57Ly=l*WK=T^4*8w`e*)f9OOd%pw*hkM?}NW9@NXdHO7Ll~HU9kxpYP|Z#MkeG@8|r;%byQ< z^_h3*`j>qABNVT^{6lzuwV*xjKY_CMN=&Bgc;GC2lc=}nVEvtl zPW0F0=&@h{oSmLBRoH?e(&#oLL8pa4_rs{_c7+7_iNxO z`cE0`mjya6Do6QG_znUWpTak|qOoQIEK=(N_Qhp8piV>e> z*!A3GGyE2xR=vRYY4=jdyT9taS>>R6-^wB6q{pS~{4y!!gur9?R}()H1$5`%XYkv3 z=~>F|54kV&KF_cFLj%!22Y8yed~KP1l)r)fuz!K_d0-##(pRIWIOB}*^w00X_rO2( ze#kgNdG!lJdOPfWhM%4nS_s}e%7VmgCD8gC7k_`mb4Kn@#v)GZ@&9e?pb;FIy(`}-g}!M{rTHKo3piSrqt-|v^OGm?Je zIG`BvUxPRA!gw2h^AF9>FdxJGjD6V8j@{YxAL+9wYv13qDv5plkZxJJ=bai8hlA>) zUVdkrK>rrKzW_f0e*pj9MSc^0JMVOSu@ipB72eZU1-yQ^zo>ob+7quoE0I^9~`*?moebLFacioAL_o{RN|BQaO z7{8W+j|H5<^H-YqRs!x45Bwdx`{P}}dp_`E>VF7m-mc#nzb|hR2fs(=y&u8?nQq< z0pH;HP@i<=-3N0YuMzcg-qHd2?%=h51pUW}kNTeT{wPa45+a|2IGy7?V%gsZl+W{7 z2Z(QZ^ppeM`9J!#>-?lG{a`F|&Qp33$KJp<;d>o;326RkOZ;d|Js%*Kg7S~h{{`O@ z==?}Mt*uV78-v!u29CH(=^_1O*abL#u@h;TE zyn6SEDiAOAtfb$TAfEpKiv!nT$9()yUb_0qqhJ4AKmP~3>*xNSPe1fmre4WtpMlul zi+@*vrO|VR@^)Zs^ho!2L;l-;AReAG9t(eR+WiOY{|HP8KBTXLz5p=^CRLr6a1RUh!=mIC_h5)D9XYWl(j#Fax3(; z2I{AFq+6E$33jAgz7Jmhe&`(p90nW+{2u?UhyGsz@9zqvBpzLn+etg60{=VZSJOwl z`12g9-+#ZuewY1Tccx!|gv-7u{efNU z=XfPCdbMlbOL%`kPWqkuhU2kgS^66A?oVbWZthR!^M;%GKyYHyJ zoXBm!p8Nm$;r->7wXc8rJpujd)m{wxvGcsO#L2wV1jN()&U)x^-nWDHy$o!Ry!Uqd z`$kRaXVP1s*K?$4iC-pQ73^%~yDVQu=#`<*f_@*n%1IB`2c*ld-e2)Y`}%W$_v$g? z?>gU9%2%-83;TV6zoG9d>j{g2Ye?QxO{>kW_kNiCR z3(rr^2VWOGO@OY;HKkl1*oJtw1$xip0{nkM`+9!*Q{-It>x@0u_nJY!!un%P=-R&q z-u1()l%;zP@)>rY14|NL&-uFkUXJ#1eSSIdaUAKmu`zzlre2<#s(@b4Refgsh<8Tf zas#*>`FDA~4kGXQ7|**5#_vMdb^omtdX)2gi|0^|qtEj*ey2-NuR+)qhIGI8LciyJ zpXGlht~VdsDjaeeJ79xftlx5B*Y)e2!NJVt+8OKd=h* zst(*m+?N3tQLk8(onLGM@9&#sChmTJQWJ;$#I+r9%!pm*NzR{YQJ+b`mhi`?pPi&1 zxc>Mac+dTP1l{wuo&$7!FqHoZKh$qo{qnnx`JDQ@F6la>=W17@uPt#@-t|$}J=Cw> zQ#|L&wIOc$bq>1qv3`%KZ%X2n3g|hg)RZ&Bmk0lgqyKI2@oAqhKYS4NsY5$A1vaOC zSCB6N-h2KFVCNisIp8zjd@S~Jf`1>l8#(WR`Gax{^gl^lX$X8W-d@ z0^MhvL_MbhKf}Kt(eHYz>xKEiyRMjwa(E8;4e%H6-+Sg;q2K#OXX2mvNC)t55^yB) z>w)s+qkjEqzX8Bo*!A~O{hhvn(8pol-~D@x{Z8m}f4Vc}nb`GtcYgURc5a}z1o3nI zU^UP2_rO)a*UQT=3pYOwc(IQ^_Jq7L|F3W+(d45BB<>*mz-rwnYUGMR{h}=e?`qZypq57n& zFOv7N>)Gz6*Zm{jSF#KF+WG zPEDcxonQN&`cwa)`#$T3Upb&x1G=8%JUX0TZzV4Jw}5!;LEd}oeUHX89@zgL{*Q=* z=b)@tB=xI-f8*fm555d#&kv?TUr*@q@b3)mzYP0n;X4aHCFLUcy&YH-xE8(?@TCTx z1n>Dm?Qca+zjnhXy)bm;)Taj`W8@n8TdL1S{oIFqL*En8Uv!g*ROqimJNSJm&HD2z z=o<#q-c#h{6ED9|f21cukK;S*W&L~M=UU>Ry!oL|@zeVi)>E!Sz2;L+K|4319g{%! z`>6a+*mIt%zLCgZfZhea|E8Rh=gV9`WLD7jQ8C`CP8$ zIdp$)0rKvX*-z{b#?Sbcrytu-+?OniozwVLnsN^GyHDx-?ae^{ za$r*Ixc}IYcClQDc60wwxkG{cr_@XR%Bx>_+uikd>GlKnRo&m*g@0p! z1t#J9lLB}QdN=_URx^)vrG3J*cPqh><)e zAA@)Q%>A{}=o7D;boVLclfH%LJ2my~2i!+|8e&&^8tB`Q3-?cA;$J%Wp7DKGZ%Fs| zpXHP8e#{``6Vd*=fC+%!OFEOX`#0`;NOyn4{S)_v{GE#W#P4nV_r4^*t8viZ7`TJ_ zbs$czkFKG;T_^P(--Pfd1||Z2OMI30ezeBexs87HHNw9yu`_{w?R}EoFPS-zmtXnW zJip7ZKN&sR@jjeRkr6Nc+*fOjefR6S(f^MUKl$7@d>8ppPk#K9-ZiizzxXu)-F-jh z)u;V>_*DrgUH?5_;`(!V{=;)8dGXWlRu$?$$oGwL1g;fyMEo zG|;@flK%&P2)$j1|5w0SK=*%VP*#uhtoWG$I3@5$|Ma&AeiQ|occ|at{jJ&XFALCp z$r$uE>6xK7N3Z97rMJa@@nzs&9O!S)d&77-|JY8wwA%ywS&{EU`4gaJ>GHpVe)G_; z;cwyq{{?vI=1I$!5qd28zj^c0m6I<22EKFZGk@E2THf;-jwhVoI}cZn^3Ky8UpbDN zOMDzBIWBRWc9eE;oZ|fN7vgQ)?N@%kY?n&(JHKCLc(3*ZI!~#C9qCng-o#g>oCvv) zuAK8b<3;*R8 z&@YXX{oDA>q93VWy*2RPyw>xKUw*`okC4kpzw%y$wb0FDFt1@EeBP61|2zf1zx$#7 zBIut(JNKuan<>AHe~F3jI{fpI4dPo7dFO)}@Wb;Lp65`X>*%hpE2kax z%dZ{zdQktKz>@gsy}jlsmg9Zk`_uOF{cl;i{I4O`0O<4Q^XT&ym$*9rkS~;%PrCCL z*YlJ=LOg}eyOh`N9}!W1^KDn4`J*L?e<@%q+GhoEx(fap@G$u6l&dF?((gISi}Vxk zSMa%<34T7%b92e*NA7=3z`so3!~K!V;N2(j{KGk(H`fi!SEx$=Y>wVez`Q{9yT77d z_fv9V&vTbQ2lhKs_T1#3l(ztH5g*s>-G_b&zg*v`L_B>jR;IiZKljqV>d}wQfAROD zKZd^o{AIE4K3GlS^B3{|4gL?oKS%Fg`jzvyU%*>dZZCNCi&y_z`ic4V=F`Wgf0_TE z5k2k)9>Bk|_}?Db8Tc=-1F$i1lwO$n%NL(|Zie4|y;%712lC%yw-ECAfeoQ+N4?sc z2t5vVq$i+!0K3zOtNYUj!FzA=c=XtBHbRd?k9oH0)t>v7*2nr;-_pqYJougUTx%@+ zN&}2V98y!R2W$vj3B4FleTykCA+Ad)yFa5H^`<~yPM;5;=bq|P&P6}+evTiBOK$Ma zE1U;7e|ZJIYUpVS^n8_azSqv9?_2!xJtv=f&r(128(*JSpI@KnJ@~N?*a`U#z{@<> z@`?Wq{_yuF_JWt+JQDLtyyqz+^-*5_EYxooc3r2J9_|mBzi}6S>F!hbUh#e4d!RP& z73u!YsQCf%ALjXg40N65C}rjS{ZijA+A;rNH~js1Zp}Xk+ou}OgZ=*+{h~Yg+_Xzl zp2xR|_jKasKCREQ_lo;GcctHVLQeY?&|e*>AB}0JX7I;H-h9vQ#4!%|c);G^|HjYF z=-mR`3M>qL9Q7JQoDu_11AnJ}snDNmhg??d3_rASc@Oe+)PW+VaIiYa<-gW(p#Qj6;X2-vQl*9R{<9Fvn9}++B!H_&{%<6Xrzo2r=skm3!TTOJzw-y` zVSZ;`%HE@6KCA1D-Y?_%-pV`&p6m6T??UQV6T7SMZ?>-}?#IU?&Z6zXiP(_#)t?H^2}1szCn?Ker+0_v=&Qa2dbf zg`OX1J57OZe%>kQu3z4#9jr%v^y8sY%3)sj=hUw%P(MQdtjC``=OfTN0Y6t@Uwisr1--88zry%I zKSKMCGaMf_Lcin0w#a`CbYK4w_MIQbK+gT^jgvf>%Bg`KiRqddaUJOX+v@h;I+teI9TO@|Pl_{w`5Yfc|=v=K$vd``}+U^gK!y z@#60}Q2IB}eecOH{VnL96X!YTH-A9>nD{>%x_-z%3j95w^|XGDA00R5!R|Ep-@<-Q zpz9L*iG%b!)LXjz<^gX*{ycJ*D1X3vraE?K0lxyqrk_-TzYh49!B+#{416~H$cCMQ z=vOWk^t$lpK;Cl=?|~mg{R>i-|10FX1AYJd-oK4q-~ZwLLwBId=leVZc=f2)b9J-u zM|tmSC_)^L(4XHx&xh3OOWs3MfzhD%L|;PWYx4f@1^rXtXXv#&m3YKKe{5hk_@fb* z9+V&OeDQnA&Ag`S^_%DBV_`HA9{g*`a9 zzxy-(zLx9i+3+_H@%k9(`r~`ZkDwof=hsUjUl@3i_6gVNbJ0#e@qD_Ea16cb3D37z zfLi#5wF00Pi^k@jlOksoy>L%zO8|h3~I3=nMBN|tY5u3{Kk1Rn1k8rstduhX8v~WkLfJg5tjK9! ze}o}j|I90Po)+dWdv4A7<_zNMd~`JLuc^REv}aM`COnIO(l0|-UcQii5kC3Va{_&v zvHK^``AI$6QN0%eJ??*qKSR4srQNT?|4pD@y#?U^2tWR!-czvaIfaejr@=oRxD|XU zp8t;E2hjgrcXs_c0sgpt{Uvga-yKgozIFUA-EsYS^h*~?FNyz;;j2q~d*1T~_$BbE zzdvy^&s2SRiQf?9z60h1?>#q9vE%+mH0t|4?+^Du+~;@>zjNm_#M5B-W$NLk-JKH9_7yTm*Ld^W6F*n%m;A%VBUcF zX)&-H3H08QXxKT$^XUF=4D5)Hq#V*cCnetZpXaIj@mysguHLWXJj?fIsNa3(d&tK? zzB{lj(0%Ce{i{FvVSV(k9qpT*c56mFp98hu2s>eZc5B+j{BFzUXUp&JP+i8}Bjg&O zS9$MmQIGQ4Z;71rLC6n9?-iiu1};$^0#siD+P@I`)&bo&bAK-azE`m0eTL@m$$t?2 zC*kva@geYAc`je0oCNq2ad!UZe60?8oVP7O{%iVy_rLbUZ|Sv=lP>=e)*aO6{7<{m zPr@f%{{Q&!TY6ER8|5rZKZic|U)^tY|FstW_rUMFz{@;m_bK;=uMcn$ar*`+-hIp7 z$h%MZGjZDv+zs3XbYIH-s9(UlPv!oVKYNc$PTpVA*Ag%L;ZKz9pZ5E{*gr(PGZ4Qw;9m`tzde4b?>yhB$H3|6 zc^QAw0-vK-`^x(}hx+aQx6hyPc?Ca>kMVNOGVA89ws(&fJZ z{Tgr;?RuTE`R$F-XMVf-yl2F+e9C!0iF_elyz=@rhd7(x;{MDy+QU5^w*BJ@a_Zs4t@&w zQutjOs9xntf`39ilvmFDn9grRy!dneV7|-@@G+^s^f;6|{U5q==D&FVopS2?&pz=~ ze|yUM`g*G6LD+FC!Qh7g9UplPVXy5U(a*m@f;;-`h`xE-rcNo5tK>avQ z+3&00VZX0_Z%@#F=g>b_6BplC=C7DPX8wxr>D9a+1_RCSF;B;RZ24;7*L(1{=J~sc zUH3QLuWb?Fou4{SbKd3r&Hd8~^phfi{(QtwyO(Jv@!EI4bp!NYf%}2x%Y2T0=cndf zx_|Eb-#Gi8FuvB$`LOkKKAxHS%O_s`j`Xib_*Inp?LsaC{yEQiL_3!NFZ4a^{KxmF zd6u2&_r3=^Quh7qds%+p&oAMh@1@<8JzsE$=ifY$?6jNj8Syo!Pe}iRe&qKyE^#m~ z<16f?!(ZPozJIj;HgQwG`6{cBQ{O4{n-3D^7uY`L8Kgq5{mVRuTHrmO<9VPo;LSfM zhJDW!slOz6pPSTy9qmikzWrOe>jJLxU(!DHOw04SfjD{&pf>IC5ApvI`fK>LigFtI zTUy{3v~LRJQ_v5;fIk-U`2&1>@TKu9Ucjf^C+Jn5e9Dzaz8tV@V5cm2`90s35C7ap zi-Vl|$L<$*Cw_C$lb!f10Zsw#!hhwzpgbG7F_b;0ahmwOMf}cE_IJ;&!9O1QcKnz? z`*q?uQ;&Mf;*VwJ#vmtMJ@QF6kHCF@^ABRs4u3E|IfI@5@(75Z@{#bXNBMa0ndi5i z_{^t0+@Ib8ekk=Xg}#FkQGYK}P6T`v80P1hXLlQaBcnyh-=VCW`Fjb7v-@_HvHuVF zJNTcDcuKzq{!icmpmg<#mtVU2#j8Ix_A_H|IrUrtTm}3A7>jbkuRr>yAD%nc{*TyAj(-Q~x6^39;`s0So$F55vFG^5b*KyA9mh3AUj9w=zl*>- z*t?3HQ2FS#8+__lpZfL7^+m^_jysbgZ(eaO^yUV>1N7c0*D*u7>yF05^~JHo@fYG~ zo>Ud%M?8;2b>D~+z?H})j24B+5IqVO0q?%#R?5$*hxtw!&|fu8l$_sAL5te zuXM}zk(0j-`tO3j2YeTp2)$E*-=g;i%Egh7fL}e&;JX0bypPVb!xZ|L_Xl6&{n8#e z^DD$#&WxOVRd`OC09)W!GvFokzC=Hi-Uxp6nx_%!H~(WG^5%z_FXH;U>-+Y9p9jw$ z`ukBoVAu16g(;T+t^<|=y6<#`dcRNnasl^IzoPKVr+i%AlaGn(zraoKPeWcmJ>RH* zNvXH~InMHYqVEUmYyFK!c>e8I{JGC_?Q`OD;PW$t{4BW>V>>*h-MoLUAMMs3{CVPW1vmx2 zFH<%@!15&Mm!SLm(IKDv{zCWpPY?(7Nf&Q^fppJLw&FRyM!QHah#xtr&vfc{ow9lT z@rdVqU>smJ;12XGpgb0+e(5{mb3OmfKwf$(@QL8h1MEh-jU^X&L;5UQMPTBj&XJU5>c=Kkmg3kub z0^C3x&cGj&`Z+$&0bYGg@xKW$8+7x<%r7z@?F4kk-QoD(dR(PG)=zt5iBm583eS)D z`+k`NKlID`R;9k3f#w?>MD9HLF8~h%owvSDyBq?h06LGAF9UHYjoHOh2Tqzd>!Z&fF1CoEcAWgYamyKvhStl zlzndU!{_suk8%t8*FVJL7H|Xai}66q@+s%I*7d{qygyv;^mj#WpjZ3^^!hs^@~L0D zA>H-MX80Y-X(yzM59QB9M!fiY3Va3sGsTF)d#~P8;y(s81?)N;PY(BdCJCDI%WPSEJuqpZ? zXs_bfEdg}j$9oBK-1v|NG#Vf?o_2KbiKIz65$z?6|&Do$`F>3xF$t z-vHI``3CJ&!w=&SkM?kW;ru0>r-)b1awu>6hw)Rt^B42r#hZWLhyEfA>CTgE7wO`i zPx(B4&2!=UYEjBQpWbudoH+Qrjw6maiT8QvKJPyN=4Y!{yCMAy^76U9TpWKK=a-=D zz5C|3okdyi z_h1Q7J?izjbiSMwxwnCHff;E3_PkeIUvhoR?{x#(r3o-8^*7%t1$fu3o>71If&7lE z_abz^x6`S|W&CK0zHQ(q0k4C1{mXSV*TK{$y##TbMtw`7-+5i3px%x<^waw1<@+*? z_VgUpbjsoS;XBlCCvozg70>gB>uX8SlM4Rz$h*H+7yF(Ex(%P>Q=#KY$Cr*b9alJ> zP`~4hN!Y&z{EWC=r>q~Lf9iFdt6!d9%8H*0i1T7#QuJEyb+qqy(90pG{e|!^2Hu3e zjI#740bPD!NWXy|_hH@dbzgT3aaX@|_pS6py!%?={;72Nu(aIhlFiRG|49@1f6g z_%-o6KKkX8?!KvX`8~JZ4}I=~{)OLrskigW$~-^&z~{!^hro>Z-yZrb{5}FbE%Ykr z`5F4J*q2_P@;2!Hj#wt-<=4LU^s@u@X9MG6&-}(Xl+8OykAIo02QUqOv;=+xRBk=~ zDR&b&^-X~8{j0Wr2KdYidYSf1i~iKW!N{MYY<^5({2u^aJ5Rt%{}%dBz{lvZUVi6` z;*aAC_ixQlFATjDQ2t&#$3?&w1IlmydvWlN57N-T9ABu>*=$RWC@#3#H{pBWQ*EP<9cb~g4a)p4+@qYyU*mEao@c$_C zhl%gsK-c4*Ll>VC|E1r69zmSVkBCM&4{=zHKfRIv1Xvn-Wq`_;6Hi>-S9E`HI?t!~ zZ#KlvKJ3&%-rr>y1zx)R#@~3$C%q!=7X$s~7gPrCy$jOS^N4s$w|%9{@BGC1M{evm zFLD1q+#i3B_({J{yycrfeZ~8G(#?>|PQP&fKcuVY4fxzw+DN}y4@?2wynvUnD?JT# z^M0hK2Y-cjOiaAY2Y3lR`lmnoZ+^gc#7lnTq8{nmRnGi{E!1Nxa5?()r$2bh>QR4U z`hn}b4dAa2>nHu?}#N|2AeYh2rpYq+!#B+EI|BnKf!}lHW z>_+>0Px#-+KLE*9|C#x=0$ET^qj<9{px)ezVg&h zKh^8=e+;_&QSFJ3-_0B7?+tzzuoCsE0xS*8i(iF-^}xFyAzxYW?njiT?7F3To6|2` z*P4X=aQ|X9_;P_>`PAPPKKDD^|4{F3=%vuJ8CU`sow$nkJ>+{zKKJd#`#$Tz`==QC zN&H1zKU@A>6N#J?DEI0^kYP`db9*gt{))sRzPbn5{u1HBS30(^PO zN3eegeaGp4-tXwX_-W$dxce++&&P{*ob9;#OX?xs@x9}4&+T7@PrUpS!A}9E=lOg{ z`Ago*8-e-2yIyjRdX+{l2hV?5%J+yv1>z!Je({!FfARN&T%S3Qeb;6F#1HqkBC+TC z(FV%;ufO`gg7_{67C@i+rI(3}c=4AUScQ6+XHoz=g@HwYg@A*iMajLj+;r@wv71Gsz zo%WYMH+tR!UctWkU;FX=9l^VAo}wq^lyp3`D#M*-;`6Y^*b8W&-xw%?|Z=K-uFQ%`hoq!{$oEmh5TXS zUXA*v0mi5P8G#+)^E~ky-cR|cpXc+ z==1qbG{;}#TM+)o_*atnIBs!Va**f3@rL6M$0K>^Up{y7vFmeu9QkAL)qwt-ey|k# z($#+yexHNpJP-c2suibJ2SreN~8`^h|+$@z&S-M@k}p1^H5xU1yQ*{%>*UlV~UT zm6tyY?UW4|4gEPNcLHt!4uIYf{Xc{M6Ih)1n?I8a{51HbZw2qYYx*Y`!es1pRh08eRJvSsfTp= z>!P;{?cP@iUi@$mf;pY}HY zOn&8+^F34`cs|Z!PrguIe;(q$eCn6pojCNRUwI!%E6PImHQNve`IPU49{GAx_V=fk z(GT2LTtoR)`1)h-5U>Y$_fgXmKle{FQI1c19dDTDnU?s3^c?svpW~cx{F52^GqjWA z8|BTPID?-P@Mkh`Ja8P)b&4sJU3YN&6y}dO9vV#hnWs~Ve$bFOb%AbKy8MIj&*#N{ zJQTe5%WFsZkI_34zN*B{_2+)XN4`*g2=eAFsW$<73K0kI=^H}5T<0E2c^3BfV$bn| z`2~H^vk+UfXu?wFgSi48QB^A-x0qcZhQ`{E0+P|CGPXbE1Cr>0h{h?|T0?$c5j3#|72! z!~KYSw6E<~6nXQ3%R_Gq-n>57>)#=Mxq#*mI=(25J;xnm`93)ga(v^s$@^K(CyRLT z*N^!01r9)dF7RLQ^C*u3Dz^~&XW;jv_XGNida6>c3~UR0LOZphyo|E(vi}=T^PHE` zKL=5NzaM7?NGS~>3J6ltB@Kc|gZz>14(U!s zx*G{a1SFO25R?>YiFd8b^Y~%j#r?AH?mcnlOzbm1p>+M|w=Di$PuHM)uDipuY!f2-I#RaP1ey?!Q3aPx%9V?Q7R|uw86-+p7@zlZf|6 zp!exGf6GL@sFxZ10s7+dm46$48|=0N=7w&5n)h4np`Ofx8;iXADCSeiH-F9Vk<453 zyQr*;1JkItoz@@p9QgZ$cKHQ!@C;G>F{R6!>Pd|TI9`r5)e=`pBet>R1%LVA> zvzXr^-+gZP%k!b1kaFZBKJN)}-`xC_6V$u=>gK&Dw*vkzK>6m&=tuwN&$yp|13lx_ zkLB?F)|PnN1AV_;V|;X`Ouzu zAU%+i|0d(Uc`7-<a$!&Z2`G>GA;z( zFDK*RJHWP-({X(ZaSWvX=1{KD_;p_S3wqPx&!ipA%k+KW`^&t{71(z_z9PuYl6cGnB927U;DEj-~xF&@aP%56|z- zcMIF+Htp{F)_ti+?8X3Ir99s6wgUWp_$O)q!<6F`&~@5HhcOl>R+EvP-+*#ti4*e+Q8%+IO1doqj&r|c_ zZxwX)Goq({TiUS$c6<-JZ*vIxVW98hMc6kU?{O%KTydcJFn{wL6oXy@Xugg4GwPLu zuRZnUtFOH$*snr=PeVEPP=6Jnhxsq&#hgI@BvAdt*!hv?V<#{-?ePS>684{hd+ugF zjC_CZbRYVAfhW*=44e+#^J32hKfur5l@ zhi^PDQBLE13BUj0@GVDZU%QsO1o4IQQ11=#{z0GfOT?9w@zdwe@!=fhSVQ@|-$Osn zYo}o668;?@)Yon!{CJOuc8Z`k3p;ax-vj3W)hmv?c^2MRQVRMcQ;49#}-Zl@y z{Dk7P&l=?HzpnS~*RJ2?+rPEvet`P}>hHt;Z2IAA_Als9@Eb`#@cr-e3<46_!=)XFA z&!?V%Yd1Rfd!er%_1vHPiS{vnwlQ|htCjCPRr0scZXZxzWr60)egv*ud2sdh=lxm@ z0)F^ixOunkyK1K%dZE7gxtj?8R z%v1gzI}3pGfyt>yaplbOR$spQt7x~8!0)g(gMPgR`flvcqFw#Y`ZMZnI`mL~A@-cV zr^jAL`l<8zklqP?2cYW=^;}=LPH_F?Y^EeUKd^Y{BD)?&r z`+EoP(|-Qm!4vF{LeJlieFXh6@F8$%VBdRsc11k@^LG)x!>|4$i93u-xtYZ4`!yPP z9$>@^_~u`@@8CYr55%b*zc28;DqVg3dT(g>{f}|1v7YEZ(TPic1>vvaIb92MKIr^W z+30%-522^rJIGtEw6s$%H+=VX{XX7(t?b0_K57s2LcV&L;b#SUFQC7l z*?@932YSBN0$e%c4C6CS<2Nq%qg!Lg^G)Mat|9!Fsh{}3M$nHCcLe>>_n!M$9g%NN zJGp;ke$U{@h^W8*@Xd#t3cWXU+r2aG)|7Twj@%VsC-_&vYw#STA`YLEUf9)+_K&0A z4EwpzFACJZcEb4Yp>H|rQZId=o4;Z{i}^3&^38uyKjf>|hjNAdKKR=X-?*A(d0yYm zDPMcyn+nu_ed@|tXS@IHez*JJ;qS2cyDB#se;)w7&*=(wl{2qX`}+5uC-uGmNjuYM zpXtC~vFkZ_PRcLc{G^a?{!(1pUAaxnUvlug#>C#+;3t3y(MtkMq#fdV2|f44>VsF{ z`QL%uPGBqOMPo-q{rycG-jDC^_P&AtY`}kjZvh>jJO}YyY6^ZP07L&jLU(`9xP8CI zh2Pe3H}Lzq@sOY6JTIKzJ%Jw`JI*W5^8D1Mo}Aa_<@s|S>ivq#X?N$B`k6z&+aK`n zgRAd+Q+@Aiyh?lxh@&O#+SGoA{g1(I=T*?_qE`?2K61r?&R>ns`Kj^D#Ex;9M`!%@ zhi|E`cknY3-2R^ndQa+4xwoO`2HNj^Uep&?Uwit|UdS&={|)1`|0bm$xgKl}o&xB5 zGZW?Uo*&n7Q<1Y@dwy$PQfK&K9&KpHb!iLy_`Y@hs6XRy{ph;ZxV2+>)L%mXR$qIr zkHytLh0xa-pZb{=Q)x_ndk+daeim#J_nmVg9H0_r8yvlE5Os#n|gY zJKhK01r|rn^O94Hzn-Ib&R{&VX-Cf^^3Y%WuEqOLTSIsKYx%SjowzLjc;e`T-Z|>a z`#ZJg_hkc!GbiPcZyd%o0=s?(bP~P(K+B=N{w=5Lee;fHqE{NYmiAc>d<}o=z|%6$ zWTU*V60dTvynwG>cJz)@?h&OSH}o^uI}e;rT<5^`tK1*(J!cL1o3XE)Jc)4}&UP@jW0@$Ws8O?WPAQSPkpms8Gg{bfFq`9*NcntE zxt=f|H}*g6V~;;fu-Qr1ef0kJS}|Xh0@g@K)f5!yG1=HC;wOC z7({%^9fbZa`h|eXJ;DAB>iHh9Hu06F9Xxm0Lq9UV#P1^2Q@$?xafo*_^MXB==8a3b(c;_{p_9d@z;H&U)Q zz~y@`ng+h#bNz)~`RU+4fG!*deJcLXfZwJa{hrMDGUMO8fcU{C5VBG4-yUFTkZ2rvB_N`ceJ^;x``o`jxNzI>wtH zfpf6$y!BV;iLvXvC>rf94EZULcYi13zsvJeD|$rK-|zU5J|DXCEB7C7QqS3eTbTd2 zU-}t#{T?aYw{joqJL>fUcBX*4zchz_o&$bN`a{Tfo$I*bK{_Zxl> zlAO5O0b^0G@(<9DBB{Uq@K;d}8JJfL1it`(0C-Bu_a(4BFf}j{FflL%FnPdF174Ik zlYyrKUc;~Rmxa{l5acV<@0`DEN8b6jvL_&ieF^%E)Jj-yOR5 zoV*I(dA0Ycgy(MR*Cd{B|J!pp_Y3u-y!xIy&LR%^p6|U*c|1S#+|lzx%afFL{DpX? zQN9JV`xv16a|N;MKArchxh{1c;(FHaTV`T^I`->h$9u=z*ZPrmbG+}uIFXMyYr*dc zeLwxf_n7ayL(q4rPy6UczkZ)3-S4lA!~MUU=(}&`zMb}!bH7gev+*x(IlOl*5%sbX zxR`o53SOOZ)B+ACj-kN1(CYy+P(Ss-D+5O&KL+?I^xD8O(Dwp=1$JP3(BBB?9|GeM zr~8|SiN6$3`^sxaf7WAc?6_~~erP4)s{^#0HNnf`ryS6E&d1<2iL(~41@yW2%a5Ic zz}e8vEBu!7YsdS4t7C5reC66=U%pU!fBJC^^vxsv9K9ofei!Vwfvz3>HHI&}9dZY- zUk`pe;3WEo?L3Ndj|YbPcfKcl@A!W4Ju*DdpN;=-px?&dU7+^8zo!Lpy$nAd@LTkk z1J?lE_l%%?+R^S5#uxW7yD@&vhF%8y?mw2s?#IBE$n8U}81xCW+a#d-zLUXc0T-fY zzWpKmuccqLg1-jb{U!19)SvrHsTe<|Vt*R21a#$-W7qvD_rKo4URw0r9~=ihmGWf^ zfZ< z{PNwOj0^n?(0xPYv@75GQ%^t2si(aD^(SBb-zeYLl*{sT2TuaO3$Q12`F>Y#KS@M8 zd#*p0_kSbGSBU!eUOe+FufX?QdL(#Vp!%Nw)`PBn^{euHd`=uMM~jI1Q(nIE>MJkb zINkS;ja~D1vr-SKDWAA<>N&r6-_&`x`==Y}AD;I+&o^&E``VjG92xMN0w~`&)bpId z^NJ1l%YxqbJYW8vo#WF1>QBD7=Ps@@K>C z&GaAdEj}IaOTu43f89hs*$ey;{tw`XfFD3F4g3gLf%vuiIq}ygz6ALHI4Ea%aPMdJ zcYyOlcf9huy2;evQ2gc;=l!Fegbou9rYdrqXft%-f3p^g> z-;JE#*Lh!${1Md8KfDLzM?#-Rz29S9cLuo_0bjayUZk(RnCKhdDe_OeKj&-sYb+=H z^T1BTHIw@90UQL}4!pbQH<<3JN2)#e>FZz#iA-^Q$mtPdz zd7u0_(B(UiQ%-&5=S4+i9QhrS+|9Q#RtyLdiQ(BAGJXC?me&?f;W11ADw0nI~;2X6k^$BbWjcpucm?dSKs}2^N-b=M7%_Jno5{_Gf`RKBoiE1dK`hMhCtLY)F4@1bhXU7QKwXSAm&<%W3B|z_q~D zK<}B8UxIQJ4q!2G`9;C|Vy7v%dDM-;8!~Pj;<;d*CYm}lenG3xuhOBLd8hkke79}9rmZ3Ex+S!MjXp5IM8 z>Uq!gamxFQ_S3%h%s=XZzlq43*SCy%SOL8-eo6p00XG2S;^$@H65`$l-*b_e@IANi ze8Ya01-|{uei$3N=O2Zrzj)B?x9Tk;ZuP&UoE@Qi4r4r5urnUM^)VLQ_4!-Wi|csT z>z-33f&UAzH-4QLJ70DF>U{Ph{{IA;S7}`4C;PqJe(HAygz<;pOZ39N-&O43z2do71MGVK<@uHC zX8E3Houl7)4krCP^wHR#4AhS6@j1}dk3l_Y*LAw`?hjPq`8I#hb-whs@IRIIDM!1P z2j0WaR{F30i^De#&mZ$sFP`6753bj3H^;X|)U)TuuG^KHh9Bvnon7#=5x?K_y@Or9 zzq9|9BR>0w{m17*d-}J(ng4kZedAZoaoq9W{8Z1wJqLF`!tzWe{n=)^q$Xddz@ z`uAzze#*NO_$;6wgq|6@@|)0(@*}{tdj>o5>!KghhY+{=JMeb^sJ`(jr~k9)H^;wx z_2erb+Ly0Sw&q zC*?N}=OTD^^n9)-fjfTq`zXH?ultzpn>s#(`o^RFKJ=SmzX{Oqdwkyg?%(mE6>>L# zw}3Z+`d8jK^l$yhm;MI&_HXn4?dSII+qBD8+Qt6Af%^CR19ACncuqXm{EGVS20Vg) z&k;R;^qkT2%J1>JAE@2N*f;+FVb}OAPXXHBb6eM`p6f0o4(EmLZ+67Kch+ex11c!tNVCp?}4|j_VlLHMZ|ciq&=J^8!o51u!EfnFP+`S=^r*PnK@`xE><*n5Mxw7)L!qh0xq_wE}d!N2br^Y1HB zKF{aQ;%5{7e*-@KDW z@RQK4^-Hnep2bycGJwfZku!2z)H>?Z440!t?L`L~Y)W+mPE1YykZUcue%t z0QcZu{$AQgy64T0X?N-BdtapY6nT%Le$o@a=hxcz{95}iURS1tka zeFFWY(ECCkiT)hu!?FJ-?IV99xODUWMxfu8cJ;fj{m#dr?oEB^!a{0RNWz%9_XQxE%q^4-6QOZol{^tBfW zU%3R}?iX#rZb|%grXDXtm%kVM9QCHWP(94V9AIpE8e!ZT!HUJw#*KY=J`F{p+`1?J|8Rrekc^CK*{o^M1eW2t0 zCj6hl-)of5^Y)$aKLa{16Iaglv-7%;@BGgBTsS{%fPLjcef>IrtVp@GQZMR#OZnuh z_Z@VheDybD$M^0p;O5=?{`Gf9^&?$Bd8ohYz`@k(Jo@Ev`u}X`3n=#-@LBZZn&6AT zr!p>;!jAb`O#^-Nz0A9kuY6I;RSf9(?D>ZL5&>U%zmGQ0+wYyj@0MLB`5p+zd2#)3 zqCI^t{0Od`eEpk;o{M@i4)?d+*ItgDNTB0rLh3OYbjR7G;LEU^fciC`@DAh0yYwgX zisPW?`*RBQ=l5^EN7JF_``Ue)|Mrm>H{|<%_C4==b}II#0kuCJd>wH+&cp$Ce@TDt z+qf^)kAAxhsQvcXtpojY%Ii6S=LVh=Nca4}?>b^o@3DZLu+stP`C1nEsb~k!Jv<*# z-}kETUF{o(aVp=K`rSl3{*B+J0sS%0X~@5h{7v93;0@q)+Bf8@XP#p++9L(fb%yH( zaphb`nAaz6{@xkd=Q!(##DRVHx6BKjOubGAny>jL^&;K%jePx_#h?5z4)rasa%YL} z8Bn_A(Z2ff^|zjO*#Im-IrBt|i27R#eLn5^jP~&NCL)njelFvy_X2tTk5m%&es z-B*C-N3{g6k?DCo9s!oX&n4>lPu@dmnIHG3-2H%;sDE+4o4p17FZ|4<|M>mwMsV+! z%!a>i`1ku3e}`-a^=zKNEbt*f^SQcf2iOySFW^jIZ{X3C&&w}84fSvmdLQJX6K^DN zHuU-Q>%QRI;XkE*l$!&86!xpa_dGK-dR5{3I}4|fOBwL1Am{z!?ys94AzweG@hd9d44sC_&q<(MZ5U@@n-PJ$oajk z=bq}zSI_fb`JRue=l;$ov`ZDB^VKDc2ghj#&)HqSFQb3@y>fEuZ5z*L$TxpWIrEp) zPlkR%pubOkH1Kac?@*74sh2RmOxW2${hg(J9gzQwIF<8UttoWpSI%#oKRKULUcU1m z=V6|Id9F4T|H|pdc#N+V{yj$%m#>}Sl;3^c*_3N^Krad1{n>Hw#{!GPe;>F3y7TU$ z(B0S7o_?ikU%vKBpf6oN-isrCB6CF4-%Q{z+HE*+G|%Y_?8z6GKQrLJk3IR{*dKri zcz%69%tHUR;}UY7r;i5r{Qe~MRSZ8DzEl2)Ze@Kcl|aW`Uv8<1H2Es z3;Y^CZxE07%ciB@zs9(882cxI$AM+w*9HzmuMg1ox9{seh?fn{1TsigpUF$52$9sX5t<4%MANc7qR|A9UNy{Ew8z~88+e}TroEAT&$`qjVj zd`J7PBp&lnHw5i&-mA~s1?;~?d^v&g-v+M)^js=8{i7!FhkD`j>vQ4$kNtBycHIvu zO8Jb_{#uN37_aC01@ZqncC_#O&F7^b<5N<~JCOMMLpOiaalrA(@xbv*T)y(^A0bZp zj(0tvE2kaxwQpXn`kt2@MPGX-Deo!bmoHw8@+ohwKRtWP_t|1Naxe2LwM(WA^q$k)Dl zlVUvQr{ekde6$Dl-lCjsn9p_w&V&Al{^jpbMNn_{r?SYe!+s9zMn~>r`07W4uAK_- zJ;zkf^Gna~!~6oz@#9hdr>QUL%6|<#c??76XmbY__Gz56?#VCM)bG9-vsWt@Lu9{-`I2KleFIxpy$h>oaevtT}OF7 z?e7$NPVM>h6Z-Ku`is9G2H$oD+g{7&T@XWCP*o)2uLOR4|AqW8esSlez9*f3>euTg?iAA{ZD=4 zG7n_~`tI8~&PW&E7Rbe;{H>uY?|MT17w~_jJzEo>=aSx^7aM*%TL^ncJ+aw|J=~ES6%hA;U?L*)vz;eLE z)WfLE&*lC7%aP#zex`E&kB@#*V11r{?WLr=+EYI*bmMpk-W9(wXy470_XptH@Xce1 z$@ptNZXx({d0%+{g845cvFm*e7l>P2zVcJ3=S9HJh;uP`9dPHvuDk0&@ACqE?bb!E z5alaL{Q3#k_o4m$yl?wZu2qz$2e`j~Q3AT(k1dDq?_lf)m+$Yoss9h>O@4=_-hK3> ztN#GHc0&6Ti2E+k=lcWn%xi8;`+EP<5$b6_?d$zfpF@{F6TNXjars{$zYjaw+e-Z( z2<&@5l={`-58yfSoG%V`qtUMODBlWTGs^cb`VW8+$iEN&F?7c_=MRo=j(3-7mp_3m z(C zP|D%?wcq7?4sHMb8vBEhmp?1e_dNU{{Zc>5h5Rb?lgHRst}k{60k_khPkCN0Q&0V% z*NPq09U@LbUya?pK=l@*zXrPaHtduKs(&t!`!%q;0DIb*53auQ^7U)Eo*=JZg@VKr{+^5XQ+wX*{nVZ( z$7LL@-@_8dA5`aSXQIOF+R9LAr%z}NB93tSlTd&9p;`C|n7FN6OHUpehx zgDzkCTljB9yz-S-PJTYh7mNDt2FwrL@8<5&A17dcEHD>xZRpnnfd9je_PsCY2l~DK zey4xMM?MKKF|ZuvI1EgO{fpp699iA-bwJ!gD(ckPaW|4Q|^Xw}d&Pc1j)UPXN`A&&9jslZbMp8=l&y-y_qyZ3;~Ee+&CzW3%$r5(qi zKMmac%X7pt9=`dQVcvc`>c@NW7Gvi&}*#C^>v@DETA?tfOK9{jGt?-}P)4(&M4`5wCbpQxW*K=n6)Zw8hot{=eF_q&b? z#ASY+=ZP_pj|nt?$oommw@!?{dD-9d9GQP~nz#osuZ#~&3cN-=oI!3A^Q-gV-Y;TY z^275@`JR6or}wB>o~8K9OSw)^KLf#w(7&1ieg1qdSD^269P-s07U-+@7xg1Q2lb~N z{p(M<<3k>$B+8r@|E8~9Ny!X z6}`2@y@z_ykNPoackOFW{%-Ws&~HxAUPF1l>Ohz8?`O$ZUb(pF$^Rev!jOLqf1clZ zUhDbpr334=#S=Ih4#}>zcJ`n;r)T$ z8)&>ciO+m*<1^k)v_nezoBJ@`pyy*B!2KHcSKOCT-+i3i^nddreNUO^H4;Bvu zFaHvFxPEDZeb*cFdGC52^d9`!lvldvRwto*ULOAblYI3&{}R`Z=UD2?_nb<(xRiez z_2qo?5#@^qzcu~Vd58ABzoiiUa1wTkfq%j{_!0O{_}+UdoQeI9X&2=@=kwgy^J~u| zJqP^|eZTMVdmqQA^!W9;cO24=`krq(zx4dHH1?-ZFP>YDpnVrY_k4ULbkFHM*Ytc| zee>9yuQ`7^jK56O|0eK5z~uoy6}b7M>A~-y{}A{Xco(SOaQ>=)+ueDt^HBSN-|e-; zUq_(lr9By64guZY`IqtkZ=mmQ-`n@0Uwwhx4gAO#*UnA&*MZWtue|>M!vpy-j33_u z*YbR7uQ&3|Xn)7qrr?gBj&qK0j;G3X#_n;TcGT}oduiuIeC;cDi0A1Y?51M;$pc=T ze%czilDJm@6Y>0dJ~;|K&pTHmHypZh!@yrgKeQwN73$CPPW7FSrG)SNO1|>OUx)aO z+y1?X{?m?l>QVl0s2B5h#FbM|zIi?JmA}lmV*YXi?3-ubj(*bzIpuo?^g`65=bLpY zxB2_ZYgc>H7h+HU`U&%^L%#3hhxi{&JvG4pF6!0uzz^YVJrS z8KCw(KlHpZwCnz>e9tY#wWD6h*S>P!(_Z~3|3dm}Y~VY@_b%{H`ptXbbCAmiY>GX9 zrz8pWI2LH0y!$Kezg)rYU%=3h`?vYv=LNc7Z+uswcL8eOeI5O5fIpIcV|nzy3c7s# z-9=Bic06AN8J{Lo{&&G^13#j^8Uo7#?H9I({lk7?KT$5^dw#tad-AoH0{`X_nLjju z_Bb2y{Lk-BC-r=GDE-6pSS8>oN%=|2JWJPW^m z&lK`KM_$4FstNUAJn}tXwj9bC*GTGP8qhe^Q{M7x=Og;bVd9OX{ZE2Behnn9BhZzX zE`E{vSMD|J>qooF3#Gr0f8+Ry@^l5(fPWf46S4mQ+OvHuAC5a-)|r|tQ58sxlxz8`jC;kQ3{0$?)Aw+v|B-75U7 z2410FZ(!#V_1c{0Eg|otx!@bHUlu*}i=!{!yl(ma&es*}=-+v{_p6wfV&0a&KVkmX zVEjrq|Ia+wFz+fU{ntDf`Qq}m@9$Db_rAv@*a?5vLV60zUmXNd1T@5k5@$R z7IFib_Yb1IrLPO0<8p5H7(-g6!Kw}~$w z{tu(?eF90e3*Ym%$=DlDywkwEhWy1lxGY2RlwgtZ!qzC{^-49o}VoV?1blEKVaAMFUvO->9pth z=(q5{3*>zce4Z-cClk>8D)S4<(~r!jHIHf;?a~4M63TDhfq4q@dm}IOxtFiKGPKVC z#%K9`(f7FypZ`VpPfIzppP%?LLwEeK+{!r~ISyG5=2ciekCz^d>EQ$OEOzOL{`QO?mo_sPeA=f+PFU|!;E23{7qanK!yz5#y# zzdE>b>Ag9idzWF<@lfwNUpRbG9vm8Eer>MWv zz#YhWJ}uvK>(SK1aO!6S^9Iks)zjV$_@3jg#lGj8y|CjxX@79@g}m3Q8SPmQek*XH z_W@}48vI50GoRP|U*FT#!*b*<0j)3dip%r7sHZ*a-Fgo7rHAL!`gMG>KREt4&eV?{ z5%uSH3g(G9zK)~aHUiCaGJnbUu6b4FvF@RM%wK(%dJXy7nMwJzuYPD>y7^oK7$@{| z*Y?2w8}#c>9j}0u0$3Hi8c_K#e?Yk^*sT)iWyimAsTmi{KX?Yd3~2k?-kvX-pI#38 z6@V3i_7~@W%1Q5q{qD4z`l)!nlsErezUQ3gt7oU(luwDi`})RjzqS8c9@l4&sISJ< z&joPHsl5J;=N|D#Cyp4v`_Mi2X$3tz|4~l8<C&|m6FK9{P5JWzeg4%~ zUj0+V_W|+ydt!e>&jGZb`&`)%9oN0zw-@ak=6B_UZvNL4>U9V9%?~r*tP*_fIR92& zedpi8pRl(J_;X<2d^7pVhx-5NQNQwCKNyGlukyV2rd_=seFwPTw^(mJ{|9+)I8udUe;i}zL@c$4tia|Z{lYbxZ}_f+Gzv)LD)Y}JtpLNNCY%L z{3rP4iAxXl-=y4c;HM2RJM^ppzcT!K(CY(t6JK`XQ!X3)&w%okmoF|~y9cR{*RlU5 zFe@-Oc8&Ws_0X0$&A%}pzYFoLr~MpXFCsq}{w44`*sB2D{2IsOdh~PoUj+I$@bf$E zp`7EdziSbGe{c@}2N*X!Kd6p<_jUHe{~hRl-EZK&XC_i#e-cL|ah=CcP3+bJhJM7| z=W(B?0CvX$wd49uJ?)12PibHGe;k*+52hUB_wU5J68ZJSEnhq>a_W1pr1qy$FAuQe z@29&DgK^l`&Q`{M^L>7U{~Gpp0L|}le@TDFZMjBK|N8M>*0a<@EbKp{ zzRv@vLQhWn{sA8HrB8={2D`Jt=K!Yx(-Z#%>|O^Bfd32iIhywP2Dl5l=dwG&Lw)5& z2KuhIE5E?L@=a-%EY!m-U^D0wusad>6Yxi1LB-(}};zfZlS=!=K?N#J(?9>A{U(eHHPi9?)Iz`g&!J-BiuvD296X&ZXR_b#|`zmL3f z`U&rc@Z7H?c3-A`>tWCHLFcjFAEA6d`tMfaJ;3{0Kj#?lBC#v|59s>82=4q@f35?Z zKgUAO{rImK~3=(mDzp4K&R z^QN^Q#-Uyf;;s!`fqnP8+&{bo-S7WuA%6vb?z`2eUd#(yWBULj(Q`gChWhOQy(_Q< z^rW=o=itMM!@NPuYhGqN`o}-Sq24g`LVfLPPyQnio|6hHc( z2R#M$Ho;F0F26l=`O5qILdwhcJgXt~a|=Irfd2sf{i03y+Y9vkX+Cm4Qt#S#o$2|L z=S`kJZNbiM^j){sq5khfznwB7>hB&fFZ>4qy*lsTkY5`=b%65gP+#}4laTmB{w?^S zeslEw?q~!0=C>`upM2>#(339=`R2DRpuBzun>Zdin|Z35Z|0r?k(o zAif&-b^qM`cF!l=H$RL$^S#X9QeOTkzH;(ULU(=Yexd71*QXcgC!WW<{u)QU=YsD#O}^_(`O?iFknj5RP`ZeyKkc|) z6}m2*O8@j6a2EAtIb2`6PF3Iaqx#yD?|M`@<8XZ|-Ezo3NZiKnI^1=+<#T<#ih8qN zFQc!YvG7k*uZw`L!#B}yuG2rl`-3*ZFNa;%m#!aOU%K9WO8;AjAJ>!n&@TtSJg_YG zmwcxBA6o%kzIyVNH?QtSVCOUZ?1XL{>M5@u?Z`K8 z&+qup(LV0qcrSp^=TpAVtEF_wPdkrx-aV4?YiB!pooTle-HR5{M<#~?+^X~UyA%B#)-+m^vut^f3Gw0-e=bZd^Gak0lnW&zVonC@XfnF z2Hu?bV+8d-hPdR5TfeqXbK18JcHGzd9C`-)tfW3NU^ff&`1qCX_~`iA1G@?a5c(-&Z+KJDvbOqkQI9=7WBlIL+f&h=1kP*PiyLW6$&2 zC*bluzg6!ke4+NMP=4k7{ew1?vk`pd?Z30A=S=Wtf_pCOJ;~}GpREe|Az!^i)+_C? zp7vV*$`tMb6_lw68uYB_$&A%Ln{3_%of~N!5j(L^UpqB~cq-O~DWdpgC@DoCx3am~1 ziNNCn69dg-kYA1VO$xs~cC{xzS-@AmD*C;F+SjjqarxTw_Yrc@&fWvk4m>sROQ3YW zuirwudJlm2kZgypzWeiSv7>%w#)*UU*Rz!0eR}UV@jih))I&A;Rdt~L^zZ#A`gQ-m zJ^K1TNxj9S-7Nop;_>$@!|yA+S937$dGT%7Ul`Cseep;!;2rs zPG_KT8IN@3GZJSD;3HsjA@$q>m;w4g@XX+afG<h@&A;`WgJo7nffNd11&m{w2s+jwaY$2R+>1eMr+A1i$k2KaIF@!jH>y>-aN~asCR10ok@H;F@89zvR{;24py&JM zMe&O*frJ2nPN7jFh#xq9e1-7DgxdCy%pd-N6VoPr+;k%zezvU z-W=j90h~fRF9W)cjE4P?Ka}U!{WjM>%BiQl#n@d6^nB6p-JDm3=ZpH$zV^(|{elI5zqhTQ{O40J;yghe-53G z7@zYM&$+r2?;n)Q^Z4}GGoR}^eDk%k!8iYF9=LKo&l8|eBmQIflP@lR5dCKrv;~UrztVrG4d%Q#%Fe7sfl8_>|MXd28C)MqEPcL%#LaHTCnjCjnPbt}FPJ zz7@Xb#FIifaQWlG)$`nK0P!p5y(@8$_dDAz)T8GcZK+?+H$3m~_dCSpE5CbEy`TQX1W z4g3+kSilp^`~IaqzNUT#qwnuT$X9PDeDAqXeh75qIfMPm_*bq0_-Dk?62IR98$wr3 zKl07H_xoYL5BB?EzbF2VcpRU7FF5XdJ{XVkd+s=#_Wpo4N&)462<|zb{a?Q4jJ5Ia zd7|>3H}=HO7|I>aUp*hoNxOP3mXC2=C|!N!J)aBtp3n8dzw*j?9(RxDFFfBfUi*JH z>Tf*d@Oj9I{r7;Ykjn#ZJBIBWhx(mOKM~IWJvPwahYIuSPV+uFhMz~kv(%&K1wCjV z`?b%9_qiCC{o4L#JYjr(|4|S>eizb+c;(x_BdCwM@SCI80Nm#=y)=Uf>1%^E~g`n}mJ+9H%}n0vAya zi;2(iAwPV_5$7fQc|QFvr7QORJ|!=D@_!_reE9MECh4C4E3bX?c+AuBy(~Zc{wFc@ zu7C3r*5F_J#wp+UFHwH&D<}Ub{Ea~Kduvm!8bIge=6i+nbM;pc*JYsk(#=Rg3Z6e7@PlcL#n~_~Q4WE1v+qc0zsm>dUW< zo=|>V%Ktz3-Y@5Uc%E1P!*d_uS3r7UpvuX{r-KVK4mYhWMXc;FP^NT7KR=4T8bzS;QG zzPR?ZFJD~#MdEx+e5;Hf`>znM_Y(g=Jv1OLzqb%xM_#_)h4>wY`C)#aF#d_s_ioKQk~RP^uV;h(>!0|@?WMtZW6}> z;1&Gd26vrN47%fcA@Ha4qs%;qo)ddM{Cl*BsJ~OhQ5e04(04(1y(K>b@%#P0^djhQ zK>r4QZvsD}KEwO-rTcwJY2E;c%&zzX}t)KeTr}grTdMg(B zyndzvXVE|VgD)Vy^2A#SSOzFx`c(SmCxKk3UlzXkH{N4m{>={JuYg=h>b)QFeGZiG zd6xXG=r<<*Ccp~RXH)R@wEslld-(elIqBkmz*p{d^a?;P4BWtTX5OKG{=x5Cz_#ei zm;MI)hCCeJ#qQwDTH>k?>SMZuby&)iF+2XBmKkg zXkt?Sv(#HR%BTE8_W!;^PyQqN!!!7yzIOGKEzs`(-h_5`K9K~wSBN(~e8(5_Trxm! zKs${GpA0llvnl0r9^iZ5`9x;?EF~V#Un)R%oP3w|lz)^s(<0~i>-eo*$6v?k^vJ6x zbi6kX?PSDnAL2U%EDL=Z<48KnJq`Qj@tBV!-~1ixbuRj+fjgfbrCp``F!jP}MH<9}Z_zb%Zfzp-NzxL7-r+Eaq zcs@E|&-vM9>fL#p^DXxwa#0TVP2D&7A9lj?o#^;!K|ALqUe7=7i1S|YdGI;$yZZKw zgPnlRUkibo2d19SR~_tTiV+d@=RG#z{Wa~WAN6ft`&TOXGicW`l*@B^^8-Au>kR)p z>eD<0={?|UZ!`T?yCL6u0F+lwJ%1<1d;#V3?|a(!x8-a|{W$Kq-tjw9zh}Jiy!s+; z1HGt?S$j7@=Ni*0_Zrc{9)+giHYlMK-ZuC zwSRzqcAS2&p8oE-cr$$G1=V;?ZX&O~>udFsAm{pD+;z6{m5^%#+@0}x;NB19{T#kW zTHv=ia6j=i1HVN4x4@P6y)%~jnStCn{7r^#e(`zehv`SN;V96g}^SdxiK5QT~;{BESN`62Owc;y~}0PfmHv14)SAwa68tJi~cDOMqt#7Ssly!X6H?*Lyt?}t^+`(c;R9?EG?eeW&yJ1zHj%@6TAF880Ef2i;G zW65d1Z>f*(fsT*z#m(b*551L)&+;ATm754Z%)=N-J^J2!$9krIa)V2M5ByJ_1Npvh z%_B%my(I+t9#(D@bp87N_B_<{efdv$e*L{3f4?Ut&s`_#s|(Qm-_GFQpzn83%E=Gu z>ia!ZG5q|=JY48M&RyG|4aR8-~H4<*%$cU)F8sK|*J{v-p zUpSDHpA&jVp!!u)KewygVC>3QUcU5w$Qe&v`a{UqUUvKx0xG9}>BbrImFtGScJ*ui zyXU>0Pj9EbJRdgCL%!$5pRhig#q(qyhxX+A`zXrE?~R^$8(&jD+A+Sq$QhS;{k|W3 zU-*6~On(u+555WL`=kT?yDKm!{$HY9nj-%b{csANxpei z(#Hq-e}KzZUj3u+wXZ+VUzJ-=`Ml4;{1)}~a{+tKkJ2$-IzO^sgn3`qkABos-hQDS z&w-}W&tJoDGx|#-+OIXR5cD0$M-tZ<;8&C{KKKFOpU~f>{roO;BX(B9Pe8jY(GJhY zWBe9I{|oTg@Z$hKK>sCh=Yj2zj|JcPqTipshh4uv^?THBsE@yZ*MNTCHVS+!a2(J) zlO>dIBJ?5nQEoT=TK*gGZ$me)BLnr}_i-7)y?-h?cqA~)8_~Z0l}kvwCI)(bJ&Sts z{94@eYvt5$f?w$)sPAOh4fVA<2D#(ZkM{3@`(03Gp8eC3^ghV$5Wsn2xyb^Ley_I+VKxc3kjr=RqX77_KQ zzUL-I;afiW(zUO@Fh8zfp#Kta#skKoeRhFQW_)tL>>T}mCFN>Ozf!Ie`trklxBBo) z1Ld#A-l)L7_eyv_yK-VvH=!bqE z>-VzSao_JO_3J)oJoI|ww*dV2fa9r$E5zry^j zj?s?>QohQ-*tGK`;AG%n*#QVqh@Nn8szVBb(&&nl7 zF9q;b^s)e7qx{mdLZ3~%>M1W@`AyWn@^jF0Usbw#R|EgfBaGMhoi_+ApYsRj6O$;H z^_dd?E1~ZMehvL5{q;KZ6wtFmm#=&W_+5ZKi2rL~d+7g-Q_#CXPYg^F=xa}YQuv*L z+I9Tw$T;b^?Ko;)thnR*CG4ozn*OWY0PKb1ujA@_@Q-6>5&FJ&d>{GVQP1()@m#(0 z)bAjk8}0aAO(N?PzUNHFXFX`w_*}6 z=(|49kMjCEMm;*;H!kH8@cft`QH6S_96;%B<9{pVtq{nC{0QvF0=`AuAERd;hxrdbp@RcvbI69H`_z_qf`iDU2?kl)Hl3xKi`N|8W zyMFo!KNEnye}4i08K_7QF*N=`GNce&GfDkZyjdd9B7J9{P_-yZXGfB|i6SJeNK2yt_o0H{*G%^s_JE zU*-7@?d#X)U%t=3dfvO|`e;?g=Z?JhE+)@+4C<>Ruq9Bv<>`GsO zzIxi*g4~b5UBFTFkF><0->;}&^<6(|-*utu)h*buer%UV#A7{%{Dib?be~(G`pPe* zUyWv590RODKNk+fpZr7UEv0;U0{%1T!<7S$!hR(38=zkTYJUOxLhY&d1b!HY`r7M5 zdnoVz^&sf-qY;mM8@xLFe9XW69n!wkPig4F zklzQn-oSpqWkBtCE-o%#zaiiAZRPaqJ*nC$iJ!3imfQO!ds2?o!1t)DZU@7h8+ z_XYo=p5?oL=(%>tci-?`{9Z+0dG{B!qh0l+yI;8heeWNrPd^xgeZT8B51=9R1HiWQ zFYg`r6#ZJjVaPQCR)Ssws6X|b=Q{6oUgW&Xd6o0*e)xaDd`o@#4QW^H$QPHd{j!X6 z4bW?1|HF^^%Bx=vz3KD=?-B6a$n~J>L)VM059Pc56L;OFoabMjcZK$)pQOG+e&}C6 z#@&;4aUTDe^3QoB^K0kZJ&@}Kbi5Dkx?bppeeIr084>m8y$JFzLf_8#RG#tY zRp3w1Px=& zKPV@E8Rc3DoJXAN!Ie`_`$MpAJw>BGTYr9!Zv9CwOa01M-}#62s=V_C&l9BUFQjYV zbBOG;$J@X=l&=D~eCY{@PrmnbDi`u6GfoVk{H4&(f&B?QzuSQK@jnl|7teW0Z%q8vf#;!z{Bii32s9q!PEEYpcRn!*dF^?R(*nj@_v0^6&yS$L zLpc&)H@D@Y9hH;*5WQT;B}6X~P&@Lao8PIwqu4nHjE=nsp!fP`!)^}aqnwGshtjT9 zDAz9N`W4r|dfr>RgmNZ9FFw%vvi`#SrYHDIN&G#)J7MoS?}@v>(v)jD@}46XCw|9g z&zrrUY#H*;=r50fn|u#Ni-`JD-}j35ds&Xo$a|i22K)+e3H|Z{c&W(ec7G-AkAWXR z5Bpae^z=80dT_nu`pI)>_Xpe;kncLlb)D-u*J0XAOue{HbN@j*=BL?i(<~qD6y|ld zpdFkqb)g@)FS;DQa@U!^h(Cqj06qEMGb&&Ct;}m$p;wN$wn3Lajs7lQdF7;MrF`k61O5;7Zojw#?m4S+o|6tmPrCAP>3^Q1-oQ_3oiK7d!BXAe>t?jetrP%`}lFd_kHgB zSNrNKFJF1z6TV-4e>h(KLAmT-bLlsKLBB`5W1#;@`R+sacle@He=&gO9o|9i2J{Nl z?@{cyu0MyrCh*-)a2_1ak2hg&33}!$I)9!>yeC;7^#gbR<1%#X$NF&Gw!Ze+4m_8a zC{Hu+@cXJ;&`$vU{%bvYm5JN)e7_?*hJ04y?1_9<`qwn-D--yuaOF@Seqn#3^4~epQ~kP|x+h z`w`wNqrUgcG{V03ihHk&_8VAF_)%ZJcHC!h-$uVpDR(XGGzb3|xB{qtG}==;>bt(~ zO#8dOcD;Rs`tJx|IrWynm+pJ18FBgjy>il(*N(V;_4gHiy8``PuUF_-+E@P={c;C! z9R-H_8_MZNef@XBUuF9LbnM!XeGV?ue)Fi`PbqgS{5rooiQI1Nw4{CHi_3R@S1x)) z)L(O;a$CUVe}O&ql{1bozRJXDx$Dx>y3Oq^cT=>OMspSs&@|m z^WiT7-iNOL?m-;-*RJO#!>DKZuP{%@0`&WWmDo!SUAfiJLw*M2q^Aq)O3#3Q{X`*>j`hHaJZEEh&c*?K|9=j@Fy-`|*7I5C7cG(V`TY#sbKh*>&M!O%o=ttv11_X~ z<^vDW{>n*z7x`(xIl#F<<^8@}IqB|e%nI}u;8!_+e@>oUI2Q?m#%zqQCpi?II^y@JRHv-p37!O_`kas`I^W2axUAqk_f4B~dL%Y2U^!tIYz*7Rv zE0!PT7i-u3N!NF-_vE|Ylkfi1W$NAaoqXkuzY*ndU&{U1FNyOucFc2}0zI7Hy3gf2 zwcb@c!Cz}JW~4|s9ndL8-&%Ac3#U@R~{@E+}8{e$X!@v6eUYGhqiC4aMeE(=qKkB(JAL`4ueSCk#p?;?jUta1jAJF^#z0W@n zaY^q)|BzoAJL2+{-^Ke${73xjSN^R)&Ug;8zk3w;82v-w<(VH;r=Q8M0{tX%&ZE*$ z9_Ld9wX;=S7p==Y)nu`7KLc*yrXXn*nf_IVHUuL=?0uf(&MIKB76Jga5U$MSqX#=rM# z#HU=^_Z|=JYiB3=`|&4VdGD33h`nX>^Re_dVaQ*KTq*SAFNR(Ly7tQi_LaAueC`~7 zr}NwtA%53Uu8&+lc~0~T_2c>f1p4hn>ai{5A3^>5oq18>Dh~VuSOPc+{iA_?Qt)EP zO+e0l8ueOHk42DsA2=L(37~q-usa2N#?=)1DWLWrq3`+mFYwJzt3?jb*!&RlseB&Ym$06#U%#LAd)Wf`zfQlE?{~G{ zkEGl(DrMV>WBGD`ga|>6+c_BTOH{BZ7AouwhQBETHcTE zW5@NZboI5XochX3FNPiUrK{f+zm9*7caDFK)6(5HcYL2r`5d1eUmZu)^ZWGEJV$Nl zC#`{Zp)0R{?f9N>{GX0r$8Y_Ia+d25<=l&(FY&t@d@uYaj8mR(_`A;G{Vm4r@58)J zJ=exwCi?eG=-M}r!E+PyEA+Dm{Ws{RwZPrKbRV`(FrKEx&l|``P`*Cc@t(^x$c6kK z$T^P5ct%7y&X$g6*i`cq%|WcV#jyM6`qoFy%G!t)>Zk&04(;@VMO{S4TV?>UU;71H%9 z-}5KWo0Rk1!}!JJYxhvZ^S>*=__Tj5+Ghwb0rVt5<)lA?-i`XnMmwsny!wfdzt8$8 zA$T41yf<6^FyhFIedYaq19APIr9GwVPksGpH{`2l{PK-|B=H=Mc>Wib&w6>4{^Po- z2l2a}T0{Q``RaLpkLNj)(RZB|-ruX8fz+q`(2w{1eny^H4&+POe&F3Hr}IGb%N#GV zA(uVScRyIZ_&>C7XP|j7-RS??`5(CXFRife``tVk^Or-udfOQv)O(HcU4b6H_vL?0 zxwTu4c(t>Sc(gBHedWHRA8PMg^z<8#a&ASgHGa2%XM(>R-2LT9@VM|7V|NMgW$Tar zcLTT;zVj6CjZA?2WBhlTCBK+AV4Do{Nn?@8$M<)O)+Xp*{=!A7SSm{$u(6|2N9W-l51ylFW>Ztg>e^ zl8{j-A(fTA_ew@)Hj%B2LXw%4gp??iQZ%R(zvK9LJo@AO9*&=Xp3Z$<U(}HzZLz&b6NHL`|Rd3oc^~Pebp(lcG@`%1O&rIW!o+Wgybowzk0F=;Gxo~AMnCTJIR9^eT>nk= z58jPG_y4z$zxU^7p*II~e@cD#kKMo8guQwX(!cKwakAhq4|4teik{~!`k#ruam?!j z=9z!-JS9di5jdE3knj1t`WvusLi z`umjjoq-?i8&iMUrww@+|1AB&ex`r>YbpH4dl;U_mJD+F(}`aMc{gZ(pJpF%p8-44 zKG(qxpub~qo^?vRA3vOOd;dK-{;m`6N$97+wqR>8fp+q~{A<*c{w@)>1^OM3KLeeU zJpEnl!t{rG;47C_?s)kn<9`yyN&n7zD(FPW?*wgk+vgK&&!_{{1>7f?Sh zDUWjPJ%5!}&%E?6Uwi$|qkrp1x%%rU{~+)fdDLP45cl`pe|P_U8ucixya4TZlIQvx z^pt-Ntz5q62g*Mq|G59}xq$0a*M+Od{~G?2VedN9-_dYAt6V>i(mt+R{e8R6w7ciH zDe&w1+Vfn`XAj^<|He~(2>Dk$r(c8ZskbY{^L*C%y7TxruXo!0ME1KJ8G0cJ}gNr{Dd)5A5MMjd?@YAU-&*X|)Bc4-3IF>S{j2A^T$Jzp+&Nw`vU74_r(cig{@`{Q@he(qnpU+(_cR{HTc+HWUx z9_%VoKIML2p*#oerd)mfyMNyXJ@YfKdx+z{ocm_hpY>(`alP#KN3MU0k*Dhx<P`~cydQVMSx$}ao`0>53 zo^tK|Zd18-pJ9IztVewJdHnrA`R?zy-=kbwx%+zk@T))N?(eB5t-K`l;G%VPjCg##aU?a zN|4_{e80ogZZ&z@K6jDd0Q%AApxU!|SXGQa3Wemy|_NE?3|ey(6Y1^QNU^H6Rc?P-@^ zD92CuX-9m|5&A;E#Pe|;z0HXe{`XJ0{csO_QF(v-q)u|vt`D^R)p5>oG1}{2Kcn#T zD*5>LORqrtU7qJ1%8jR7TDj%+oS{GdUZ?zRsV~1j+sk<8@1XcSn&%7piFVq1-r%`~ z=Mnc&Kc$K9@4MJOX=uMP;6v!y?`>cC`gsn0_X(ZvI{$S(ynyn$FFbJkM!9 zfsXh4E0D(&>=r@$JHLL{{RR2Gjb1lNGA_B?^z2yhbd?YEQY*L$eP+{o4Ud|!W$CQ10;KYwTH zO5&Te?a>YU?%;>`T|+ta6aAZK{QHJwsn?$5Kbn5F1pmKK{^jt`LvKKCzi{2=Jsj@^ zdH-e+?O}Vhq8)9wqqL*@;_jdO99gcJJZD{r?{~e6DgRpX^LO(8q5fB+AN}k1LFE43 z2Y-)m2!8EH`aN;8SrXP#Z~k4l=P1`u>eb&xZVtZ|{jN5+7XRvdj^sGu`O-GZWxE$3 z-)+?EcKX3u_#44y*g0NwA+K4;U0-xbbhAMI{lTl0%X>d_(VvIEHQ+M%{(ayTXIiD_D^YbeH>`&#OEtmD-c@WVlrv1tOQ;g?*IQ21`_&-u#v3`9&S+|UQ-1qlF^xP--jd+hRemn^dL(lQaeJ=a2FE=oM+EUa&x?Np5?qNSKvEO*Uobi z=O4~v1~YE?JFmV^Dv@7{L^tEb^2T{wXUh2sc5guUqraS_{Eo8=&~tp4f}VDD7%!g3 z&jirljqQuSk?`aA>$vOu<1XIwvHaGHen#WZ_uDAwWc0II>Io`$b z+vn_K>R}G;wFkNi<+=gw{G=j$%VYcYpuF~*7bst6_;I{2f9K)O=Pa-D0Ov{051f~^ zB;Vh7A3aPxE+($epYK!OuRg!dQ>LO{f_8I!^gVTo^18loow9{?_?P<0Lq5(A9bbH| zeBN9i{fzw;umy4Uf%dP{^egM%`J%t?*qU*?4gJIU;ZpLM3sxu20Ltt0<#Xly=0p5= zzE~GK-!}uX&kvRXT|btD&Psj8acCHP-!IN{eXrc0zu$qMVLTUQ$jiTr>iWs`Nu1x? zuD%Cj`<|d&9)4|C*Hx|;oxixga(?eT*ZIBk=_NcD*1O}$ z9O4zE9i-Kti9C+GKEIC7W6AeT^k;#0;y22Zl8<_~dM@mL_D}nz&x`W*#CKleI%)}g z#|eKYT07U7&WqiDu>G7jJN`KCXs_Qv^b_mbc5uBB<+hJ{;&X{_4uJY;1)UC5?;8C` zedWeePr3T?^&92(BjxHlu1V|9xXNRE<boc_Iss-AYnOCUex=BvH5a{c*tGz-%2U56~Z?PhyBpSngrav#C@mh%sPV{%YwAapYRk`}gr7Kci?bX*_x%$fE`_K2D^G4%*?D$Bz zcJmyIQQn;AegSsAkL(}5x9lJO-BSC9{l$H&I@E6|`j6-AXYjv*ysjX3-=#Es_r+SG zzmk451iADG_(S2JLf`%LHPrK$@av-IeB8Y2!H?xruDaLDwMM7D)NxOJ#~I_ue~vg&?)pJJ*HO~ZPI+8^>DT8Y zfp|VANuhlX7gNs0^q*DGKG(aU-B0#8bpGf5&C5I=V_E0@O8;8KbLBkV^C0CdXrH^- zhf*)n1Mzc$e3ZAuUb*&SlqU&()YD$M-+%a?^!@C6+x=6^V>vCCel4Ht7WJIxxliT3 zu;(vNQ?47di|ts6dTNebf3Ac5-buOf)l)8QzUpab`IM`#TslAbSU&U6UzBSX^UzLx z<@(W1x%$&(O z=x3=%{Y3xH3)~-YpL!+s?r&P3ju)QaJ%gUVkE>l?`ltK5$_MiNsHa?7J?-=0$NK?I znExJ0a&tU7h}?bI8LY?jr@h~8M7eg#jUV%zM}KkL^ZoAlXTH{>@vT4S1&hd6fBJF% z^cv5D^C#y)QSN$EJ=@#%_ng`GcfIjv@NYcN&HQ^i?r*xUbw6J z`{x+?jd|Y*t)Be5;5)84&N;p5%p=O(@6nI?+AG(;dZPPA%FSQ9 zDA(>?>c@Qxp9|;r=Aj?$tl#&sU&!;9oPM($Y)X4cD_7rjf$N00zZ{=u*AIJd4pRxM ziLYLi7bAX4^xAoIPC(3Vzf6x0p zcZqWCJa_Y4KAyiR&qAKc)t?66`j}1qc>ZetS&E+h$NuE}#`%o%8~uy&Tj77*JvSRT z<`d=j6W96VThPB?|10&inf4xz|Jmp{UOK+J&+Yi*{M~uG>wf3&uFrj6_#Rk>fA23G z;{3BaeD5zfE-P1Gx%KLKYdpXA{LJ$*-!IoG_gdoFZ|u*G$E9x}*X}%dOFM2qOFb&r zk8<^&3VCR!o^tciPPu;No4;~t?d7ZQ{k!Ru({rJ}$?G8V+gsgJiSo(#DNFydzJ1RR zfZq>{?@!;G&RcV`PVoKfx1-||@=%XcsRJC2X)xj*1| znG^kdpnhkNr*id`>p#l1i*o(z=Y8V2PIY~{BjlmJ`CC5up2v7Tqh25KSFXPH_8;HV z_Rr$jnUCx1cj*VNv(3}|mAfw2UcT$_Xs_Hj+Iz3ceJ6jn+51(#pN^52{eK_%`@6C6 z{;Pg7qvt+JR%q|>$nOllOOSi7K|S|Z^c&^+)t_?pmFv%ahqlCZKhyooqVOxzUp(J? z2)^qq&!v4&dcHjzz2%_u8-J&zAbjsdTx6d60DSLnIv><&v|Jl$`So4 zS6{jQqg?+{u7CYBA-`teOwfI3@2UFy_sPbFN;L%eOt08_)40%C(F4&$BXLoKHQ8 zmOnq`$_GA$o^th-M_T(k=|9?MCa!j#+q_BtDoFo#o@hJkUw`_)fq(rdS6{jDqFg)s zm3hSY-6(%tU%Boog8Tu>;rCIFJEHRj^?a{84k=e(c_I8qxpq;mfBiUqtj3SyhvUfv z_=~_Elw$<6^Xb?=&by=BcC#L>SM8PiyvO>Fa_^Z%f37Q(M?dN-cN~!)?Un0Cy;O`x zw^1M7e_aUeeL455<9=@(PbcDU9rm6-d)~YPzULP5?a%h_cJyezTl>eV+BZJ>=zc8s*xF)|YXu&)C0W z{8&EY8}E1eiT%Mi`Dxej$QOV+$Y1@r(Dr-z@i~eb5KM{kM>R0$)G+*PnLgV>=wg?ht4`vEN3&+Urj{<4PaF z?@{nDsJ(i|x1ac&C^x=#%B4RG`D-QvaPl2bw zFF@sAL7xG?4Dzp`&w~2ncqrlFo5fBzhn(qk!pDq*-@rc)ehbR~4*Cc1`yf~U!Y$o3YLAy@AmXy3oSSJ%LI{B=BY{8eui zdg{y9-vZ?JlglBVa`ly)*J$+bVZKqC{@n+@^;?Jbw|=efZ1B~SufB5ok#hC-B)#e2 z0{A;|FF{B7AIR0a!92D$?+NQ?5qfiwFNBt_-D3Dlz^mXDuqXB-K>7L+jqChrHTIRr zOIkhcluIkOJjOTfpZHb(OY)LduHOylJI;Lu?YQpyN7`{)edkS4&v}w|`u!XKe}TqV zel5h0_R966y?Xy(Z~PxZzxfxr{bUpJ?cjCfze8_ge7^?XFh6L|54}g%19@KX6n^Zl z_Dl0>#q*KC^OXpk0KXJ|?uLH~oCDwYj`EYp?*e;~r}N@{*fjwkLvH><;Cmiw9_Ez< zzvep|eaDU4kk5rbAB^LV_*c(3`jfA}demdg-*PFp9n@1^82hBe zO$HW$FGjikluK)06np)v7v;%`mjX-)-Vykzpi>9=RpMNs9nv5#%D7M-l%E#)WAL*x zKBa@79;^s|oA%Jke}ZrOeMbBY*!vti9y%^%407$Y%M|3U$MvIM{W(rpu4rGD{y&fW zJ_NhKUjxd|O#HXdn+Q$;?T7aJ3GkzT^_1(+IO^vje$3N;uiWuKJAY3^xxZtfo^pSm zPdoEaZu^!G?VAQV^0QDsuOt7A{`V_*mHMz>KFoZg0Q){Ykvq?Dd~<)qeUa?MxfgVO z@hSHCLLTOo2fqE(ay(4FQLbO#dwH=xMjY24uIr4eofze=6L;cA|MIm{z8gLH#ua0^ zkE8E%XgMvnv--GfGP;dWYFW>j3a_2iyPkDaUJ(ut!U6AtY zcP)BxowOeQ2J+bsI*vO3a{PH6`7SWZ55hkbw+lv zz3Mzcx$jZ^MnC#@-C;diuhzfyeQ&6D<=WXk()!WPacCm->-aPddKKj_Nqd(9??C6M;?v4+e@uy$&(~r-y&%e+8=h!Ka z@yn2(dHCF$ujM!1Kh_`hW&I_A9?kRVeav_9{{VTEM6YMCw>^|gKa9Ql>v-;uf@P8a zA)h!$;eQIg1pi6&CWGaWPYwJnw~$-Tn4fvK=Q*7MR=|IGFgyIlU`6eig71sQhBkQ!f8sLkJ0|k!D`4~g0_FUKV^UO`I$sJ zIe)glz5)Ng`oBg0X-}M`V0Gfp5Al7@d_H_$%ul)bnXm78=V99U-b_s#%U^@|)=NXi zw_5OPgEhhG$ffJTuLCkIPDmB>QbIF*PB4ys^s8K2x&B_j&qS~uaTh~-Uf_JUK61wg z&wu+SyJ;{B^!)cY^^=Nz)&Tpvq`^_(%5`>n^juf{Ks)>lHbdSN{D|>656_41-+$q+ zr2gLppTzDG^q=UJ#lAW6cKSmu|EVBvM_#f2*soe)e;jOqeOKt|)Zf$aTY|Pz2K;9N zTOrQ~T@w2yU~A+ppkDyH2KjjCYWOLE-7{b__@&XS4Yonv2-^5npp9=n+BLt0z2l(c zjpNUHo+Husvilnwkh?$PzE}qGQ(tr+M7e%^j(yHQ#jo>@BhdOW&Sm(PJJzq|7o*&E zQ7&!$*?#xZ58F|$XTkR11oDXW=(w)j`pt};)0(?T^o*Z@;Ta{fz}ZKk5N(oJpacyF-gnz8HBuP=ES= z4gN;*`3>wy{zsvUF%HZCJ0Y(OJr_Ow?0|N@_B{G8fG>ib!Oc9!Tfr{y@5Fy=+V5rf zBcNwMx5aKK*cE~C188d_j!}*nZ+V>`YFR%gq!S`<;_`av> zA(vJ@6n^Jh$n~dQwD&#b{KNN{dX30K|9y#LeD&n(FUqa2UDTK5{{;F6uqf+`zQipC z?fsyo^y}qdU;5iV^!i~p0PGKL5AuQVUEgT0-JoEv-@)*QfRUTv@p6Z#_1>uCSXw9_c!d>&Aa{J1zXADJ zgzxHiFWEw#IJs8 zkavG@67t5-7pRxy)c@%BO$h9j2e20ap<}4S1CLDUSVY`1zotfBjmY52H62ycheIpv!O`Pz#)c{AFnO zQ8%Ff9_`TsdJ*mDeIfU!-H(2Rew7ZtbHQ%#lLq^@kk137Tz(epMB^(ruLjZk<)f3wH z^u5&6V)8r3bK!Hk1pYE`Dflb-$zKj%eeKnM`xbJa+ZDHv>u)7;^|L@5H`?3(tfyE% z=C6PK6rucLM`-no%j@#L{jJ*MQxo(#jO}MWu9KbDy5H}4U>qO1#rdED35l=jrOjK;`y`t(OW6M=gtL*uU&ECd;h@m z8TF4aE~zJ9{oIT{vq0Z}KKIq(`y48713${&BR};v(hoPm-vVw1frJ+5{rCJsCr2SA zxE1t0r#wZFt1th3(lzR zJ?>^)_5J1klKVQYC&tl_a^n9%))|TEAL+rJ$jd;x|KmMnpD&*`@0kuE5BaN!r(HZB z_uPCO?fepP?H>uyKL7f4TyWelu6oAxyQu>BF9?2wU-xya2k-UYh5S^|>jtfTSLig< z(}Q4hFbn9pNOkrHc46oFi2J5Jk$;SQDzy9RyW#Hv%TeFSz)qlY^~abG3T75Zr%a47gDxQKpp7CeC8`x*a+fIGoYkPnA8PK<+PV4kuWl)n&rY1i4>JO1leedXHOPjb?3eeio4+WNU0zV$SW`uUZ- zt+xx%^Ts60uKr-c@^`w6=rLH+hdU%vWLF5ml)%B7W?-(BS2 zllt-b%LjiEeB0aS-+tlq>GS3D>GKio|HPku^lQI%-$*^j8TB2X)L)H1^_8n{eDjs> zde8AK#?i0OpLWJIZ=YYs&x^F%2jt~FZ{xUc<-P6g=p6wsgP(!#ur6>v?q~e(g&*a= zAy;n=^kwkZAh&! z(ck8Q(zhc|0xFlEG{~o6uYNM*>M380o^ti&A4P6{%2x#c=ApjzVEG+C+|Rg9J@%x1 zoxgO4cKos4wAZioFRh+-Uz1-_{3WOS-^2eFlvb|3^9tt;&QF{#IKS|{e>?rd_rLRQ z=f}#mb6(?o#CeKx?QX-b_QtCZ|0T-zDYWZI>(TFQ{jS#c{a2LVdP+h4B*))n#=m>f zy90SLXyt#Pr(AvcWrDqOG0Nvq4&~DNe+YlsK=q>BJfmDY+b09@JWsX$mD@hbT}LTb zU%C3uBke!-8}DPcpq|}NaDQQ@?aBD;c$$*>zY1TBa^Ek@DAx)w754gZeDBLRpE}6( z6a8za|1{X84fgsqZuDg@ zfbYIRX6jKp{rH^jK;QS(0%-N!2T;E)^C#C8?!%0PKc4Z?b5hT}{C$esnIGi>Gg3bp zz_@=rhWxM7-rj?DzMTm>=i!diKcgS*50GaT?6QKHLC>+)5qB5Z0IWklegnJ{yFZ{e zf+>if4Y}W?-=Kc{&cye3SM1EY19@i0-g3wvOFmI@~Jp7!_S_W|%O{O15KfVt@h zHNi(g@69iueD)vj&%3YRmvQcH{GA}5_pv(%dOqa2qw{vpfn8rXf46^FPRnI^Jx4HJ zPU4$SOU8ZABg>IjFZcz>>oG7t@{!P+&}#%g7ykVo>vh`kcJzNj&v{j9`0m3fcb`Q& z^`iVe{71QV9cZV~#4QVbjDDwmjIY0M$*(f~BRAz6g}=XfZttWX@*uw-x+Lx19n6co zEOY^|C20HDUf%bZM!X`db7nw$KIVQ~KK#4SkRQMK;ok?|3(ltgd>;KBkKf=I$KG?Q z`>`{>U#OoV)K5X=?t9-y{d52yK)w_D9sKVGv(P>#p`D+kg?4`6yyQOed>AZ*|Ec)# zesfdm>%kz`UVZJ$;LrB4U1Irvryr$8zZr4#w~>C}_c9%kZ-M_YdF}`Mfycog9G9ps z_w{~+-+=NANB=jl2AGX_*}=Y`&+%R4ZNARqtHHPZZEwqOee@Ct^J%xO_VD~E65}bF5syFCzE+<{v{b7J0OLK{{WbedT0l_zfv9AJj~1d|G@8b>gOBqA?nBVTQT?@(eFfD@9)^~ea{`Iz%G=WUxQ=OM5Z`P)yPC-2q7bsyLJ4wm2Y zTK**T7t0s#7hAr^@PCc+^dOGsI{Me2{@pjWd{ro?~ojr$<-`1^`I;d`IPdEvw4=Q!LSy_KNrl##(+eeEspGW5n#F8L?m zOP3{Xd9WPVk$Q9=Yyf`zZt8LTm}ksS|JJ*H&9fHvw)6jKU;0roFco<dEzICE~B39mObj{p#~R4m;0v%JbYlfd643j`puGuJ}7j?qhF+@A_DM z^Kd-CuWB<0_Cqe!Qc4>%H0{$TCbqu%~y;acquZh0TkMWwLHy*q1@b7-Z82WJ)+P5lL z8PxBBTllx$`_K-t{(HiAycj_IN$|}x`uBb6bLMmR73Y)j zrQ^b8@;C@4qhD^5#=mj&`yl@7BbRS{=XcKkas)l+AD&zMP5pX4@(}H&p7R#t7=IJ( zmmd4~$SV`{Pn73ZusZdVj(n1V`qRJhDj_$IBKTKNx%?WT{-;omv-H2&*dK*Ig!~VI zHL;%$-3GmvLHDnB2ENZpd_MgC-0#y162CO{@h0_j3am~1T3{LCcs^!1o`ml_AkGgQ z56a`W8JL#%ouJQ9&O4yfAa`8w_tTuud2gvY{qtSWbIUs9eH=flkber!q8*My^XFR= zT9Zdz?5jeLLf?I1^Eb~z==nRaNr~GMeh!d7gOgAX|DNYAqTGq8PwRgze1D(u4Ef%N z|8dZ{@Lv|xe>G_R-x>THPc&|Q@>4(d3+4aWQ9t!T@7w2q9!)*gB@}}@#2e(mgO_8UD_WPNv=ruz=7P;^LSCQYKeVh+GMLl?b z>>%`Z(EGW@+lt?mp!;5TF;8}V?0K8}wEoWCljQdX^*#zae<%GZ`dpo(pM4Ly-;#v-`IK^duI~EiJpA(b^PcoG z+5g-{L38Rd_Z;z^r#L?O zJ)h%~VGombK|<-dcG66?VO+dJ@>ed{08Xwlt5no&eIC=?}YtQXyww%<36l< zw~`MH{?-4HcJQ3xdE&dzu3oe^-!u4iKH$96`Sd2nG0$V2*Vo{AERX$T;0wfW2mLDT z`2~0ZJOz5MCCar^F75f0`m<>V^_>4WuQ|v#l!1EshPc1L*Is??y)WQ<#C~}vF7;>oezD&eNS=dOyPQ zdtbqN@qFn3{+xe%-c*Nvuo^5#UfZB8U&&BD%exc5G0rad>P7pnDCb`EJ^}N>PYinR z_Xu+DO?l5_H+^Qq5V3*kMgd_)q9TTd?x6;$=?ILjl7*lIDhawyaf4{ z2JKf(p<`a%h;JUQn_Vv_qkUXQYj6M8-u$CnzUvm{(#l;ITTkjmx%WH9(vGgHK7uYu zJzF00do|R*w0hdP&itKv?oR!bVEj=ot-KcUEsQH$!I!a5MEy6z?-yW3UB|qNf7dTxqW3T8_fjuVzOCf# zJ*o`Ymq&jUX#5_?GZNSG$KUs{K88@QYeCOJJ-01ReE0PhQGfS>-rFq2`S=6iYvk|m z=Ddx*^Z!2dFEPr?qc2tn_O2(qhpykAwjcWH4S`m!zWvYsX8)^6y(*VhewupeM>*W* z@jd1K&PV7KqCUpk{?Hqd8z=gAe<;eeQ||te_UgMHnMwIqf=fVu|K0jkJ{h@u+b7EX z9W?cqVpooG$zKNF^S!7iZ5-_$p?;O?$NVjK9A7Ly<_V;eP=WUVk4Hjx=-TAhoA&7i zZb6=$@vaa2%kU3^<&eLI-2Hm{zx~{PH_QHy{Zi2R^)%>V;9RgT{?|e0p&xYty>C(y z+IyI;SNx9PIQH(}{)E2!tN!j|FUpmSd|OaY?q|4<&;z|jid#9)2$NR$0zrLouhN8C}{0w{xbbrzPME4h6 ze~%^q$>4s<=Xu#7^7I_|U*xY)e*I?VfpUHC`IGayCdgZWHNb9Q4{#v$vkbZ@SQ#9I zygjtPo1njr@N0sffbQ>k-~KZELcI3|<97&H1-|=E>M5^<+k88^zc^W35e{n_&i`+dyMdN9v<#61AI|Kj&bzBinI>fd4b9prv}L5n&AETOxO(vyU-7wM!zrU zJ%B;b>v@hhf+Mg`L4a1|w+VlapNY`3{;V(S?<)4*qaKI!B{*Fp@{QCPT$LOagz>&mHNq<=g-~Gf<$WOyJZtOqC|A=wg`>y#c zKYZn%2ED^Uz6V-+^&3#nz6Udt-(2{e!T5eu|26XQ_ZWU7PFd#huR!NS?>+qcyKK+V zZacsN$nC$LNB+5<-0D@zw^sBve9wD5eTnaL>fbr=eyaO;-dm0B?)dcu`RC^O>qR`vZ@mmd zuLp4_lHWa`_sf>y$9uk>t4@JG6I_6w1<*TapES^}U%eNqz53caUif?zB_E#?*XeD@ z-}_B_q5VBd{ca(?v$#aRD1n)=H!jJRIbL6uE{um5A zm(Bw{6o2!;m7wbizu&zFf8PHu3w<8_??AtA_zikA{dOdH4{`fI527941ie@7y=%W8 z@gB4L&wfu*m~plw_4X$I@4u>mVp}n7?zxBlV9ejiMuG76Y>i1_kknhEBYy7&u=KIwB4a*VBXaB8*{Xo#? zXd-la@NsY_*o8NU;fZw0zY#8Xi#$4#u;G4vq33@(!gMR1lyl%vAZTeRso-g-Be7@eG zJliOz_d>mg@F)DfJlC$Hm*amHeC^fO-t%xV%F|+hfc))8vHwg)J_T$}-rJ!a*Yy+a zr&12{d<1**iuYT+zf_HS&Ow}sp!0s$1z*uV?)STYQxN@8$Ug!-Uw3@g&u8en597X! z_f8V=JjDAa-VgA(_WAXB&Vt`s;6s#a74&-A;Tzi3=gT(_fM)3BdMen+6Se~-K@pZ?ru zU&(vmE$rQguTDM1`qQ6&r1h`9_l`V|eHs4=w4eK8-&0@qk7USq!MDH6$Nn4mA5gAx z@E3sR;HLo9Q~n|RiJlLsbcHRf+NI&#DvdhQ^@Lb#ueFXdgTmu#+-+bu1 zzI46m-@PA%d?E4XK<6i~0^mdVZ3=ya`r8H;Bi=*IYuz`#4&QV4al|P~9QVcizQcR= z{@#N7e$$9Q9Q%hr@4>|TFWt$@@8Tw5?{{`Q$Ih-tRjwPpCnCwg){2z8m|v|KYxf=i@$)E6Lw=@@V`yUe_f4Soosyw~_Bg zo}KuQf5f_)92<_n@Do-0#AV-v^&T?s?Gy%6AM@ z{t0v%+ASUUEcvB{b{^wAD$bv*AM3;VvA?XLeZB`Xliz#L`{;+osgG&I_58j#wEGCF zvA;l`r?9I9T_5xw=qCJc2c3tc$F3LrxuE*PpdUhSFz7x~Yv|kP2P=vD4(L9Xe%zPn zi+nr&-B)^+`nXE@ra_yJ-)m}r5qr<4+!uEL*ZpSoqJ3`iFF`-(0j?rH@8!NhKTAn} zT#ft!{3YahAM_gJ-@&(EWuP6MzdJwgM_lLQYq1{&zdG0jT#tMmX#e(mgbMKO?@tnU zH2HbIw>Y%tJgcbppF#VX?Pfh%|JL7J+QD{GuD7oJ$ah`Q=0nPK>nqmJwNii zC?EMvN4|>qJ3z~^7J3Zj-vVC5-t!*kZ5!b`PjWu=JaKI2jpS$h`W?i(=pDyT3hK8R zeD`Nx!QOihwvYF({SNX`?EMbibE)s}pBGdvt-LMro}lNE|DC%~AI=l~{%#lgML_RO zw4?vMOa4Pa`D23oDdgFRGoA7jW!}{TdJp&=SPDCTZ{;1^RU|Ll*Ky-z>e>FY0{SS= zx$6Me4X!KR$M0@%6Y(ozcM5(p;y#GHDYWyuBepZ;b)M&Us}CV}KiPZVU&7Bo`G3c6 zGyI(8`A~l?eD8;sg&vJvK4|xcbjU;~b((?Q>ZOVLY7JyZeTqy9b5@;i#0$Q_@4!{148HFlf8Rp4XDy&saF zxZWG_e#Zj*Z>D{&LJy{#)V%j>c8yv6)~f$ut{2G8*p;(I^U@>w3s=e<~lwS-5p*RD2sR)^mZ ztOfsN==5Mla4YefK&J##fscb}K;K)g_k3^dqn;;%3&8E5-^I9Y{0qMC1=o?2;GY1? zkpDsGZq(ylpj-i*n5A~`@P=h-Awtl+eIADV?MyX63@T&Z@nL)-mHJ`Cmn|Gy&dbtxWqkrRd<2j7?KZd~fz3Mrq&zH|#OX_(O=(s)?+IEcX z>v-fosQb<7$onVi*YU}?jvtOs-jj6w>bZpLSLGRbkd=Es^Ahg?&pFBxUw?6a)s=Rv z2R?!QB=A-Ghv!Yk*Ps54_ZfNp2wnsK0zF^x+{E*hJ>xgU^GW!#nSEd~ZM=?hEvzes^HE z1bR09Tf%q${4jj)VZ{5{?mzi=d(-1@J#i~Sm%~p^{F{Fh`0gXPuTT-aukqvlg!>VX zAopJD>-cdW-~D^P*SdpourpW`zXPBvfQ!M7_`eUmyW!UWn;`eQZv7TO|HEJ(@8`z# zrRNm!{30>^z21VMYLDXeG~QN>(BesZK&6(#P>e6 z=jfiVcO?HEMOVY zoxg77ed+viJ^f`L=zeTh>d*b!rO3TEseA?e2k~1E^xS9!wD!i)UVqnVU;mDx_qVfB zKYtM?E&lEyzk8t@qNknrE8D_1PK^Htes2)J2Kw{qA1OiaB@RN*`Mc|?vGBb&wI4g* zzuK#>z3Ywpu~+X_@+Kj^`eKxuulEc*r{6}s)dll{-Us&lVhQ{|si(HoyZc9;i&aJL zKKpa%b%8$`tO8_i~1#Hx+yjd>x#L-8`@}_U^l`qa4n+)1YTP z9EP5ZT`KZ(f5ZB`Ih$!J?HX#D=FzYf^>d+^8c-vz#Qe-dAN>(_R5 zo$J`5HmuTLoVBKR-B{}6l%xpsbs(VaY9 z4<*Ik?*p?z7Xo8^9iz5tK&{5X!5hjx4|4E+b=fa|Qd zzWNTm)U?-Ml)D)8BglP@ip38pz}lb zYwDx#-w#Pkdo_S>9P9No^>>bZIuXA+*c*8-a5H?r13Q47^FIApu7%i@1^q5C-hcC6 zoZspB{lxFs`8{Jz%8?6fOMLekvqL*>Ilg($WBKh*P4Vw|t=w{0Kgu^ypXWi>39dV4 z-$Jh4Ysmc$)%z{l^`qS$y&>m|&aXWm^gZu*==kpVTZVebz_`;E zwB7E5_IDWk-tJ56{Ep6f>OAr_pIy-2W6F=eudr_o?eClINy-j)Oe&7&rF!(S1$o0%h_^zjYua?69 z2Fho>R;K*%JBljsT}Qf((!cS%moo#u`u9Aj9e&n>o(FVdlkL9^dIoh=Vc8$<)4Z03>T^jB6`wR9B@YjNJ`MW>W$=`PR6S?j567z)o z#61hP2kRn#0(5=R8`^Uczq2`q-5}6&4Cl-9;V0pFR4%RD^8~-&PldkcDxRk#ru?J9 zZ}9Iu%GKoQIZZ|6`bkT@Jxsm)2sVT7?|Y=6pSsWg5AvDBT@>Pf2kknu7=GQ~cO80_ z_9@CZYyCN|v>sypc)s!i<#V0l`owdk0m!`{n3VE+Z%~x)`HuRQ&+=Hm%klFHGu=- z=OusdWB46GHROH=;O`t{#J}f2KIfj>`W?ki#-VS?OS`7@yE^b!fSwm9&mQFJt0%3! z_Z)vAZ)xS~k0HMI+?9`|9+Y23Pr3RBcut-{ewaMnkMp^W&yUZq`%is%KF(u57&r#$!U~RAzc(+L2{{C+b>U}b}1^@k^J!f*gpu973()jQ98PuzZob=qjOE8{(sg?wW zf&b38=(Y(ySJsEmm-Y1~34B4`-+}YszYLB6m3xlq{%~jN#dU)7L+8!vMY;RP>VHps z{ds@F^^DI?TjI^9g0w$@y?&n!@*j|ECu*-;KQ9u;d9Zq}%a!jyPr3TuSN#&X&%4ig zXZqD8Gg}-M}iu^r?`5gO~u~$9=+Iz7jv5Rv3>reS){60;`nhC9Z27Kk} zD_8$TI;i7|-cs3=Q*n7)872dm&YohCeORizvII){AVFg{eA)8aiBf+jxRN!i=pTGEERe7 zh3`32Tlky6#b6u!bOfuy?*?5d$m`PYwDbF_mh@-WzkYA!I_MC7-o}42^!@v3o@Z4- zz8ii0`@NX{jrT3}cERTiOhW&0o#uMWb(rfpzhCfsg$Ky%BJqF3pZ80blHVoxD~NLe z{1JIl8vY;n?kBpxSOU58zj(jK`JnyR{%Sw7e|ir%C-rcV_8CKd?TF*}?)i-8K+ape zN94TIdncBwIDTUJa_}PZJ9*a$ZQ)nNt`67(Yz_WK{p5gtfc*VEiZ<})gFjKfBcaoP ztKnY+&9fDG{0#pWa2@yx_P!5&|4oGdF#X|4@DuWD0$l>^0{R_Raq2%G{U|@^_ovOF z=Yrcn`R)sNZzs>Tb?p2-trw}kUy1u0 zcp3bfa;JeV0p?}=aevGGEcdqxV^@y+vqDeA{si@*pXlFxtf9miiXZ!b2lxl@Yo0N` z)5w1VClLP(bYaS$6TbD}J--)-+ZObDnl{k4QLkyhMbvKv=o-+@Gn^ke|M(ic^Pv0x z-$1_v+HT6%!54Q2`>oJRsiy+u>-@`knZKjwe)NC))6|FMdMf169(p0|xF4*H-RIDb z|GR_S?{4DxW)AGVSFoOT`W^Ip{CA=K&bKu5AK3dI^u6MDB=$4kFO?ZrYl6A4ci(Xb ze(guG|KxHU0rOygKeYRkjp1JbU#9;4rhS|r_??*dw>*DyJ=F|*=UJlZ$j?_&BJ{CE~gOkn&1xX zdq8g@j^nM*@hbK^(d6W9v56%SdL|zpif;}>E+bZCh!LK zA3*P?9G`;OXy0_my=T^$_FjyARcZ4026TVJea?yS>)8)2AN-wQQv7M>{)qFWIDc~9 z-kZGry@Mp=?f3iM@9QR3$(64raSFulwU(aRIIX)owd}cTGl^lELtw-S(0KFge z7WU7esB9I z&*w&P9`>G_I1l`jc+SgQ_bZS47wY>RYy7^|_mICQ81LtM@7#MIQ;6T2{H8-oy6~E{B8j^fg5ijPe868{X0&Y zk9kP%#_nzMQ7+&7Jx9zz{*}N))ZfHVF8jOV^Gf`?|8b7`bX>ci=gV_6_bEo;zY_ZD z4MhKIC=LFGU3qBFWxda;y?;NW1J8F?a0b{1 z^t%(kH}M?kO`bp3SEG5)xvt7deK>!0zUutd`w6apUGI8N=ym#s`(v&fvQfUa#7|GZ zdIBtl-2H;b;5P@|52;3e{oqdl7rEr6{0*t@$29Bao@-Hbz9`V*L`nKf4ea~D zAINjyK2l}m?jL!t&ik5=A|Ho+P3%X4&YwJ=nS$PG&~@^5=+@w1(DRA8(9R?LJ7>q5UPh1}nXaQ#qQKK1K;O!q-!mDBpVOf8tq|+_3>ij`hER<_;5=*9aF-g{Vp{V;Ghn3(*$Z_tu? z?cMlGg52}qbo8G};8yh7K>K&xTyMRH-1lvLo@2kK%>i8yw0vF2&-!Z&?RTNOpdX|D zXF<0i|Ix%93l42Xa~IEBhTwlN z==s`O`oHIEp0|0%DKHh`;-G3O4U-uu5LVHgA5pg`fcD?AnKtuY&E7&~`?e9+xz~1$} z>wSO!v@H3!{(A^oRQ@6Tqzm$<#IxV@NA5f;5qh3SXGOmR{O+LZB>lUdaUJSCf_eBi zpH`IXSMYJ_-Sw>NOz*k5ZggGy9sc|-?m_Y^1U^fCD?ryzp1-W2o{gjb{qUo`^Y>}^ z^LOt2-Mcx&eVq5gAB@|cC#&c9?ZkgL}mzU9!5d8_BTs6O_e(awH<<39Xx`t$AN z>G^uxe|Mih33|%ikC(p-fA>&--Y?0HT{ZZAe{&hy?_WAVyKa6H+V!pLUj4p{ybk`o zztWNRIS$&dU2o^79@kSpgRoy`ed9Og=XX1<&NJ1wclNucNA z?i-E|eD~+Nk%#SUoanz+uupAAVz_j*p>i26?qnx}bd?|$b@{MIAh zx7h83@88$+zJPwcPvE@Md9L$S=e6EzXhc7B-t4^E-(iqHocPYOy;q_90C{dEzusZ~ zosD+i4_|bi?EF?e_g9=(AH=`&@%;F^4&QmQzw6Kox$|k~-{;^vzji&Ky>^Y!dmsFg z@(&Mwxzw6>XFYhU&Wc)h7cvpt;-~C*_ zqw&2|0eMH_9svtbpSKY|zF)i#Q3&~?;B@T0cb5ph-+egG^E}D4pJfSt9q)JG z-}k|bl=C{cfxJfsdL#TL*t<_%i8xI`?=KWV-*dKHjQ4)GSQ9$#i|xa|zcXn)EW!UY ztX zeGY8jJjnABw;fm)zV{A3B_Gd!=Rwa!Z$D`J9E8q593(NyU*Dtdx6Q=P_w8xo zx*qa9=DI1at9&oG|L{2N+aKIP{S1PBka{~seVzsf!*5Oh8v;6hI<6{z2D#&>`rdPC zOI**dJkJ`7T}|ZLSAl*Kxq9-wPtzB<{u*Le6&yi*?gah5Z3ndXx7>$!|K9!jq3G=b zXW-X+NI${<1#FD`ZrW`p^|=T91l$jLkJ@>4YwW#uyPWcQ4_o=p!1wQg=%+jVx&t^G z^#0uW1v^vo4Ke*qp0=|A;qMv$R zb`JR<&~e%E*74VQ=U4RO`)Hpuyx*ROcK^@&#qRHI!+&Y)tAqP^zWu$TR^;b7;6&(G zz`@{bFfH-@z1w#17l7x9>welp@TGl!THcfNGxx>Z-@1yQ3fP;U`%+KA-^n<863k4$ zJPYkTHs4n_@ay=R3O#?1e;4u+@DG6J!3xOT=lVatpM%`r(Wyy4_guX;^*<86=)Jh! z*sJIJ*K;28_kCQS^2Yb0@69yC^SkNQ&?R_&+-Hyb?_KC$uaf6mV0zj=9ccYppXO)2 zX|PKRKA|7*5P4i9FMs#%0s5=sr}JFLSI1NLalGf?{*LFy{;tfo#B-hOy4(1!S6#=t zuJ!k^Q&Ar|Xdmwb>?KdXSMYv--!)hdv3?d)ZtvMQz<*}^_lH(4t-L;R`SE<;bN}na ziQmuoz0BJ@e^)`*ug?3E@thT=eO#A$equkgoVLH^dmO*U`I_>1FT!<`a^tJFkaBuY z!utz;&*1)iHS%=-`Wfg4K;=h?uU%5)u0vdB)P;YN=j#jb4EPnO+0l(_;-%Z zqW22#1Ldy2lv@thoj1^TeR&-^70>5=;8glc2I%6{qu*iONxfBo?>y)`^zVe980^jS z=RDkf80X=ckgoWmTb}Hc%k%SlpmUfOR#yByeW zqMciipZgQdp`S!P3pz9P>b;^jh*JiCzoXX+zUOS7zokI_6@L8=HaUFd&R_i9i*?kK zznk|j^?#9mWxcpQFF^nDeBSwn>vGTQoi~|Bj6aLG!@vQQ>j&sh$-{Bk^VMsVXDf2= z(Zu^R#!rr4w}%= zdS8d<#QtG_aUL4yr}}>y|I+Tis6UbZFa?|sP6Dr!Pd8}4Bg;uWJVL!b4NgX{HS~Gv zIqvVc?_>SAU*-PM|D)?H!-g!HzkP#(50cW|-6$ZT(p`cI64IT5A|>6WAR#3wjg%lA zH!0oSAxH~IgT5dB=gEhC4?q2m+1Z)RYh!kHFYnLjm*ahfM5OC|mi&~@a%l&#yq+`q zPRBCxx0LpC94JOUr@@a6Z9O>7IllS+-4ohB7x{RMd|qh#ul?2jt9>jy|BFg}cSHUJ z`VH4U@h{p$bVx)AeN1+Y8V5Of}NUi_5&Kd1d? z5zq6f#LOSJiMI>B|6_PY``#qH7wyoB_@0|+_mHn2vV7xv&aoAF*X^$BwNL18q@iAUGGaUwM996+NBdYbP^&TOhxV`0DW-Tsix(eEYBW5X^`Al^;bq(x&5ixcarv zsb71Z>4e{p@%N(tJm~n5ns#x2?S9(*^&{H#2=N9%$D{onmrL*+j0X3BGeGAB{V^ht zcYM}9X2047U;9`w^duqtCFs3y_nF$s+<)p%HG}VLH+UBL`OsAvCx(OV;kSbRlkrA- zW)i+{?*SRUoBknxB(!LFQsj*vmG5XkAioXT^m_;VYtXC6=T!2Y4E=w?pGG;4!aoCQ zKMcnw>&JL&(BB-nXQ1h6|I^;5{VxIa=K4J=wCnfk(38>cc}-*VZzVh>_%S#Des*Zj z7d?-2f9Jl>{xyXDYd>>bi$njO3~Jx@e%mGF+R;vVsn@rm4}vd2*RL<2J-2b6?*6wd zdNT<-w)J3+I6(&W5O`q6PnJK%owYfn7J zxOW3|{r(bKKLh7;=l4Xk$073J{?GlvDZ*X#i^KBQbr~ z8}9Gj&+7-|zTWTzmK&6>AC9#0-q*@YIsK1YKjd2yZvMO{X#UKvekYz6?x26@H1G3Xk|e+*p}>_NEtwS(&aqQB3tLHf3%`8EILD5v!t^3%irm44zq_ND0G zO}OV+p?~Wk+S_+X^<#gE{IB#E&&NC$b6)ZMDm{8Cfdi3m4*dpt^lQ@pTfgv~^i%h@ z_S*x5J5HrWkK>p7^1h_wd1qVF-%0pb&~Y%f{~aZNu5UInPr4p*edPMZ z`^{U3=Q<}2`IGN`XZe>X$6(|pfyGGQciEUGBRnT7$GD+i^m6EZ==1!s40^Uue=neu zs}S@aso^OC{%Pbr&-H$*=e^1suKXv+dF~VPO|LES)Tg}h+tRPPf={W}?a-6y*S`|J z3jCY!XVgzx%HIimLcEn=BzPax-$(nX?>^K({wDQ(1pVhg^_y;S!mAK}1M-at7dt|i zg5MLmCaAxO{Jw-22b+VY(+b-CpZh}hf9^N+`<_dD%8Fk>J{Q?r_pXB z-+Y*_kngP%TfZ{T|JK6K1pgMa?~XPj-1AS*_uSuVUvvL@5czZ9n~cvX86Q(aZ-jps)W634 zZ*t=K&i+dBQHSt^y zsQyFHd5Pye;#%atCw%?)Jn!}#+;ef)S3eNn{g3O!m5d)3K>a6uuUz|{_B`!-o_Abh z++>S=p9~EB17{<@l6<`n8t*scz9zg0Xnr@4ubG5v4{%>T0sZdV zCs7Z(z=G(X46Xk4=vBY<F(X&w@SxzC}G11rHLw8w~efF9>&k zAD++Mfd4h+a6NDR_9EPRw7%v4Lj8H}W;?t8@%*h0dPaa{soze}NBEA_qhEyQdhSn_ zk=|zH!*e~~5e)U4PxJj5^=o-tcMYLleYfB|bOOdH?@8ByE(G479L_V&FEJSRoQK>O zX`gkz`UQFCTlubMeV02b`a=Ih*O%e?Re8^+l{bI-J-TmlKjZ$#eUx^=>$Fp7A9Vi} zg?e>eq`dp5Y{+ZB*6!#y6pl~D>7VkY9lu-$x<6_`zp#GXCuzs_JjwY_yYAoAzxylo zsMqtOa2=xGST^KsXWP|v$rbu-KJurXJ`wd5?!Vl3d7svOko6Fj-*YS1d#)3+lCJB% znWX3XFDv<0zw?CpP45T3gI8c&%CR5X^JVRfFW|eLtwFo%H|hG=^|Jo!CDFH*e0mNu zgL161zQB~Adh~zPzL^5P>+taWrY3qX(9a%$Um{n4{CH2-bj-i&{7=3_ zJkPUV>1SZLegua5u4g>-n~r)-Zvo|wMS5|-*Y!X?_4A3r{Qo~t|0w;TLjMl$*LePG z{(4icBj}H=Ueed!Y6{=qIq)+1odxari{~w);m3zRgYV)O(EeqA3;BjGCcYScU-sLz z#ES%blK(a2!*#anZ~Y?2kw5)M?0?pe{nGuf`(3|N$3^$Q&WG-Q_5b&NpWl)DWc_jX zkZ;e)!t*iD$-?t9|Jxa#{;xlm`-Zx-XMVmL_cdDy*Dt;l{a`NP+I^}L?)udAuItl9 z=>3iK-LH;BkLOs!X@?I9zXzQWIw`b%K?T|0{X;wEAs^PuRl+U*aqAB~o*!H!-1@a1 z)e{xH+NZQfbwa=Ou!wwy_A&kA2BGH#=svLwa{jkSJDu~N^WtRUH6j1k!DocGMz8Ue zcmDJ{_WRZ^WE67p$3V+p3~hMifAIBxcc1w$^|O)q`Y%~uamc@ZOgD+wi0`c#=zVz4 z4fL;@g?xGXmHtKg6Xk-hJ>^~Ww*+lpzn8t}@x3J9H~N$C)AZxYl*{{7CrHQkw_k<* z!|$gZ>H8h^gRVtCYzgK^Zx85Qp#3n^Z$AzDuiwQF-Xt>Hs5{9&ph)s@upD^hF5@J8T<&e{{7yppXJC~ zfA&Ay$#KDV@7!;hu6_^Z|5{KE^DqBoz&F14o+^-^N?=7WChc1TG@f$mUlZszJ*q)> zr3m#`KwmIP;M0CtZn{P_X2_g#D^ML(ALr0;zG6Y=$H z)L%sZM)i8`p?}F^2KGM{O6^=DrdO*)uSJidW@(1Q1p1;!Tg^fovYM;0_yhL(+ue*JDl)AJm|^OMn(&w8?c<`UkU`dtQYAz%HVL;ptYcp2g6V;t7cy&dxUw`-r@ zLp=SY;`9ADFI|IneszBOgYWb)s2`$!iSC1)*Yc3Q^Z0t?)T6xqli!f8{>Dpa_isV# zZwmEg{aK#_Dc5YU8R?IMRxa$H%8#Yrz0LQ1n{*cvJ`6o|(K`UF1I9+~bMO}Ob)j7+ zy8hE1aR~kLeMivsrTomq^E~2T^y_!y`Gw~e5#-Bw&yoKJxv}u|(k>EhkcM%UzFXxe0Z!Ywxe*kn9FpOvV#?L`K&xzzKzYhLMFbDa1 z3pAeT?k3)A{ls$}sb8k+-jArC`IK)F*n@D_ndKtFq;3o{P220g#1480C~0+vAk zbLi}#?-T0(U5;?SFTX4IrG8)f?K-bHKRMraLXY!U8PfNCN%_*gZ)U!aA^$(d0pCx( zP55rYT_-&NlS@yz;*OM4p6 z@v1D}*#yx0=bu7v1D}H0U-y&GJA{`(e`dn7LN6kp;rn{a2`^25^`6K8>MuW794rTR z2J?abA430??9^`_^t!Kg{Jj7_I{9-P%?$0hxR-LJ=lf{_djF$3bOx|0sNazBAEP%J z`EmVfxtk$36)Z>n&4(TaosN7j0Skei19wONM#6uF{s=VQKKNq@-wS?7I)8wt2>0B% zBeeQWPrkH#)7wt@wWEdhGxvEhN!R_K=SR~R_h*7>*YUP&J{oKN&9*{h%J07J2RLZxil*A`aATB5%W;hDhjoqhdXI>T4)I_3L@aQ$HPr_sOW2=Ues?-_WO@ZHcG z8E1Bb-do!Sy^wJ%oB2lGdBFEmT|b8JllXqg>-8l4+xXgD8_~Xd(LV+3NBYV;KPYeh z%#ZP$x71$}ed;$o?Z1ggU;D3e>QQgKp#1$9Hyn=~A6)O$g>O99IgU@^`p0$80pyIQ z++Ny2zWy_gM~;7vi|%v159d0<{rE8Yf$M?l=-*7Z>ju|1#o-%&CGlMMxW0%a{2~}Z zJGMeTCiFx2o+I_AevPM`@k74nOw-V7|M0%8eu18U8P9XE+Vu0)$Pa<`9%obNTwoFU zZxd+mji!XwPgS`*#6QV+VmgyZuP^h*0Wcl$y|+QWB$@re3cO?YWg zIpb+R8%e*ffZQVR0O9(zYG+#;#Op`Asi5E4Cg^3Pe*<)W_niE9;)VL%H?=~}^7JA7 z2ZZONzDiL4--52I%-3wvasE6B{XKfjr|Z6PgllJ8MtgZ5Av5W?-f{io`p)%FX4<_0 zm>oT(p?$yT2H(5qYqy}a&-q@|CDPSi=lhMmr{()pagld@=X%cdo$vQ*XRATJ+@E~R zcd1=H5B&1fzxP^qQ;*iu-JqT<=WNRB_w@zk&>y%ha+A>C9(oJ;7)tmq(EnjNemFk3 zpGe5~G7KC6I&U~H880LJf#|OV-3-(YuHCyi;qGJ1r{k9S^8Y*9%bb^!Q!d{zxyJW@ zkn|Tpmjm_t-9x?T51fT|_FU>I^7=PwpE^doC&)jB?g<)C`_*K^mAehCe|9|Dvn%=> z?;QUeC-n=_A4EHxej@sLWkug}^4}6VEA`ZvbX*7N2Rw^**al8RehIYauf^%7u75q3 z59OyLub%mVUio_nmw!2kC!b`!z7bKB0IDlDQK+nJ3U%20xNPPX7 z?odxJ9VbXn`(Q)L=ljar;8#UX`=jwr!1unL;Zf0(f`XIzH-{o94H}sD*J>^YLJ*Fq$_@2+GuOIpM+~fxJa1(T$ zt^LRMs|1ekIuqx>I z=y|^O#0u22cG8N_o|A{?=Xc?^0JW<=f<6RpW&An-e&KfpeFSv<>-n!du&9%{*e0dg?#09Bj-Hkyrtjc zD)^o=$=9z#`%5YEQyuI}y*fV`&-qDv&dkq44 z%J}t>I|r_!-kcZwfBpOPd-p%?i@dk+Kk6k0=)0A!ySAb~Tz~0b={=+hq+f%6@ikbH z@G|J1NVxB+H;1-g7l-zJcl*D5^~Wb(W6SgawN2NWW%*De}sHu^3@2OLjD>;ivyswPfaGCa{b`DzczkC!i}eX z(>0#^`%u5-vK;2y^0Z=}=ma(*Ux_K7@jO?PzZibepx%u40etOl`a7Ecx|Ay!m;$T} zrUISko%enJ(e*$K(s%u4yyAqfr(7>V`PZS%zw@K{x7^O3tpC@1`*0jOSGqS${MIwZFOVozMvPza;irLa2!8;$3LFLc&YO0;{FLt$ z^2centDyFWp`;V?4cD$9Us}HQfewsA>8RhE=zSMD9sCO5PhbvE|G1UV+V!*xK1EMl z>euz(3&NMu4!c18%(g(Eryd#;|7)-?c!PMaz})2jCG;@T^Bn^PYTZ`SIv4-s4#dtsh$= z#=p^odrp^>cDqOTY|7D+@L}Li!u3yczo~!P9pXhLo_=Mo2-i-QoqEu&d4~2aNO)b^ zbse}DzUL+0W7lrxyrBIo4(0GXu_NhQFWLnXklvr@*T2m49d}LN{D>icGx;5gzTW8f z`*B^Tyz$lV`A-kz(xS(8pnCnkZzbB(@5lfBs$YHTxBfg|$sUaF?la$~A8Oz3Og^%U z$d&vLdHvJEdmP?B)UIp#rmH^N$$o45ouOUlGY;9#-hXu-@_Z@OZ@S8R4z0ZU47dMm zqW>6A{qEDvzv+4IZGZIqTf2teS;$w;_xFrf&wfCA%lA8wuU*-9ABGU$^o{=k?d!Z6 z{@+9YtQqv@l$3ufwDuMK&<>J6?JSvyR~>ZT{{-57xBF@B$59wJJhyk>{S^II`7Tlr zuQ-?kep={xl+XJN-VgAe#c%NS+jQRRkAC%fzo9(kZ-IW>-R~%DfA6W+ApREQ%YnB^ zKOTI;^T5}?%zSuGQ;YaRk$($%K5{v!haQAa1+T&H51kjTUx)VnDd&;Rj2m0PXUO}G;RWRU&a{JFBz!$+ypTT%{;yzq)_?kuD6gGP zdG#5ty)NV%&we1^{1)Q7yG(!beP!>3#G(C~f%;E<2<^FHI_UA}NeSJF@2Efc6Z~z^ z`mNofej8A~FQD6?XAS81J{vleZ;ZTpe8*Z^zUk$rzFUy50?7Z1{(6M>f%g7FU&8gH zJ;HeZl76UN@d@GisOOmIkAT+h7@P2TpnA-||J$`3=KnMFp9Zx{Y7ad~J-@y$LH=G6 zUY~qS2R#>W3T?blJ~j0b1ASY-tzabhC;9T7v{8h=gMQbsx9I;_DF0b#$Bl~6xslf| z-f^xke8<0@(4G@}p6vN@5A;}%Vg1_wek7lV!13g7E%YGf_efB?iT5Qt5Z(=Jf&6r6 z{Tzx?Px>Kz1f3YH2rdOb1oQHpGzNb{e;H`~YTf^Nz8o{)OS?ZbzW;X`iC*=ap8mU` zyy?C{IvGL7H}!a4@q+&3|3uQze(Fh#y!khOo?rXU(LwU*dA8@%o=1EB(uV#&jdqNH zcAdVDaQ(CGZ_azA$)EF{{m}kr|I$u-mV8|YkAnKweS<#v+H17md>inmLDLP)enfft zmBrdfx&8vbqTjD!{8|foUYnhKttWgQ_zSoaTmt%jNN4nKAY6IRd3>*4{ddSmdnX`SkbD`_VHIJ=!0%M`+I*6nvl6ptb*9LB0yaZ zX~3%RQ$uT4RFCrN*N#|)__s+%{n{b5ONRE-&_8_v>Fbw1AHA!=^wfv@5BcsRS|jhf zJUx*634D)w9|EnPdspiF1UMTsf8C*PA+P^@Df-QL(DV0;(AuA-Bew>0e6-#^CqIqg z4~A|7hWWQ#z8mkk$vn!hAHgKPvqj)8_{*X7yV0KJ_~|-JzO;PThmN0)bMm$KdH<{x z_dQkLNzDP@_3LNQpMqb3_mR&4CMVo5c5`LEOYG5yL zJLwLB_FR1r^fdVDtAM_ngde4SeNX3iO&|M^`zK9nH*1NxEnreoxT-|;WxD<{7&dXzW5?|g**McP|8urAR4=)PCGaJDG_r#K#(_ql>oolXcB1zLI05~qpgmVeNx0_=sh~r-cS-*N^4e33mk~MtzZ&vG`5%dI zzT{6Nd~c9{_4gvY1>g4};@2R5U7+RrPLq7&zrnccJ+C;(eL(mZ=vR+&>Z<_Xb-(=C zJp_h|?$2;|gu~RXyg_>EA5J{=Cx!O>L)v`Iq5RoF z&m%UGFV9KzzjfWe8-8}ii*SEYn0&jR_>FvwBwYXAJA|JHlTaSxg?#gbA!-+radDa@}3ivqkU=+?mI`rOeUket_gh_9m%9$1 zPWr7=i1fX1@h#=tN_)s(L-@Pk5O5CieWAsj z&~4$5h7Q-4t}DG)8T!{>A^)yJ+tH7-S85;EPox#~_bpf*dHsGx{e9*4B)<07w&eE^ z^4ep)XJkD2+F`Zt?xNhOaDfv$Wy5C6+t(|5&wDxE1E3WG&(0=X@T;Ja%TsyVt zXs;d(U;ljL>wlk-bhDX0`PM(!{L450rlVi-1nTbz^{^f~8G6I@vFl;|TjSCmRgiaG zYqC4x?puItP?Xh2yPyGP(`_uk+9=_kT?;kWFor&<5gZdY*htAEo8^RrGryf97Wl`S=I^Ec%h_LDyfdKT^T3iQHkZ z6<7p0`N?vXG33v#Z1exU!32W!LM4}Agr3-p}Z^K9h~{fB%L`sGBh8TzL~w*9;{H5=;Z?@1p#C!qww{7RNS7z zrR7`h(bfkzoBUmY)()7A`TPR>Lwpzd@mNmvo1fPsZ}uZqCPB_`cpmkMqCl0nb%Er%lBA&HKaJ6|^Uure4y4$_=MHBf-YBpYxOR zk>z&2s?2!)J$MJb*Fo#gc~JR8)TiOjhw{BolM21tsfX{$-!#G_&=bm=-;vbYL@*!n zo1w$?V{G`YBgasVdEhUge$L^z?fC9^@B3-$^In4M>6oM!7n}>e1FqmZasS}{Ad+zX z23F7yeTQ@;wCTU1KbpSzab3NTa+$vC>p`SrdZxdYaMwGwv+ZZQ93~&`Bh+hp+Tpdg z=c3%61N(hC4)}e(LAx(Oe+1Xfxc6#cgA>Ykq@GI(PE41eh ze?xn&@C5pE>N&jsIXDP+p8ACHZ-VbSEIsvG7EBAK4#Hi(xxTwVJvv?;M}I8vIPy=x zID}t>9!5ES0%xL6e|`67?#JApogsc|Fb|lW`qRH*4(aS8-R|%^K*Rq3{4;1aw}}yC zE21<448IY#f`0KY`kxX$m3*1+uSnPYyH9k!aQ@hVocEJHRuB4%Lw`d$o4}6neOF7n z-+T181@L`WMn7ufErhRM!0UO0{?ZV1Ja-&7UdRvU5yv0r5BF2bX?OA*Y$4y3<5vXf z-zWS8^iA+N_4^F;UgmuGyTKV?bFecw9Ms=O`|=_>Kw9eO3G{OCS5P~G=WtbNmpSks zgWfOPM@M>#@M!2iNcc`L7W_+;>uqTB<$1_*_zA)PQBO(GyA{kA@M{q768uci`h8@B zR{kRW&vDXvvR=GzV!5@?TmHr5zW`Vt^c~!0LHV@L`;MIUcgt_M^`JkL>BSA|#c{~? z3G=VqHp+dPdhz|VzX>nJchwC2&B3N%G5FHP`-<@0^p8w|9_4=i5598pQv~wr3+*?1 z$kzqp>*qfWTE6~u1^6E7fen%G3hn;lL;9)vuS(EY$-m{ceiD=3W!gCsz4|xnuc}`4 zxqmYq%WZkpZ+f1yT@2EBoAmULHGTbK9-+0)5!#F zxf)Sl?n~YGx{qxR-|`H8edn9p1XbwaP>TwB_yF8M7C ze=Ff97zZALo@eId`v~V}=Vkp7PmnL~oBt2}-b%p=}G&~t+d=yCs51$p;3o?C?WA-_Mr$Cr$AKcP?iwEOzI@cmBx zF7wcTvVnfT>XEPiwf@uc^&6LOdh(60om|>@%2gqM`h~or9E}JM{aEy0QSK=D_xtes zv){T-3D+<7ci&}-!uPU=^m9Saqg_f9uKhD1^#9l(iw-?8^Ge@EW;HJXurH`476o+4Z{d@g+B%l96feB+0F z!&5RIPbGh6(Hq)l29l3o!8^n|4!r~UouGa(2cUQSM>$Nt1ohh9@5rMDBWGVwOiKa`6@ zxc(Q)%NNxrU%!qW=)VA}U%!qtw!7^L4h55g#!CyG0-QoWO2hY>fc!^;&IP{?*ctvP zX!WNOXEib|HV9 z^z=K{UpguMSAXNf)Wa#zdyp$A{{r%-e}5G6d6@86(1k$lYFVK5ldD92eCP0eX!+9e zJzvyr^(NnG9m=i!Dmm%6ZgBo~URS?*TOhCgiPXn4@Fn;hR6Z;DRbG7|-*DesI!gY$ zr{_At`+2T^j3?i9$5P6D8eB%cwn01YdH==n?;-q2w5#_C3(`Lt1m!co=HK>mKYo~c zdjQ@CkJ1mWf!a6ELf-}L7xHT%-;sW%olyH=cf!4Yt(|c<;o2AFOUu`Ur9#2 zuYQe+*h%{Thx@k)eOXWWv{jzRz|D z+Ho%`^_3p1$8aPcaGQO%6XT^gEQdBls=+a?rPEf8#5k0(tLY6(Iiw!LG<@{}>Og z{X=_58tSbMc#`z%LKgs~o5Ifku7&>qtVj4R=#pS>a5en0&_jZ7&p*E>d=t189EAK+ z=#lixA1Jr`>u+sO;uV2z1^T|F?+hd*-1i4MqPL#ufR{;Me+2h|1L3qhK=l zd!au9Jzre}e?I6we z2<`oz@P1A|>SG!4Zh;9IM`D8mi08cM`Zgi)%fa`YN4vlGZ`x6gIpBKwhwl%TC%jj{ zuLP}pcjS~;pZuZ3H=g{`gtrEr|Gt9O{@suE(+;lRdso8GgPvnFs<7)8rm!Ckm@s&>( zw7c)o_&&{hwEt*u2IzUa{)YM?W+A_YK>Z)JtG6Xw`?~v*R)otp{JTJp=WrDW57UvB zZ+^s(UmiW8`7}Q@;p<;NlJOuZ3$fkM`l*Hf^IuY5e^AeFKIF4#}(O%LB`5&pDv|w4#^>+s7^kA_do_ymEfv^6-&}%^7 zBlKO2{e;&7yMkYmKm9_}5gw+Ok#PM)P2csV_sK1{emdsI@{95}qjx$eUpe{4H{KoM zyS|ryl<+g4?Q$L3dNTjkpLT;Q^uOGEAKoAA3tb!jY%meyn{s^!&r7|^_x#s*>hqk~ z^WJC3=Rj`?zVGGG&Xe&O4@!d0qt34f$gkmdpa&9vE$F`R7wBG~@%~5p^4r1JzvVN^ zIfU@4pzq7bA4$0T+ZNF7Z{6<>VBVSszT&&|+^r<-Xg}Ug`u1b}Gv+WKcA(yVg)UG1 zy6>t9e-`2TWq1$F`(OHRyhFY_fme_(2JJd_J^6QiTc3EYFViqiy1sNh>UrM>#GeBe z1zpFEMc(zT`&ae5URA&8>G#%v@_t19)rIzbpH1j@ee3-Z^{C%{wC@scqn`E0@%-v9 z!lR%!1E_thKD75{T+hp&i+nfw!yxjlef<%%-@o6x-~ToG&9C4Va4B+!p!=YIJgA?g z{*|s{y}#}|0w<}zyI={vH~&Xa7WyfC|0_11bV|YB3g30M>ucBFu8Uo7yH0X_G!{Ma z=`Wf1ewPxiU1}BSsNeLQ*W5RR^V=r+`6cjE>TfT!>qPgtrQkn-zma;@A9OAG{GISk zU>e$6zUPv8sIN2V{RV76|G7pvwG-zX|-{6E5Pz)uIprhc4vYeN?VBguC(=p>-~mRY283VrHd zNO*nPwJrDt-}hMPiNsrsd}jFSkuNP@{Rxq`+{Ux~F-RvJn2mJah4!9EXK3fYQ`Bc# z!m|eQ+J(AMKcRoRe(QtiPc^`d=c{;|XUadBaNoTdihk{J zRj8MO;3uH>AiP)Lx%xfydcN*CN>akDU;p!>oi8)_*oXe?#CIR3A4KRMag2HzhMebF z`c+OM+M)PJ z2Y(2(?{7_lcHiW_%6*@DlrKws?LDih5A8$Cpn=!tGL=Z5YKRz$9>cX?RU}?%_}Z(C z=Q+o`*)QIuL4#8`yn>~Ttvo7g02rr(q2sn-%5P<<@sojp6K;Eb^UjV z_^$tawm3w}tQi+INATpyvbljX>Ym9t7?AnCD@h zkNIBQRMK&L^ZlTx&eP~|{o(q&3+WrKeLUowKi4htUB8&mi=-o8yMW=QC*Sn+%lDkm z^SI%ZD?GRRhH&K?1hnUXUkCEa$yZ+eb%<{~&k4O>V7|ih!FY@djt`CtNf;-@x zk;`$F`t#kUf1#@(=X(-OppPNv`oVmdzUzrBj7#r>`H^?r&rG=X4f)O|#_L2p=LhGN zl7YN-y_SS4ubldo_x#3v?mqgZ``wY$?*VWx`QHq^4s>7p2Yl@eHK|AW&Y!;f?tXSA z@w8jHZr1LVkN%?Gs2$3CX#Wzv5&1X4XrSxUM9`iegnZ=+((lWHGr$s{-=*tR z?N5H6@@G)L+M|qbJilM%wOPs~BmK^I%nlLW zi|`bTquD|2JP+XOhk1tj)c&#wTDwii*FF=6cUAqvi0~WGQOWOh@DBJr{orfj4F)|Q@&3K%Bzft_$ypsWB-Xk zdYM4|PST?P3HfWnIIsxRZsYwi^@RGXq1S$EJk$4FLB9EvZ~R;IgU~*x-OzQF=Z~(N zT!*>7^1M<0TJ#$3`bjz0Pp%71N51L#{n`Kh{`?N)`#s7Z%lA?i)K9?kXZd-k$IhVt z;qtqVg?tS#w6D;dukAnDUD$p`G!Eo8AW#Y{2VXhuLfU^!w@;u)d(TM1wdZKxsepd} zlN0_wrz7Kp@4pqM|7GI)=>)wWe4F?`(Qh9Tz72c_{v71vK)>#G ztlg;{a=(CnN3J^`5w8D}=Qqwzq(J>or-`;Z-i zddbgs&=k~8F$nr+@F;THFU~-_zOp>dzm~&!-1Bzl_i%lnpI9aII#0zV{gve3^;2fT zyVH)o;}?^Ty@>ED^gsRh!})C%^`M{BZqko}e0FdZ>C10VcstN}eK7s65qKj=Upw_H z!p+}JX!Gaz_&)923VcNVJO@ofc>92_Tp#jx1a$x9{R!iR@}{Ssd+6W(C;A4G?+IXQ z^0yee38+6tN9wUV;n~5QU{>1i6X+bEejW1FI|F_v^twL(h493*?_Btu$)ES7yqA_V zh*w>jes&(T-=Bb94QkKx`xr(#v*Diu4OcD;`OF%WQ#*|3r0#cppCvE#f1h&w1%5}m zAJG32lWq+#5B%K3FT%K?zxhM>_rc=uS3;izn}S!!_bt%=>-VO8T|d^xc@C#NP5WA0+Rt$9d?CLa`ip`7pThq}IL?RmL+yF`wP-hR z|L;1kDdkuJ)}?%Hpoc+wUVM&v-As5*;(Zy&w}p1yxQ+TVUDuC;iMIqikABY?^}o^I z#&Q%PemcPFKb>;@0ouN{xAqk6F4}E8Kh!Rx zJx#v^&m*1hjr1o@03aqW^zN%Jm629CZ9H!nmjX$^S%XXK@@3$LGVy zT>|4U4(cDH-%Rpgd`!vwrN8_&FcO1ob!R z3awxJPWta8!rd=xKk9CLP}=y*2_Fl(PuI@wKD|8r5uocw&u2X6@f^wXn>EDuys0$( zpd$Tc23QS@3cojKxN_QuTz|U0bp7eN)AgqE#ydy-e@wk;$4f~*>%%wRN#eO)%msfB z`E`Bjx>b4O?e}eu7+Iwby zk)HR^ZbH`pyMg-aehsa>@jVyz9h{#TXO@EbDc@CS_rdO;_cNa87cT9-x*~G=xp$>s z`2JIK%IAH(Ld5S2<|O?}(4~-H9_Uf8ezQ?&XV14h_v(b)PheN{&xF?hQ-4p-!Q!G% zz50{L&jH_bq~+^R>boeuf8zPM_At-Y6hgC&h=hS>ZvNYg?{Nd&m!n9w5#^38_;#BC;i3pQU6m3_x+-caSn7t(DjJxkAvuU9b&)yiTum}Je2q<`qA~I;j1XW{c8!d`&#$2d*~1ILG9qu^0j}rBwicPeVul7 z<3}Z*o{xC0WIWSRujxr^Z`5AsI~U98AHL_Ai1zWn4DrZUA#f-CusC#Vuw1}@9UuMS z`^zzDFTX#(H^0Af&GvV zyFfqpf4FfNAJV}Wt3eN;{t|(%Pr~&@ZuDLUl~e!AfZrQ^@{RAio3R+Lo>On$*Z2Oq z=V!O!7Y02SGN0zl{JLLzllY#`I&R6AcKmhR>&!Yyza7_guKVO0?)uR6pngKelRp~0 z`k(El{H`zVL&qoIgTcd~c9Y!n>%3q^FkcWJ1-Z7gLsj@?z^VbiX&|p&^)!I5-K#!y zbo6Nd8bv>dM*m6=e=OnN6KVzR{TtUE-pg5tocDi>R~Wfsp!(k-epKo?19*h;YcFm> zzC-(5N95(}cl0IU1Cg`b)`xNt#Jk2gd>zb5_zmcxeAkB0Cx8B5X%2klXCR*o{22TZ zIpuc{?)!b7ySYC6k@O2P4*8y+@fs1X-6a<7x1V&jP~ZO}9qkGeq2C5Gk&gBa*YDal zx}bL>xW;;cPEYwWfM21v3G@--p9PP=*PqRL)$hpqvA$e)ypO)@$TxuQMn1H&xbG-U zxbORDk1k04>_T2Yr!alpuQT33HS{$M!&e@D3Mh!2B!m7rJB{;nH7 zqa61L_x~iB3D=Lt{Yp#f#dgy!WV_6Qe;ax2HZ7r@|DEqw5$<}x|2W+wKg;1~A^*06 z{n_@(K|hEPXX%^o)~Nh%1;XI_;wV%`sI4xU%&kX ztm{Jms@}B!7Sc7|1n7D2rIj~cum6zu9WM1RBc5`m7oM+Irv3U;zP_OLRqd+Yo6!F1 zy$S8F#`m1p^DEyUwSRl>;xgmmJCyqfwEs1mMm|j6bS>AFpnO@-8_KTnY9hU%!E=ke>;yT_PUwr^4R?e-*d}l>d(LLCbTDd>$rTyZ|lV^}sUp z#)aRU^i6L(eB(U}_@SKnvpn7xOH00-f8XbOJVd(Y$9$S^`>*4){n-AiAL&l!fA{wz zq36?2)`R27|32u$pzCJ)=j-(}{o3?Q-*ewJjDPFE&Xn^YwEHLR4eqntKl%R2UyO(P zU(JNpzU%r*`;X^WS;)WkOxLfjYppl)@BHRDwRRfqHhajo_ME%W{ud%W^{4+`cuu80 z?K=l3hyKR;J1Zw&d!~Hj`yG4V)%&l0N6%>=&$%PXpW{JM`fnT1@u4PkD$x6^@(U9l z+GVuk=r1X1r;)FHM!QX2+G#AP9VZd>JBIHd5&fqC;hwvApCLSdDM0z_gPsFlyWPo$xi( z=SeU&-+eUDaQ%!I&_AvbU(`pItg;rcHg{V3!s_YZvc!|wmwkM)561L*qjN9fD6M>^`o`{fs*XHd>9 z#Pk0XSD?3oKNEj8C|@i}xbccW$3T7)Xgcko+Xdn3GvBUnz2E3MS9{ZW#(^8)E51|D zx0HVfUwPNZAG2=h4r>4S9y&SwFcs+h6PNONF8`eP?%!NjDd+kxly{%!{HDC~UJ}OV z%HZdun;c9-{S5_=gU;vff86)DKf3PxML%&Kao%t~3B#RVlJb2UzZA6hA+iO0$07NS zKds5{eeePJJ!tu)&k^oAX*20~{t(&+n$qrdsjmUxFv5o+uO96Ko@19OTe0UGS z@xt-t0N+(Z(lOoD$eSPe{epP%O<%jI>6;(<(zd^LB;UP%WWADpDro(i^qcW~Q2!?V z-b+#*`O4|%q@TR@H~r%W^4;j4|32x@B78gjFdhAHJm2pP!b^hM*|e|KC*1kDA@a`C z&d;tJKB0cY^@IBa*D>xRMiSrsMaWm~Q{w5rchdGH{8PpS{leX!l_H+!IOT$P&7oI- zn?c`^^E}>jcxlh$jqmzgKVs+a-|6>_LH%Cbf8HT~Rp9pl<@X4}wa=)>^=x>5ej<81 zA}?RMFMRLYpCsN>Fg^Q{Gti~MUZDGSgy-I(;4vfpY>fY$LA5`({a!7IVRyH!T#hgCv;*k zFR1_hPsID0bl;=j6al-^PQL5%8TC9Cxqsm6zxfLKe8BhJ7~?5teEm1|+kA;0{WpC_ zCO_#buU_rym#9bgpW4@bmwyW7)P7%pe9lGhFW?B${|$OEEI5~b=#$Y zuN^}BgYjISr=osbUwiM+bMR;A^ZZ-C8T}!r(0&QXpZ^c3Mg4hy#PxySL)iZZBJca+ z_Iqjje`EA|Zti-|_1|prQx()+E`I^x*Xbvohim^fzV>(1QC|IyKkdkm<4-B*oAe{k z%N<|bPrAR<-`{cCeWv$c&QSjqsh?QnJ3Lpf2482C< zH@it>9dsNaD5$NKPdf$lSnr{0g?cLw!iXaW5b z<@0}+nJ9;Tn;*fS4aTEheOG@z-|+)*CiR?^{@LO`_{wE~zZg7(d@ryq;l@|L=WXTq zzH5QnG1@^l13ky}9ME&YSn#t4^6D)?_~&2^%CFvOgwF*XKO9dC*WM-nJn>y0UWayl z==#}ldoEGEAzW$r~b^70j1MoAlK6wtkfOh=@bpPajsz3EV5%m7$erVtM zXw3KM`X?>)>+zZPbbMY4Enix`<9Sc|(L(gir2h4TJ!St0`1;rGCcGMQp6hr{=)6#s z`Y<1^U&HtHlA=d{R{dLz7xMKZ(SDMfa(n(!o^;z2ZuO;gnZ9ShSNUMSCN}TxP0}>H~vuak&N~T$IqDXTY>`_ zKL$c;*UW~zcF;QHV*%e$bm$MkXrSMh-?879-&;+}Q5*F8ZwkGYd?cbBYoRwUwCCCB z$e(sn&+D~=eu*CKr0T6kIy1rV(9;(>Dg8?Sdj05I5bimu=dGU4dd~U_--r8c{Z=vs z_2YQsKD-Tl_vfCY8t%BKUibHDkb6M7ofs!PM_m9t1k~>6{U7iBc&@sdc%HXZ&LS5MMkLp^SWe+SG#yu@JW->zSKGwRp%LpA!D>z6Lj@xgE&cioc~J*`0BCvso- zC;h!Q`Mn0-AiNxM`g{2wJN0EJUP15-^2O+%ooENw#V4qrexUP*^cBL5_a^eiK;yYi zmcN2@<*$U!j9kcf-L2kXK|a-QJZbg2KG$#EbB#6R|94P7Z~eC068;AHbKm5C% zBPZYQP`>hhuThyF{zC2{SdehhdDrzxP5AB;-asxoI1T=9^fTAHWoVz0pn5|6snMff zRk*)#y`;SP(mzXi`O@;;|Ma3>*MWz~*L3D9&sl3T&$&OW3Z0pF?}E#aZv*XrUg8kG z6nsJdTLSI|@50Z5{1f_-=PWU)mwe>65Apkhr{E8S_WcO^wf(aW{J+s(1%2*AKZ4#s z|BR1b@3;9bbZz*)@0f^qdC^}SzTrdQyI*jBp*`Jwh4Dwxf3}03kNQr4=c4{M%Jrk` z%GSvBCEW?2=dtQnpZb4A&UXupXSnYZtfl^vqPHUWi15jv;g#SgqJFjOYsc4q@B0F= z_>NrX?La;}N61G!?KGYr*e`D)Xa6is|H??es{`hz-QESSQV%bK`uF`p`O?;(|9iYc z`Lj}9$A9O88}P&N^AqChXQ7=b8RgKvzke zwGTZYpRwuZHOSvC!ZV;(eP5x!3E}$V9wXd!qWQ! z`?tQeFKJIw-ukYD9@Ejkw+`XXZ%rw$={VmFAfEQG@cp8hlq(YS9TMN+){ocyr2fI9 ziT@nbA1giepOOCRI?4U%LF&hStNTRf1Lq0-cIWV2Ee7kO|0J}2GN;h1e|~1-xsOi; zt$yQse<%xl?++=ziE?-@?f&%((mMeEPtbky3uwnj$3yRb%!4mFF3R6Re%$|VW_)me zsvpi+!j0!XS-z;8`)BvJzNfK}ev+SbmqHIlzv-yoeR?E({Z_s;-_(!%1H_YWeD8PN zj=i%N%?)B$#CQEgYWxF zrlWrO*N7+I_|~I(O<(=Wh4GX(f5umj>3EO)J^Huy1NZYG-*ET++mTyO|Jy{pR;EAu z4*4$Vr0_>WyRQ!S#~W!s_t}3!pGV&P%sIY0*ORU<2hl%Ve;QAIXY}~4neTN~K+gCD z(ElYkmvZ_(V>jYoLf=bp8TbzES_IVoq}^&8{c8_69l2>>1HxN@_Xr;at$*7ZX#Lx! z63_Pnw@}}s2)_vJ{?`4h``_!d>s`?Ou={KG&+juH4W}MfQ$INfF9IGz&v5wt2!BPr zmPX$DLABw3N_ZDAANlvaoZQIg2e%^k6}0OT_sgy?^w0g5__4^>Y0&%a`cJvv(SJ&R zD%UycbN%DG@)GUtyz4$$yYo8u&q4jOwKse3+WXk70DlD`-|@{PZM^j+V0f7bnAKlsZ)_m2yq`-0N-DgR8u^|Nx{ zmX7(w^DX@dX7PP*w|vm0K;yZ;Gu|Nhzk|ObzXJLNtiFe?~1wA*_USYfh$a}8sckTD*cmD(ct3;hz@G`-AKV%67eRXuI~DC@`#gp3 z{h`~?o{ujg{dt7Hg}mVh30KbZbme_ldLMF8=uhvV_Wc1$oAYF+7;~Or$9(m(^Lpe8qi>aqq(E874|I~j* zJErd!B}Ohi*a`XQj1Rus!4_(SS(;{v*OaBOU#{T)(=WHC`xRjC8M{ zr!TbW8^0Xilk41Xp?x2_F!U12?R|&-gzJaf6#609mH4+vUwfJB7wvwr$d~8a{gBhY zITiYHg5Oh5-s{Rkcp>U_4g6ftozZW9Q2!susXrCzs(%o4I^_F+f1|%1^7#l??_>DQ z3IB%jF9cmL_kebttG#p%^7`}DBcAb-kgsWktN+(Pzv-i>zJkKq-ySw((GwB5?f#w{Oyhg@{J`@^=i|%t$E3td0y@7N?=110 z@6*!Hn}c1EYXNQhDX-l^z4}{cBHwes^XQpDJ>LhX!fyv=di(Pl0BD@Xw`935J|c30o!(GC~d-#q6$ zOa8wm{f2zM+TXOdX@C2c@23!QHNlz4dmqeu4k2GT{ReHYC&+ID$B|AiXxn)Y;bZA1 zv*lAEn=F=hMCy6~5;co$o^e3K--Z5?ay}yd0qWiJ(5sX$A^Fzcy^MIq*M8oJaQWf?x3!xa-+1c%ntJfQ zayHVRN4V=u*SWT{>)WvXZFkq(o&)J`dJ_HKKfFah)i2feVdha!?J3`z)W@&L|3i3A z>eX|LO~`cwv%{B`Z~Pgw!wyh>C(`jAfwcVXfn0dLVtntdgyYY6^slG<-Xq!ry%F32 z?gSm5CLw=<@QKjxQf||`z__9xj{f_-iMJB|D$w&i{dn{r)(_ZrYDN9q9|n?s`2EMH z-R#fy?*fG91EpQpy6&AuKl}xJgM90E?>(64gx?3f=b~M$F7n#d^f$8~TaKrc<0kcb z0J-PjOYjzW9Be?k+7C|=o`iZT3hE!?JGT!==f|M^@}chwG zY5Dq@SZ>?R^Kt7T7T-^7P&>2!pG`<77g&UO)%$tsw|}VL^a|4N!uivA)pJGdUfS36 zw>?C@Zi3F&>J<$)okpbV{ftQJ^#NFf_FGB+bRKaY@I7D87s?~2pITYy(C@zj`SiYk z``2=Wuc03#gziQA|4jI7P``zj#4AO43c@b{eHr=&`O$us4!ST{6x2RY3)*`Kv&e^j z5gnn!{j+|>?w37xPfdM#zU}^bD)l=XRDLz|VNgBlbzk0yb%ghvJRf>SxaaOGD3AMh z{R_ND;eIyUzv>rZde5j&{Ugj@$X8Cgg84B2+82JOoi2i1$>%X>+p#NjVbcFR;LnC$ z4jTUrXyYp%Hwbqh9!Yq2(DOv~m<)3 zbCZ5X#x4D%LjS3yv~M!fNeX%|x?|8UzJl*O==|zEIqjG|iRb(6)hX8yQ292{`hoX@ zwp{vm>W3NnXZE6eF-UI%xDjj*E+d|PvULcLBwRntX3(CWdOuKp8~8b?U*pXRHn&~tA4a4;g2I9v%zN6-xuKDeCMyg(xjiB_*cnC3fi+d z{AOTs!bgGW2_FmX{1vWGoS$mZF7JcAz}BF4x_8l=AAAo?%lMK3)c%(aT7G)yvY_!Z zLhB!II_mkEdiap~`Ut#8`tsd>$Tz2s!7X!z@-x^iwii|0U&I2i&G!)nmBp2l=jJ zyg$DOxp05${q?G>2jwdlh3~}wCGMeIxd=avod5CO4PU#&Mfl$kUwPxJUpt8Mrk9iN zt}r+e{Y9Z4qqj74Irz$Xj$DKG*Uz{D^v7U7Z~*f98|$aHnRMKDPKC~ooch#Xnect! zTYRr?gVzXmoQy{Jo22jfdx>~|g8w64bnqDASHPHr#{kuT5Wf0NPy49z`q%Um?WGB5 zzqRPgPX4sZY$sg%i}seigr`N{ad0;BL!s}18~7d`LNDR_nn3s+P`|9H(E4Gj=XdlM zV4bLcXf5=5|1lBrnaF1sFazj+fVxqB|AVsuzIJENeZ%uz&wV{N_B`10XU~skl8^h~ zX!04K`Jq4PInQO%A4hl-un6To2VOx>S@@n)h3`KXg0DXL%FQKTu3uc=+#=k1(f%IR zkA9xo2eb=lU-tfn_cbz+|3CPi^`AOPfAIXpcSoKQuK$(%Bf%t;_bTnCz1ww7MdHl_UEhTM--au9 zne>(aiu(1xk0VLf{hIqb_h21{03DEF&&}Vo~=#amG@cm$3@_z~XH@>eU zU?=#yp#9%iRPyCG>iF52c6$Z?Jo5WN$9czn^*bMIA)Sk$_lLb#e31U7{(nfvbXOv` z4^+S9Dnb7Aul4@8`W7?ZJ_Zw_{|WSI(yxdf(^uYkGXZkWpD&SrM!qtkCoT07>h~VI zdS9T=dn8*(-+DD(HqyxqdjGWzwD$8!w72$e?df+3e*vbUzo!OG*Ln-n*N=Dx@(WD| z{DSW&d_Qj>;jWMM`*(fpx;iC#J_oh4cyCmGJ<2QJ__z3Oj5m{b%Dew`-?@-_cmMe# z^&X3M8xI~LJONl8i~~PI5Z)77J?eGdGClnhR?uHsAm@GC8t7j~xa-@l)Tif{u6IWe z{ypgb#Ui1-f2W>sef*Mo&q{xY&iLDcdh%X^_U7f}uP}1gssAj{`X99o_{zyQel^l{ zKJuKwdFvPWt}C3svXBq`eoj-~X@p;f)}JUL{URwS|1sZhH`*f#^5daXfDHovTI%OC z^6FVfxP1K}7SNvE;Op-^jBx!ay2Ce~^2RrO4szkX>=OCk3VulaH2_WOp!}cE=lJS) ztNkyOzaPZcKKPt)`H5(U^t8{Xp!;j>BfY3k{nsZ$Yd7gYy~yv59`_mUPu#cEqu#}k zKL!3k+DSiJ?Y7?A835mQwtcq|uAR+up}Xik0e%j8-gAp`cpfBQdy9PIzkz%K(0Ix{ zp}yl%&;6*EywK<1XNF!$`o`bHIQ0}9g#2UZa`cyP!SBE%F%Q)l-m%DKgM_eUlcvAr`-P^K+brE8((z2<@#$g`uc*7 zKb|i+F1gMN?_X(esE_LF};m;59SBG?r7p`wD?=sT42!{T5w+Qz>P#4-a0sTe4yS4PEI`DTv*9M0Z?)wj} zXB~gOB%b4snqo5uG0)xzBBP%zqvkh{bhW^U5|x)(>K2Sy6ErC_ca|{0s3E~_5t09 ze&u^79pI~{1?BcX1()Gxrhk@(-xK;fa2_}Y{&Q&e@9x|GC4KkT8Hne2qyE?9kn z$RYF}1Si4Y2O6G%_|fS9W5M{yeE==$pX&G12!0{zS-(KdOG;o;2Ym}C_Psh1>g6{T=!^aaDVd!^>d!@ zqd4?a%9kEmd$e}zNb)@p)UKpGDeQMigZRpOj-QJ1=L7A(_G{laNkX|^g6?yt(|$)l z<9V;sclr_`ml*6#{4YuOM{qhgCJ5JmXeaGwJmnh_F25`C`m-m5_IyCUVfE;zq+gQh zsb>=M>X+}j-F3a|_g3_m&p>JU#`j%5{RDSVKTE-I-(Yxo^eS(-^6KwMKUxXSK<|3! z^5EfsKOA}j*c-WR;1JMv3X?*I=M#^}r}Mq*1NT>D;fM3Q>w;K(53#}Kq;rY(-hzBQ z_*3BN^?b-bVNa#+OTAUi4pp z?!b4x9Q1zBSI{MhHv`-QmIX_Kj#s0h9sdk>Tssu-XOd6-vh=@ti+svY1#P_FkUI#z z2|pV62B=?`deq+oIZ=Nt)13g{`N#Rj`Nw^s^US-%cm6T{1KL?XbLF!V-}PeXC%&0} zCipRc5 z&wa-CoO9pdf$`4^SIGW}XzSREqs6^`9)0y-=ldhh5iMB$tOKq8thc5s-}8hgl&_`3 zCo1O-`T0=!+b?>iaG7wj90PyO=--zQ@~7g@*>m2%^8Yv*{%MfA7cxoD-F=dyvR^yC z`z3EgkNdYPR6pB>&S&i&JyW=5xKjS-582~iAD^EWvb!(7^WAU7e=_`d&tvxV{vQ8V zq4C7`ulN;56A#-o`)Bg^K=^jJ@gR5ZdfJ}LY~jI;pW;Kl?{HXh@uEknSL>p`=ifSI zf#kkZaaMBs63$nh8Q=G-oUb}C`!Rp={iWK4e2(!e-?9C5ew<(aezfvhKS+OC<;ef+ z=`R-lsraweZ|O($AG6edkfX^b)W3xLhvd6N(_1Op{XF;f&M03`gqQT({v7SQM!sWu zR&wi|-=rrVX5D#A zeBoc1ANiAC@!NY!f0^2^b6xN4y;v^(zbf}j;fdMZ6t0k-?|t}wg!Ps6*T=GVZ|U-A z`@iJA&tbjh`xCyuBhGPD>01YhgZR$JPmSrzbL%oglE57OZvG=?^2kn8J zzUS-t@Gnl}`N=1He%X!rr_aB9^3TpVF>USquRRC%1;=rPTzu@j-gAE3H+(L>{p)k` zZ~xkUwsCDt$GEm)1NfZxZ2&(CsjW$N6%D#9tp+I7K!$q5%I1k zvfny%PE|hi@6w0z$6j1c{7=5w^JgDH|Egb|qWoFkJXJkf-&pUs2km||`90~o=X`4P zB>8opW$&J|`MvqMdH(jv&FAsYh`&R4TIl{H^|YyPVT(GGU<)-HPc%p#i02kk?9 zIU%`xuanp$)bosWGidf(dNec|)jUlBc1^OvvX@0f6g_|8duA=>vC){4G6{C0NAxpDMe z$rq^n?$6k-UMjhB6yx~`en$V#Wam4E{J4MmjpVzAKM7B({Pt1S>iPaS)c?CzMvf*o zZfu>Mc-Z?Y=PvQ#DCcL#`r$pwmv(T(z}FtM4|<-F>F(Z+w{z4p$Zb6V1o{m~DQ>mzY!a`!ImS6P4fPM-D0SF3O5SDjZSpD(%fiS>&0$uzYS=LQarw!iRy z=ejDV@xu6FJQ3IXSoLy2cujWB-OBIWrE_HYQ$BL}XXiWOTcpo^_UJFvFMm7Sx%AhK zeqZ>NaOKipCHiBb_|SaWuNL3Ai*f(OISJ=KzSaA7X#Rg1y>56&ct!Hfqu1|!IJoj0 z5Pe1YIKFy(HM~5z`}br2`D*_4qZ?$WzdbzrbK`$cx}ke`S4KOBe{1yT^M6(JULl&j z`}(K%9(m8aUl+x9&eeS<@tw8G-_NTj=gyoj6E8a}IhvgQ50jr1lFwK5Jnp zS$_c9hLUHbt1u%~Aqfj|67tCwHqe~;3?AvC|gIr_BljL`bQ zy_MEMmzvfgnnOI+T%$3B4jk(ZYraX0rR^?&+1{h#;%dfwhQ@dNP*an}2)H}Tg= zdp_prmt=oUXr3>wA`ZJ}etw_c&7pXZ`&F;Thx3-+=GnV{#cuiD*U^5e?3M^;&VJ@- z_C$}#xPH;f>?z`>YbKf&`|LyVUb4&M@@QLu@ko=F)?kUh? zM}NG(Ku&*}`lpYDi`A~a9qt(4KC*buPSyWWmCt?xxpzQ*u446)x)Nt zdsG)i`;Or8WByNwZ@zy<>7Eh)=<4mv&^U5I^md_f#`s}8G4J!eO!H{-Kjpum z=W2ea9(F80ZjF}Z|S}r znunWz9~1ww(ESnjNq$-TeKZtD_;=+zDE_VC2G!p=(W`{??4R2Q-#$5g@dS<=?sS59NQE@Ykh3ceHs3zn3QeLh`2@KMsoTT!C{3{Np=+ zz|SZ1gH}Hq#J?}xH2<>{KRP6O+S=L5;R51IJ?~?(SMJxdTRJ31lRGzddVUw_{r`8k zaA@9Of7txN|1Ny@{h{<94#f%e7iW}?^H--vpA_CZ*iRIFY4YpB`@+jYde5c5X64=? z`snneb9i$3zA5?k>03X}6@A07E)d^eBR}6sZa)Bjm-ycr-{<*q^qd1aFaC}A^w`f6fANsNRjS{|!+R>< zL(yx8kJgX9ntZ+ZzY9J0*Q5UsierxPGym%&KeYG7{A+gr-TbGaP_dh4M zPN&D7Kj+u1Q>|OAPu&YLE*T$#TDe+aze_TBNZ%gNY;SciTzWpE5yEFWE=({H0 zeiu1Aa_6=A`RU+qnx69_;hV|r+pSRhwm-RE^p@d&s|WHU;=6yU|8?(lspRm?=u;~H zheCY&DEQO$e$7{Zaew*sUytLmw=ZNL=aJg6{Tt75JSXCu$ql8mK+k90?4ON)Pq=I8 zot1pHX!WRmXRm%I4#($mU*))NK+lao?ZCc(eFpmqzv=x@zO%~D5#?{o=nt39_2C57 zr~MTBBsV6vjrhLtG%%D{;c$!uhqXilwAMtzv%INoA|4Et@tdy_^$rT z{-%A+mrH+_>SwXgx{F-=)cb#W^>t0CUaga#uN_R6|9?c=AG053f6VjxY5mjL;Zxav zrF4wn{^#o)z(KulOJ(=NaLd6Sf5QBY@)fd^59w|m-~7nvwJr5{ghXtKhSgXJrw&7 z-rt*QAMTrIM-%1$J(bh|3?1hSN^pp`!@9L%hDB)&J_3`SD!ML-;Xo(H?FsUt|4WSpAy6o3~$9y_vt;hyP{ILHzIM(faAr2RZ$Z z)K4rMI)D7RX!}BIMek7hKZrIzF|X18n6J3sb$Zm3pX{uo^@G;m*4YqW zzepeAi$BuerT6<2wWl9O`(NkpYJba?uk*rX!d;W2my1uI{FwB_FX-d{>0RXP>GOM1 z`u4?qC({1d9ku5%E}`7lB^TE~PuM(!z3*b0M>zMfY5neJL-e1kNBW~2pI>$t<>&d( zc@y91q=!%cpS>p^t3CPu!GzKOO^!BxpV)KqUxfFke_;HNMBAsOcWd(d@@qd=KBRwt za(4X9l3)21=exdsT^#TyrSnkF+4p$ojX!bvCskk9hT<>wt?sEkKN`;3^O+@dzs7lI z^VEfF2lgL-mHuU=V?WY5;p3I})8)^1vdGcwtJZ$W z@qdwgspP&3NN<#n=YlpV|L5e#Ihk=Cc|*_9`5Jl$XK!9+9XYNqPt2YiZGF0La`R{R zHJp#SzUS~nI7RjE{{BVfLq6ZgpZNEGqt6Sk3ayjxi#D&^FMsBjuO(ll_Bqb~-c$W8 zn0!l^A9ir#(Syk^hWvHwIA(9+{t>;{u!EF9BYBn`M-P)`P)3Xd8_%Y@@Tie zFCWs8FYDJ)&hDGF)0_0imEV02@dxn+@rPM^Ki3FP2tQo@4~~}pYrX&KNj}B-uS|Y* z=)0`yPaKe)`t$u)eEy|pU&8nQ+#kERbdImyP6$6W?4uD)Sxl8uP1>Z=Piyv|{NVTRClo`3>y?jG4)J&EPj=R!X!h1C z*OczY)x!nl>+SeEglPK^|BZiF>F-g!|0X;;e1Cr3lQ=5>?zMk2`O)Ft$(^S-wsfY* z-!b9j;fEVHoM&^s%{sS6Ww+Vv69_FwJq+JChkI3vA#!zD}ivGRFb{M$qOs24?h zzohH^IwrYuY4WpF{+&}B_p#;Ax<~n}W2B?JVbdz+s@tD$F|=s&Nyq& z$@M>SpMzXOpssuG5F@= zqx?P9-+RN;OK1DgIb-L^W{iJX>7N$f6|z4&njU}T(p#wK;5#zTFZh1UmulZ%361~m zXNY5qcmJ(=6A!mubdFa%XX@&S{fpHjKjP%OSB@(}@$Uno&5zCd&5zBO>9Hf{kN;8c zit5=t^5@I%7b@RP(fCu9pXHLff4D|`acB3>XU;$S_YU^_T~#{E=GQ$o_uXc#-qs8s z&+ksrz8gl*y$<)$@9Mc8ke&ZiIRCqR@=L>0)7v)MxM6&GynOo4&&`$Vws6wg`IFK2 zgzWtn=;`?0KkIhypZ5{pJ&IB8J@q`vJ@3Dj&Qqbd??mNOzT|hzAOG^hzx0%wz42H1 z$kAi{tW`g}M<{-^YW4h`_-JzHYuN8O*z@q^Rli!5oPeni5a~SRUy+6IF%HKXc|HtC*94--GeCo>h&PhAZ?fmpifb+^{!8InrT5F^z8B>G5O>7){mfajn=_nkNOy;5HQ^a39ye|9C zM|(ePP9Q%eV5{ov1=TwLM7?8S%0i^u)x&-8qb zco+X;`ghk({}%H9nd;-Uq5qpd|K`o&QNJyJe+>2WN7qiincWlNMj`nH>EWLheR23e zxanXoZhL8R^E&ZT@gwmN@ey&Xe^$PiLgn*3POiN@8an@KKgfUGmMLGq2{%JmufA6? z_CNX|a{a3NRItNhxZdkhy=4spdBqv2%bS6uSL z(c}G7_fG$qy?YfWrhjVf=b-5S^;{;ZKf9!My?SUr%6_l)g>{5=gY^XYjQPW7Zy%Yx zbM+V1zQjL{iC#MtceH=|V$c5*$;BJQT~>+@?c?$zuJV=gX}xLv>7Mdy^+WHkK3}U| zW{7?uoT2&@j~1UM#~65dcIKK1mv*iD-_-E&b z{vq-Cow)q*`|;um(j!+6a{BxBUY{R+KmVsjuZth<9PSuyG4PLz{$BXA@Z9jbmG6RR zaiQ&oavl-AXgJE*86WQLy?Hzoe>NZAuW~tG{$TWS=}%TV`$m5`yd?g=!soNQFM7)A z|6A!h&$C+eQoX+?M4uKO8GbQ8yM=e=-*+BvseNyd+&L)glF55NW(aS}UjN|!rG2Hj zs{f1f_m}cV|NiVBiEn;zd-~0LrXOAeKKMU8Eezg6AH_Gpx+1p2OzUR{9?Ee{k zQ|P>*`k5^M=J)3F)@>h5zDV}g3G#1!aA11plyCKSS@}G==X6ZCN9g{`e9^OnFJ^a5 z?QYWi`%cNO>CF>gI~m*0<@uR0y;Vc?^X2Fb!rj6ZvpXc3-QLmccaGjCbe}-|x^H0I zlt1n4*QN7^+Rby}%i)XRj-h*ib7r?!{OiKkLh-ZzRZqW(j}~Y9TF>i}@iBJGl>h(KUwkS%>!aDr*KFZM>ET;nS#PaZKjM6j^E=M% zKz!$S=tKN94M(t&3G z!T3vL?|Tfszqns~=iqlLpNCgI@1y-s>ni)7bENmJ-oukZ{OhCLOWHX9pU>`@(*IM> z_pR`q@R{(;&^p8V!+PYqr89n?%ec8|^(&rb-Lq5t^~#s}R(~7DpQU-gtl>h{>uk~F zpNUUSAI|AmSW ziRU}terJ5~e{%7EdgN&P3eLxqTPOUj{96||*Zykhy|4M>%)R$J#(yY$u=e$Ov~%xA z4s!bB?B2+pU*{Ce`>h+y{|~Eu{v>pN_4;V*5O(DDK{p=k>GAv1 zdOi9dA)5S+_!sw_o$H*g^4s6Myn4Pq{8#Aw9{M{yx4pBUEdTDEJ(e9k{vdw`X3y^? zz2D>aXMC6D?cR$C($il}9c{k7M(?wEp?J#9y(jM^Hy=Ma{#Lb{O_J{)u3kRf3v-@f zydQ?|T=w+UH$C`P`CTZ#e;dl9U)BE}SbaO!xJ>%%#$O})sM52(GCn!C=l;y1rR)C8 zLHXIRde}HzD*jc``&U1QhvLtdM4LzL9BqC?f7058^WV--%p3oMq4O2KTTKo}d*?5V zd;IYKkMi@$+Ue$%-}wUP4PGsM^A&o|D=b$%%u&5KKYUmIwo1N0@&!Zs_OI;co}S%= zwX>tjpL-4DH^u*RIPQP>UZnlG_vh~e`L|!iZsPdw5C5KDaoW%Ko~;lr5t8GJ?~=R! z<-XVPmH%_4W1jGE?bW&6N22llFKU#FA5T*|7dQS=<()VFD$(wB?;YR1mGipxuY8Zi zx!zTJj$4&~`uwk-zeh@Ek!bzMFSFOr{4Ux!>YT4}()j2cuYIg3OW(Z5JjeXUeI)UM z$!q81{?YvLeGgYZuOD{5c*oj5`OT$&Z2V)wUx(}WT9 zmxXtQ&h3dqIoJ2s^IHX^P4IE{tIz? ze$Ps7ys+=`rQX+hlKWogI`KCT`Po03J$?4{*nM-b-}zna*{z?PJ$-WN`%d1@<=g%9 z38ELu&s&v$v-nen>{m~3w7a2pwNY~W6F0{{E#!yXeuntMy1hSVmJjiUY2%A4kkdc4 zcB&uKf7!QZPoKSX=PrM~6EI2X&l7+4aEs9TXW3};`e|x^=J(?H)(h_4{x$#ftpjEp z?AaX^|KjkP@Vrp}ra!y2=Qhgqd*t*F%a3$MJN=t}&AjkOJ(vGg|Kj3@R=zFj|IzD} zuk%Cm@Hy&V#0|`2#XTR+-;Ckm*`J)T5%XQ!0T z&nutx;@f9B=z z%=Dc5q%S@!KI-1N_eeT_%l@1BH_sPey}9SjkNB$j`-0hf^%vPZ7EY zI92kKs^7mSANRkkFRg12u70=9ZhXF;Klz2}dH(J}j()6%cPSr>wQm1c`7{p{KVGx? zxiNk5WGJ5epXBrw$e+0IPs`sep>r$F%d_VXA8q|Y&-r@s^u0>oyy{!!d*Ar%#NFY& z=~@5K!m+lxJ7Pl2A-oN(qi}0@SfC0&`h<{=@&Tq_X=C9tZvyJ1{-_B)_ zqseEey-!rV>BsCZn&;W4Ii-HgKF$fz?(f|dy=Cn{l94Qa{FB4{MOxn^~0Wj zH2>^IIeYu#zB6HeWUBmoKI6W*{5j7c9r=^Kc;&6t?<=9_W53M4$+4wtop?<2E4?2- zi*`PX{x!Wv5A;57SNpqd=pU{7u1v0=B+iC#ART4E9h6io;D(dvt#NwDioE#sBzoZ}X_~b7lC;aLI6$fzOWKqSf0!!zt@8Mtk#X zb`bw_*^7^StA756L;rty^b_enP`x;RYaDiOZ>`3M+tOP)ySd}9Gst~!@ci^9%kG2W z(QRK^{D<9j`HWz*FTTr13Ue+^{)Qgy4bmE_2T)fpTCq(ap@0K ze}9cHelFha{qjDkch6Be{6Abf+@SYPocbHl+OK(#`H%k<+uyLCVP0e&B+jb+n@90$ z|4n^a_p9IW+^q8(?n}K~yK>IvALaXFmCL&PrJk4f%=&!o?2irY?|e6U)$GiZ^^ey5 z_LrRFGY_%fRz)wfnrC;iXKwFmFH_g@_0)4kuzmj3^pqpg0w zAAj~xT=)0M+0B_;oS1yB_+Jkv$Zp&4u=woxW4~GQuZ9PO?AMO|e(#C*-~N<-z<#m) zmBmZncnOWC>-YRF$S-_0da>+pjMgtWM}BGc-uqFmf1o!}?PNTE&Y$lfo}At!`QIb@ zpxy&<1?O+~jel?L;9ud~<^SnHjz4d5_g+3#Imw-e{X%@}=#OQ$N%=b`+Pcp=aaeDlUl=V8_)4_( z@xKN;aYW-Id+X@Yo?qiDyM0RE_$q(=IbW*Zf3SAsd!qMcKXLi9{-o#of7YYtWN%$c zZvFa;m&UHG+F`nPpy?TB;biaDi+Ml@p$C7`m=j1$(c0FVAZzgAF-GtWeNBdFE z&i$ST^Y4C-`#$zh-qZVTf90L(*En^5wEdMkqnGaedLo>v=d*0|c+blI=rZZq$DAOV z+`g*&S<~h3H|f1m|1O=g{}gxok{d_j{NU)X)W=VpAOZ=Azt zFJJtO;}?I%S@%`&_buP%HReO+H_rQckHsU+qv-#>_WwdCe)v}OuR?m>pFOMZaoxC7 zeB+SyCEESeAJl$!2#sU(#_`K|W&B#U_PTZX+oJk^ru27-zec#(pvP{*_=kk|X1{r~ zc`?0Fep&DN`2FwS#&?eA&1muUN2B+xT|0NMaOpeeuv_w@2R;40d;0cw#qq`O_ss6J z@UZIXfoO3r=P0Kwedi}vsNYyOoGtr3qWPUVdi4LL(os(3`d)nNyrZg*bxYs(y06Xe zi=q2JpGe=n3BBjb-xld_R66qcH%#4#@Bz@N8xA2{F>*?m;K7+f3@1r zT%mcrW6#v%zxoydH6BT4 z_RcVbLacqpAkng@13gh*w?d;Fn=a#q!X+!0dx751Zzdo2SM7^>U%kKHXYoJrK6>oTf6RBxf6TvDsohxrzo-29 zUa9!NB=OCw$bG+bf&9ELJ$}uD_N(6Pul~2^^V5+0ko3fd_Dn90gg?%^UQ2JBf3Xt} zBe%}6zve%n_Q~99^L-HeX!gzAU)!yI;`;La{z?CTMXVU@+@||+bK-~mjC#&}O4oWy z{@86(x%UrW$nP=HzB`V7J^7W%wUaA*|HKDQj6OfKAML%c-ym*qM0)xM`wiBg)|=L! zC)ZB4FCX;q>HjgmuZF&V@R8n^d-5}N_*~`NKiYh5vG~5Lvq@0Og?q>ICtoTQw-MLjcmMM5e!h5x{U>oY z@ihBS%U1uM%N5njH{!Ds&ljH)uXFE7+|~One(U}BzLUG} z(>o=U&ae5)|8}ADzZt!3dTR~#-;e%iA9Eh;t@!qr>|fCv<@TrSTZ!MX zx4%V?Tz>SgWB+NsUGc3**Fv*kq*BzCjVLf?IYSZ{7Z7<@Jh9hU&lB8?^-|dPJWIoAAgQ-T%Rxd8?xUe z+Wl1LUFXYwmh87r&-i{>a_5H4?;l9dd*c0gB|qc%ZCt-9yK~Ez{rzhPfB1Kl{!^9L zzN2-6^_}yXC-i)-4xPI_BYOP)%31l{GPG~;%i8@0rT>R${70kzT{+0zlYTKf^Ut58 ze^KbWP~_iApZ&Fi-VxE_>(;U2>*DRVH$S&O_;U1};jhDghl^Eia{MVvZ_@I$NVM~2 zi`LIr7h4a*aei#xY<`z_DPqBZ{9neZ?UiKoFqMb^Ja*DZ0(G`bEDRq)_1ej&cye{_3w{= zTo!{Up-iMNTr*`IJv$9?eAnokD#v8miC=v<`P|{#`D6c9 zwC{ZBXZ5eXPe_ioKk#CHXRW<29B!K5uSPpJ_37wuCuiq7*$0$=`@0LIcUS4mRDID~ zKYE6qhkNduN6#CM@_)srw{Y>CPnDj1fCHn=ujYz2&oaN#pIEn_pPo3n=P-HYn<8AJ za{VHG@?!=)a?e%#(eoxplgo#6_?P~%rT}EC>iOE=2a?<0 zqURpX4f&nA`o1pO{e1g%#y|5(`%IVQ|M~3pjW#Y_7XR|_l2H8Qkjf)|BA#Ns-(^1dxO zymymiFCFtG^PpMl_dgt(7fl;&ezZ{ZIpIs;tJ+cYvjgA!@wxcspW=b$pXQz7VCqr* zc`n9xwC7{K#!h{EKAtB#G&w)~f3oNAeV4BpYiAFJ_CfZGzA(E#hQ<~1S7^Os9CCid z`o(<->lf=8agViX-(&m(|Il}lZyet`#k#|K`~vJ-<@9 z4y*k3`RpH`R6l6^uz$R9^`~EbE}+$rRT{_WXMUjBZOJv;uz`8G{% zeq#U9yu^I_?wpV7Vtsr_oV&KGLG?&pni{p@&tiM?}7&V6cEXH~y9_WbNG{k-R- zA28mD&we-kC9~IWh(GQg-*~)R^bz^hKkJw6Tk#`Z{f_U@0YIqLvbAYiuOtFsGQ=e;;nGGp0D`pVbRls)0OY_LiMm@^4Y7mIl`^t z`~Kz+iccJoeD~<-!%u|bDT_t_t$Z(m&2j^W)zaz8PK`Zc#edhV0CD|B&A6;mqa#-slT!x0i+6Rlm1J-yOal{wKS?N7H*{ zko)e%^@HAprB7~Mcx8Uo$7a>HcK>|xKV;meg<`{c*I zu6^6r(i891kLp*S?|sn!l8^l_x&E7;ew^I=!@StMgPnD#^{REO?{$2!{Hz(CT>b47 zZGYXoW|W)HFO@!j=I@8s&z&BMTi90|&qvxnJTiUz>rd2v?XQc=L-Ba=eewPeWw%jy zXXTqE`t{O5pIJNlV)A>F&l64l&S1CO;Gey?kbHR0rRV;^KJ_POlt26bZDo-k*!h_o&C8`HlI^U+eeHPt0phiBI1==f2v-o1uGFk3~C& z;{1yErSmRN<=1%@{10UB+zmc^@lfN6alrWTc;zOavHBpVPY*qgAD8vqejDyx`}uwJ zNzuM@cW=*SqVUn=lSYfv`(DUo<qq-t;w+O4dhFilxlWn< z>HI7b4ed`z$3BI)zx#CiX79YsxPNZ`X}-8r&u`Vx`qjL4!t(LA>g~Vze=hp%?5vlU zPQGE~vhKFuNAK9=$L0To{C&Rqwa=z$@5z4A z@Ve@0@o4jI`ql^L_eZ5?9YIcC`d6nXedRU3ch86X>*Yhaj~?vlyT3BtPjO!q|Dfh+ z_Er3^g&a-3Z~FFU(B!8kUzT6k^Vuxgcc`wcJo+8qQQ4<>gbP$s}1)2 zt~|)4vr77xCwHGs`X8u1mQTL>;D_DM;*a|y^3Tuce}SIkw%IGsjpgfr__tP1FNWm* zj)w9D&e|qf6$M05>%MUyGy|4QD zU+IzKvzMPm>)*xeAIx4{-*@$`$F0xZi?V+IPj=+i`Oam1p#0Edhd+OE@dNP!d~pVH z{@6zM_@ymYh!SxH`rgOJHVPDSq0p|d=%7Z z&R{%$;M@T@n!WVkC|{xUU#%XNuYA5+zIpk)DfzO=R|vlluF-q2R_OlT%-Q3+&xgNZ z`qG!4^e0OG$?($rx&Ka|AAavok9_U&|9t$(dp_?8r%1l(pto2w`=g`(nV&tPpX>ej z%wYeI^!VN4UDB7%f!Y5hz3rk;3-1Uws@`viempc!aQ|qE>g|=})-T`7zwba>-_RqU zBm3R5KPPlg`uhA>Us)Hqe;~b&=f`=G@%v)u=a(J-{Qb9n+#v=yYZa8dFVL4lk+!c`IO)3t2f`9TB`ozyNyRv_I#Zi@m)&aJNG}*2Wofv zA@^Rz+03uSp?A-(^@aKGBBj4{xM=UiGSSDBuhn}FU(1hibEo9D#(!_+qxYBknT^vU ze`ir0w$h#Os&ow%zw?eF4S=UYF|Qu)kdzuj}Q&bGd`uQzM?lTZ0` z?npkwo8(Wt3SWHc`to&X=`I<)Sm`WS`}#tB>8hVkm4Es8b9&+ci}YL;4##=9b1m0o zr~K+i`PIiG`LREGOX;ge&qX=K_teAq{N$V5bKuW9Lw>|<#4*H0CN5uR_MXob?flO6 z(GOJ4L3m{8iaRQg`cdyM)&Ko3WIs)Q z#SQMypZI}tOxyeQ<#5%W&uY;h50@L{Pv&o$L67~r`TchO*&m$!>EZFozZgn?y5#Km zm%jW;f5Y_ctM1Y`Y5ufBwD}WylG5EHIlG@llb;;DPPlV8Vej87`Ef3iKlaXBN`I8I z`vt%Gn>ai_{?R>$!{eVGeM~5Rd2+P(^SRoY`S%s|C+6RWr+;hsc(`9UYxeq`Z`c3) zAi44F-2BcF|3{&HD(BFDReN12zh_5(uKGMYzJ5f%a$NpClKi4jymGDkBBuZi30-|kLN|Mzm~>-UUnyQa5p>7Esy5zdf&#_-|rq43=Db<^&I2&!>3En`hnh=>6zcZxAt&Q`ql~L?CIT-J^d-OC*L_aKlsv}y7z4D(DwzmD*f^M zg3|F_!e{b7-C$4eJMrzS^Z)DoFPNO(DBq^`X@2T`crJVR#h(8?J-6kf=dJxd68)3p zi^M-5`oQqM(EI58COhXh>3uK#t;6fXtwP@)IVf5?yf%9I-V^f>@j~&z-=_CO_*ms; z?_Q<$tbI#oq1x$o;pzEto?y-DW!BKW&$XhR)A)3D_MZ=p-mZGwq%@QvUXdFMsYw+?)KpJqP7_H2xC#`A+z9 zeqIW-6MX&mUCA#F@&6V5LU?QAxN{2Q`2^=IoTKm^3+E>;%l?sYyXu#}FZX`gFF(0- zcZ~0R>q61wOAm51`3%Y3Ph4fNcYlbS-9F`yJskb7o~>{F^k|f8O*zPt=Yc3d!%zzww#gN9$kb z30JEA7LR_V{L@=2Ilb4CuU~#fIeYr#^rb7kpAY_*FCX6x#dYYpXEkr>&!0X2_D}4W z7JdvU_IvVS5zJ@)b^AG=pR=K`J6w@)lSBObGF`t~9H-^PCJdZoWn{hjBxO66EF zxwze41K;;QJm)nBIllIEQSvc9M{oD!7lz_@?8Gg_3HcEpv`--ZesB2~zbD@?|IPu@ z!*?HGl+Tyl5+T2zjovKek3D~zB;PwU52U|K{CmnbK6~You6ZLp`5?!a-%&1q^z7qI zT7POEXU=Fi{~-U?AZIsm{VVyG(%UE`|7PWVqVi9l{Qu&+(d4tIPfp)=I+q;mKOX&1 z{_RKE_mW@hFXOZLjeg|d-lzFWf3NzLdmC@Z_2+ZxTSr)z>eoiO``_+8I3IRN>CE4I z>OA4q@qZZK`qq7*=S$yuchmIfi))<~|GfNJH$9uZdCO_(Jsz?@FZ#;t@r|2T#b-BL z{T;oxv;TDC-bLwuxb(L--o`&QJR=kr_-*u!p>f>3wVQiR{;TNwd>^Wv{wVorA^yn& zf3$xo`5xh(;TpA*8>0E=k9?QpyM||m%Vd92G{1*LFPEI&qw#&ubhG5X=LJXkl<65) z%!}RsG7mRD|5(q(Jl}f2`6c6&afx5&T*vO7xxpa;zKYtIcH|eRr*OFTYImfg_e)yN(!S$2phNooz$LPJo%R~R?yD@sJ zL680E@xKyE=R)}pf0TT`@RIoQ!w^Umuz znx9Qpzwvnf=S@xzf6e%h)$Znuz9G9EqIU|93E4~U?(E;6e46ZMjee;2-+J_;tyi|H zKYSy4?aKGR+QCB64<^SyGXL+SH(PS_^2vRdWbNemI}i5Kb-&8}Ch7T($(yBz|Mrki z_T=tu9X8}o{^e)6>S40VYrkUO_}>dZ6N;~jA5EWs`*ZK9d{>vh%d7uU?=SJ)<3A#L zg6!-I;@cm*YLFj3*hzQ0^j1&q`%2r!pCmjx`GnEmDF0uHRu9Kle&lr;{%I)w1W$IXvg{c2E9H`5Du{amdF(^^?xOA6mP< zEdH(auNP-Gef|68(dVc4X7qH)ua7@_INHyh{#WuZo&Uz)B>n^;n*7f6o=eW3bfmjw z@(V(C^d2dHm()Hl4=)XkPqRn=v2=}7KhB;VIeY$RsJ;CEb`0EVvYm(C=Uq3y3^X0V$KjeGH-#aw#H_yL0KEKNj>GE&>ZoW=$uk61QZX2#K z_~C!!%Flk2^o{$*d-DVH0P_koxwsQM^9*wOr_^r#9pc{>&HoMMd$eD=_QB5kA3Ws z?EaJ=>pAPYr}Dc`@{iOGepvne{@;TJ-nsy z`>4|YTX=2xx+Z*oXde^by7z<0cMZ>|-q#JSPalZ3KDExCzk2jNa_!K%^^w{)eSThw zZ{2SFOYh9`=^d?}Z*w`A^Tzdo;dZTPN4PoX63w{#to`zjDj;&j?ovA572rrCH8)Bm$iETaxjufrogRIBG<$m6=Cv8za zcaHD;5xH|nCnZNazjQ_XyTXI==X{X!N2d>R_dlMFe{<+Qi2EPTHJzN?{@cT)^HBI& z^3P53{~z$o@t3O}SL*%$ThINa@H_GKQ~E9QEB)Dczm`3}Pv+<8{QBbpfeSG&)|1&&4&uy{vpHIF_`6BmSBYsBz?!#`GpI6F{{Jk&Q|AD@c z|K*2tKAk=O=Gkdy(pRqSlS}`$^3PuTU!io!(d6zSZIk_pA-?-c+r?ite}5_cb)tWk z{JKH!rfBu7UjH?ekKDZ@a{5zMKTCw<>W3Un&i;$FyRU@b4_67j-}L!WpYr!|`SzSW z_s^Fv=cLJ<%cgfidi-b~?!VC|cV3(Sv3{;AKicUO`KQMYE}op-I??J?K9qm0!Ix@pJC*Ji8*h7z6D%K1Z;fd9gXmTA zvwbxGqdmW=Pf)V|myfRv_M@C#-QWa^r!W8Cjpk?XX!$!Z+W7d}-Y4VZ+0loDw}!^C zGor`wlf84h&ZY22&W~}}_)E^O^T+&=)2BDejjx*z`F1{L%>V0EsPUga3~s$M>6VO};_=f0qvbFDD=K zC*Q9nAMaX#QuuXMSg$zg6vPk8r{2Wr6UR z`1S#A$glOj^|^HTwO+UGUO7MG`rEmOeM`?edhclGBk-+1$i;QUi>$l@Murknfv_vy^Ef9`rqXAZ>xO#tscEV z?efv`wP5_&8(;5>cK+5m+VR{hIeq7U>5cL)<$tz!@xMZH=YiQDnm+&Z$hXbzf$*7d z)9f}1_l@s7@h7VXetw$#_)xlsWPe5PzkRbW#~1G)NB^bz6&EoNG+#VFd;VU|zj-D- z^G)L@K6`e#o8XJ3YkgzgFs^UNtt056$q(#(w+`AN+Wz;KOV7IL=gG~3_>;fMlFO%b z$Nxk9BERQ^kN4huxOP5e4yOoDP5xH;cfZ4Z4*oaF{x|8N$?1>xR^(&l^0#{SYvyn5aE-Ald}#lK{Vefs3Hc-EkAL}j zq5RRO_hS4vnpeIVekA_X;jQuS4QGyTziF}BmAIGqn>Z8s%jKJ#zW6O#{8ZfR2l<~Q zdw#^z#JAY5I>Z$KcGy5&kl}J(8O@z)?Pb^>2Ssd$*71 zeej;4y&vL>zJnlM$zI%(fBf_llkTc~9uCnjh`sH|0+|(SEK?51-wP)yqtw z^GD7R8J~^E&VSrfJNt6=;NHXY`T20TQ|lAopZH^T`-BID`ZM!|1j+PF&de?8glAiuhyTUh*(of!Ay-%5)dhuO*_y4s! z-~U*odi9?BPnPHBdH%M3{)W)~!!>FLC&&NOyU6#5Pv1FZ{+uh`b60&(za!$`KFHbe&u)j(moIvwz4XK< zwrC#r&Fp7`@yYRhmshJ!`n|AZIs6eChl?|I!gZ+$=ruL-9m@ zmQBun&gi+CZ%mutA6H)cK{wWaof!YD^rmV*&VRuEGU%~;U+vC1()w?{{JcLodd2FO z{`ASMBk9eZz5PJ(9{ZBcHM-xoVEWF{JNFOqA1{6TG*4EpIV&$c{+#belS|ik+Qrkn zAE(sbwDaSm$M~9d$&dEQkM{^oesunPAN7RF|Aor;!BG4ZJ;vwB#Ye?gSFK*=uAhE8 z|Lpl&CHb!gy)~nM7)poz8}XeJT_FE6*Ip+recvfRpz@HP8hvnnR(luucrS__zjtIm zo^QP?fA1?FbCf^lTbGOfNbk)!zBwN{d3L*oXXMwp@Nu4HUiH)TSIqzB;g0b)i+(UP zZ*e}=c~$w7ALB1MzI>X0+)z5^A(KYaW4BrL_hj-%DxY(|i z$tvfk(>pQyouXeY9s5`MZTo#|H7{|$Y2)mT>+9D)P8CiaUX$Ms5B!ay`T0mRJv8}8 zljD!}nik-dyc~T|Xx{yL&)xjleERe8_v?K;IeO{nhr;RV-#?mP z-&Orl^2@?2v;S?hbC(Baw{`NxLg)9!^L;C%|INm?b)xsG+*`!=-SAJwcmC|U=m$#Y z`0T|wkB(N(6U(piyWezE_BV&eWykL<@s|u=Ouj($UIX8~h~48a9*VR4w0w(`lB3C` zGp<|6Kb0TrW9!0k|K2*0{LJk1V{?{2?MeIkUi{C6>Qld>p3R@lv(2B)r$5|t+$bbp zE1KOggPgs2IGR0u{y#t1OV5AP-l-qHzVciWYWGJ*kL`ci-p{+ksj5HwMaF;QxbfS3 z!2Zx7*|U2x8k!HhS^Ju){7PTCn+@r|RR8sID84vf{y)>W@zu&VWB&CEAL+fgFuC{J zcY?Pi>?+&M{-scbB9^}s7i6@gkou2=6JXrtZ{~OXB?`Pkb-R|LA)sy+p6qR?i z%H@7En*8$Y-TQXmn;-sX%FjpBCtpAQUrV1p|9`BW`JEtra{A5%pq1}u`TbsY|1Ev? z@_%viD?{z~hMwn7!eheI!lMVd@7{GZ%DJ~@B*XAbKR>B}FQz4eQ82i7nA%Fp`wbxr{P;PQW7 za_0s3-!!>$Ts7#iyQg}!5A+Z1r1z2h&G_EG_a^^9=shO)em|RkdgS^6eEOqYzVOHR z_7tTr-{kCk2Vs)*ltaGMyZTap>Qnup$<-gZ=R!_@&+2`we|9${->>?erT&Ng3duJO zrNgi9-f2fC=104c?(5m}e_u4Y^vLDMI`xM72kX~wM4uXxUsd|_=1tBIKKsAdPg$>$ zvm?hhK2Dxr>)z>0mz@4f^&j7?d6-@Q`NtFc=gjM>)HDE8o+h@;w>-Qt7BSew<5{uTjo!v+TDY{IHY$W7YTLq4bX{ zAO45n{0)8o%ke#8>jUQrZqA-Qd*w8K=#Ss-x#_Qczh>;8_1k;azWI48d;LDY{OSLt z>mlG_iXC|`-t-;e>=YPl}o;r$Nr>!TKd+VCIgE)~LSiBf2l=oS6F7{l}8ecx?(f3*1Z_o7eeIiDJeGix`#fAT=-YCq!7%ar~_p?QPnyJG2_8IJk; zWaZeP^q)!Z6Y)RWyxsSr?=2sj#h*FEpQQS>o)8B>lk@vp={;0>_e5)d+Ld;x9f{v- zkMzX<>3e^?FXY}A`}dJ%U3`1$6qO=|DohFh2->Ci%*|_ z=W)%eowM>@dT-~eUS|(qC|`%k=OD)y2R8pO-!T7Ju;;vA_Os+yzq5Dk(K*M1(=(58 z4pRKfxpLG7Na^hueg| zf1j?;kNR39x$k^^tn@AjeGklk)PLUlcW&|}!aL(nUcRjZ=zTJ|^KN^jC%x^Ge>#7g z4DzLter4V|aRF z_kHnwzjyR=O8W06r%x__?o~}teOwhz7=FFyymsS|ap$0D_P*!Jp1*r)-|OYievI$O zv!j3YkPrJ(m*~=a(=&>-48={8%Mi;es1(V z`M)(9A1#0M{+!+$<%j(B_{v3Zl=J&s`s9C!CV!}WkxSn_H}$-2`B1+ zh;cwaK7Z-GRy#rK|LOlE`MjmOe#q~dm4jdQ{Q1Ai$I`>+kG=7VAA0{Q{mV+%{rT0S zw@!XZ^yMLa-~XgfPJg2E_3P{|4avWfeCPPaKldx-&pnQt(qlJa_LGOlR_`zL-j3-_s)vv=-& z+WKkhEOPq%|0zHGOV2%X>Fl5X^V0VnweQ4tuEclUoFkc|@{-e^uz7-eGN}c^ml5%?8P5_zsPqQv?F@j(+9HuddRQz%y;G}-#-b> z6ZWWm>>WC1`Q`F=bA0m>^B?o2(+0ayzDIKY_+K^u=Ovd8zwSMpk^JhA+G3Q7_Z;c1Ry)2nKDqA>oR|FR z@XqvRZ(L(fpZ!DWUl7ib{%+ax=Q|eDmS4|jw&>}?Ple(mOXSCQW5?&~x%2;Q`8X>( z>4+b$8~=<@JW)IGe5CLBOkcic2pI^3#`p`ShP*<$X1K z^|4Chnsu6ayzg?5qsgrc$hXYTmer5-q4mKplUpBg|Bgx@L|1FCBlKXy-TSSs$Uvt=Fu-=vhBm zkF7MMOTJ!w|Aj!4^Z(7kUOtseI?A(lMSXlwY|#uWOTkHGiMX|60+~ z#UImuCHpr*dh<0um;dpe62JI!mhSh$8M9Z9>ec*7ecn^L^7~TukH^0>{N14Ur)Wr@ zAAYY&PyLZEQ~iiOH2f9`?=OwY8I*!aKs>hexD$ zZ1|b#=jYMpS&yY}{$-wpe_#6MS2skPhuszZa%jG0erY~wzsr1ctRLmvJ3rpLMfffM zrz>BGrpIoE`farL_k`@8t$s&2yPpi{u%qw(r+cy=E}uWo&U(l`hkXs>!G(>}w}#tQ zz6vypQtb9Fz3;f4cH7 zm;E{6x$)PDwobA>d%E&jH)${SL$%-cr-y%1^jYDS;UT4Sc6dhomBN)n`=6Ip|Mo$r z$Zo^XynsEqbjj@tpOW3_A-k)iuP=S?llSY%`1Tdi(=x3|29c~?r{Imd~d_($;$7m;fdi? zmH(oihyP!BJ_{r_Z^7Rp{!*d#p?*ED@%gjgF1wS;pL_H#N9%9>hl`#3$?x6i8&~eF zT*iy7s^6U|-;cus<1Ze5H@rGI{V&DeZIIJvPmewMlG(`z`8VUkQGVoLCqL|!L;o-C zrQbLIw?92q~( zS^evZJ!k6=@rNbK|7^+UsC|t8Pn|jbTKPXQTKcamE_Vn%=>>rO-j%h2G{zo}KP&vgx#2v&J#2qG0&-+h)Sp3EE&+o#~^1XF>zYVVm z&A*JJe;w+Le}3hEp8Ox&{Al9J`{DT4#9t$%NB;dmzFsu>3DNle&-KInk9y?zpDaHg z%g+WOd*{>f<%eAUx31l96aKUM**%&Zf0OE!eAV>!4@dcz2fyF0eC(G?E`4(8tvJ~8 zFJFr$f3keD;}_!dPk*AyGjTXe`Fl3{xct5mekA_X16~wu{(o`w8QEPD-Vk0K`YxPv zqnl+nb7=e#*E_uYiT5pMTn^99?^mMV3D1gud3a{{R`oYadiE7Q6>Z%ALHY|8Ct4=j zdc$}vpVn8-htk78rt;w*9nBBe2JMk;=E%B=H{;qlA zO^yH7_1ERs`r10*`gqyWUng86JRv{U;rR5WPmld5$2X55KQRCDZ5~O_Jm#`Nk3BhB zI?8ojcK(yGOyzn${unnH>*x0RrCmM8aMJoO=a!bPeqRq?2z|Hn(t&^fAV;(NcJUMU z2S&Mb*z`s@yD@+K`)(+`$Ep|QxV`lC6RRcnojd)Bdz0>Qy8rm!%C|}NH~#B7eYV%KmIQEtEETo zJ1zW=_R^6L_VR~jPmdqpX&L3pL7#k%>UYojv6aiO@89kfA6}pQ1J%<-$@hI1`>*F; z`gdh7AJQjx9*7>faxIX*G5_TB$)z)%FLJJE_WY5f$(=Wnud{1s^tOt2uKt7CbLBJ- z|66(sCC4{EXOI6__Scp_b}MARa(wfCH2c42&(BurKM|5!FZ{Xud7r#z-aG!q#a_$* z9{D>ld;OO9s<`TR>ZhDPH$VJt_D3ZDTz<`$?vHbIQN@>93+M2&b&P=HIWyXGiZp z@yYog=fCWHw`9BO<)`7lO7HLW9LzWIe(|*Up}VE&qqVw4WWN|eDlR4OK0x* z&gc1_$?o}=4!_d-Rr3S)-29-k3Knn?s;69-bvYA9xV>AOXYKJSDaw;^ft`yig2IskU{SMY4pg^ z#vjW^KK9FVmA~hQ z{45%O-O%~5i^~6vq5l0h)i?e{(W89(>_$1etF!xEC|`ewUMSorygmF=sD8))SgCLM zmoMd)|H*ohAJmDjQAOEdhzINn0pUzD`kiX9)r-%R5_|A!ZqVhODvS{)j(o6nC$j|qZ zv!Af`zia$?%C~vc_0{Va4Q^go!KJ^91gzmeV_T3@2c>AUA8y_>RMF8}N&kLHKH^zr3iK0lisKL7OH!#lYA zt{ZOA^IWESo2-1PzqitRF8K-3>h;KI|21MiWqzgzeYfsI(b@(7zF)WB@chgx{vCh% z>~9O#seSU#k97FIKKs#+a^fo=|6eGbm9zg@cw_ui!^z{L$+wNqew440{foUf{?o?Z zciH$E?R_`y*6ihj{hX!$+2l+0yblVuiN9yhamVs=N4QD2Wbz9_@};8B8RYEFi@!wA z$#?h)NBVb!X!1AW+y4|-5Z4g@5FfFg z8Rg;>WBh`?@o}c=)A(q-8{;edOV|1LqpBzK5BW8&8PA-*5vTNh)sI%MKL}@T-SCh6 zE)Xp~vQ+fxJ(oK|`$2z>9^)ggR!(seeosh$^#4-nUz2>U@@KwbT(bVYGr9P~z0t-u z=QfOUOXv6c+PnGhW6|QQ3+IQwnWB9^?a<2Q`+C0XH)rjL-ihh?p4vF>_`kFMTmSxO zbpAG?~ZmJ_$!j>+4FxTe%=s&c=7p(vw-XYl`P^3CCX z#dZH8kL&YO*=?KMqshMw#pCyOde?9K4*9#D@6i0TOM3g)m!u#0i94^@dC!yV|HrLa z|9d}l)evRrIfA{YAIj(r)5AS$C(6}<5==ty8 zyyL#l{+Rp1BjR7I9^W5-CE4$DcTRq+cD~m6;=DR&IDhy-zenaTp5G^v@$3&T@3G;X z;V~iJd*gWa_Qjv6ok!*Ow`A+*d(+R-@%1~2Q_@>skNj^t|E6yql2?6rGXCh|`hA8x z^2&E#aTl+D)qiCEZ*?C&ZSwa*_YJO3u1Bs<=Vxahb=+Tlb%=9b{U!c~l5c7Jv9~|# zxsUHp`rf4PBR*C9<2#SM=kY@0Yvu5#@%*38k3W9O>cO*zBR{qF6yN(K{HKX$H*NAx z)rFsGup9lozy14;-_hB7kJ~=doW;E@T)w)d4e7oAG9nq@w3x2cYSDM%6Dz5#j z#ftmw@E!4!h3^b~*YfAtIevKl4-dTK{&e~&iubPYne?mIAD**$4(UGkq3j+R;>d3v z^W8=Boc*r38lU6-(_ZQEH&vJYDfZrvCbQ$`|3l*W+xPN+^~iW}{0`eX=J4vUe)0Qk zb`Qj}!;|rUX7wdi;)q z9~tlej`9D<;P3yHZ9akcc>C9n=09isWB+>Y&Kv)y&F>)R%Wl4SGTwgpbIl*(;6IrE zTk+%XEb*RWO<#XLQ=RWg{&D&53q2oWcW3%Pg!Jt3^!)K~^q-;pc=C+t*{csP&%3kR zvw7X`ZeB^hN&Vw@;VYy+HT_HV!-1iB%=~44{;1l$ReqleznlJ`@ZfO4;+>OxdHA#N zwd!~&dB5si_VIP|>iN6DWJuc_abP4<0|_^(#B?S(5Sl)lToLdp_}Kb@CIJJ%91==M@jn zUi-)P=?}lZ_grJ9;@nXk*LR%#zdCV#82{z$zZOni`>#sAJRF~oe>=V3iS3`?jLn~Z zj|NA6#`^n->Lc@Ke?vSw`g_x#J^`Me-?xo*@}qx`;~uK}y~X!CJo&#>``th35BE{} z>kIX>?-!(ffyQ2E;PWD}cSF`&|`Rp6Lko?=h|E2URbp3d5 zygI!9F#cZ_@t+y$x;}q-Zb&{cJKuj>B>i*c-!1w0@a53{`?JZOt9_vM+uvKhIQIX} zh+iT-+4|(3c{YT(s1;{^Qq zLH6QXzgS-zM|0P{H5)H*8RQ+7**-v3`H`K8YP>x*lBdu-#}dKLeAc6d1Qn`gIv z^XE<>JAVE@!_x83bC#Pf7kfEs$2c1r}rN56^(<_8W(eh`*vLX zpGE76AEuu#{6Y5k?tQ^5>t?)lKf5p1&&QSjU>jAod|WAIHy}KYsK4rt3PibvScqo*Lh4eWLokH#_pr#&immImNer`cv(&u6Z{3uc7}l$L@{dUf1~eOi0GFe@Fb<;mCh3 z{kTqhBt71G&H9S{iJiB;pE7Ip*>|>nv2L+0v0icAu&%N`v0m{W+$z;$e{hlH73-%} zLjKlY^2>{tf8YF;Zrm=`@o~SoVZ3%~m-deT-|y=Duc#l6XgqF}JZ=2d>3>!Ku|GRr z+&AJ^N&oZE{SrI=@-Ni9G(|XDcvf||@1kFE&@Z38_e010vscFzL;F6QUOUyHKKoPl zySC{#K2m=3UDl- z&$}kjK7NmtpS||)TAj{2{N?F42rtUteE3@ZHgmW|ygZ*6{OQG$mmPku+Mz!6T-o_? zZTURE{%$fq_UgYOevkYQO5QPftU+KX;=EY?S%>=ONT%O#0=)X=755+I^Za=6uCJaSpBMkjj+^h$dhYq@ zfhYUE!8Y+X@?()4~(OdBR_ZkB3W#-b?WQ!XIkiDP2Fj|GHm#{2a-6`*wKt z*B57^<~#aHlKl=(JipJoI6pY@mz3XowPSqsc)ymN{CK~wTeWzrg`T?|)$yaha^UUT z-IE=jJ-zrNFAv`HJ-_$!eDJX1uRhc{b^2+;4LhzMOI{{iJN#+>?D$VN_=|T@`c3om z{Yd{u=)i%e7k|9J^4!gR)S<(1cKjzV-(K(yn4jHtN3_%#8nTw!{zV%TDSgpUOAuP1_QrS ze)#p`+4-)Qd1B<{6NjJt&UfqjR-BoS}X?E7|i+cAj&xTOqsc z!w4n{@2z{@&DQRI`aH|2L&(R?X~0C z(Dze(zhsg6eX@@K0`3FI{66W|NjRks;q^Lp*u;t7nPgk@4(*RsG(Z z@H@6g(tn`(FRVWGe<=O&;mM)>fqS!`tUBKt(%awVPtX6)gFkzA7sre1dG_8czWMix+=Zr^;;BortV8Tzh^i4zf~Uj$?Vkg#R=q}Ie+t>c};!dy8m|H?Y{Y{ z+V`I7y*~VSaSu#}BR^;R=5G&vKgs`R^~X=+$>Q@{V92vw{_OtLaZ(4K-(>mE8shnD zr}o=FaNlp=;XCyQJNqUdY@B~2JSO}_==+iU#TUo?H#=Yd5!z3Gsrbt^F5qqHUk%yW z-}k&=wIS~$#hE_jFQ4BLU0mEZ!@qUh=WkpsoZk9$kM!*D{FjXv-|xNg^3k)$`@QQf z#qm2={A1O_j*MqNKA-hmc9V|N>-E=q$-fKzKbfPuPCT9dgW3Nn{bPgQACjL4_o*L` z4*6RbTPM<6Kl1x-e!mF$J)CSE%+LDOdKUl9>c(4Nuig0DGrT*ykA?pK9vN@`<#$5< z_Q~0wS)5Bk>uT%nwbJ`e%vhiGKYu*GkJit7hhHh)Hp%xie)NO9?pM}{-#7eUp5j>l zTkk(v+=s*QyZriHo|}q$_fUtrT<6B?pa0k8`slj(m+E3~eeS)Gk+(iSD!*ex@6Fxc zIQn9Gc~(r`y1K_W@{NA(Puw5O(z@o#@c7Q#8N*Tk`}Duc{{E1R7w4ANSAP!ouI`WL zH|qH<81MbQJ@b2}{NDF-f9HH*w_g1=>d(vHcs^sW!{43$Yt19#{-HY5^_6(@itiVF zBmME&doJ)$@`Dr5yAGZnKfd4My%zhp|7@J^nEhYFc|+H`aeiC2_PKt$p8sEduGiKj z&NJ%}>zw(^?>*yF^>2Ff@;=EA7vDT?{&7BvjIV2lj>HUl>~7TYta1dEi^c`&IpR zU^rKPUmxnaDB1UM%*WNJ`~TGH^&DC|*s0rd-^pvQeS)p)|MLd@1GWF2_|J76 zV$c7P^t<*xU+F^fB5t8r=f9a+`0cVe%)UhuOBV0-gFaA6tc&4)*loj6DCt2Y-GaNzY&YTgpREw*FM#=kvcLw9fQ@ zL*+en$ZtLV{pRQ2h5xSKpGfw*@ynAJtS)x^o}GZdI3xdL_IHKs#KoU8#FhU$>0fPJ z&e=S3a`mr}{K@1StK0bcQ2p^})Z}CHyCmfIi+Fb8@^^h$ zraa4sPlW8%<$Z8^et0ro9iyN4JJxSohkvYI{`gzd2%Dd$f<8`^C$$xBhV- zV}1L@ju$)YTI)>LPwUUyi^tD%oYCKX?43jW6O!?+%ly@?&XM1}{O>HzDar0XJa2iv z@rU<(V#|*62Km33-E8Uint=YQc>XJt_sVelc=u0Nb$ovv9u%)0->14W|FJ&p*DsEr z_K)|ac+aW$Pf>h&>v25!w(Qt%Rlj&o&piIy&fibRZx`C%!@r(>+TwZ-?H_~Q`)J=A z?5<6IHr%KFdo}s5)uB%H`Q7rV%~Q9B|IGg<$$n?_H0@rdj9fhpZ5E{i}o$vxV^l1et-MkWWU2D zUzPrA1J4i7-glzDo&C3}-|v=RYhJ%1{_J@6yAJg^|D2D0Kk?=K#qqlbzq7cmJmODV z9`;iw{36E*a`OJbA2JJMrGH^t{aTG3(d;+xK}#$9JRfJL&Ov zCgZ=BOfT-A>sQYeJ)g5~W{3COPCa<`uFrE-m-|@vty89dEFAYorcN&oJNqZ^izh#x zJV$6>W$9$`?X%$R)8N^U>-*R0AM1DDWxuH7eP4OjPIh19{^g!{-*2bq_p9Q&&vF05 zkN#)H8U69>=Wm>e@BKP?)PF+t-dX-5Lf0kNq4E0j&gz&Ud@y8x-f*28uWw^~*R>al zb5!%kRiXR*ON&dsGTC+2cbDK*@z;dx>3yH+<@n!(*M~QU{|avkjUW5rkEeeqytw`! zzhnM%`c>-p%d&qX{9d?3?OrpSu70te7}tr`Kh{OYhjHP!`|h6q4?6P33%ij&yz%jL z^)FCezAv;y^1Es$d8Yg}Ne@Tf@7hLx@lTjQesO$PXY%s+9UES~H^uvZfzwpC=c3<_ zXE*W(#IqauCF8}juXfyVp$2{r2$Gqshnh$5UeRx9i`&yy*W$^5` zia#`@=g*Ifzaaa0!w-ZXD!;mRAL4!_UcO0^=MC+zpH}<*UjzFOKgmu%;~%I$+2QG@ z%5UWLtNVi2vSUB?zqlhWuKMhw>|VS*!ZRDUdnMzYw|MtE>i^HsKKaM}8+BY#eD{qP zCW|XCo_t$&?Cs}_^^1e|+)w>W)Xtl`Ke;tz?|I-@zq&p5^!&xRc)t3K8~eldgYDDV zr@pmuBo6<3({C1ff8hhgw;#Ac^Bcc~YS(+R`$@e0A3XaFihpBv#@F|9 z`}R+F-2WEuzT5r!`2$b?tMoUAuMc*APWC(aXNu2Xe)|LJ81vs)9Ddp%|8|}KU#ngB zhuf$3T^8SqVRwFZ_>;2d?{_I14{`X3H-5K;zqkkIe@w{#l0m<2^^E+^_1m~V;C}p| z_;c75$NNJ5KlOTzr$ge`Pd>Lg)=ZCQe_}it&wh<~c@7@p?-tMR=6H7N#;b>3-cIX@ zhAM=az%i>Hw@qho2 zPkooit4|$|P5NJAd_Vsm<@cTx`K|Pm^t_56z4u_*v%~*8f4ui|pG(hfvf@K}{_MSH zE3fx&*?T{i9o~DrKdk)^g!^~i+JEz$=!cEZed8AjzmopQ(DP5vPrX0rInsWEzwamd zUZVWlR?mFl_#MZem(P3WXLQ_WsUIf}@$|Q*zqvZ_?AhTrDDKFgoqnP4oFTusi=-Dv z{F~Anf5wCVZ~L#>{pHaAfxtgjJ3bySj&ZPX{6F9E-|@}P`+s=jo2-sIi);KoR6P0F zscYx@6R*D4)HnFESC_iS`fh67ad!UKgp<~;J>%`qu{$Td{l~e7IQ9i6O^?62_~P8w zae6k~s&?|5H~+B?cAGYT?-jmU{FlQ6(tjbOpDdoA`Tdo_pC5ko->kUujQk4m>Qvvn zW7U(>(d>R&+q*79@d`e&nvF?uSVYcTce%zJH7X^yoWXNmzHm>aGfFl z$h)5rpZ&8P-z}>9vhc9t&D1z_-^9*+-5vQaJNUE1lf{?U{rNQIV<-RA>FqCGS{~02 zr-+{_bboSYvimZ6_h0Py?fhl$zKA`4_d)#e@{`?PeW*I=#T|M6yH_uspZhFzii2OQ zad>L^UM$W@q2Gxf*LiSPc77Lnc=}7i@5kSh%|DwSBQ5X>i*4l-Y>|{_vJrXdzJ`y2=VOy)jDO$c>2YY*Bt!ur<6~god$nA ze=>je^0LD(SUfx#uRia$eZGF0vvJ`)IQN(1{h|9y=)TeYFMGH_?Y%0TE!?H~e%U|3Z2cF*+>E)6C#{AES7f)TcruY3&`jhixFTQzReED3zcI=UCW7Y3|*YDQI zZ^pCZhac~6zfj%Qo#!M!8Gf&E>v`)!#eYx79qyRyIql-fn`Hk=?Oifio>S5v9jfP= z@-Lr$iSUg4XRd!%F3)k{McG}DEY1$;muucxB$V&$^1Yg!`VQ>=K|9pH#Ne<0^xKEy zpUi*R;%etz>6c4?RA^nlA~`%Xv~O*lH|~3TFT%d~x%utVaeTgZ9-Dri(0pYcv+mwF z-ulwI(s$C`w>Xaa!Tr_|wG)3p@xGLP%j(%By?N+&&5O<(-{*6D*2#XUP(8mZ-W=ie z<&oETP>*wC?S^JIO zhsrCDe!a1J&7b<^mh7Eh&O6t!)ABo_d>`%n{A{vuq2HaaPvqzP6VLlp|1R(E!~Kfq z{P+EXHR`8%;|~n=^JB^0UvWHM@4UStaHZQO7;Jh>5?QdUL{7b^qnn(9a-ZOm3 zcys8#JgTPPxRwy@y4U`-*Iyuj^~H- zMt;{d=cVhLd1I0CoE^?nyUEKmE)I@2z8`HITQ}@eyXFpE|Ht#j^#HHE`T_r`^4V`> zXWXqC?{|ILyLNi-KYS$l{&0(Mm5|^5$^7R}zPEOIZ*Rf$Pj#GM4NtG#j<l~n^K?9aKNfEsm|x5*YsIe@9$g;ijrq~}b6o9noE=}sN4?r( zT$_K)J0Gim%sSy!Jb#lN#^l zr=_!>wQ)atICpqbJU{zT<~8-0&#kAdXY~Jr&HL&wK0jQ1{cpa~|BlCj)q}sM{{3ON zb8+6Neb%%3&HC%%>|8H@oqS#6-v66&e*ZlE_}o?d?Z=td_bZ#M zf0o*5ou~hgFYdyj<7YizP2tJ-|u>>`C@_U zG7niln15U!)ni?(?#=Ue{W-3FwvHW-ujAo-vX1?a>+~@0KivFrUU|M0dcSzKWY>4s zAM4ifywLxT4e{Pgp04_549#n-ItmF z?1Q+@sn7iBI;0)v7tj1MPqO1_JRF;TgU~$Xys^Hv?#7ex%XVGFoB!D1$>tm1DZ%r@ zv&WBm$H#ig`8n3_eAQmhP3`~uv-WQjj`PYj9T&&b{jU3A$9v8C!S&(f;?0^~KdVFj zW1F9?Z&%IFI(O}4_ff{7{S)J9i(&j&f4NVesyyx=7%`QH5gLiN5J8b99W_*wN@&;D;*q+hh-_q$|u zK9TJBI-ZWN>&86UY42Rg_tZXiE0*Vwc=vCPBRl7(^`ZW|ws`8(f8+SYJ8!H{4=u0t zsq>fKb&=kDB%bp^KRJKg-~6QY*SLSbWyj^$od@QVU8+YM$Hn<6pYiVeG5=_X=QxfF zJLk({<=HEA-E-cJym7-$y=41$>VLiC^1hC*{xYuSFRyVb{tD^E7f*cq^TvmE=@0Fn zyZoMWvC}W~Yh{P`Jj}Qr=P&CH{iFTX6CbF4y#8c|x9)IWYM*}4U;58@(0|5*`wHV^ zqw=pDy3f*I&Yz>>JvVXx>3&o`@x-?u;(VU7IO<`4Wc}*=G>?~z## zSSQ)nWWQMVHO7nU;FiVzRCqz{+&kI$cfK3n%XM7l%Wmuk>vioM+i(0CSFaY&JZ*f@ zn}6&dup8G`*6k-&m-_?PSL@HiuviqWW4(d zcyRW|Dh@t@?$*viQ2?<8DjqxMv3S~JU(#`OeA#&pV88Z+;@Y3* zr#^n-lkwtf$LNpe=lY-lrpN0q&kxwU?vK|6lE+R(DB}C0{P|BPIiu?=i%mK^{Q{~;#wD($Jy@? z&t5-!zRO=+JbU~r#W_B7-TrFl_x9$_>7U5{XVqu@Vx46lR)5Zxo%7H0m~GOtGp_LZTmPF^^}l%h&#x}$ zue|P?*x|?H&j0Mj*#hd#;E4 zXDyEXDc7TO>t9H3|BAi$Q%9a3Uc335-|5ZYju&1(k=cuj*A8|g?>d8LzjN((-E=;< zejd;`c3?D1sRd&ieOe>{7<{`~1spK)vcvQDut zVc)^Nr~BYTi=!X(583&lf6P0s1LmW9i{tsB`0|N&Pj(N7?(2S*Jg!^JN7r;5#`D+w zYo5{m7qiz7+Ap4U_mkN`ci$+^k>N$5ajYKeqqD2$Q`wE@2S12+emHON;yJ(MV?Xlz#5tup zoZsdJ;Y*)DG(*ha`K5iXU;5$KgS~#@j~5p|>ct)X$awXP`-2NL@7hQCaQ!j9A8B1; z-AT4Cv2HN0;>{D*2d-CJ)PCzv>r(TR=WTfRJ>~;>#5Ipthgzrd-?w(HFx7uIz8`Kp zt()xsfxXbYZ-4u){^9%cjSKoUyFWZJ{7-&&XaCdiXW=~|{@&#K!}}({|9r6HPyfsK zUkv{8{VM$f;nV$2bh7$mig5qo7{@ZYZEdP67=Kd7E3@_#(sH`E^O+dsXy;yjsNp3(pJ@!~v{{B-!o@DCHv|2h4i z20MO#Nzab{uj!u+p9$q>_qX)y>E#>w=d%BM_(J%6h<`EpS|#`)v1K2%|Ryet1H!e`>=Ykrw>;Mq-; zewuLVP~6c@9`VJUc8EV+^1H(s!s$c&dy;1gXB_zVCeISiJn-!4#S@>N|CpbC*5cw_ zCuU1Od+0iHY1bkA`{Hj-5Ak!x&k zWIX$i7kA`$PrqzPX2)-ip)S01bPL;g!AFB6J~7mwY9_+|5Fw_Nh_;fmo3A)dU_V1Hukv6a)W zGWhYQUp1cnYRRjIYldrt__dPP3D+KY{&;ct)2}-L|Mk+ZAF|sZdBbqyaH9~vN%F_S zO+(ia{vRLw@ZxM1&)#(r&tH6c_M7Lg&QBz75q>hUA}F??ZRzC-?jW%b!?xWAAX1QI}SWM@jnyKe&jzJ z&knC1ym&ihzjL^2xJ!uNEqV9HpuU>f^r%k$k9#!0Cr%u4`^z`h{NIo+>EBtckJp4-X*&#nje@;Am=c~A19sI=?haErq zbMretJa332FP^N8bI?7g}E)7hahE5y_uO zz9{@g`1R0r0Dp0M*CF~#(tk5#$A8Q8>_>n3F3axHQ2Vq;`}Nnivb#L|c6ddI|4#B% z;g#W$^`m|kUta!KXMas7K9u)+@!t*k%Xe*h_IUB}?D6u5&;EdpFU}s-LoLl1A)BiaAt)V#l+0*m;TJz9P^1Cf`UuNIW zecbKw?CHsO#Iw7g_;;qiYw)*!Fj4x6L;E=Pf3$<%z7PLN^1C~>&Qp;;Peld@TLr;qStoIu7jU+57*nlMj9~=4b!v$@t%gPlU#y z_)n!bp7F*zUR>jv|I_(9-}tlV&z@fWBY$e+_ssAQ#lJZDkI8=u{}TQ=#FPIz*z?0b zGsNM~@7clMdA4ll+usJ>`AGlVz&n50$*-G`pLVTkWJ$@|j36uubZUrv5yurq(NyCeR#!QXS4SJRL2+2h4|E&Klq{}H|(;>rI^ z{|3JK%YON$`1B8UU*bDiZ^geE@;e~;U!nbLNdNEn{RjV%=V$-IKE=leKl|tEV8@SM zyWY-UKD@Yi_6s$SY!O=5?VYS&j&6L7{e$SbjiOr-%O6 zPmYWG1AZUP&wauds^k0NQt`(p|ETy&r(Y%%Z=wm*r|!=bM?Z}1XD6Qev~RzT-&ewA z%YSO}<<&R(Yqxdq^7*Y0E*IX~^@F@(dVar+-@5U+(%^q-JUemNubllV;cDTkq57{I z+M#~_{MN{C^$@>i@>=0&w@&(X!?nW|YuBnUy|_^P_2btY?Bv}bz514EUfD4HMxp_?t{=IRk& zUcC5=_Wr;p!;ja#eUrc3yu5k(PlTHdNWVpT_FE=@GW=AyRmhLs)`Q*mI}bmdew$F8 z>JUeK@#x9h<}Z))!aQLfa=xEk`^DKV|8qK@;K<9PfAyz!Y*znn+xdNZxP9?YOa5Yc zjtwttJe`$%V7Nef{^ITzzi|8x#owg(J0^c7+$sEQ$bZr7#Tor~&VJW$mr#9&40SF( zeZuP-KhuVI zam2;bPn^9x^y1>z>bUM-z5~Mj2E-qf{=jg}{0~k(WbhM5+(YBV!;5!V{1=8e^oI|; z{Nmu%vv=3`tHUGmKdidxUzz~__w=3*9-be6JQ**Z>yzt^>znKA%EfbiJF@y#Ne@T< zbMecCV;tAb&sP5>;TMa4MY8znIx1eiqmz#bj|-0t@#GWIA3yLXCZ803Y2d}jvlsv5 z>`x6(8T{otExmZBC!Z01IXpA;J|nxYq(3Y4o+G=F=XZAY=Y;I=^0N~k&+n^)|3#h0 z=cYeDJTJVc<9|uW?wiT@uVsHh$PSLY_|q3>*6_moXBqTgPydbZqHwzG#yIaD{Mqwg zV#srG@+F~q;K=j8zw3tI6Mr**-xtC^mffZCz9%sL|EA00PpSS-=XdM$|GglcGTnc1 z`}E?=E53Zyz*H?zhx)Zt^?I|DEFhEB(0troQn#e)W$0mBqU%ye7OlJi7a4|L5zwgZ=1tZT$BJ zJMr-H@E7;{ga10^SEo4q@MQev`T75dczMOcYbTyP{a7D<>E@R`!yi=tZOM0pyM))p z?>5-e-w=PjINeA1|4TQfKeBOmPW-sPYTxx;<(Vb?*bM(Yzuup`b=NW1b@5$~U++A; zGW(m#|HA=)lzdBgbNKE2*wc$Q@;@Hp@Dumecy_C{j@>J~E&eCr>gmb1r{6n0e|~oi z{(BAncgC|9m)~9S?CwtfY5247o)AxeU;29|!2dk`{o&4o-7f}SeEIpy_si@b2p8vf;>E?YHxE6Q-|xb49%A?SU`NmI ziFkJYFYP{^M^DDDnN08h1mSOqUq1Wahfjqog_G5P-t%FHrzi7gH);Oj(6hG>Z@>RN z<$Wu^bGy#{A^ji2r$apbpVBX%|8Duy|2cl8cu4=3c=r1b`RU~qpPe}D)Ik|D5HS zz4`aq>iS#wO!$lH)DL6(^`CxwF2D6c`oAZ?5I!HeuVRN6=ZWfjG5eRoC(}EwM>Y;# zjyL|s`d^9H4)<~Dkk`0VmwI2z|JCsS!q>w$!ha0>Ka<}I-wbE(IEeGFf&XmBk3F6} z6!+ixtB3z+C!T%u@6><#?V@DQsq~lrGam5c`GJ4Cdj1nm-1>c@aOK*!YB)*y)st5V zy%&P_-pJ_pj{Hx|Z>`pO{?F+<<0lPw>-s%e^5ppH<>&vHj{YZh{HDln%J5y{g#7UA z>DiC`5!Tm39`zqmI}Zz|D&L1{*XYmhsN#9gM!ToZ|2xI=o}BmKriq`>?=QVq#GXHU z{(i^F?xyO&vmg1#vwJMGzCJnGy7;(`-!BLK4e757`TZc7KmJSklkq2|-@SQ=-D&CZ z^zJ|TpIkogIasexoPP4=-BVh>(@$If|1$k%ou{7(r;FbzdB?`V=fdgZ-yOPdcYk?l z`Q2aozb=Os&-w4Uw)Z?9t=@yO^L?ZJ%X>lNX@>HCE&ccEuNl+N6uxIb`uC=1&kjFx zJUj96vkYY^Gv{h-XZ=jL);I>e;~xmFRpw~HeTk-e*W;q z^!VqJ7l>znQsb4pQ2c^}owy697e{>l^z0|8|HeG;Ob^9fr1_uU&N zkNd-`=6^wP@nrm^^~=}8)$&_C#6$Wu;@RUbE6$n|h%@Ftzxs@C_X)dr$*tEJf3qKzAxtEF7Y98LS>v-Zs{Mc_k#PMD@JN$EXhe*x_f)pKN|- zkC&I7xMcQwmw(}Kd~bi`=W71=eD?cVzx4Zt&Wn*B{rMe`-~OTVZshsnxb2nR}c3{|Nijwq2Kf?JAP~AFWzeTj!rH@Y`m`pWQ6QpEW$K zyr+iNXY5WN_+2`$_@6QG8^*Jn5HH`ELtekv+O+Ze<@imK{l3e0(Y_LYR_OOz_G#YE z@82O_9>4RFPkget>Uc-T_nh*5H9R|+ zdp9rb6MjGb^U21icB*gb>RY||;{ITWFORyei`Nc3|Lfz~pV2&VPIyE7SCYLy?mGkv zr}thszjM>ynE(07;-8t!{;cH7%rD9F)Nc02cK-e%yB`*R`k_v7Z%TjmkY7G_c=<Rw*_*r#aoqR}$SD(7QfBBy3nK_(3{9DKOy~%4;Kf62PNB>`@pCY`x{oxq$A!%9YvtX(x*P}nuI_K=e{Fbo@vlrazc?R%8qW?-#?Lm` z-IM&Yklh{Cw?zAd`cR+E( z{bl*_&sN8h+36qkJdpjb!iT~K!+FZPZ0I`>zT2=-^{k%#!{KJ>A^or8*?WGlYWmee z&jrY9r2oy}FTQw>#Cx8gK6%*jvktUAw7#^Sv|jveaUTt>1M&Ru>|dzg*wM>t9Xay+ z9xLDP!Y9JV!-b1)eeU=kRR8Z4?j8OaA|e0OEhj;rr?`A*aK>o4D9`fBns#eFvXYpDPD z{Vn|h`H3$cyZMJaWa}^f_ty@;r}$>a-~ZR1tbQ8TXO5Tp#Ft0AI@?iYl^@raRO_Kc{)pt+$dUgFY8Bg9M{_c43 zPOZ*=#Q(33?AYHo#PxjC^HA~S-KX(!arj2@FG&7p@|)qm!neX38-KsAzJI5G((w+( z`A_`Y;r!K$pXlBHJ)z|JY5gicp8fd#lltc@KL4we`HQz>=fxr6lhyP2WW4w1CaymA zH`cyM(!V48Vfy9T|Jgj8G=80A{_OeRn*R^N8$x#1Cqw#o7N7kXAFtkf>)(IYZtwk? zfA(p9!%tTHU*?BDy8gwphxVu0dA=gQc%%P!JHL*vy?d1BGvSQ`KSlLT9`a|87teb+ zdl%s{?&w6jnBhIeb+1*@oAjT**G?LNfk?{^FDF7FKC^x;|c zzwg}O*}pS>h44N3;m7#mzSQ}SCy)N(i--S2$KCfEC+axPSpLbA@slJ!5&B&b{ZG@+ zl>a-D@xM)eG<+m{w&Ox}-Qjmj<6GVDExzA}tXsc*y5oaCF1`M7KaOXw-$$OGJY#;m z`q+v8M0J0@y7mcYss5QmJbAYCvkp9Y_Q8Mi;_`oAJUe;ubHvN@RO`QIS_jM-|6+PP z8UN>jr=KhTk$<`Pc=qDs>D6Oj=ZlS(d5S-Gc=(`y{{(pYc?bS0ok#Q^7HV&=`PYG|X|4tZq_Vn%# zmMXtE`{hqwI{w?myQTV;O}|{YOn5>3D%DB<_4H(Z%jYK^zoW{x!Vv%a?c@F~Tq%CV z5KqS6lKtO9{L1;A-@NqOcrrVF;)u(i9luqIyXsIMJN#<#;=D2BUw!cZa{Xdltr2fr z-Bdr{9pc$vn*Pk;@OL{L3uX}*;$9k`}-k3 ze|{THz@Od7n|C(OZ_{v-0Y8@f@xjjcGM@Mw58{fq+2H@x+QV=2cy?oaJbUAEjKk0S z(w?JzqWDvkx8XU_+8r-EzjZU%s`DN1y<`4lym)Z*zpHraBJ*dzZwbz6p53DQjaU1l zQx)%z;S8bu?QwtIzB+$)_Py=19q*)7vNryhCMFrPNAjJL@;F5<(H zmrs20#J{NasZSj7`A$f{`3U+AI7ue@B1n8&`(o7$3;8F`W>IK z|M<;R|8G-W+lG7AkKc;FJlrmx{Z;9=Prt*!&k!#jKY8)uN>{eB&MO zeBtkR(0K9a{XQDc-}%KJ?|j0O@%+7KwSN8i?Qp$8-m!lBZ1|awp1gDVokH2b-*<`l-I3pJ z<$pEVb3JyR?=4!rcQ>!Uoc$}I?`o*e{-buN?}ql3?hJP?|9jfsf37^whkL|(P9@H5 z;G z?Vr8(g03y@Z^FZCzxcirPhPmVS7z_~25%Mji2RS}`aISzj=bc>^E)#9Me)?d?u+s2 zye~Wa=ufY1dBn%-S9bW-n?E-Q?OX3sKOa>+M~BCT$AtFB`I#Sf&ws_@%EL~4JQ=@3 z{-?B0yJ!7u;8~<-M4*z!^RR4Fn4tWp7dndED zU+_}*Uz2BlV)eh3ewOxM=1G52_@&T3=m!S9{o0W~d9ZuA@h9FX@$7al|Jt4Rc=pa8 z=iPXIPL?jy;b zkBrY5Jh#}X^LnrF$?Eld8BfN09?kD_`JZ3@BO9Oir;0mYyn68b`N_9raX%7%Er07u zzav^I-uuVw;hNRMfBj@}=r1TfKRj7{`Bvz>_{Grw4=3Xt568#xI(o1hdA~2ZsQ$Y& z{CfD!(EZ4T)qi>VshZ!&?D+ko`Jc>=pZs|F`CT&9G3Gybh>z!oKYOsl>z}cI_3P2) zzo>S9J)A6b|3_xW&wbP0*?%KsH%H@Y&T!Lp;A9Jga`ZEdK-Y`%LTneVTceC^UzTYi+ zALjk#VJAO3`8O@kX4#(^US56Q3g275knyvmf3`R;gzRRE|LdT?qPYD27XRE}C%*Ue zU+FxS$NyWzd%qvg-uwRQ_Sc#l*QSlL+3Od6+E2!d$DbX3 z)#BktfA;U_xPGU0T^Zh%e(kQ0-UDZcKdbBePlhhfPT;5EtL z4cS?@e=q&DA^V%_2m0?1y!!)j*p2?|M*g1SKN<4VE`H+U+3(i8`-AGbF1#o`e!pZq z`*RvE*XMUbi2uqE|Hi@YoPqygJiEgOUVQoR^5Et79?tZ|y(xUDx_!^}p^iVh2a~-A z_3r%MGx&QyNS^l&c7JGI7~lW#ev$W($o%COpRA6j>K8~qL;2aiT{~B(JvYbyD0JVl ze7ySu_P=dh{VDu>@je$mn*QC%dxz77{Ps#7{qM`4pSbdhGsYLscPjl~gv-lwVfUYY zC&BKU1HWVKc7NgiWS{!ypVfzV|ADtpNxmh&&xiQqn%94<-^1S*-+k7t>E%(M_@lr3 zBYD`V7f&xP{)OhxSIndG*H84G2j3R|lkoZcUJP$f&+obP?C9B#$HnoxwEW}$-x&Gb z>em~ycc0<@VwZS!cU0f5>Ai=0X!6{R2fx2Muj6xe@$bz4jAZ-|20J{|e|P17R{r=g z{+aRbudWl5@6P|!Wcn{9|1|!j&{3nq`e>z;im^~w9Q{P{t3-y6?v z!`io5cwhY2ll`CLe>RTT`Q8Qjvh45AUmU!6tJf~}U~SUh3=c!jlAE7EYLW`e<@)cL;yoLlpZ)mzU@48|G$O5DF3U;&xP;EUVM4|KF;s=ewn}D$Kidy1ke6U)p>IL^R4jI^m{Zu+4)ZO z$?<;2HS+vU%I;U;1Jx%!o{Yb~I@GV;wYu(VkG%X(E04IokHKI2`Fl^qe%i09@Ai(9 z_kTt^`*Xe{Pku*!lZ5nSdDx9{A1uE*?&<#6^DWQUHm-lh`OQ4EQT;ITG(g&V}vyYJd6p5G^uw+`9=tLF#f z@i#6$UVQoZiBC^{sN=I`c{a&koY7zX>_%RF&R648z5Cbyo=Z+te!oZa-r0H8@o@at zlJWD`-}nWS&(H3~{gTt_=ilUick*{T555=P8(tq?ILLVR zKN$E&ivM`}Yr^XWJAPyQ-{vomI>dW4p54aDkA=SrHwzE#KFNLNcz?M`b{`-7Hcb{^ z+{Xtyd7eoBWXO&`yUpXp|7zouUL5wnihs5K^E~ju^myy>-xvR*;RD${5+0wPAAC4o zoL>*|`H3&yP0b_r1>awt_V>npLHmIA`*zRYyu|MxUDrIH|9Rtkk?Qgs+wU|F@A_+f zZe4y;=g(8M`|0qZ^v);zALIWJ-k9AOhu_y4U*8Om$nWN4cH)aW)`9<1{_0RCp8mJh zHNHQ+LH`Rn9xtL!%pA4^aEOa7b3zuY_`&Nl{s*ExQF&0jpo zZ?)=jJ#yV*N3YIR%C~OqU7`4X&)|0u?3Nk$Su|Zy)iD;*WJ`kM^;Q+7w&$D2gl|lM7w@0(?DwqS z@NdS;r#>>fZL-^T$oE#VJnG}8KJ6Ui{wx2no$A7ie{22reE8AY_?tnT=lctq;~(Ox+j|czZax?(|d1!rsnC1 z<8P`y`04!d;*C7L_xR=KkNdYFhlEqa&!5bW-_u>6=WQJ|N$q=2 zviD#4iFU=lauE+ML1dboz{Wx?|4m! zXD`l|t4sc|fArgIwPVWiO%=W?ysmZD)U{*k^uFKu!Rp$#<1|hDVafF3O&dQ;c}M^0 z;@RWr-#zf`=%&MF@uKyz^KK_OJ%{oJ!WBtCj>iXvTObGf+qv;{Zn%AjpD%kn`|YyZA*AOI>G`wA@09<0YCroQl^4Iu zkZ1Y$MeC2n!bQSQ#BULf{ATId$v^u09s7*chllht#fu{@yOB5lu@{H^0kz}6aOUE_ zH~d-God-gC&w==PZie@q4URm2@kjpY@;yJ~ou#_esjksZ-kXfy=DAt(x4-HCG_sqf zxi(@@_1;6m>@O{N+Kl7`Sf78eAl<}|ET)E ztnw_@@zXx-RVO=o_E+aO-k*3s`kMIPg>%$C_QzJ=8TLEshqIFHquQUbukwTVF}}Fh zmT$L?`}yJI9jC*SKh-+wm*Je%cboN9dA?s=TQ(1zmj3kO7-x%RcSHKiIu4#Qof&^c z`gMDMxU$+WO(H>ao9cc6mI9IW5_9pi`5-+IjGNI9KhzA=&=a z_4j&luUgrJuAwRn_%Jb>?xy!#pvi^Ir_RZ6A{Z;Z9f1doc^XJ8(fB(Qg zQXK8Sy!d}je^u>zfAg&G#Lk$k-TGI%^!qEtdAm6JccSw6eyZ=KK9ZgHip2Tl1o{sz zuXd|vqWXWbaNow4_nWovn(}_7@uj_&x6k=XcvyA#?(*r4(;GtXLHYjC0-Z-63hye< zf9jVP!dDvy?D#E}{Y~LgGyM0&`a$w>;k+H!4}{03KRVp0cC$MsJ=}fZ`A?JGd&3VF zfBxjp=Eq-tdHgpG`izIG2Rigp1|3apU6K;q2uE8 z`bQmWPk`q)W$j!fTp<5-8z1~%sy^}MTfg|~-=p^X9e{R>JU{1|^YO&teD(YLLpx9Z zRvm{V``v?j)vrB2={Wm;*T%R1Z|!#!qrbSGgS=6`1?wNzqeH9rhv8wh|J-E1D;VSd zFK_j^-Y!)9gVKMv-)-1hzZ7@&aMApyPgcKi zqJOo=?aqS3|FHUD$=day(EZYB^^fP7o^SfDl<(7>Uw?f#|M`-C+&F(G{7C$w z<@J9Gd`INIj?;nl$Aukt$NQuCA5>lLORmj+#{9pRY~65Y$HBg*b%gW(jp}j!n-7jn ze@3`;`Ipkp>R2*dCjE-ZzVmZV`M0QF7OcL{WH()PPaMB<`mcs>Wxs6k-_v;a{CPY+ z$LFV?PD$2(Ur3&_d0>ms^IGrUJlnYS{-br`#Q9&D-+I-(T=h-X@t!_@#_*Bav39ci zzGKQWN&Vn=k=C)}|3Ua*`TtbE+OKmT|5$leuZ~UXFYihDuE2XI!1Ft)x?ES>U%B71 zf8hS!{(<{^_1#iE_A%{Cs9U|R58A=bz6HH}_Brim;>GoTq4x>BU+DjhI8MIf>-a5I zzxe*z6dkX1JI=nx=Kg(!;rJb&yj%B~`-Z-A^p#}s#apZRz6*D4bvzet+Hu@4JfJui zhrYx0j`$U;W0i2S#@A}evo?-g|I9zGiyy1qCx*V`c0}^g#aX}n;-8t`_ai@4yRHrW zF2;FzM0)4vx2o$ejc@zf&L7A7->!?<|EFI|Lv>Sylvf}|5hr$akhK%RQY{8**v>??Kq_Rmr8!E{10^89t!=w#QP1G7jK#3 z`)=i=&D-`dd|zgv^z43`|8n{NCi#r&IJCM}s{Jd5u5Z&8&-Lw(jn~!d$GyYbYtO;S zTNi)t@Q8T#vCf-G(mPJhALDwB#@h_p8Q%+bzw`NU=W6d|`QR4OgkYOB(lIE#7&d_o)ABJmhB`?)@a|@0H@~ z-ieIweeX*?HUBfi8yi1A2%V?STj$@Cwa4$qzLozC z`FWq~mh?~7@2>xcmY+X+`MnpmNp{3c<(=-+4v zPkyMpYZw2|$=;(Ld4Aujj-QA3@vGhZ)yYpiqu%kA?>CKO^Zq*3w?XY&wQ>5r(EhmV zjqB5L)#Lp;*DLzv<5vn-481=*&M!w-mvzr4vj0Z-WaIP1#?cDt#h2Ih%l(+^m+P7R zh1H5U)KxOtA2UZkEhpv^x|$@KJRs|UwrR@ znit0BH?C*%CE{r3m66UY3sNcsypzpf7dRQ%hLeaFcEn>shY zbsF#6CBL2D2DQ&V&)*vdlV|^A_Dd&kn=H;D#W^_i{bO;S$bPQ;KVAIo!wt)SRI=;* z$2vdkE4)8>>=*Y}^OwguZP)Cr-#56gOY_T{#(nDq``F7A{}<_}Xq~lIxKaHxRq|Wmzr&5=cPyWN-mCszv39MI z{M*6*?PUJ!M*nT{f2uk?huNh3p1*j$<+Bu=EOD(*tw*g-wd;}k!T&R}&Ro0oyXTm$6P|Or-u=CC z^X|r%_0Js1KW?1(o%!eLKff=($@r|_wrYGmkbbu6a~vIi$Io{WtV69kT`%1Cn@2b8 z__`kxXB;2SbH8iwo&S&JZ@+2${(=1J@t)|%^V=+ZvvyuxKfM&X@3}E~mFzap?-QYM z>ORtbnfpuoX|r@b%ok4Gcv*jtw zA^c?dA59+pJ{7-JXnwTbFh80v`D@qK`Ke>9Ph9-J8o$#wAALIiIg^b~^OW&vy#Ax{ zyJY9nHu=w!?7fgF`u?ByL-sHJ%k}H4;S}}z$Ks!>zDbhj>pXff{q^b$_pM*2P2M%! zEBsQ&%kNVs^c-uw>}Jhxf$)UlFP^+)cw2aEy#L$5kGxdvMH^Q(v75mq=1CdE#2J$f^>s)r*t>c zAl+S35`v`Y|Kz?o*ze-{j^>%2o!Qyh`0dWl?gM=>>4$(Zv44H?ogiKNdCsi;l2V@v zl-miuuE6%dJ+#MOp!YlKs$Y<=4*Jc03*B`2i_y-tf!+%&34VlmG&**=fF7yAcY~|v zUCOl_>FO`t{2S>9DUh=WxR81sr~liIVf)30UwPKw`jtd~-^s3veLUAveuQ9rSzah# zxeF=R`dMy0_&2!vV)TcEtC$K#8ukk=hu>UmDOViI90vDrq zb?_y94|@^>F{P7X94kTfXJBg})c&yARsQen|hsLU7|^x>3#)?5p2jJNZB5 zH=(CNKjSuRNBfn2(w)BsG9E54P6vU{MgBaX_ul+2Nw*y3 z8y8@@`t1w!ly18G%PCL!#uJ#XeE-M5bKuSJdG33SdUzh|`K)yFx2Ih@0NVjWddDDN zbNZuv(v_E-e&GK&6b7$Le+c!Ee-rf(s)uyTD~z0CK;JF#-IKA@-+Qs0(0@GXh0sTT zul`s6KS{azqZd+N-(~cCwkPwL=d)G8^`Gl6_q~qF=36#ZamiI{vSv)>Tmq#aqtts&e+#D^p4ci zI63t+K5i-cE(00|Z+!Z%0lfj`)C2xRJE~VY%0CZZKj`K+pY<|bxgWxBKI>_^@}+-( z{C<@8DfadKv5-EDd;@^5ndju+L%o#azEU}+E8q30a$Jv^Pr7nUcc1F|RCyu4aWUaL z<5Q@&|GVt}4Q!zP$@xC$hrB^OjjPpPSr9wi1>OgGzOfL#6~HdE&u`#A@SPh5EDC=s z@Vbn{o9OHLr*R3+kJ6nVZ<9ZqH;s>x9`YIA<9^I?%xC$YXAY$vV}ReIzxCGt;XSDj zsQ*vcS*Ty6D|GY8FK#~hjC1n*tsDG{=!b2XSHk$>e@Jf)>;N=wPQE5Vy602Un?i2} z>chWzW4*F@@(fpZ7SAX@eex_TWr|>@mzNWlNK;^ds{}B1g zZNoa+b9B$oSCXCqxtXzdckI8Fbnh8|9?;EidJp(|0+l0_-Wz(apd9m=u6*am`jqcH z=zQt?ynuR}UJ85=`;)Oi^Ua4YuKdQ7(+KE3(fIV7r0b_L4#e+a73ih-?)Y6cekv;M zw1jzKKi|2(f&ZabR_Mb>_q$q`@tGbuz7JCo+;?8GvEHvJgzo)t{b%J#-v^99yD0BD z{lI*EpqC-P`=)=<*LC}D@J!4rnSm>*UlDN6>5VhV1wATs>!-ffPyJG&hwHt*=;u2M z>M6hVm*2RVd$dE_Gesn&(hW)PqV>6D*0lgoQ1w1$Q_y44vciWKezQcD)Zc!ii zA*Q=8oJ;?@O};;X;`5>3Bi((B@1XnM%7=U(#Vzj<{5Rki`o4;E<@^6GL*VO={qhEK zLivBt&Xuvl0HFQPbNNuuuzcgpvQwXalE z_6Y?Z9==~|Meb&@h{&}kNxDU3Vxh^Wt?jk`pJ91xY+4HkWaqtr2h@fgnpmGZ~UkK z$Ljgz3g~U=XZ0wjHLxe?-ZL?N)c-}zMZPrjldQlGsaH{O<#i#y_Y($y>z~zMx&r$w z2Hq!M6#B;?>i3BB@O|u2@V$U;{HXDwgJ{S2^ex zhkoLDjL`djA0glK8TsSGpNIM-0{8w{CGc;6-Y0W?(+hnDBj0t(RrE6+VjS`#BgeQ} z^9_Mtdl|=Qd)a=&kn4SpM93`ye?suf;Evmb_jIi?>)!JPWz6eKh>ihX3_pP=yzXGj{CNS*u{ODelXirKJQnr zL2gduod*u3eCPL5$TfX9^kG2L#Yd7p0_eP2fcjKJp7X1IF7IC$7pEWW8`|G{!2U1m z&!mTT8AZ7hu+JUZ-S)Qq?GGiOHw6BM9lY1!J&LQ?KN@u7xb-vYpVRL8?ed~WS?XN^ z{VtJy7I_zdqoHfp*_2xZdNE+pfY0{Q{_-0KT#EAZAio6owYS(uyY+*95U&JS6k zd%wZ|A@={2^6UmDkIyW1aJ zhr8Z%eeSy7^>6q;z^;GGP_ItFSlA^6_Pt2@J>UaiY3P}OUjUn7=fdEvSO@4w3jIeJ zu&3v`*Wve_DC2L9gY}#~4fDZ5`i1BD^7-DB>vrGQFur*r<$THb*Z*69{xO2|8I)su z#V^n&1C4uYMSWWXn*-ZpukOG!@J#_XPGS@JjicxTo*h^W*Z}_F;02Lmzl=ls^$+@K zNSE(9{Z78o@VgH*jxagpeFSv>-uRqSN$C?!jP_CJ|%W90xW^tufW}h`yGfv{Ze6%EZFM{p!4$< z`nmMU;L^<>(q|w)EAphs(n33mDwI8*z z_y2*68}WS1d(_6MOhaG&xV6Fep!Y-C+jAYyeKMk#aURB_d`|jDz);UmNH;!gFy&04 z9OK1|yEFYNb}|0Wdpw`O=lw13xphXa@+`-4$H3>h#P!Wu`#W}Uon*fH@EOO}i*ot{ zdjrikA}Ggl=g{s)$nUyo9Qp5(F8|x;#_u_<%`d-v(v4TNeB&s+pEQ#4Z_`dW84s}- zfA>k3?=gCgf^RsljU(_=`dd~+wCSCq~@QomSDDXY>S5C+uzE5qr);lk9 zE#LLM@?z4yvFtDC7aROtV3;ok>G$ZTaljYAZ~o{3|H44NetOGM59OP#9Q9KEEY@lD zv6J^?y#FE$>E2W7g#O|mqo4U*_bInF^j(xEeGj;Fqq7FLjS!1zw|E9t*7bo znXbN}{D#=S3DEs^V{llE+|@H9}ru<1*XpOA80KaB%7zRY#hZseGMDg64cc0m_6pL}8Y($!Btmi{f@f4Pi* zOZn<=IX$tz>B?0<>*>21A2XjvqMk{?-IwZrG9GdX^L;t;p9B6%{m+9Nmr)TrM1Z~z zT)*mj$kX4ff3+Xq$<4t1$o1U*7~|9V!+S1AnOD*S^@A*<{CuQ$Vjq4E_yX9H`cKD> zGk`1LUk)tH`k*B+JU^UHIr?i;Q17XH&uRlFk#8k(>yw@oxyGA&UTIwV7VL5k*cCk^ z(LcPOyb5|$$~T^DJmo9`-p9Va>vEj*E5Oz0XS~yR^jiYdZ@M4cdraQ9F^<5vll9~a z-?#JKyUFy6ZNL}kw+j3TFeCk74f>@8_uh=}AajG*Jq37U+Evngr3EK>)_97J&+pQVa~JiqJoWpF@7FEr`2;u+ z`NoTf|4;t}dK>t?N7MoRI+ET3+;Kh}`RlQ-^S~SbB76;@XQEz7xL?o_JN!ub6TqE! z`jWptQ2*;R#?>aE=i+n0i!)x0t8yLb`c-;K@<}&;G1ARvy7_&-G%NM8e@>$RgnZTL z=k2k_mx25aq+4!Z>}-DN%6%6*RRlWUW(1E7e{tmcj$Jj<`%r!i^lFR!`;l&3QatS5 z1-fxck(nnl11BLT5%@yN@jm1+^teTOYG8Vx=X-^~jgxk~*}vCQKjSNmr&xo2tAWO8 ztOWP`a~1eQ=FjrX@71YyCUE1sGf}TO@EIpw8-Cx@b3M|J^zZqOg#Q!Tob)a9n>zGY zzh6I7-k&V-HKFh$fQLgix^P6^8 zely0u@;!H7i#>BtUS!I5om4$&N88Qz^nFIxqY>#pU69+Ia*dbSi2jpFH%??L^^xEA zwLNF>{K5X`d9wHGuG0U#Uw;GKcOrf7U%jSNFW-Okovt+4!S^y;f5#%f>+qN8>$`eO zq1(TGCvOz>e1$zsA5Z!vJ#|!`O2l?Xn5`{R+MSxyyjb(0@6&<1+j{s>c!J zXGh*8-~gcOm~ee_5&bD9LRrQ~F2)t?5oVGhJLMQxQw!YpE8D>riS!BJ-GF0(HIO$I z-1~ap!dC-W9Vq=63K`#He)X(~{&kTXAE^Dc`)2HaG?1@6+exoYx^j%i zaKGVtLi$-0bsu8Bvd9?@%!qyT^LmaOp6~iT*f#2|KUM##_r6a+pU8as2zZ(F@94j- zBmK_$ef2)_a_qJh=sqJC_%`5npy!Y=8COYwJD?|`pZiW&64G}9%VKBW4RXC^oR9If zzB_6?o?%0)XEzYvx0t>;(9MeHNJ9P?FE>SdfjdFXwB zeUWRtf%mh$$6);bIleoY$nQJwo_~2B7L9V#0KK2~E_fB}?)$UG2l@U|PV(&luEFjr zft}&M1Dr+u#)4nKt|_VCM(h^_T>q1PHvLlzpgTUC4;?2@D93!q$uGa}+bG|6ZuE0m zUJUxT_v!7w%}MutCg;)P)Z2N(b)R;a8PtCg^XLNLEb6}jdQ@oIeCYFle)R}w zdb)s~7yLK)mE%1t?_b@*{=VmCdO606^oih(Bk$RGPss76e(Ghplh8-K)z^DK=J$Se z3iRFubRSlTdEM{Q4dgZ<-8fe7*LjZUy*sAq2;R3do))u55cm7*d1M9TD@T6MCzYF@ zAI9MtcRQ4H^(q5i9s4U!==wpr`t^V>8~O|c_g?%G@bLTPcP$b9Dlu?3_Dur*KJWve z>GIWN9Gaejd~Hb=O5cP0RrFW+Ek9XMuH`G&{dscoeZ%~?g7WlN8dqcdP#9lle9|Bc zSs%OaMZY@WrY9s_dPC@br~H2TowGd8$-D=%4>|YHcL3$TOTSgV$?y1d zJPJel2+CPO{}~Ey`Q|@CzqtzBPy2TUeve&i1Fr@7O;^tUkFNjNe8vk~{&nO_zr}aP zc=qGer#9=0AHf^Ir+?pfaF)>z#M4nP-`9{XF1;D@>H|N7Px;1CHbK7mOm7TdNI!ra z^I5*-S-$nDhn$9i9+uaR{f2Sgb7&{;MfuKy??QA(&U5-h9{O)t;6c)hgZ~FifSn^k zj}M*$dKvktUm@@Xv{M4sv!4GM&sdUtwSb4#&|8%AQ`~<9uydL0(DEB(B9db{K)4q#=Iiart zH=pn88-L|_lKWHNx6T58L-@U)upfLa`s;UcpAqgq_K@E=UGFD(e&abwOV&-(fG4QG z{)l+=vvj~?=;wK<=cnci>FPBNecbOK1D`_wTnjvo{Mq0GDcAkaY}(mIlF##e z*WU?9PY#TW{QrSB0JjGd}wPKY*__xbnmI zN1YF}pZ3yzw(sZIsW{N{g*xDlyB3VMrs!|H@kR2*hi?4Of28LF)&qv}4`9EW!1>5` zz8Xxre#cYL_47ueT<3|?(BqIE510>l26|5LLd?TMfFpp$@B4iWzkhyTmLkXZD-&^^ z^(AtQ$IlL)8<-6^o$vD_;92w=MEkd9Ty+QDAYFfDA?A^*j63&7@##;a=qIj&T=ypp z=n284n|}iKp9=JRbv1Y>{~Y=&PdTpFT%TFK@l!>yzKDp38v7WBv;6|72JX`8^l(+|zTlw6v4wZVRce?RLTW1z3aj z?ErM&*BIRIr049@k?;As{#X6Y`d=4eKl@2ozTdNt$QSx=l{*4G<^Ywm9NhhHX>ivc z?tkM^|MdWhZM8S!+jotUkp4N){|`uJ zI{oAd_R+sEmUR8!`nxBReu{a+b#*rSr~V)Nt#&_;eB+<&U!FttMQ(Wi)%c%L*z+pT z^WTxwqbBv1zL|EL3VmWgSDySKT|V#m4`x2w1k6i)owtW#57!5-7d&6GzimQ)>)#PM z1A*cGO}lnRi)l+y{F9!gpcxzw6i6|E^zMe)G$}m-d*3+&_WF%^H_Dm3))2 z?@sJqSo=eFy)c1%t|z?baS;1`Oa6`E-V1TxEqyrj2j~?Md>Z|13FTKop8Pezs{xfa z4SYZR)=Ry<4(RfkUKYA?{9mvXv|srD3jXiHR@(g>a0cbOZ*qPqLHj#@I6wG)d;{$I z1O2NP{oZ@cJ;9|nCI1%E-JeQ#-zp60mU{#_#v2%iV86eI-kziPz)r?9U!(o(hhhKQ z{1*MxyDN0{QGe@u8oOQtwnpE-zz6YN83J5{{Ug(VT>pmtL;Z@{S9@B%_R2tc8G+Ym zAMcq|r`+#=*P+({uL=AaxCMG`aOHMFZ{-#wpZ2|vowcv_o=*BDpz+B|!2RE*i?rJ% z;9ADpM)c4R)}C_pYpIv|{0O}>`r2QNN2yGD1)y=^%1=T0mV1Np9{^Lrmy2~ze#YNi z;0?-mJnA2F9jM>ScwyIf;rh&VTYkRJAJe|p({~A1(~n$7oJPNWq{pHkrUK4HKmAq} zNpAs64qs((-8Tz*_`a3rLhiHtAC8-p-<|b+ zbM&o6xqkz{2ad#U#yi{Y*`P;aeEXiF?`ylRaUbS8IN|;zHvPqM5{?hs&wRF@?fEPE z?*i@x?gnne&f9>?(c5^pjOg!t^%OqmwPWzz1|~*dzX#4w&PUEqH7F+*@+N>E1&#$8 zmlB)x;vck+|Hl-LKkaY)%USd?UeEV0ACPVwWf))SzT9<>>+V~W@A_vpa@GTF_eJ1- zN8ac|y__%ZGwvTVALVD!Fe|tuHVfcOLOFQc)^4+g(*m)u4n@_syEAvS= zzQTN_o8NPG*TKHy;kz)(+fMmm`|ID(pW*uYG2_N@)r`#^o zyBqK{>Ha@oI6wHm(QVMfxMJhGz1QHpHInvr{xa^jJn7W}dL3~2e+JJ^|5Dye%J;p# z-qd@(^BQ~=sh96kHA0T}Vmbx#E!X*L9CAG$uY|m#lye5y6FJH=4l<07yhVS$4&Q5F zU-)l=w*~tCsdjEnKIxmu*OhebFWvmo%|CJ=&Y;gad{R6(g z-p?~`@@vN71mJD#UI|>kVFCCv)9!suN?N#zo)-% z6mpFxj|2aoq;~?21g1xS&*NItj{4d1LjRd`?@heodl>_}dVj)kt)Iqu)B8mFZTt>P zZ-l%ntWVnW9Xbk(%J(2H<-G@d4%CmN-{BN;LVlV#LILK{zQDW?90!gI*B>hxAJeeA z?`!rX-EmqNImLn7=wB_sy(j2;Fe&=aMvp1j`8;qQ{C+Q48Z@vHyHiXlD-a@3z!+`|A^ec zj-%nviN4QC_q{8>pE2N13OzG$CFOc=FbnBBu?|`1hT^nz$f6n-diRk|e(D>1n;C|PAZz?VIn!|Xm zLb?9`h37YaV?X1VqcdN)ZtMo#IN3XPffpG6aj~cI$sdEePYd6t z^xaDRx9+coBX>FW^IfIv+J|)G(@M~8H>r>Fv;QmeH~PDO$%p(`)U!8y{eZ?Hd7sgH z)CHg$ALTvAp~yc1OoRMk;J#D;JNPR4&tP!h5BnKhzMsI;0f)eM7`-jmeByJ-r#$K6 z(uX5gKIKa{PUi#alNk5_*cI3geL4U;0qrk8(Ow~4KJ&?E|1!V)9g(X((uMN7KUBY> z%*)<0ih_NblJ2@*f2!+s*V}(F&ZE%(9AE#D-V8hX?u7q;)0OnIj04Zj!f{m>JzR$w zKhT==Y4p1pz@pf5G3EQtMH9;Nd^!g9@*O4LL7GCo-taG^9PbJFe$pw@o08x2$aIwN zIiL3)t*`eVM=&qA-bw|Z>p$~pKjoV)pK?t1{Mhm=KjfFb2K~M7?zx%w;j^OGYwYzl zy6?Vu4%ZDn`AzqHE~HzY^1pyTJ^j)AmZRJl=pP5TfN^&cz8SQmeuS~qV=3wOJM+u0 zJntv@o~rkgjQ5uRPx_y7y!S5M^oQsd(&e{&^M~~_-FwK&(LWvXpQ66QDA(^tE^wjg zk4QIv=-*S`dD_SCkm<^E9U?vaewp8V;+Cs?=Lf&D&JX`GZy4w5d5h;8`m?2bJ|o@y z#uJ~U{pMh=GvH@|`{-ZUu+J#!Z+xI0PC2)rfG`P%P>{3RLJ&R-Gu z?)Xk+H0m9b^iXaE==YGLe9JXmJ@>NCUw~Z}!C#5_Tlvb7za8~xOh0u!?Ye3_>3*Ng z@Apx8iz&zVW3{XQE4`j_^gHMuh)sJL*AbKQW|3}u$0qnQQLiV!4nXPR#uuA^HT-{* z|0z(tqElWJ(kB7EudHFb70DOeq zlLGaRc#amHpBaa0zkG@PUH~s6cQ^8SV~<_n>i;|W)O$PhR;&a20}qkUcac1w^Bm6e zInV2oW5@pi-$SpsK+hS&_ejw zA-5UO`w0V~{|x*WzWLzMY5%Oi59zP|FPZ08Yml28{$k)$(9id=$C0i-LI1e%c3ZG} z4a)bN#QnJY@Gj^fzkFNaA5FQw<1&l(i;P^~&G!Gl{J*hsv`1{89sLf9a9Pe;SyO@_m|NSb*`1qans|5Z6{%U+L z#{l~R^Dr)|lRpaOS0>$i0{$OlCggkHbuoIs0*-;c6ucF3b7QZoz@eloNBR1fS~EU< zAFCw#c)sen>9U}G9G@#l_nzKjACJfHcV_NxWlfjr;aTtdH!O20Bb%=a{1?;W9>rqpi-`Mn3R z1^I<2e>eC_VlntH{d|Ext$B;;;~KL`1GV|UMYBGBIllJ0r;PWYYwhS5K4H|KHJ zPtME)igWRXNKTCpMNr4g3KLxn!xNv>9i~9Kvs_m7B z`5+ar4R8T4Dso4I|3bUDk8r)^`KoqaM}4%v|KpGrIR$|e$yXeF2{4R5^#8i|(*6&C zb!hKTY5(Ksdjhy0`JDs%Zh%iaYhT}alfIFB(mg*dgFQXp^gPvjx#OWbz8&|jkM5yg zB-*bD{mXk4E1?^|vku(x>3DQ}rlegq0&|eRBY10IIIeqQm##qNh)cH|&qX}fGd`{} z<$3NH`X}5MKR}O)l;`_8qnSrMrxZ8eSm?^p?;*eYZ28@9OaBf13e&$@0DXVBCHQQh zaVyTB#)-e6o%}wIL2h*F<@t!`A)b$PXZ-)ly6Z9UUHBh?51_wABYiJ+GGBe>F>&b$ z$yXUYLjL!mSA?z{`IM)A>S6j?^qY@K!exPiQ~$B}KmU9LTqR+G_{>?=sLhl4IcVX|Irf1NqJYr%}#UaLZR8^;7P2 z@^yr-JFpXQICS%cbkFDaVK4oMo_C}`P7mOE?4lgyi%YlsN%&vZ0pG>`hr!38UpM6M z3FL=#%Xw2D+P??TdltRGw;DM#v_CMA|5z)*2U0mv!nD0z!U~KGTT)y`hbHe{I zmxJFL>W~8GN51_dVu~<)kkGrokjQH-Tv!6 z`O(<#OYA)q+;`~GV~-!P+naY&!3P2d0s8^H2jlx_u6y)*dw<4!AzeL9cU;>3#?>p| zeyKd;%Z)474xO;Kapc~Q%E-Pc9`G12E92DjiDdBmKD+Va?vMA-ZV#D<^e;I-JtEzC zE}Z|SGe4Q`JO1n%2R)gRFJ@kEq zgwWHVS7C7Pvu#DM8-bqfsoxdGh5oS#q#KvC_AUI!Cor2%~F^6_GZc9G(vp)9U@cZg_x*&Eb3H%CJ1Ze!N`_K`jd#`B?<76Mu{k{G^ z-@T{;-MF~!=>L%U)APP(w1ek?`c3_w`hBfW`^80WDBp7Z|CP^?JJNQh|I~+n74Q=D zZs5Ct&fo4EoY%eQto*F-8!zrT?Vr^5L+s~!4+EK(R{`DUxTUX1%D>EbYJy#j2i*XD2YSRsUQ1wWU<;uB zFa2HmzYZbC_rrXTtOI<$SLQwK)r#{qwgo&N>Kfj>6%mO$UjxCHKd8STN}CBFR_ zcqgF#KmC5j5qW79rjKZ-2M{&!qjQ09OHxcl12haq9mZJ1;wqZ6DhsCibvBYoLey!Tw=? zsYm`sz~;baK=0q1?*04Cw4d(+gmm}u!jSHLe%}#rzi)aU;*e88bV=>x#M-xH1bdNlfZ-$%OdNatie^4;pJ=-nN=^#=9= zW`O=blq21AX@q%Iyw+4`3Yhi-Ww5q<0GF=1+|Mqmy4g*VWQZSN;I< zFT?&tz+Inw37(L069LWV{$H2`y8H9Q;PRVKxzhb#=kR}+$D!9F#;xb>rP1pT>aG6z zN#Cd31VHJQ=Q~=`h3aQLtZ(?8^ZTY>MW{bT|BCtAFn;`Qnoqg<4NTWhqg?6w70fpr z`$T6x^M8b0H^d@c`d`>f|El@@zW7~nJ+d0T&(MEOcb#&Lbm^93zBh7Nmt_^AS7q?A z$Z;JQuK&E3>w6eCX@A#i{x5V)=D+gLFC*XgB=<94>etin=lg-;#j%ro-a}2!KC?J5 z2T(s~=pQXddEZjs>cC^j|BL?V`#8RbEaa)5`lz4xX^qR;j=u7H zpZ7i1O}-yl6FdX$;`<;?S?8`ofBl8Og4fsXK+mOo*CKph()TU&ujx!2y{6(Ie6pzEc$%+H^Z?tMMSWo`KP z&_3z0dm-Rd=;Oe1GmcxM*CyZ@^mU#29qqA{^kU$?Z{~cp1Nlj4FZXGVzX$LeKdHZd zGWyytJtxrrqu<9kFXOs=U(9$e^ZCA*=L44Gxv=t+Vu$a61<=EH#l4r}d7}Q&G1No< z#Y6ZHU_Z}8{=iP!bszT8-YKzDxc}EL;5(`-7#G!%@Bad3rv3as)lmLN@MQ<;|MFeD zQs`F~7?1w-E%+$-j*HNy&Tu0@@&O706j(*0oJAdm((?6l#BD}xw0{)D^uzx#l>`%sb8PAmyKI5ru z-^xKd+rGyAoIro~-^$sE-F%5sObeu?7LE2LK>zyG^_k@1_7^2;Fn6WE0u z?dn!+JjJwR>_n_Ye`hLK`Ku$sMu|Vrp6*xdq}rSSW| z&c6TRdof2T&-H%^`?uvXZ&e^Y8?XSd5zznP$_n0t_A#G)kF7Uy^^bl8eiyoa@&wF} z<zjjYInozDMv$7nfgomOqC2U4Y;6l`DTb=wUhH%1=u^}^>f^X zu74v3<4S*n{t5jTOKC^%Y3u~|T-tfUdE*1>=XeP31ze?k=S#oS?tjAh)A`kO`6pr* zzaP%G%9SrG`5f;Lv5V{6e`xprvEJxP{x87Yzuv@7?ql7*E+PFOa0vC=4SoVS;r`Qo zX?VZQdu^GSFWvz1Jh1e%DxaT_28ON@Jjmkw1!dcAxWRUqd}D ze@vji-w)@jQM9{$IQ?>-qk5k-5^|TbFHue?U%R=!Q%~1-uJ^+GmEIqzhd!-=u7kt# zE#D1Xh#jJ0m$c|Poqn+rcm;XCfqSm%d8y~CNm!qyM$RAbJz{)y0PjZorzYL`*LnH| z^pIbDl)-y09$|IB+I{}^(8kJWqKxv7V7zLmh+ zl3zak{GQKwKH&QTx6vabd=Z$}q61ShfBT+LHq!lnqT$r5FzE@HhkT!B8vWOJt0eR* z_kYdAnmsUXIBy!Quw@|)*@*>mgfU)D98J!`a6}A1O0rLwE+Fmcg82~^P9Xn2eA4BQhWym@&-VlQ z5uslJn*Ve9PZ#=GM(AZp-$nU{fqy~Y6W}lCcdvjifuGP1{|8)+ea)xbZODBDOb$#5 zd5P z-6xaox?wKzKY_mn>$jAoUj#;=ocP$KGSG9!WZ(s`OC{j%*unG4!^|_{8<6k4p|<3A z{pkA0_0mf8^ZjD~KXV7^jVRZBp8ga4CBEy>6MgHE-}fED_ILekKkyxa?bO5bYtOOV zf4Sds|K)zrecQ*u{?Yy9A;z8G()>|-ya;r{Ja2t>(Q@%rQV)%3}U_-40N64{-Ou`1F?hsYEPv#lcNKg5J^( zgUerv@}y5jZ~d?0zmTpU)_S||w|`iF_owb>-CzF4{7{X4t3Ox0)hnc%uHRMtvLjDD zt+#RX2WY>Ku+J9oi}Yjl4E2-VmHg7p?>iP-Dc|py-wpZ9@BTcLqkTg9A@no9bn`3M z{l4ja(bxUG`+4Ok*ZuuV^nV4EKOu75_jSIskfjFVFXDeAh-h zg!b`&5PWCQcnJBGn~(Y#e_`CkSES!yec(GzshB@}?8z5u$9y9e$$L~8n*=M#=c-(Q?Yy}TDP z9lQj5_FK;{90yOR$42sh%sk=$DmXtprG53EJ6~vj{aCiY{r-F8*8*NcPHpgg*hhP5 zXWQc&^jgfgJ_xK#dNJhmz@DF=e`oMI%xm?49Z2s6?md((=>7POW4Ehc9Qm%C6Dc}6c zQEqS6f1grs&k1^idw$?~K?ceE_oiov}wo?GHYg{v`cJ+QsuW`6H7q-Tcx&L!SAh z`~Sgo!w6N#SAliIDcb)G(D>)m;QAv?uZbS!KOFE&SFZG3lq+5S)QnH@YRI?z-vjy5 zmHR35?$|Ll{N2Fyf0)no&d|N*COtj!^q2U*rJmz-K)&ZU@|(XObmgT(p5>{hboG<| zHh%NV{}FO6U%LF3>%6!dy)x1N+~3S#d}-IsN^7bKk8AE{n#4hw*vS7#Y$k04$vo3UVPF+`)SuBlyet22|nwuo$X)BIct63dk*yc zC_Gn6K!3~1_(%cn`fMKU;{4;hRETwdPxp)DD-S*mco69OnSX;Pw_Mb|GDU= zeC4|TmCye{-NHIve~|GCorexcXMQ%~bq^;4)~O7c7c>{vv%6{J#Jf!M_!{e%Z{F=RU=Ki+tP3zY|y( zSRJ|Q5tbhndUf)LdP_Im^_TV5Kct^Z|IlXaZ+x3^ZKdb-P zI7QDtJP%m~eJ|rK8~kfX58K!NVSBX1&I^FPqp<`$xBVID_jNnC^t|A|QE%y2wKMJY z3VJK@KcU{2(Em2{*W~wH`~P{LfchC1IgfHq!e@NsLF9VR{TlK=!%oIAPlZ2>@4UzN zDSRK@chQxvJmqIVzW0BoV$ZRZ?|mT8pMCGxb7K8L`r(?x=l$*^)YJRciNO8;&*9|H z&pf0*N_ukgtEX{|>R%Op?baJSyx-r6c67hx{>*)tafrqx+CS_seXvs=D(hd8|B{y-vi$<;0o&ZF6CuK57%j~&vKCNduWfSzy2-jVg0I--}Hy%H!kc$%3TI* zfPNR4H|0~l{L&x4rF``Z`Sr_b=g|Jg=;zK;&Rf3k=zOMp^IOgn^zq)~2U|uD?V7m3ryN@?AjF)n9$ApY%kukNW3jomLPSiT23{ zZapkdIoiYjIWo>U67?|dFl-;&#sB-3E-u~o(h_3-I_Nb4I2PEC{y838zm)Vf@avD0 zzb^Tui%b6)KK){*>;F=|`m3+{U!p&%cPL+dJ`L(OiS|hVwEpI6gx<={27ZwK^ct9* z^ewcb`z7~JXGr&dP{fZ?uKwh^e8-dVee<4nYH;6?^S*Uf_$NVM%R0n;g!=~f6C;to z7?={hXMi_A&+r`7|0guQ)Bn3MPSbV!Y1-j1{iFx>sfXR=H^2O)&|m0!KL_>mT(~gv zM;MAH0WM0sfl6WQ?Dd;Llh`6yW>z6gm0}UXd>X^)Y_Sxa)=R`Ofn( z2r zqykY~P;X#>u3E-*uS(H|P6y?kD9_-f+tEJ2D=8B(M(s%zo&8_habBCrqc_$!KTe z8`@*%)4;{pZyk7a?4-YTfb}HZbNxfKtN!B#l%t=@IC=bQIv$79HS0gQw^=RxO3 z*RRGUr9}_rhyF3oXZ+rH4&!&u?~mUbzdxt2t8oFw1LQ!jr`V|xcJ_XKbm#|2_kO$Y zTX?_yTgFxRE{yZK|3~*Na;gD+pQe`S*xB^UrUSmM`=Rcmq{Dd7{w|g$+IgIrT>wghF zM#C?k@4sB7eKSygNRJOatcUee|MJN9ofO|WuwVH8+AQol4>*PK_XqsGrzYL^)~cbO z{bMrxGfAHcoCYk6-qXRW0LAr>*9hq1(k(~%6DU`I>}>eI237~Ehu@iZ>33lbAFDn1m%z{H zkNTgC(^?4qH{d+-tqaniD)O!{4@>~} z9lK@Z-++F;S1!FedPzS_e(B-+c+#7o=SB3E-}@^5Z%t#q=dO=jH~D?EANYN={f(b7 zUdH$t_XYkBj^()S`i}Cd0Mnu8Vd|d>JSX;S3S5c(nuF&BRtILrPFumfU+R5QR%sRIr2T`yQjREe&i>KKi!?H(w6$X7H~epWlfz&|SY*f6J z_q;LX9-}|3g70^5$G`q&$G`q;?c0lfp?&wmFLd8-z5~#Ww{d+}203}r;{f$eLA%t1 zFD1BfJ1@znJm1}P{o{Ja^L5`puLGaw%Gp`}dA?i~JzNL7uBuJC_y4``?|O13`bFV8 zlp1J!RV8rGM}23iCUQs7F4iMI=>>q_Bj5F<-wo%FmDurb^1lGS2EGE?FKz!E)ZhMT zKRArMu>Tr&V!Vg(BgSV*HHx{-Yl` zzdN5hf4>=5dBr`UXiZe*P(~?OF;S}#=Y^so`V|4-k5d5bLwSWOJ~X(0j!6d zDd6tIwUc(yUizu-AlGv+&&6^wpPUB{L;g_UD(V@&f9botbWfcx&-ztk@} zz3ouy)o1HVhv!4py5aP-zc<@uoV zkKZNdCFd*YN3omlz#RdX?))X)d8`TTHJkEt(SNprd%wi^2-mOP_i0W&m2(5Wxuo|1 zic2@Y-+90P#(}J-{p2^l{B{GVW>+>$XVr1JBv~zmU1~L*E&_M7c*v-vXcUcnfLIZKRJx z{z70h(tUR$Kj{U4eSu6*5j;mLM7sY|BHt`BJ_44;zP=Y^{brzdH|RrwNskX*T)J|ltB3id*XFyVKj@90h;-vX^}D!!JcfN-UmC}0 zy8brTo!?+*{jd6Cr7PF>yOk5lH=lIR6}m9b=pR`MK8AU4J?-^2|DyTyJ6<7w7v|~N z;K^t=&$YJmo%5a0^3Z)BG!x}3e=K-i;736HoaXnPk`d6y1AYHu6!;RxO<2FR=&S#0 z9r^To8JF4!IWcL^3h3XGbnSSGepVB?+FAd_Yv}qf^k*DrogdPZFs}7)=-;v&+qDPw z9|By1o^!#C>-HW^Ht5@sZ$AI0Q~vev8y7r`{H~u}H|y8YU-JcaIYRzI^y|XF{@Cwl z^oYtl6#jpz|Euc!Ru8*+|1>f7+(`fO|4wpHzV}5YpvP*U?;I=v_grcWdgy;KuGIah z=gZ-`AuD=p2ZrBg{Wzh2$8vMf{+)q4sOL}M*?^^h`Z4uu)~6mlfDy547jVz{U(vsP z|L--p{pt+*&w;-Jc63}iUYs8sPX)+#llINc`lul3U(k=f1QwwE`-9)3+&@Ww1}uUe zj(hcR-fbdcN6_e&YG2@dwKo zx9fn7s9#*(;j4$d#-vZ7e%_NduAvk1KZf1~T>EO*e$chAFah@T{!w&r>GDfAzfgKy zAov9nenuidiuZWCBXC0E_s2)C}#}ofVJ2u9rMpN(&ab5{3VgQpZ+Iq zKKZ1JOFsvnafb3M-+aD%=epN)`NDMhqf$@b+cTf(%JH4P@#yoX{RCY46!2BpZ4&*X zKkGpKe4&4@KYZT9^W4|_cf%Op!-39g`b9>=@BKa3Uo%NBNI&zPqVRnp_^D4m;}rCd>*v-#9#{J@ZjDRw`|CM{?;ms} z{}1Tj6MPfUd?DTWAvW{DAMhWdT*tY3H$eX$$aOzC9Q*nH}^`(3^#ybAq|FT6zgmq<6CxODyMo)3*Dzwu$N z6E8=a>e|Z0&ei!-OKl=am{%==i?0tZ8|EAr& zM>P-p1nqR2@$daT?@@Yx?-JjGhvdsdy}aM-IsHoJdHvrnv2RcMRTb#7fbMJDPc|XF z6EHpH_-?xIi2FZU(U_P0zpZ4H<2yqsX%F8QGTrxee19kle8L@+EBzjL4D65rSPi~H z;QC=BGavZ>6#gHD`wRE6?qA(+c<#HN`g>07dBI7_y9&%l{qKV-C;b162-}rdxmY_4{D_g5L?h4|TB1UZDQ* zD9rFOJ2eJU|h0( z*}~`%#vfN8y%_Q%BTxV65YoLL7T&L_#Q1T2?|Obc^)vq0b;(HNd;i{h`TwI|hU@<~ z`vUrheq-&l8F`8M&U}x)MZl8+!~4Ja8GqgbmM=H?L;ggh*9LkHTnF5J;TPy>d|-C) z6!h2W^t1NZrzLnY=;oVBdP>s0wvz}tuDgBT`rqKY=J(m}pni1y?opAe-~LP5y*Th)?9Os8g8cgL@3~;8^-TW!hUto)AJ$akAh#n*1za$Tzmogr|-x}&x<_i|G~GB zbomRyZ@wAi6PNxAdMYQBFI^~Kp+Noy>Z5$==05{H2IYBvwhmnS@_=rB>Eb8IXa42X z|19tn<*f!^2^3e}sv!M5_-Xi+C%=55{*#zTHvqlAFbljb^ILYtS0&nG1@yA?|MI}b z=urXuB=AGhYXQ%b?z(UR_;KieGag=&zKL?Bmqnk$tf$`(2r)i=X2)&i0@h} zU_b2lDfM%m8WG&_{ukx?j=l4N`*hE{y!Y%r)_tq@kEfuw?Rk>^VLQri{`TY_$a>p2 z0{fTu2Vx>84SM@t%XRFQoAh$PhQI^JZw5XDs2@5n{Q930(?3ekK7+AeO49qlKL}U| ze%F0P$k!~8^OZQz_n=*W4-Dwy(p|4Vqg?&&`r+5muQIW(83HVae!lnm5ACd9I}diP zNj;y#=YGd|-?(h$mnWb5C(C=tcQ{)>H~(n#oCchPou`7g1^RXcZ>Bw0F>;}Cfa6jqSfGtTs4SoQ4 z4mg?m8CNr!^l?DnpYxrBspwG+d+0xJPdPKOPju{YfqeciobfqJ$Zz}Ep5@_Bf?b^7 z+M=iDx4zRl8~L8!K1J_E$S+L$w*mhZ`WB$?>S;IE^^2ia(ev)n^si2&yS_1BJJL@(KZAQNc^*3{C*(KZIrycE%WrwoP5+ek zl`cGp-qO{x8tvmg(EVR^(&M2=2H;@iqy$d^>`Ogk(eBO2r(eeZOMQoQ{~xs${j{Fn zS^95X@RqdK3FL2wu3uOGtA13^FUFw%x5%juypH{AfG-Cg2cAIxwcxXX8-f0>i|3x> z(QiM{cPl1>F9H4?(9K^7J#Qla4)`MAEz+L>*HQmS%tx-9y$9@i+4ZyU@0>#3MC|B# z)bl;h`}{uYZ}PprJMays{qBO7MGx-_dw%YE(sg7n^d5u#{Vu-40L=${5BrY>Z^gVh z4OkR8{(pjT7Ul6b_D3({#bVJveJ{ax65RLRLx1Cvg>?7L zVSJnAxxcbL?z5Iq-zVtt95{+{UxB9uW(LN^e(S)E-wE|}K9jF7`5m`SDCa5Z=GPAY zU}w*_JxB8V%JU=jS8wg6{?_XoPprGG6W-Tsk>bpM~$eW?4-4d`i{ z$q2@SaSlho571AJ11q856>#@Wz8Cp|dbnSbZk)b!^BWg$JbW0xY~1?@<`?5S3W28& z(x;-I^j*x0;_}OOw-b?GmG*Z2b-(h5>n8eBD)@b0)qZUMHqNUN z^)C+m88{5+{|My+{}E{1>IKRviQQd4FDAV?>Be8V-f{f7E)j-w*Coy)X{o>GbKZXq z^C{o?s4?x;2B@FO^^NpY$d_*ZaQ^aq+V=>;_yFSqd=JR^@fr4W-ci5Jq+3onKX$>6 zz6-S<`|bs3eRjru`2XViE8Tax|30q$nXgU(-Di(r{=7(f z1@!0uYzlu1@NoRQKXSkByW4G<=O@q}t-$p+{z1Cy##`d7Ydt45{`ofT*5=zn$nD}Q$8Vf8aE=?3Mg|F@K*9(&>Qdybw&o@tQ(DSA(Ye+1?2gg%?}fwnhxuMZqVy6+~=MV@{q$Ax~y zSmZxVIj4aB56KJqyZ=8@gMKxG^f~6I{GX9`2x#1N687KThnr0P!qlr9uru&;V0Y}= z3)lmAjq%|*gy)N%KkQ_j>4(<;ydSxT88_bN^xpnILAv)oXHjmLFD2_u)4e~s1vy1& zFZq>cx#IFyCx36+Z6WYi%I^by8T-EimV;i4_G!ub(f2@lV()3B>n9LDPJ68n__l(F z{E;bV9CA+s#{-+7=TP96^phU~{nc0fd(b{HsF!g&T}d~7T)OE6slRmN3{Cg_s-&bHu60! zhu-#w^Y9tZ9iB@x!am*`8BafRJ}Cyj^qTbR_Q1=utMi}d5Y8i>PsE`gMF-j*wu9|; z4*j14&F4MZ(0{DoxGVXMLozO@Kl3>h4KLh&zXLo3)kZ$@@^7}sfT*l!^>hHO+`D&s6H^^;4KJ|N! zJoCwCJ;M4q-!LsiF#bY+HQgnG@~yA+&xan;#ihSO-&*L^8GX9|I|9!!zjp=i5#;mz zZu!bkZU$gC_|0d!a!r>%r28)Tcj!44x#pK%2fFFLAD)SJYY5*ipy!myp_}h*bkmE{ zzvTCv^E~}cy8G9qq?=DU@`vx+cu%e+^=S?CTwFi8`^!c_zTasdbxkcd4ZY`|h5p%&b3KHrZ@2>ZKU&j5w2HN*Jq`pExH?|{4#jPD=82UFj=*zXwSuLSpANO-@)^UA!m z!_UCi=(Q5O1#m6U`yt*d@tjk6o`3pYQ*`8Y!LIH<-M^UcHuB~7-C)llz2|HEljoH0 zApbMuI}f`ab^ccm<4c|YO;;cFi-FwxEVNz%^&cdry#`_LDCC#Va_wJV(a-E(X~TkJ?7;h73?|+y-o08swa*c!eoc?0`i}Cl}(IXjp4F)%k&v+OA zzikC_e80%^nVh8ie?X3Z&w;%^=XX)RnEo{VS`pCu6!V~Rybqj={^CAm3hm+kWj1(G z?B{;P{YNp<^{;osets7_f&1Mw{SWHrcU1p(Px9;M*1!B5{e54p0PW*DYvKK9;~y@O z&$yuZl=~6m|99}J*ui^Kq5LhB?|Z}fk(&xW?=`fgy;DHDI${;V#3k z9#OD!Uefac)kpgK^!Ktr>+kz>%2%%Mw)uT`9Qa*tK>zptf%hC{O0?F_EFAP^j~r5^8br|e%Jk9S-wy7>#hCoWyNDHz9bsrOx=|G!y~e%=iD2zkHLZ>+!NDBt?FWc+N$ zjyK_70c?l;IsrX@GJbRo`gMlh4Jh4o<339=KXxJCPWVH*{QB$7Z$9Pvj)M8sQ$Ekh zLb~yqUr_JKw0|1(n}MB8F9jabO&{_Wx^eL4lYce!J_=M1>6U*m$QROm|Ht*d>wnk% zuIqR6Jqg$MbE)@y-~!-0pmM|gh5Ls%tOJa5F}}s~$ZPm%&6f>3d2X2;{!giAC2-?i zVw1j}{*oFzA<#IoFutq+?W$bQLkA<@a=eFUKMMQLX4Wa;`KjlmzQd@Wwlw8_4c{v8 zgV^&ma53Y{eTe&$Pw0QHD}4Xaazgp8%e=>E`*|PL{fYaLuaLir`N8$qW7@^{4}L^H z@0GaTOGP{AkAIK)eNK8^>gRm#e#>_!-5*)5aWiAEmvUNy8$UCN_V)WQ3*7s;?$ca9 z>eqJt>3N^)PuHW)KNpba{Ny}i`gQ0}sNYj?|Gzs2b}&BZA^JPMpOJqbcJ_bG{myTo zJ^X(p9hRmkk51L;g5$_pk0(-M_l-Zo<6f{?`5PMdVLpJZ}R=q#qste~CV? zfR4j|z`aM)mvW3V@%~L^(#6YB?pe}@0$&14QNMZMpPf!yr>&P8K`XI`y zLi>3y!}CPXKRsvmT+#DT?P7dLXrIcI<9h^2DepVd!|#*lY;~|>M(W}Hpy}{?Z^(CR zjL+T4d}rM5WAYb8p7U;Y@KM-9y7RR8jJq-2_#5-DrykQ=d=JFCpm(fabG&^GW}JeA3Mym-KkRP_FNH9HPH`$~d_OuKz^8 z$w2hefASms;}UQSeC{V)XZpQ!{TYFL%NWoIlZe+b@(qErJpAOyvKK~D*FXeh(RhsW`GvLpZ@4IGe z(C->@_R>ywz?*=3&g(gBN76(4YFF1Ce*gULy@URK|9t;)0N*?Bzf}hBLpl9`#<%|n zo|txbztoTRao^+pAnyfjru?VWTe|0#_yPxnLr*ZgU{CzU&6A}JWz!aogf9+}g&!CTV z{rR3BL=WhmPw4*->2=7je@}ad^5r-GZpPsgpz$I5!7tPPuYk^Xx4}=-kNh91aA9cXOXdYJLrGXzx*E$_W}ByUH?a? zoR&b}SMWWt)yVhUbQJP8lRgKy7+8#Ukk51F0n~FAdUXZg0bh8&>$&e#=ArrIv;1k` zn}F)${q!8j|3A9!Dh#-yXy7I=Pn<*dzev$o83is}$|F4a#A9#>D;26z6 zFNe?8I9@L3-r6SNzJI=VpQe}d#9`doSoLr3|1>N|fv;YIIJMEse`oO0>a|&L#q7Fr zaN^4M4$;v5+D|*&*F5u$=KH(ZA>8`iIj8lz_54fe>%P|-@h?<={B8Q28eBiU*A3do zOqxCIZ^WIW+h?HLmz@#cqd|Tl?;5!8|EuWyN%;7ghje`YyY0S^`$Nt*|C;^mQ|wQk zDt*@M==pus^^1HPH*SXa%iTN2kMG6w!!OSBz{)u&__N?f*U0N4`0d`~Bc5LH-4Pj9r_5cMGmM$dA6~ zfG$7CPsT5%oFQF0eL(u~ugRx;`OuX&B7HZjy|xH`P`dxR_}{Vd|5*Kf-s&aJ@TulC z_h7HB9lu^T)IM)FZ!Xq6F?;?0i159G{=2+iWpbPoI^Q&3 zI5%-lvO)8* z_+|0V{)4q-`Ch2}Wy0?Z{-=KCeWSmYetrE&Kh*EU`S6GRqkcD0_IHn;-+-TtUyT32 ze`<&SxqYj7_qaj%Tc!V;=?iXMy76&i{ba-X?+>#77{*Vyb@OojZ(o3K+y94u_Q5(_ zd=S3_zx|MZ)b#K^%|_Mdyr6T4q5q%$`2AmH{>JkI)%)%2=YG}H13S2{g|42?0fuxq zy8B`DV`uuQ_XG7KexkdppZJ6)v#a~}{KMWI+C2Ur1`o|{&ZGVvzk68ERR1x`KW5`< z+{$(TW~tJD(>VP@aQXVtapBiyw|Pr{seZn2_=c79QSzp(|8G*db4=%({Lg14e}SNR z>b>+ov~=sHXRGHPmHTQqe);h`SG~9KV_eLa{>Jh7l_!qSI`W$GS$D3N9jrh3%gqnw z19HXx9as6o@oC(GL;Z~3E$Y{6RqqATYt8VP2K0NPi_^cZcE^uCW%aE@ z`*`}_1Icyo=%v2H{A=Fbxv+HaKAu+p^?$P!lD}ebr`ltUaPPD%I-ui|KIBJtE+F1) zcs^hpsh4)woN0onA`pf?{fA++W?*8hb(dTY_pp#GTkZ#=52cL3pqF3@4PQLi+ zhifN%^rP3k&6DC#ZqEMvs@jCbJgF;SKigt zf3@a=x#HU-{Kxfgar(Xw{MYL5of-9KkA;)>c#!}1&hWD;$9d?Y^^Y4$A1!>$Aillg zAJXqCUA{#Jxbo>UTjj_no!l+6^FJ&9f#i9|Yx~CMjzRv*UBdMP_Fy0WcID8Q{`7I4 z;oc1SpVyv4yYt`QT|X2j&fg<`{H)r2<>uGn`N!_1f2;nzP4M~bv3dAgtzRY%pDsI% zto|#PEgzw|rzzc)>;``;_-H}QQG^!<4}e6s8?WpKCJ&pE?N$#LF$ zMftWY-Mf-|_WgP#{u#or${v%(w|w*|!pY^2;-C6i@|OyJKlpC^>xGY({2!DqKIa>y zJ70Uc{=m=Zob8FyU&?;u$S*!eT#ot4{5MW|=(qZneoYU0U6P)|a)#y8Z`9=fxBkdK z|7G|W^}{cNk5rFEs~7+E`Pswzng9Bp-TlN(hEO6>vr)%!}x!3F`HD**Z;jsA9B`^<>JRQD9^mT%V*FWA!5AElkp7yi<`D63QLbdlAeV?7X z4*y@UZhB1`BzNy{@}1{uU+t-Ve^dQGtp3hZzM1~cc^^ry$Ag3kG z1MD1*zIwQKQOBv?==evgUyKnP-XGaGz1fL<)W`c9H&xyf$+;lhe=MHO9{)?8@7frH zaeY?&=AjodfOD3q;-9AW8$G)3f$zijOZQ*zTlyaTHvT8WUk~Dcp>ad*C$;k`<@0Xf z)Zy;;^Yae)_Hs_qp8flJBVY-6sckNUr~)d7sR^FYmT_-;CZT z)xXb(|99b_^z~~0lcTeran641Nxu6wvm{@6O^2gw)I7OG{r=lQbm{(&ymfT)*`0m$ z2Xr|7mrRfK>tB}ypKJVVuiphP2!2%kUkHCEI79u}zI;UKGuJK~1Ru(7ONRfv@=mK? zioe(z-3fcg{SbdL5fR`Nv<)Ugm$_pXJi$*Z6|YCH~p`@@DY#^!hA( zzVu%#xOe=EgddZBzYOxr{yN;g&%V(9&pT0zl<)4~pVN2eaD0zfp8c(G&@fBBuzZ0~M zTQhqs-uPKL`qTC2Q^Pk1l4HH5eC3>7KJgoWOmFr9ox?i+G_P5|{wX=ut>=b=(ycRZ ziEe%TYPj{S^|A7m$BuJWe{vp*pZr(C`OlSuF0SABxBmNH^|$^r4-DrA^pWNNFnCk_ za^gY%{CoXK|I}YsZ{8WcQ(?WuFJnJ!e{8=zcXG{t2i1Sgi_R~di#nG)tbXKvpL-ef zGTz(+@y-!HCx73jmCp}9Z}t8`>HPNIf&XRW(*KvuA3K!)(eyHZh>H@3q~D4^@;>g} z&9`UQ4v&ZPL!Vo@{L|-zA6-9kk7>Ws-Cr6vInxIHzj(56>m=(Z_cy%X;@!zttJmAX z9hx_k>mL0K>F++3djiAz0}HnP+&(>a4!YMSzFr*uFh1XXfThxBwaR@bxJ+=P*1r zCtZI0&Y$o*hqAw2D}MW1`(pQf%q#ZK=ayew#fHt#8)Vmw!{z&Z`B$j^e+ZYpeCaC& zmkaLO{NcTt(UX5+>E{gO;8X6W*+)Hx_50dikR1De-y!$f-D7uuz`4RYwc}R7J?bC) zbyubDHNjo#AKL_P&rZ(qT^9Yy;MGCz&t4i%&Z^lJ{kiC?ls;?n zpD*1#o0l7p!~YMQ6`%R${_wL0@DJfLx1hf&+*tj#f5omV-xIa#JHZ9g@5S)x>tF6Gj#2sZl+U`wdga3GYF#o`_+6EEPw>{D z@y*|DJpaD_vSZ_b-{X<=*`;*jmE6B1*Ej-)bb9SpIrK2U>{&X${5j$GG>+)Id+ENz z*Hr#qrSsd5Oy6^}+r#0T^!?f_xNi2kGyM9>n=ZSHBilNBmextz2iaeH@MC=3_v(cB zCaS+Xe?24m0@0n1?odD2CFuU(;o(;Y9|`Uqzwi0ArT;Z}P4&Mk{DbT;e)_K*|G44a zYy59~-go>geCfuK^YHIxKj-qkTRWET)A;=F;O*=nj%gUbbY}9-3i>~j{yTI1apB>}Kzxm+B_zq96BZHF!m9ISgm_GcjTUIXrtM^;9R(PnNwu&;F~1 z|2a5){qf8C_jkk5;ppxgY|}V!{^nfFxg7op2J)51Z%9w?^L{(M#%z43ulqmVv$?2z z_80as_B-AS7_)xB?n~4^H)>p*81#Obcg_Bu-s42~AA^6D{z&P=|HF9?ZLjE81fQ-y zxOd7wy=ndT@7aHzaB|N}|NXOv|IcliT&t3W7iSEDc;$(*JXL)}Me5!srL;T*W{8{$eKR9>v zufmS7``NTW(^G;a2DF5*I;U^}a9^#_O9nO#D3Hj{1?6+P^5BsoNlfO&p z{L8nMzC``i{_FAV^Tt5VGUc;BL&v`)Ikm5S9X;^-zt+0tJEnG&PrCfxJ#n95zx48M z{=VTqkskE^4!h7(IrRN`<%^g7YkGOFY|89(RC13C9vz(g|DoeU|9SbznI*m>2J*<4 z@5K7)+d=2MpTz&2LHYDLGP%3NC;ykV)1OP{*V{JSev5x^n7)4e9&E?@-&&=wn>^>u4@bYhbpNlB&;ND&$HuuZ`iTR6@0;9Md0R)P7eBgpO`eT@ zN^rsWb`IYqxLoPZ5Bvwhxqt>(bf@7K=tDpO~>OV?!_i<+)*cU%}+S5Lp-@tzR ziGiKjZ{F%*T`^n-Zq&H3{`0-`{Tx~UJGbxP9YO1#5#i#v|5tfysDHR~;!*p)jMe;m zas2D0|2U;j8vll+gWoP4eWU2&q`bG}9i};|-}dQ&?{CSOBxwFJ&zM)d$FY9r5C;Wk zsa^LAA2m2Z@R{UJU%rh>-zA72{lUIp_ObR)&y~K0bw%){-K83))xxD|wSwFZY6_yPvqSepmaLH;<`5%@O@q;WH(V-PX*1@we(R zLv;D1-y2=}FOzp)>AxAshd-MA+o{eMUReX&28}|^*1IEAi zeZ2ScX8L>YNBqBd7yFAv8&A$3+{bbL_-f+|-FXAL^NRgjKiW^sSNqrx*k6oMKKl#% z4Se2H9`aum-}v=Ue%+T!AHFZhzp{7wJDNxeQb(4EgaE;pS_2A3pd%1D^e&zko{7^poj0cmmdF8vW zq5tV`!~U=Qvj=)8|D5Xahx9ljy-pj95B=IWRE{`9`w{yN_i62K#?Zdi&pv1V<_-9} z(Zw^G|7OTOzfUjopn4ncf6Z=32WQM)GY7>lJ)4~2{4tzgj%y#eV)>7%U%98@++)@9 zeZPFpKXxg7>GU}^_`A}*KlD}j3emks5gm$v)|k%JaUX_e{MHb93{< znCX2+IQrECy8Np*Z`__eF3CQ3hOd}?_$^n@zLQrDx_24Ty|04)LHeVUcS7a3Z;6f{ z9~@nN2ROQgU1LbujVW0j6BKYsZi%YLT?r4RY# zyCVIDa_%Ud{`95)+SLbr=%44eM~CBQkKOB^FJ*_>(%XNw%v<}FJ|a7rr^Oda|95op zaDPkBEh>kfY^!kbi}I60?z_#?^gvfWxmzc1o8S+Fe-7Rdyghhh@SoZFz2Lm*|9SYz zt;58PI)4#Q`u+Ot#)JNAJbam)iR$m8Wyh~dpS|>>D`&}Y_rtyagg#yU5#9IaccqJq zJR#h>mhOqZSi1Ku#l5Uwx$c*45H3DOy7(A;-)&v9eNeygzc&9(_kVcnhg-7OYVjQz zbbtT+@ZtN4E2RJY@q4f3i|lIN;0L!)y|4N#UOxU<<@#T@@}H{wZ&i+RSFU{V=r7c6 ztCoMVnZObu#5iy4*w76zfm_f{>E?rbxHb97%qNV zytMO2=aDm1ubqO!_-yYCxsUWkt-oMd2?tQEEvcp|L{x|#4W8%Lyi0|_7i-UIu$F7{$!^QCq<9o&PZe2Z{ z!`)r`xVLtFbbfO7v0pX6`#$(CxYxn&KC~~plkfX5l>2G@aKhUE(CW8BxN}|ipa0!= z#C_|t8+Xo|x2k_!T>9|b_w)LV^I>rg;vZ&9K7We1u-mh@_%Q$bqMvhT`Yn*1`F)&I zJAbCvnU(jm^s;_GAbhm?&5FST%6~{W|DOG{{WX7|@5iwJ>es`2gT~i$wZlTy+kXV- z&c5vOOmySl`O#(RDUOc4*iXI48OmqxHI?q{~{g+zjnt@{+rqRt>Ai<^G^8a%@dOc<+C3?DZSUL-p(JcZ{3Jr{;}#G zZ&%J=2jyN6eOQit_mH1_`O%fPZsm-f+;M{T@Aj+qsrJ9l`+m^(AO6$Y!+!U?>~dh~ z2LW(D%)E&G*xHbED>I{%Plk{M5eF@0IVP%6I?9J+k3G z!9ASe{IzHN=CN0@uXydrqmL+^A4$H+2K2r1dmR~^EBpDMz=X;9cF_6il;QhkKkKVM z)SedxKW=`xF}eN&GFtrn=j_aX&fX`+e^Jo6zI&+$)xS>*zESF?b(e!3$| zf31A{1*6A5qIBh0Z<*h%$NZn~8-w_qZL|L|)%(Wa4#{_)^NQNReShx(%#eO>MIW_( z^>Wbq^o{6m2i^brG&`d|9Ur><&Y%7nzjLQo!~K8e0P|DrJ8Afv<)bJ4$p2R3MEsg} z5xy6{_k&K(F8q1?cB7Y1{Pf?;=N`cMwUhth^7HZUtzY?<2EQNw8}Z$mUH)6WJ_~*v z6o>uS@=sI#tHZs&G=KT|ue=9?zE<@>mmeK|Pjcj+xOsBz_`U0d&i}^Wrat6?;;5C+ z--fPS_4XaUsrr&Tw9mECZw`{HylG3{BfIZc{dNn#B|FN8{&4A2#Xog$x}f|QHP1Ld zF%P|1`s{tTb_u@UxNz<(&RzWb#_4r>{rbrGE)V{#^i#v<3htY}>x9n}BuX+Poq@!}-NQ~1GtqC|TwCUv@t$491`hL8fJn!WGzW(cdN&ePl(%1Qf^MO@L zUnRa_e1`j`-bHr~@7&$~f8NFcf98wX@37L1Fa6p0vR@mue&l~n?iu{BbaAoXPh2Cr ztPGxLp-x_poWL%?P>pPy?Si+xIKN=Zv0;xK2802>*OyNzIc#*)R&&@AugL= zWWV&`M|iJ(x=?oZPT3vd|A@X|xO^X__r1|S2w$;$zMpqh?_Wp%vU*(}#Q$`1@GIxU z_@&cJdHCsxZ~pXf?`g66yM4>v;j1+dT$+CFXPs91-j(kj>~giws^v$AA6L2Z&l&FC z|J?D<<=dzH`iXXaFT1d} z`{Vx4vv_i^PLJ=@f7U8pyulNd$N$A&_HgO$QGKWSxj$v!I#%^qJo>`nS5>a^{}G*D z)&R|}=! zqCx*9p1%Au1oy0+HVL}tH%;=yX-*QpY~ye3;FLAQA>s0Ur~DIEKkunr+cLI^%{1LUg`%$N4pD7x5?opx7SGs#ttA(!_ zTy;Q~zEkx>_n%REDA#-AFExJN3VI*ixz0tEBYmvwe{t#fod4XOJ>|#GFNz=ip+ULg zCgtZ}+Tt(&a~&F8&G~lx}}2zw+T9q~8mJ z^5NvjKUL#)xyJ2X!G)`bxD@d)pX$HOJLV1iH^x72a?#=F)=lsjAUW)EIexv!)bdA`3x|KyY98@|709dv2>d>*`|_W3OQ z-saJf!MiJe%I5!{WXCgt?`D7JGkcf*t04a%zoC7ucTlHJzW1;XtQ`Njcq#hA>G{X% z_fBwRa71vq^8K1#@w;d7$Mm{9xN3CqklqJyuhBaf?mLR7xHb9Shuk~-&E$R(l<%|f z(bCVlVC?YGgB#WE=LF9UdIv(BpLMQwb+4CS@srlU{EsvC-E+TY$@Fo)`u*^yDsR&2 zV_&&uxP1?Q8UGnS8^0PqocIL!FK(R3ho4;c%$%3o=R1FLPVRgiKe^X74?GcEzxI7F z-1szptY3|*oMaK-T1^Oe$P3y`O!U1_iWq`8bAH~e`f6Ff$4$=WWO21#Q}O>KWqBQKUI3#AL5s9vgi{eUpjf{aCGI4AHQDPrtU#*8lM7m*P8DtiIwb`ERex?#AnO z>33D>E8`sIR4wiy`wRVuk${KxHRX0U&hBDHhibUI~(5Jc%uF_Jil|UH>Cfd z`QJK0T-t)Q$ME|*{4V?c`p%03T)1`=r?5!)DfMe|@%yeT-+!v%Y0v)_#ixXRdw=gkM#D{`}GH|4W~w{IfTnr;ff`_)(R6W>9>Wb;oGhD|lRX95dWI z3cknIzuqTxul%ygJEDFs9{HZ+9U6Vl^gbf|U)ky5(x*%RIg%qTZjRQ2;=#qw-P`;) zb^U0Y>>;jhtkQ3&yw`%)2i-&Rj_V5P>weIq+3khKulU;Ermy%k@o3`HZitWH&N-%Y z%d4ul`#s|P*-^azg4Nr3o%1{I89Kk%ta>`fxFnn$?;u`M{oEfC-!Gn@|B*iKzq$7& zeoZ`^`vv0u`H#fWz1BE#kL~8#_09BfPic66N!){U@0z_5zk5x`*Dm6y#aCZeI{z4d z82^~~XK~ohPqnXm)9w#URzDMezg76Xweu(SyS3`S)|sOVxNi3HUlZ}6#@UDIXM9~$Ke;TpW%QTQ_oDi_ zI41E+cb4uyE#_-+u;O1wum8>&{892}2q*WZ5Zb{^K0e z5C47k(Z8Rne){=C$$cd_TK2IHyE#4il^3u5?GxP3*fslnQhC;s;>f-i{f+dq-or1&-H8lRKNAU@x}3hxS zo}DMFf38vb_k-TI5WkIo(&Rmte14p9lk-*S!?@ZLs-JgCMyr=HEK_;zGk!1Jy&C=i_bTO| zy?VMQcwq9~CvkqgSLxPolh+>JCwjN>uu1uxcY7D&+VY=V`=3+0eUx3yzn|3(mjyS> zUbh8DiT`Ke=6U(h`IoM*oDYI8rpJ@v&$iC`EO==3aNphg&F;JJAN`W}zib|wsrIn` z_TMe#D_8xMFYaW*>g)ZkFKfU3Do1|&htzJ?rThlgrThxsZ~lG#)%$4=hKrl{Pwn>o z>?@Aq-ukcaneVpm-q+_WwTJKDn91SS`J(z+zlirH*E^y3#9zN#yG)xMR!FY%I`8Mp zcS7_o@lK-Va;H`Z2hF`S}IVKd61s`32-dCto^#eC}V%_ua}puyWDwuf6b-_wDjc z9=xgcnKt~F@f{TY*8v^h_bYeR;FRUxJ*Yk(R&VPs{*^`Q$NVa*hx3!@r^Ei~yKqzG zxQFOoqV@ZY(Qge}$9u=^*5*6s3(g(Gu0m6Va2ye>5rCw#_%Ei@0B~G;{(aVzj^XzjsH8rt+Ipo zz@PU0Mi(Cf}EkBwu;rxTTBl=EwLr{q0YTALD@j#+iKItUP{Ya`64P@%3`^ zwRhdjpVnjc-^R<~)!R7wAp46O*g3n-lU(BuKR)B)^z3(LkQ{Qw5%J^cKm2mWzwu@K zEANo{-!Fpvct?iw;~gIUjr2Y^{Q02qyi)Zy-Y-gT^?V}!KbFo9GBP=f_C5S>_}I1Y zyE|I57=?>F2YedHkD-QhW=pT1 zmj2)75B@LjpF3|Pf9U@rfA`kOrv`UU{sG|^q$j_z`@7!xB6p+ms|WeM&%S%U&%0F4 zDAmJx=3A9Fb?M@O#Rad^{BUpi@HrQqJ39V7`#zo;^q%+W;pWZX*I(T)I3s*GznWLk z-BaaP^?s@Qsz=oR!}vLIb@sRRv-Y>no$Pyu@lW#aQ+=l}ZnLX6b^on#PGtXMKeSNe z!ug}~59cEMUi@2cCZC^29QU@BFaGk9i&a`2INP4n`#LHX_rUo1UV3LY0+IcWd;R{6;%=eU8~<+Gpf&4UBF zbn?iN&c8>_9~=Ky2E`v-R(lNnpZuKsrCZic+XZ(GZW|PrcWU1e=Y--FUTK_sr*{3S za^FiI@IT?#RsYYE|9*D-WqjgnX9@pn@~4ZR{HIFyegs@Td?U&?BL00Ve<(+~_b1SO zKgDDCeh$Bx!A`kKYZ>8njN*PS#=8SC^M>tm=18 z@UzmrOX-u>9L_0OuoiL1YKeEc5# zA^aQsF|*fx&sFXV!LR4-=7nK=&10pD!xf*)f5^}1|1$8GYM*t|cb4kuowtRfA67cQ z7C#gJ(zfxRocHV^Q+{&juU!8L;NMdIri~N!nZEkb%lZ8=tz(wXZeuksv7h|PCr>(@ zeEBx6eD?RgCi=0_-M43-+iS;%qT6TMU%DSqHb_Z|ft|JCI~$B!;Q$nTAg-~YC}=Y3>)x_5I$^TZ74yLr%i zDEuPgnKp_4r25r?LHYPU_(SBovV8wc{srN?G)@i({xCXy{0G&!mvrAPdP=ANg3WI) zHXg<6Etp+LtseW7?~veL%{#Y+PoF;S_02cX@9Fvny7J|_F#AprpLF-mPpjUi2j42+ z8Q~xHog1b3Ws&OR-p-fNr-}ZEeptS1v$Oj=_-`&9BnRF9s^&<4|DmG)UZr1M`R-YH zcgVX$)-QVu{0qB>^FQ3}JDxqQkL&}zlkR+4Jj|-;VLjsh{dn1dpJT$>^{niAW^nS# z`%dtv>^5b%xRDRbFK$u%$S=$Px8Sq&ulvGZ={rAK>%(WFTkk4={z3Wl;b#y>w^RJ* zClCKD1Ag*Ot9`VGdvDt7!U28tzw+HHoH#j~#Yf)Z<@3(dlI2@GcuwthZje5INI&hS9oSuatWdrcgQKV4x01hH zA6xnyr7xJC<5%vY;o>sB+4q3obskIB=Pe)9?%&8BW2gTm^{3UV=lrGb8Qiz@ z>uRsPN_T%m{vrM2LB7{2=egvJpWSW>U$k-#3a*vC*Bhk!-~4Zrul$(?eA4lwZ(lxi z^%mbOo>_de_pxWnZr+3WX?lwf`EK;#{(Sk;uWTN^VX*(_511nRY?EEw5Bp~A`}4{h zFZ!v$af9o`@BQN)OJBEi>r(4keky$Y6Z}>D8}b>~#-s5$cJ0ItL;I{;{e9nk&z&Fm zt~-AaPxVE5JCE>A?QniDZ}>j>9?{P^x%44Fx!-Oc8Z|pVAM{@o|Bt`0ba71n*W&*z z_H*Ks$1MMJeHS+lir?Nc+_}gP!tslHUbBASeC4(Jzx~}X{(l%>MUR(iFY=wESSPC2 zLgjPr;y*y{ac)un^8X-yprL>0-_3v5)$d2?z0lEuyVTByxBj^#=zhgj;V)&E4}&jd z*BNRz`zQOR-(;ULvm3f`y>)c?Z)slmdr-Rn4msa+F3FGV9P{MtVO%~NeoAoC>gm4b z4yE%u@+%sj#-DxUSn*FAG%uJphV#Qd)tf&5t3B7M-1*yoP8M{Ji@)jS_+QBW{|mb3 zuw-)Ps$IPU`M<{dy2<@0TwK;(wU_td{f|bRmV86{Bk_sjx}o-4s`eULzgVPvTh%|@ zr<KaT z@(<5%XVL?|d zesuZ8_Z-?fn_o+O&u!K3q3n4?a-Eai7vDdFKaT!zxO=be(Oy=$?zvvl{D&^x{nwS6 zr_YRUp4#shmGf!y`+Vg)qkN->yT>v|_%iX07k+DcE}R~VW>5Ym{v-L&zi3?ZBMtpa z|Bfzx-hC$V^Wy34OTWs__NS-xJ@_R3#Nmlw6xZl|?hDf2dg<=)7aPYTtJh?;qjk_p z+0T7I@g3f67f14)>^i)^zHxe=6ZHQ;>&xwp%iz-GJ0{%wf8P6hJw3&R@6dPh)%e~H zE*Ae}<)12earL_>xNiB-r!L>Wlk=bCFV=VVr$KygWuMvVFXP1Ly_1F+PMD@gH zpEYUYXZ`Ap4!4i9e-l6L+{yXkp4m&hGC#vlO84I^_rIl&)A&cfvG(DI;7{O>a4+1u z#>4yJzpmc)CGy#?@W1XE2a5ru4JZ@0950 zhwl>ojpWmR_tMu$kM)9Y#P1vcef{YChiit<-~8siwRanzOO=j(bnSR|^xcB+_rphN ze39dv{jLE&d1sV9+<)4ao)FzTW6Ha)bnSXq^u=0o#< zd1bovSRi;%{cy%`aY={u{ava4DL!eh=Kr4r?LX{W)bGT>`sk!^@6>IP{Mnih_6lD; zxYd9z{{z|Oq2R%d-v`6x8}c8Symzaob%Xttb;WA+hi%EtKH@9+FQ%wG{tM@N-Yp!S z&pEfdG(Pv#r%C?(mFqvu*JdyND}F8h@wckSKa%&a@J++52l??f&CV;;e-91npBsm} zXKLN-e9isTbJOdVpmP@QA$T9bcyaDBbMiMy4}M4bZCN@#+_r9^Dct( zS>w<7tn=EH`_Ani^d8fl$?^R%{@yKpkL=1XD^5pzj&=Ev-*l5F1{CCH9bN%PVc?Z&&TFLaNc}$kNwVh}^&kH7W6S@W;8*n@?aYtxVeOWgTc@qeD)-u3dIrCp*gpPb)?UmAQexK8@r74F>G{ees4_a4$S)!%;A zyC!=K^5MU%^dqX5eg7-9@6nZiSh#&Ze}MhF{k-!9=MDS^{0e`l-QnJMBX`@{YrCNR zyM4NMMt)xVy4T^p#}TEY&z%0hD1GUmd{;$3vh)>$-uYZ3e3jsq=_THff1kemqu;Av z^OGJGAOA7G@$L1G`N}_kaKRw|@tOZmKK$}4f8qF@Pc0H|e>htD*dP8gy8WSa`@^%V zKmR^DKR*Bdvd#PAU6e!qt(C)1`(gIKz4YsYHw2w0E|k81F8$g;K70?={~rso-<#q1 z#HCMH`S`Ez`}1^g><Bek;CXl;nx;5bv=_>CWSS7XR9%f1Vvrsy^ z!`jvR{p7o!!(Tgl<&07PJ0mzr(7iYBakxL>UYmR7?wubVpZnqZpZA0GzhQs$UcmR_ zx1ZzR;`buoe?cE;{+put;``Odf1R(1ZXM?Ry&3Woj2qwD!Idk2((sAuC%)(W(~p$z z{Q3z$_HE(rPq^Rwm)gnwX7@_BY8-m6$~#uxwQ|o(f0{ly)7GB)l{na8|H3c7`E1l|;l=+5shOP`NR|1`U76+TAui2nslUcX&xknVp2L%MtU2WHnj zl7CS6{I$;?lKZd99T7f$ba5TOiM~wqt(u1}4>~{k?;zcIkaHsEL35_Z!oi2q&%5C6 z)hcJ2%KuyPzt#AhGq`wqO%^V0<;CWK6XF-Q@_glrM>(_d-zeSv-K%R)_jlJZ|5eU& zwd33DTREpS4!#IZn|`l_Tc22uh(EB7nV@q0ukq9PcPf3%^qeZ_o#KVdw`%2F82mi_ zy!&VWZ2x2beDOd(@ecH}jv75ZoF_Y9cHjBo)+Hl@m!{Wh$-gv;6uMJE}K(;U~|&ZD?ovIQQd*^>^>>)a=7f>>~dt z_0Ml-uaUvgOLtC1U*p(4xBJR>TK(mUpmNqs-de$*M(4j!j&h~bXLvu7eCMnC)NjmR z#@ThHdxyY1SmRIr*9P+&|MOd=znGj6LGq1X?aChBZ_v*8@l97hSiAmfelV|?KX1vd z;>+!i#BnMg{igDZKew-=mv(c1k$&3u!s;uZ`57IKu0QZ|Yd7zg@K-s%66edmY95wP z{}}qW{J+EhI{d$5qx$tF>21F^PW|ih($T-!{C7e0nX><%2Kl6an0)7s)+fXB$Jvs* zRB+Mc&lf&RaQ2{cPv@%cpSo|Vz1$~Vr2cY4a$gT_9o!1~Y#nz_aLf3- z*CH-yhQ3#iG)|pIqCc2DRxY3TrXd|ad3TndzuNf^|G9Tpt!J(Ot#|q14@eIGJHNd5 zbB6EZSg+%kU;pDz7yqrFI+rC+oPoFq@dwUX_h_AZdC>mYe);kGmv?vA-#gGxXIKA2 zo?iP@-!-DI9rXQMCw#;5c@OW++V8p2-ODP4`z7e(m2Zro^fST_ zOfG)(pOrq8KcwTItNiT3U%`LDUvhc&ajyPK_Wxb*ob(cx@^Bi{lRx>mhcUNzEjWD z&+aPykM+y#!;h%nkDZ>cg+CsgJ?K7^^RsPA_l}@*x06cWH26M!!l%zZ@;kR92Os)q z)%)I{^{{of|8ls;vTWnu{T2QlejWa4{vCd1e(jgiZ=v8fvKN2IDz*CrrT-(lk+WcY z{NsnTul;5HNqmZU759EWtDToh?&87AgI5Muul%Kg`onVJ_XK@s{6|kY|qwS)JyHwb^aa{1T)Q2LC?T`nljYQ69$8b415tuLMlH;&AY-aT?o z@p1N_sQlhPbq={s^eNMie{8qf_@eAl$u%;djt?Px~xi z{g2GPONZ~8oL|?Uov-}4`dgo=ZX&Q9*tZr1nbhe7e- zQ<#5B|8?b~i)XnkJ+25|!%ji#z~x#8-BS8=;p%l&>BIWjm+qav*?*Xi2$v4OXOPc+ zR(!8{MZUwUr*|FJ%)aK0KV^URHt(pXb+P`%{@P{P+Tqv1?UR2(_}ArD|6%#QyVe1| z-_`@e@3VZq)9PVg32-}xFA??3szKAfBhg0lvFU#AaWCp&H#JUn|H9`2s;wAIr+mj%Pk-|jWL zAG1{SIS2B8k$mO4FSJMFV4B+L`Szpk5e@11+&_}fIh6A!=Sa@0F0OyApZtUBXXgjs zs9g^W_aB(6%YS41_lF-`eGWwaPRt^@i129TwMBIl|M!N)>qb3==4FC|2x_Fr`hj- z;JT%ctY3%+n5}ZWTYN?R%zAK!^52vk{hVLqhw;xGG(XvIn4ip7k7TEpga6CE_Ax)M z{eKdCAi4ZG{5Hm+@kbx~I&t1-ruR9?^S&85_{j6_%y;#J_%{#te_s96|9L0PzDxH# zBaeO?mA+JZyp!C22bT%%TtDy*(Ad@A`#;`S`e$;Sn~D3{EIqvk3dl7uyfR7Yk%jb?nUtP^6T>V;unW1 zzT*7kj^Db;eM9Fno0P6y#I2ae_3P2gC%eDA`I)8jhpZgcbBnR}A|T+sSv(&Cu5Z(O>E zbb9h{s>Ar)~`7MvGe@H(ve1huz%^rN>VIUobDpEa--#~&b*0}J{A2w?Jmxv2UoxP}e@pY^ z%fWTxU$}akCyi6{=Y@@@CxTB0zZ3rlgY;D^-#lgB!Y6&mZ(nj{@=mY*4~K*F81ic; z`fES);Es(0>+rejAJ*I6Ef#n41p8*Mh2!5n_-J(Z8hj^iZoICN{h6-Sl^VXOjBa%t7mC>uP>0@8LacT$TUu+HKj&S+Dw?Rl4ugpZdNW zR{3X#pA@{ldRxa`SUUNK#z(&LrZ-N4_8;F3pQC=DpX#69>+~HHALRSwdu6?WZ}aMJ z{p22-_n7Q^#;E)ytB3cZ9*h6w(l>2h+AKJC{#*W>2}}QL_Bk*6^4Hq8_}}Dk|8i0N zP<+^?m9O85A9K!hbLH?K|26xKlfKtf{&~rHJo>EBM@@hE)+_yj@=M3BUC*do?Ym?+ zxkG+(&mYMBX64I2@ zUH5$WZ)d4|>)!q2d!%%B5r_C`{d27JoTdDegrCqpVvG90Im!83>D!gQZ~fuN!Ba~& z@BT3R4(DI%U+YZk*Q4V9W_%|n_qObJYtXxw-n;y$eqlYzkM~UJ?tec!=syQmZ~aGq zvc6lbdRyPUTK?0r6I?!gOH>c^$E(L`@n4$#mrefPgW~&MiC?<7d47VS{MVBE&mjK- ze*!-8o~?ZNW0fzzcs;m$^inT&nWb^Z4&SN1{LRDniEjUY%BPop{mc5nuz$P9PS2r! zzfS)7@gG?I&J71IE8mLg>-}Tr+~SB{kA7*}? zm|hEHzjwmVOdfl(FMIQESnu&q9NWCRO#R3Dblv3op6*il(oY)DFHX*I9v6=#erMX| zt2OF(D+Gt{x`_Xg@6VNgL+~$^|F`g!lItAM`L=f?^nc@to%Bm_OD9wh=hf3o`5w}aLR=v$Y5 zNBZ6wytMvuN${!C#h2>;;!M4>eS6=3`w#mO{o|NHKhb}_SwEk*a_~EMUn4so5ad5z zGn}7#<8b~r_ffo)dP4o;x51Aq*FJ?l*0tVa_#`__72nv6uQ7u19ag(oCzG>u?KEEV z#m?bt1ihb%&OhQjgP+Cs4V`~w@#H$^m?S+nDBZc^CYAT6?7U~V^GWe*&VljqpYfOR zpIy`VB=@p#{Nh2#-LUe|@riR6cfNLZ6+iBN0vuibjhlDj-uc2eq`Tj+Vfro+T%&dt zA0aN@{eHM|#8Z!&o%czO_>O5xw|^V@AME4o_l~c8_dh-e|8ey@C3&;g&yFkI`&x4} z{wJz^mk-~ed?&^KMS7kVK7IN4DOV1kDd=2$v2f?!D}*b5nQ-qbEfTKWk1F@m;3vU5 zg3fcUsQ(^XJ;WVN)qFLKKYA*A=pWi&dnx~n>Z{xf!nch7tIC_Z^7jw_QS_gMzgoNC zn?3!}uZ#cZLHu(J(yf#KRlWFu7cU?G?;Eur9Q~8hLG;bj&wDkCrMGyFWx|a^@jdAJ zrT8B7rQ^FL`9pqw^hq1P@{gB&?Az%hJ`G*Ea>tKP`9nH+=*m~F{4XYl|7x-9>wRN! zK<;-WQ9BL~0pN#~OHB=4N;{rq5@++IE2D&70r-rHUw z`&xIP!_lX$U#wj_Igh_Ge(`4hU$<@fUy4r7!=-4M@Yt?T%&*Gsxb#(eDa0pzAH=DKg6Lv+IMV;`k^?QvBUX^ z$FCp!J^Ay5d-wL0Ko z-F-Ll8{#>J`tw_8KjUx0?D38CeldKT^tvGUT;P^{qTLcEBZR=e^lj@>peO0@p*SvyuJ22wszoO zo}_pm^S9uUo{A1n`|7rfQ{U(7hn4Ss0{@JB9}L=A`?~+bPsBguKG00<6CbR;4+S?Uee$6H z=3N@ydxZQmTlc-@rpgKmBitera|CuL%DF z=Y1IGb>r90{KMvV_cr;_eK)qRT=Aw?)bEy04!U^LQyRzosE5?<_tZbz2e*oUC}+y_oh0bKfb!AZQxg9pen$L`xElXq5O*UV_;~g5 z{|5QQ$8S)7H11CfCtrSXKIGD$zVx5EdU^Np!Q`2DpAA=U_QtP0#BmJcJ2pzbb8q)u zF0G!EG~V1lajv&pbaD6kf%28Bed*`k8vW$ouyL?S(Egr3!97g>BN!vS#q<5C{z2~3 z>8CvVNPY$WSMN}q*f`by@2KBdca7UTHD}N}p?ieC-uQYe$gXdOzZQgFl>B!}|3ms; z8+;-C?~>kk%s#;S|B2Ec^Bv4C#*O;y-TdW#+)T+Aue)*hxXrs$1ve{w(dKdc%wtRU ze#~RlgIxSmBu8A_CCPFBVD#*Fe)HFRLFi=j8MgKeu-6Y(Hp!Xur5=?JUl0 z<@8)JC~lVja~MBs{bAibCvXaB>WGRZ$D<=W>n_3ZQepzq*+!#@ko8+7mJu*Q*dheyKCtp5(@U-L45;Zw<*x%$r(L>G6A zE*O341($B8`$|0Zs(z~bRpyU5(c04>N9^{g6_l@Vy?&d%9 z;cMAx>g=>w-)-@`XD8?H!Q*@v2I*gg`%m%?*=6D2pM#Ib@7-tdz3%(jUy1j1z9^3C zgzDj4?%$=a^91KZ&Kd5E?w#u!;{Rsz$LrO9x$^Okj}b0@$a$V~Iq^mFXE*ogt-tQB zKk>ipV4kVn`Bjcc5BDa-FS!@%UcUcjk!#)KoN1@NUoU3gMZ%XcF6w8_znq78ztwxK zUzX3k41Vcjlea|m;-7ZUY{A<1FZBcc@AB;EKJ!%B-+gBN-o9zI#+~sZu7A|@@_(aI z!ubdJ1NjGUNT09Y-LBkmv%mT3?b`42Aom}Lurl5X*P527+yETHptp5CBBkM0;WzPqa|77{_%a4DT z^QtdHfIJPyGi+JPrBcaFp-AIq3Acp?MoFAHEUU zd4}w{X8maL@DZ&8hw+o*DxIrblAI~4|9jzo4L%v1u6FRg=l+NsI+9*a19altb- ze~F*Iym>`F^oL4ct^V|Q?IHeJeDPP&-CMFQvtIjpJsAJ>>9IlV$+^FB>9J1Z*#44XR8F!<)3;$m%ei8!*?su*R8zkveV5$bo1<; z&5QJ;mweAepQ-YO^DFt}El~Z|s(kv*NQ!C&7E%&wX9Ub40K1=1u=YAqTrTrLx zrF8cI?IY|fj>wL~eC{>=wssr-f5v)!gT~JeL2(S*hR+>bG`Mu|faJa(eoXfGN%r|= z_!rUL^W38PkDYx+M3-;!0p0q3_@5%oBw%hd` zJs@~~{mHw@{2cri=GA4>lV4}k@C&P-b)@yb@A&ZhEiS{oG4UPFVQxwvFZBo06^P8*hCN!q2`CHgX@%kg>Z3q z8#f-sCI29tAAabc7w_!-!R@Q>%;|5wJ}f<_sa^bE_}bFvt{icJ{Pgq^|0hmtjO5F| zZRPqdTos)j-l6z?q=ee9(8{*U^1veihCy zx$=O%SU5kPbq!3^81e`99{lJ2Kk0``q5)pKK~QHlYNl$ z{_PuoOV=)o)lb}Ke53k~2%^6mzFd5(h953HD9+ctTJp>f-oH99IR^*nyK^}IIsN7L zAD^$^32z*FFI>LEk~2g7^^kD?ce5`PU*Z35{&VU*sQ3F0ogPG&?z`YUvVYZnz60ie z@uK+5$N2d_(1-K?bk$=>mp*ax%c+gK%Ys`rKE(rWRz3C$UY`9f3;wO|&(p!zOLwo= z{}pbFF5SD=dnNb&pzrIu;R~mabJ>r>_YA(0{SL3(BTBzC{JP3rDV%D0L7WjZ3o6>cMs6cMjwG>>S3uOaH6Ata<4e5!mE(P2?_B;myL-2CcyDsZ?_Epr^+(4q?p}NzT)E`F zlpfa4YxI3`4*pr=#COj5hjwr;(7ST}+p<;dj(&G~ZC*bXw}*~TK6LHwd!=0MZy&Q- zdYb3Vd*`LcN7>lmeR`;Fi}*~PoNp!4=$G+w=%HB0lfb>J@=58m5x{%9R& zeJcNOeQ8~}XL7AicMl)Zy$?3BawkduiGutB_VahNFSGAQm(G81TKV`9-S0-ZT<=O4(AiDhQ^PB3ee(H-pe*FI#-lryvwr@peAZ?D<2-Kptk0e=-!r8zTD$+Fbnnv6Q-6`)`?T}cKg^?l zj&G&X^&kC3|9ZdrTE`F9_m8$7Tcr7N{Pde3=$%${^QwI4FQv!c@i|{ODcrtqxIeS+ zl0NjWZPR$(EjfDx_p5)M7w*5r{zv@d==i3qe%ed>Y0pu8--GwnFYV{h;rfGp-*Ek8 z{W4+gX+J(w`u;NgW)2^xd3VmB{mT;J^QHgre2Bfxd*pn#{xNs_;@FqYp6+L_8E*a* z|2I?oe~-Rb^$>r;KYdvJYt85f1edRV;#S0=u3de<-al0i`RB$@?gioA#g@vqxY zbLIOx_>)b{doBPn|I&lZ{71q^MrhlR!{N9&S#w8IG=G| zqh6m?zgyE!{p6dr^46#yD^HyN4b|hQ>UCxKN5M~m)3!cvUSZwpyutZ{`vf!Aj}OZ3 zQ+W4BXkhc6mu z%QimUhZ;A0&gO|zf^%1|1H;FyUXumAUpQTMxVCm#KfWDc2eb@~@ z`RMY07T>mm^5tg_aVX+fHY)$$;+KET>O~&-)s5S)7}@`F6znoS&`-xj&KlarBhID-9 zFSz+je*gL6&we?3`d{Sy;pR#F;%ofph#zT`?DIzb*MIFcZ#H@U_fK50^A77f{`_r{yL0gD>c3O?BF(G(+|Ne$UjNhSKO%TX`uX4GkHaU6 zZ;IfZrHik0-gi=T@s`TvU*}iBEGb9U=|=OfnF*3;J4DJ@h z){l1$&Q|;E7Owwq7cLziy8VXnA^)w}$N0g&OY#nherRyl%9sBK^^@a+_D{ElKONu9 z+28&3XG;H|@4&dthbt$4jBs=~`k2wB5BVn@(BVV=i}HgkSbe`2yt#CAIQq5GrGHsH z7L9+Apm;a;Wu`0LJ(|ZG2jb!6!#7Lg%>5Dk@{O5Y#|<9Xyfj|8^`ZX}SQp-u{oOzC z9{IuXzuf#{{VDE99E^Jn{_FP#?brO{yEj_t@S%Uj{?C5T{?C5#)9mW~PV{M$`}^qr z_q%!DwFgV**Km)Af5ZJ9aOi*GPjP?Iy+!+n^=n7_2G*ZV`?FCTg2lgqE+KLYl1zo}pHf0Dz0 zfqxj^CEk3k>M>vaO}y5;;ohAz@42_QNObemG0EAlbm!;J)4ju{9QUTl-?;halAwFU zKL~%g{)Er?IXJrW1?LIQ7tTyC|Bsk4J3mu9&lc|g0K@Tjb#&u&%Er~gL3(_ncAX(e z|IO0Ry5^B@i2l9O!6AK_ z0UeHCxf`d)n$^$$S$|qRox9&2?)~Ru(~n3#j-4Hk$v*P=?o1VZw%};x zn=jmV$oB@n?~?DsS@qXnRIcxZxb69y|C|$kH{AZjJ9KwfzI}~*pNCX${Ps6nmj8?3 z7`4wQ;ZIbLe+1_*{jKobgHzT1{A^Q(FJAk2zj2c4H&1fzuihhr?+4e84_q&NyX3AD zZvB5>^8S_lxyt9=G;z4Y_*?rI<9MOus4qXkj>+X8xHVi{lJ|?>O|R$retpvV#61u9 z99C(4$3L@1^2En%(|8|~eS-^EFZ+pe8eg{rr;Tr_;Af@VhuDA2T7MW3{j1>U)nB=P zsy;K8f2{QUZSud7USpR&PH?)?FOPq{^u8eam8Gv+x_2}1%TLbw<=Z%j&-cmq&v(lA z$-L+t4)1PwuVd8om>}r9cA9W>_;QVpiK0)GUH(+P9tnD%?4I&%kzFT>f6Souul2L_ zueip=ny0oge`WWL!tsC6e2U+C`dj5AM>(^XzHo4>;Op5}dG2jk2Om=X4hV_^XYaYI zmvxADoB1jDC7gG8_xZr)GyaRC!iW6mD9}7 z`p!}Lt9N8OQ)}OCHgIuXWe>Z za-5G{6~0;h&;4lM755^*oh2PyC;_z(boijtrg<{KWwND*WvF?@8g{ zdEx)8zE_4H6g({W%i!Tbalhh(^CyE~qz6Wxp_nhW3 z<#l}%k?(yZ^ScEWK`i^qX%JVHyI^zj9P%iEN ziL~on=PTE(&Xd)UXMEUH_{6(z|D16wHtXwpq}6{0Ioh#?`gWht9Qq$=Kjn$<65xlC z9zj2;kNiH^H-)rvl<)m$?epHW^3*>B`M=SQFM;0Act*Om-v!Wj)qf!Ex^5Qo?g72` zbb#+THTlZ(J(XqT@25Pz8~8uuhjCdCq4Pe7@0b{`XZ!jdiuvOi=WXXPq^0ve-{NP0 z_rGGzC`WwSwIpf(6XCdIJ-(p+{O%n$+G77IxPtNZCQy3iiZ@^R;@vO04|IPxk#R@8Rq40t zJx6*TbW4Fdf$krDXJ0<`YtM1$FC*_7@Dgww^}7gYy;|?yi_2lVP%q0^Kko##Ltabp ztEk_c$n|}i?6hMhV0xhM9(uni1NocakA%F6$d62VCHSbM%VURppMviUi~(H~U|aG{ zN2gy+BH#NjuFJjO;(Zvu8{aEDg552sFaJ;LJE{7qA2M#t2JQo1!2Wfla{{{p^>6F< zwtlTo>$ex}zK?yF_aMC=a-RHhw4ZSbOQ;v`b$X8@74@$FM1P9@65CsU%L?R#?cRiZ z`(0-2=)gM5{p6@1T^l<0neH#ceB-v`Q;)_O6sG=+I+f6a+L&p}2Y&;6YD z0tb_Ce6fDdh}4(mQ@-&J>RHA<>;(Pg5dCi-{YX9GIgaNo?jt`&-y`4-U>E99e_aRi zrI%m7-f{5Tfa;ab^CRWIq8_gS-(dGe(o^V%jcE7AzqFO9uEQQt ze}0dCpA{&#_se==m-|omrIY#2X9JB7s1LnT0)3CT7O9n*qQRp2UeqBSRcX=zXbYHz?A{NaxWlnCwAwd{QhsVAK$t8 z#^*(Zz8CmVj(E>!JRdL)pdsJ0=L@6g*Zt9-4ZQM|r=8m6y32XR_0xX(r|YIR$Xi2s zza(v(coxc&2>qUGOk(_ZopunpuIqev*LVWs3tR{GjuQoeKT{Nwx9;!Qg*xn42f_h$6_8`o!Cpz(I%jSuwv$n&B+)UV@GfA&|# zBN=~GhkEq8)KBR5>v!$>zu&9lhw%X3+X>$ft;F~?m-Y+qKddFcJ^kQY>=_5VNPZ2z zZ~x=u`qBTg=|A_rnD@v0FNE_}4%+R1^fTl4^fT*!ZbyJTnd?07 z`K70RTnA1!5dhbo}nbIz#*?=$CIb_>DmE(tD5oXYd2D z_ZVr<5jt8<{8QdbS;PFW3AhS7_mKYiKk)K}c+ZbkBIh)AoChYSd@1>UjH4bF)W7F8 z+8Nq!Jhsr!|YyJ<{`QPtdi@eP=c&gxK>ueDA9?Z6lNk6nFcHvqRJPG? zJYUyO<+$W|f#Z|sONron510y=40x7y&xCy&Y3F~*_g!@9Qo=U@yx)i4f&G3y_|nve z`FG(1{PfZ@ya zuX@0$z(2s7R?ZFNR}SdqSDyOy*Q#H6%2%H9El&*eTTb!m$Ug|wj!3kBM83actgmhX zPtvcilJIT2()O|<`2as-z{Mn?}pywChBI>6) za47TBWME$Aw>-ds^fT|{tVjM~^8X@j99S6tW&K;<*8dLs5&b(A@={UX?klH(za|~{ zA4z-v{df42VUOqP`qwv*e-aoU=se}V)b+Xh>wU~4o+Ek=@f7>@!*rs(QH&8{b*C|5T+PcLBPtYD?Pr(YRFSN9Rk|N3Mr@ zV88DTneI=1KI-*b(#C~)PVD)K=f$>T*uM6MnzXC_6x+vkA4EU59M0?7@BM1=t|#R4 zza#!{#Px^klFGDy3;JCfU~8a!;rc~>-|;h!_Br)q{H*IY*JG~ZT)(+)OU}3_J{jpn zeAm0MXD@Iu`AMOZKLPq<0w;k_N;zxr-Nz*TJN4`RgYbOF@mW8(d^47w3O z{RjFL^goOX@Wn~HKXpHC|Hh^womD4{85T;X51lAN!Nvf#0j|*LYv{BJ)r##zXmi zzvL+RyFl^kHQ#Ykyzip;U8*nqKGV=I^q+c9%X?emKY%WLpW`v(U}oye_n{k6Z~Afc z?|81{d6W5`uMMSM#UG+xv`_!8cD_q{BnIvU+Ryru)~~Jo-hbK!T6)L53yf!<(GMK&93RDh3SK_{pXIpuBjpr7m3BG< zwEWhK@j<@(x(t5rpXv8#48Q9e{UAHA`wFlDbl$5zNj>}lwEaD|bbN8Vc07rJ9P_m! z)PJ9G@-JWn`s*9gxftJT17BmuQ=oQVARXF20KN&pne`y z?GNg=-n}PX2YSyhoG+_R%K|i=3;ZeSKO6WQK;yF} z1^JUnt4Ddeux}4gzoPriseFI>3&k%cU%$Tm`VXahLb@8TNp7w|jKGl%qU;91}j;2+eBbRV-0kgg_p>CBh@7Wi+d2l>Tc z0B_vJUyR?zZ=3AnE(dm_dq7!P0^hH(Yq`0coTfN@>w2R}I^M~_;<_?UP=9=Z7VXTgRD?E&`964~)Wlc+r5Jq4V5Wy!@UUkEDLb0q4`cqk-e; zA5-in)YDYb^?;*+o)7dRT{@r>|0nYGQz_4L1>@$tCvt>#ao@2UJC;$u<*3hUz@Es@ z$v)XQq$;Fy2hcbN;}?7n*mw7yQqS)H-1ixO;XOs~j~ahrzT>?9?JsB__WzMc3UJm2%&Zwq|NvEO!p-?$ym z3ytqFerIc-SAOOBA1cQ&$1TS*-_Fc^(I4dg zFZAyiPvZZN^dspX(l6xqZ@K;cms2nHU+Y;q>vskA}m*M%g@oM^~J&*8w;s*8W{<1M?_m@pcAEDgC(7Ovb9OydGxGUFz zt`nc~9m_9Y9{7t=kG{*dA9~j>{&yigbmFs--p=^oy^9<0>+dqo)_&!?^q%u%{SW=V z515a2gZs|B^iShZI-}qJ2b}|d5Ib@rUw?)E4ee4-Sbpop@1QPnGBN&FA?^Q*(lz{M!x<5*D?A5T=yL2JM(+<9M|((_qDD&+*jUWy!HIoeO*2DDknd5J%I(O zza7{=AN`I4;rIV9_Y$~M}?^I+e9@!anx@V*n{x$_1-=ot-NdEip)Hb4BovwX^z?kzv%KMGt=|JX*_ zxLENU!As{p+qC#8)R*?DPyO2C`%b>Qvz>C;4#EQD9|vv&`VN$I@=I^~*eG97=AZQY2=MOf z!}-~HTfdR}1lLFIYmG}W{wR!3ah>FPO8=AbEm!Cl{TbI?KkcI3lxsYa@{Lz|yDwor zRla_&TlAkq;4dN9ac_h9K;^4<7VUeV_N&VHH7)p#Y*)Xp<=}ni)OTvUx9s~g`LO2; z+NBqK&da_#=l$Cl&?jX-Xg^ZFdhI{0pc@8^NjZGiqa5-wqPIBZ^F0yyR>0p9JLPXc z`{}pQzcT=N`uAVM?>$ld``&YLzW4si48{+~g<9BsKKPDWVE+W5|23FOx*4z%_RI$6 z0$!kff2JHCP`)SRe+R$s;YEW_x}Nk~??aTK{<1-5JW(^~;$gq>Mj6qk9Qj{M&-%)J zk^WEjOYRfgXSiRxPJecv=y|96*Fo6fKCmTvJYRSJ*Pi?rj32Iljkgwt__T~?#&!As ziec1??_M+&E|BoAG{a)H|-}~Wct7NXN{*S67YF0 z+LZq7IjHBKC!xOr?8*0ane-F-{Y31X1e^eLU+8{sI(qIfep`Rp$+!Njhic?k2YT>iD(&$;_KP=uCO7lIZ`4;N z(vB;>_j4Wle9v?_-_>d0_muwxY4N7T9|GS2Jv)HU(eJ!EjC|iIuz%bn-#8xmJm-9Y z9Q`l8i&l;D=chgO^Dm{oT@Q{YZ5)X4g`V%_=le6iFzGYMuTDCo6YsqW{iG4$vwysy z9%}^UKScfeeb}!}>!0+#kN0OYQ{UnFwfAQ|=MM2}DMtj(ZO2k?#;eQ%FWqy;1@euP zZ9{vEg5P`Nh3S{YfRW%YPPzopcd{abFHL?S;5eZCLrDLOKHp7ODfiFlaXpd^eXf79lU9!Mhf>a*=<{9NX6R`J^uLl>sfR7VcF5gK zx&!^h^JUMECzEg7um2TljNP-r$Dtnd>w3SaF8Q^v^FDSz1m?yL`-lE1-#K1NzY%Z$ zxrl!076f$5NiPJ7f9vnE{sX*v?3c<>?v-d@ z?FYVZ)`9P-4()5ax_qwp<+ES4gU@(>&-cD2KPmQv`-g?(8y}yQby!o%)r_?7TKTSV zUF`FnEBTD4m%keP#-*O6KROOOZ=3IWN4)DG*AwP@F6lcw$`SAQ?s~wuck9jiw_eJz zE^z(ajCDYN@>2s{S4W}zuCHBxo0d*K_4j~J{n}$3lKb8Gj9Z@T`p(KHd~f>4;*xGh zy?zb+mi}g3&kpii0*`}te(?MwJU=Liy{D*;5%d?&U&PDrdCXAg#OwEXmwnSY`en2r z{fPW&*tZtE{H}vN2T_jeeAm0Kf87t1LymHdU+h4BXovEp*N)fFSEb&ycLDXY8)!XR ze&=83Tj$R)l-K#y`Bc2~vhtOu{6T!DpV<$9uGc(wH7>;b%G7T`=;e2vD4plEp1+=8 zTrb4<8V%??o&N6)^e@Npm+zF#>Byna&m&B^HB`e!#`*F~V~-kqd zCGuRiCMB)i3>n-t4Vqb0yragO2mtz5@(;}4BH+=m?F2;F~lCBHY&^{95ZpK*UP6Z?!SavUm)eU3ju zp zV&632eDZ&Rz5)3KsRzFk<%RKcWuezU=6=cX&;3+n&ueJb$#i2)A=ae2f9DB9js5see1hE_1+b@1U(x_3-xn|*Uxc?bwmg1%k%ri z$jQ&RT@kpG`tJZV?&tyh_8;RbjJq^`!1x2>3Npdx_~1J_-v2g!+VR5k>H72!y5}V$$XCAi8I-Sn$H8pK^S@cr|ACxyK%d zTi?!`&cotwQ4g=SRc{Ks!Qg--^k8@tPokRWF<@#V7{LcT6Nblx5 zxdJ>!emCGM^6fA7ANx~U`rSv+tJnTm34B9fZs_!rIxhC)dvqM{McQ%t8|uOFeIjY| z$%W%?D72m2I)cAF@W?W%2xyE`0Re!{j>Y&(eM|d zKU_nOdOa8Vg#6?5qbsD1ANCy8^HJZ=EDc=+;D^jl#%JCozdmxk_x}aym+TY#Pk{G6 zE5T>|H70HSInPX^UhOa9AM(8xV03>&&`pa*Uj)?xqKq9Y5DyBoBiAVYd`n<_?h`7E%t`-Q@dGb=uf;!zt^9rAJg-E z&-e8&`v0fQw9gRWRmvq@Ec%!7^-~rj{|@yW?*ChmZ+w|?WfRGd4S#B24D>Ih+}|^Q zr(=G3gk1;8x18D;+J~A5jziY7_3rq1kNS0-yia;A{m^^y<*?8HmX!zZ`M>yvw8MJv zzT@k?jJxEA|5b8*-<|&b7j%6ni0>BkBYl8+`3LCxtG-|8_v82C_oKh`6!q-+aXRew zy$9`8Uw`VQKl%p(N763NAKLj2c69`LKJB@6A<8LzTI8s&GPUZQO z{x{#fn?yPF&-p(x{fqh$#p};|PIS^PJi^VEG2Y--P*Dz1nYiT7$P9tvBm4tbgm>_W6kRcYbsJb3Sz) z<9f>V%@fLF{ABn(QCr3X`R+g;@_Ub4zyDGtBw8Q?N2D$cA`||_jSYF44$K*RMSf74hes_K!;+1c^I1ag9bNqS0xbY?J<9POV z97BH@V90NME8lgZ{L-86cOT-vM*l_XZ#wmq0hl@X{vAguk?%b?>(h5i{t3p_51>zv zTseekpl;yTwlF~kN&@%)6xuhHM9a>)N z`+TZyZZ= z>`{;MhtU6?Qtp?)zkzj-t3RkL@+*UHK>alaZUx_v^i;;psic*24}SSv=eoXC&PeLh zIH}&q_k3y><@^YF`GAk%ONC$NeafE>_zC$l;V(|Ue!&9Bc^h8?UjJZW()TFeL!j|n zzMq1kkSnwuP=D@O$Ju#@-X;Pp3U9 z@ZBu}dTud|^gQ^#g3tZU3iz*q--P@vK<6d*HQs0Re8l%5oVT7)FP@J(e;q}>cK;7L z%j3M|e`tn-??-)X#2(KVJRea0A?8`jJ%@67o?|_P_2c=E??`)pQ$F{1zasx0(DF-P zhyPt6V>v~&#rO^8$_A5{Q^Uzlxd^e!~Rrn5jZJ+JP)Blkjyn58D zeC51HIjoP0w7>G@cipaC%4^2>-xWEYpS#}}iQTEdZ=@ailI{ZR4)mNzd40$?4#0hd z{QB+OSC>P+>nPv-+01@xDE0a-@I2##`*hbw57B!LdA|GO{ZIWB=_ubIh9EB#v` zUcLI?q*uRu8<+>)P|u!29wz@fFg5k*IcfpcO}-Og9FlURO9Y?q4tPH0dEqw3&nU?A z+}3;V*TE+Of0la7NZNTpeV*^;pge7$kH_~|4|@)i&PBiI2J8;~MAENlm#*aRhp!uH z&xdv(_ZRfWB5nM+apw`qzd(Obul8u)=g{c~db=+|zTe&d+c$xiuQ2;G@5v=WuJ`1Y zQBM8BzTcdNa#n!9D02P2^~?J{ZExyB|4=W|?$bj5oqj$2WR^qu2^rVi|G3|A|5F|N zLjQ>Kkn?V3#s|mK9E`8y;WvKCc*$|(j|EPF-*Hesi{oH;zsLDaKacaqWaJn(<+-}! zwd1Mdv*WG&+AqKJM|1k8@&3oDckcrjUy_w}_rFZWoA}P1azg$?$m>V@Uj-Vc5(E7) zsn=M*-q3k}&36+-Xh~OMQE3zz)h6TdvNM22R=P~#Yr#6o)y4m@UJ5M47=jfUl)^K ziv4FB(u~A@;k42eqlS!XZ$<`Y(u@CrM`TZB^mj{sMl)HJFe@0_kA75`48zwospND{u2*5 zo-=r#T|e+4%0C;p0k{CZwWQ?_&o`7)iE*R{FfQeI2dLbmfqegOV}2g`vHHdT2H#fX z^};^s?SJ-P-_5Z9xeg20XRhnQI4sYfjla@=Zk(3>bIaeE??^i9NxXi4^?82e`cb}5 zX-Dbx&)aU=sa)GH7xkvy)|2PzUm!O;zp|cBFuv+%UrYU7CVv<6XfyQaAJ=c5ll&{R zPcHbsApd*h_|Ayq_(t;g@O|rN+Yi6zT`%a@Z-AZ;c^4 zH!WVdXW(~#c?>zyhj{aiI~MOgS~=neQBLDV+EX6=w8l?(zEvCjo^$!GQe5ieA^21D z+wb}QCzH+tekXd2J1q--6#0Jde*eDvX1?E}=TzUq_b%h7=U9*EpGCpz_m{G)38^y%GA)Wtcl0O3V5#r7FT^jMB{#)3!4E^dmK=~e$ zFMLWpi}&8K(0j+?_ajF=FW}b>-a|8`$p z%y}67?(Zv-FKj`2EbY{Qbm%|OZ=k;*J9O8u_cm}3Fd25qx0`afpKrqaXF2s7xNoqW zu1{UZCPdC_n5ytIzsBf&QPMb6+Fg^5}Qh z&+R(U_WBz8I{;n3wfQaz`gUo%wwc-%~mGqSFr5!FK^hgD;dT-!b^#f#3I$N7H{>qW>In{$N}i6X5+H zs{beTf28hf*TEOQkK6+JBaoL8m=E|V-`_6i4q!)2>|RHHW$g!lg#0tWw!n7at3n?S z`SMSqfBC;j|Bt+z{EOJN5IK#JJD+qy@C5_;#&;E^e>ndfhOQ^yuW|h~p^Hs9rITNJ z^X1b|6c4%jZ}bP7xySI^);zWmRSGZ1_jU*3pySX28K<+EOYquwWjzl@xXz=q^YZ~ZGzD8K$e z>AjzF8$FrPf0cGNK1sj3aZd6Z*X27?b>W+ZUFm^YfK8~69HiG#kM5sO!M}@q{htXb zulnVW%J`oFd{*En^y~ue1|9+)1dhaxalp~!k0$*M>2}o155ObX={ttXbN<^4UtH$l z{6Oz*IbWv0{;|+!!~WZ(TQNR`^M~WQ`#$5ojgN94D8J*q<9|EkIxmFsJztP6I5Gk#Wop5td-@F|h=9xy3TKZJe^{d-)AeT$re0cN=PdZs0b5Z&o-?>Ea^2*5-}Sib zZ`bR_x7|n2Lgb!8uIoe3LBjKoKcMs6#P#1<^0mkHUlP`DttroD^tOdwyDiUp@aDVz z6F&fa3;4gpe&u~h{xj-7KYG6+zi+^w0e(_es ze#{2!x&YkAy#5pYV?6fe1;3Ge|6gi;E9~C}-v5O3hi^S_Ao6OG4)N>AuLfKJyoCIz z!1?HrKOgxupg#is9&j7^r%4-Esek4^{JvMRk$TtzRL?HblW5n7@WrQpHAIi`KSM}I z1wWYdGTL7`^1UQKE_S|wUOhX|>pL{2^I}H?;M?(yv~fhnCrv<(^5s`gc>d+Nm*a!` zc)xSc)ufZ(aV8vJ-mp({-~S8cENs03{f<4q^gB#MJ^6k5o!z2;DPMWYkI(lKkMANW za1;9G!JmZuO5|st{iK_#9$-=M)`R1xBJqCkx71gA@~1=Rerz#v zXOe#fdiPiE)7+m$fi4CxAyE3c==l*i1^K6_p9BG4eejXNPYmqTzF)!XS8;#lzRP{2 z{uS*tU%pbTOG^XQTb8uru;-@wkKc|<*yp$+|4qfp}>h&)9#^)LjES-GfjlY#nd`9fMi@o!Z?|HW8+n$4m_?(PyTj3M09m=sh zg&3D=1Kl@xUt%QvY79_(TkK2=UuB^Fyw6By2fE(TzbBph7wu5K`lm7f_>P+IQ+$s8 z1jv6*KX8BKe#w1XChF7uTNcvpuUxNLu5QT9MY)Z)@!qEQ6D_~x49ll|?#r}KdtH~6 zrvJD;t4`YbcYk@Ca^J?TG^}$v055}YLpmDu=Xt;b%AK2hq51mZrJo7C{+^#m>ksOQ z9{=wEijM_tT+&F7o`&?vefy zKHKwKzW=SrtqQ;INKR&a5AQ)W#;*Iw)9)hxG~_i!zJ8`{@V$@!;aAf7c?Mvo{-)o+ z>*vvb^qhR}O*Kc)YV=CyJ*;n$t9_$MH-c{m@}v`AAG~zte?fk7>PJ7n`@7D_^Z(^b zNE>hG|I5uce$MlSWzZWp_Z8ox`HR7O&TyWz=MNuJ51u=i@3}*9?Cyu$9Hf;$FUXf( z{+7tszEq@3(0{bg_`gorH=h177C4M?YXopFa$?Xv8L+D<>1n`LK-br0Nml~8zRrkV z<2b_kbvN=40RMsiFYLJo%uD`j?DjsWasKaw-Vf^A!GM zK;ssBlAaH|48QNJeZ+hhf%?xtdK~n3fscSYfUB|Z9PkWs*OG3FU0(tF0KW!$FZfH+ z_o?r@K>dNXkK=bX4U{oH}ixJCJ;mtX(n1N6EsDuW#T-gmI?7WvVTKOOzX)0-AAz2`6L7w>sY zm~T0i>$#EkYQKC(vCs1y&n>(sJ%#$OLw|KV@!n!r`Ju~9xiSJfFi#H!CZHaC2Vy_@ z#>>3{@B0nPQSN-|PdogNM@8(@&Q-{%hWuW@ru4gJ|B>(c##r!UDW7)KMb8i9hw+1s zv$?RdH0!$y=v@ncC-VO!UqAm2@E5T^yx)`sxffX%dcQz95#d*!ax#$bxr65sj>DJG z7wT88a>PsT{fmFG$8!(uYE3_oPy3BCvm7CQJ@qmK{xjHTT!?XGGwF9f(H=XY_g<*; z_iOl#5A8|X`+qOc_X_BJy@;IuMFJi~pYwhv`icCWUk*mT{Wc4B*?;XPeqZ4|1N)or z^lyj1E$x^c`5Dpg|7bi%jSt>&$obOo=_cijKzYn}o)zzZg8xR|E&5+y>_|ktcpv>G z_|w>X3HioXehuGOK-Vp2p*Mc?9Ojmu;jr2R%mz4BL_USR$k5qv_HtFKfmjoJjT7tCpO~$@0o4m?x{Cq-7UV|*MhEKuk3srZ z_z{Z1uKoJ+UH`fs_FQZZ_2_w5GRkec zDlcr`pP|bE|3&OxO8ye;b^qx(?{e}VQ;sJ<{g!#bn=haH(%j&WqE|V;lJ7e{Pq5=Q zb~!&dUwAIw2)yUdXOVLl`6qy`yseANmfU`#<-E{*TK1@P5?> zcW>Zdh<%}d&2_))eAoTbIj@0mGIh4Yj0Uto`RYF}&QTaM6v_a)-x zQ?Bn8W}{!o-y3~L_|8(&&zx_!kyeiLwB^??>HmvjAz{^<&&k2>2KFRBK6(-Z zJ(p<2coL8NkS-zlwUF~QFeUQUC*2pwQ@;9g(y#vp|1zM{&sUQAn+i-Clw%h9n}N5S zd!XA3yo3DP!0>&i+1N7+==sZC`0ptPn1S*28S;{&|2gR@)RXIk6Y!M;`kzAMyK6%4 zeWOaG#YaVcE%HP81zCT14)3{oX3FC_t0(&PQ|Z@oeyt5YocE3UOG^3PrQX%!{BL~W zE$qAvoDbi9(w^VDzVZH~@}2)(=eQ1VeJ5Q4>cw@4`nAur_PK8H{A?EUgzNJ)$P3?( zD^9-qXwS7g&zctCJ^vD~TB5Kb>*GcNRRSSxh^6o)i%}&u2Wp@%&0Y&xbtc zS%#btZ@%YB$}LZS_%HeLDPKFie-aUX{nzhe_aW?X-BArX{RjH#ThecgbJEZ4K3o5~ z@~a|8J)wU2JbyARzxvx?pZ;#~>Ki~gJP*)5?VZZ^VVvV9w6EvopHQwsK;K6!NO~`@ zIef+s>?405-%%RU8Gs)G^=s(Q7(jVCz!&CELQi#ITI8ey8oxCXym8z9kNyn##zFWl zc0csVmmYbZJJqMXz5w=y-u>Sx@~6Q!1vrQL{}g;5^cxo@|9t4=SDxeWG30qaMtsN@ zjq!CV^gm)}9_n=h`mbY8GR{?|vA_EUzF$c%VEuC*Ile37yEKK6dkI(;`IV3}pK&WM z_H2DQKP%r)57OQo8b~@P zup@ekVb?dn4A@cnKk)MPKu%=%76E$$V^Xf((5Xkhq{x293qbJvrV^ht6^MYs%v|E#C3>Pxw90 z@qFka<@t_&RD^OD1s)~e`zIs#9vt8OZ(H39*c6@Lg)A7|H+CX zuOqM<(C@Q5Y5nWrJmb8iJ%y<^@8=XC?fb=ps3-mKmPh&e?VY#OXWT>B4#q)PKk6xr z-O7JTy$r`5{YLtKj$zkk+T{lDEcEy3Keb4o2O1B368`1zJp`VEt~mX-4zN)mUp@Mb zZi1Iizn6ZiRmjz!)s*r!2kHlzMB4wu`%azr-2Cs6ewy#0*MH-_!uxxt*+)xvinRDp zzjk${{(1n91G@o@e^|kI;kvLT^(von4jHJQUhubqZWqw?r|Z)1k!xJUe&~KAUpm)| z^1J>##{9PceXc7`(yv@!xG!{lA)Wg`--|dv`}v-P@=GJ{G*Euy*G;=Va=j!B@kh~P zzUw3Ha~)Ngep#0Ge~A9x>-~G00$kY9pvO8q~R zZ~W?6_~&4!-=XI+zB^*vy>a{fptpbd9nPbC`ptYl(f;TAEq>?5@yjRvSL||~Z~Gj? ze)j{3p!=8c^%XEZ`2_VJ&tU1IwmbiP~tFa7Qf(0Ew?^A+A7(=Q;tBjcxZ z;=T9a`IG*O%Z|6yo9pVX*jEx*6*|{Bu9F6muYW;1^e^adhzQ*VgikH3$a(o}&dzY@;jgPrQ zdmpEN-yj|K+w|C<1iSptQ$P6h&-Nhg`EqCYJV#DOd4#b8d~)#mclGP)pY@zL7UyHW zXE_Wx>ht_sJ?c+^{JrpdFWz(Qh2UMM)}}nsk>7=M3%(!ex{>cXHWT%qAL#pl`lI)t zUwc;}-+Lw2v*Si_q{n+~*=>z%R_wfBx z&mrtz_9xrVcKa1OexQ9~(!L?Ta{bR<)u10rFP&-iN^gEr`m5i~d!(<@z8~O6^IWI~ z=@P(0*z5U`_&=zZ3E=ZmKJRDWr2Qk&4>!;r&&aP%KMCc(CjW2bS0k++@1OsIJkP5< zzw*2+Ddj6edCLM9lRp^v1F#-?PLQ@bIge8%y5e(?6Z06qPoQ=a~!JhmTr-xrYH^9TKuU(qk^=l1V5 z@Vk$2Ur~Yi>oI!PVD}m5Pm%vS>3PUM3!QS$lP*WUT0vU=M&$c`rv9PP$StHk=tiTr zF!o&`KQsRIj`Y{~=xIiN7{4n%0zFO#qT)_l*`lxN(wao#u3y9#I=dv?<9 zGq+nV`qgiw|Dhh`^Z&+Se7f&t3AN)9dhD02X@A>M{9(qe^x%DWOT2RBH=f5hns)H{ z&X;_~&nsU!ro~Gi#&2(={*B{yoHUNX`NH|26ZPgk>tE8HfyPDa-_`%zhMDHou$#wq!pgTkU6~@N~fnEN0 z#`m@F($9>q@?EmV)RTS=@h7#1c~Jj{V&>!mY##K#3M-8I^=JNd_eo3TrN*Kfw5#Dvas7SCNgzwkV!CF7WMAzuH8^!hjS zU$n#y$Kf5+gXbakProzwkA7b(DgSBs#$k5>p!5F*(kFqg2Yeshb+Y?M*V&~h-wO07 z&vn6J)>o+}KHB}U`%wL&?w7?I z59Iq%A)RuE@O>vBj-ws=hmpUMe(3(Q9PQw{am8u>O29*ut3GM{2Ko!`fIkRa2HkRC zPS&?uNDF@_-2r>{k?u~~cdg68uU}XB%GJN?e@m1T%D;wu-=ls^y&T4F&llRGU%RTI zUwyuh@;Q9A{|(am`R3Ap%-0Vn{|@lVkv<9e=de%zU=8w90MCNgKPdeO?9W2G8jrOU z`bF>`hwdSEuOPn`bjlO&Ik4|z=~vW$YP`ZhzVD;Jw8%e3dO3R3C*M`_oqwZZzw>Sx z=H;r`9mc1}f!;XkMbM=p|6kS>;r&GA%w*i&f}P$c>Wcl&zax-Wf_mx&{GEK`n+GAs zxaMz2XNA5euumYzI2h@SpHWXN>LD}GxDn$@#G4jB1N)4Rb$<8zb>8>>i~dagoB9`B zXNB{V>y6^nb2G|2oBI2XeEqZfW1U|&QUCd=58oH)&bZYPc%6AQCvwLF&r`lHm}hzc z&yqhI7?XVIeZNP(rPy5xx#BO9cHUl#Jl75S4~$=TeqIh;a$scie;3Hto(1SX4?YFs zPbbo@Z(P^hCExW;0{D$%m(O$9vW$aY!6$zW^3P$XZ}NKGJ)E)|YAV((A{Z2fcpIxunza-MbzxK>kO-t<+Cm(tg+X$aj70diWUSI|u#> z>+^2pKLO?ddOzHI;j`(_Dd0~9H2(+i?ScOw-+hMm`)+M&_}x#umXGpSF2^tN(px{) zhxA#fx9fao-p@{jT*p`SYyV)%Z8==uwTI7job%9j`dQe&jq`Ec=DN%Eq3b-~&&Y^; z@1bWUtzPxHe$C)_oV#3Lz{u}`JTw0fZy@z8FF@mKLg)w;6d|gzk$#% z1D}|7^xV_)(4z32htG44Z{hR&#PirQ&$glmyEuO8 zkJLZ8lXB@7m#-r7eb?nn#!vb6gX-^;Uw!f`Prs&g+Npm%Gj`}#)vr_sJJhdU{j>UO z#ak}%+8g?Zf202O2OGaTneV~#lj-PBNE0F4K>Tp|AL`4e_}{^Yrm{`hU!q5h=EcfVmA z^?ma10m~q_Ch$YnUq`6ddwgfgmtQ@_;0xmzlxx27jw4sUu5rfYkYl?jw+;KGlHkh% zO9B1AVqV(Wa^xdjje60Kv4Pf0T+-IR^=SP` zumAc!<RO=jp71I8HBM0=xF`fqB7x~($eC24D zc*`*nzDdll?(^N>XQRDZ@O_Lz{}JF}U?=#cm;W8`pQEP%(04(7m&E%ywa_PCKJmtJ z^q`+guUzjh%D)vl@utQ5?#WcjCx2DOhmg*+c;(6O`b+!n(NFTwA3R@Jk6puoo_o6w z@_gF=?YjSRU*`Aed$llfn$N?_-;HWZ%V%V@sCM69*ht8|Db$h z$af#Bzut3{@O(u1G59`f0NwvtA6>BTBjjt(67mz%&%VNrM%26hX!j597u-KAfi52W z@qzQ`hkuisj9G2?~>B#i&o0KyK<%$M$AML){@4)@Gegw~DjE{32z8E>aJ7au_aeVL6FKYs&p99}#lw%3$ z9E=}_NV`8cNLu}=sE19Ai>WDJSLpOBh))S#y5ywApF)oO(kaKZc=z|=`MT>@;|085 z{x{!+_s;c)C|AFP{)2z0ml?F9>*2@Py$yJr_I;0ZQs5=>524q6{cY;U{r*$vp9B34 z^)Gn8`WABH(LU`+9{^?`zY5U(z29%Be>d&tcf1!le&_PvrW~PvL%)Z9G{;f>bZ4o* zaC~;${F?Dk|EKdrI6sK@opbT}^W;;X`Jr9zuS5IF@?H2|y7F^SAI?+Z{3SjP``;y$ zH#P0+J1B=(=Y;R8`0mOU+TDI_|Lcw%;}$Yu&k*wUn>p`0Upv419)s_|9Hbvdv)xJS z2lRW;@8|b21p9^px4`fDL2mLt0eZf0hWe1N8EN_BAm=&#YaRAT_m1`g-+?|ZP=4)e zf_(XhV~_7b>sR)DXx9^-U%SrGud)nz$$_SqlTHcjNdNI%*?o%V%iHPaQK0*Z_KQn8 zIpvQ;xm@4mB7X|)?tXF&beGWIAAEZ9CnG-t>G9yJlXl-!n)G1w7$^CXdYfQA{PJCZ zZ#D2f?eh@5#{Z8b?frqX(97?+p>b{nz!wA>59j{h{l5FRxBF`B%nP6A{!geMq5DYj z?l)UeKJPC&p6(~VHL#6o^i)QEE7lF(bBqaI{$}ub|514@$@jlu3z4&r{Mn?vw;q}L z><`R|o(9za7r<#==^LFqJfdjxdCarwa;-#10{80hF{||7#at-`w z>d$=Bj$ccmbDt$$h_B1KK|T2>e-g&smcV-G^ZkZ4xAgjN9#bC; z;WIw55Z^&jpzU}KdhhMaZ~IEOmhaU6Y>h=u1mayj!me+SHw-uw_$APDoyPP#$AN9| zOaC+UqtVj=ylL^{z-I!V6X^NSaO7+v-*av8Tgk6Y`PyRF5nvmj=i;7I$*(-~ze3-~ zj7!pKzxHasa*dDe!Z@D*{!fsne^UQfdGgBvrMpU6|EYe?X~-47fO1`ieieBAmA$|p zB7YK4Jzv1r5GdZXc;#BISol$;lTWF1-rTfv!XXUdaD4(0TWWb&_61jeogV7>u8_$Tdq;a z3+I2=1^-e%BcW?Z`4Z4x=J%lA_zsNngyvs`e-Us7a(lv`o%!(_@cLclOAbC8?NJB1 z2Ee4?>yl25oqb8WzWIQB-^s~vi!!AS^h)x6a9z!PhH=;-*DgT{!~At{zvx#?pH$o477hp=YHZapaUcH;ixBRBX@5i2V)Sva;h;n*v<^M6Q2l>@&zWU2!w{(%MKj2aD+tCxQ zze4>fpx2+M|5AVC9O~QjSG+26gttRDGNqF1^4J=OmhJ=&!|RlM;M3y`xL zdgUlLAK$0*-)GcIb>Ilb3H=v)kux0_jrCVbpnjK+;S2u{)(W{rX!pjX&3FCm`ZzOm z;@?H@FXT^$zXav%4J-n5{jNUO_xi`Xv#xoLT;p?#!mpo4zm5K(Y3S`t{jI^CJ;)gn zyh2f)wa^W8k>(d^jaJnsCx82ty(@4R}7 zeED2Q$nW|=JJX^!od4Se`OdG&sE2RS`#jUWLeFC0Ui2>^t^eM0JN@^bdo71<7431F@=gJIf5iC0m(V>0E`$FW=@jtI$Bx$6 zITa|sau-1N05}Ud_eeiyeW3imk^d8T-+`J({of~lF6o@W+(7w1B3%@_{zk8O^%;ME zmv(Y|cspKD{*37T3h23MRpfpK^qzqC28{nWjy=W^=~p~VzW&86lwbM`^z(PH!|(5R z_#R?+DfDaiJ>(pPPJPBB>AxHSemMMlfLSP~>r%g`n0yz0XTJX!1N*d7yFGu&jXh0) z-v2Uw{XF_SCpRuUJV!|h|32vbPJGYB@;kn(-*X@JYfpaUbp$>Fehjp|J?{?BkIi3B zy?GA3l(gr};W@SOxbIVMX@S3^Hw|g!>o5Knx$4VAJ*aOPc=--9KfH@P&j~$O+XMar zP6GJos229S9t!d4k!xH-DE}$))vsRp9AE7x zVgCr%cdoBoe;J=|fBT*KwO>}CUT={v-+@r$KiUx<~Avo{*o7{Ib9@zys*7Lb@ujGSKt?N&#N_ z5brs@da~0`Z=vTIa*Q8H0bV-urN0TE_A1x%xW3ti+-B6z9@4`Zmv)nG0)7_x^MS_q zdcM}5b_nkeULfD|%KX^Z2)UPl#(BDaT0uKZ1#evOFvch4Tm(Nh$d^xiN$BcB*8-T2 z{8^-bMz7zQ{MsYG=fCaYSKb5qaT4m!`PKPtCGzzHO@!Y#v{3J5@Wvmkfj=MeUs1mY zfiLODBS^o1KLPEQ7e49rzr2Rtd*>aYi_7|B7;^d(|1g~N1>ivPh2BG758gNl@#f1f zUjLc?vhDDX1^VBN%%r^^*cp5K0ONqy&bXv~KXxJCk?*sffUhL*6wvqW#mjG6I^V0^ zO#k-YgZ#?%{aN`=qvs@0IiY;Z)_tt|QunXn{rWA)Uk*G%zuAEv;~RaqW(IiU9mP*) zUilvAy`z)VQ;0V$em#83&rbb&{-&O8%%9z{uO9LbL*J471EkIO{TA_^p*sj&57JSP z9|M>kd|IIQ*t$XQ`$}C&mxnJFc4eVn$CK~<5AS=VL+&MKKWr40wyFn-3wD_*z zBcR9i@?Grm-NahZxgP!*J6$i^Z;sK=?H~F>^e3DKUzhUP&o1-*{7$~{-x2YfxKDQ9 zdkqxdI_4EnKK&=Y54{t6TB3gy<;g)iEF&%6`=D9C zSD+pbz+arS{3W52e;NAJI}&_5%JnYeadGlT16v^9_c_yJS7xB=7|-F>Q!n|k$Muru zb}Q*umEo@rtOm>nzAkW4Kxcfbd`r+H-7n}@p83*mL+*2+ekbwu$(PP`pLq347vg2*S9pHD7@BSdf zCxJf^(EUIt-?-A)tYeff|7!Td^XCoNk%jX2f$jqNy-9oSYrj&C{Vf*s;rgdD`Mz%u z?l1Bp{~`V7FW^h^ACWdbI^czT?&k^g4bu$3FE- zFTe8shket~r+uX@593w?@QtK{uPU%Qus-;jq(8y#WbLwa!RueFPW!(hU-`;)-=zFf z*j*0j|0C4r{>uH7`>VgGU(0VfEq^lP2`#VnAiezV@7#xp7n<+BOgYwjQuNtQ`Z@GZ z=cL{BFZf@YH{@F{`Wf^uw5H#D30wnxThg(C@qqRDK88_0qp<5R@Cf-wN!Nj1KF`M+ zkng$map>2fe+T*wk?*;-=jX@BPZ!wr19Cn8E(pF3FdOz2BJDcTbwED8x7l8}}!s?JxGDbkw7Aq*GpF+IIzZ+@b!whb3GKUccW; z(hI5I$y#%J=+aIr5GFIM4TY8u%{qlL6f~ zxPI3@%OSt#Hnpf9`IaHa@|yPhw4SV=Qt&IseEGaTxSQ{IDe}9rzH&eK5BU+OC+Xym zM*f@t@B3vrsE;Q=&n-4nf87GS`+|`F7AHv_xC-whZIy2wEBro~4BzX?9$I4e>=;%7qV z`gbwy^DFw5TY~gX;C7(=+8g4lP|h33^&I3+(yQ60>1TTdz5X@hXUEXrgKgVKnVfocf&~W4`yMzNbFC?^_EyekZ>e z_31sG`^diwd_X-;B>fxw+o=!#FRGmC;0Hjj-{3X+)`HKdeDq7VAH4K_-w&aa-|yRe z{SqO57XHuqz|XN`3u)KQ-%*|u=uZfIfL`rUzV_C_kGPcb6hZzH(p`YPf&GBSv-!zQA6~SH}Gb`Stlu^xG{ae-Zh< zpQ}IaC3=1Y|G@Fp?+t$C=pR(Ra;j1OC5%67f#zQztzS`pq;jO&hhF8TMt>^!)i1qt z`XxWZjsUHx?&d1nBxS8ucUIdFdVUU1z%fb)GUE1HDmzu3w$E`cMz9XVqU4JJeq^ zuxosPcU>OlN5{^#)Qj`2^PzgRcQD_t-|H&u_PoLOA=g3IjCR;SdIaB>=La8BzH`V? zzH;PW4&L*N^Q85==of6x_}&T_5&gc4caid%KMDPLfIq>fzw;CF$D^+!_zR?^>qY*b zdNCg1qF-lRRB8xFsI665~F=Y~E9>yVINxf$uV z?%U;8u6WbpmFKyv=WyavV_yyG-+0h`K6yAb$quaLQNi z9P*>W7Yo=2d#01FMp`@N_q`kA7mQahe&G-JyhrRk*K*i57yS>Y-zUHX@Et>cZTj~_ z=;MR;-hT)1p9K8J;Wz&%>4fmBNB!y(ub!8z>%A}XJ9=VKzlTX52X3K!p98mH-!7o< z@O*?F{zoMIzsOV-{ld? z9on}U`Tm#3b0g)q2CrVz;?-~cDBpbRA))gSuoH5d0N>t2qrN@2^4w1UVd#IM?HwI2K`E)`&i?<{GXXny!%`C)#kh34e|S#XMKNfC-va_f$H~tLFMkj zF8QUGKLv7jA>Z|$>qOUsvyl_>|3toVZLT*hzw1@k-+xeluDgr#z4}hP>vP|a_kX^w z^FO4$TL7i+jNDY@%kTe`;!r;6(nD7c{q_(2-}V#z;LoV1_R#O8pJgTe0=)dvWdtw3 z^z!dU&OPk=3%HH^`=q}{zWyHf3GK;$1YKJAygxWHkncSp{Yv_s1|sJ}=%)h<0}BM{ z8q{AQ^7Y?+OL{2yVx)`FJ|%&rfF*!~fXWN?Dqnf}35QX?;y*=>_==>}FTM=<+7X_Q zl|`=Sb|av-y==cxn}U#*6J9nkfg@mu{^U#$hd2H1)G)xb}vU**Uzz5IVt zKc(R_Ena_z{*T_Yv;Gh9uaWZxXxu>(zJu)efr;|2F?f8_tF!YwQ z2$_O(}Ss>P1M&y_&tZ0U%Ag{*H^$n$Q=Mwu6)YZo&k(&zC(8zIkU-k|0@0w_>k`k z`Qk%4rWa5?-?#G}y)WSReZG8@zb~*q`1Qd4H0`?-nPm zA69>FQtTd2y=a$y zUU}kOkIE;#-@oI6@A z9|`)huK zP9B^hcu0Py3^)HU?~q3~{}9(s$uC>|y{C4QSI1XQdeb)#fh*Uc#c@t{zgYXAi}R%V zmweUqJovu+;LD#jOiZwR?}iOL~{&#{Sf1>2%_gAkSJ{;U9 zy?Y0_-$b9f^AAgcmG7S9-EZn1)m5{*WpU!e@u#l7=((pAfBx*h6tw?#YX0SU*<}x( z9rGviCG#8S3(bf2DV`IHe}~{B_0va#*A|cem0ld~d!?JxrWoSnblr~l>Z z>!Z=v2p8WtKQnK0kFR-z`*Yo^yH@t(pVtikSAIWM|Ci5|mmKBB{IPk1`H6YZOvPUn6M#@4v@?YJTQ_5cpF!Ku%Yj=+9KXYl6Q2`&{zVC(qvg+2@BHaruA6 z4C#&eIo~&0uh6%i8Oyapacv*`L+kU;Rj>AMo{7G2@5e2J#}>!L!LyR1w?=mFiazci zk>mHu{LYZx8Nr95+ZVR~WdHcJsp0s(pJsoz{4Lk}VY%>0>p#1P zKbQSo!sX%E7yq64_npQ@jXw*fw{Xz<)p_#=vwv#+acqD2PyOh$;vr?#QQvxd^X&O<>p$VI1UC!1ACVmXH|r=CAN%&~vqugeep2zV&ma5dQ|!|l^Q-czH&#FU1vjZ)PYiAxl%Hlt-t_k3 z0X@HCes$KKo9(jaJ1X|YAujhD$k#sKIOM(qeD?=#m0kKzhRX-PTzh=Fa&8@e&2WC` zkMY~*UMKm#2lW&6a$as;$!`*G;j>G;;e=y2Ce}5xKQx4%Ke?-MXmpijQ?MQPY<8`LdhG)U$0(_e`T8HP4*EEiN93! zfWLBb_7}+G!|D0%Kwd_<^-G@!=G$?{$Az6e=7R# zT6g|C$j-~*CuQHc{MWO4ee}->eGoZgjqN=j`KKZ&{yNPl48-JEmuyW!*-O9db|9uCr8+yQKfE;PkcAjKPlvX9|9> z_>DhHRZr%d_;CE!)3eX5zStqJzRaJ;`Xxv2t>PNzzuQ+H^Iv*@D~@r0dY0_`AwIb` zD<66L*H84kU6;Il4*Ms&rKkU%nEh$1|E~uhNPq5d&-Xu~d%o`vpCD*I-2V9cqO*tp zxyJc-if5X^FZzGtuTh-$2c7RcKioX&fpGIL^U0Tcznc$u|CZKTg_Q{ zW-G4mHC}_K)_-5CollB?YLMRS>EE0^{6oWU4c?aC*5pM~=K9r|14BbcV4wccm2=PHTQ|LXqwn81b8&Em#^?7X?_B=s>CrzX{YiuTOq85@ zesA?ZQ4pPfe02KkX(#(}2V`IUZ<^iBf`XG)V+UW{quhk)$+KAp99#W5Z)P8e zoc*E8Yj=G6OZ3T)`%>?wPo7=&=%dsBQvS#DXP=8cfBl(V=fp;R>)cQG{Op&$^|Sq9 z?<4(AfBaqJ!xFX2pR2zcqJJ*>(m{Hk5BD4$n_urg{nq^M~7?w;#_AyPr+Y zbL0Mk^@`K^aPw39G4^fEvo6feQR!U}eqQx)YAgtM>EW`(5S#=vu2O~jlu)>c=b`NVJih#qxVBAhvf4*{kF|b%JO1q1nJq|PdDVk*Za?_HCi{O+{~Pg@ zSNWc+Jr)kWko?@m@BO)V&zE~p?EkHl-G$NnfeoqJouN(Leg#W7f)yX|a&i}nue18t^ zU%7q~#HUa1;_Twnhm(6XyX?^$&nL0}T>XOnGWofp_^%7z9v$ELmmSl8EB+5E$H~oO zFALsTdpb8Xd++Jb2LG1+?#a2I$vx`#RgZTC>654b^Zb83yK825iQ4Zk@%>+R-stlO zU#k9=46auBR?5!m;U5mdcaKkgugbkoaJBf(Te+VF-Tf?I%C2)g)XA=FvAU9{JPp{>s~mbJ5DPU(kF@UJaeS zhmy0uhJStZ57hql*Q}H8$sfOS7w!z--`E~=M~TpDKUryz(aAf{=@j5r^c|M}&^p@ZW`Q0&y z569m-d-R?k^qmj9GP?2F_|4w-@sA2#SvhtH2TurRN4efe-nmuhU&SZyaYONLS-DON z|6u*w_nyv`n3v$oQ_{Rz31|U%1@3T_QfeKa?docnIrvudcNlj zU#xN%FN_~M=Xd+^!VlI@9}3D3f2cS=p1lubf9B{r$y28{dG-7K=+^|F3d(!QtGze9 zX^ZoPp!tYAxp{)P-YI_hwP(|NKKNYlJ=q`gY~q-ta*X9vf0I_;$%A(VCkx)5edn&+ zUu_<7OMG(p2c>^m<@izfMd4Qm<(Ur3j=a<%;fp7CQSEa{kes~LzR`{IKMvnA{jGxH zx+DAIpR9KEf9gkz*ZE=Ro8_^eO#hkSEcx4@aY5eu_~viUG0T7B!=Fg+#oG1BaOc36 zs2!aXe{}H6-Y)6Mug{RZsVdKYLG4RVx#%g!biFq=?m2ur{TZTf5dELg7p)%2liM^o z^WrZI`sUa4+1spgey4JMFR1@|PCdULERN44hdyQWkw0(kW}ZUsQ|a$k-18U57Rk>O z{;T@cuai5f`u=rv_jtSC`$+uc-7}7Ubo?puzi<0OKM&rV-&4YG3coe@{q)JnFW(k_ zw(0?Yf!bk>pztGt49)>rp@Jy`u*5N_UJUT%Ncc}jlBnb#<<@>wUmS^4a@TSw~u z?)S7l{U0nYe9y=F^&>dG=Mo(4TgTF0r+!U;{c!7Aad>Z8$BN&&oBkb@bIbbGW8wTR zUwQbqE~l?NAFq8E436h2Pi}m59%aVto*CUb*}1c);yXX)Jvp9F@jjg^zthxj9u0mX zy7xRg^t_jk9pZZ>|Kc{jEL1%iS2hdxUDe$A^IYy;yB`#EK6HcX`RU@kB)zq2&n@%6 zNbs`wQzoze)aOT<2d)@gEjzP@AD4gi^Uv(4C-*$L$N9g-_dE`6#%>KkZ zkBeo0ns9QX{w|eo6j5E8iNGkj=y($;+LOOjBe95!B@L*^3`-%E5y}6Tz^DiFfk=9Mlxhv(?|F;$=d-U$A9`6jQC+FBc9(|61kFK8af1h9PhmTedzIQ#MI1cW4IV-!zG!8hQ z`l$BEp1j0k(S46=e~TaAKX}iK@0ai8*ZXhs;yW<<1=-)A@zVatJoO{{C-x`s?LW{X zFaJP}{SWH*!TD>a2lCGkJ^Lg}Rv(X7U+xWkBwXHQ_2QQYxw&#)9o)Ej-!s43LAz*= zk-u{FMDEP&XxEkElfz#%`U*k!1iZI+*fZW5*X^JFx$=QON$=v~moNKMa`I)q!?#~4 zAI7fy89P&?e^}-ESHkNco_i@?s$C~dPaN#t z6#uW)%R=?99g??Bu|BbWvCr@OEjT%P@&fV+Tqvoe~C;!LFg-_po1?-RfUGsBk`V;2wjp*MB`hLay_tVvb{Sf1` z@%XIxzE^>d-^ZMtod1KIS$`$Z9zOaw{*V73VVAu2kx$ib-Y>p?a1XM2E@z+W_sHarNuS*V;!is8-yiOL(&mF7=aUYo-VO;~SNsQt&z^nw zt@$VCJJ%c2+c5sE>8~HYanSy!{ayCu(byNyXy5m>{7hQ8$oVedqtRz6es=FI4t_t` z`%`|+fbs~l72gKMwMkGpoHMo$X8-GJ#l3%a zpAO1b@H6gT^Lto+_fC(U|K|VD=(|>rn@9h@;GWUt<()^@&hq!_RUG{9Sp4#&>WP1H z7Zm5U_2(Od=LL@sJ`lXOb~I>gTxl zPxk)uow9QV&X@iz{wK5hsi5-$?pJqCfF5~v=gHqW>65#+b;3-o13zE8z8?Lf(bo@d zQh7cW{+Hy~!KZ(S{t|SLx$E-J&eGY( zH_qNxyXrU2mpohl@;uH^Tvt|3-={l=gT82d=W5W;NS{6D*I(>;c7Mv})8947?{n#2 z75$~^UH{gvmBV*Ww*1?$Gq*B%Jr+} zOXmILuT0-M!#NJ?iWAcp2fy_3(ZzRu{=kv{&C2of?6b!YyUKyj4msx%(ak@}UseBm zD}U=$zt=_wNB(QI%PT?m?z*4%^6D9X)Za`yB?sqUoVr-;Dc0_GiAM9U7k>3fkYJ zH(&Kn-u@E)Lh-*ETsXUTR}Xt+ci$krscV-liyNJN{KL{)Ap7!v@-5^3mi;jMT;hAU zc$DLj@GoT7J&toXKKhUOG?mBt7X9?-SJZy=tbfU~``ya<{ou~QGvUAC+M#o<% z9DmnAfBAvW-X6)lRC(zWs(|14jot4kI5$96=k=#V(jojmBef#(Lx7KbW-?>%i zT^4Vi;2aEneEQF1Z{(x1GxDd+{yoKI{pOt6Q;mPtXXGYK-o1zR=dGu$>%}Kt{?!M0 z`%Ko~*5l4G^SfmAzEW|2qWI>i{l@)m@8{{$dp`KS^n4%cyD)P9so#3PqJKAi?^}HI zGY39DUx`lcWBEU;_mFeowUY$CU;O~x{Q&Z@{ECyD_}nA%cH^D=uDtJRwZp&i^RwjE2`(M~knqET7goOu#D6+{ z{OiLJpqPxFu{LTy?ef$pVfa+(|r$?R~JI?8;Z}qP|UhDbTr1(CYpDT(Vf5OT~?$Y?+ zW#Rajhrii4wo3LV$o}KuD+N~$E?K>PG5n1B`K!hG$HA|ALG(A}bH3rM{68I3zQ?l% zDkr}3=mDm5p_eu_5{fz$ozkJ2&gPi)gsW|Y}=M0tC z{V3|kJuT|T^NX+k)T{aNhkAa$S-CzOes*xv;(I0NoY8slXGrhp%6(Ljp85Hxum9?= z;xjI7xCrE=#yU}Ip1f_ zS^wTNy7ti?+Q)lo`s8K|eldOLxQ&Cx9pjVlkDPCQKK-v$Klp#^`I;m8WfR_9n0^Y`VVJs_u9q0YPIMWS3dP6e)cx% z`JpdAH%sL+@3T%nH$T?t=85KS@;l~}=6~kBs~4B}zLI}&%gY>GJBV-O)AL;%|K_#k zr_bh3+{$OZBTjLvPk9RE#}|ik;iL0ozI##S_)PV7Xz-rmnlAq0(XR>G|3m*)^cREd z_;2dx>L>0u=5N~U&m6?(_r=EVIqRqQXa9iWTWs((_bJt z{ab(5KYyH_|HFT*_+Jk$UEJ0;TQ=T1r(pen?tk}h<(J$z{+quUXFWg00ngDs#pfP8 zahV5-m*0;T_vruh-Vf&ok1js%4d-mnuAay9XXF1dA5Z@m?Jv=PEq&+DW=d|c#zp7P z{t^9uaiq6Z^gjgekG@)dtk++toYvL;e+6Hr{$qVj-}lYzkoR3QJM{3a+wD`>pE#-b z#{C2P1}j$I>PP+lCq4UPBV9e5mz;Bf>P!2mM{?>5ogM8@|DmB>-pG%*wuvu3^Mz4P zd%NH0$=YeE%KiSJbLX>XS6)#b&iV9P2YKhy$$XDM zTip1krT;gTE2(w&9b1s`5;jy#Kf1`;Q!beDd;8(@zu|F8$b66{<``)DY$Xaxt7POuYYIHxtY(_-k%SCE_h&e4-2lJ zy~78;r-k2?eR3fG{}}w(zqU_gf84(M>eYk&aQoxtLH5DTcks=Fp2;7%k#F8)-m`N3 z(LRrO__KfI9QxAL2S4nunH}>#^7Pp|wfXV#wZ{s-dhL1^ly(YzOnqLRGzbY58WBOv2xuJ z-}__p;`V;=9@#2+dUGXbTs$MbaS`8m>zp2(9KBi6-?4hxCHSqNbBN9XvM0U+(myD8 zL(k8A>8~B!Ao$VvJB4ptd7P^}F?_qAxOPrneBTZ?KbWKbWL_{!_-w)1gV*NY`BieW z#%G88FZ1JEuso3Y^fB?5$u7BZ{>=`(qte?uzxxKK$j<)Z>nHcG>SK}K6YB4Y#+TQE zHzxOo?A#XpQ`y7!U;D}Hm(C%tp8mJfpCCSbjrfaYZ<6?nhm*tqz`#EuyHf>ckAF#a zoj>|Z{ppqLz8YL7x!1yd-~Dp9@4}}G_urp;({nyqd$Vi5W9{Vh;}2)&jiB$g`SJdJ zws!J9|3>AzzIExhvwLOm!r)rX`^^7N&W?GYbL)FYKOwt22Jzwe&c}Oin}>M+J128~ z{e#@x^)LHe_DS*SlUt#B*`xMCAN9w1gnY+npFaK~&2yc0{k8XZDjz69o z&()}Je!Ome@!7-Yj~pC-q3Yx5+E-l8C;z(moi8(gr@v+GD^BC5_>GGntp2x1o*w`7 zji1I3|M@sN{bPbp7S}Jsw+j9ucuD-9hX1Yi;EO?a$fLvACwFS^!6UMFS@w?#=byhL zqm#dF@cX;;#dUi2f0o`PJ$HwPJ3sNhaQpJ|p}t#uB0KUq&NZFWyz#1_a{!ZMZ{O(b z@#Eeg`GH@wKk!uX+2?<6cBZX;<+mn^ZvW7J;U1NLv-tii^>p?0Xm)N1{tDN&^PM_<=ZJq>{ahN9*PXcf|5|kKDeo=svso*L_u;NRC!Tk5aN`F#?+@=A z?+@=Md6_MXL;l5k3G`mV_kI#T9RGjgZ+5*Oy^TwyJUjFKk}p-0+vO z@0>9Gy~L6IWyA5=e=hp6`2|P*%E>JgTrQ{|d*3);w0nM?KRPGe`7QZW`B{0{Z?%4u z&s?~Ay|aEHzqz-14BEG2U;dMQdiZd0T#{dQ_8RPyQ~%Cst9R$X7pWePOW*#%ewAa1 z_&*NXKQQ09y?N9#LHif>JM3fpJp1_MUr%qU_=g84ss7CG?2r7WcCl{)ii3Ufuk?O= zr}Fr|$9vCvlibLkVwgXhx9*<3Cz{uOH{AWn3#NBR&;Pe8k385!{g7yffo^`cQ*`^2 z_7^v={Pri0&;A)fa`Zs*^u;lL7odOWFW1%X&($u@w>=x~JALP=oNsb3f$#r!EAHEa z|Ezrc-xi&J{+t8#KB7`fAq=I|6cyV?}y|6DBS(>Z}%Ku zUp@Lx+xPJYHvalP{g80_I?8*OZ7+t<%+1kNY8O5P!39-`|M$h3tENPR{>%!AJ6YPWaD*CkEYLH_H7f z{$=T#H`DXK>WAZ#b1sS;{@j(@{Z8T>{m$6kH$-!47;SF1mM&#!!2*RI90|Iw}g*;@ss0!=E1*sCVQ9t@gGKCBRFH_wvT>7 zbaLodYQOm8?g)QR;}`iEvTMI*vh-()eq!alFgp7egdbEtysmbbAU*Q|^ncgi-^|_{ zL3}tp@^e>j-uo*SzxjZBHRnn0x5f2L&#U;%Bj}6sw)E}^K2-d7hJT=P887Ys$lIZh z%r```PWfA;wokNcxO znt%5y(Emg91uHlE<~!%tPuQWy-mB@$d%4H>jp(N}j$9txIzRsF_i}RV_^%6nd17>V zH-6lca$fc7JoLHYPv>`n>U+H3`PJI}?VxtstA2zISHI-0Owacg=BIy-?tTh>_RsEH z@vjN~DTq#=fB8NALOlAB_Q(HN_3B=+39FCy1}CmwrVbtu-S-o|kC-d|XKJ?z8ei@R z_k9Jqk^f-pkUu5=O7Q;Rhx2PbVjaAC^a(1*^Wo-S&xOl-pj+Qt?@yTiy}`c+9}LRV zJQOa!^G^N6I^@Ql1Ag8qe&3I=^Hg+p-l+bjEMDu-uhtJ%%g@)s|1Y?0aP#0c1D*W7 z#m&C`f9vH-vOjz91I2M^_zb~?2R?c0Xz|J`Op&~Egj;6!>EI2;dvb7!`pq1{UnO@^ zeDqb~&mNR7hvSn!F8$+!GgtpNhCBZ#4tnA~yZRIV>*>q4zF9d}Pwvj_t`mNC{5OJc z1?ky`Sunj@f@`M#`k>D){j=ipGumGxJHGcFziTy5`DpcRAO7abIZNZt^zmm7$|tW` zylV&1*A0In|M1iJiSGM$cF&0Kdv|*5o<79kIg}Umyic5ce9!s#d_PhB;oDD;r(M7D zTfbQ!Z5~}7mOpXG3(M=mjU(j!2gZ3q>qYrr^`ITpllt&q5OOb8KeHB}|9?DMec;d0 ze0KF9efG7>XrJ8)-bGLQX(#h9^R3zHSH9b^?vvlJ?vvMluyIwsot%99s4u@EpCW&K zOZ9@!j{FN8|7+D3|1X*6WJf&Cc{{)T|CwLv=RFU`N#pjs^}j9Rf2jJ|I{b6-;l}wb z;~VEk{@3Fhhxz?QbmRU$Lwv{N|H$N=BNMOlW!uGHw)nmn^j=y%{N?Ixir#ax*Dv22 zjy`?($@wRT{{HAA|MdK559c$^jDARVm&mX0x_|yIbl-pbKHT@^d*t8#u6}T z{mC`8_h;k#{$#4^5&u2$_oTi;La*H-z z@z2gw(d9Mp$$Ot3UirV0UGLQ?()a$BUzs=hRly%t55BkiOZ0u}2lgB7FFF_N{y*zv z>tO5S*|Ix(kexaCt6gUazqk6IHQc)Q=HhrdzWtf!Yu~vlzjfBc_0Q>p2c>V_tX%Hj zIz7984c?dCn}R!}?|!Zw!$Ge*H@nFf~VB3Bma!zV+Wr+ z_^VcKIb=Pt^V)DCX*ZzZj0(l4d4*LW4BiOedmfv_cKDvE`JM-^6g7XQd7LRiw z9{5;o9`}pjz%kQg|haR~d(&f#=Zm;TTugYmYwqN)f@!kJzT~FTp?ttXYGud%JIeYJ~-N?g_sa|gg&Ru@bMzeVGSK1l$jz19PQeZGZ#^i#MIN7D>jdiy{ph~h<*&WB z-wMi;S$B^AZ@}kI+_M$e>_O{V-}R5{Tl_0~?pLlpS4iKzd*IsTSyxKVy@9KQKM{2Q z-{avc2I+k)=g9u1L2};=|5AGDLA|aO{l5IG5B|mDei!Ej zedp|4;pVNQoj<%kd(I`wOIok&THMwb)+g3U&V4_dq{B`v3CK z@sH^JHp#$0Bl`Biqk`=IDgX5GNB{EU@|fb_5C7)c3;nO*>PdOk&-D4nS1%*(UtrM*;Uy6<|zx7h>D$nJ<1oKjI_8ojr`ef~bKkiR# zR=*;LZ$E>5cG2bUM!W8J5Z{fj>Lt*^EJzlVCfxPEw7dUpr! ztK9O3@C)MmkIcxY&)#CiAs;6GF-|x>edSO-^h=9lrtDu-Ij)YrY|wck^(Fpq5B#aZ z_YY1P+`fMLQuSf~?B(zq^ABIS_IWV+xxw#bXV2gz(MNsu+3{R>4#xgJ{=d?5a6#{N z(DQ)rdD1^TN7vLp_}w}Dnd088dfqgMKi;qLmw^u-@3+`G`}k{C?~_-*f9yTz{bqmp z$>`w7_a3_@xz`%ccFEsU(Y-&tH&4y4_ow%-_pSFg{<%YZ<_F~65B+#{&2v7Tp8b2} z#J4YxZXaIx@$FyOuh_Tp?Hz=Fwf2~zIP70IKQT%5Gi7{opKjj!rQlTYCrkdz!LMci z8$stR?7y6uKEC)ql|H__*r;!Rh5mWjlULg^zs_ICqv0zLzWNaVTE)S>@~qK&*MB*- z>^V3z`p2v1xq|<@zp!}7%@_af>d*f@j>_-6@$JK|pBy@U{^w7Af#UEVb8-5AIlYCF zw-3B<&)H$=i)WhRUSP1#AN%|r)Hrr|_U;KD8-4pAxsPOjrXc#M$vv3t{a-+Gk!UeB$ic$6TTJ+x+pT>p8Sv zZU5SSw*NG~FM0ax`R}#;&JWjapGbb=+GXba`oFb!kIVo3)wlTZFOJXuN3+A;@2ZEz zE2sIx#QDECKDkAcyCV7}!H*U9mcg}(2Os@+@%ei@KlJ||pB(>}=jZJFpPBuOqT`E; zp8G9MOkTcCK5V2vQ#|IY3#Z4*^sp@^AFz-}t{id+7X%6Cd6D8UKgv zoBTZJ|8LJ_*S*5%%hdia#9yiUgX7O#Iee$h-WSqeYT#d}T=e;AZ zw|CFyh1vURa+gG3t$IB(=s$uVt{pB-ZtBi|(BG$Vc|ZC$*B&F{?X%tOuZ_@AV5 zy+7!Dpu8x3`A_Fp<<(BAd?yEw56X{j5-z_t>MdG*KNMsK+${Rx#rLW3tr~yaQ!0+H zMc*(;?$^aZj-LBX(d7-%;WyQOjpu{Dd(!C1pW9z_F5mfnaX8=qtKzj^c|!OJy+8biBfTpZUY(SJ@f$7wY-;{iHmp@7DNnUhw+t z&zt>!^?bwUi#}J-IUwhJtbd&Exi`6Ws~6{gmdy{iOZaz#%LUmdw`cTYv-`Ple0u!L z3tU+{$q#5B=bZQvzjYnBaPJp#)`jw*-Z$QZ-edloJbCTleX?J1E@pa=*y_3&s1T;@^B2??(Q#$xl={ zd@uF+^p*@hRlWT^xh3mIZ`b~(rFeWV_j>q= z#U~%PL*=5kWaH!*|2^4fPyS4PiXHJQ-=EUEGPuvsKYWLFYjlvm|HV;Uch#>aZ~d@U z<=V4yxmUyY>T^~9(6?`k&fduXe);9of)7-#_w@d|JG$?@x2=5SMn3ui>5ukD{YjIf z_h9}vjV=y2IeP9lxTSj3j=v5+u;=f%;G@}}JZOLT6V?C2(XG$Ute;x9S$|n~8Rv|9 zKTQ9=>^WzQK929ci}ifTtCPov<2%nh=J$82f6MDXUOzKVyB_xCaGLtb zA@%E@2FXvAK0WJwQbZ_4mdpPqR9m-W)(6W0~tdl&D-%`5ze={@yhMf7Z*|&HVk~_~!5C^ZN{R^KbKL`t%5VEl>z4F=cMZyiA%*e*A?##!TF1WzW(Yt+Bdt-AJ3b-{%f6y&mTG8jqRVmbAmSp&kG)yAMxE+|GYJL zZR7uVf316M-5Wyx-t=Cp{+4R|xH&)UuNj@bdZEwWEZLbeC@#SFE1YuQt%erNl!*3J0n?)jNDed}uc$?E6lX|-y`s!W$^u&Kz zaqV6ITd{V&GrJqs&L{RBbzW+>;ypV$xx=bo=d{dcM*HM<$iCw>1d zwJ$bx>q+ZO`xWNr*H%9BYV-LCqtmlKwT^u@{wJ%CPY35H{x_Sqz&{gzvEbeDpAGI@ z{r>f04@tx*BvisZg`T0uz$%}(s_y4o&{{LO_BaTmG z*LRzH#P|O5KJ;JtupMJKVY3 zk5y0h*X(D}ANSYnpIx2ao7sCj`~1=8*Z!G(wKvR<+V7YtJJSX6&!~MLs2%X-f#iqC z(OWyaXQfB~-Q-68>G>spc6Qi1pz5{W1Gt)&cl?XP>_F6F-h_opOKA*Mq?ag6w{Eh-16(A7;lo zgkN#plbwxH9wMG4tQ}zC-l=qwgf0Kf#~0dCIKS^M-@|snzpS;;((43|}QZ zeBZ~sl${@^|Bd9w{Q0x-<;C&IgY2_=LiU%>zc}#uJvsaA%CjpMI(zc&{B73rwOjC+ z%HjX5o78?kjQ+#o+C2Ie+BbM>@!k|Xt8sLt^go;aD&fD0KS}#6==8?#7oJFu+#Kn{ z@xPedXqW#9ies0?#a)AQ7x(Vr_|D1WlV7O!urxw?I z(O;cP2KoGZv8zk4_(*U2))p_`WZ5FVqUP#~#`Lc=fk(^wsMJlQ+)EGwc%m(BNS~--nF(P3KJI zH`zhoGJp8=`H`ogCqE!Y!(}B+p`WAy8 zdmpZU^JAaL{*Qej`CazqfyMcq?2r4)hZO(8LHnxmEF)i@W%J4<|Kk1#`tmdOXW9AR z{&N24-w=)u$N#_l*(ZkEKiO%;vhd={o$JE=CAD0htntjeCy{K zC;ERY{0rG(_ni8PdF~PMr_HbP2I77=KDqk`xkKXrEjqh5hLbnXJ~ul2x8WBDPbHEx#4F7&C7jX_0{6QKW~sbKm0erGlTSZO8;xs+w{fbyR2_T$A{xDn*L(d|IWc3 zqc0x*$?$Il{}d$m+u}lhCH{=TOX6P|oVfb=T{wt-b$SyfN00wE;=dYn|Mvpn_;-ZU zyDI#}p#IDc{;0QZ_4=FQv43)U_&V>xr-y%9^6cO*+WT|0AbH=L-CjFhRC~Nxz1C=-xkbl@Wee&}+?yzSbZ2rs+yP)_UEk1Uv*X;*b z-`nRnr8vpiC$Rr;YV)I!Z-2nPfqjN?f5HCKy|ttLE9XcjYJNq|{uKG=YBxB2^5g!P zeYL5x`_<;Z@+G@gzk5bsbKrkBK0W!96{{!uD}|eX?3|u?2zk)F#{9~>>-hYS`5E!@ z52r_d`yqaLA9<#=Yrl<(?+(vZxbvaTg|1ZpaX!@k)P~7F5`VLBbo+Mro5Vk|c33~$ zxzhE*PpTdl4WGRE8~@J7;`95P%5_u_j!)kHng0K$`k{Tu)$_kx^e+TY80fcGZ>v^* z>%;Yu+aO5KJ|MfdrO%G% zaeu-37dh`6xbF+dxfkEP9{A+#gVC1@u!bL?n^l^?u~qQ=+kqr;TqYeFMfVE7~)zqgR9jK=gt2D(dAd?k3MP7 z>(N2`xD%znSI?n+-pP{NC%X5d?<&?!PyPnqdzBo%ywE(w!>{;!Cjl3~@?7yQ=bM~+ za{rifOU^&h!~bvPAvb&Fd?ot}g)ba*ZVDXvQzd8pVL#tGY1)C0Ze26-?f3uJ`%kpzrboY{dc;L?*zI^>+`tVh=zfzE%c^muR zPk#5{=%4(zi{qooU0-}NhR+Z@r1JbMi2vvKzew-m;JLw(kN#?UAbtEF<>$J}5636Z zK05zDN&ny={+Fw_bBgck;((K*XFhaScJ2w9zr4~s#Q$ynQomfMxY6HCj-8SJ-}v;& z{U-XI`9*)FaTgr<{N0+IxM!){?CeteKTB@#oLZ63IOpyrVeTv+p{} z`5(l8jJvhV`-1Kfwf}K?^|^WS_ATshoE87t{GS<)ZydBwB7e#LrrBlRehWT({IL6Q z?c@80v-0oz2mC)4&-ncXxhvv3Uqv1teedcWpZ$IEdt&9-EBqhD_s!`1(?j1iySE3) z8E38AjI+k!<%;_Y!Bv9BZFK9zaevzSki2o3Km3)li%TGCF;BzZ{+ZLW7+0 zIv@L&;`?&-ZJM`)C&o6oB zpWiAj_qW{CeBS*-Z)D%O0p|(u?JqfBuxZcD-RW%>PLDnNPtM1>U%`1>^WXW3Z}e~f z>y-Rh=h^={E4uwG{_)5Alkn;J&j9+5>wn^!wefwS;KYr;|4#0Ko`Z*j|B3#$aQ_c` zy85{;`UJr@djHH)`RRYAdF`~p_ay(1;QNC2m7j)xuK2{oulQz-&p-Zi`M<6BmkIu} zxQ*Y&+spF5X7%D8)S2q%&&79t*r7cyhXu`>=+iT=`$%?Xub=K7ZvHk;bo%_$XK%Xn z%*(E;T>M{H`L?MX=5gk4msJ1zrRRL-RN<2brw-l~oIL2eJ@;;28U2*tBGrd`vi=_Z zcfq-f|GUZU8JsV=^Tp0bFBbpV>L2~%$$uvPyy4{%cHwj%KGHN+Id``kfZ z`*ZgF$lEU?hyRh<*?C_2{sYc0IeP4#G3Yx#Ozwo@bPnq`;lB=!{}<8!$bF}Ik9$;{ z*P`zn7kT_=vwvjz{)a+OJmNbkdFR9MKUqKW|CKE(FTcm72frbl{Mf(r8|wl2Px;G5 z>YwtS7u7%i5Ts{)K%e|t#ryl@|5iNr6!)RoKP0$t?~MzRyD0dD=;Qs(%ci&Bz-Q;` z`0T8Z9Q@Mw7w3oH-wtt-|3>4_j=|+C-xq@T%Z1|~n*4UbBZ5Dv9>|k}?^hhBCVy5C zed$4enf#*5`yH3usJ}+#Coe8?=;9GST>LBLcje;SHi)i%tgGMK`(UD=b-DjEEttK< zf>UH~=HP3UXQtv`Df&G&GVqZz_&c!|~ZJX-h;^@B!qOVr} zydwJZ!C9+s{0*~nLw45=-zxZKbb93I-x#0&$J4_X4?lkx_~g%Nd|RscR!MHj@XrNT ztv>Kq2`BeRxc#+9!|ku(quX!$MgGOXKD+qz|CwEO9uN25ktM4CXQNM1f0x%?GXBcd z-y@Z8qU5IuzAyOY`0~;6%kst(lg|&k{JvP8j2-8f*X?Ro-T9v!Y;jhDZ!{>J)O zuUGZl9-N&YSMGg-vqhKpKC$v`5*+y(L^u9S)jat1+V}0?w$Y!d9Y;RBpTsA(WcJy) zw)mXOd@H{5n(n z=O?|dRTe7HE-H4kJ@xy|eBUyT3vv7h0;GWR!6SiJGWIzfKS zeu(`M`78M^`ykg<|MF!!R1f|qMBhFNyW{@LXrEp2vA4cXIACvd*$!VSP4b_2~aH_HWSrm&JOIUHZ;%%+z?ozIET|SKRFL zH{+mhf5mE?hqE_2~HI@yVM9 z@^AiWeEo9!`)34au0E`n@zn$Rw|YL&)wlW~XPrNNcFFCO{w(z~_Q>I{UR>nF_l);O zeE#s+`%=&Ca<$JxL3#W&ifhf_*74U0KPNxV9Xvefe=z%V27fy6*NDy^|64_Wruf+z z^_`2Jq56^^bS{BD`}CbFKQ6sff-@K2@!|Nt3b+2Z9{}19uzx^~o_z@W5A@tW<$v^_ z&HpCV@9%5>D}p2c(&*&qkss;rWcTv)KHT_vS-AYcdx~SK`0UcZrux8#`!D?r>A6SD z{e4el_v`uFuk{JsJudG314sT=>3_fZ&DX+5``gF=N&WP&;11EPV|;I6{d0QuK2|vv z4X#VeD|%D+xhN$ ztM@Ichpz_l$$u@nbCQ3}j&q&tY@HlE_S|DW#vxC3M9=wTy@#i%oI6+F;MCFaKN!AV za&U6=mZ%+XtG)28! zy*~Kt(EDt1=x2uWJ6-KUj-C0UFOmGxL45kw*Y_3YwblEr;noNE)(zz5sK4Bsy!8Wl z`nP76J~{gn>{*{&pZtD7I6irHx9fSq=jX2K!F^-yJ^Op~se1q1AO7j=kaPdrc)yx^ z*G7GM8)X+{AK(8!*=LWO`{iCQF6V{zD!w(UcY4ZsPx9h@Is8AtBkBjQh2I^tf8d@r z^|gNT<|FRs+d2AW<&W>GogNPUBlw-<9u5C(@$VD7H~o=Mf3wPoPjBAzM?U&3`J20b zDSx?Q^KNn7nSXJJkN@3@pZ@p5_Y7`2#P`qqJ`&tK{=&t3QxIQ%$h`1h@zwWqjY}U5 zY7ctyJE!MQ-bOyiyb#^`0iQmc96fxvIL%Ydn{TMUn}3qOIXc|@n7<#yALY!e$My3w z)z1ahzx6iy1hwyr$xWA>^)R__#$USrArBz`V80$+{@}RknVfc+ulCV?+UL6HpH1)J z{C+XGZ2tEO?i>B!!sf_3+D}|M`Hw z82Hz<{v7pZEpB$${pq039)0rk@6J9r@>gm-to{C#{k3XG?e~r7&(yy*j{jWvRXu+{ zOm5Ej?}`7T=yTN{j|t8h#9u00zr}yC_si_@4;=LO%)WDe;`l-Ik2P;xsdx@bf9~je zN8cxSD7hg1K?7f22A`hw0Y3PN>gBrpvo~kuj2N4I`oxA=~Z{#F^vUC+zfk{vF#Vt9$2rPBMZYBYQhpChjvetm zA7B3&``4`5nIouQ=}$k;F1mh7?_b$}COB>5qjKq=^0NM~_4)i=*7&WQ>glKXm4}l* zv);5GML(?mJo4q~Hm_dg>9!3&sdXGb=%?oYyYbl>^|y=9&Zw_H-w>eE9Uuf`|G?mEd$T^#h;cWm4fK+O@FoMYX&zijxUGv&mTWmq`yY}Z^m%*mbId9Kk)63eJ?sW z`sP9Oz>z;w{yr3h(u2=lPafTPzj1N7-`DwJ=ZPoF@14cBQS$eM|224f@UGx(LHBx1 zksa%3b{9y_{?D1&cb_7?Pb9Z~{3)~d*WQ!tZW#ZL6Fzy*1^LV3znb2g!B>KB_Z+-8y_ci^H~I(b$5RL2h<``$^!(Zv*(N(@MBkxu zki$PRy7&K2st@mf?_2v9-tYDoyx$jZ{5ZIBqRY$TUzGjd2FbHekA3?ZKdl^}s^5>_ zmpL~~&Ua_KR$urR7v~qVGh=bcla2cLU#ML2V(ibIosp03dlGsJC(l2*<+K0Y;vr8T zUmg*kJpQif?^}K0kL4Td@0I);kBmRQQ#dKR_|63z*T!?P^qk{0KD|EpG42=_jd#X3 z{>J-l->iHuX3za!H`c!H`EtJ(zWc%O$?uiD6MJsrh!IRE_de?tC`N&hE}2Uir|#lhuzjwh-dlLhz6{^G$Uf>UPq$Kh+FPab{W z_~?6w?;ph9vA7n<@A}z4wz%=XogDs7;o!)3FW)iAy_Da(vakMb%MTo%{JiO{n%=3^ z+y8~{FvKCg3oFm9!P|m!_8i|4{^R!7zY>0X@UPK9cJQa{z4VXd*tfsFKzwqeKKbW+ zKJEL{=jW#OCG^L4itmQ%ZNBtB9sTX|I@}OW(fx1M&ARZu{q(_k3*?yePdb2Kvv_$KSv9KsOHJzg9hvq{r-6L1%vL-Tp)a*L60ByeiQ$^;Dg0?#z4QYb~`Hm z`Qgs*A06E}e)iZuJ9+%g!+)Ni%c>9M6W=`bck31Z-@QD#^^Nt5e5>^ay7Qv@)j#m< zKce$9`n@i_r-RoAzgGN51m)!p5BL5eC(lQ2baCX$s zcdCzlqN~SI|M>WOB!5cdg#AqWxAr?Piho4y`RDZ43ZmPGwSRkL^7eO^ti1Ml?YrXJ zzopOKarqa==-(VE$Job6-$^VtbZ~uJx@N45Q8jk)_^=qH`-?gv( zZ~NjWRFCd0AM>+EG;i5Ed)7shRQ@qkl2n_Y34kK05v1SFS$<@%hCkkN!05D zt2FLzRDW1cyVd_z3ho;Gb8?eZ{@tQ)TsiPhioWf;@aeJp-t5t5pPds2`{YOa)(`C5 z;`vU0kNWRt!p~`)dP@+U-c!-tGmmdy;>Om$msW3o4?Y(C_~6CSkIer?;l|0MDnI^Q zgPqa-dx~p~PKD!s@SN>aGT3$qc`mN;TUF>I0 z+xza8;(jWKPkzkn-BVL!4uL`p2r(-zv##KmAL8(th~bA6-Ad*RSCC zi&f&&Biqx8P@belH52x#!RKLYG#L9}F%S zpFI8w(La+N^7yBu@4Kc8!uh|iIK@XEf7|%t8|^QfJ#mYN|BH*u|C@f?cyfMv`-U$S zgyWM3zg9eRrawo}Icw*u$vxQf=KoG#PybixiOV@_e*Y4my)pkdUF|0i`QQA=C*jKn zZ5w~gZ?0DTY*k$1V|VN5;y7cFXK&;yKfAvxKk~lpy+62a^$w2f>;K8;ckc9VsDAK& zkp1^3hra*d*E)NJ>W@A8`!yaN5R|vsBD-G?^8caYSfcuMzF%I!I42LWVdKTfm%osw zkar-5k1juf4~~5K4Dpd0=LhKY>B-Od?m{{ESKdXcuWxJD>gB%b3xAF1>juf2$I6?b z%ePHlJFcD{JLD$I&(XorzV_WKJK9c_ty;gFD|zQ|oTJ&b^3Z=S`@2PdxN?hA+|wnuU3r98ibH;3 z$LQY-u3ddjoZf%K*9`tAcxrwZtUX@NF8lHz{NTTuoOWb)(;*Ii#k18A-`mBZT=E;c zMVH@@@9g7ApCr`3;1{E-59L!H<@Q_vC+u>K(j1I=*wXKdT;33z9oM9K5jhqJMGxgM#eI zACeOv9H0D{XB_$7Ki)UqKhA}2)B6dIzf*K@_R7COaFky^y7w>nduosSf}0F>#5dX- z<6@70{+vU7f9`fN^&is2nZ&V!i;WrPrzkNgUyH*eI|4WYiwaMZCCH$t~H-hB& zlMh9|F*$bG^M5}0efby17$5x~7Wd`7U!Mr>QosII@Y_Lj_s8xYUH*_9`p)s^&F*-< zh`m`V*N(~W6x<-_{%8Am>r}pHTTjhiId0C5^Oti(r-$!+&rAug}2<;L>~`1_^rT*C47 zzgeS?{m%U;`uog{!}=wCIDOB{*l#@t>`k1#Lu$951s4iF*1rFP)jPiYz-CMPbCUH;j7q57LKJ$afxg+Cad+{j-v{wcvVYljQMC+Rshk1=m~zWTVj z=g0j~C*=33=;mRgKD*#T`PnzS_StmRB$_2Q3m>|dLI zaiH^idHfBsgMV{$@UP)FRZpuWZy#iu;yyiSzuo@H3Dv*-5qjwGW7D^9|37~E_CLsz zgY!%7FU`;J*?%Cq`0(w|(6fI-ZsfZkea_y?wi@tyT&ba9PZ(cE3^4|_#8Qd>8Mf%PYeLp|!m_Lm6`Mp0o#-0C! zzZsk+`{?gPUoraMD*uAf$_@cn<4+#K2I~KeNX#a3-_M4&t-qh{+j)^BeHM5&AuGmz8ZP)jr)82Z(F&(735#Jw~h|qd654~ zx%EZ0iGZJuiE*BaQ~6qKYjdDk~=lIC&Tfd4(Ff0Ym=WTctP>P@yYWmZua@# zrGC9(_WT!ekLWKIhxgWBYhUj(^Xg5Kn;`x>;oA4D`q9txx((^dtY(0b9i>$Q#4({=)I^E}lIGKKf{%J@)4o`A0%$)TH(}dO6dxPcy^nFK5pZv3xiyivr6~C*T@I`B9 z=d(ckor{kh{nT@`M*VC1+Cl#&=lR+pK0W_!rT=o}^qq$1Nk8|z&0hV?ACz|@@4rg^ zqv!dUzjCZXKYZ%q_rE<5eg63L_o^IA7O(qJmI`;i`7_~b<%j(5@{hkna({?!{}*nb zmArE<{wL%6)R$XNeXMq!P zdFOhZ4^mF?I5+Nm_n(WyIh^IfjYNU^@zW5ba`R&_;7r7CU1N@BYpLMX81ilzw3u@66DXmmvy~; z1pB}E_J!>~c5UHsRE z+n-k6H|l?H2DhpH)(*lS4_~e4?+@Yh{xj%r6@RlJ{r9E+Wc1&qXJ7Z|=$A&9-&r*J zjdw+ zU9;zV!N+R1mxGs8FE54T!@b{}6Y+oS*{cWV3Z8CVyi4`>V)p1i628H^@af@;gZ@0V zvvtqt-#LU2H@;YJS^rp%S?_FC{QjSzeEh=k)yMx8|H!Au{>XRUhTP-Thjw6p>Dud= z`0~HxAFH07tFV4m-m(1n>cMwdv)Ar(2ImOQQ@zX=+#zURbnftP4t#pgS3l(F&6WK1 z@yUOrb|wG!`2PwnGQ@?>o;cZa|Cjfta(S;V)BJau>UWajS}yv*!4p~s?b-8nO!7PT zoP9s&JB^Eq6CM8B=;R*C-#>z%%Klu*9hIM>gGa_^&phDp_`WYYEF2v9?0q>uz5}`c z|Do$F!-p!GhpmKyfOI3Bf`k$hf=EiIh;$0lNOwpJNOwqgcSx5YA^hl6>68%Z_rw3b z{jl%#e41-^r*_Vs-PzgQbHJ+s%MvFp#s6K9>wgveKju$Cy?oNi-x>Z+$Xx;S`)p5X z-&xAbA-5jzF!jyBtrxex7WG2&Mt(=f^D)-TC!O_{d)_3hAAla|J)d_6|JnaMFXs2> z?2qQ@{jb$A_{`()q+eKW|Em?y6@%_1(0#ypj33sYqP_&s{B8{V8Ub7dRE~1ppL8Gc z40db`_?7GbZLUM-{W{xcy}0%6Pri+vu^AT<0t-<77ErpdzB&EPbJ^A_&-2%=Gptvh zdKRO{`oiG(f#RQo%cmda;vfAK2V6S&$^`OW)4yz|^zj&v67rt(;yI_m&jl$LmIHU3 zm+m3sR-8bNa$6&}H_&mZFL?Suk8;)bDebYn`oVpO?~v0C*d5pc_&x0(3fzz1KH#}} zuBsRKCh8M|*M=_vcygfsosljn<)M7@qb;$=`Meo;b>fTffEj4-+sLzhmnq-H^U<%1 z@qZ8G=|7*#aO6$^Dt9~h8DJmyt^b#D`Hz6Vj~!#cvjycjs4qp2JYSRar6;XM`arPy!Z z3Fwnb98`zT3dKK~_8$WnH%Dh|! z-j7#|tLEv%t(V^Xp7+))HxFjs%3)fOMi+_c~kHPLHPmdrvS6S@ApUK_ndbo z+AD6o^y*ii^;MB8zxvc4(upSw?Du|BHTqW_p4&LyEAK5Gqn+XXr4G<3C#+ZQ_kn!x zH!Hs?detxeTAqvNo~l5%nR53>+y`;r!~Kvo&?!ec`GnHT@4VpsclUdq;XmoDcR!~c z^-+1Q>jOJ2_gvX2p5u97ZTy@L7(u!Ff8O&sNqH;em&Px{(EBBLQD8Bk<)y&y5&szX z$e)DgWt=$_x$d8Ya;%r%dhJvGXZXi>OZmpd%8~ve@Bd?98tlFeehesGSTA2>`e|DD zrJIKzC*a3T_+7d3N&gP^E9WERb-_Oa?H|Bl$g|%2A6=o(3cuxl!lzv8#Y6eAu)79) zi-FmY>%FEO=reEc{>LT!k`p=Gp!)>;4)xLT(>Us%27F^Emp>o;`GM`J{{^@;kYl~& zjqscHS+D+Q=vRKMK)&?a8QQ;|_G|z)$6u~fy=UzA2Or|saDP&{X^~Tf`APXZDenuv z=b?vz+aBeF{2?BjcIuzy$lncg|J8k0?LQybFZ~qwoKLrDConaBu7h6BCv3uBVSB>$ ziF!hQ!tsN@$Vw=A??}W_ivg{~&! zYkkVc(_j8V?nLPJf`14875IJRJ^?-t~fszCZ9Pa-Kn#kMiGvizsgi z-D}EiZz|fIkNU5`D}twoKRx=NQNEk^x*f0ve7{kDl789-{(bPrME^AC_JEHC=7;VD zP``Ji{u}r@P`^(;^wa^ahi)l!i^1OqCIgnk?)u>Efci`Sy+O_d>WiS~DeXTD{D=Cd zK>hVEcv!y}InSvVm(KDn^t)BS{lHM}9oB)d$(MXj`=+DEJlzA@Q<-wd{mwkMm)P?b zbOVqRmS3jbZ$tMpcKN-_0m%2enM_0-f)t{nPi;e!3R=SHPUuH5L2;usZVI z!>+Gr&)>lG@Ts>weD6aa8`z8TIN;mykLRr7Q7+$10XAAy00h|qgOX@R&52ijDO9`##>^urxMe1`=J_x&S0&@YA!f$)^LtM)3-}dYN zw9Edz0J;duPk}c^zx?uDg6?NvYv}HR+YjxR%2%H9v(v7B;Pd^N3vU0Ee=PL!-Jt!} zD_^>Ag8CD*%ko|5@qN0F-(%9A!RWI-1?ARDe~R(pEN~=xuY-RX_*Z+?e*?V_fh*B- z5x$M|^JBo@fg6JM`TX>Q?Tw1O;>e3jyGnr9LQWg-Kk-Xj;79NNU;MBg`wjx9K<~J? z8M%efcY*fnx6j~s;jP-{|10vAY5=6XkWm9iQH3JaL?IeAkx2U(D8COeZ zeP-w^FNi(z*l%`yHo1pK5{${`>(Dgx2S^9zN$OPCi0yqZ!2jJ@o90RO?+@sJ{1^PUEKE|a! zpIY#@#7@^!qbT?Lb@CbCenov=^xgsg9lghZ-H^M6c1#4nOS}K2-@QfqwI@1wQ{>nW z?HBf&O3VWrx&he@{-%9;2 zj1NiBJCE|~(9NWO&IiUqZ(-!+0q%!>2Xa;ebMyRN|M{N#ew$~RgkJM8vA|t7?L^Ng zU`phl0>-7h4E8zh+^5_)^&jYsPuF3eanV)ijn60W98Uw6)6U4~>5l*Om;PIZ{eM93 z`_%^hzGvpE+9IzN(Ee?lnV53p&(VQi*RM5^9|NfT#n|tAq8`@|dywCs_78*KIK^|` zKSS3NzfA;ogWhp@3FW)!H=U8|`0P9z1GzOUwi)?r_E`iFGk`|W$* z7<P1WfE#B- z27ecMu47!kxGu7Pq^8~Wk3;mEFg`FYn1z2|(@yiP%dxK&ej0)t?@>5U&0@TogPeNs zr9xh6pz+jd=$p_ljIYca4~2d>@{Dttww7`zPi?*G|OGSS{bz_s+3 z0{C+q&u=#V_dJ~K-bT6OL1%E+-}TY^GyUNea69s+;#c!*J$z3nH_i*^uOzf7bwl^3o* z&*G=v_{IH`NR&I?bw*A!${i0I;cveqWBfM}de^P(vFCf}-v*YXyeV)x@+*Kle|&@A zoIjR<`}|_Tw+6XBzwz{sV)UDF)K8@R8(?kVXylZjUmE9Mr#;5ee}W6c`rFhSZ_DRA zX#CwDI_Izd-apE#0-cxgV}A$Af2Li|&nGF*0^LHM>pt4!de3^_JNbO?tXIDEXOJ&n zD&Fffz}on4F?3tOe*v10N=yCM@TCP#g3ft+F!+1Wp9Q)<)gIjW(Q&gI{U7o?Bg>>k{}P zfp-I%H+c%b`+YaDD+zRof$pc-zs#?hw`>kwE8d%Mes$hGh(4e5KJ0b;jG+COfrp@< zOuS})iAA~bT`BNuz#+VEFTodJpXI;emsdgkkMLRlntJJ+50v+YdhbO$Z&?2pdVht^ z_}qBh_jPuO5iA-*J|+C=!phjbYM5y+aln5hkE77uO8(q&wgb; zi;Dgy$n6Lo8`utePVs(J249Rl@1wspxZ|zk@5jh-{59Ws5qXY_#-q+#`H-jIj-glm zG104j?FrAf+(5tQTpW)Zqu=>w9M8}B%KT+1_)nuxJH_Kuo&)$Zb~fWZI>)-qIQ0~C zAJD#f!1zGV18m1W45H6evSTplxKk6`OkUJdC>fj`#R=_ z%mX$>Zz|gNH*(WbzKQ=MOdM+*oa*sflA9;>r?yEJV+UrG>Eug5eFmWCU9Mu6=Z80dze7Lh zft~urypi#Rd7i4s%^mp9dhMHyT_@}{_ zi~jKk^}{INiN2TAj|C6o&kvC2`mY?g{GIXd0Ql`c_NR5&_n7)G!8ZWiAFa%IQjc=? zOU+NZuKoi3y|CNz;*^ia9_QPyY40@XOG0OTKgz|Om!*G=J)R$54Sy=+He^0=Jw2ED zP565Yupe?JQoj*@tfC)CXZ;-N7ocYyusZr?F#ef;HjiZf**ww?^jARd8|)|#?mFi> zerpcBd?nF)9D3)E&+(i2?U&eVyrVqJLp?9i7oIW%Qf_|9eAp`5Ulr(h{uchLfxX57UxN?B55EEb z0$T6+QuV!o&-13vv*A4K`RJ$Ey9Yb^!{3y4y1u_g`7WNT>-%fqey7Ft@cp&_`5s3?&SLzaUhOJG z{Xpc_2Oj_~zxKPHGLD^x{jP^yC%bOWg}kZI<)j^xz`p`_z2JJHBG1SCk8z**596%7 z$hRE@!9AbU6}&a=`4PMk&~u>Oz&l{qMR4c$q3}DuyFTqex%sOu;B{%&OWNW61>?TA zk-q|Z@4=R({70VG86kAv0so-91+XQsHubH*n}9b1n#Zz#+uwZ;ESK*V_9sW)JK)E` zzo(tvkE&1oGW0pl@1orCy)C%=COv8Q0pMKvxAzjRqR(}Q>k`)uk9cnB(Cd2OZ{(Q& z*onQdpu3M9VZX6odGAiXw(#9Ut}v`u?<3~*@SM=hpq;kc^_%`!gC657*L9WQ--SI5 zq5AJ#86$Md(q|KPoMf7f-d z`@Eyz{|-9m*LvWU@q^=(ac3OtEls_7pI6}a$6t`Y7kQpj@_dr@-$7@&{UIIgm_U8F ze=EQA)=Phg`>Ebjbv&MqAN7BAE9mQpU!Q}24D1HHN4@Lg4EUojus?7<(EGzH zcz^Z3&m%MPjQeVUe+s{Gz4^SXJg1S^-xfOKyD9i#BlR)p-?4$7SGAu_#V+kM4z=Gr z#h#|f-HjiL1a@k_?aPl{_A~RtgRtuX{7Hamf$r~&fzJF#d)jRrVV=Nzp#D;&TfRiad4Q{>X_@`1Y{b2kW`nM(e z-4F1*-6-gNPi_A=^yz=&Q2*cHcQVZP_+62#*fR*Zt_!>;*q-{$_{DPuo-bGe-%a3c z;Bf4(#B*p2e?{=NK=Wof&=V87LBK7PPiCAl&tm?i0MEs|P-Xaf0-fKS&n8grdhZQ( zx}MFAymyV8@asDGZhCGJ_#5TMsqQ=Mga178KcpSDvlzJa=kS~R7tO&JLRSkt1A$e5 z&(RZ}^GL}1?tJksa;9R>GVl$wcRaY|#sjUf!*ZXu>t^G`y6_u68ed-IIh*H>j@{bH*N~| z<6R#Z&l}&nPVoByO|bJgdJ}^i|F|AA4l@369gz_~x{j0XYvgz?U=jAWM34E=9^j9G z$M8>G`cEsMc@*;}8=&((#76MB$l1*Es0{oU{hxtL=f1A|?!)|m-m$>{C>_F=)--PF|@Nf{XRPOcs`;&?RFnWIiY;-Upmj-#g5Nte-HGR zLf%Ho`vC_~ej8X3``za@uWI|QA>a0CPeS;20o_l32K{Vc8K8D_N1y8m%T<4 z_vXwu84nmAm}jbm-80ZP8W6S?-2A1Gf&d)!C$y&c1I_x`DJ-H$VFaUbv}>@|;M{Qd$zpI{!m z4s^bB-@tv)aDUYKbvE{I17^bhmEf+!T&GP$uW^F);-m1N@q_npR?v=B)Z2fJKcrWV za`Vtn-2Zl63&_3tWdFXY%?S-6m@b#qL?>%mZzc=O8!8bww70>Ns--Gsq-_P0r{ZQI>A9?2g%==Y?-}YSuSHA7_J5vRzcm8!gUV}fn z;g6Ki-9^7~@h-}}A8+2(^-Le^tdBhBX}=%izR!5-|3$vz!>{N!t}*U$esMl=e)$`F zT#u|re}0~i=T6*5b$@j;dbR=GH>-@i_woNxK!EBMI$H4D|f(G~UBCz$(yh09W4${IZtz>;g(B-vR7A0Kf04&(HT)dgVL*tH=4I zB<*W}-7mm50X<*w27QsG1785#3fx2c%mj{814z!M^8AMH*Azwv}|TQuU7Bgowg zUp{d2dhRoyqx=u#xzFIfLO=N3uec1|3*bKLT~Dpy993`Xhfwc6ujhXp2hQ-^%zJ!= zJ>mM#b)V})*MqJPW8kO$K-V*g(BA}mtalxB6@N-U2VA?C(|?L%S2>{hgyhukq#du( zlZfX~6aDePZHMi19qacPy2IZWm=u1`HO!`cbAZ26Z#-ar@kh#y&kBM+rhUh0$3@Dw z(T>~HS3!O;@c7U_BHs19!9(huUtEW!hyD=q!*!(fbEucEBX&rC134L>^Le?RbY1GY zQ0Tf-Ij$G`(601A<=8J`qpurwm`{yIc}vPY-#-|;V)1K+bJ&`;GnS z0_9=;R6qD#y%oqm2>c1YwAfjU^4}>p-M8Eqt-b0Z;D)ps+SK+G*bYJr@{*49QL!kPqLSGR5C#etT z{q~d_cbjiHP5 z-}%fqR(rLt6?|uq_Xs}E?d71}c_)l#jdRV*q(#5Daj$&7?=jIc4!yqr+0l2Na^G{` zd-wSg2XykCMD9WOR|C&bt{mk%ZYVDs<7GkM?m$l#@cYQ?L_dnc^N)!>`(fDsa`WCK zfW9a6MJO-mdr5sA^qHSD{xRM${xPro2jh(Q^phgzFy&3LyEuC50`1?Kuwy55;e8$R z!40tUFZliMf#;fr$xprUTu1!}YzJLz@YKi+_m|$K-g`r#eV+GD0Kel=FWMiQa_@~* zMX%>iFHHaN{W7lFh5yV?U#I=efh~~#1NaS~@x6J0Bgkn=eKz=J zQttSdk@7M4NB$=8$**0D;1|~}=_k{!$@G`8$o0F!t|MUno`CU5g ze@VIa+n!D6HQ$~KIiCM`jXi$9$NkTK*l_}W>2G0|`+C`F|HnYrmnHNo>%|;E`-S}^ z2mPoE@G0%+gdX=P&Br_5`rW;7UNY`YjvV8eKDL$KCTmeK0dDq^fB|`#l-I_h`K0{S5b~ z-ZKDxciqGD6a@# zRq!!92kU2|&wA-UN1l1zoyZvoOpJe=FP%TfB2T%>bNm>B+%I^3?pv6@C`S1!p5NE# zbN|EV`78a*ebS-OMNlsEdneXcW_-Pk{7dluHwHU}RL zzxFtOXs33!gnl4)=|}zNKC$PNozLcCr}-=MRv#kI{FTpDJ)!&-w8L{{wUOI`_uGAJ zzjNgKxfVXZgAjfnVI2M0^-E3Y^CQ=FOc~1EUz(48*ZrT-9>=v$p*Ma`K)w6s6{s&j zx%cpkGM;FEE^ybU(#x+r*SY7h%k^&#$iALA7BKlzd4doYCl>-|pO zm!F|?f3YEQy`Lk$=b_kvR-=MH_tAU2eB~CWUpWuh|C}EdGj5$m?x*O9gB_*7*Fd)mI1c)z;O2YG7d;|wFdwuN zzuf|MK(6b(Z0M^-d%YJMLHRoLxIftvznRauf!v3{tH71m>3^vnf|mxaM{f9kYU|%c zkM`OBv`>3I*S`&W!}I-LQCp;I>eg^wK#l9opZ!=CL0CuO|ec=?88yDQAz7WuT z;VRI%?_3Jpc*FfEw&GU8N(f*4-umk*_i!1@X`Em2*xsiLE=M=tYp8JYNe|10Ge8+9{6-EAk=l77CopQ(PKPmTo z$wK(epK0H(&}paViUu%VJFog)yFYV<{(K95--AN%h5YWfxju0{(hq+39k=11L%=rp z!*#X&!g#=bVZJFkey9Yj2z}5?PtipiXD#Mz7J!mPm6rt597d9*kgR?eq%Q5@;OdN&K>mhqJA1sfBId%i_p8S z9Dp9z+bQsu=PYYlPx&U~o&vT*p68-nzqxLF4xjydCiu@l^HM3nhtiL-;1|~yo(r_z z@}AIJ-wu060FC3jBH!;QBmw^vx);Fv_))vfH)f>#(*LkeyR1)+Uu=iiWDJ^6nyMJ^0ViKjMCr-%m5IY+S#9`K==KYr!WWCo<6e zVfT%bqc1hkec8O&@BKf|p?SW*^9G)G`5OMp^y91WyAQb%-2F+{J;p)CMIE6V%e?IQ zdh;couQ#tUiFO)KJHM``+;L_;_7%WCDZuRyuA@)jr`gmSXE&wXIDIAUOpCpHsXqtq zJ%?rJy9az1==T>|Bj*JDV+nX92)*Xl2jGvCyob)?${CGZ?-@F;D_=VGOBdEJMo)M@+jxBo z{b(C-810-3pK)DQ>W@=zd?($1@hf)sh5r=o_MXXd>dhDBMs8%vQ{cxUl)n$mOugSv zABFtQK-UqzC%!k{6LQ@;6ZvInhy5p9m)L)5BY!2(_fNfH|FPeg54?-ro9Mq~&|e?u zIh;Mv?FD-OL+E*n2l&(b8J>Unjeg`g7|*}>{h!9`h61p$2@At zZ~005u3Xmx&LeB759b@lY4bqleasKFz&~%`_nv7x%9lB=0mJdneFo!2<4EI5$G5kU z@4d9k$g6|D&5sv`?iKpYmrHNF;(fP7(D$VOhx=1qk+0k$f&8@ie>D7`g8P3R^}oR$ z?XX>a$cIj%U$&qh&jYW>^IweK+~9Ahcm8nRI6}E`YPf&ueXq69?Zd7^$Sp#7QQ$%R z{66|qK=1c?t`L{3qulQ+MNsZ~s5kYkflu+5`|Z=gbD*af&~exCyEFcET<#s%r@iI} z&0B@=YPdCIbkBKkL`-Sn}7qruJbUBdg`55mTnin(=7Z3U7 z-}=B8&X1k&&nW7ZXa3E3C_Eo@2)?1{`4!yv*Y|lM_Q#?Br-A+?a2|Y#sCS+pN%@DA zFTzhdfz#mkJ2=i~9VmDHnaOkh7&*4b_LT_q8ebS!L@Lg3ov)3iam2JYVQ|F$BBaub7V=o`V`e{SL~l7q`9`?CA7 ze+c&aJ~$qFKiKh7zdS)-Z0sL{eD#L*rGifXc&PfjWEAY)iQjryZ$F~kxT!q##zi~fKMTx`-u>Y2H!j3p^BZ45=f21t#?d9n zcb{ZGbbi0s^Pipzbv@_$&VFIsu$OkY--sAA=WqB&;@!ux5S8!;bc{P`XBHAGKGpn1hU;5G4MTi}oA=?nad_CBIr zIl$`ym+(B@FFFC8->>`{J^#xN{h)s`;^!}b+E*U?Dgm{xF?NVsFMUGnIRIVQKIO}& zACzZ&ZQOklc@eBoL=`WfYZ7y1kQxP$U~z`T?zS9$I)s>gfX{qTq9IlRB+cW|7i z%!fFydH<^le!GnyJRfriJ9Z=Ad|qbopWqAEPwqdvU;CK;RvLNL;7>z)JyYeH~ z_uKc?_uKc_JiK}O!}!HK{Y2hh|Lbl3&A8qBS)I`Dy{GcXslfAa|F;C?-h0SNJ3QBU z2|2qc&j*a4-18-_^Q_++)Js1J{l>w@zhx+Yz;g)sm0JftwxK_(SNXfBFN2-sfX)Z5 zgFj;)7>Aw3z-u8lY=7vNtnkf;KJ-(_@B8g{C~Cq#1p6KUf8zPJ#~)$;XwUQd9D2_Q zrvyI$UoYfe1^))VKaqbA=swp&@R30CveS?|5PA7I7v?@|xWD=a{vq7YGmebSb6pwq zxADleKe}#z$$C9pzZarCxsdZ5`>KIAM~~x_C+&0Gb{y4S_r2V|yMkQfBlora-a_bq^{2-^?eO~>w$u6> zv`;$kElj~~&n<35-v8Pc>Vci^Ll`II;eAX6zvG|rO(XodihB3YJ7ZTjpmBdB=(j-s zA^1{o+h=?9v(H=D4L;)t@0YxXzK6h=z!X69m9J^n^!T=06}GkCw|0vDst|9+=~E-g^MyI*vMcBtR;MYh9pc)uXu{Z98^Jh$?k`l;x@ z3;qhQJQ5L!1Ko{m)93PBty*J`_v%Fv7`{jFTJmvm+2JE!n@x*%R z%@3FtNC;ms>~lPHyb0qs^(Z&2Z;yZ6pWcf6BKXI3ez^X>2%qO^JV$(&ab_LR{D}Dw z^BJDIp20lrIS}`O-4||+9m-R_`hK9F4gvm%{eHKp9{8`oqWJ9wxa&8^FUK?EIln99 z`6cfQ`kn5g^cVBU>$Dg7bMcewaMu@}`*0jI|Ka%P_XUn3-#ml+#uq4e-)j&0#^LvL z*x`E|6+1jX=efGSDSru!g`BuNmo@my_i7^Y@1oyz{UrFkAL06bA9f^1PD0>0$_Js( z_xIC4pYiWg=#3MMe-FU#y8kZk{bZo>T0*D&wkIF$^nDr!pZ%l~?WzL2LVW}9M)<>g z^>Fmu4*aA(_3y=hF@eU>d%$A>+u@Iz=zACWeiu9~^;>|&u+MdNQs}*J<@$FJ@;tY; z4t~!;EC4qj;{K0uy6ffowDUA@BhY<_zla-+FI^`VK)!Lp8QS|D_8Lc|=lQhY`F{+b z@9)>p{{XaJdf)%*_{I7i=(ApV)=O{x-u(f`PuJPzDZNi>oa6iK_+T7i+~E1tZ}3+G zU>e%@1NaDF5z5W`I*!VJhxYp&V)?`TqIpH*2-oMX%RTq#`rP(h!e7m>V-fyz{ZSSD zu0KYC--50Zcx_-y%;a|!p!~YMs zan^J2>&UgKB%u4x-b-va3Md64bYyIzWiAI?$!J}w_wqdb z-lp;+BTxDLz}=@Z?`NFvI3&OJ$ge!lk9>!HX^`uCkrq46|BZmo{NFzCqwt*px{p?k zerY`F`p|Ww@sIJ2@sIaXy>DQ-dD;Z%@tm{ynMBxg06&K78`m}NZ~C3Bw|I{3!@3_* ziS}0pHU-Y3f0&nEM>~zjZMXRo&jDnGe=YiyUnP*QKG*lI>toSA^TY)>pJrZaCVp9o zJl9>-(YKa<+Zx>UtLs(QuYNZnBB0xe{(C{Wd~MM${|ERbF?#pH|2gIQxe(=kKf(O2 z^X@_T&BuDLT>t0~{ga9IC+5A+40N563p@h3zE7S5^81ueXs7!W(P-Zr%BN%Z1mrxW zU%UXuKu>S@z5+G^+8-TZRhn|Y-(~*Ke4l#F2YDXR^NH?nuSb71*aHQA~Sw5UpN5Vc1f=soC`MuFu@x2+ySzrX4AO3-FWs#eNs42ld)<4La@X4Bi|&<=;-Za^1Hz{;y0w@;s&e z!hNcHwEtt;9R>L_vF8!(en5F8{Otd?-+|8ma#sX5Pi20pGJNiPDktRk|JGr>eCDOU z!QLOSZw2;w56SbW9jW&_kj@XzpB<<-Ki-!2pc(SR_jM`to)a?OnTwyb$2h?G-#Ewn zUti*U|aOp$uUjdI{Yt;2EB?(DDkjUwZ4yQ*OQV`q}Z_ zaos%9Ec~FKjQ{jcP2}32Y@hr5jp@((f#yd&H*fp2Q@eho-5=1-6~N@cJoLZf=r?a$ z7yJd#ILLf-R?6$*$Ia;RoNsgLcTq0C`#^6~?|RSgZzuIVp+EWk?XBoBFVGm=d_hM@@B(j_3lt@t=07Uwd+5 zul3^An{UViT?OR2Uw94uuA}6$UGjede{b5i1-@0hSMFC8r+hAY96!Q(??+146~3Lw z?*#ux;2o*=IcEf~$#XJ)VZOq7Xf$@akLdS~+|P8Mu^jrs{i_D(nMOO!vzj+u%=53p zdz=B72flRRVO(1UyDP!(zMA*Zo=`pm`!kGu~qE}eXq`@UH&Uo6^ZekV1!>kjvQy5QGv|HeGwRmQDk z`1d~eC!BwZ4fOjB{%=dWj^hW%3GMXxiCZsyX6&lZbMbsv4a&pz*)G@p=0D6|xy~~W z;<(ozd7h7V9DJMdc|4!_K>bjXcKIKiTF_sCEp-V;=px=FE^=r=w_#>cm zes;c|&G>Z^`DcKafyODuEsyb&@l0Om>>qET&wkRB_w^cdZ^6F+*bsW}-Sh>YM7{T0 z=kYwA<3IB&zacjt^%3wbq`k%m#si*1jYhk@-|z)|^^oWH3XWjE|06LEY5sW+_L`@* zJUeo%7q>ne^{!_}flme6zUcOJetHyo*B7ogUQ_RW$4Thoptmh}Q}icCUmMB`@SLgvYXI+2?>Qgi zc-JrHpDj0@|DE<(?|Jsj$eTyK?^_|td(hs`u(Jr|ldyL(&^(~e)&0fQ$bALhOW+y& zW1L+cIS(jz95A13p4q&!?}hzE{q`g05$6^2bk3&(u*-G2>vQitXt(x858APv=P?Mo zFVHUUVR;VR`;dd7%fNf={Pl|d;5-%^x#p8%z_$kZNx;pUYyi(seLU>U0`&VRop_G- zp?CcA`=D9i--rL}1BU}I!S^LF5A+|SXA|Z7!5h*}<%Im+LsPzT?KiFHZ;P?}59E74 z-+t@)jLy_ALVx&wx@nZBfX+B)IqmR!D4C%1{|)(|KLT|8><@k%_!z!p;1!WOk#-CQ zFAbc4f0hFM9-ikcLjUSl*U83DVLx|&q%C^?!XEdn{N91*55{13DeRg_e>}u4_o-apzZlLd51Ms)8V+DG9Am99+<>KW6x=!$q2YyKX z0C4Yz#s>F%zjD@;&(7yo}#Bs!M-%f7m>93flJ`c76uFn(^Q& za-GLK=N2D5o`)NP{|>=#KG-~OH{__d8~V(Dd%yo2elZ^&9eLL%*M9f6-5-!%I{D1c zTW?;f3HF5fsjslh`Fu9|=Kv?rKV8?kZg$8U{^cvWI*Gs8uYt0 zK=+S~OD|Bq0KRbl;ym_6rrpMmFX5Aa5O(}m51(|_kHK#~NAs&bzwhYB?t@K3j^EAM zLO(nKOhx?;@PxFZ59OY7b)CEr{l3TUKl=Wfe>UH2{@HxB=Mc4{Eqb&=sC^r;$9+-P zKaPjSk;Xk?{<$LZ^^b9yah&U;<@n$DAOU*aZ!unYMn9`zzu`GvM^C!|m#!`J_8?mEeHJ3rt8({aW1=v3?vzc1(b5EZ*T9~k~0r@8r8 z^xfe(dj8t;f_JH3jz2bF|18QqAJ~}onm=g-Zk(DDe)9@>;U9pV#?2Qg--e!~@O1_^ zzB>V3L)wuVxC#2X)a!rO3;N&Z@g8)kkncUeRFr#u$??;^MK>Od4?7A_YdGd1WW;6W}x|r zkHJ>~&0`q{d7f(z_F8X#%6!&J_}@lf1z;xN1=<-0f0-vRf9N{040;j)mqGsmKgLDR zCzR{&F0|XckncrG=zQ+3Tb$Qjr*uHy4PXWA?TY=;kmGr%7~o^5uS@?;489+j2{{+B zzcX~jsrUO`53v6|=m%qm=S5uCn4j}~a(&}>S-yeaa}MLt~ z{NaAnS>*OXj{8zMkUt0*llnnG&tJ}f-||%88PID#2%o?G`~mba(PO_h9(O!-e2tI& z=AX?s+wa^jor#~lXKg&84^loHfAqwzTa*t4cbyil z&zwImG7dS9dQP=9<%RI$GUP6&+&DSh2l^Gg2Y{8}i;0}d;0bAmv(vwfw~WV(!~Vc8ZP1q&yccj2{Ck1*vCr?VTkm*az4X?%gU@>DtyiA)(tAJa zI{Zt3qiL_}`A+mBzt`dYhd;3UIq)3qybkXC-_#9eUbWj@|nx--tZ( zOAi!z^2F<4{jc(JbGLge**6KreDJ6 z=RG0i*TwJZaXfNg!aTrN_~SJ8#6aIc__xqb&-3gCA4R?Ad;GqF_Zf#%zl8Rghr5iw z9XDOi8i%+);Jj=*w08jdZHMhLAF5qD(QkfK`?XiP9njUG{h7e$;)e~`zlZv-!OsIX zLqC~z9f0lyye(jfDJG9IF{FTsu z4Xgpohu;SR7g4UAula6RYVL`J_r;9cjsL?uNg3>22>c5_dfp-ddWQn_Q!nUUN2ldE zc&}+CesP}70=@IwNO1EyuBYEZzvrRtzn;%F4zNFa4ng~EkM^tIJd$>(zajmpHF`bQ z+Jy3El>Z3ahySJDOgr*ZUkF$bDBa)mxAf45a@1$NcDOGx5_zu2(qV_|BhL@JPO8rH zngyTnrSebFzUVwR_gj=7pYn_F8_#FNe!p+>iu&fX&;5_p(51kRSk(6h#(>ZKgZpuf z;B$T9`Q0<{`Cj_odT+(^snhYx+niS&Lp#)Cp2P148UN}h{i46DH$Jvr`c}yA0ql$Y zUBK;km+*Jk|CFO#pU=0@PomwP^Vo#n7N94B`hK)~59LSTcbxZpUYNgZfSo;oS&`Ec z`~dJMa2fKifJXquUElsqxp_zP%HP9p{?UCq*X>i$?{`~bAg2#}AJG2cz)?WYcX==3 z3jNOg+&<7bK098UKiG%AoHv(&d+yzJspsEaPu;}cG}!k8e0M1KJ$K$!j^mj3*(32B zT@O7(j{mREkNko_&k2^JT?r|#47`9m_uZ1=$28bwT-E?O`Q`hXa=#C89X;k%d~Wff zlTZEf8^0Q_KH|A}-e3Dee&sqJ3`I{i+UI>m`+HaHbN%4{pyR*mKi@y+9rxkPyL3X1 z`4{&!o8dRtqnq)k`NfXZdv0R|a>UEhZs|6I8>gF3dKbQXK);`ngmxQm8DAyGj=lJ& z0CYRye?z(Fdk)dBc0-pDyCZ=AQok4c2y(=wlP@;QTg1&{w8%eq2S#HXg zqu23GxsDg*kmERFz2%=pj~8R+`&L)z^+$Mv9j zfG|H`o}m!(Hvk_aXDzsShw%GQ<^__`-W2SYeu!Psz}>IuiM&r}ug^_=ejlwGemH|1 z|1a+TOBw7d1xy311ATFz`_b}CFaIv=);{ggKKsvVe=ak_DPBA%=JD96BGpl2rXvSQb_taD~*H}tNj(?kCZ==uJE`0GRDbOLu@ z-Tu-Fx!=K`miNXy>w0kW!M4-5&A7|>&A5Cn?THTDj-CV9?>QLvJ$j+vdFCAUE`#ql z_*B|+7P;>M-4D!&{C4o|0=5N?rayS!ye<4AD9=iJe*q?;-h7?q-Kn34zHQ)s-{~Ff z9S?sz@Wa@j6MI}YPoe#rkh2Cj4*r3_;^<2b^uF0D@OjAbzg|D0&wDi9BQ|gAc@)1# z5bi(EfZu+lo=|@a^m|Uve%u0ke9rdEZM4V!`8IlH;FtXHb%4(Pafo{3lqS%5E=&FP zFZb8HA7TI6&hvN=z4kZr%Z?|GFQw5F=0A+LjkA^W1o@5^H^Gg=jnC^L*Y8iJ;kkbd zv_JF<`a#$~8p=m|l&@XtIgUQp)A6AgG@!HzCK?_nCh7}t0nDFVJc(5C|W{RZR0%Ji4ajO)g|;r(IvBTGVm0(%RC z-vs6Zs_%2~?fA+4UGE9l|LvFB-7v8GB<=CL4b9QN1Gz___kN1=Nfzq;pPS|8gUk~)+C$5+qY%)y>)$e9A}_u&^K$9Tu@mg+D4_fg=#>d1+UJ>MgzJ>{N5 zD@?s~VSOg}te0N-)+=ASwdl!-{2sI~7kC_S^RBL|YtjzS6`L1(f*qcBHh*C}Vw_^W z$voN{p1*lK<-ax#K<<3-hS+x=`#-|YvcSX88}AtZ#HHT#hvx#6Bi{q$MqpPh+B*>F zIcd+$e}UZCz?Rr|7dguFo|gBs`a-u9zHgE5{Ngy}eC_;MRewOQoyEXY0LL*8O#-I0 z{oq@$&*wb?x%(-1d~qCed~y5=|Lb)E{_a56rCE_@z4`hKl)KJY3ZL}Gg(G?HMX=xa zFc$524c{Z6_sNSe&lCk3#~at!exIZ5PsMYwUVm6GeR%%XbGM0EKT3C-c7B4~8{qn3 z6YbJJ<^!A;{O@Zu+UGpFf%boeT<>FUr91)jp1X8??{|^3Q(QXv)+6^G{vV4x`&%u_ zFHs(z4}3*Gd<}G5>Ia|eR@bra=eT}N!u#jCEHiRkpN+&m=dnZh(Rj){t@XFiE1&0D z)AKw&pdIG3l2dNIqI>vR)MC^0Dvlo8H7xyn5XY5~&!{PXwn&+4fI1#;h!P_Cf zJFpb(-;5oe)3yIpqW%-w>Gws#^E<9L7vcZKz)0vX0PcOr-N?H{z4vPM`y>3W|9wt= zZ_#z&6zE(BI{rJ}JO116`qG}6w6_`fL10qs91L{d@(=8_Ufg=;ANL=f|D?0tIHEOn z8)pmX1{OCCBIUvXBpQOi*5MWFTOZ}MYb zP2_ss+xgvj_Xzw)vD@<-w<+&Ix!+6i`+#YgKk`85`rP(AF6sx{-vN2X*S-(N*YZ1_ zDo6gp==1#QMdY0ZCctlw)5>%HcV6v{Uz}glfuE(HI4_#tGGE~T;TuEm`I>~}!JgCa zXJO~>z&qHrk8x=q_yg)sQeJ>|cz(zAitCiPJpYuy{>ZUke2hHDMfU}atK^r@{v-cv z+O-3@A0h88pm~re(0RVB4E3MEHxPU$a1d}R{#^ru z6?PgonJ2rC9{W#e=)Ip~f3jZOdi$CBj-q#cpx^St*b&yh!4Bg9=YPMa>3(@E=xkRT z@RYz9*zb2lf1^AOel!o@y1z2dQ~xPf`;>3|J{Wn%@2|myh0$+)6xtisr+`j*{(pM~ z@7n<6{tTWFJ3YtyjQT#5`(4a&;91Z+1U;Uwc79X8cG*7Zw99(e0j>+yqTls`-$jZ| zfA3Ab@nBxwPvc$lhsUA&7kiD9I)e{~&wN@E=%e#II|0q3cSe7hXFtLDukQFGJ95^+ zZ~or(ND}m$w|@t^8o(;Zse~N;q~Co0_6P4_xSn@?KL&fXe;D%pzO(xT>9A)H`W&C^ zpFVfLgYpjjU@33|e)OEm0ql>U{A=*y$bSL!+~8B*XV1lX-nj^LkC0&^4rUOZ@0QkKdPef7d+cRP=iP<5TdK_{sCDeiuM``Q0aWAI^OBPqa&Z;}rSj zdx+igdw$vZ`Z99#gZ68$@?2LQMBZ@hp9=g3=>MO*=U{ui=iqsVWzZ)=|5EUE^rJt) zTjH;U=v_{^{N8iTgdFo86?s19NBmy2-_huRoG!q+=<%G1=P2a&{6t;oJ)a#Fz0WCM z!}~dsa?cG{#{NN+4+4(~?)|!Uya#K5pF;ONxb`n)zSI6$_-#GqJAu=%>u2P+4s>1U zI8oJc3wxGAZ$EE>KPytc8Tr1a7vVe1ImwgY?eOcD_~m2Tu^xCAy2RkN<9Eu>VE-zh z`$n^=_g=sS`0cOuU-ud8zh|+-aqtQ4$qxKq(mkbJemCeL`iw7)6OThDzxH&6UU|-+ zOYrwm_?$nBLf@NmQ6tT)~F^4v~T_)7un(l0B3>$e2pzOVi_+jWiW)3(q# z{~t%*IiT@xO6dNfUAgIBlYk!so6?R2&`+oQJIYT4@ssaI1m&T8$20Y4pY~{<@wxYV zN}x9?e)j&%d2r)<<;d@P<{S7sK;Mh@timt;$0Hi$-FT1v57tuneeWOQH`}5AJddaU zMxoF1wa+rGr(A!TS9TvlKkL`3*x^2i`I;@17oc6juzmt`j_Xl*f6UvM&&hxv-ET6_ z=6Q#b=rMn!9_72f^L=rBXB=(ZZ+^r53G*ECyAE}os65;6d~f@;Lw@rNi|KdHpXP&( z(avw_2aD*p>T_I64xRdyAFdCKhm7-$`{lDep1+*Jcx!&vylr3fX`l8Uq5N0I{Rp7> zx5_-vqCj!$CsXeCjnC1Ke*^k`4cX!y;25baTaC-io~?tAbXH^?u&_Um82JL^35oOaGfujhY!PRfzr zdi`U)^ybMur)vKEOYHUB}(8|lwmfabN#do`vXR|7`ik2c_Wcz-?DVVV*=0O2ge)V zf5#*53mfmdKkxd{`;&E%vm3cZfsL^8^1M3&_zn(*i2cP@-aluan>*p)r5kTiL z<9OHC#wp%!c!__#*VX|4xxV&%gzM}^)K{Wif55+n_Fe(ke$O9hzvmCkW9BE`b^iDN zK^$jtGvA9D_^&+t>9PA7cHaR13_9Dr0{X-C#dPfPe%f5@-vn$=z3Wo#(;n^foQr;Sf7^2T4kOR= zFP_smLU{q~oR8n!KXm`f^PNTUOEF+R#+Aw7j^E+>#qZO3j-)O6+;7&O+NoXITL{0{ zFT?(7eyJCB7*`r+hWopJ(C%%X4{!+{Zxo2m0d&_YKU)n4eh}<^LX}`5EIX&y)OseV%i6zrg(i&sQ{uZXx!} z!4Jkao*O8IeN}*t^S(#6-*!Jkp6&N}yo-FFlh4ig!si?V|D}RHGEll`LA`N&N%WeZ zuR{AgzuajOXqAX#bYp`X0#j zyu}6VGtcS1Za3)MC+$SL%TfLv>+kv4l@I&}?3e|NMEzKB>%;TM(px@+@l1Z}l_PHb z3gjonzS;Qs1no19H7~Fix-dUroNnBn0scp{-}7z8_nt2qi9YWwTkp9O`5dPlx1@8N zyG6UTL%p7B@w?OhC%H5BnQuNqKQmr4elso>8V`HE)Oc0C^0dc#`E0Ltd9F-<#lwEj z5t<)2Uw#UE%{z{wfB2obE$HpV^DGX%`#a_%wbyoNpY0cyPQH@Z=lNpK{WL&NxWD%+ z&)t1K-^-NP>HGOPctiS?^L;1q_{d*LyS4#6caQ*n-{;!+r51D_g8N=OekVe16X=Q| zCkOC6^}g@sqfb!p`(d8{JaNaLK-VYPkuw}S#sg;pYaq|~U@Z9i@I3_Pz#skLD+}Et zpyNz9{_KW66?DeIBapih==$v*bjyIw6XE=(oz8QPclz6NB0de1cq^vaRn@2UX8NN0b|i+=f1WA{DUWnOIx?G5i={|UYKun!_{4bSHa z^{zMk4ona19ROV`@PCOfj!^D6I|VtvQ}6zy`>B6pulHiS$LReI0{&rbTI=M1)kN2OiEX@}3oY~mZ0^D-P!EpRjPpIE> z3Cih*yf4r{1bilb`w5r~I11=qyV1pQSzv_1dRBRcW90S}$&WGVIg8 z;?l`yUi@F$rGGsS>wS|r_}hGWbnM89o?^h?k@Fe2`6%;7=AY~@uBUwO4)L6QU*nK> zHJ|ABN6a%y7xMd_|Hb(KE%vSjABvyNyBJ>@ZcLUDfrDVxL@S_+KB$p9=dP99jCH^`<;U>*!4boKgC|-T=!SP_}BB(#=)7f z?-FvNA;-MxBy>bS(mdf) z^ftxr{>Y65uKe$@NBQcLuNHjrkB5IG?S0C)zfZZyi@|d-UnRYHt(EkXImp=rpZPZP zLCW`>^)2*y4%&OP_Cx#MGvrplF5||dv}Y;$-2eX@fBgVoL2&o+yCbI*<-(B8?;_aW z;-Js|^%C6gT6kZp1?Aow?@K%DVWr}g$P`KHo7&q>6>UgKuZzx;z;i;=s9_T>imJ4H9ZrvR0&Jmr6e z-gdOJ27YM;-WI$rbeVzsDfeDQZOTVuUq|$=pdIeJdk(KZag+C>Jzv%zde=Sk!C$f7 z>Cby^++`f*x;4yyxej)IcRsh=_3}0BcHT*k{mx6C!#P7ct3m%5`%VK-0%K6`e50Ol z9&~+fKM4DW{pddS7+3k;{enHpHLh}gHDBxc+&q)_$BawNd$q-G*9$Gcv!Z7S@Dt!s z+G}3m8qX&>_C5i({1Le4ZeD|j_e0vN zIEHpACpU5m0=2{Zw)yP$;q(0AVCc=$xQ;bXQ-gLd0*3ed)xVhjpdIRWA2bT}?vI*( zf0y=n4&44`|1vKc4}SBO#?$&=JB&-*zw~^P=Wip}CpZB#@AD7xyW$_;JL4)*-Xu1mbXWPZi_N3O3u zzc(1U_G|47?Ke*q)?0oXIis*+1uzTc-up~Pd0OBX_|rU`{{JiRzk2i0KQi*%B7pAK zk0yR~9i9pOGm$q7ea3g@9eN?B6?9XPW1i5wq2q5H`jPF=k6o+bZwzjn=DBgtZMe?% zT%POkP`+{<-(BCko_Brk_p2TdkN7<853XB1kKp-)armPs_L{$Ud@qRqF3>KYgYDN| z?JIy^N&+X~*9zdS2hCrY&oFzHu;a-Dwg9O(Xv`!2^Q_q^gA z@ZW*n!~B1A-BlPsMbYqakWi#k2?^;Gq@)A{5y_V>>FyS3qy*{i?rx;J8w3<-5eW$? z0jcli|Ks9(k5}{T?(EF$Y|YNjo^xg6k$>V_e?@x2$Nj(hAb!g6aZhk#c4sn@} zCeI4Vf$rn+AMOwKji=HxyUYH(a(WfFCmz;%d3W;g8xPCX)4%%1|K0SDI6&VwJurFQ z7x5eUe)g<`?`U6?{Jx*zy}~x>!Fk?(<^Iig70;?2($B=-y`uB8_ae^G&d=|c{Kj)g%#uT%izNCV~4rt!v|gb)~X$=2JO4{;~nBZV)SnfP8rnx zA$@$;t^O{-8I#|82==jgU>`NV;f;`fMht$Xzmr28_VShMNBrq;{rK~XU00f2cXagF zdrL%bm-4rc?-r%sNN?~qu6(D;Uus@Cckf^N)!?-0W!@ma`eoIhBKg?U=088+XUR81 z_z#dbIE>G_Cwl%jp^;jJJ;yGhyZ0$Wce$NL_$u4s)vrmcJu-}2o`G4(q{Ji!j`_(UMmwnHDAv^ok z_*);W3;g8P2k{5v)gR&y#3O*SRepBuo4vIB#Y+FA@u&Q+=|{hfS^4wjTmP4=zIAN9 z(!=7CY|9>a*|I>vLpZ{VqQ2 zALESu=p7dOl0E61_=D&;Kf?F@$>IINI*s3iZ7-eEf9p zSO1puabxvQEdSinBPPf9g5LL!TYByE_EPvel|CxyJ61oee6Qg7)jvDEcxU`v{GUoL z@Z;(!cg{Sw`tan#M}JtZ-s$n-_t*Y!;x|k1pUHJd@X6}AKm1GiM>YQ4lg(W_mkRRt ziFe^Y{4jd#uEXNXe*RwcM-Luc`Ksyprt&Wihm7|E=#p92B3| zg7iZl_^N+b|y&CI~jlSj8{A6 z43Y=`b<1BSy6iLd-bL+`w*@Ck|K77qUpu}CdY?Le^xm$Y{eOA0^4~9?UJosw9rarJ z-L?El)6XHLXHP%BPW}sn`hFpK@}*V`sVVaQ~sced+%6U?2Y=J&K#( zvvGb_?LWHouHo6IhxZk}yR~?JEdRyh_dBirzcuK)7ds};&FN|7ptwqUv;J8hf06#Q zXZQ5@+w%Ew*b(lL-80V^-l#!-Rp$VH7k<}a`_W~e7{{}vw`GII`NQ$yPZVGDcKPPn zaQ>~4zPw+#t9X6ySG;HWcl~r=d}j^bmww&1_&)}_c=PyQTm74YN7UcW{o;#PjUGPe zy9e8(`s_*X&HP`-_eY%{Z%EEh>%V8>`*`i%rnGfrxV~CvK8`OvYCk#Y2i~w;9P=pY zga7Q;$@kaj-&%TjAN5%Bzni?`<0dZsS#*D2{k@|%Z~F9p`@Wyve2>RDd9U~$nq2E7=TBQ#hTkvyL*-Xj&wO{zckZ`t zuNIw|s&{&F89&4Lc>UtLp}rUDKj5R*PVe{O4a@INPp<^usQvnD)8v>b$iK8%Y2(j$ zGyZOi4*QLt=#ARPo)bsTfAm@Uf=_;OuUEPD@o({Wu`Btr+|!U_Xg|)CJU0c|ZL=mn zdw=@UH`f2`IsYg4sCb`^%#YSn-}n4m^rsAZ?{jeYm!;2_PS+d(k^A_ie`Y+R4Yh9M<<8Y41;*6ON0YbAmXC zX&Qgi1%DKt_+IyL;(NvW9-Ur{TYhHamp_u-KUMhtuWsBA{n++@`O^H`_|2DI*^lhT zUCUp&c6b-#9#x#4chJ7yJ3;v0bRPV3`ruE;_pS1;kB@i&aRNJ)|HJ5g862(ob4KZX z8b?11|BB#Z!4vCe^}nj#Ny+Cu<4Wa=Pro|4-i?Tt{8{>+Bk2EC@U`E2r#IrG{JqlZ z;Xf=_Z}@(Hw&c7n`NXM-)6p-+<#*Hbq(S}Yo%w{(IW)QtreA(C=OgE#W5X9WxpI2m za8M6j<5Pd@f8%nC`10GiKl^)heMk2{>CJa{cdPvT`e8x+61|g?)BB{wN;|i(qrF3f zr<~pGo@$l&xyM?jG`m8+`>oO9_mkim;ah+HkiO;#`VY)g$^TCE773mfysPpft2b6@ z@d0C$el+}*;=5n^ao_gy@*fNT@!)jfS*OJj4daXc7XC+#tBc|%f9cBYKWDY?tRMX= z!k?seunU)|oPD@M_5KpHKE6{LzXPLlY<%&*BtBEMkBk_e|6&i{U-FZPTeIIBP`%I7 zoBhZ-WBs|aa_bWPt)E=vBliidPp3A%^{;nn+m+8=IXV0t%bzK_!}yVZ zOmBOn=QZj-@rdqMwkrSpp!<|rqQ`H_|HJRNN_00(u2It4?(w}hxMy_UOJB~L;xwkI z-k+jJj+v`>U2?4x9=k!@<2~U`kiKRP?w4G%mOekcC(B`G? zj=pkq;EBVwPVXPzZ<2@J*iYNW@9Cg;8Syh~)}B>^ch{b!OMetxCdfaqbLqWm2Y)p%N z$?v@m|AKfX=Q8$$bJ_UG&oAhlzhU{_4?FkIQoeKlXYt*)ai%}ks2vxjXa7&Qp?v28 z=beYcyCXP5d`?O4;-t_w4vdTC(}(ye`@eXDi=yMcQ~UtGt@oK@#s8l8Z&2F(DLU$* z_jKn9b_~1apXICX{&kk*Mep7Ef4uVfiM}r1I$~Y1-mH_HGuA%uZ|6_X-T|?jo(*4o zpg3ptmhUHB7hnHGh_@tNV+0(~~%G-w8Oi{8Os;*V-*k;my+G3SJNYvgBW;dQX?O&)-s7 z{!F!RC*U}SHABf4dbJ)i_VMDUA1~+ zCf~1ulLgrU{NamMf8F?yb9jFsPR6>(Pv{=V`Z#@j#*8li)-RJw|34Vs4)HZVd|%By z)<%`T-Z&S>JdAJl-E{kubD{Oces*GXZVWnyIe%@MTwA5j-^Bm_g6{G7k@<}`te$aT zd~De`{?+aOC(}_iw1Z=hff*JJS#3#Q&$!C8u_gQ#m>LCB?@c6CeJ`IZFR0xjqg4 zH|YJt0j1q9jh-C*WY#h37XO-e21B~|@^`tv^uFYzH8x!yn!s>yMvD@7wcvbpIXSeQJmI&y$AFF7f_Z z+}g3|nI{BGU>IPX6bo_J~ZM)pzbrE`M*yS#eNzwe~45n6ZLGY;<; z#jjmeeeLue<>RYwz2|@XLHHN9FL*~M|E>7X9W*X(ENy&j7M;z5?!hjuAACQ<{17*? zR`_2v?zCel|MlUG8DHl|bSI9_8_{vDTDpAo;j3@ng38JH{rC;<2i#wg|zy>KoVm z$MEo_Kl=Y+a?;~^$uW$B+O_4znpR$L2 z7gf3Uz{=qd_Ns;69f#sR)@G;{bb2i*_bFRT;8_2KmT^`Y8NKkT3_?j(Gy>LW#eky=)2EbsrJklT&{Zh*}cE_U5mu$ z?C_qef7lU2`+;BSjoQDO_LiQv_G}T{I(S_4o%ipH5C1#A{80baW#^lnYd623`fDf0 zdCBqf`28?FxUYDk@=Ma|NTun2iqbb$@9^Mu<-5Q8xbzLtaep^{a?DfvmMFcXai6~3 zlUuj=zxZwcocz}PAH;8};D3|L`tu<9vM(MCP89#UOP>_p$wBY177P!ZBl^m{+j1^D zsD527ItP^gZT<6p`Hz&oC;A81uIr*N&S|yM=nUy!oSy%c9={Vmb|t%JjrdL${@(E$ zy?p=Q*tzsR$>qED_zd|QFIy((OVQ;A5blv%XCl z{XeGX=aS35wOr-w?j_RS^1;1pzxC{!>Z5D@d^!5+jS$^ggX&LF`ji2h6Ap>O?0 zA3ycQf4@+@1)}@o(&AgDN?!k+80rOm{5Gr~hH=*0lwg%RjgDZl&=R z=Y3P-?~9;#dj5FpD1ZIi@n0yq|BUW5<$qrO@VsEXJFRl|IlJ8cYQNn&dWT2fyOa&< zC;3~2H!Sy`2J6ZF)qAS-W!c($RdCJ9uZ*60PlW$Oa;wij&ENfO<>NG7&utw3qI~0U z-RS>0x(k;6LwL^N+NoXk5A9X%{f=_@t0#wew7aA4-Qv-eUliOuIW8y-`p+1CmsT#l zTlL6+zjFNuPx(02`+j;K-d`zqepC*B=x<^FIBy-AevfYa>|FcVpFc0{{jqiOR^uc2 z+~ZylKL6`t>0u=D$LG<~n+4gMuSSnOdSvu&4ezhfJEZY=OZe<~`=@WP0e_Z<3 z(&!B9^NTMV-bRD|S*!dL>X)sWkG~G@+Vb^}^MQVvx$;?pvj*>pu5$Z^^4Y?(zuV94 z@7Km({+Qtp%YDE5SMmEWcxwH*TJ?4evftMWZ`$%t4B!3A^6}?~<(K_Y_MZQ2|FZsB zG#I zJt*HRIzMT?@K+sDzV-Zw`0i4^^>~x??R|-NCG0JDKyAe`@u`y$sL6d!`q3@!78W=x<&6?Bo{LWWBae>{YoqrmIWSC%--a z*<Wu9?}9#?+>e!>Ejhgde>ZvX7ylyO#raA9O;&yN7K-nJ(XqZg9$)L4bJN%5 z)5Ea+}GMm_k_=WCLjLz(%)_M z(Gsm&NYKG zC7<^NzCY_bW&98;C%^ac;$+2FeK$QA2k8GK`uHpq9(#j5a(Z}ASN>+u`Td2`r`A9G zC$l$>t}7pZ{P1_qb1t5&dZWg7#-R5V?9AoMA0;Rb$bHWWjf;&dKO?~vRCyc*1;=je;`v~XGPvdu2_18@={=0d5X?_C! z0pIDqs(xX|uv^Iac=Vmmv_t!(;i)%bdU79gWqc+mfB1b&?`d|dotKBlzp`v{yij{U z`4dJT{x<33!Jz;1*?-&{I_IAe{V#*=SG^N`vwU$4YbMA2?H4;G_Z;o3|7qkVs`9{<=de&2jNAUVd0?{|XdB-dYp?6;#TXAewJdcWvQ6#mBX zU$t>NOL8Alx$j$SU%efJXElD#Y2Cvgza!!&UfwY{>F1H~7LLB}G`qi{fBMjV|B)EV zM{etn`TBA6&Fdf6Pww$usEJ@y-NvyT^zk9%47ybD*){qEoDXYZ3Y z?Ool>@ljvBTcfM~smXsx@a4+I#nXfSV&DHDIgW`xJ7L`T+TWcI^t<}#(!Vr3_1tgl zs-J`J$A5(6KC|?ZLHjc}d3Z-uK2hoaMOPf{rs44y@q_ML{=q@#XXj$)X7%B#zh(7i zNFMQ{8>hd6>Idyyvi#+O*56l3 z9~XaqOZ{g)i7R90!Bg(LcHW7zAM6jt1$^Vs_(PW+%5H?O9mDoL)_V7o^sGJh{c+0w zb?rQ?aZV2>riWqs@HMWVsGnaA+W#(3Z|r#OpSAqQ;_v+99Q9W6I1h;z7eD@L@rZ8) zhwazy$?M-ef_nxhivABudk^<+`r19Y-Yadqi!0-A;y;?Y_FPuITY~Pv#)-~o;VJ)H z`M0MxemH)wN6NQPzgK#v=!{hV(5vx8zsA|()mu3@SM6V^^kT_-eCy8Z!B>*cck+EN zgI{2&^k?4j2bzByRla`kn&=sC-ao7|;DRM( zyWcZ?x;GofAJ7ATn)p+4-k$uM#@{*IxqR37xhFid^kzZ&#|K^fUW+b!*1EZL`Rfnp zqs#BgK1N49^nQ_k77nf$-H}WGG5zdR{_(-D>R0qHN)Gh#dnr8Y&S=p!9=u=sPW7G7 zpD68Iqkr|Q_vQHDOF!hb=hyJGeN3~x1?}GcqepMB{7w55V^L2^ZaYcOG53+OaF5i8jID}z*!qMSbS3ZdTcC~Nh)|W}c z9>OK1m6zM5qv57uLj|tU%M8JzPRxblJ|k&6u~>gnjlQ4Sw{X?W`GTfH%o=f(K4 zgT=42SFWghsqlYVKcS=EUFG|(w)*I?hYnBQ=SPnpXwT%jGWcNS{3YU84{n_}JAMl! zpZ{Wj^3{hwU3z!!x6b@1I{q6sydQFJ%B(jPJe4?|a!dhwojW z??$bbJO`%-cHBbc^P`C45x?Ue*}UGd`Uh4|{E>L0vzxc#k=!5IXY4EPbtbDFvjyLc z?hUoWzCBX?xLWYA%GZtG3hCjP^z?(u--__&Ej^NIMgO``Kqbok8= zjt}`}tbDHIxH#y080`MvCAV|ZZ`12&!84L?)cBfr=BN4hXn6e6-fxYOT>hi-LUK(W zzIxv)AD(){a%tt?i@yEvn&>_oy(uccx%>%g*Er?#p48-?pxms|DoV1!T%N4y=eab z?P|x$!HpV6%a?vQJ?&fmW~E=PpNIAXyJ5xfSIVAY_pO{<>_O$y%Gr_pl>C?H#+RRc zx%BNm&Hb9VypLM9R<7QuLH;=W=1i^yY9IbrriWRACsjUW>4{o@+z);foi&2$d(UG1 zI;Q#uCZF@jZ>o1(`4`8}I^Z3idocb*enkF7{zK#L=Yw%+yxOnqUrWc&{>A@epOepT zq1^p1dhnNx-tmnGDbZ-R!^L>IO|C(7hnBNcq25fW~sfeH15}}{G-Z$Qrh~sRP=T)pTBg*(jTUW zBa-*9;0=|pSN;3K>=^v!M;&*9z8BH@d_FfRBveionk zg6xI|)3wt z`-$}NTK%$UP<$?X{FmjEpPb~fj{G}%!~Na9PagUl&aY*wzeerihrK%acTJ8hON*1) zvi5G6p3YCd;=d1z?nBkPur$9ezwg7<^S^HNd{5$>=FOEs-$l8-G{~%-*suFARd#@cEAJXCtWA#5D>3!UAedgb=PJfvn z-haNfjQ^C~(=Afm;5zB!!sOh#{D+dqJUOQFm+S8ntLGf)+$c_+UdE5_mqGUVuzmcz z+WD{O&l%ragYMCdBjeQmO0WE^8#K<|4PGBaA3gNl*FRnR&#ArV#s96+{C)Ezr}tog zuAS(khyHi6D<%lf``}R4IVk_6@ZdjCdz>@f&pKaP|HrPLePFEGi~iA-qmLiEaJW8LH*RYj?_U4>DtWdq zEpCw?f!~1ra!vieT=1&&Jbm&x*B%@_a(v6bapwMEl=$CNd!DJ>_}r%a4Wn-!inG6< z`dhRfJ(N7w%>^oF-_Bdw_Y(db-6w;_k?~^u99z9{YS$#eEy|y+^nU%%ak=F2-OX=m z$DF~rsz*L?iuikHPY(R~_xSV7yVIh}5AQy9xZXN1y3cpt^NZTgZdh3-_7)Rrpyit&{%8`$Y7X zkKSeJVdCTvzw(dDUkj37yvLaE+kdxDUzgBZ<=X{s47&HZr8K+UyT3fK(wgG!5Ay(fOZq@VEU^Pi>pbFD+pH_p4WMfcR&d4BMa;GZg=DY-sR zkM9S)e{(MNe$+kJk=1*${+=g!XGp#;O5309hwLi*rgt9V=3kEP%)w)$cW3G6gGU9~ zMfNG{vvu*-@Wc&U|M2+~-Q=A#y*yw4Uz$FC5}tM#U*4l#Q2A2THx9=s|F6MY)7J*I z%lPvy#rV54{Qo4^uBCSiep>z~$tMnF_saR952_u`r_QU+r{=-08W(?0t_4e<9)0t8 zIDh$(_`~^^W=KBk({P;`IX&G=&!u-SEgt;Aj5MeTFH0|8pzgj!Q2OQhH{cri=1Nh?)itduZrGwv|OB!F#MgP#!{2lfm z-!HH){k;D3osLzLbKmkGE&X_q{lczc_xgX^I_b}M1;kGd{p>SE|LpKDiT>YezkSs^ zEB>X^!s7=#ruy!g+(WtVnk@WJ0vtv%qAH&Ytr}Up&fBsN^&JlgzH*jygc=-#&_oDPSJpY~-o^!A`vU_T;{oi*s z@W&7TljEaYTKQj-+q^$4zGnul1NW3>S1(z5hTxLv=i$(}#OBe(#}wn?L#F#@Wz*WLH|>j*5?U%{t~k0P3rE zS9*1Sds5@+2jz=fqyH15f8U@#+{;~>{zeUs5@dh+PB6QZUHwjcM{T~o7a!kk*M4%F zKi(y&Cthg5)`#E$VEqH%_mYzAnaU9=E&KJ^;a_=CO!x#4-o` z59&VRPthAMcvJK5z|#8%_YJb!*oEvj@5R}1@P_3lB)9K=JeFS94bIoN;UC&QzWhec zDeS?M(l2|_`=yy1pWZKt2biFI?>5CxOk6&GA13Gf!HuY zu2T6=lb^q0lIX2gJ5CB-8x&`GRdTu4asN5&FZMlq^YQqdFxUsIi>o)!)(Y|yj+dQm zUuJ)tm|Xl1;^ypU-`YX7i~rC0@%Zxj=kHFh-fO$}aIboQ^6yeT=Tdm?Pn-ik2=DXs z^{>+A%^vlGa}@vdFn;_8)!(;qb$4{!zuX<2O~P9-xK4O0l)feCJn4LSa^sHv*a`H= zUKl?<>jz&9t{&tkzdydyq%Za}e>nfRa`>CqzTegl>~rJAKFJ=le|{1FYvMb4Y5wtt z%lGc+?ZJ1@{eQ#%_1KNqM(2^_vaeW&hwJYe$t`~DAMs_Eh);9BKwl#?AJ&V{`oXWN zj}CpXf7m@oCg(BrFTcswC zz0r6$A~|-C?iA@^=kWIrAN}XjKl*u!r zBZlV#e&cte!|(Z6{XkDcJ&Hg1Zt`5(c>7QKyS#jU`T3GxJo^%*U#Xw$m-a>b#xVYs z{d;co#ewYDxEnRNM{;Z&o_p?RYUikxtD4)f9QAq*S9L?e|;x<%6+d%IsDmc*CFwJs(Mcb-OuH2w1t$vH2hmp_eRSAy^ETctj_>x-*&zA$3Eo}#{^6e=-Y!A+H#?=*%hJo0m9w*V zD4%`pe#$!YY4{Js@0Rq#AN;S%Pi`Eu)2y%l+o1htM@RdA5{jmLhg5+ioykGj^+RHBgeQEkMA9ha9b5?G?+*x|f`0XA4&yvge z%6u{(r>k5)?o@sKD_-K5HSC`k>sS5sYW3-fUc`IP6TNq$Z(VvbIxAFP z`wkAzx-ZUu82`UYc+Qz?l)g54;!%g=^N;bhZo|i)e$m^Ze))OycZ~j&!NY^wRqlIn zbCfnde4op{=DwBRb9g^+e0;^XUsrmM#=|Y8=Znu5!Jh@!3(}i+L{}v5h0&R!aWXtd zJXXJL82;3)ll;(AmUg~#AI1N9VD-Fv^^WJ4@jbKhMdS0!(o+O~QNH)>>`?ot_^2zx zcWziA`iIso-x=^9wy(o?ANQB|Y*YRr>23DXbLQ7sCcM>3Zyz7u8SxI?`NKMGU$rh- zzpQ6t$LFxdCBODR;`i(1c{w$jtW>TeL9`sgX2t8)C| z`@W=p8upL>YuVrQ+cUN2mgGj~jq>4*lOAqKPwbVyl|S^aTKCzR&hhlE96kLbtsFi& z{I&4duRltTNg5aIl(|d)zIiHs{D{)x%BQcsaj{fSqqWet! zvrqg+44z;41;JHTVKa%yoe{6uXR^^_HLEC@8vK4L-|+N z?!AH^2X~8(dwhO3aWBqYQ`Me{lmEfe=&#VYV29mUIs1!U=3Km0ev!+(GS9x3JjT(dwL?5OJMF0WY@A-U3jQoT4*Q>7;X9Z&gm+Bi;mp$J z{ez`fOdj~)GnL<)e7BZ1FAqpQzMl4Ifc-kf}=1mUr3wyAwXI@0*V_x&2@^$lyUbNxS(>yPofuC#l1^KSR**+0#{ zpEeJs3m%$$;;7w|d^ET}d871;#UZ^C^gQWh^7M2^a;{yzeRrSIJBBxTc*ec+ zy7B*Da+)9iUwQ2vyL(Xo*J3aDzn1p?KEA_!1pOzXhYz{DJJ~3CygxZB`Ng3O<5Rp_ zK?hy-Fn;E>_>8;aBW}a}z~qhpt80h2&>Pb0lga;7klini;;i;l=MZ+$^v&;^g5%e& zgG=-O*w@9mh}+RV{bhV>@8Y$`_kuS_-j9>#w94Ig;loa2N5K1^<;ktw{UV6oUGZoC zp^HB}=d@4L!{g06{?&VvoBi{6Y5eK!`ufc|%f9hia;T@B>XRG&9n%+l^w|m4{d1yg zKe!^f_G?_Qv)LiT_R^1e`$^+XoQ?Pz@u%V~R!;xQ)pL#=o^Q8I&iT{N@c!-Q^7jpI z*XSP_{6&!eYnj?PJSS|`x~ILj)t*a(-|PL_B-LL${9gyB4e!LtmrtH!8V@H`K39k$s1p11>KK`YyP_Y(W7%s^)^Tz=YX5im;00b(~t7ID|dc?$A01e zV7IVihwq1-8@}zoLE zG@sdv&Ux&}jjF#={dRazJb}1meg*5qV)3_5*zZP7-}b?6((~BK;X5FEhleivL!8Y4 zm9s}qjn2ivgDXF?wDUE8y7hIH^uT}b{|Dn$Z@%cb-y5DUoI9M8`Q4qLe^hsgxwu;QbuT5adB1k+it+ni^Lm2#8qarxcUE*ikI&cT|EGB~*N`NQ~% zjmm#HeD%>&pZ|2m=$VJ+x{r}_Yu>7ytRZ>5KoIKi#}oynZl0J}W(ca$OR9qWnusAJMoO_P_TmSJZCjT5(+B zd`EAbxDWkN^u^oq+u5Hss(tn+@Xf|4eEZn%lFxUn=IlJj9`U~Kz4Y~I{Jm$JJo%0; zf9m+pUA}#NczYrzYR`wL3UvaJJ-nA-?|#x09E9|BjX8PagUHlQS%zq5*GskIfb{zDK)#=q zZ+}HcefWD+&p3Uqde&j*3-;lD1AgRqF?mk2ZiaVg>Am7(fBYnT`=kAG#`^zM`Wd2ImZlLvpTKEV^q4 zzr9Bb|G3(@Tz08*HT%W6*ZKO@=nUU=7{{Zf?-QbXVo*PuzvioXcW?UVN0~gm@UQ$K zI`$E9$nFWXOMJ)P$uV_siN=-q!K-U8xs1#0YTr0P?J-_&ik^DzZ_i2IJCgI4LFdRt zqPJY|^YGbc;MLa_nXr88|(SCjiUwA zqjBTit$pR{=)9eN#5eOd>{k8nRqhO!7zjSGQZmWHd1ha z`Nd8@KDzAp>uc}2wda`T-?-`H2f^X|UbK4VIsSXGJ1V~;sGL0Hga7N~dNY0SugzZm z{?XxAe69QigBK+C$;tcQ@PAvojw=7%=r2@y*6_?{=Rf1kxyAfgEPCd}y3w;94c8y* z?WxK6aD3;j-nHesU+33$ANJ$q6BqA04F76ApI^CitoiGFOYYOdTRUi9GY;(|_Ll{c z>u0rh^3wX#e{=YS4^E!VYoG5Dt{*@Dr}W-i-0gPF7x$lsr5E>~+G#zpzOWCiFYH$P z*8=gikFjsRC|^D0t0ey`wez^ruLpe>?wjPZeq0j0aU1vigZzb)mOo;63kUtr=jP~N zRQ}S@KPY%c`C|q54*&b0TIf63(dzt&;*xZXFslfB4(vJV=+_Cx-O;s0^>iSILm@1MR@ zyWMN}e%p1;r{$CD=F)$xUG7s?h_3iac7}Ue_Qx3Yvwg~XVLxNnjMg}xD7a|#epGtP z#_cu1qmuus((XOJ(>m_m#ScoKR(qT`7b(4E?Qk!@TlCne>-T@@Vq$G558nzi@N>aS5+{Iqi4*>g`byq|IZjL&}Yb^p9^<8zbXRq@-R z@jG5=?`p)K`XAPP(VHbWYxvKU_I*Hf=dRrUnb&OGxbO3w;)BXJ{@A194!j5Ece^2Z ze;9r5P3%t-)xI?<7f;|m__g@CpV+uG{||r9aDBAyh#R@QcCXaBB>rdUAN_TB-^6F= zUv@5+|NHQr&)2Ly_cvaSXndIe)&qJoUw2JUTULMM^znZ6-B-D%I;nN!^5DnGaeZm; z=P!!xn9+Maxx^8SRsK2E7kBV#>#KLz*3sF*)8GHA9b46oZG-F-acAuH7b{;Pxt=b~ zPGfJmH)W4Grwq?8?2%Gkpxthv+U; zyU)z}6_it0tdv_~)h{{x9dkox|TbdfNuq z4u9p+zE6K}yx!Gg*22+J^TNJwezRZ^?#=E%fBKz&i}hcXOAF1z=+lN-b*=r_6d7r`RM*UI(wCN zKD9p_QvO)UO|R>f-Z44F%}tvAX9|j+J0rXUlhgd42K~y99h6%i)Q7MB>&Zbs^e}Ay zD$&2G_TJXGS~X~WTA=ZNWB7k4eS31ATm2C$CkH#u{rJ-1uT=f%s&``f#+~`&-sBej z7~bKv&pPA$<9pf8K@*4fPW-$Be7F3e{lspXv+^GXZwh*6F=hQoe)Ia`^hW*%;`{gD z*3o&ccB`-6rj@I&Tw3{M>Dm5gzcc^&tDk5c7=D-jsq%lHKItDn^nLG)y>VN7-${OP zO#IkalrPRnKe;zMF#Q}AG>-V8zZ3m~)0caz*OK#%;MU>!4&UOXov%MikEbP%IMZQ# zseN(iC$vAZ1GY{c`{y3%&-ee%i~qfyBYhXnd>OV+yI*KrPgnh=gTDw`|E>E&Jp2E* z@s{bwy{mb@u! zJ}Cd6$?-}t;Fdx9Q6iZ8o-j_~oHKYEkIZ<)#`Dm_z>oJWPP{hb^I75{O9_H+BZegA{{2mW@^88f&{{O(G= z^=tRK^iuirL414%+r5N(|Ev7@0e$tw`}2Q#=c3<_u6@SqJJGo;_)hKnZg})>KV(0! z7xc4zdZpSmU;1E=?o__-imciA@}1%{>aUZ+bDnytwD^Hhqs#9xdTIU-eyg?8H~-s# zrTG`dbm?uPJgtY1${&x_G(<%^c4H~RV_e0sDF+wUHzzI{*}ocrxVlGpv* z@cr1^)%RV^1>^UVApa1%hklJC`lWC5Pp&<0Mc=sMmr`H7pM*~i_){gn@n_%tS@`_v z{NmqD&vRAJ_}ahm!ww$W$KTr1)u&H!#8;Ltj?R7QDbW>ocR*?PZJ(#dSCe;{($|Fd zRr>L6S@~##a`^mhzN2l=<JafeV{L&)? z`8~%jeO-7n){nohUH;QCe`)pMtM6Uguw4G?(VwHZLHDbEkRk{5e{9XC>FT>G#`v z<=S^*`OAm5WDwqZ$&1b^*>C40H~!Waa-19eUqo-p+BZt+(Hk%P-v=hgRh2vciWl6y z_Usb;XL5a~^wQCPul#d^=LOxb|FZPS$v0*EZpF9!FQZF-a{nqkbbcQ__x6jH=AZjr zbRMeSowXZ%^w3`}JbGQK^iaQ(*4`gCPki@a+tTQxhyEM2Z}%X3Zj|U96F>c@-a6r{ ze`omU%m1eKE0=GbQttli(D3=c#xBiX6@NED{MfbVqlf;o$^S*;)PCvvdDAw|PN`oO z4u8=gzxh{{Yaf2-56_3rg$q;i?#8YVXd;zjpcawvHSZy{$`IUw&V{ebl>b@3p5&PdA4* zarFOCyWc4PhvA(cU-rmerP)V&R)4PQpHe;gVee?)2+6x^c$)=%KjUxF@tqCjbB8A% zzVZz#pECJo4t}@x99R00z1r>_3G@p~lb9!7om&d=x#%O8&(JmvJO9KBiVfAep@>bsY@t@6Et z=IidI*;n4tv9s7$?0E4l`_w+~UdTrt`XR44%HjW``Q7<#wQK3<&l+T3v&-4nYt+x| z-7gvsGt^(~U-BPT`H{gRf-g2c_#qc4-#+dB|E2Kw(Z#Dd|G!;1Kfq_D&rHwOW&7Gr z^^^Fu9cz#HwO49~{Y)IIxK;H*|2Ntty6dFBm7_bnAAKggQCdHbuidAXFP`t{>We=< zrSx{;5BpEQq5oO)T)fFjwd>5}o3!*#gAW9!2>xGiuH<^GdhQ#2AIbl6m#ut;^lpBb z59Y@q$#4I7J3ZJR>>K_II$P`KG{MV~>xiKF%0FO!pBUXsgY0PE|KUHC=0D|k&`#~v zKKfWMz3fqY`0x4k)n{j*!@fA7{=A}g>{0sN=(2mSEMNJL(zAE{o22h8g5n?CqkW!y zA4FGt{(0dmcklOc`2TGl8K1`Mc3!SuyIpe8|Gu^3w4igI?=!jAHQx?T{yCB#o^zb~i-d>n5~Ytx z4&QYeo?o29oMX&C3lK z=Pw$bPsDRR8Q$s9T_rizF1=!D{)eG|gC9b3zyZm2VupIQ?(h zymdeAe&deh{(EwcRlRY7FP6VyY5ymEx%@Ay|4M1!rCX!+^6xIvc~^Yn@SXNK&0l^3 z_aCR%KdT3gn{DDdd(ip8I&?$rwhm2_Jl1{dv32^U%AbkPa9zOnko2v8^rLeYKKQPb z9OPN3IA-xp6C}U*CUUuFf2{JqB%gC7JA@tMd^v7Uk)A-U+-GIe|A25GCb!p<72|+`CY+TgYHr6Q}(ZWlgIk# z{oUp9cm6Q09@4(}Yln7?89n#vlZL--`NR8Ay>ssagXPm!jC^z z^JuHuF-hr#qvJcB6I8xz`42WOu8hy2$^HA_&Cz+U^e@BH&-~8TefuB3xbGMoUA^Uk z`p0*h7mm+l$v1L%?#a(Cy=ndMmmvD+q5sdpyuP{i8u#Y+Nzq*^=pKom?UCyJGdNy& z&zH6yv&;FrtuMp-S$-<#yPcAg+}>^PnjRL3kN%prepsvg<*F|Z?wI6b53?iLl}lHC zcl6zFxYzhj<;PcUoj$t$@qOuK+n@JtzIngEE@n3`(s^g6=)NBQ*~$Iwy+Z98p6AvL z-+j*AN$8e;q9Ir?Baiwe{1>PpLmb*`|>XcZW^B_OCMJKqX+cy zy{`NRg6wYm(M8WXhmW{f?|u01ZcYE+)^9$1oP2u($-nPFe)VQ3pPy~o`uV8zJ{(WZ zH_l%V4e-QY@*@n_KlYJz&^kp9|Dz$tJL%0mh5O&{Ha>qB+&j2b?Y^vW^2hAB%W9|Z zP5ml->&DKNTc>_odiUDL4-IdM5A|Qhg^~k({Mi5Yjg7;bD7}gcd8={wpW5wwZvEjG+n{DA!)~m23Za;rnjvPRaX1ay%dO&cQwI>(!eedH!Ac z{_x%Bs_(y6?hCAQ?h&jv@P_5$(q5?DAIFazKPf$KP`hq#-1&YBf7em9lOODW=GD1D z@1EG{mqy1q7C-deukri2U;l6N91~sp5xc~>a>n#FP3=1=`FzJ^mh`OLyIFYl&pD%W zU3~4M`k!8m5949t=F!&4={{`U=+pHi`$2rzA9tiL|8c(~J-IJ?I6b-#J-_;gmcMxIMh9K-ZTLCoIoE9(9q-7$OpgC` zjxw&;zw^Z3d2p4|=-w24=TCfZOHc6d=jXgXI?q+#daixiqkTUNZ=3pO&*01D^KTtg zzH>7E_7N$M=@xwSLkMebA4%#$}TSpCSF%qx*UCOcVa9^@sR9{!o6>t*ZA}a{52ZYt{cp z`I|)7xDa=}S>u8K-aIugkBiRn;e8Smx90nVV~6KI4!b4yUg7gQnBV*pKMha(y7m6k z{e(o;ZbJ`Gu8>|1y90q4|0L*LP#R^VlUh z+`Dg9yFV-6ecE;D>+|4^>B0OlU(6rtiuHq^$#?p`ZhUz6bXD!)ClEJsVR#!Qk9Gg) z^7&iM|1*-yc>jIv*`s;Bd32ns_&N71e~0Sx_YMCScnvwCC+_>EBs^p(lG zL-o-)ymIHZ*^}3K&N^oYy9%r zZT#n(H-6U--@TCbk;naz^ZtF&Wv4xwKGsTJ_6NJ;k?=wJ_G$S1gT~tv$;H3DLUhDi ze%`LhdLvbD^x!n{VdslGAHHw8w)NZn zvGsd{@@G!2d4v1{Q%B$ac5!lT9{-JlkCiVj=ueH$Ny|4L%@6a(d{S=Sm{;b{oyqk= z@E6JDUPV9a_w|xXf4kohclAJW?H9dCnrAyS4(=;`Wa&AB{D=IB&hO$+#Dn}U{_H;b z8zs5vk^V*w|Bax2y>vha-RH_@&$%aeUMClS!+(eU*|I_l_-<{ETn=(0{32(Oa zF?#7StLOd0bLGDnJf(50zUa|ABK@TOD<`LR zx*uJ*{6&J71aAudFnC^avcE?x?cRBvIo)oZs2YmnV<76yxi#@YzN7o1uNQW%5{W++Tg!I2(RHRr^ zWcj|UW!*q;gXH;3c>GJ^u=tnGj?bvkJwE&eljFV8HxKd`u3VhBxJ~}#ec~^E(>>dA z(V4dT?A3|W<1OXSRC?Utr;QWeKe{*in^gWybdBTHOB>I3M3-KM`Vz>q28uX;1b=LhBgFnDYEv&Pr`h5PX<%I9aW&htln zo_>b@?+40ve$fu?IcyLF@GE`P9kn9^Cr!=kkaCpGo7x5A;fO z-wHZsd{KJ6#vQv(+?aF9x$$xCz9;&-CFcgspYzIRXZ@*i?Ykp>{IB$}YxD7upz^~? z56Aa%@iESglW*cTW99t8&Ry;gv{U;gu6@oC?h(WltH<6Q*8d{DQ$&Y-`^(ZpeX7r% z_P)Y*Oir#IyWV~ef28<59G-R2zH2{l9vGIhi{X7gI#ajqX@_{krW`ItyToVv(jSGtL3rMEtX_KWAiu18nLDGiPjvWa?+bsH;4?wrbMpVFq5kOAf0#~) zF8?n%@W*dhj{bY~lm5YP+2rA0*u3`hms|hdZJl7peqCDJg1D=LqNg7ZiJti9>ubke zL2`}Mdiz58<{7uSTf7qX&}EY4=&~ zuNIHK{bjEBtX#f!m=D^gAG~WjwQ>7l^`}c8#=-Z>M@K#1$9k#vljI=R9gX`tgJ;F( z>(bw=UE{@%|LL3L_k9(1zIBG5VHkhpe)#h0^8@k!IDd^0U;m#&@9o-YoSl=rcb2c- zmeB|0^FP5~DLiTRCc54qiAOsrKH}EKZv4I$+bZAe5djB`uEWIAKCofsCDbO$|q0$=c>PM_=}cr zoq4nTm*dA@^+fr{RDbwgxDP5{DQJCvF#7kFZ=Dxkg%7&;(W8Bd{_RivbnxBN-d+3G zOTRY+*G_J6Mtjx1VYzzmRsK$T+%5T+E&t8(|5{o*w9EUMtE8FbfwXsH#~gM7at)W!n$uiXIGtH`}u3cVQi8d zD+cxd63Ox7V5C#aJW!dD07eVY>LRFWKMhRrcny)ngA_lU(eCYbxh=V`t41o^zOc?Fr)R zew%&HerKPvulQNn??=avAJ%uY)@nQ)Ub(ns^x>m}?#kigXI~`G8I?QN_>R+(wU2(C z8|jz*^-%TMokRQglFFxQzW=RujF_H&FnE8qba*#Z&%LMrq`QA`FY$ci)OnZRW$fzn z&&cP0*{t^QtGv>9^&JoX753fL(X%huH_+$r!Uui+F88F$;lul_aU2vMI=r7>t8(}B zE7y*>$~QmeEZ_HE7fSx0h3C7i`~&(~zv}NhqGKK5f9HSUM;ZE8HmRS#4vt=b^W)E3 z+J7M6UzL3R-=KZ>g|A)ng?Cx{CE?Nhn$ga0vkhvR^M@Xyh)U$e`mEua0fLwaThv44j5cDuyy znCj0Mv=06?dHI|9FP!VQ3*Y&Ey!gHlTrK)Pi;ndX{wDQ@cp&RC`r_QhwS&sVx08e1 z#-;H^{zsDQfaLnT^sC7?LXiH=JN=^k_WDhHopR@&52O21eBLTOPUCBm;8f{vi}ZjF zy6$oCQ%*kP0^Ziqb02tPa-J1bK2rRY!&eUfiu9p;82>EpdEeT3didK0pGuy;SAJ9N zb}rh!@;$;gzqH@{GT-(L-}j;3jP3-r$G!M}!*jpR&pp&1z2UcebY85#t}A^`d_GD3 zW6J+teC#jIo6es{)h_$&g`LAM4xU#1Kb4+8J|~rbbZ~?6?YH)C`?>X*f7v;8!s>0D zy!Idar2U8d-nqCBbWb=>`|vG|qnm@)IrmfxC$D?2h2rZy#5viC)*0)I_YDijhaGT6 z^1sqMYx@j)b+`}Rk{;bt!c$Ltjx;>=oKLOi|ExWa*YD0h&OPEooqxo4JstipYQK0d z`-%O`BmzK7oz za!x(D_WZ8-;XBCJm3E%czt&yr@mld^_p&?9lQEKG%pkwmUGW{ib~(QqUo({N-O@PK zcb_DFWQy9yE}g6NP0976>OC1;CU|3b$J8I}-(!8x}$&&bz5_Dl0}gZgo-;EU~ zkM;bH=y?b2{Jui+IF~q&IIs9V-aYZ7S8+=(*N(B1^O4R$JH~I~^39(ul549Vxqly> z6N8skfB(`GMCYBx%QBU}Uiq#;>kt3SD6QM*EmZwYg9`?gODo?uy5u7deC4O7pE+VP9(9U2s$3XfbTR8Ef{)W7QQ8(sC$8>f1{SMW~# z)rklrSGp_K25$8O5;bbTZDgGkY4X?T+*v?$$!2=`0PFL`1T9?*Xi*W$35KN ztS{*5|Kp->9K4qN_NB?wkMqav$?M$_eGcniTfH@-|4elE4yunIISve;eA3F{`#$Jp z&DY)I_jL8I51wEDxtG2^Jbnc6T7N9x_siL9L;o|swDXStnOqe=-z8l%zU26R?Z%(q z#ylF@r@kX&y|#~w7gW#qKe~R|ymp8?V(-E;Z+_IgwC~PS+P=*GXZMd5UG%=Lz3zpt zjz53#fwiB%nEzP0`qxxXee|wR9%=PnPY!f%3{Uw%@nt`-7uXL=R-e6T-fdHRHf|o# zAAMS1=yB%o`8j4U{fFv<%GWA?wV?M`>}U4%jmgK3wN5H`@AbFZ%?^ggZhxTiIg(3# z<>K$e+x`(?!qz=09fcBmXb_2h!IL z$-$m{BRTL}BYb?UTh^<8M#nlvt|6TZ8$TC@zk77I3oe`-3#TXN@_#0e^ZAfIxyU>8 zzlxLNhZRRlKJ|UKR=gQ|_Lbxl*XI24Y5D9&=NRz;7uO#4wC~f2e_OGBdOr9;^t^Lo z&#~|Dhc~S6e)p8luj1rRjy}G(mEJo&Uz?ruT<5_*RDNyp^Y6Y|zlpoMfxjXAr%U^e z`vK*z7@Y%4pH+X(S9{@IS^ZDSw{AQczWYM&le|Z|uW@xJe!+#ScTeT?^I`2Ceh2G@ z@O{7BcSW677ONfecRu^N|GekDdvXlVdEUSHPVj=!`}d$d z#*O|p9@yE=;~Q1qx!pKW4;}Rv4&S>6e&$V+f5YV1D7bO(!5}-0AIEp(Z;r0>;XToF zj&WYRIlJSO`fbYUeHQ*?@mVZ5f93xO|J?9KuD@mqju;dNJ3;lt$KFwYXvY@OxjHDm zWbV@ZFLy?V|7D@%C-)cw`6sA+(%>PLvrnCaos0LWe6iYhcf)i-}yZG&41?==Pv8P z55n6x$o^#y`%l6pm9LN-%cqBX%bz;9dh42dg$vWqeU&el9-fPi_&jlQqg4K7`0C@M zK6>Ib?vD??@O|%${p)*ZXUAXMg6~hy75`frPrg5GUt^!!-<;!|JDr!rG14!6((kqL zu`ZpGK2NRP;!3|8-d45GJ;{XwJon6JmOn!Hdq!8h^V^lLR{k03;p*~N3W~FNta9fY zegWs!)0;-d9K?24~BG{C!H_H zi{Aew*JH^!b!qD~yg!9+{Mj!-`9F@%1<~QpS+DVQR&w(14EJ~Y`U%C;h*A;_@d-u5*HOq|cwGr@MmmL_e2>e|`4+uj(J)HS|tyyyOx8@ksU7 zjL+{Yrx$uUH+nl)&Mxxq-#9n!x2Zkm13K!j89j8?Ngw3b9`d_iWrshL-Mv}$<_OLn zw13)H**T9TKl_Lsv|jm-2jyRyoa%pEKObECX080+<@?Xcf#u&9J?HUfN`KZq;oLr9 z{lLCvZ?j9;4c@8zJ378!;+^W9jSq3?&NYife~09DJ{h(29LX!5$NA5>@PGLY9*yn; z!DG_HE~R%1P85Cd-Qvt&j{j7(XN&Mw3Z7s6f2FTO!&m-h`E$f~p`f^dUzI)~yeq2z zZv4bE@GDvmw+)Z|`uFPlZqIhf#jkNr`0oARD*bfxN}SGS(eZt(o03EP(-ftrto`Dc zmMwq6^2Z6jUj7BGZ=)pFn3ey$@-r)!KW^pIhtChgKjXZyb>&kxuJ(?ebFueb<45nP z;H=fVA_&ho9ga_S7Q4&&!g=Gw^tfDd9G4s?mv0|;e)uH5_WRlDk1>+(fXZKr4m*y0 z_h|X#IyC)RzpRJWzg1dyyf5#|LIUZa_=0SHG2%pZDZ<7e;akKXuuGd|ZvmwjxXxVCod zuaipC&t27LPs*Pqd4~DwvqSB>N0BQzMh%KDv)(?K+}_trQ$6=~)0TFx=bZG1^2Z2H z5uIC-^N!%+@m)Lk{qp%mrYwC>`W(iei_`YKMCFtKDXb6+uT^`;MB+$sFWYsV?!{W`q&O5YlsGwA&3 zeue)-9Lv4cckjAd>EZgozT!vaU)`;C9~(R^z6VCC9=eB`J-i=RZ>sdfKh1CLe)Z|_-wp4<>Rpta>?8KlZRJl9{!fDs1aFGogvt4N z^o%3%j$?u=72%O*g7`mO{xa3yz4X1+Tc`2xLh!htcOsXB=iR`s+qbQ=-j)3`x|;;q#q44B zGQYiZpL3vhFSjMP_<7^e_*^J?(4D+AKdk$hDYF~q37#09bF%q(MeSWb_}%cVi#L?E zUOw8m@xA;bOaC}Ne+vGyb`1Sfqop7IsTJ$zGvZ_acqF_T>Nn^1drI$_ywyH;*poh179S^J}X^vmQDpL|61*AM!B3%|k=@2j`TPriD*ZP@SM3}<)21>$?7j1{BH8UQTcy^&sV-w@F&T;U-+w* z{(1e$zr${KK4HHP{Ra=#-{RHX^E=019G{a~Kly21h_7?J`yuD~2`XQGfcI7H_%gnm zSN=w6`yYBYr#JUdAbk6y{c^YD70+W`U%C8))9aVX;a<$W*URbgh~%-3Y*u~q#5%M~ z@>z%8t3A7wZ(rZF^a0WNCcGI-Ti1<`yURB|hT~}U8pPm*g`uAVqi=i2+@kB;-V zG(7e8sQ-@+o>hD758~)fOi$m`j_pf-m0xR(a)ABSiELC^k!-^S5dBK)mOyRV}c_SBcum*$SleAe)Pl{~Zh-+Fv|c;YzaBE55|J$b0w|(&t>s^H}KxgG2w%4COnYyI)u@zQgmj_8(k3 zc23Uu!e1abPf)qEcg7P{Pdy`nN~# z!SdbPh##^({j_zDU)=j6_Yfy!C-7t3S^qdE-qX535A@{!@XkrY^ON(D{nvhL|9v^R zCr>{2oa%{RKBD&WTfLn=J`K*3y!?H4gnvy?{K3lUbHei7cik7ARiop6?0@;)tPA`_ z2i6bj^Bdh4z4_w1eSD1{@7CFalU4q!Ait$^%95Q|oL^=xJx}z#pWHZkjw*lV^n6cr z$EbX<(qjd!1LKuummOX^PEAkd5C89PEB|Ty*i*~K_mjqt{Goki{9YMfdcV}m3XKQA5_TJ{#&~H0a`PzG?de+S|^~d}+ z|1OQLdHC(<+*JK}gX5I{x&FuJF+ugF4gaa~y-S$0e15M}l7n;1_gGG@ofWFTX!X2H zYrP_^h(kBymIYrTbe&(xWAp&h zPpLoK1;sJCcU-AjsaJ%Ns>G9#**`$2_?8&3=oH{r<57o{T z%_HwWHj18m^);)1O!-HaUbOVw!R>?IM_d)&80C*vyO-52`w1T#m+$-9;v@eU9dVNn z#P3MKsVo1wcD|b&?<(!y#`iJpGxiv~Ty)*z9Z>$LLHo!y;n_dzcVmaQWaSsdkN2tK*4b?r)&3pLA9~4k)u*3$ zA8-}g{nGh&M)g*#pPL3huHG!w`yf2~&;7~m*`WXPoE9FxsQ9I=n)m#p zx0e1S{0VDUyz3&#<;2Q;&wjc1IXC|3{kxX`LipnUy?dq?eo?!B4*%Bh?HfmwW(Rx~ zKK(`>27xR7GrRyhusd@67 z=p7uN@3ikM75<^+KU)5<{L=VXF+BL{^T+N}e}57kesJGcI<5Bf@5iMN57MXKX#UI? z-|V!Xbk2)^f&YB`iQic*ect)$TxI{VtF42*Yk#kxc%DZ}KNO^wzZ+iqo)ffR+rRDS>@Irt61D5zdy(epTIC-ZpNp6OZA*R*3%aeHVY@X0@|&eBIFw_}3J|6KZr+NGcH@6cPut6ldh^b_|k^s@1z_eJ>p z0q-^Mm#m#VlIMt}4+@{&<(>SN^<&u}ec_|hiwD=PzI({sqwD_h@j*Q9bEQwOo_kGt z)!EfYR~)Bv)%o~N_371z)~|D_PtP9uli{g1>>vF|Kc|eI`)cL%shg9#dyZ+6%LUat zHTc)~ovZQ{gT{A_%8l#lrT2*b_0ie8^ped_|3TcT@(K%bX;)r+M752Uz8u*G$_8&Iqv>&rOMB# zJ~}7VFM96qK7pRJKzKiokNtz*<%)x%pZi{n_2Axx|7WM_?-KOCdv?jtf6lLdRQsnm z;<4(_)bS^-)jN(U%lB?!j^sRAaQ*7DOCN6@on5{8!h0*|zd!sj&b1Bdhj&Tt59o~t zM(_CA6X!Tw=k!ndBK?s*dQtuVS?y`x_s6D=|7(L^1la@MX`Z_0zB4+%4LY~c-K2g$ zT{-<^hV+x;E2ppA-}|N_@xW0_9@ie}_s9)k<<|xg7d{Xq?-}q0ddz|&-cl!EqM)>R(=Z<@J{;yZ+ zKmXUSn>T;#`%p`krq7+wck=G9o_JaDvCiAyx1a42+&O&Z@}0}ORqp*e|AFtCon61^ zlk`~nrvHbG+jvY7ye;V5Iw*d`L>0;ID$> zBTj2Q!27cP^Pj?BsCxW=zRx{P_!A|UX-l6~|M*e)Pe+Lk|Ket~uO0qI`S?`+M)bc5 ziYvLi_Psm#y7CKZZ8$^pA8NAUw|35{of}FYRGJ_B@cKJ->+$RGMvk8M{g2fi{hi-&_+D!m z|1*pa5}yK3`K$4Tp17xf)^G7#yTr$`!IAJAE(uNV~HyH9dGE=Zq}7XN!}wnXdk?6}+wX>5)&Aems88 z4R6%=<#%^)rQU4#34guPTQq+*53UuRElX>koXCZ|>&-Wl(v7`H$SR;QTw_j_NNO+&0K>v`*#zO~&tLY<&9%2ce4dtEPN+ZLyMG#<_^A`a=T}%be)t#I z8Sbgas{Wio@+D7twEs455T5hTx%c<>P4Q9uuG`l>KZEp<eRQwn;=8Dmmp(iC{5$hU=QS`q?Mxy+C|^9&hSBpLca-{PKN`FA zDD4MNhVTD=;(jj+Pu#En5{MJ|TlMyiKi@?k-k66QJy-kB2RBL%?w7 zsk~Er?kU9gy1!Vg_HK(Vy@1|F4?U-KXq~%1U%7nWPxGC#@#Fu5==#3E&$63-U%QKy zcAiZYzH{`U@Z9r=Z{9UL{W~wb&7DJy+ZLt$XX>T!F0cH{=+IyIC*;#Vri#u%^=szR z{H^OI=cR*RMR&c@pW~UZkT5skn7Yk~NhGCDsE&X64VkNA@&E#LpHX3V~Rul2!>ou+j% zYxL+(ZUuC_8vagPM-K%rgrJQx5f8D_^SWn_|{JjAJzWC z;r$$}{H@>#)n{k3zm2c>J$3~D_uJ8DZ&?5IU+dp~;QtNF)*iVn5nt=n?<4CUzbbjC zuO9iUe@p%G?(~S#{K~V%@8UuC1G|_0ZSDJR<%#jJLGphgJof1F@x5C4=C$vUogKZi zg5u`I%MbY*>YM&+aeDIdUqJSReU;yt{MkF?4sX%;eJr_n&u5)qT)FZ4W&Qdf{>2A- z55s@CLU^CX=N!?$F?d?#wMurJ)7?Ay9=zjsM=-R~_KeR}_Dm9vk; z&+gSeCvI}L(&WJYU~hO=!j5szXq{PCFV?U7gNxL!N%JRe7C+w$ew{pj65fLGe_l{~ z>?U^2td;Zo%ox3Ellw{9E&XB8|AEQp!1C9qK6(8)IiDFEF?!w?d^`NjlAC*5cD(zC zYr?xSJogdo$P=S)yxFDum9IVa(ym%@+`U!iLJ8<)j-~Dg$ zUM_s`=Bt+`kNs*-{q1Ux|C8VI-{J9pYJc5(@r@S7~(d|M+r!*kibd;36+ zL;22Fefj~v&fVzN&W5G;F73P#C$wq#uQt!zUwLn2em&Ya+!bHukMAR$RXfK;&%KNL zll`Lae#bouJ%k+e-#O);#yt^x{11(vcIf@ur~khmUsJ~SvB77W=e`4^e4fhHV;`~$ z*?;E`@Scqx`usTJ?pCi{+=h9#ZTwvxyg9gba-1i*ua^A$PkzDjH)x*`N5rppU;Oba z-4|Va9TNTh!~3#w@4(%MU0pf+6-&QWe=du!KSWO)^cvy46Q9nD$;$U`X4=-#)a5&; zMlLOm@UPJqUuZugSNF3&sNQGs_et~@ss8+>S12v6cJk8C1=&6HjT_2;DY$0z=_fNJ zKYqSnl-?%1RpaaS(pv=4zq0u}ef4GzqO<1!U;8Ij4;}oeZ-4TiWBvpCmAJdblMB1; zirPmXJ@jv@Tz|wjeHxw5g8a%)hd);Gv#!pFf8Xi2vGn2L-4vY{rIX`mLH@h%M4#V| z-hN&67YpCIa$fV()2rxN&O7!3JBI$ve(?Rh8QSOZDK40w;*R*|zgV=iIJIZv|2y%i zKQqPu^Wlpx){gRht3PA--j&{yJnxC_6QxIw-eb)xbk#o~I_w+wKF&wyB|TxNKWr8K zH*4?8(tnEXzsqMgDQDNPqnyL`OYN>2z2W>ZZ~oN2WdDV4zd-N5@#FlNFuKlP=jn0r zyK{0D2m0sg^Yae!Q?o7=_#Xoap@O> z*25F|%Y484$jUE`4!`zQ@!|hf-lJSye~xYaj+9)F2%b^?>800?uJd#H>VI9kTa>;= zz2Mu;Q|rO{I3ap#geQ(>)bi~+?^d7wcT(-V9UlGc?egtQ?0)s>k?Ny&PIUemAM``| zqVL!|Qa|6Q9r_Y|N1DE~YV^(tf6waEzb~rY`ILtkF1HK+2ZR4Vo>Kkc|3Q`wUtFa4s`ta6pmxMp4fQK})vnP|F0K6h`eXgtFMd%y z=e0PEVfihs5Bt7-Zn*zDf7Q1?X?K^#Y1jHSRqbCC^nGUa@TWdFEZ5$0(fy!yhW-ir zAA92u$@%v|`@%xexjkr~Fz?;l4Cg;R`NHb46VIrB?5>xR=g|HVPkUMQcaN_#nwLk_ zFLC3?MfcS3{}bKMt0#_RvdZ0~ULL)#!gFuBL;1#O6zzuRo{4{#zjw3R-8g>upNIAp zzsfD~b7uJBLWkqyd@@d7#t%L0rQ{**YQ*S{6g(vQ^b70CdU`HA>x_ICufNL%FRz`i zTSwn1AKrIMi~Ia*?Oss+qsa$-^w3|iek~C^FZgEltvsz?8Dzx;mk{9g6niy!e{%2%$PPlD_(Q2CP4 zVP{$&{0;0w^79ec43C z5AX+wANW)KJ*#$x{zT{eZ=*l-AJGdYi;nU!8~Cwr>`r0Br!++IIh%SE&KM{Y;1oi)i z!B?ZddUS{93weF3@(bc$9M~kK#euO$t!wMnx;!-g4vn6;lr5UayC&D)m8P${kE5T{ z%ZJ~WSg87o1V@U$2ZBE=f9cZi#K)zj`BjdO&)=1ApK%|3adNvpIAV0Bi0?OpYgPaL z@E!|q@6vw^K2iSP8kcuVk5_uvpt!BMtM_Sm{!c0Xd8+zp{Y@PH_rqT|NDlPMugc%M z{?AuGz7@3peO-FB;D3WRRBzJSJGb<9rHA~_nSAtPnfP}9MuVD{?YZWa`@iz6e1^ zwfjoj-|0X0_Z^eB@8{4@*|}#Yha00adGM(6{fAn6^hNsNj068Zf4}(7nJV}HqA5zV zd&h5_eiZy7If}aw2j}~l&Vx&uCsW1eH}+9!as2F0exBW`$Io+C?Rf`!W@-D##mVoY z=ssDRo%nw)uZ>X6~6Bn z(*Mn0^VR&Fw)($`KD=T1Mzwcj_-oaFa&eD7Wq9gaFX$guedU)VXYu)GR^R)bvr0e4 z4;DVZ75@T%rS-}`>Amufwdg=P>6_rBXmaT8={@n0(jn2P=FU0S;!J+@;obug+pBX7?vH<% ze&Bmk*0ps$Tl~;(>9rr#uOYtufBr)b)pK7ttPf8;@k8i| z^I0Z-_p04BO1n4HAN|`VzGe;o!P3hF*@65U?n}079k?%AH+6bo=30SB|LHLr`GO@)%$($*Wvv) z{-3Y^z9;_E%I$;Vi^Lmww>Y%_`30t`oyDS~J?rbv%GsOO4e;R0#~*%o2>+SjrokP9 z&(&}5fZ@|O?ycW<2e%0SsQB6>I6e(R9Ierf;YZ~w4*<27ISToMV4D z-`xA&QhWT^w^jd`=-(3jw0^8nx%1b#J8FD6fBD1LfnPh{3h(mZeZi5E!!zMKm*|1? zOL`)`&;65kQ~#*G`>NC8pa15g+Ebt2xOw^XPjSM-_~E^xKh)=ZUya_kQ1Y6&e*Gr; z{IlpxRsP1|T^zrwx32jCUk{J}Z;tqQDELI>&eti+$N%1?eP3hG@b?e$7w=cv`RBa+ zsQQZqy^o<6+u!VaPljiFUoI_PKzzkt)1$7fU4Ap=($iP}*6@!AsxNL-y}gp7`+(Du zulSkM8=sBRBaV(f|JwYO%RhEd?p@ljKDx@K(b+FL`vhN$FZ9Ka&s+Hjm9JacxEarR zD>r{eFU>!7S8}C?^H=%46@L!@&b`&=_Yi;L{>Hv>PW&7kzVp|8k@B08Bm3ETJa_f4 zZ=4p2&g7*JtNi}b{7BA?Ln=R|a^Lm+qJ8Gr=!qZwP5H{*U%lKsdLucJ*W2Zf(EO0U zN$oBY{!fCl#fLa`_Ky28<8f7djF;c;uhIKqbgnLqFYW%L@^AQzzu`TUbB}zu=1H#>hOsvZ9kqmTcn{@v5Q^h|Jr@aZpeN;mH7G!6&UulLJmH}d;T7asr5Nu{k< z_b=A*$kF?D(0+eNd~RI+She?9aO~iB!#g&9pRK*)f}d93KBC=Cs`rQRRxdqO>A9ls zo&3_#UoO14gW~i5*Ep=+_$(Ksf36i@J2j8qD?J>?VSFXO(rxjxQP6y1r?O8^h)@2Y z&ufRj$h@{5%+oEyTdMkN2d4@?RJ-ia7n(=*yZ)?Up`R(d2JMe?JC!qJTBgsuX z3%U8P{6^8;qV_i~yxe&r{xWUl^cU|{#IIZ(efrDz^aQBSFn+{QoE$#+up15xf0m&8jmMKeJod#~@r6(4gZq5v1OND# z@k^gxExJDp@-NZn_#Y;#9{q)$bZ&e)_vrQL)8py&*S9|SUHMa|P9Co{F7K88Aoy1K zJ0(Z&+z+k&eehR5hWe#_h@Q=_L=R`*@f+>i`kpSj;? znH(mpf9_$AiSFXnw|{)AG`ij&%~1Xb$>C3>k4{eR{~oUV-@)Pg1^Wj-(yZal7=P}a z=@0Y?_h9siC2Lnakn_cPGgI`2^WOa3G&!M1FR@?WSbgUZ|EY7pdyv0H$A9SOYJYmF z`uum^&z;_Q935OI==%_hRd2%jw|UU{^>*!z5}x^v4*Pn9#%J~D^KY+OJ>!2_^T7B! zmy}B@H(z$Fo_i+eB)GWdM(_to1yKE1P9t$gomZmisS^>pcjk{`d>H|wkV`a5oT-Z$M^`px*isD0A? z>d)%ODdoEdb1(Kz_0|o#2i~K8(eK?8i_<%!bMCD8yEOcTf{O%i4~`z*zv5?zw_tda zS3X_+dam?j@h8rE?%IF8a_xCPHEre3MwdUBo_j$2%n)7s6MoebmyQ3^t2g|<1AohT zm790h*8cIe^FZs~`nMlg|Kd!C@uw?A=fe6mTJvV&@;{8e_2)m_)}QtGaP_uHZiiKG z`RIsKKC^t^^W+y_yLyY&&x@;PzrCS)hgN=1&sTISYyZ*ZGcOT9F2hvaN*9X*p??{LD>&ql}{!8`g zxBQtuk56{c&*SHW`ms%Pb_sg#vVUpwTm07!)w?@LPaZuv(VyKP;q&s=xqkdIK9oyO z5#3E{|H|t9DEzBqBo=#l2*m6gv`f42{QH#lbe`HmL-hJ7|~?av=PD5za_o&C?g zcWLx54AM{SXY^C^;@$YXw)whl^c6uAH>&X^=FTuxZeGu=RBFQwEHCQ zLjO~}St|c)aLU&8ll8~{iQOx@hh4b(8`YmhOP?D5`gwkIUk&d+jr)JX8`7gM(VxDE zF8xXQLgi~0Kl0IixqiSCFS$kb;pNOvVVSV`C5q}-N`FDK#7ysD3$pzlQmEULIh`$|@^EpBD+k8g5kyBLH8jK)!!S-pC@^&5uC34RZHI*S`1ws~apvZSd2@MuIA`~3Je&{I}t) zUw^lZ--FBN2V5_@{Db4xANq&5Mg6Cb{H1pPQT=mDpBo(N6I0Yay<>^w%1?YneDS-V z8XxqUGpkSUS)+EyZ?DSPr}vjWu>Sucdi-=xSO1vs#;E-1`ZHPQ;}Svs!=IG)9o>WC zdztDVQ~irt2fIZ7-SQtN|H^kNjm{m>L2u^jEB8I$QK~NuZ-Vm0HPP3f=v-O0_PoO$ zz4Xzw^J$Qu+r8%s@wH#&_f^ln=Kj+D=AGF1;jJDVFX;On@P_3xH9l9>-uIH<7(sE8 zzWeY*cpEg{BQ(Fh8$7&r*9zt0sSC;hVd)k3-6HN@P2No+P$mxd>`|<(n~eJ*GP^h)y`zm z8#Vs+FMVF+zVju{P5GD6Q4ZfZLSLod9v6N3$v;YqFQH$&)BP>G)&10V@%5wD0sBSV z$>EjL6P<(fNB&=NPyBz+#mCY?ahB5JFMpGK<=anRDBpg&=l}SBga0}_(7aWD`S_lo z_LWO3f3$k;wcT^CSiP%*&LRKjV~5OK`9Zb!YJ5N1IP=4@$Lufcw8z_L#ASIe=zROC zdFFeOQ`g>swRdXcwsv@z2jQ(#`tI<>VU1N9p8tU?694vh<=PQP<{ZH9!|`=d?Ohn8 z57MvrUB^m3Pgn2Y_?fEpv{!s=R(jp&y74_2hju|Lmoe&l4SS z6V8X7DtB)Dsr2R1I|6^D$E|$Z_~b8JskHmQ)vHI3`g`qLzw=jqd-YbR{OjiF>ZPsE z@02#bd{@%^I=OQHky>g{pFd)P+N0+U`J~s~R6qGi=ozn-|9bGB!L1t)>)`X`^-ksd z_mh`CJN&cb^P=Q&fA-b0LGf%)mHv5npGC*{u~PXH2G@@6<>B#Di0gi$^>|hI?&r-@ z^OxV`<>-hX8?Acx)sA}d;jLdk*)7(G`v~o*uUy*tnYMO(|7DEQH^m2k=O5$q+#vn` zh48PApDi1oOR7I_kcOMmnJ@Q~W^Kll||pRdIC+V#VEuvcmA8;3{AS1!GA zbf&7Eja#4oxB7DVC$;~-9sY9V(?8cLy>k4m9ekkio_bgwKiieB+`SC_QM}BI(Lwj? z_)u@Y=*joK?3(5oyr)Zhx2OE<=v`bt>35IEAHDB??R(-vhV;>OPcU8ciGQD8-~aTs zsvq_*^_}zLH?FH6`mMkF$M4RSPZGT=k{^AFe&xP>vFfoe+1cz%?{D}a;H!_G@}JhO z^3~$!#pcCqmCqbsvy^_ka(Kh?Z}1u~PtV*VJErn6>NoEB~w#6&x`+Y#H6h%fCCgQT-FYw_S8jZeP2#dgQxR^tKNA z{>|If(?93Zll33J%HjXJ^7W%PdUD$-zR2zC@YH`Y{7r%v)IK}<@cMT_^fnCdcY}Jv z?*g4vIlFm;=-w2)0~?Q*OW$7_9)66U@>2$UY&_rx-)Bdc{eMjD|0U>rrx)4R=dXOy z=-THGF3qm6Z?P}DV|%0ezY3rIe?@#RU-`C`uTc7|`2DiW{PFwO zkDnwD{@+!iw|CI~JXZZ5GpPUMvhv{nBfkyLe@W;WM>OtpM*q0x#|81RYJ80tWXF$I zy}g6q4n9=h9&N_jAMWqxcdm$waz3DMe|K&w*Pe3t_UTdUH~;2($qWCV*AM0TA)h~ZSbkr0 zoj2?({_!R1KRsxl`n_`b{KFHK|HJ6f3&qV0zcYvL^TS^udiw>Jir!b1^UtnU`gh@} z5C7BwJ%0aZlb3$#pZ(fCZr{ErI=eN$P6~>Xx~+2m;i6~IE4FAn#9_hbzdSE~(B;qE zwRPfq!2Ck)`!=uN`u|>h%uv0>gWl;l$DQljSML4jDbYJNc^?OsFRm9o^tDH?lU6=W z?c85KwTq7S-)jFGrG8voyZk@WU*{i^|3v8%Ysb2qCpsTRM?G}Z|7GXSJGK9A`2PyB zcg-7d<>K^@tzG_n{{3~U&%eJ?@?5_BrAvz^=U2KuKJKf0&hWoZe(a~0!(&%X8s5$I zTbzlw6M7@Pkp6XK{15%B%ho>srt?FbA3qiSY{lB&EI#>Z(G}k`U;E-J@#$VooYTIQ zI|t#pUp_54*U1W_&Ox`zrK5AoSv(Fd}#j%)&D$x z?)&5J#ag)+}Cr@#g;_EiATzuUQ)!Qce>qq|^`>6b{gZBUP!gCL9UE4?O zE6Yd!n(A*IUsIL8PWkrrbDPK0M}O1sA1QrJY3ul$%{^QAEgVOwoXO{j^aDwohche>J9|tF|eg8#RIDC5d&86oHif>t~`t0x{ zD}Swaw~k+NnB;VD`M>Bq{#NzeL*i>;^CNuohW&6;`RsrQc(c?`aSY-c zrmcPNnD`%VY##GJ@JEQB8Ke1mN$15q(LW)2zGq`RcB?;oM3=rypT4hr{L!!RMbCz> z{@?01KkTj1vG1%GKlY=cetLTHp{M>iK93KM5gaLaXYDOhf5ib@S9;O#tea~~9}*lt z_@m$>!7rkFVf=3qU&DFCAMk1T3kSuwKiK$xvp!3km!~vdX9f9>&X0fcH9v;qA-;-V z+&;K_e3+N!ly}kUGs`oyeAY41b&m6UdME3BtpBzy7QJoium8958@-sH z#eMZI;pw0LY+b*$OrAH#2mOS;LO(e)eD>JZ$!Y%hxvum*;n{~DEPX}v&Eq-4->!W3 z#fvpQ>`Hd#ROQcJz0a#RLix8QSKkTQFTB&jyED9r>o2|J*6{34_9OfL&eeZT98B=a z>U~t2ADv%)EAmY~(}zEN-@Si$=Ld&zZx@vRX;3^IJmv0@>}T|5_f3n`e{nS8XP&Nq z^eFKmXSM#V`{}ChUeo-(IC=Vh!&A|tr_NRSoW^Ia&x1Q!f{ zk>Kq?e$Xf5^NRAtrMmZ~#~z$K*9y=1O-}S<@9J(3-~G!*r9Z1Z{+{9YtJg?A_I>;P znDxgwFlu=0RsG@bwXf`I{#Kv;{pa`?zkL4F6T-Jncd5VD@1fP(F}!Djn+EOk_e6KO z>btk)PqaTAnOyb@YRC8+Z{zQK75c0H?05b5{chhAS}1<#um7zd{3tV2etU5EKFZ@oVSQ z;CJiq_Q4a9_nyHU!lREJAHP$CKW*(zTKn{mH7lowyb>L8@%(7p*ADsK9G-a2C!#-F z?amQhaYa8VUp;>BTl0ha{@0x8yVmW=waflwr|6$|X&XkLJ$-)Tazl_k?7KYL*Piwl zto>DLmtH~6;ISW z`&H0=#uCx7&%RkX|2lnQ%LoW1g`!e@W5H)ct1Vvl(Da%%K`Rz2@o ztfx^2{k6X6eT%m*{5p7C^!7@wzl*N8k5@|HR{3J3`7J&wJ!S3k_woPn2htnd|I<(C z5nIK_Si#MMcKvZ5H~fG1D6NYP zl8ZQ2=hZXuzeLb~bGK+*uZaExt#A0RhQCtf&co5lzoqu}sQlCN>5KGzdXn>b=J0&a z=zGoI1*0>3U&(Lyd3Zl>zT6VLSN-^zHTvwM%cE;ttTXY>BQ-vMs{T9SPnmq^b$<`< zhtdCg?XDL7?$w_(ynj_rKcla07(TsXi_*Uhep`)IUmX8)rI!w_T>Vv| z_nV;gF-dgT1rJs}Z}6bX+1oeNFW>oizVd0px4+nT=4~Dw7$3(6e^>td)n77rM^Jy) zi0+Ej`*rDi!ebAvQhLqcq4j^;#*P1O=zkHvG){DvuYbnz@$8uAgRcZs8PC6qmt{7}^)(ME~3IV_qLp|3)tV!0;}O z|AR|ElH9zLp1XRx)h~YROWNnIiypu7ze*dwxuS3UjOVq{^_?91!}Z~tAEQT)y<>h1 z=bw2ue*IV_`r_S(@fnB3zw^cY1HTsih+gzu{r^#PM+t5c9rtD8tG0{p4}w3bUtdIL z%j*55a`$55lOL&^9n7v3FSC1e)>c1!`rx|Bf!~$>uypxD`{C&5_}=Jp;cXpUHu&G# zIktWG*7|iz(0A#4cV*e=o*g_nJog1tCP(_;tfhBv9=eZQt$gPIKk-`e^@r$scjKMA zckf$umSS{9DoS{^6T<2GPB;@?Xa1DdmgndNjKDn6>ir>gQ~gpB}Ui zdH1z)`mgVAU0VIKs&5_7T>T9yU#9Y>;_rjXXDK~)&^a?+`2I6GmUQjkU3!t~DW9fs z89DkF1>b30#Xk)9AN$VY(f7XP?CRfGJN(cSmw!-v4DX4*Rln&k?v30lnJ4^u-j(z3 z9bf%C2E%(#V@Q`K0o*y;fo&?&$@r~z8iEeeq8mBtDpSyzFWvo&p$8j*f}~p zKdtE zJl!a|==?GM%;Rsje@zsmpB@wa^W#ta&?@Dx8r-jXQ;I#E)>dKvO^iShtKc|m^Z^nmlf2*{4K74=oLgnU}c}H&cg?*bh_s8e( zI}_f~KNmgr&jY3Z5OhDq&%Jv6WcP?qS|K?cRlEGJvqy*DRb0?j{3y}mhvt{&Up}vW zrti{!t<$02&Tq@#Zrxk&{5bXj z-xn4S%^v+QxzJ}XPJa01-x!_;;(|x5zx=eXmOia%VEh>)eOF=1=7sOH%~krS0ss7i+R>l; z!gH?ww)O6P!OFGA-@-r1UunFZ@8XU4DXbIg=Dp-&J-ygIICl5j^sbfKw}$ZqS0(Rr z;#>XI;#+<6+z--E-4E^_AAbw_9`POV;k*~0Bp!+U|K50vS^Z~&BL+Wgo^4S2p5R`| zbD8-6UhORqqz`!)azgd^ug|RiKMIO7;BP)U`o~A#_u`(6&L5Nat<|46Ig4xCqkQk% z_NpJ^t;FG7TE6%Qep3DqeA2^>!#dHoZx5kPsKOT=j`jw*~{wZAL{oStyB6q z`()PU2l@Jr=~wmR_~6XdKdH2JF?oE^gD*;+?}x`P`B>>s;^*bk+eg>^i~G#iTgMYN z4*XPeHBR5?|IN3l+qR+tsVwGz5m&;$ zac=cTuinPNU4!S;PxklEjYD!Ce*e_^;13@95BUw96FViB^`pB_?R{ALKMp#_m#$n~ z*qxm_+eb&73%lgU(Y+#mXR5z51c&kK>|k;1?D;Kfm%aa5^=E9o>|Xk&(l-XTim&1R zVP6^QYd@}?bK~1M(O2oO^jZ7pjkRx|u;0?##Ce?;-a5@I{xyC=dJ6r7oiW^3|5d-( zc^@|pJD0y>aGfB1VC~Y&gf9+p=J@(~@YTj^>+nuUo-ZdC-*@?}H2=XArQc}YxX*L{ zzHj;b@9qT_C|`WgBGLJ@{C7$p5MOHq`K$ON?hDU-hPV{|^QY^-@0xjEerNrDruP2Q z`0y|AtIb`xd*8RJhd+Ex);tnt;ND>l{H4$DSpBo&>)y)U_q+EoZsrF+toF%CydpkU zZeKk-|@5f`n-BqmS(?QSi9E+&u)C~FYP-KnwC@Q_KVuL zpZ>G-A<=y{ye~_C6?C3C$IMsf?Qd##q2zy0{aY^jTU9=KaNo+O2~HdQZ|#Y*Un6?< z%SDpEdp-Ak?*Dwxf8y#5c!;^!NCHa;&5>hHtRu|Di$)`k6y{my^ko`@aK zfBIbg+M)Kzo897m+`YK-_U*=P&GM-$r~c zKN>lcJ3HGvzqWNUT5>eco~j@2$L(+K5$3L(Ka+mXZldR}5uWdYY*{;hDqr03{LT02 z>!Oj|$2H9uKB{JmAV^PazXpZewA*?(mCL;1ZnkKPgCPgVQ&75--SrFH*l{z8iZ{9>dhbSm-r)DkzcD^`E&rX;m$ENPzZw2+ z;T=|gk1hX`#!;LE|C0HBTJ?M%)cd8=qQ8Ii)~;QC&WEGR54vsroT+yI9o!*2_M`KS zoSbjI2f&}ddGnv&()Wk9j9>mg_mKQj{JP{N4tAI74gF{QW_QFV|G#%b{Qn=-AMdOA zo%Q3V(cdL`xxYP6|C0~-Rx)7P$e|CcNGUgnYTwygcT!vCQBt%Jk3h1<&CI6gNF z4*iS6xSsEmPwib5o#FpY-M910UE6r@`-`t1`fc4)j9fq2D|gq8pfmXf7!1V zj?T%o|Ly2(8~jc5;Qyq2bhoSi7vaqn{6qQdyOXNN-d())ME+w|?%wCP(q9KpPyY1n z_2Sn&`F`!a7`(l4Sf+jMf9=Cl#_zeo7pk{+=?AJWzIuZ4A1!~0_;VjHQ+)BW(GTf^ zH%Fg;@z3$gzdY1W*RFi(+U1{O-#TyU2bV|xzTif|YlEZ2ANy^B@((Rvyxioq=e}Xz z_~5Vqd;K2zr|8oYBp-SR{p8oRGg0l*FMQYQ`Q9(Q5cIypesBM0uh^d_kDnQvSCaf6VDQu;gHUriL8 zF1aij|Kcg!>pOp)$Mh3^82ZlR(Rc6do(p~V-yg@{C&4d*7skhRowJ{oo-}#-c;0p189i}sb0w#x!*j3Z9DOQ$=ZJfqAJ(4p)wy#*<4Ui-A-cwWIIag*zE9&$ zUtA^ry$fPTS{HX$?q2_#__V$@i4XB>))_t8xyNo`M;sPE!|$WhvyCsklm1HoTsOY9 zi=UzWynB3!vtciJU%+4KdmYck4}YffVZ!Fqw`=F^;A}y5Ci`;n@>i-JeU&~dj^&)% z+a&zGg6`|s;ojZwum8P%?_B?02_6@`qIo7hZ~xlaGq_*SJh3mBM=w=wzh>9-zp{7e zFUI4m>d|NDaqdS)tlYi*@$orBa@w%;zf135fB2n`FU|ifzQ}j9PmaFtXS4sqo4Za-5V|}u3c8T6uwX<{SWrM@}C+||nioa)r=T_gn{Taz|w93VCt{$Ja zR6d+PZ#RF;qZ7h+kNAFkxkvPF;H>iP|IUNICimNd&IA9wyEOi+bN;7E%U`d0YsCk9 zhQH|P^5?95dfm(A+ZUIt{6|4?R6lF}A5;FU$?>4lKTb~GQ+sdiowfcPRJ}KX7bi#m zy}-}UD#!O_^>6Chq5u6b{(qYsHVFE^+XkJ__m%Iwy)nLx!?=~d9elHL_ipTv9V(xv zb{CGHm4oz#J?qzv!QWTUeXV<3_qzH!X8ry$I8IP}+AuDk{}umx4*1`_^o#MkOZ@Cy zde@+JL9er3_^EG7{`UnZufJObKaTF0(c7amz2WBgcq#auz&^x46&s<&|X?z!B9*~dQ(|A_EsEd9&U{DACK_Ur7G{~$i6 zuij8Uqqhz1#%ctni)= zUKCyNI_&;^8ov?i|M!EVb-t`p{X2v7Ec=W7;Hl=F{o?rQpW1lN7TrmMZ^X}8)f*xD z`&Z82;QP7miN96+r*~Y7B%k5@a8KmkNc@)jB>rdq2j9^;t??V$rGJb+cI$)T(U1NW zAIk*C4W3#*hx-46^>e1+GC}^OjjQ)q?JQUOt44PypTAU2PW(U{m(OlJ+&&cDZw2XP z^fvzGE#hPT_!H0Qeci9CZyb!v?$sMVNPbtv&j!)6|B5qNv;5JUKZ{j=@!*HSbDFo- zfq8G;+P~@R{7d$8@!n4+&*Pg{4+hO|^ZK2^{Qhlx4$p1py6-h@T0bsHPU29-VHxK+ z>lZzF)Z|2;aPHAJ+^@J#IW2sC2mVR+EqnLX+WArZu>V%CKkPr}xAWII?%W;vuf-kn zV_#J}#+#n{z2tpj?G5+;m8$nh{NZPs>f!e;bizNj^x>tw?;fdqdbW5ee(mvVhy1nU zo_L(-{WCh^L+@=qycP7`|B~go;O zzaP;)>%N^GX`PMRd4F$slg7`DwNFo;KlzDpl@|h+0aPw!>%K4r4tUdM){}X?$ zdi+NtMTZ^3zWGyhZVaxIyzHO$&5Ik48RP3s{fI9AgYV?JCmh}n4(~UKW*UZr&zq3nEo;;5#y-)DG^4BQsUEIOZyQ6-2mnU9Ie64lNZ@EP4hF&$?Kj>HN z6Z${l;+PCAK<>&dFftx&(7ETt7n~C-$&H%W38{? zyS2Aw_2|t@l>bojsV}oEP+Z?