From e1e8adc5f8a9903246091c19b01cd984f8648e10 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Wed, 13 Mar 2024 15:55:32 +0100 Subject: [PATCH 01/32] Add winch settings --- data/settings.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/settings.yaml b/data/settings.yaml index 00a3963..829cdea 100644 --- a/data/settings.yaml +++ b/data/settings.yaml @@ -79,6 +79,11 @@ tether: e_tether: 55000000000.0 # axial tensile modulus of Dyneema (M.B. Ruppert) [Pa] # SK75: 109 to 132 GPa according to datasheet +winch: + max_force: 4000 # maximal (nominal) tether force; short overload allowed [N] + v_ro_max: 8.0 # maximal reel-out speed [m/s] + v_ro_min: -8.0 # minimal reel-out speed (=max reel-in speed) [m/s] + environment: v_wind: 9.51 # wind speed at reference height [m/s] v_wind_ref: [9.51, 0.0] # wind speed vector at reference height [m/s] From e01aade52fd1c8ea4569da653ac012febec46ed0 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Wed, 13 Mar 2024 16:12:42 +0100 Subject: [PATCH 02/32] Update dependencies --- Project.toml | 19 +++++++++---------- src/KiteViewers.jl | 4 ++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/Project.toml b/Project.toml index aec97bc..49c79e0 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "KiteViewers" uuid = "2e593061-95e7-45e4-95f4-df0491f2e601" authors = ["Uwe Fechner and contributors"] -version = "0.2.4" +version = "0.4.0" [deps] FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" @@ -16,22 +16,21 @@ Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" Rotations = "6038ab10-8711-5258-84ad-4b1120ba62dc" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" -TestEnv = "1e6cf692-eddd-4d53-88a5-2d735e33781b" Timers = "21f18d07-b854-4dab-86f0-c15a3821819a" [compat] FileIO = "1" -GLMakie = "0.4.7" -GeometryBasics = "0.4" -KiteUtils = "0.4" +GLMakie = "0.9.9" +GeometryBasics = "0.4.10" +Joysticks = "0.1.2, 0.1.4" +KiteUtils = "0.5" Parameters = "0.12" -Rotations = "1.2, 1.3" -StaticArrays = "1.4" -TestEnv = "1" +Pkg = "1.9, 1.10" Reexport = "1" +Rotations = "1.2, 1.3" +StaticArrays = "1.9.3" Timers = "0.1.5" -Joysticks = "0.1.2, 0.1.4" -julia = "1.6, 1.7, 1.8" +julia = "1.9, 1.10" [extras] KiteModels = "b94af626-7959-4878-9336-2adc27959007" diff --git a/src/KiteViewers.jl b/src/KiteViewers.jl index fd132fd..e30e3a4 100644 --- a/src/KiteViewers.jl +++ b/src/KiteViewers.jl @@ -15,8 +15,8 @@ if ! isdir(get_data_path()) KiteUtils.set_data_path(datapath) end -include("viewer3D.jl") -include("common.jl") +# include("viewer3D.jl") +# include("common.jl") @with_kw mutable struct KiteLogger states::Vector{SysState{7}} = SysState{7}[] From 93135ab2f143a872c147f59c815c252b48712d41 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 09:23:33 +0100 Subject: [PATCH 03/32] add file to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 29732cb..9840b42 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /Manifest.toml /Manifest.toml.bak video/video*.png +.vscode/settings.json From aa31741d4efd8385d3c37e9aa1b93a4da35cfb12 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 09:25:42 +0100 Subject: [PATCH 04/32] make it work --- src/KiteViewers.jl | 2 +- src/viewer3D2.jl | 177 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 src/viewer3D2.jl diff --git a/src/KiteViewers.jl b/src/KiteViewers.jl index e30e3a4..3517cff 100644 --- a/src/KiteViewers.jl +++ b/src/KiteViewers.jl @@ -15,7 +15,7 @@ if ! isdir(get_data_path()) KiteUtils.set_data_path(datapath) end -# include("viewer3D.jl") +include("viewer3D2.jl") # include("common.jl") @with_kw mutable struct KiteLogger diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl new file mode 100644 index 0000000..5982ca0 --- /dev/null +++ b/src/viewer3D2.jl @@ -0,0 +1,177 @@ +#= MIT License + +Copyright (c) 2020, 2021 Uwe Fechner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. =# + +@consts begin + SCALE = 1.2 + INITIAL_HEIGHT = 80.0*se().zoom # meter, for demo + MAX_HEIGHT = 200.0*se().zoom # meter, for demo + KITE = FileIO.load(joinpath(dirname(get_data_path()), se().model)) + FLYING = [false] + PLAYING = [false] + GUI_ACTIVE = [false] + AXIS_LABEL_SIZE = 30 + TEXT_SIZE = 16 + # running = Node(false) + # starting = [0] + # zoom = [1.0] + # steering = [0.0] + # textnode = Node("") # lower left + # textnode2 = Node("") # upper right + # textsize = Node(TEXT_SIZE) + # textsize2 = Node(AXIS_LABEL_SIZE) + # status = Node("") + # p1 = Node(Vector{Point2f}(undef, 6000)) # 5 min + # p2 = Node(Vector{Point2f}(undef, 6000)) # 5 min + # pos_x = Node(0.0f0) + + # points = Vector{Point3f}(undef, se().segments+1+4) + # quat = Node(Quaternionf0(0,0,0,1)) # orientation of the kite + # kite_pos = Node(Point3f(1,0,0)) # position of the kite + # positions = Node([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments + # part_positions = Node([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles + # markersizes = Node([Point3f(1,1,1) for x in 1:se().segments+KITE_SPRINGS]) # includes the segment length + # rotations = Node([Point3f(1,0,0) for x in 1:se().segments+KITE_SPRINGS]) # unit vectors corresponding with + # # the orientation of the segments +end + +# """ +# abstract type AbstractKiteViewer + +# All kite viewers must inherit from this type. All methods that are defined on this type must work +# with all kite viewers. All exported methods must work on this type. +# """ +# abstract type AbstractKiteViewer end + +# """ +# const AKV = AbstractKiteViewer + +# Short alias for the AbstractKiteViewer. +# """ +# const AKV = AbstractKiteViewer + +# # struct that stores the state of the 3D viewer +# mutable struct Viewer3D <: AKV +# scene::Scene +# layout::GridLayout +# scene3D::LScene +# cam::Camera3D +# screen::GLMakie.Screen +# btn_RESET::Button +# btn_ZOOM_in::Button +# btn_ZOOM_out::Button +# btn_PLAY::Button +# btn_AUTO::Button +# btn_PARKING::Button +# btn_STOP::Button +# step::Int64 +# energy::Float64 +# show_kite::Bool +# stop::Bool +# end + +# function clear_viewer(kv::AKV) +# kv.stop = false +# kv.step = 1 +# kv.energy = 0 +# status[] = "Running..." +# end + +# function stop(kv::AKV) +# kv.stop = true +# status[]="Stopped" +# end + +# function set_status(kv::AKV, status_text) +# status[] = status_text +# end + +# function Viewer3D(show_kite=true, autolabel="Autopilot") +# scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) +# scene3D = LScene(scene, scenekw = (show_axis=false, limits = Rect(-7,-10.0,0, 11,10,11), resolution = (800, 800)), raw=false) +# create_coordinate_system(scene3D) +# cam = cameracontrols(scene3D.scene) + +# FLYING[1] = false +# PLAYING[1] = false +# GUI_ACTIVE[1] = true + +# reset_view(cam, scene3D) + +# textsize[] = TEXT_SIZE +# textsize2[] = AXIS_LABEL_SIZE +# text!(scene3D, "z", position = Point3f(0, 0, 14.6), textsize = textsize2, align = (:center, :center), show_axis = false) +# text!(scene3D, "x", position = Point3f(17, 0,0), textsize = textsize2, align = (:center, :center), show_axis = false) +# text!(scene3D, "y", position = Point3f( 0, 14.5, 0), textsize = textsize2, align = (:center, :center), show_axis = false) + +# text!(scene, status, position = Point2f( 20, 0), textsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) +# status[]="Stopped" + +# layout[1, 1] = scene3D +# layout[2, 1] = buttongrid = GridLayout(tellwidth = false) + +# l_sublayout = GridLayout() +# layout[1:3, 1] = l_sublayout +# l_sublayout[:v] = [scene3D, buttongrid] + +# btn_RESET = Button(scene, label = "RESET") +# btn_ZOOM_in = Button(scene, label = "Zoom +") +# btn_ZOOM_out = Button(scene, label = "Zoom -") +# btn_PLAY_PAUSE = Button(scene, label = @lift($running ? "PAUSE" : " PLAY ")) +# btn_AUTO = Button(scene, label = autolabel) +# btn_PARKING = Button(scene, label = "Parking") +# btn_STOP = Button(scene, label = "STOP") +# sw = Toggle(scene, active = false) +# label = Label(scene, "repeat") + +# buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] + +# gl_screen = display(scene) +# s = Viewer3D(scene, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) + +# init_system(s.scene3D; show_kite=show_kite) + +# camera = cameracontrols(s.scene3D.scene) +# reset_view(camera, s.scene3D) + +# on(s.btn_RESET.clicks) do c +# reset_view(camera, s.scene3D) +# zoom[1] = 1.0 +# end + +# on(s.btn_ZOOM_in.clicks) do c +# zoom[1] *= 1.2 +# reset_and_zoom(camera, s.scene3D, zoom[1]) +# end + +# on(s.btn_ZOOM_out.clicks) do c +# zoom[1] /= 1.2 +# reset_and_zoom(camera, s.scene3D, zoom[1]) +# end +# status[] = "Stopped" +# return s +# end + +# function save_png(viewer; filename="video", index = 1) +# buffer = IOBuffer() +# @printf(buffer, "%06i", index) +# save(filename * String(take!(buffer)) * ".png", viewer.scene) +# end From 3b495f435907105cd1f0c416080d7eed6bfc9332 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 09:56:36 +0100 Subject: [PATCH 05/32] fixed Node --- src/viewer3D2.jl | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 5982ca0..f087edb 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -30,27 +30,27 @@ SOFTWARE. =# GUI_ACTIVE = [false] AXIS_LABEL_SIZE = 30 TEXT_SIZE = 16 - # running = Node(false) - # starting = [0] - # zoom = [1.0] - # steering = [0.0] - # textnode = Node("") # lower left - # textnode2 = Node("") # upper right - # textsize = Node(TEXT_SIZE) - # textsize2 = Node(AXIS_LABEL_SIZE) - # status = Node("") - # p1 = Node(Vector{Point2f}(undef, 6000)) # 5 min - # p2 = Node(Vector{Point2f}(undef, 6000)) # 5 min - # pos_x = Node(0.0f0) - - # points = Vector{Point3f}(undef, se().segments+1+4) - # quat = Node(Quaternionf0(0,0,0,1)) # orientation of the kite - # kite_pos = Node(Point3f(1,0,0)) # position of the kite - # positions = Node([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments - # part_positions = Node([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles - # markersizes = Node([Point3f(1,1,1) for x in 1:se().segments+KITE_SPRINGS]) # includes the segment length - # rotations = Node([Point3f(1,0,0) for x in 1:se().segments+KITE_SPRINGS]) # unit vectors corresponding with - # # the orientation of the segments + running = Observable(false) + starting = [0] + zoom = [1.0] + steering = [0.0] + textnode = Observable("") # lower left + textnode2 = Observable("") # upper right + textsize = Observable(TEXT_SIZE) + textsize2 = Observable(AXIS_LABEL_SIZE) + status = Observable("") + p1 = Observable(Vector{Point2f}(undef, 6000)) # 5 min + p2 = Observable(Vector{Point2f}(undef, 6000)) # 5 min + pos_x = Observable(0.0f0) + + points = Vector{Point3f}(undef, se().segments+1+4) + quat = Observable(Quaternionf0(0,0,0,1)) # orientation of the kite + kite_pos = Observable(Point3f(1,0,0)) # position of the kite + positions = Observable([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments + part_positions = Observable([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles + markersizes = Observable([Point3f(1,1,1) for x in 1:se().segments+KITE_SPRINGS]) # includes the segment length + rotations = Observable([Point3f(1,0,0) for x in 1:se().segments+KITE_SPRINGS]) # unit vectors corresponding with + # the orientation of the segments end # """ From f572425636c8d66a4901fbb0ce44928c0e4fbf6f Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 10:14:21 +0100 Subject: [PATCH 06/32] fix --- src/viewer3D2.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index f087edb..7782ab4 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -44,7 +44,7 @@ SOFTWARE. =# pos_x = Observable(0.0f0) points = Vector{Point3f}(undef, se().segments+1+4) - quat = Observable(Quaternionf0(0,0,0,1)) # orientation of the kite + quat = Observable(Quaternionf(0,0,0,1)) # orientation of the kite kite_pos = Observable(Point3f(1,0,0)) # position of the kite positions = Observable([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments part_positions = Observable([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles From b463dfdf0d4475a391395ff71d7bd01e0683ff95 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 10:26:44 +0100 Subject: [PATCH 07/32] All helpers work --- src/viewer3D2.jl | 100 +++++++++++++++++++++++------------------------ 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 7782ab4..44bc7d8 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -53,56 +53,56 @@ SOFTWARE. =# # the orientation of the segments end -# """ -# abstract type AbstractKiteViewer - -# All kite viewers must inherit from this type. All methods that are defined on this type must work -# with all kite viewers. All exported methods must work on this type. -# """ -# abstract type AbstractKiteViewer end - -# """ -# const AKV = AbstractKiteViewer - -# Short alias for the AbstractKiteViewer. -# """ -# const AKV = AbstractKiteViewer - -# # struct that stores the state of the 3D viewer -# mutable struct Viewer3D <: AKV -# scene::Scene -# layout::GridLayout -# scene3D::LScene -# cam::Camera3D -# screen::GLMakie.Screen -# btn_RESET::Button -# btn_ZOOM_in::Button -# btn_ZOOM_out::Button -# btn_PLAY::Button -# btn_AUTO::Button -# btn_PARKING::Button -# btn_STOP::Button -# step::Int64 -# energy::Float64 -# show_kite::Bool -# stop::Bool -# end - -# function clear_viewer(kv::AKV) -# kv.stop = false -# kv.step = 1 -# kv.energy = 0 -# status[] = "Running..." -# end - -# function stop(kv::AKV) -# kv.stop = true -# status[]="Stopped" -# end - -# function set_status(kv::AKV, status_text) -# status[] = status_text -# end +""" + abstract type AbstractKiteViewer + +All kite viewers must inherit from this type. All methods that are defined on this type must work +with all kite viewers. All exported methods must work on this type. +""" +abstract type AbstractKiteViewer end + +""" + const AKV = AbstractKiteViewer + +Short alias for the AbstractKiteViewer. +""" +const AKV = AbstractKiteViewer + +# struct that stores the state of the 3D viewer +mutable struct Viewer3D <: AKV + scene::Scene + layout::GridLayout + scene3D::LScene + cam::Camera3D + screen::GLMakie.Screen + btn_RESET::Button + btn_ZOOM_in::Button + btn_ZOOM_out::Button + btn_PLAY::Button + btn_AUTO::Button + btn_PARKING::Button + btn_STOP::Button + step::Int64 + energy::Float64 + show_kite::Bool + stop::Bool +end + +function clear_viewer(kv::AKV) + kv.stop = false + kv.step = 1 + kv.energy = 0 + status[] = "Running..." +end + +function stop(kv::AKV) + kv.stop = true + status[]="Stopped" +end + +function set_status(kv::AKV, status_text) + status[] = status_text +end # function Viewer3D(show_kite=true, autolabel="Autopilot") # scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) From b5210844e501918816c8b11a66eb8e69eb3ebb4f Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 10:28:00 +0100 Subject: [PATCH 08/32] All helpers work --- src/viewer3D2.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 44bc7d8..c975665 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -104,7 +104,7 @@ function set_status(kv::AKV, status_text) status[] = status_text end -# function Viewer3D(show_kite=true, autolabel="Autopilot") +function Viewer3D(show_kite=true, autolabel="Autopilot") # scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) # scene3D = LScene(scene, scenekw = (show_axis=false, limits = Rect(-7,-10.0,0, 11,10,11), resolution = (800, 800)), raw=false) # create_coordinate_system(scene3D) @@ -168,7 +168,7 @@ end # end # status[] = "Stopped" # return s -# end +end # function save_png(viewer; filename="video", index = 1) # buffer = IOBuffer() From 99b8f716687322f18e5141a79032f007c17710d9 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 10:38:33 +0100 Subject: [PATCH 09/32] No syntax error --- src/KiteViewers.jl | 2 +- src/viewer3D2.jl | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/KiteViewers.jl b/src/KiteViewers.jl index 3517cff..74e30f4 100644 --- a/src/KiteViewers.jl +++ b/src/KiteViewers.jl @@ -16,7 +16,7 @@ if ! isdir(get_data_path()) end include("viewer3D2.jl") -# include("common.jl") +include("common.jl") @with_kw mutable struct KiteLogger states::Vector{SysState{7}} = SysState{7}[] diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index c975665..887a4b4 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -105,10 +105,18 @@ function set_status(kv::AKV, status_text) end function Viewer3D(show_kite=true, autolabel="Autopilot") -# scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) -# scene3D = LScene(scene, scenekw = (show_axis=false, limits = Rect(-7,-10.0,0, 11,10,11), resolution = (800, 800)), raw=false) -# create_coordinate_system(scene3D) -# cam = cameracontrols(scene3D.scene) + # scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) + # scene3D = LScene(scene, scenekw = (show_axis=false, limits = Rect(-7,-10.0,0, 11,10,11), resolution = (800, 800)), raw=false) + # create_coordinate_system(scene3D) + # cam = cameracontrols(scene3D.scene) + + fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) + # just a try + scene = fig[1,1] + scene3D = LScene(scene, scenekw=(show_axis=false, limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) + + create_coordinate_system(scene3D) + cam = cameracontrols(scene3D.scene) # FLYING[1] = false # PLAYING[1] = false From 6d6c246642b1a04f4a2ecde9844b98a2fbb562c8 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 10:54:14 +0100 Subject: [PATCH 10/32] First working version... --- src/common.jl | 18 ++++----- src/viewer3D2.jl | 100 +++++++++++++++++++++++++++++++++++++---------- 2 files changed, 88 insertions(+), 30 deletions(-) diff --git a/src/common.jl b/src/common.jl index 3cfcd63..2b11d21 100644 --- a/src/common.jl +++ b/src/common.jl @@ -178,16 +178,16 @@ function update_system(kv::AKV, state::SysState; scale=1.0, kite_scale=1.0) end end -function reset_view(cam, scene3D) - update_cam!(scene3D.scene, [-15.425113, -18.925116, 5.5], [-1.5, -5.0, 5.5]) -end +# function reset_view(cam, scene3D) +# update_cam!(scene3D.scene, [-15.425113, -18.925116, 5.5], [-1.5, -5.0, 5.5]) +# end -function zoom_scene(camera, scene, zoom=1.0f0) - @extractvalue camera (fov, near, lookat, eyeposition, upvector) - dir_vector = eyeposition - lookat - new_eyeposition = lookat + dir_vector * (2.0f0 - zoom) - update_cam!(scene, new_eyeposition, lookat) -end +# function zoom_scene(camera, scene, zoom=1.0f0) +# @extractvalue camera (fov, near, lookat, eyeposition, upvector) +# dir_vector = eyeposition - lookat +# new_eyeposition = lookat + dir_vector * (2.0f0 - zoom) +# update_cam!(scene, new_eyeposition, lookat) +# end function reset_and_zoom(camera, scene3D, zoom) reset_view(camera, scene3D) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 887a4b4..3d6f57e 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -36,8 +36,8 @@ SOFTWARE. =# steering = [0.0] textnode = Observable("") # lower left textnode2 = Observable("") # upper right - textsize = Observable(TEXT_SIZE) - textsize2 = Observable(AXIS_LABEL_SIZE) + fontsize = Observable(TEXT_SIZE) + fontsize2 = Observable(AXIS_LABEL_SIZE) status = Observable("") p1 = Observable(Vector{Point2f}(undef, 6000)) # 5 min p2 = Observable(Vector{Point2f}(undef, 6000)) # 5 min @@ -68,24 +68,36 @@ Short alias for the AbstractKiteViewer. """ const AKV = AbstractKiteViewer -# struct that stores the state of the 3D viewer -mutable struct Viewer3D <: AKV - scene::Scene - layout::GridLayout +# # struct that stores the state of the 3D viewer +# mutable struct Viewer3D <: AKV +# scene::Scene +# layout::GridLayout +# scene3D::LScene +# cam::Camera3D +# screen::GLMakie.Screen +# btn_RESET::Button +# btn_ZOOM_in::Button +# btn_ZOOM_out::Button +# btn_PLAY::Button +# btn_AUTO::Button +# btn_PARKING::Button +# btn_STOP::Button +# step::Int64 +# energy::Float64 +# show_kite::Bool +# stop::Bool +# end + +mutable struct Viewer3D + # scene::Scene + fig::Figure + # layout::GridLayout scene3D::LScene cam::Camera3D - screen::GLMakie.Screen + # screen::GLMakie.Screen btn_RESET::Button btn_ZOOM_in::Button btn_ZOOM_out::Button - btn_PLAY::Button - btn_AUTO::Button - btn_PARKING::Button - btn_STOP::Button - step::Int64 - energy::Float64 - show_kite::Bool - stop::Bool end function clear_viewer(kv::AKV) @@ -118,19 +130,64 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") create_coordinate_system(scene3D) cam = cameracontrols(scene3D.scene) + + FLYING[1] = false + PLAYING[1] = false + GUI_ACTIVE[1] = true + + # reset_view(cam, scene3D) + + fontsize[] = TEXT_SIZE + fontsize2[] = AXIS_LABEL_SIZE + text!(scene3D, "z", position = Point3f0(0, 0, 14.6), fontsize = fontsize2, align = (:center, :center), show_axis = false) + text!(scene3D, "x", position = Point3f0(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) + text!(scene3D, "y", position = Point3f0( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) + + text!(scene, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) + status[]="Stopped" + + # layout[1, 1] = scene3D + # layout[2, 1] = buttongrid = GridLayout(tellwidth = false) + + # l_sublayout = GridLayout() + # layout[1:3, 1] = l_sublayout + # l_sublayout[:v] = [scene3D, buttongrid] + + # fig[1, 1] = scene3D + fig[2, 1] = buttongrid = GridLayout(tellwidth=true) + + l_sublayout = GridLayout() + fig[1:3, 1] = l_sublayout + l_sublayout[:v] = [scene3D, buttongrid] + + btn_RESET = Button(scene, label = "RESET") + btn_ZOOM_in = Button(scene, label = "Zoom +") + btn_ZOOM_out = Button(scene, label = "Zoom -") + btn_PLAY_PAUSE = Button(scene, label = @lift($running ? "PAUSE" : " PLAY ")) + btn_STOP = Button(scene, label = "STOP") + sw = Toggle(scene, active = false) + label = Label(scene, "repeat") + + buttongrid[1, 1:7] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_STOP, sw, label] + + display(fig) + # old code, working with GLMakie 4.7 + # Viewer3D(scene, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) + Viewer3D(fig, scene3D, cam, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) + # FLYING[1] = false # PLAYING[1] = false # GUI_ACTIVE[1] = true # reset_view(cam, scene3D) -# textsize[] = TEXT_SIZE -# textsize2[] = AXIS_LABEL_SIZE -# text!(scene3D, "z", position = Point3f(0, 0, 14.6), textsize = textsize2, align = (:center, :center), show_axis = false) -# text!(scene3D, "x", position = Point3f(17, 0,0), textsize = textsize2, align = (:center, :center), show_axis = false) -# text!(scene3D, "y", position = Point3f( 0, 14.5, 0), textsize = textsize2, align = (:center, :center), show_axis = false) +# fontsize[] = TEXT_SIZE +# fontsize2[] = AXIS_LABEL_SIZE +# text!(scene3D, "z", position = Point3f(0, 0, 14.6), fontsize = fontsize2, align = (:center, :center), show_axis = false) +# text!(scene3D, "x", position = Point3f(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) +# text!(scene3D, "y", position = Point3f( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) -# text!(scene, status, position = Point2f( 20, 0), textsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) +# text!(scene, status, position = Point2f( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) # status[]="Stopped" # layout[1, 1] = scene3D @@ -176,6 +233,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # end # status[] = "Stopped" # return s + scene3D end # function save_png(viewer; filename="video", index = 1) From 675814210ea22e7b5fda600533053d8c8faed8b3 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 11:04:31 +0100 Subject: [PATCH 11/32] update_cam! error --- src/common.jl | 6 +++--- src/viewer3D2.jl | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/common.jl b/src/common.jl index 2b11d21..61af0a4 100644 --- a/src/common.jl +++ b/src/common.jl @@ -178,9 +178,9 @@ function update_system(kv::AKV, state::SysState; scale=1.0, kite_scale=1.0) end end -# function reset_view(cam, scene3D) -# update_cam!(scene3D.scene, [-15.425113, -18.925116, 5.5], [-1.5, -5.0, 5.5]) -# end +function reset_view(cam, scene3D) + update_cam!(scene3D.scene, [-15.425113, -18.925116, 5.5], [-1.5, -5.0, 5.5]) +end # function zoom_scene(camera, scene, zoom=1.0f0) # @extractvalue camera (fov, near, lookat, eyeposition, upvector) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 3d6f57e..1ef95d8 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -175,11 +175,11 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # Viewer3D(scene, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) Viewer3D(fig, scene3D, cam, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) -# FLYING[1] = false -# PLAYING[1] = false -# GUI_ACTIVE[1] = true + FLYING[1] = false + PLAYING[1] = false + GUI_ACTIVE[1] = true -# reset_view(cam, scene3D) + reset_view(cam, scene3D) # fontsize[] = TEXT_SIZE # fontsize2[] = AXIS_LABEL_SIZE @@ -233,7 +233,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # end # status[] = "Stopped" # return s - scene3D + scene3D end # function save_png(viewer; filename="video", index = 1) From d750f7e59236ef4f6aa927a36cfdbd5cb6ea19a8 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 11:31:02 +0100 Subject: [PATCH 12/32] fix reset_view --- src/common.jl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/common.jl b/src/common.jl index 61af0a4..da3c406 100644 --- a/src/common.jl +++ b/src/common.jl @@ -179,15 +179,15 @@ function update_system(kv::AKV, state::SysState; scale=1.0, kite_scale=1.0) end function reset_view(cam, scene3D) - update_cam!(scene3D.scene, [-15.425113, -18.925116, 5.5], [-1.5, -5.0, 5.5]) + update_cam!(scene3D.scene, Vec3f(-15.425113, -18.925116, 5.5), Vec3f(-1.5, -5.0, 5.5)) end -# function zoom_scene(camera, scene, zoom=1.0f0) -# @extractvalue camera (fov, near, lookat, eyeposition, upvector) -# dir_vector = eyeposition - lookat -# new_eyeposition = lookat + dir_vector * (2.0f0 - zoom) -# update_cam!(scene, new_eyeposition, lookat) -# end +function zoom_scene(camera, scene, zoom=1.0f0) + @extractvalue camera (fov, near, lookat, eyeposition, upvector) + dir_vector = eyeposition - lookat + new_eyeposition = lookat + dir_vector * (2.0f0 - zoom) + update_cam!(scene, new_eyeposition, lookat) +end function reset_and_zoom(camera, scene3D, zoom) reset_view(camera, scene3D) From c978f06d6bd3deab7a916e5218b6846d892fcdc2 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 11:48:08 +0100 Subject: [PATCH 13/32] cleanup --- src/viewer3D2.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 1ef95d8..1260674 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -123,7 +123,6 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # cam = cameracontrols(scene3D.scene) fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) - # just a try scene = fig[1,1] scene3D = LScene(scene, scenekw=(show_axis=false, limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) @@ -135,7 +134,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") PLAYING[1] = false GUI_ACTIVE[1] = true - # reset_view(cam, scene3D) + reset_view(cam, scene3D) fontsize[] = TEXT_SIZE fontsize2[] = AXIS_LABEL_SIZE @@ -171,8 +170,6 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") buttongrid[1, 1:7] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_STOP, sw, label] display(fig) - # old code, working with GLMakie 4.7 - # Viewer3D(scene, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) Viewer3D(fig, scene3D, cam, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) FLYING[1] = false From 04b86c713856ee70840b87a51b719354f1901a8d Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 11:52:21 +0100 Subject: [PATCH 14/32] Better sizing --- src/viewer3D2.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 1260674..6e3e9be 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -153,7 +153,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # l_sublayout[:v] = [scene3D, buttongrid] # fig[1, 1] = scene3D - fig[2, 1] = buttongrid = GridLayout(tellwidth=true) + fig[2, 1] = buttongrid = GridLayout(tellwidth=false) l_sublayout = GridLayout() fig[1:3, 1] = l_sublayout From acc711492f2f86c02e1d4812758937a43d88822d Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 11:54:51 +0100 Subject: [PATCH 15/32] Cleanup --- src/viewer3D2.jl | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 6e3e9be..861a804 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -129,7 +129,6 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") create_coordinate_system(scene3D) cam = cameracontrols(scene3D.scene) - FLYING[1] = false PLAYING[1] = false GUI_ACTIVE[1] = true @@ -145,16 +144,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") text!(scene, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) status[]="Stopped" - # layout[1, 1] = scene3D - # layout[2, 1] = buttongrid = GridLayout(tellwidth = false) - - # l_sublayout = GridLayout() - # layout[1:3, 1] = l_sublayout - # l_sublayout[:v] = [scene3D, buttongrid] - - # fig[1, 1] = scene3D fig[2, 1] = buttongrid = GridLayout(tellwidth=false) - l_sublayout = GridLayout() fig[1:3, 1] = l_sublayout l_sublayout[:v] = [scene3D, buttongrid] From a59e48649e1665ec23f8d256bd7179d7be1cbfe3 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 12:10:14 +0100 Subject: [PATCH 16/32] don't show axis... --- src/viewer3D2.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 861a804..e14b333 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -124,7 +124,8 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) scene = fig[1,1] - scene3D = LScene(scene, scenekw=(show_axis=false, limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) + scene3D = LScene(scene, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) + # hidedecorations!(scene3D.scene, grid = false) create_coordinate_system(scene3D) cam = cameracontrols(scene3D.scene) From 6b4a87384b6f28ddb691a019293d1b22a3b3cd3c Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 13:20:53 +0100 Subject: [PATCH 17/32] renaming --- src/viewer3D2.jl | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index e14b333..d1e8038 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -123,9 +123,9 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # cam = cameracontrols(scene3D.scene) fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) - scene = fig[1,1] - scene3D = LScene(scene, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) - # hidedecorations!(scene3D.scene, grid = false) + sub_fig = fig[1,1] + scene3D = LScene(sub_fig, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) + # hidedecorations!(scene3D.sub_fig, grid = false) create_coordinate_system(scene3D) cam = cameracontrols(scene3D.scene) @@ -142,7 +142,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") text!(scene3D, "x", position = Point3f0(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) text!(scene3D, "y", position = Point3f0( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) - text!(scene, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) + text!(sub_fig, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) status[]="Stopped" fig[2, 1] = buttongrid = GridLayout(tellwidth=false) @@ -150,13 +150,13 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") fig[1:3, 1] = l_sublayout l_sublayout[:v] = [scene3D, buttongrid] - btn_RESET = Button(scene, label = "RESET") - btn_ZOOM_in = Button(scene, label = "Zoom +") - btn_ZOOM_out = Button(scene, label = "Zoom -") - btn_PLAY_PAUSE = Button(scene, label = @lift($running ? "PAUSE" : " PLAY ")) - btn_STOP = Button(scene, label = "STOP") - sw = Toggle(scene, active = false) - label = Label(scene, "repeat") + btn_RESET = Button(sub_fig, label = "RESET") + btn_ZOOM_in = Button(sub_fig, label = "Zoom +") + btn_ZOOM_out = Button(sub_fig, label = "Zoom -") + btn_PLAY_PAUSE = Button(sub_fig, label = @lift($running ? "PAUSE" : " PLAY ")) + btn_STOP = Button(sub_fig, label = "STOP") + sw = Toggle(sub_fig, active = false) + label = Label(sub_fig, "repeat") buttongrid[1, 1:7] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_STOP, sw, label] @@ -175,7 +175,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # text!(scene3D, "x", position = Point3f(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) # text!(scene3D, "y", position = Point3f( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) -# text!(scene, status, position = Point2f( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) +# text!(sub_fig, status, position = Point2f( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) # status[]="Stopped" # layout[1, 1] = scene3D @@ -185,20 +185,20 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") # layout[1:3, 1] = l_sublayout # l_sublayout[:v] = [scene3D, buttongrid] -# btn_RESET = Button(scene, label = "RESET") -# btn_ZOOM_in = Button(scene, label = "Zoom +") -# btn_ZOOM_out = Button(scene, label = "Zoom -") -# btn_PLAY_PAUSE = Button(scene, label = @lift($running ? "PAUSE" : " PLAY ")) -# btn_AUTO = Button(scene, label = autolabel) -# btn_PARKING = Button(scene, label = "Parking") -# btn_STOP = Button(scene, label = "STOP") -# sw = Toggle(scene, active = false) -# label = Label(scene, "repeat") +# btn_RESET = Button(sub_fig, label = "RESET") +# btn_ZOOM_in = Button(sub_fig, label = "Zoom +") +# btn_ZOOM_out = Button(sub_fig, label = "Zoom -") +# btn_PLAY_PAUSE = Button(sub_fig, label = @lift($running ? "PAUSE" : " PLAY ")) +# btn_AUTO = Button(sub_fig, label = autolabel) +# btn_PARKING = Button(sub_fig, label = "Parking") +# btn_STOP = Button(sub_fig, label = "STOP") +# sw = Toggle(sub_fig, active = false) +# label = Label(sub_fig, "repeat") # buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] -# gl_screen = display(scene) -# s = Viewer3D(scene, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) +# gl_screen = display(sub_fig) +# s = Viewer3D(sub_fig, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) # init_system(s.scene3D; show_kite=show_kite) From f64cfef70b641a7d7c57bd2b411e1132644112ed Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 13:30:51 +0100 Subject: [PATCH 18/32] Fixed status line --- src/viewer3D2.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index d1e8038..a174e44 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -124,6 +124,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) sub_fig = fig[1,1] + scene2D = LScene(fig[3,1], show_axis=false, height=15) scene3D = LScene(sub_fig, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) # hidedecorations!(scene3D.sub_fig, grid = false) @@ -142,13 +143,13 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") text!(scene3D, "x", position = Point3f0(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) text!(scene3D, "y", position = Point3f0( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) - text!(sub_fig, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) + text!(scene2D, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false, space=:pixel) status[]="Stopped" fig[2, 1] = buttongrid = GridLayout(tellwidth=false) l_sublayout = GridLayout() fig[1:3, 1] = l_sublayout - l_sublayout[:v] = [scene3D, buttongrid] + l_sublayout[:v] = [scene3D, buttongrid, scene2D] btn_RESET = Button(sub_fig, label = "RESET") btn_ZOOM_in = Button(sub_fig, label = "Zoom +") From 64611bf5c4e4bd17b6a4f6c43d0c122ce82af5be Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 13:48:31 +0100 Subject: [PATCH 19/32] Cleanup --- src/viewer3D2.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index a174e44..daf64b6 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -124,9 +124,8 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) sub_fig = fig[1,1] - scene2D = LScene(fig[3,1], show_axis=false, height=15) + scene2D = LScene(fig[3,1], show_axis=false, height=16) scene3D = LScene(sub_fig, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) - # hidedecorations!(scene3D.sub_fig, grid = false) create_coordinate_system(scene3D) cam = cameracontrols(scene3D.scene) From 2d4053c4aa76e9e2a8f1736d30b0c30f068b0608 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 13:54:45 +0100 Subject: [PATCH 20/32] cleanup --- src/viewer3D2.jl | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index daf64b6..37de6fa 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -169,32 +169,8 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") reset_view(cam, scene3D) -# fontsize[] = TEXT_SIZE -# fontsize2[] = AXIS_LABEL_SIZE -# text!(scene3D, "z", position = Point3f(0, 0, 14.6), fontsize = fontsize2, align = (:center, :center), show_axis = false) -# text!(scene3D, "x", position = Point3f(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) -# text!(scene3D, "y", position = Point3f( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) - -# text!(sub_fig, status, position = Point2f( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) -# status[]="Stopped" - -# layout[1, 1] = scene3D -# layout[2, 1] = buttongrid = GridLayout(tellwidth = false) - -# l_sublayout = GridLayout() -# layout[1:3, 1] = l_sublayout -# l_sublayout[:v] = [scene3D, buttongrid] - -# btn_RESET = Button(sub_fig, label = "RESET") -# btn_ZOOM_in = Button(sub_fig, label = "Zoom +") -# btn_ZOOM_out = Button(sub_fig, label = "Zoom -") -# btn_PLAY_PAUSE = Button(sub_fig, label = @lift($running ? "PAUSE" : " PLAY ")) # btn_AUTO = Button(sub_fig, label = autolabel) -# btn_PARKING = Button(sub_fig, label = "Parking") -# btn_STOP = Button(sub_fig, label = "STOP") -# sw = Toggle(sub_fig, active = false) -# label = Label(sub_fig, "repeat") - +# btn_PARKING = Button(sub_fig, label = "Parking") # buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] # gl_screen = display(sub_fig) From 475c7a467a30a41ac13f33fc27176601e0c49d45 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 14:36:55 +0100 Subject: [PATCH 21/32] pretty good now --- src/common.jl | 4 ++-- src/viewer3D2.jl | 62 ++++++++++++++++++++++++++---------------------- 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/src/common.jl b/src/common.jl index da3c406..b022704 100644 --- a/src/common.jl +++ b/src/common.jl @@ -63,8 +63,8 @@ function init_system(scene; show_kite=true) if se().fixed_font != "" font=se().fixed_font end - text!(scene, textnode, position = Point3f(-5.2, 3.5, -1), textsize = textsize, font=font, align = (:left, :top)) - text!(scene, textnode2, position = Point3f(11, -2.5, 18), textsize = textsize, font=font, align = (:left, :top)) + text!(scene, textnode, position = Point3f(-5.2, 3.5, -1), font=font, align = (:left, :top), space=:pixel) + text!(scene, textnode2, position = Point3f(11, -2.5, 18), font=font, align = (:left, :top), space=:pixel) end # update the kite power system, consisting of the tether, the kite and the state (text and numbers) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 37de6fa..fb626e8 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -94,10 +94,18 @@ mutable struct Viewer3D # layout::GridLayout scene3D::LScene cam::Camera3D - # screen::GLMakie.Screen + screen::GLMakie.Screen btn_RESET::Button btn_ZOOM_in::Button btn_ZOOM_out::Button + btn_PLAY::Button + btn_AUTO::Button + btn_PARKING::Button + btn_STOP::Button + step::Int64 + energy::Float64 + show_kite::Bool + stop::Bool end function clear_viewer(kv::AKV) @@ -154,14 +162,14 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") btn_ZOOM_in = Button(sub_fig, label = "Zoom +") btn_ZOOM_out = Button(sub_fig, label = "Zoom -") btn_PLAY_PAUSE = Button(sub_fig, label = @lift($running ? "PAUSE" : " PLAY ")) + btn_AUTO = Button(sub_fig, label = autolabel) + btn_PARKING = Button(sub_fig, label = "Parking") btn_STOP = Button(sub_fig, label = "STOP") sw = Toggle(sub_fig, active = false) label = Label(sub_fig, "repeat") - buttongrid[1, 1:7] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_STOP, sw, label] - - display(fig) - Viewer3D(fig, scene3D, cam, btn_RESET, btn_ZOOM_in, btn_ZOOM_out) + buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] + gl_screen = display(fig) FLYING[1] = false PLAYING[1] = false @@ -169,35 +177,31 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") reset_view(cam, scene3D) -# btn_AUTO = Button(sub_fig, label = autolabel) -# btn_PARKING = Button(sub_fig, label = "Parking") -# buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] - -# gl_screen = display(sub_fig) -# s = Viewer3D(sub_fig, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) + # gl_screen = display(fig) + s = Viewer3D(fig, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) + # s = Viewer3D(sub_fig, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) -# init_system(s.scene3D; show_kite=show_kite) + init_system(s.scene3D; show_kite=show_kite) -# camera = cameracontrols(s.scene3D.scene) -# reset_view(camera, s.scene3D) + camera = cameracontrols(s.scene3D.scene) + reset_view(camera, s.scene3D) -# on(s.btn_RESET.clicks) do c -# reset_view(camera, s.scene3D) -# zoom[1] = 1.0 -# end + on(s.btn_RESET.clicks) do c + reset_view(camera, s.scene3D) + zoom[1] = 1.0 + end -# on(s.btn_ZOOM_in.clicks) do c -# zoom[1] *= 1.2 -# reset_and_zoom(camera, s.scene3D, zoom[1]) -# end + on(s.btn_ZOOM_in.clicks) do c + zoom[1] *= 1.2 + reset_and_zoom(camera, s.scene3D, zoom[1]) + end -# on(s.btn_ZOOM_out.clicks) do c -# zoom[1] /= 1.2 -# reset_and_zoom(camera, s.scene3D, zoom[1]) -# end -# status[] = "Stopped" -# return s - scene3D + on(s.btn_ZOOM_out.clicks) do c + zoom[1] /= 1.2 + reset_and_zoom(camera, s.scene3D, zoom[1]) + end + status[] = "Stopped" + s end # function save_png(viewer; filename="video", index = 1) From 131f1c8b3d6120157903f7e9cf0b0f8d988b703a Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 14:37:58 +0100 Subject: [PATCH 22/32] add save_png() --- src/viewer3D2.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index fb626e8..055ecdd 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -204,8 +204,8 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") s end -# function save_png(viewer; filename="video", index = 1) -# buffer = IOBuffer() -# @printf(buffer, "%06i", index) -# save(filename * String(take!(buffer)) * ".png", viewer.scene) -# end +function save_png(viewer; filename="video", index = 1) + buffer = IOBuffer() + @printf(buffer, "%06i", index) + save(filename * String(take!(buffer)) * ".png", viewer.scene) +end From 7f8dd05f13d5958386f78c1b240f6d19a96b5c13 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 14:38:38 +0100 Subject: [PATCH 23/32] Cleanup --- src/viewer3D2.jl | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl index 055ecdd..ab30d6c 100644 --- a/src/viewer3D2.jl +++ b/src/viewer3D2.jl @@ -125,11 +125,6 @@ function set_status(kv::AKV, status_text) end function Viewer3D(show_kite=true, autolabel="Autopilot") - # scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) - # scene3D = LScene(scene, scenekw = (show_axis=false, limits = Rect(-7,-10.0,0, 11,10,11), resolution = (800, 800)), raw=false) - # create_coordinate_system(scene3D) - # cam = cameracontrols(scene3D.scene) - fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) sub_fig = fig[1,1] scene2D = LScene(fig[3,1], show_axis=false, height=16) From 58ab7ca39d3835bbd5d330ce102fd994f008862d Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 14:48:12 +0100 Subject: [PATCH 24/32] Cleanup --- src/KiteViewers.jl | 2 +- src/viewer3D.jl | 94 +++++++++++---------- src/viewer3D2.jl | 206 --------------------------------------------- 3 files changed, 50 insertions(+), 252 deletions(-) delete mode 100644 src/viewer3D2.jl diff --git a/src/KiteViewers.jl b/src/KiteViewers.jl index 74e30f4..fd132fd 100644 --- a/src/KiteViewers.jl +++ b/src/KiteViewers.jl @@ -15,7 +15,7 @@ if ! isdir(get_data_path()) KiteUtils.set_data_path(datapath) end -include("viewer3D2.jl") +include("viewer3D.jl") include("common.jl") @with_kw mutable struct KiteLogger diff --git a/src/viewer3D.jl b/src/viewer3D.jl index 0b3a05f..f60f90c 100644 --- a/src/viewer3D.jl +++ b/src/viewer3D.jl @@ -30,27 +30,27 @@ SOFTWARE. =# GUI_ACTIVE = [false] AXIS_LABEL_SIZE = 30 TEXT_SIZE = 16 - running = Node(false) + running = Observable(false) starting = [0] zoom = [1.0] steering = [0.0] - textnode = Node("") # lower left - textnode2 = Node("") # upper right - textsize = Node(TEXT_SIZE) - textsize2 = Node(AXIS_LABEL_SIZE) - status = Node("") - p1 = Node(Vector{Point2f}(undef, 6000)) # 5 min - p2 = Node(Vector{Point2f}(undef, 6000)) # 5 min - pos_x = Node(0.0f0) + textnode = Observable("") # lower left + textnode2 = Observable("") # upper right + fontsize = Observable(TEXT_SIZE) + fontsize2 = Observable(AXIS_LABEL_SIZE) + status = Observable("") + p1 = Observable(Vector{Point2f}(undef, 6000)) # 5 min + p2 = Observable(Vector{Point2f}(undef, 6000)) # 5 min + pos_x = Observable(0.0f0) points = Vector{Point3f}(undef, se().segments+1+4) - quat = Node(Quaternionf0(0,0,0,1)) # orientation of the kite - kite_pos = Node(Point3f(1,0,0)) # position of the kite - positions = Node([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments - part_positions = Node([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles - markersizes = Node([Point3f(1,1,1) for x in 1:se().segments+KITE_SPRINGS]) # includes the segment length - rotations = Node([Point3f(1,0,0) for x in 1:se().segments+KITE_SPRINGS]) # unit vectors corresponding with - # the orientation of the segments + quat = Observable(Quaternionf(0,0,0,1)) # orientation of the kite + kite_pos = Observable(Point3f(1,0,0)) # position of the kite + positions = Observable([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments + part_positions = Observable([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles + markersizes = Observable([Point3f(1,1,1) for x in 1:se().segments+KITE_SPRINGS]) # includes the segment length + rotations = Observable([Point3f(1,0,0) for x in 1:se().segments+KITE_SPRINGS]) # unit vectors corresponding with + # the orientation of the segments end """ @@ -68,10 +68,8 @@ Short alias for the AbstractKiteViewer. """ const AKV = AbstractKiteViewer -# struct that stores the state of the 3D viewer mutable struct Viewer3D <: AKV - scene::Scene - layout::GridLayout + fig::Figure scene3D::LScene cam::Camera3D screen::GLMakie.Screen @@ -105,8 +103,11 @@ function set_status(kv::AKV, status_text) end function Viewer3D(show_kite=true, autolabel="Autopilot") - scene, layout = layoutscene(resolution = (840, 900), backgroundcolor = RGBf(0.7, 0.8, 1)) - scene3D = LScene(scene, scenekw = (show_axis=false, limits = Rect(-7,-10.0,0, 11,10,11), resolution = (800, 800)), raw=false) + fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) + sub_fig = fig[1,1] + scene2D = LScene(fig[3,1], show_axis=false, height=16) + scene3D = LScene(sub_fig, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) + create_coordinate_system(scene3D) cam = cameracontrols(scene3D.scene) @@ -116,37 +117,40 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") reset_view(cam, scene3D) - textsize[] = TEXT_SIZE - textsize2[] = AXIS_LABEL_SIZE - text!(scene3D, "z", position = Point3f(0, 0, 14.6), textsize = textsize2, align = (:center, :center), show_axis = false) - text!(scene3D, "x", position = Point3f(17, 0,0), textsize = textsize2, align = (:center, :center), show_axis = false) - text!(scene3D, "y", position = Point3f( 0, 14.5, 0), textsize = textsize2, align = (:center, :center), show_axis = false) + fontsize[] = TEXT_SIZE + fontsize2[] = AXIS_LABEL_SIZE + text!(scene3D, "z", position = Point3f0(0, 0, 14.6), fontsize = fontsize2, align = (:center, :center), show_axis = false) + text!(scene3D, "x", position = Point3f0(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) + text!(scene3D, "y", position = Point3f0( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) - text!(scene, status, position = Point2f( 20, 0), textsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false) + text!(scene2D, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false, space=:pixel) status[]="Stopped" - layout[1, 1] = scene3D - layout[2, 1] = buttongrid = GridLayout(tellwidth = false) - + fig[2, 1] = buttongrid = GridLayout(tellwidth=false) l_sublayout = GridLayout() - layout[1:3, 1] = l_sublayout - l_sublayout[:v] = [scene3D, buttongrid] - - btn_RESET = Button(scene, label = "RESET") - btn_ZOOM_in = Button(scene, label = "Zoom +") - btn_ZOOM_out = Button(scene, label = "Zoom -") - btn_PLAY_PAUSE = Button(scene, label = @lift($running ? "PAUSE" : " PLAY ")) - btn_AUTO = Button(scene, label = autolabel) - btn_PARKING = Button(scene, label = "Parking") - btn_STOP = Button(scene, label = "STOP") - sw = Toggle(scene, active = false) - label = Label(scene, "repeat") + fig[1:3, 1] = l_sublayout + l_sublayout[:v] = [scene3D, buttongrid, scene2D] + + btn_RESET = Button(sub_fig, label = "RESET") + btn_ZOOM_in = Button(sub_fig, label = "Zoom +") + btn_ZOOM_out = Button(sub_fig, label = "Zoom -") + btn_PLAY_PAUSE = Button(sub_fig, label = @lift($running ? "PAUSE" : " PLAY ")) + btn_AUTO = Button(sub_fig, label = autolabel) + btn_PARKING = Button(sub_fig, label = "Parking") + btn_STOP = Button(sub_fig, label = "STOP") + sw = Toggle(sub_fig, active = false) + label = Label(sub_fig, "repeat") buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] + gl_screen = display(fig) - gl_screen = display(scene) - s = Viewer3D(scene, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) + FLYING[1] = false + PLAYING[1] = false + GUI_ACTIVE[1] = true + + reset_view(cam, scene3D) + s = Viewer3D(fig, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) init_system(s.scene3D; show_kite=show_kite) camera = cameracontrols(s.scene3D.scene) @@ -167,7 +171,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") reset_and_zoom(camera, s.scene3D, zoom[1]) end status[] = "Stopped" - return s + s end function save_png(viewer; filename="video", index = 1) diff --git a/src/viewer3D2.jl b/src/viewer3D2.jl deleted file mode 100644 index ab30d6c..0000000 --- a/src/viewer3D2.jl +++ /dev/null @@ -1,206 +0,0 @@ -#= MIT License - -Copyright (c) 2020, 2021 Uwe Fechner - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. =# - -@consts begin - SCALE = 1.2 - INITIAL_HEIGHT = 80.0*se().zoom # meter, for demo - MAX_HEIGHT = 200.0*se().zoom # meter, for demo - KITE = FileIO.load(joinpath(dirname(get_data_path()), se().model)) - FLYING = [false] - PLAYING = [false] - GUI_ACTIVE = [false] - AXIS_LABEL_SIZE = 30 - TEXT_SIZE = 16 - running = Observable(false) - starting = [0] - zoom = [1.0] - steering = [0.0] - textnode = Observable("") # lower left - textnode2 = Observable("") # upper right - fontsize = Observable(TEXT_SIZE) - fontsize2 = Observable(AXIS_LABEL_SIZE) - status = Observable("") - p1 = Observable(Vector{Point2f}(undef, 6000)) # 5 min - p2 = Observable(Vector{Point2f}(undef, 6000)) # 5 min - pos_x = Observable(0.0f0) - - points = Vector{Point3f}(undef, se().segments+1+4) - quat = Observable(Quaternionf(0,0,0,1)) # orientation of the kite - kite_pos = Observable(Point3f(1,0,0)) # position of the kite - positions = Observable([Point3f(x,0,0) for x in 1:se().segments+KITE_SPRINGS]) # positions of the tether segments - part_positions = Observable([Point3f(x,0,0) for x in 1:se().segments+1+4]) # positions of the tether particles - markersizes = Observable([Point3f(1,1,1) for x in 1:se().segments+KITE_SPRINGS]) # includes the segment length - rotations = Observable([Point3f(1,0,0) for x in 1:se().segments+KITE_SPRINGS]) # unit vectors corresponding with - # the orientation of the segments -end - -""" - abstract type AbstractKiteViewer - -All kite viewers must inherit from this type. All methods that are defined on this type must work -with all kite viewers. All exported methods must work on this type. -""" -abstract type AbstractKiteViewer end - -""" - const AKV = AbstractKiteViewer - -Short alias for the AbstractKiteViewer. -""" -const AKV = AbstractKiteViewer - -# # struct that stores the state of the 3D viewer -# mutable struct Viewer3D <: AKV -# scene::Scene -# layout::GridLayout -# scene3D::LScene -# cam::Camera3D -# screen::GLMakie.Screen -# btn_RESET::Button -# btn_ZOOM_in::Button -# btn_ZOOM_out::Button -# btn_PLAY::Button -# btn_AUTO::Button -# btn_PARKING::Button -# btn_STOP::Button -# step::Int64 -# energy::Float64 -# show_kite::Bool -# stop::Bool -# end - -mutable struct Viewer3D - # scene::Scene - fig::Figure - # layout::GridLayout - scene3D::LScene - cam::Camera3D - screen::GLMakie.Screen - btn_RESET::Button - btn_ZOOM_in::Button - btn_ZOOM_out::Button - btn_PLAY::Button - btn_AUTO::Button - btn_PARKING::Button - btn_STOP::Button - step::Int64 - energy::Float64 - show_kite::Bool - stop::Bool -end - -function clear_viewer(kv::AKV) - kv.stop = false - kv.step = 1 - kv.energy = 0 - status[] = "Running..." -end - -function stop(kv::AKV) - kv.stop = true - status[]="Stopped" -end - -function set_status(kv::AKV, status_text) - status[] = status_text -end - -function Viewer3D(show_kite=true, autolabel="Autopilot") - fig = Figure(size=(840, 900), backgroundcolor=RGBf(0.7, 0.8, 1)) - sub_fig = fig[1,1] - scene2D = LScene(fig[3,1], show_axis=false, height=16) - scene3D = LScene(sub_fig, show_axis=false, scenekw=(limits=Rect(-7,-10.0,0, 11,10,11), size=(800, 800))) - - create_coordinate_system(scene3D) - cam = cameracontrols(scene3D.scene) - - FLYING[1] = false - PLAYING[1] = false - GUI_ACTIVE[1] = true - - reset_view(cam, scene3D) - - fontsize[] = TEXT_SIZE - fontsize2[] = AXIS_LABEL_SIZE - text!(scene3D, "z", position = Point3f0(0, 0, 14.6), fontsize = fontsize2, align = (:center, :center), show_axis = false) - text!(scene3D, "x", position = Point3f0(17, 0,0), fontsize = fontsize2, align = (:center, :center), show_axis = false) - text!(scene3D, "y", position = Point3f0( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) - - text!(scene2D, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false, space=:pixel) - status[]="Stopped" - - fig[2, 1] = buttongrid = GridLayout(tellwidth=false) - l_sublayout = GridLayout() - fig[1:3, 1] = l_sublayout - l_sublayout[:v] = [scene3D, buttongrid, scene2D] - - btn_RESET = Button(sub_fig, label = "RESET") - btn_ZOOM_in = Button(sub_fig, label = "Zoom +") - btn_ZOOM_out = Button(sub_fig, label = "Zoom -") - btn_PLAY_PAUSE = Button(sub_fig, label = @lift($running ? "PAUSE" : " PLAY ")) - btn_AUTO = Button(sub_fig, label = autolabel) - btn_PARKING = Button(sub_fig, label = "Parking") - btn_STOP = Button(sub_fig, label = "STOP") - sw = Toggle(sub_fig, active = false) - label = Label(sub_fig, "repeat") - - buttongrid[1, 1:9] = [btn_PLAY_PAUSE, btn_ZOOM_in, btn_ZOOM_out, btn_RESET, btn_AUTO, btn_PARKING, btn_STOP, sw, label] - gl_screen = display(fig) - - FLYING[1] = false - PLAYING[1] = false - GUI_ACTIVE[1] = true - - reset_view(cam, scene3D) - - # gl_screen = display(fig) - s = Viewer3D(fig, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) - # s = Viewer3D(sub_fig, layout, scene3D, cam, gl_screen, btn_RESET, btn_ZOOM_in, btn_ZOOM_out, btn_PLAY_PAUSE, btn_AUTO, btn_PARKING, btn_STOP, 0, 0, show_kite, false) - - init_system(s.scene3D; show_kite=show_kite) - - camera = cameracontrols(s.scene3D.scene) - reset_view(camera, s.scene3D) - - on(s.btn_RESET.clicks) do c - reset_view(camera, s.scene3D) - zoom[1] = 1.0 - end - - on(s.btn_ZOOM_in.clicks) do c - zoom[1] *= 1.2 - reset_and_zoom(camera, s.scene3D, zoom[1]) - end - - on(s.btn_ZOOM_out.clicks) do c - zoom[1] /= 1.2 - reset_and_zoom(camera, s.scene3D, zoom[1]) - end - status[] = "Stopped" - s -end - -function save_png(viewer; filename="video", index = 1) - buffer = IOBuffer() - @printf(buffer, "%06i", index) - save(filename * String(take!(buffer)) * ".png", viewer.scene) -end From 50d91c65b9b849885ea1c7c1894de2a9cc3a3006 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 16:05:41 +0100 Subject: [PATCH 25/32] fix text --- src/viewer3D.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/viewer3D.jl b/src/viewer3D.jl index f60f90c..3b7f711 100644 --- a/src/viewer3D.jl +++ b/src/viewer3D.jl @@ -124,6 +124,7 @@ function Viewer3D(show_kite=true, autolabel="Autopilot") text!(scene3D, "y", position = Point3f0( 0, 14.5, 0), fontsize = fontsize2, align = (:center, :center), show_axis = false) text!(scene2D, status, position = Point2f0( 20, 0), fontsize = TEXT_SIZE, align = (:left, :bottom), show_axis = false, space=:pixel) + textnode2[]="depower\nsteering:" status[]="Stopped" fig[2, 1] = buttongrid = GridLayout(tellwidth=false) From 1446d7fedb60770c440c4b1f770bfe8500c43fdb Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 16:05:54 +0100 Subject: [PATCH 26/32] fix text --- src/common.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common.jl b/src/common.jl index b022704..41ecf17 100644 --- a/src/common.jl +++ b/src/common.jl @@ -63,8 +63,8 @@ function init_system(scene; show_kite=true) if se().fixed_font != "" font=se().fixed_font end - text!(scene, textnode, position = Point3f(-5.2, 3.5, -1), font=font, align = (:left, :top), space=:pixel) - text!(scene, textnode2, position = Point3f(11, -2.5, 18), font=font, align = (:left, :top), space=:pixel) + text!(scene, textnode, position = Point2f(50, 100), fontsize=TEXT_SIZE, font=font, align = (:left, :top), show_axis = false, space=:pixel) + text!(scene, textnode2, position = Point2f(630, 750), fontsize=TEXT_SIZE, font=font, align = (:left, :bottom), show_axis = false, space=:pixel) end # update the kite power system, consisting of the tether, the kite and the state (text and numbers) From 21e9621010a7ec7de0e0cceed2f7060fd8ed4532 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 16:53:59 +0100 Subject: [PATCH 27/32] Update workflow --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 63bc392..8980e22 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -41,6 +41,7 @@ jobs: ${{ runner.os }}-test- ${{ runner.os }}- - run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev + - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia -e 'using Pkg; Pkg.add("TestEnv")' - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project -e 'using Pkg; Pkg.instantiate()' - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project --code-coverage=user -e "using TestEnv; TestEnv.activate(); include(\"test/runtests.jl\")" - uses: julia-actions/julia-processcoverage@v1 From 963082ccd97a6d5332b8101595e98e21fa88abdf Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 16:57:23 +0100 Subject: [PATCH 28/32] Update workflow --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 8980e22..4978f4a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -41,8 +41,8 @@ jobs: ${{ runner.os }}-test- ${{ runner.os }}- - run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev - - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia -e 'using Pkg; Pkg.add("TestEnv")' - - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project -e 'using Pkg; Pkg.instantiate()' + - run: julia -e 'using Pkg; Pkg.add("TestEnv")' + - run: julia --project -e 'using Pkg; Pkg.instantiate()' - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project --code-coverage=user -e "using TestEnv; TestEnv.activate(); include(\"test/runtests.jl\")" - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v2 From 97eb7e40f7f1a16f5d702b65ef1b95d843681767 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 17:05:13 +0100 Subject: [PATCH 29/32] Update workflow --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4978f4a..c17ddc4 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -42,7 +42,7 @@ jobs: ${{ runner.os }}- - run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev - run: julia -e 'using Pkg; Pkg.add("TestEnv")' - - run: julia --project -e 'using Pkg; Pkg.instantiate()' + - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project -e 'using Pkg; Pkg.instantiate()' - run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project --code-coverage=user -e "using TestEnv; TestEnv.activate(); include(\"test/runtests.jl\")" - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v2 From 42df061179b9cda2aa8f838bb4aa3a681e8d0239 Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 17:24:53 +0100 Subject: [PATCH 30/32] Update Project.toml --- Manifest-1.10.toml | 675 ++++++++++++++++++++++++++++++++++----------- Project.toml | 6 +- 2 files changed, 515 insertions(+), 166 deletions(-) diff --git a/Manifest-1.10.toml b/Manifest-1.10.toml index 9d1204e..63469f2 100644 --- a/Manifest-1.10.toml +++ b/Manifest-1.10.toml @@ -2,7 +2,7 @@ julia_version = "1.10.2" manifest_format = "2.0" -project_hash = "3a6c6a66aac234d3775a068da38e54396d34ba9f" +project_hash = "e99d18b01349746b9a95f9de611638bb8fe1d161" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -15,16 +15,21 @@ weakdeps = ["ChainRulesCore", "Test"] AbstractFFTsChainRulesCoreExt = "ChainRulesCore" AbstractFFTsTestExt = "Test" +[[deps.AbstractLattices]] +git-tree-sha1 = "222ee9e50b98f51b5d78feb93dd928880df35f06" +uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" +version = "0.3.0" + [[deps.AbstractTrees]] -git-tree-sha1 = "03e0550477d86222521d254b741d470ba17ea0b5" +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.3.4" +version = "0.4.5" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cde29ddf7e5726c9fb511f340244ea3481267608" +git-tree-sha1 = "cea4ac3f5b4bc4b3000aa55afb6e5626518948fa" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.7.2" +version = "4.0.3" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -41,16 +46,18 @@ uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" [[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "c5aeb516a84459e0318a02507d2261edad97eb75" +deps = ["Adapt", "LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "44691067188f6bd1b2289552a23e4b7572f4528d" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.7.1" +version = "7.9.0" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceChainRulesExt = "ChainRules" ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceReverseDiffExt = "ReverseDiff" ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" ArrayInterfaceTrackerExt = "Tracker" @@ -58,22 +65,12 @@ version = "7.7.1" BandedMatrices = "aae01518-5342-5314-be14-df237901396f" BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" -[[deps.ArrayInterfaceCore]] -deps = ["LinearAlgebra", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "e5f08b5689b1aad068e01751889f2f615c7db36d" -uuid = "30b0a656-2188-435a-8636-2ec0e6a096e2" -version = "0.1.29" - -[[deps.ArrayInterfaceStaticArraysCore]] -deps = ["ArrayInterfaceCore", "LinearAlgebra", "StaticArraysCore"] -git-tree-sha1 = "01a9f8e6cfc2bfdd01d333f70b8014a04893103c" -uuid = "dd5226c6-a4d4-4bc7-8575-46859f9c95b9" -version = "0.1.4" - [[deps.Arrow]] deps = ["ArrowTypes", "BitIntegers", "CodecLz4", "CodecZstd", "ConcurrentUtilities", "DataAPI", "Dates", "EnumX", "LoggingExtras", "Mmap", "PooledArrays", "SentinelArrays", "Tables", "TimeZones", "TranscodingStreams", "UUIDs"] git-tree-sha1 = "29faa9835f77dee04b2833b2c9ee415223b3ebbd" @@ -90,10 +87,10 @@ version = "2.3.0" uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[deps.Automa]] -deps = ["TranscodingStreams"] -git-tree-sha1 = "ef9997b3d5547c48b41c7bd8899e812a917b409d" +deps = ["PrecompileTools", "TranscodingStreams"] +git-tree-sha1 = "588e0d680ad1d7201d4c6a804dcb1cd9cba79fbb" uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" -version = "0.8.4" +version = "1.0.3" [[deps.AxisAlgorithms]] deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] @@ -110,6 +107,12 @@ version = "0.4.7" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.BenchmarkTools]] +deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] +git-tree-sha1 = "f1dff6729bc61f4d49e140da1af55dcd1ac97b2f" +uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +version = "1.5.0" + [[deps.BitIntegers]] deps = ["Random"] git-tree-sha1 = "a55462dfddabc34bc97d3a7403a2ca2802179ae6" @@ -123,9 +126,18 @@ uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" version = "1.0.8+1" [[deps.CEnum]] -git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" +git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.2" +version = "0.5.0" + +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" [[deps.CSV]] deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] @@ -139,6 +151,12 @@ git-tree-sha1 = "a4c43f59baa34011e303e76f5c8c91bf58415aaf" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" version = "1.18.0+1" +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] git-tree-sha1 = "575cd02e080939a33b6df6c5853d14924c08e35b" @@ -149,6 +167,12 @@ weakdeps = ["SparseArrays"] [deps.ChainRulesCore.extensions] ChainRulesCoreSparseArraysExt = "SparseArrays" +[[deps.CodecBzip2]] +deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] +git-tree-sha1 = "9b1ca1aa6ce3f71b3d1840c538a8210a043625eb" +uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" +version = "0.8.2" + [[deps.CodecLz4]] deps = ["Lz4_jll", "TranscodingStreams"] git-tree-sha1 = "b8aecef9f90530cf322a8386630ec18485c17991" @@ -186,10 +210,14 @@ uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" version = "0.11.4" [[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.10" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] @@ -197,6 +225,17 @@ git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.12.10" +[[deps.Combinatorics]] +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" +uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +version = "1.0.2" + +[[deps.CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + [[deps.Compat]] deps = ["TOML", "UUIDs"] git-tree-sha1 = "c955881e3c981181362ae4088b35995446298b80" @@ -230,10 +269,9 @@ weakdeps = ["IntervalSets", "StaticArrays"] ConstructionBaseStaticArraysExt = "StaticArrays" [[deps.Contour]] -deps = ["StaticArrays"] -git-tree-sha1 = "9f02045d934dc030edad45944ea80dbd1f0ebea7" +git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.5.7" +version = "0.6.2" [[deps.DataAPI]] git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" @@ -255,6 +293,24 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +[[deps.DelaunayTriangulation]] +deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] +git-tree-sha1 = "d4e9dc4c6106b8d44e40cd4faf8261a678552c7c" +uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" +version = "0.8.12" + +[[deps.DiffResults]] +deps = ["StaticArraysCore"] +git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.1.0" + +[[deps.DiffRules]] +deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.15.1" + [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" @@ -277,32 +333,38 @@ version = "0.25.107" [[deps.DocStringExtensions]] deps = ["LibGit2"] -git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.6" +version = "0.9.3" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.8" + [[deps.EarCut_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" version = "2.2.4+0" -[[deps.EllipsisNotation]] -deps = ["StaticArrayInterface"] -git-tree-sha1 = "3507300d4343e8e4ad080ad24e335274c2e297a9" -uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" -version = "1.8.0" - [[deps.EnumX]] git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" +[[deps.ExactPredicates]] +deps = ["IntervalArithmetic", "Random", "StaticArrays"] +git-tree-sha1 = "b3f2ff58735b5f024c392fde763f29b057e4b025" +uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" +version = "2.2.8" + [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" @@ -319,17 +381,11 @@ git-tree-sha1 = "2140cd04483da90b2da7f99b2add0750504fc39c" uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" version = "0.1.2" -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - [[deps.FFMPEG_jll]] deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +git-tree-sha1 = "ab3f7e1819dba9434a3a5126510c8fda3a4e7000" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.4+1" +version = "6.1.1+0" [[deps.FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] @@ -349,6 +405,12 @@ git-tree-sha1 = "c5c28c245101bd59154f649e19b038d15901b5dc" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" version = "1.16.2" +[[deps.FilePaths]] +deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"] +git-tree-sha1 = "919d9412dbf53a2e6fe74af62a73ceed0bce0629" +uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824" +version = "0.8.3" + [[deps.FilePathsBase]] deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"] git-tree-sha1 = "9f00e42f8d99fdde64d40c8ea5d14269a2e2c1aa" @@ -359,10 +421,32 @@ version = "0.9.21" uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "7072f1e3e5a8be51d525d64f63d3ec1287ff2790" +deps = ["LinearAlgebra", "Random"] +git-tree-sha1 = "5b93957f6dcd33fc343044af3d48c215be2562f1" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.11" +version = "1.9.3" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" + +[[deps.FiniteDiff]] +deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] +git-tree-sha1 = "bc0c5092d6caaea112d3c8e3b238d61563c58d5f" +uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" +version = "2.23.0" + + [deps.FiniteDiff.extensions] + FiniteDiffBandedMatricesExt = "BandedMatrices" + FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" + FiniteDiffStaticArraysExt = "StaticArrays" + + [deps.FiniteDiff.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.FixedPointNumbers]] deps = ["Statistics"] @@ -376,11 +460,20 @@ git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" version = "2.13.93+0" -[[deps.Formatting]] -deps = ["Logging", "Printf"] -git-tree-sha1 = "fb409abab2caf118986fc597ba84b50cbaf00b87" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.3" +[[deps.Format]] +git-tree-sha1 = "f3cf88025f6d03c194d73f5d13fee9004a108329" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.6" + +[[deps.ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.36" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" [[deps.FreeType]] deps = ["CEnum", "FreeType2_jll"] @@ -396,9 +489,9 @@ version = "2.13.1+0" [[deps.FreeTypeAbstraction]] deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] -git-tree-sha1 = "b5c7fe9cea653443736d264b85466bad8c574f4a" +git-tree-sha1 = "055626e1a35f6771fe99060e835b72ca61a52621" uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.9.9" +version = "0.10.1" [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -423,16 +516,16 @@ uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" version = "3.3.9+0" [[deps.GLMakie]] -deps = ["ColorTypes", "Colors", "FileIO", "FixedPointNumbers", "FreeTypeAbstraction", "GLFW", "GeometryBasics", "LinearAlgebra", "Makie", "Markdown", "MeshIO", "ModernGL", "Observables", "Printf", "Serialization", "ShaderAbstractions", "StaticArrays"] -git-tree-sha1 = "25dd999ef6ad2904206f96211386535bcb86cc58" +deps = ["ColorTypes", "Colors", "FileIO", "FixedPointNumbers", "FreeTypeAbstraction", "GLFW", "GeometryBasics", "LinearAlgebra", "Makie", "Markdown", "MeshIO", "ModernGL", "Observables", "PrecompileTools", "Printf", "ShaderAbstractions", "StaticArrays"] +git-tree-sha1 = "7a411adf08375e01d864386fb1eaf384de5ac9e9" uuid = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" -version = "0.4.7" +version = "0.9.9" [[deps.GPUArraysCore]] deps = ["Adapt"] -git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.5" +version = "0.1.6" [[deps.GeoInterface]] deps = ["Extents"] @@ -458,12 +551,6 @@ git-tree-sha1 = "359a1ba2e320790ddbe4ee8b4d54a305c0ea2aff" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" version = "2.80.0+0" -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.2" - [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" @@ -472,9 +559,9 @@ version = "1.3.14+0" [[deps.GridLayoutBase]] deps = ["GeometryBasics", "InteractiveUtils", "Observables"] -git-tree-sha1 = "169c3dc5acae08835a573a8a3e25c62f689f8b5c" +git-tree-sha1 = "af13a277efd8a6e716d79ef635d5342ccb75be61" uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" -version = "0.6.5" +version = "0.10.0" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -487,10 +574,11 @@ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+1" -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" +[[deps.HypergeometricFunctions]] +deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.23" [[deps.ImageAxes]] deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] @@ -500,21 +588,21 @@ version = "0.6.11" [[deps.ImageBase]] deps = ["ImageCore", "Reexport"] -git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909" uuid = "c817782e-172a-44cc-b673-b171935fbb9e" -version = "0.1.5" +version = "0.1.7" [[deps.ImageCore]] -deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] -git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" +deps = ["ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"] +git-tree-sha1 = "b2a7eaa169c13f5bcae8131a83bc30eff8f71be0" uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" -version = "0.9.4" +version = "0.10.2" [[deps.ImageIO]] -deps = ["FileIO", "Netpbm", "PNGFiles"] -git-tree-sha1 = "0d6d09c28d67611c68e25af0c2df7269c82b73c7" +deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "bca20b2f5d00c4fbc192c3212da8fa79f4688009" uuid = "82e4d734-157c-48bb-816b-45c225c6df19" -version = "0.4.1" +version = "0.6.7" [[deps.ImageMetadata]] deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] @@ -522,17 +610,33 @@ git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" version = "0.9.9" +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3d09a9f60edf77f8a4d99f9e015e8fbf9989605d" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.7+0" + [[deps.IndirectArrays]] git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" version = "1.0.0" +[[deps.Inflate]] +git-tree-sha1 = "ea8031dea4aff6bd41f1df8f2fdfb25b33626381" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.4" + [[deps.InlineStrings]] deps = ["Parsers"] git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" version = "1.4.0" +[[deps.IntegerMathUtils]] +git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" +uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" +version = "0.1.2" + [[deps.IntelOpenMP_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "5fdf2fe6724d8caabf43b557b84ce53f3b7e2f6b" @@ -555,22 +659,33 @@ version = "0.15.1" [deps.Interpolations.weakdeps] Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" +[[deps.IntervalArithmetic]] +deps = ["CRlibm_jll", "RoundingEmulator"] +git-tree-sha1 = "2d6d22fe481eff6e337808cc0880c567d7324f9a" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.22.8" +weakdeps = ["DiffRules", "ForwardDiff", "RecipesBase"] + + [deps.IntervalArithmetic.extensions] + IntervalArithmeticDiffRulesExt = "DiffRules" + IntervalArithmeticForwardDiffExt = "ForwardDiff" + IntervalArithmeticRecipesBaseExt = "RecipesBase" + [[deps.IntervalSets]] -deps = ["Dates", "EllipsisNotation", "Statistics"] -git-tree-sha1 = "bcf640979ee55b652f3b01650444eb7bbe3ea837" +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.5.4" +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "68772f49f54b479fa88ace904f6127f0a3bb2e46" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.12" + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" [[deps.IrrationalConstants]] -git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.1.1" +version = "0.2.2" [[deps.Isoband]] deps = ["isoband_jll"] @@ -606,6 +721,18 @@ git-tree-sha1 = "e4679b76fa83ce51972f2e6f04b6da8f250fbc0b" uuid = "82f05805-4863-42dc-b1a7-0852bd62c632" version = "0.1.4" +[[deps.JpegTurbo]] +deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] +git-tree-sha1 = "fa6d0bcff8583bac20f1ffa708c3913ca605c611" +uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" +version = "0.1.5" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3336abae9a713d2210bb57ab484b1e065edd7d23" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "3.0.2+0" + [[deps.KernelDensity]] deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] git-tree-sha1 = "fee018a29b60733876eb557804b5b109dd3dd8a7" @@ -613,10 +740,10 @@ uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" version = "0.6.8" [[deps.KiteUtils]] -deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "Parameters", "RecursiveArrayTools", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "TestEnv", "YAML"] -git-tree-sha1 = "85c2c85a52b8297c97c63638abeaf764ac2c45ad" +deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "Parameters", "PrecompileTools", "RecursiveArrayTools", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] +git-tree-sha1 = "05a97859a9866e25764bcc1bad187e522df34933" uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.4.8" +version = "0.5.0" [[deps.LAME_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -645,6 +772,11 @@ version = "1.3.1" deps = ["Artifacts", "Pkg"] uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" +[[deps.LazyModules]] +git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" +uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" +version = "0.3.1" + [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" @@ -714,10 +846,28 @@ git-tree-sha1 = "0a04a1318df1bf510beb2562cf90fb0c386f58c4" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" version = "2.39.3+1" +[[deps.LightXML]] +deps = ["Libdl", "XML2_jll"] +git-tree-sha1 = "3a994404d3f6709610701c7dabfc03fed87a81f8" +uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" +version = "0.9.1" + +[[deps.LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] +git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.2.0" + [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +[[deps.LinearAlgebraX]] +deps = ["LinearAlgebra", "Mods", "Primes", "SimplePolynomials"] +git-tree-sha1 = "d76cec8007ec123c2b681269d40f94b053473fcf" +uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88" +version = "0.2.7" + [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] git-tree-sha1 = "18144f3e9cbe9b15b070288eef858f71b291ce37" @@ -762,16 +912,16 @@ uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.13" [[deps.Makie]] -deps = ["Animations", "Base64", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Distributions", "DocStringExtensions", "FFMPEG", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MakieCore", "Markdown", "Match", "MathTeXEngine", "Observables", "Packing", "PlotUtils", "PolygonOps", "Printf", "Random", "RelocatableFolders", "Serialization", "Showoff", "SignedDistanceFields", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "UnicodeFun"] -git-tree-sha1 = "56b0b7772676c499430dc8eb15cfab120c05a150" +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "27af6be179c711fb916a597b6644fbb5b80becc0" uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.15.3" +version = "0.20.8" [[deps.MakieCore]] -deps = ["Observables"] -git-tree-sha1 = "7bcc8323fb37523a6a51ade2234eee27a11114c8" +deps = ["Observables", "REPL"] +git-tree-sha1 = "248b7a4be0f92b497f7a331aed02c1e9a878f46b" uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" -version = "0.1.3" +version = "0.7.3" [[deps.MappedArrays]] git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" @@ -782,16 +932,17 @@ version = "0.4.2" deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -[[deps.Match]] -git-tree-sha1 = "1d9bc5c1a6e7ee24effb93f175c9342f9154d97f" -uuid = "7eb4fadd-790c-5f42-8a69-bfa0b872bfbf" -version = "1.2.0" +[[deps.MathOptInterface]] +deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] +git-tree-sha1 = "679c1aec6934d322783bd15db4d18f898653be4f" +uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" +version = "1.27.0" [[deps.MathTeXEngine]] -deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "Test"] -git-tree-sha1 = "70e733037bbf02d691e78f95171a1fa08cdc6332" +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] +git-tree-sha1 = "96ca8a313eb6437db5ffe946c457a401bbb8ce1d" uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" -version = "0.2.1" +version = "0.5.7" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] @@ -825,6 +976,11 @@ git-tree-sha1 = "b76ea40b5c0f45790ae09492712dd326208c28b2" uuid = "66fc600b-dfda-50eb-8b99-91cfa97b1301" version = "1.1.7" +[[deps.Mods]] +git-tree-sha1 = "924f962b524a71eef7a21dae1e6853817f9b658f" +uuid = "7475f97c-0381-53b1-977b-4c60186c8d62" +version = "2.2.4" + [[deps.MosaicViews]] deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" @@ -835,6 +991,23 @@ version = "0.3.4" uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2023.1.10" +[[deps.Multisets]] +git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" +uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09" +version = "0.4.4" + +[[deps.MutableArithmetics]] +deps = ["LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "302fd161eb1c439e4115b51ae456da4e9984f130" +uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" +version = "1.4.1" + +[[deps.NLSolversBase]] +deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] +git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "7.8.3" + [[deps.NaNMath]] deps = ["OpenLibm_jll"] git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" @@ -852,9 +1025,9 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.Observables]] -git-tree-sha1 = "fe29afdef3d0c4a8286128d4e45cc50621b1e43d" +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.4.0" +version = "0.5.5" [[deps.OffsetArrays]] git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" @@ -876,6 +1049,18 @@ deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.23+4" +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "a4ca623df1ae99d09bc9868b008262d0c0ac1e4f" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.1.4+0" + [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" @@ -893,6 +1078,12 @@ git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" +[[deps.Optim]] +deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "MathOptInterface", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] +git-tree-sha1 = "d024bfb56144d947d4fafcd9cb5cafbe3410b133" +uuid = "429524aa-4258-5aef-a3af-852621145aeb" +version = "1.9.2" + [[deps.Opus_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" @@ -917,15 +1108,15 @@ version = "0.11.31" [[deps.PNGFiles]] deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] -git-tree-sha1 = "f809158b27eba0c18c269cf2a2be6ed751d3e81d" +git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd" uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" -version = "0.3.17" +version = "0.4.3" [[deps.Packing]] deps = ["GeometryBasics"] -git-tree-sha1 = "1155f6f937fa2b94104162f01fa400e192e4272f" +git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" -version = "0.4.2" +version = "0.5.0" [[deps.PaddedViews]] deps = ["OffsetArrays"] @@ -945,6 +1136,18 @@ git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.8.1" +[[deps.Permutations]] +deps = ["Combinatorics", "LinearAlgebra", "Random"] +git-tree-sha1 = "eb3f9df2457819bf0a9019bd93cc451697a0751e" +uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" +version = "0.4.20" + +[[deps.PikaParser]] +deps = ["DocStringExtensions"] +git-tree-sha1 = "d6ff87de27ff3082131f31a714d25ab6d0a88abf" +uuid = "3bbf5609-3e7b-44cd-8549-7c69f321e792" +version = "0.6.1" + [[deps.Pixman_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" @@ -956,6 +1159,12 @@ deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", " uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" version = "1.10.0" +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + [[deps.PlotUtils]] deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5" @@ -967,12 +1176,31 @@ git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" uuid = "647866c9-e3ac-4575-94e7-e3d426903924" version = "0.1.2" +[[deps.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase", "Setfield", "SparseArrays"] +git-tree-sha1 = "a9c7a523d5ed375be3983db190f6a5874ae9286d" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "4.0.6" +weakdeps = ["ChainRulesCore", "FFTW", "MakieCore", "MutableArithmetics"] + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsFFTWExt = "FFTW" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + [[deps.PooledArrays]] deps = ["DataAPI", "Future"] git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" version = "1.4.3" +[[deps.PositiveFactorizations]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" +uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" +version = "0.2.4" + [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" @@ -985,10 +1213,32 @@ git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.4.3" +[[deps.Primes]] +deps = ["IntegerMathUtils"] +git-tree-sha1 = "cb420f77dc474d23ee47ca8d14c90810cafe69e7" +uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" +version = "0.5.6" + [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +[[deps.Profile]] +deps = ["Printf"] +uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "763a8ceb07833dd51bb9e3bbca372de32c0605ad" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.10.0" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] git-tree-sha1 = "9b23c31e76e333e6fb4c1595ae6afa74966a729e" @@ -1037,10 +1287,28 @@ uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" version = "1.3.4" [[deps.RecursiveArrayTools]] -deps = ["Adapt", "ArrayInterfaceCore", "ArrayInterfaceStaticArraysCore", "ChainRulesCore", "DocStringExtensions", "FillArrays", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "StaticArraysCore", "Statistics", "Tables", "ZygoteRules"] -git-tree-sha1 = "a5ce741acddc02f0d4fc6505463ca89697d7fb23" +deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "SparseArrays", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] +git-tree-sha1 = "a94d22ca9ad49a7a169ecbc5419c59b9793937cc" uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.32.3" +version = "3.12.0" + + [deps.RecursiveArrayTools.extensions] + RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" + RecursiveArrayToolsForwardDiffExt = "ForwardDiff" + RecursiveArrayToolsMeasurementsExt = "Measurements" + RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" + RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"] + RecursiveArrayToolsTrackerExt = "Tracker" + RecursiveArrayToolsZygoteExt = "Zygote" + + [deps.RecursiveArrayTools.weakdeps] + FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [[deps.Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" @@ -1049,9 +1317,9 @@ version = "1.2.2" [[deps.RelocatableFolders]] deps = ["SHA", "Scratch"] -git-tree-sha1 = "cdbd3b1338c72ce29d9584fdbe9e9b70eeb5adca" +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "0.1.3" +version = "1.0.1" [[deps.Requires]] deps = ["UUIDs"] @@ -1059,6 +1327,12 @@ git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "1.3.0" +[[deps.RingLists]] +deps = ["Random"] +git-tree-sha1 = "f39da63aa6d2d88e0c1bd20ed6a3ff9ea7171ada" +uuid = "286e9d63-9694-5540-9e3c-4e6708fa07b2" +version = "0.2.8" + [[deps.Rmath]] deps = ["Random", "Rmath_jll"] git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" @@ -1081,6 +1355,17 @@ weakdeps = ["RecipesBase"] [deps.Rotations.extensions] RotationsRecipesBaseExt = "RecipesBase" +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + +[[deps.RuntimeGeneratedFunctions]] +deps = ["ExprTools", "SHA", "Serialization"] +git-tree-sha1 = "6aacc5eefe8415f47b3e34214c1d79d2674a0ba2" +uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" +version = "0.5.12" + [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" @@ -1100,11 +1385,17 @@ version = "1.4.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + [[deps.ShaderAbstractions]] deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "6b5bba824b515ec026064d1e7f5d61432e954b71" +git-tree-sha1 = "79123bc60c5507f035e6d1d9e563bb2971954ec8" uuid = "65257c39-d410-5151-9873-9b3e5be5013e" -version = "0.2.9" +version = "0.4.1" [[deps.SharedArrays]] deps = ["Distributed", "Mmap", "Random", "Serialization"] @@ -1122,17 +1413,41 @@ git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" version = "0.4.0" +[[deps.SimpleGraphs]] +deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"] +git-tree-sha1 = "f65caa24a622f985cc341de81d3f9744435d0d0f" +uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" +version = "0.8.6" + +[[deps.SimplePartitions]] +deps = ["AbstractLattices", "DataStructures", "Permutations"] +git-tree-sha1 = "e182b9e5afb194142d4668536345a365ea19363a" +uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" +version = "0.3.2" + +[[deps.SimplePolynomials]] +deps = ["Mods", "Multisets", "Polynomials", "Primes"] +git-tree-sha1 = "7063828369cafa93f3187b3d0159f05582011405" +uuid = "cc47b68c-3164-5771-a705-2bc0097375a0" +version = "0.2.17" + +[[deps.SimpleRandom]] +deps = ["Distributions", "LinearAlgebra", "Random"] +git-tree-sha1 = "3a6fb395e37afab81aeea85bae48a4db5cd7244a" +uuid = "a6525b86-64cd-54fa-8f65-62fc48bdc0e8" +version = "0.3.1" + [[deps.SimpleTraits]] deps = ["InteractiveUtils", "MacroTools"] git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" version = "0.9.4" -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.3" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -1158,34 +1473,28 @@ weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" +[[deps.StableHashTraits]] +deps = ["Compat", "PikaParser", "SHA", "Tables", "TupleTools"] +git-tree-sha1 = "10dc702932fe05a0e09b8e5955f00794ea1e8b12" +uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" +version = "1.1.8" + [[deps.StackViews]] deps = ["OffsetArrays"] git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" version = "0.1.1" -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "d2fdac9ff3906e27f7a618d47b676941baa6c80c" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.10" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.5.0" -weakdeps = ["OffsetArrays", "StaticArrays"] - - [deps.StaticArrayInterface.extensions] - StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" - StaticArrayInterfaceStaticArraysExt = "StaticArrays" - [[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "2bbd9f2e40afd197a1379aef05e0d85dba649951" +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "bf074c045d3d5ffd956fa0a461da38a44685d6b2" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.4.7" +version = "1.9.3" +weakdeps = ["ChainRulesCore", "Statistics"] + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" [[deps.StaticArraysCore]] git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" @@ -1205,15 +1514,23 @@ version = "1.7.0" [[deps.StatsBase]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +git-tree-sha1 = "1d77abd07f617c4868c33d4f5b9e1dbb2643c9cf" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.21" +version = "0.34.2" [[deps.StatsFuns]] -deps = ["ChainRulesCore", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "5950925ff997ed6fb3e985dcce8eb1ba42a0bbe7" +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "cef0472124fab0695b58ca35a77c6fb942fdab8a" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "0.9.18" +version = "1.3.1" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" [[deps.StringEncodings]] deps = ["Libiconv_jll"] @@ -1222,10 +1539,17 @@ uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" version = "0.3.7" [[deps.StructArrays]] -deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "1b0b1205a56dc288b71b1961d48e351520702e24" +deps = ["ConstructionBase", "DataAPI", "Tables"] +git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.17" +version = "0.6.18" +weakdeps = ["Adapt", "GPUArraysCore", "SparseArrays", "StaticArrays"] + + [deps.StructArrays.extensions] + StructArraysAdaptExt = "Adapt" + StructArraysGPUArraysCoreExt = "GPUArraysCore" + StructArraysSparseArraysExt = "SparseArrays" + StructArraysStaticArraysExt = "StaticArrays" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] @@ -1242,6 +1566,12 @@ deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" version = "7.2.1+1" +[[deps.SymbolicIndexingInterface]] +deps = ["MacroTools", "RuntimeGeneratedFunctions"] +git-tree-sha1 = "f7b1fc9fc2bc938436b7684c243be7d317919056" +uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" +version = "0.3.11" + [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" @@ -1286,6 +1616,12 @@ git-tree-sha1 = "c35f69c951ac4f74b8b074f62dfb1e169b351497" uuid = "1e6cf692-eddd-4d53-88a5-2d735e33781b" version = "1.101.1" +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] +git-tree-sha1 = "34cc045dd0aaa59b8bbe86c644679bc57f1d5bd0" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.6.8" + [[deps.TimeZones]] deps = ["Artifacts", "Dates", "Downloads", "InlineStrings", "LazyArtifacts", "Mocking", "Printf", "Scratch", "TZJData", "Unicode", "p7zip_jll"] git-tree-sha1 = "89e64d61ef3cd9e80f7fc12b7d13db2d75a23c03" @@ -1303,10 +1639,23 @@ uuid = "21f18d07-b854-4dab-86f0-c15a3821819a" version = "0.1.5" [[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" +git-tree-sha1 = "3caa21522e7efac1ba21834a03734c57b4611c7e" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.13" +version = "0.10.4" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] + +[[deps.TriplotBase]] +git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" +uuid = "981d1d27-644d-49a2-9326-4793e63143c3" +version = "0.1.0" + +[[deps.TupleTools]] +git-tree-sha1 = "41d61b1c545b06279871ef1a4b5fcb2cac2191cd" +uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" +version = "1.5.0" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -1450,12 +1799,6 @@ git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" version = "1.5.5+0" -[[deps.ZygoteRules]] -deps = ["ChainRulesCore", "MacroTools"] -git-tree-sha1 = "27798139afc0a2afa7b1824c206d5e87ea587a00" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.5" - [[deps.isoband_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" @@ -1491,6 +1834,12 @@ git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" version = "1.6.43+1" +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] +git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.10.3+0" + [[deps.libvorbis_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" diff --git a/Project.toml b/Project.toml index 49c79e0..ca50c03 100644 --- a/Project.toml +++ b/Project.toml @@ -20,15 +20,15 @@ Timers = "21f18d07-b854-4dab-86f0-c15a3821819a" [compat] FileIO = "1" -GLMakie = "0.9.9" +GLMakie = "~0.9" GeometryBasics = "0.4.10" Joysticks = "0.1.2, 0.1.4" -KiteUtils = "0.5" +KiteUtils = "~0.5" Parameters = "0.12" Pkg = "1.9, 1.10" Reexport = "1" Rotations = "1.2, 1.3" -StaticArrays = "1.9.3" +StaticArrays = "~1.9" Timers = "0.1.5" julia = "1.9, 1.10" From 43e686009208c1c6627e6a53cac17670a90a71db Mon Sep 17 00:00:00 2001 From: Uwe Fechner Date: Thu, 14 Mar 2024 17:44:39 +0100 Subject: [PATCH 31/32] Update README.md --- README.md | 20 ++++++++++++++++++-- kite_1p.png | Bin 90390 -> 81783 bytes kite_4p.png | Bin 91623 -> 84228 bytes 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 89a7ebf..012cc0f 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,27 @@ or implement a real-time viewer for a system outside of Julia this package will any statement `using KiteViewers` in the examples with `using KiteSimulators`. ## Installation -Download [Julia 1.6](http://www.julialang.org) or later, if you haven't already. +Download and install [Julia 1.9](http://www.julialang.org) or later, if you haven't already. +Make sure you have the package `TestEnv` in your global environment. If you are not sure, run: +```bash +julia -e 'using Pkg; Pkg.add("TestEnv")' +``` +If you don't have a project yet, create one with: +```bash +mkdir MyProject +cd MyProject +julia --project="." +``` +and then add the package `KiteViewers` to your project by executing: ```julia using Pkg pkg"add KiteViewers" ``` -at the Julia prompt. You can run the unit tests with the command: +at the Julia prompt. + +You can run the unit tests with the command: ```julia +using Pkg pkg"test KiteViewers" ``` This package should work on Linux, Windows and Mac. If you find a bug, please file an issue. @@ -77,6 +91,8 @@ update_system(viewer, state, kite_scale=0.25) ```

+You can find more examples in the folder examples. + ## Advanced usage For more examples see: [KiteSimulators](https://github.com/aenarete/KiteSimulators.jl) diff --git a/kite_1p.png b/kite_1p.png index 60ae0017351070be9e8fe5627d4615bcbe91fd5f..d7999d63aa27c2eba09ed178c07cdc9bc0713ecd 100644 GIT binary patch literal 81783 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%0AtXeZp;VZnkZDYeD42dgk0W{zIQn0^zemrcd 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 EUqUek@Bjb+ literal 90390 zcmeFZbzD^K_cjWmAW{k_ASnzbAtf~e21qa5qGnLbGbte^D6DL=F2V*Q#8(V8*E=NNL zV`CdfGh3$(oJMghECwtY$tSPf(pJY@(`cN}&|8BY`}Orc)p502+==7V=6#PBwaK&Z zGu&tUa?W-oOgZijCqvk$p4T_YZ{B<&%k~bI6+P})-Pb-gcRap6mXLgOX1@}{gwHN3 zSh}$=Glg1Rbrs(kR-l_2Kk`|Czj*T|-Vh^LqWdBK^Oj1$Cr|;X`>UHFMo4*zmIHjbfxSf^+n|&=pt=UgGRQHS(g+Q;Lxvln1m0Sq? z@VdIEUA2=OAEjh%AW) zzK-4}}XjJBlJqD#Sy6qE9XJ+t9d;u#|fg(hjliC#)`;}v(Emx(m@ z*m;LK3MZnc*!h=!O7+X- z6Rt6hzBWbq{ZnJUs<}D4ct(`lqXs1+jfB7n`cLIqBnk=<8S0kv9msw4g{qmzF~dUd zDOfD|ojJq1dTz&#BX60K_l6vvx{GUw8XU4_pzxWw32C;&31l=hv13~Y*l7Q-C0OII z=oF>uxa-iU?Q;(n+pA3cep=4-4!x3H@cR=}U6K?X5zj+gf(Gi`Ji@o)+aP zdk25y<%9+QW}mHn+n?;+pG1?g?}r;)#2=g!rMnIF(Z2&?n_iUTI$aj;F|Yj zF4+ug%{f$?FF9*8y?H&vg^PeXF1;lxlIE9nnd(lqj?Kq!G7i1Bo>9gXplza@KAKU+ zd0v6Vs;aFS@yYN|GQ>!)5Ar7xqF6ZE8n46Qm9cz3na5y zWG6fO{M5WsK9MsgDdj>B4d>^k+Patt%qpkVzdyY(X0Jglx;c0Iw`<3iS6OiY{rE1U zptnSgAC=LNyV~~Lt9u0_2X2#zMK=j%^_y!BUSUjnE=D&Tdd-=uV)b1FTHBWR{Z+nI z1&!*C{pjUD-5hduk-c>3ewRJXXl4DvbC*b*x2kw91!tK7Tf{+EXS5!bzSn&){$nmv zmhz8I#BCy1xR6oOP~|hzvnatjIT)$7;e1y*5vX1K zKhO~GXQv=fah}K88{w7k4`Lpondj$fPg#{<-QVUi9u(>QxYoOroUZVbcae6xWU4Lo z@D~}&=QOJ;)nrxE13Q#sme-#-eEw^0qF*d7-HW-G<=}gNY23ub4r?Wxh1Z|{MB85a zJ}w}m$9jj5x;JI{L?Q4hH3Tbh^1+#IIhl;UEWYL{MoJhZQ45>1Hu^zb8W zu%y*?}}WShopJfoZWlEbz4Ynr>9s9skxQ!P~7+v6E_Uc+^L zQ(J9rAQ42Ze@s6R1)sN_4faM5-pE>}WQqR+Q!gK?rNudF1!VeCw6X<;>L85^X3 zlNdS0r=6irFf?Q1av|POt8vo2MMju1S>AhRNpESTY{+AmiV(hk-Hx%t-I~}rMy4FD zM~Pi}MR2~U>~Mez)fQQ>psUnr(;)|^H2@R3oG3H(JCrGNDzx7w4 z%gBe{HVuSi6qC(Jo|E{NzEvlV#9mdIp4yD>N|y+%$-2^G1!w6evMKWt#7gr|Hj z)7B+Kll36m*ND1Jn&VlSLzT0Gug62%@1aQNkBfpy{a0+FYV#`xXFlgtMuzD%*4wn# z^Cz}Hx3(Sw8K~TB%f=EG+XlrMvCq>dO`&ArB9xjYTSaeJxB6pr(r6vsob|7wsF~)m zO#BM`!bf#ljHsduQaa0uI=1rfGV)Jvh-9Lng!I_-uywFOzz(cPF z@06uQE!jau6%~Tv&y%bJDISM?Vgu&pHsc@>Oyg%&@wWeDdfm+J3B@PQGqckWNHGzHf`{MyuPwx}}@XGkBz_5WmtT z981+awGHql_l^$Ttq~c!ve6MlG6WpMXCg0DvnqBdf}RZ7Zc8l9-klg)Pc=b z@OsxXAQ(P6HEpm?3fT`dGE3$AGxutE!R z@S{P07xp=R6=|N5A#Wq(8UBgJtT|pt5Ygg$rh) z(XCfYXi5G=QmWR`wmaAn;v|~COuCi;ubRkExWt?2aAgGV*$~sg-RMt_tW|E0x{Pe& z@*0Tm*Ws5Er4}11QyuW+qPpuOZ$=G>Q>_8Q6NifZ=P{+?i@MY82DRS z%Nt?#SvL%j95_*!2=v6fBiI%jdTg?Pa*RWbZ;5lEVlpu&3_r8s&~u} zvTByv*uH|5MkApwL-?y;+SGLy$sSp3NYKDg6;c{+&!^zKYZ4z`u`$rfrYs{>Ds0%f z6T`RPWwvp#iBD>jM6#`@ab=11$jUU{+g*p-A!n8=Z4Ko5W$Sb#Za-^{iBCsP43;AB zRk_j?>N3-xFtNs@tJpPp(_7t;hFnM0RcU>GG&o_mCFGm3u4=@}ai??ov*))jg%$Yd zlC}rSok$yx5bS5@4cEe)pu2R3ZG-BK4%l=V^qA7aZREP%NFIeVwa~^`qT6iZU~~vt znuRPbj%fZb`twL}6Hht7yAJu8RY`?HMRMeoTn zFP8$`?Nn{Tbg~##wGcBr>TtnP9+>L3{h5A7xJz6&zpx@SW6bN8!XBpW#@zN!>I0Lt zF!z%&#~L%-zYQ#0*@-x^Ep?u;2=my_HqAKqq^ZrexQ#&;pyu{p^15*zJ+H4FxBP2D z(b14L$9#JK_^U=)(qmOY6q-(kA*o)jP+=wURlPf{j<4T&Ky@}uX|3^Wt@8fU>T85_y!d`*S@A@ccm52FNIrRGi%Tp)*z4pBFS3_;W|YUYX|x*hHC|yA{oE>=^apGzH7&4 zB5R|z_7~QPuc}R64IUIf_`yZg;eO&CDY{knEjf+9Vb^-xeXiSUb3I%hKF4_F`^|QW zhR(>8POpUoG#e-P=i;jOWZeyExpXywDTVQ#T8IPt_+c1h%F z+LgP@`BXx4k`3;tfWv^#-*zf(v^u+O8bXS+cjP{LpW57YeLW*g9N5B~=G7%6yp&et z8c{f27n!{?Vf1@5)SN^bfE2ivvZ!0B@m*$3q#7YruzAf;mCce*V8n>^8&IU1{`|_W zjrQ2RpIN0OVwu=&IJAgr>*6vR`*k!sd+;gC%5Jdg35u08B51hAeoq_^mLVZs$0S=- z5d+O{1*xJTUcPdckV9*1rIAOsnCeqfM?y$L%X$DfuE#f9Pl%PI&LJ+azsq zGPTmS%>TN5I(yMI+mgFJ(?QT6=c0&hnc&+rak0zKeLSxuytUeH9`)XR^PBDVVUf*b zZezMkM(LBdUFwdS_#Kh;-J;c=gOoY?-?>&i^(Vxz(VnINR~?yd#QCVx#?CCoz5y!b z`RLi1@4M-uE;Rl3A#;4CzAY~ ziM7mY3O-cXlC#(Dejdetc&gT*G!ZuSx=_0V8e>GOyVY4PZ@lJXzVGSv=PlWf7dX+) znO%D0wGWgv#IrPQv23Ce$-0g$23KYjPqw)yBG4-{A9fl8y6I1gyeIH}l_HvFXtByG z1vW9B-+s*O*$-}*zSI9rN3@|PhLQE3@zdX&we{_oCeg_)_qxuF3|5!JDT$O`c&Ku( z8bmAJMjc|@8*lrp_Ty5WiP1#Sl0)@T>t3TlXKA%0Q=ueA!|iZc8cWORw!m#Kn=!jniut z%cavk)U2sLKNOSqJ|;5R*X(|!sU0X0{k(HP_C~l|jWxwsS@{*hfa97%LKD6KDfww& z{?FOwc=?H4IUemEst?kiDf*CDs0FAIskHx(lEpE{)X1C#hq(* zo?cj#FBTpWgv*J{5vcvHbz;cLcce-iq#r6;vC7kE0j4t@_D52Q?@Noj{&`rSu`Ql@ zKT)N}HssOJ`8cb^`LOtOc zeQi*?lXD=JpAU}IlrV9B>OiT}xxC`h>1|H84P)685+=HpPZNGIR^!D8kQo?~6k4K7 zYPDQ{{%osV<4TGz8{C+DN&2fRw^#}v2!b}rw4KIt!%zHGt%hr}^9Msk9>djvlsPh* za!gVgPU6r{q&1n1IjrbYQrhU#r^83H6niE!$Jtm~4tru)R_bLTMvRI!;|;pK_B1+& zJKa?9qpOM+J;?7oRcE!iy}rLG{Xc7&j5^T?b-8`Rc*_Kn{*xPGG+)ZwZ#Y1X@q~>& z%q+_^;crW?jO1SY6P$KRCme|q(QWW4a;9EEx_WAtIpb6xiGeJ14~~rX|1u6j{)1aV zz2$ypi4Qy>9tKC=^!qZc9OkiS3@FEHLZc1Du={!x|5uILq>s#J?90Q6m3I8~a(DpP zj=OCXPFy7?wqNtdLyVbuwZAEi_HXDxIc}oqRk_rUKC8mjn%uuU+C>qe!r5~u7ZFoH zGv$JVGcKM~{N^6WgD}rTvR_@MsF9Wr5~oI38mTM8ugXG8Vxw{a<-h%`bxcBs(!4lj z+N;p4`O!X4#9?16wtJtpxciJc=zG6}N7l;Tm+GRat>dHPy~ZDN4rCGKe7*w`#KV4B z3zy>8C`2b4hf-`ySR=)y*lwTW@j^n+M%}T|g7XnmRpB!i25A$ba z0}vSJfqqw1;=5<8#Wr(ZVV(z>YD-wMzi`W3j_?R6Md^@exnaLsA3nO#a3`h?UYwuU zbmLf<7XWsnAInC1SAeN$oy51*U9?URFP>iH=&>b!XJUEPm;b=F{!|K>Z_5o2dgpOK z`}5OO@S20-voXQ*{UPmwx8kme2RA%+^_veflh5WS%q+fwUcX7VSHiw@5`J*T(^uUM zSD#gXpz$TtDQev54zRvuZ8mHc;>3x;#nl|Ow*F=dHwP9-nE*DlON1N#X!y3)E|=vMZs@Gq0s{o z`FZ1|kyKF~z>Gb-rViZ^x?j8|%>cm%1fY^ByoxMYOiue^lig;`A+5phvn*3yAy{&X zay{IB0o+|fM}mpJ);ZPa5gkDPqZWDap4aSJ`2Q>~P>FA>$lKyhz8`xT_pcZ#1sDiQKx>uEUO4$S#=w2JAY zT5dxc?!p~##L-552gou@+M<3SA*txrUMuRJ*kgF*7imUKVA}Wthyj^q!?*+zCM*W7e?Cpyi7z{v0{a(IP+ly2|)k3hml0NCpfPrYSMpG}z5r z(uPl*VZcq^3ZL9=RS<~@yEg-3_dUr%-LI-V)>ph$Ct^~m0}l-Uj1GP+{Kg1q;5-1$ z=d}BJdpn$0`9QD`ED*@iEU@NQdC_yS#@H76Iz=hZtG*1D$a_rMs$A|Fx9J_k_a?r0*%@3K(AGg|Q5t+3pXbA>Zr+^)g9 z>^Mupo*!Js^-pYGZJQi<_=&F#wRMcrmw&E-u_B|V45OOodZOaChd+BpUzX02%H#*n z!Mj;sMNff_u;*phjTf9T?i*z=I!n{DzXCyi1%+HRqVzkSR=YjTUjtm9OKhm!uZdCd zIC%})_`<_qXyj>~-3wL6%bt7YIvl}6W)_PJJ#`r_G$xoZ0Sdd=nq#bRm62{`^3Tb) zOpo?sC**eC@ayU{_l<_1AZAcKNBm16bcc>9cU`PzP{T!hD;2qrk1UY3qia>5K-u~Z zf3P`D?Q47#yb&$mOtR=fJ;-GYWE5oJIV0W!!|UooXeb`bgQ*S-)n4~3c( z(m|mwG={aR{Q+APyyONdf(4$dhcrAe#?=RI?^9I+Y`i34Ch+~`I=A8U7O`NFt|E}+ zb^agYNN6hBNs9*NJs77<>Kd>BzYi2@JZ2ntGTan1OR?KLx9=3u*}3t3EUGTbQiw#< z+PomMzMd#U0%VurQhjD|-)Nxsr?-x4A}SF05at0BdH=#C`}wO?mW4-w;+oj;>Ry@e zT^jV%hVL=ebFmYsW@F}nM{V(E%q&RMB$>17{v2XwUERkn^4uQa@P+DjpY6$1z|kMA z!PA|cc=XQkgm3rJMAfxkrx^KWNZAmA2w&OoxLY*X&C#tm3yeQIq{98hV6n=(W zUCDuxyV>hhVl+<8sl9nel~1O;@LIdqwUxdyuo)+xR6(bk=Lgv8BTNle(>{G7mi-X>F4$|+($ zgpXXF)zZKA0z9J>UuV110;-%TenXI+M1)?g!UZ4cyFr-H;TZschDcXyw%s_t(|uw80%`w1 z%$fdR+(|rCGVRt(qyc(gVbpz1q(HZ#7$Xe4)+!g()AJggd7vHKKF1Ol+l{$6B?Fxa ztVtKo#W7a~P}doCX?Ab8v?W_JyDvRBfQltm&Xnhk*i6G!HtYuz`~9F%FZfOK*9You zLr|@^%8P#l>blHg%ky+58PCk-FHH9Oa<=2)99JT!7kxFo*Y1pH+-0X1zJZ0V#J^g$ z^e6uV7qx0>rpb=@pvCAb1t98W+k*`#aU-p9e%m(v{KkXxvep_$mG6o9g?{>=6Aj>e zcAyg@Rub2D9(u;V{+*xY@2caC;ChqqwnHDqYj>!xUG|zo+$#|jSVK$Qn9oxDfA_Eq zW@@q_sT}m-q}&Z*pm3BC>sM{s)H*#@Jj#syw3c^jz?% z$hA@784-u=Ff6t;q4(gBORJJtvJUfYfz_c_{;2Wq!xY-6>cp|DPU~I!u@~_0#E&&m z-P&GUa{(`0^UsbaE}A0vKV}ygT*caR)-<=Zye4WY(RH-FS1zzNc_cA@5}M&^*?<4r z*-|WMrLfT0-w^WMxjMj^DhFf`D54GrcN$SMdt3FGj|`2)6d-*9(Pn2V9V15^8uV}8Yf>Lns|xhUg8$gy8MnhtwsI#<{T^s} zFjZe`X%_tgYCo)-HcJIm9lxf!Nya-`_u3B!Naz@o;-6{C&4}xkft<>H)PYalSfjJZ-@Ij)i zwIpo%ir?#Y5-(9=Kh~ptr3cWUQy>#0_u0lTy5TmBClejm8Wm20?Gj#zw0T6gNkb`B`AU4BD@Tcq zX;r7akuxdN-(v&{tb~ieQ;6S=BeAYK=wY~-`H21F!BtJ(w3Q97lwbV>5V=)v49F#W zb-eZ3X~kRWb^UFFq>zXM-D~L=VJ|ceENfr)&W)^)++<`7uDO?)6CIz9uI#j|J_&LJ zsApdidJpRI`%>wL*=K+CkE+YTMmx%)COW}SeftRz7@ZLneS=mxVx;rIYKjxa9|kEt zagCO@Z%vQSo%FYV1kI8CLmiMwKtB)^W@C{H^BW?eM0C7MjXi_oZfDqpgatA`dh#&SH7=$f1BHPv-k8Cj_lkr)p=ol^b+FN#*dzqNOZWw&E>kBZW2(^ z79D>_0f2rg_hQ>p#{;F|iI)Pp(*2;KadSZ8LRytA%2263WTw0B11nus%%JWe4rq6_ zffmXW7n><;Zy~$@P~jTUa3t$F&fO4C+gTRRQ0Xgsz?$YheD9)22W%E<7SN7+^I;Nw za2C7FwK7!hL&blwCEQrObK^LU$e`)>)`?d80?G8=WuY{(<_@Y5knSc)g4jU(XFNKb zx49s8-YDlEYdi}0e0HLT*96Yq!ISZ_N^ICSJ5*`hAD^AQJ+b}$vC+A3>lu}D?Zq8IRosP-f8YSaD#2C8rf)>%D zgjw7a&-tFcUBTX#WOFfZgIPf!-{HGZbda6+J4jHY|LedWA)XKCjH&U!_F43+4gpG*R{JET6MkTQa`{bzheLm=JP-IF?ckTR>h3z)q@E0f` zvg|u#7Gib#F4rDQa+U4SQ;<>SyN{&?#hw6d25QRBpomp`bmDNn zznC8PhR}4hFBYgQj9{VufTfb-z_p2NZ~|0&{tl6OwAB>hHHUG1)nj{o?GF#&4t*df zL}u#p4}hZ0IbIWZ*oUQ;>ta~O6%OPsc6xi8OM~kY*sqglw`#6CzaXUB?5H$~iZeGY z^BC5eE{PQT*!vP0A#t%U1vN=doFZ`MNQ~?|+9)QC3 zPVKon{58Z_)<43(!SRro0PD9^_2QQ-KiYT=;lIoFx z@}M{8Z>kW`EJJ}_lATp5XeNM+>NHr-burMRj{YmVEU#$nDGx_*&p8S>`7cXPd%uV6 z^Q8bSKwI)pZE7PiL%PJ%8?4<7x-RFx*-gNx~iCJM{ zxrIg<>%ABEgFYBe7UN&ocPc^M;h&0Dm}wG;3ke-rvFtOT$7bXbC+ZT*pnCXKd0}9` z+yakN$JEs;_m)>G9YAqt45B&hJUbsO2R6nfd)EvUem@m;yq3k!w>ogJXng0hy`~V< zJ)>Z!sh5ToW*&K<6$nHx=q0osTL5yk>q;!jlqxE9Lb95Fp@Q9ti4(CE>we(l#0&IR zt9(k=o~yXGv_$R`Ny&4^{?tKG;c{6|nQRky^102jGt=xI!~e+VuE zX>2--+9wn2jzwUD4_}mqKRF@q1>Y3gdMU}L1H#_N5q-OF(3%;Z>&Id1237M*HUK%2 zJ&(b|T|Ny^0tK&EhgERQJ6k^&HR;)PLPFby%%Ro+6{z~pPbWJ&yiYc;ptU9Wv@$PQ zL%YB(9}V*jD#wmkL zqQITRS3Xcs2rJg4-h^5cw?xPnGoC?h4@uDf_;(}Z|BE+R7?-5R&v!5`J!4_eEMved zuSXYKs}7V$7q2-XfvFhHvw)qi6cj}jSF(52(8m1NQL64zTAh^o=$sr}9Uouf1d|vr zWxfPxsdev-OX@3d2q`craB0|WX!3mVmtVwdu7onv%EO;@*q1n9BAt+sL;iMVXQ}nL zW?hn7LHfQlN2uh7xAbPopmiag14{9j4++v51>bC%cLO(rZt#ryR8~mJzzUs^EYRhj zAS_tVCET5^eAhmM+Q3ChgxmedVjlUpJ^*eFBN|<@c`OOj=ERr`oRWa;%&VKk8cf_) z9Fg#W)`1!ikNLT*+UJn%e+q!d?Nl5w@}(A*v_TRSYO3PnX>?Urj?^1y#x;3#5AK0I z8b%C|zty>7TnLf$s5NHFU(A>dMr1K1DzWpgWn9uWqZ&H>`Ss>opq!X-n#{J#ZKU#GZFm~vPH`Ixz zH+HQDT4Ojh_~_evY+S%Gu zv)ET_E!jZ(1c{+14sFuy9Qo4C@Zuj8LnS<1v|N)g`vRCMUnFf_F5haajB6$s*x@DE zfg;^nVwKv`o~Y+pW^a7ZylbLgGgeiP4IXYcGg5Lt_$bK~q@Pu*4cRKh2~^=mX_Aaj zo@tV!G6JUd4L!Wvv{;^Gq;fXmDe+M7N6Ymjb|0_p{WBBBPB1<$-`CM`zuQWBuH^>R zb?WCxce8qBi_C$R?l z4J{$08=`k1E7jMpNAKH1=RcYC9a^Q16P%Mal zgRzi-A*#H_osbW}1T!vqg^fe-O>DD*16rfwv3L+VYKmyOTu46|+Gx)@{4RYFt2ct< z^#@wEPs}5cy3l@@S$-vmx`K=`btmVVLv1cv?%8>Mv#8yxcBzxX#HxIu>1OC+uGL6Y z1Q%wrId!Pcnm}yFvG?p2nCq-c&b2*81TSeQteAQcI-K>M5p1)yi2)eismV*gs zCu^GP{Biq!tM*GpzTdG2cRJ9eYfipbfzOWO%mMxLy^w>+I*wjN2KK8GsFI?{nt0?1 zdjqXggjKJgW%aO#aZPyW`8hIfV=BqyVAqemmd+``YPZ=hrw zIQj?@CGb#dIH*AVBwh&Df}ps0 z0Zx%8W2O7f+tKy%{V-J$Pty{iToN(mi~CI8z$izYy}nD&VN6x> zv2uzM$*sqC1>e}Rnq$(j+XQ9$?mX=Yh}|Tem_psayw7>BLh^KxP&%->+G}oh#xB`I z)F1GSY4X(cjqy%Q_HyL?01ruzl=`M?y7 zj{{Zp@G$sW73&TLMn=TF@@7RzK1BN*c-9wldwY5-2}VX=zpz*H^TyHQ+t+aoxFEb> zT;)kRAmh7yv&~g&rHcgn;-qsx!~v7tx+Qbz7(o|@4KbPr@Sjji`{(CNg)lM@QMhCS zG>IhfJ*e02r|;xj?`){zaTi<`Q~q}!_g@33YJBY7TS+&Kk!|1U{T%^iy;KmK(iDap z&mai#D}d0+q7DQbcw*%Ld7{CH_~$Xj|M?q)0p-Xv*#8IX1<(LD0k?t5y#JFoPJg&B zSzZweW$=PM2XA1{qnyUfQG=(ZxcV%k@z+H_*!I7A; zp_&r*F)r{~`YtpbtQ0Y5P{_nf+kYIR$rHf+{?60o$0KGnnm~}mJcFLn|Fr2Ftjw;x z2F{kjxg2~dVMwv4yj=00HA=TSrfKU2Yl`;tegNZV#ly#lz%P}o!g$Fq*qF$k5sND_ z(_5;H)<8l0owK2Yr%vQ-U3WNp9}#Ns={nohuwn!=_{ev6S)+IKGZ=>k+IxqHDah(X z@tgF#T)-{m`EWBQIYR%vpVi&vx<^jk?dme%3C`as6pDU!I^`YE4480o$iPT(t(sVnO^NfwP%hBx1%5)r)ag*1;U4FW_e9QAg-WJ`yg&&n zlA=Sgd0!~7HLW;j*S-NZ6A8JL6>W2ZN5{@+74b_iThfBBK=j@vAARtD~DH^0y&(0@ci)*dpcGc;@u8BQevUvp@MSPhZ%--I6 zAg;T>C(2YoAJDzP!jW|XX-Ymw%Ndogj*j7dUe&sIvJQ?(5?_PjL%Td12}PC)#B{2C z{8hm-H5byrFk}!`SDWXybN+TT6NH&`b=61zK<2-pEd7Fmt9uN!bs8`V!J6gHqDk81l8t&B}j2D`RA2|9^R-T`m*w&l+yY{9%Ct=6{LNZQjVt zyvrEQ2B6sH)vy3tp%K;pi=3`8TZUHszeZ@*;y4qS9Uz-q*yVKq-IA9aGdd8#MGrT~ ziWH(fH30`b&}G^XcIBorITz%|fI zI_%O%c5+rEXgIM0v{~DM4GKn?67W>=GE7sdq0O(-qR&UBn+@(%)`v(p<2c<6zZP2F z(mR#{4ff6is3gOOeSz*vc?Ts3!Iw97agPm{alnp*;Jg_yBtiz#QA}@TQiDzFWWB9# z{=_L&xoF4U{;D7v1COXteX-L8EW_FmuGfpJ^@^Qn=AQeg2yRHyMcD#gYGV!MA>w z5X8NEV0kZVc5wgBNP9NECdDt3AIhHu$hjpFV4Mn9u1XI*dzZA@WrD6W;u;XleA|_F zg8pzDUNXa+@S?|Ej6TX;U6jAaD^A+9%d;V4M+8P{?%{c|w6>O+pP$Gejbpw(A^I$P zdJ*Bh^gi%ZhwS%#ODnPqwy9j?hJb26*ob9?RZvl9kAj^RoBtel*slYt#Z zj{9uftBpV=XH-EJLC)H+Ef-eU@Q#?fYEwXY$(}Uyk+pUD<1izOGy-m~M}gnH^5x=S zGT|LyS_7in;LoQb7~&L>*wLLYoMzV^C&1Vv38fJRg=KKh=(XzS-y{(*u4}k383atm zf{#Hatm6Fh{!tWJXtOv*>_QrmB@7OdMl0rqei2>TeW$q&lTm&|84bh#s+#}!afODt zGdlv77YK&DdKLTe?`1yleK=J#tYxHTrglMs*xws@Q2FVu45H8CKQ~cUxjAIODx*9K zPRwHu`=Xl2AcN2VGlpiN@SpR*C*@dd8AOV|-Ujy{eIf*`B_8_t)5p+hSu8lv zFW5t9Ms4@No!T<7Wl|QRArE)`XK--R-&R^XP^hfADuXD04~+4jD=fmkh(6iTD8X!C zdPfYv6y?Cz<~qNZul(CCi*_ab%)qeB0670zZ;7DT+wp}mv-8Y9Q%fxmULar$WjheFCA~(98hi&G%+E4EM2W-=+X*? zR;H=;2gs}(7i=BCY(JLx4fiFmy!NfefxwW7zmV%C@Vh7uB1`>-rSrG5Uq#nZE}sI7 z_>@G)6c}Uhwm(E<9gf}>x;3y|$o&SK$_SnM*XyU1qmOWnq+xu!yM)CyV_UO3^;e(Z z{&Z;X%zS-cKVL2$Anzv>5G<|pepuI~bNS!vN654AH(EQ4?nJ|6!l;7kJqj~}cvA6bJ1Lcst)+~fV^ZxV142f(6oK_R@sGo#zzyYhhBhZo#s4#2jYUM&h( zj2|HLp-9#f1k7E4K}O-#?Ej9*l!YTH0QmI(00vC7&*(8CD@XFj9RU1G04pe#08#=s zPFc7CQ2amO9^cQ8!7h;vge7z%EJuwrn5#r5k~fY%V@uKz=1TKzLB0RGoYSl_)L@dA!8r@XCYUX`WhUx5*4<&Y5z`ZS zOK6T<#$XLBXfHVg3>qo*BPYGl$ta^5qYNV93OF(p{-u~7WA?AT0IkcfviYRQpML`* zlN;u#QZUFA3c$;PWsULlgZ+v}OxUTOq-!ur!CBu=*0cg=wj%%Gsn27h}c@Qa5K87Z;87^k}QKD57yjs(dXYWLuz^OaoYH8E96glD>JB zy{5+Fr%BoD&e+u_q|$sMI@jvl3V>$}fGsrZ0|{TUhFQoftbJC_-F-(kLRCNWFJ>to-YIM;*g5Qks#TkvrZMu>sc|rNMX$L;a?QZ+k0`VbUnBDF zwi(fjiLLk%Bl6fm;I!=$IaSt30+alNOj5{{aW7SY^eT3>7W~Q0=+2zQpPrX=dg;jY zvEcx#Zmxg39Pqtxk0v6k>N3L4KSv%#1pr3p{p8Cwk>U@`BKLP9SpEiFOYR6^j*kW) z+fL*}3P~iPws@1!FCh-qt*ajZ;$bZ@m$>&j5Kz-T z68oVcO}TDhwaWd)>_c(Fe9nrmtU7@vL|7U|zzrqj15d?0js_{I+i>b11EM@dCKe*I zhdoZ*?+CQsvTv*eiW3f`R-h_S%}eKf{o1Ex;26z?0b1 ze{w$*_!<{4(N8M>9Vl7u-+<>YX>}y(9+as782{~XkP=Q9FrF0Eq#)?X!R2}88zHvf zd|fC${+n)sQ}u{z#-x-ZZ2 zgm2EX7I7y5;^+!V_58BE{kJwX=L;PjammRYJ56G)SUkLfa<-pwgk$ztKT0-uQXF|j zsAN>V+e;l;;+p+wgurEyK|=y2dX9 z?3Xj&Pd2XgJWkFRKbXiW%lJ#RXou535u^wVK>2G>~bYh{KA=B+~ z$2JA4`obulM?`EmWKD%lmELs2xK7x)*wokk$zQ!@Aq>V3*BpM8W{4I%T#9gwZp&Ka zaw_#Plqm8-nMA@%^wbefeNZ@>zxojIy800O>4epRh2Gt&^H+4*7UMxO*|D=DJ$-*I zyv+Y7O-Uz3u8l9CnkidxBYT<>NcpW^>J7$N8T--D{OZMN)3U9&djW_nCP3UU83G%t ztREO1U!j@WvZg`e6-xj^Y9*@a_#$6XYQeo;mBr~qiM*{p?XGl)X5Tzi-nqq!?TQ^y?6i=OUbleAKRh96L}+Q^Dm{#I zV*4fn7~>j0uV_1%D^P^ydc?xiZgiV*0Y1>sC*o(KbgswCIF;zVJBYf4nT4H?9HL9y zaZ5`g*lsU&#%t-e4hxYaJAq24As`Qm0Zkco7K|wW0zwaDC`rnJqo2kT23`m3P5n{Z zKTUB&^n?Pxd%92Laz8SX)8b2>%tE7#=_TH|o=(v=ktL;_+J5k4Th0@n*088NKQiZe&4_sB_-KbmKw&8TxU3S;TI%74)453HqHfxO83G)4 z?)p>zOuDu)P3f)mC>zEx!Im25U}70fTY8g~HI&qz7D81J+<5AmLAIgw%9`bn4;2t#U3VzG)DGMSU^%M zpMJ03tS~sCR8NN$Y-0!?8K}WoT9Vsxy{L)d;cYqIE5afcAH=A_W$+*zPEO@ZV>aM@ zGII#x9OcNQr-}X$MoL4Y^qL%Iz9+ei5Siho*!-|tX?6!<=^(gx!Ny1l2 zH>~lzNyDL91>ZkFw;u*6ChrOR+dv9J!#saQ+bxBNj1PHMKNT&1t!{en8BB#>r?ojq z;Z}as1#iA;{qZYH==26iU06H0xtz~1V5voCq1X3yC`_eY;qQ%35+bQ6d4cOT^VkIblP@jD*JrCR%;GfQhL z_cA0-K1Df#+vq^)2ozm5&iFlHWu9vB79v@<-ZSbEUr#+)KNB)IYZc^64%Dq!TT|LX zULbM{t@(fZHlg2Fhz|P9-BF8y6aqd&7-Lw=@VvV;F6)xnL;u#n>nQI4CHx^7CZ4mK zenu9Nx#GFr-@7C{s)$kmytLe^!ZH%l~e6Nrzx5k?` zqo(J!x~Od1lq`*O97I!ZinE}`71q}KhvOx%gDd}~Z&k65{pdbL6%Ta3QM1vvYTk*? zVv3i)2E5-Z4Wm0d{qmzp)q^1XM0~AP1(9aAT_gkhh$WA0e0S>WEyR`5&S)5W7vvhC zg^xyWOBh(et~o_ZJ0TQZW2I-`Ju+ls2Rgy|W7Pk})K`Z^6|G;>B_$&1NT5;~vJ6I?XvLu-?)tqn3r&>5RZC6Dc8vjH~nBtk^qF8t%kxBh19d(z_PQJt$^T^7WjsvS;m94*JjAnPMP6^*$mcqROf=f0S1|%!8()ZOG8eHJ{)p zT2Bki!DW?5%A1n|f6i2KG1mqN@Z=N|?>#zPs$uGb4Bv>D^f2$4y3ff`)-don&U-W6$ zcjML00cU6QQ(oT3!@6%xyRph{KCLB%!1Q<$-$Sxn=si9A@?$*9g+xI7Vanhx=R5*Dp-EVyaO=2skdWMH^uNYW>pn_ zZhB-e3yjF$oebiJlCJ?NB~sG=cqkV_U2i-zK4xm|2!ZK$K0*8VMDRKMa%;;+1@liz zc<@^o(KmN;!0sHB*r~BeZJ}g`a~b#wKpMho9DAH84BZcbkqR?$*AGV~CK9z1{-lKm zzkw0OxC5xO+K@K6SQ_DSui^JN4dmNDi7P$?tlB0`k32dWW#az&b&(9z;=qv>0w;)G z%GuZ%X^EM{Z*Ze6MEwVxAX_Q8Cg$cPujyuWgkWQ22d=<3VLz=vV`er(Yk)PdG0vw| z9kUCx6JxSl1$b9HIhmg<>H*m!+VgAm1RAE_Pd{3ii&lg<{Z?LH zRBOn3X*o1UUG|9(L9wzhvKY-ANmbtB;ELB^2^?7~sq9`8h133hmdp$JW~3%W8RI)L zq7EnnIRD1vyuS~(k948~tf=OG;&v)>B{*co(oN2FjRX+j!i0a&HWR_#o*iZfEE-(z z31fYGyH;-~%8c68RazzmyZBf0zZEE0UbwlrXR7*DloU(D;)#HI27z)T((#<9Ni(Ag zI8`?S`}U8jLTMd4;o%OBVig!Mpt9ExsN27lQbrl5D7eg zUrTLou26;KPBwUPvj-2)itPl)5uA8&yJ!b;C9Ok zvMLtg;R80~aUwJ&xdoFwq@b2y#$?)(8vFB2ufC~24uIAjU)mv7piXm8{vMxJODBRB z1VFC;sG7hj%b`3tq$4`DE{l8*# zdzgl7hawhnaq;=)b`m}@fn(_Vs&1}1ST=WJMK*Wc_;6>WmfZ}Hy&Zl5Yo>3mUxGx7 z=|?y}-(pzBe{yZ*M~O*0&83d$N2I~T!a!y250IEI4%Oo|GVqaqO5}n#QNatTcX{~? zh3anx1{I!5QQ^Zs{sGh#Q_{kZDOWs!NUF@w@!mgeOWM;AK!K>#`$&{X6V^8{@STgZ zGF8QtfDzd~rJ~`7{O_3l+^*;B{Y=Q4u)k>EzdyMn*zIYdW98}UxAr%cNJD9sBY8{r+(mEw^9LDgU6>S;Iq%{?VmRhJdM}-e9{O=W-Y$#-pUfL_O2qD(GZCVZfI#%A zt?3aS8URC%4+ZOO)4QQ%s)kLaIsuM(vH^%vQ_qkv{CsL_as4R8@c9}Pz}n&C+4hip z*YWmj+}4X~Vx{7!n1O zK)S3xc}hxfJris_##m%97%4BGrj{uGNJ$(nyZZS9Ft~VXh8^g~3^E$pk}o=St;MbJ zjw4&aThn#GgF+6-47`IjCaT{^ zhSp7nUhk(3FUo!?s~qrgxj&G5aGAosYz}@>Dg1P?=bI|_5|4(qRI&`vZD~+SSw*4Z zMc9FWj`7nN@9re6ZF8Y=Sq9#>zVHE-Of9gN6I}R_?X#R7&cNRe5RC?W;nGgf1DN6y z@B62T&FK2YpnJs_5*&b9VryG9#Fy5zbqItM5`3zZt0dH6(QF9f5?TOL10 zODC3=<%w-T+!EiL>v)UA_SbW*O8XauCc15LDJf#?T!M9Le5n2P~F74yoslud;({*-JkVaYpf<&|EyV- z#t`Zr+yjD2RY9L<%?OnD9qJ3q+6hP)@00BnY7B36dX~Nzn9b`LOnxy>{jb^yG>Qhj zU!ime&t3vTpJ_B5U&EsZd>fc(5pXpicNC%XKOsg=s^xV}BZ}#B;qb^LdxS zMQ;ewB0Y?jDTumr+!c}A_;pl9b*Q0#V(WIg^sXlwtto$A5Aot>zSw0?mx+Q6L}2%eV7P$X%~bpQeO~>I{URNpF-=O7kT=CJ&V106vl%@Xp(}Ak zD2$`#ScLL&B4GmSznw8BARCtZlgJKuY+T=g5AO_VUR2|B@pJ7$y#DUK0ZXYenEt}F z^hc6!v?|IJFkf^)7$KC4lTE!nMB74`0S-X^*?g9x;+hf8Zn60-{idQ=2D-5`7PhEA z&Rj6QG^osm@dgt7PhEdu;7AFyx$?@beOg<+8k=r0{J5hw9!f`_nppj@ul-T-v6~a+ z(VPy0C^u2{=(d&Sy(@&vAgnfuQI)F>-VCDl$v<#HT zuv~fiULeni2D-I$rU^Aox84iq<@bbUVJUs>`i;w(WC%3NBE%(2uUOQ}7iOWGV_*na z`+sTs=6iG&-#v8q5BO=B6Wrw>72~|a z9jL@}*zfld?w_q;)O!@5KE9iLpI;t6k5 zTZ|VDdVG6l4y1y*!v{8t(wLkcpwY=RF#%fSdbGu-#jV$YHWH+89_c@ob=wfmp`HXM zh?~XSH(8aBgx7;j@iF&WyS0H&Zd?IqwzQ_xuA1iaA*GHmhmxm+40U>KR{A5+$87`k z3dRcQ33C4kpzb*4mRz5-*Nk!0uM4C^i^ioO@GxLfUZrQT#8f!2uAbOm0NLv1VgZ>|7N$-JG{y=|7daN;Z~_8V>zq2m;n`V} z(x!5KV0&0lBGCYS7KjO07JpF;1r5I~4;PoxTk!_$CzCsmN`WpzdeXgg;MP%pWkwYLfkA)Nh$C<|l{Xp(;L%{XPjudZq2goM#8CIhDCPnjM| zjma$m4g$kj`;jT=BbZ-VHWmqq)=J*+j0xC`T$BFkO1YtJtk1`%j98a z?7+?e!q{>WVB1TYEbysrO7jf?Cn*W3X~ZcHz-<51dmW8gfBFL3Qneaee(7J^1z7c~ zr%eBu@Et3G7Hh%=8a-&^JC)X-2J(Qvzl zUwiU}%GoZ!` z_;d1mxXWu;#KISr3?-ii{`&onev@5(VqGUX(`|c27N+=4XzGy8G0pGyFj4eS$ux(? zZ<5q_4(vRzmFxsvMNRw4)CeWj9Cw~C<3+*0UGp0szf&&rSwo<>fN$v+s$fpro$^J| zVO0L->;mS0&o0>v9Y9m5qVJZuj6th=IVS%{yK;5!Z;bQBaZ zQJx<(*u{pNq?A*e^q{hkpI5qqR^xOzqwIovPXk2&ZufK+$W*qQ?A$Hx_;?LI$9PD0C@eY7C|3OGcX2}Srs{igk)>LII%MH-vABB z_^DMjwmdzx@iYYH6F`>(q^oZW57alovcQQ47-KS0o{x});5+?QroaiJLL&oD=8WQJ zVNz4jC+Wftpn*?~U4^I94lwz^c7K!(1;31R!=k~eq3OMyXx#oHH&I<(gOtm1=g&BN z*GjPXf1(#uT3CYT2Q5aLsP*9|1j8yO@Cnd>&dX)Zkg;a^Vp6~{csr<*5VOOFt_!6z zb+u<>g^1##w$Z4Xe#`rh)&24WN1KDg5kW zI!*UZzZx4QrFO@tx=sKHD0SwQsCLZ%odtLbE~#krCO3y3W3ts|W8>w6tTr}SHNjH? z1Y-lFY+>Oy-yw@YSx3A)1e){&s6gW0bYH$?0JFMCrJzjprn;>)1X4B-s5zQi&K^V0 zEj0!trNH^f6D6h|H|@wuL-)~7hN0RI)B&N4L%Yww9G!TJu{$ZjjEX0`1#DLs@;^hA zTgK^3LNN+dl5U&_`3@}C?0&k}tv2WS11wl*wd*wf@(f34hg@Ow=dROv0z$ckQCI9GfNg)kQ#o;nf zrftq8JW?Hc?OH3Rr0VNi5I?vFYz=@@vhKu6##5QYv2Zr>kb}gnsg^{$w4ZMXLF}Ir_ zs9Mok0dO`YC$C+&XsU0>q4FyZZ45gH;^-*VII{(tSDdQw?9NG!5mjpM$?wPO&j*W* zf%}*9gT^9v8Ww`ry?_KBb9ENXx}GNRK<@L5&5a?_`@~*LyVSwvzo*DnOf$%A=4_*6 z+K<@xu&HYU0Sf)R@XmTgE>}Gk^)nNNw!NUW+b()))|7WtBqgP3@!il?@lt_sLCO_aAHL-QR>#cDzV?5Jyul&2Pyzk7kai1yvMC+OGTn z0EVsC(oAUEU>IxJE!VSAQ9X3H1^#y7zs`(Xh-| zo!%U&-NyFoWcHIkNJPm?xF4LYx9^X? zXZ)*h+KbnU{Q5n=v0O{#`J4iHmZy&5mbE z#f7!0xxfDNgPC&$*gUbs@W{?ijsY`Z-U6?n|K1Ug3ODYJ0wVl8ss^$7#&~g~m2ss> z_Ypf#64vYc&X6}vtjGSd{Ln@fx%;oqqTjszYfBh@A6?7-jHOjv4^>%$&|lrMut;6t z?$KZ%4SFnCk9^dWQY}9%H5a}wh-}-8(6yOmBU{x?KfX(dIo#3t&Pm6D513~&^0u&{ zpTCAQ0w}2ysgID#+x;M#Qo$N#OY28VSl6r!0-_ChIC7gIwHSSBUVc@KDv6zJt~{Rx z?VJ-Y7q3TBbpPY`T8(st6`Y}*hqljhJIL1A_dDJKd-)MrAw!;LsdEp-6bRv~#l6SR zg^xSxfcS=nq^pDT1j$?yJC~qoUK4VNSL2GU-DUe)csEmrz%$6I%=U(rmV%qSpIbEP zWTBMjjc;V$d{Sf@f)p=EfpJz>k3?ChCvTZCUbn?&^-pu#`r|;1``ln z?qbsWLnGbc`tghqFjDajqWPpaJ~#dNexh~$nUT^P`BJQIQ$Gq_MRtv~gmw^cydy@z zUfY`OzK~E1Uljb;f-t&V9WfCF&BrOD*$r7Dy*_&Bj4QL{^ylpELCa}^$BpiS7|DcY z&4r}bb-2BOO9m`n}sKn#*|^ z(sQ>WJ^8nsHT67e65OBwi%X#{%RZ5{}RFKeg|K&-T zpUL+@e^$p(ivvA0(H*1p7l*(nP zSznT_FGhDcz(Q0J571aHj}|#&(yf3<*OS{@5W4`CXC5{FJ!`h&TGnk%-V)HIW>koo zJ27B>JjzEYpOwF8uBmRZ;%e}2h|MH#mAAG{j)2Bt146y{7u-ZNx8FUa=}DP1VHv9W zPD8JY+G{uLtv=PHt(IM}7W%%E);`=6dAPhgVVFcdI$3N<%ujdhxby5uwPCitqDY9A z&n2C96-mEZ(n@;sSGe|36pmyYHZLZ)x|eVqsMz|WA{zbrfVX@tR8hqEp%wk$`d!_e z2lDV%>HYz^g>oD$q6W1!D2qsfTaMkGKfnB1z>YsLHBi90<%jBJx_fJMd@%H-)g%A) zH{HRRk<{uDO}zbiCt~OOCGxe8Oe*XAjh!=h0`tnJ>gZ;L+%@tMvNiIBP(3t81acpp zab`8jkHyi5of4Jhr(K?3aHmIubtm<^%%uLhS6KJdNV`zKXnUaOgvMe~lo+`8d@MSMQt&wMjkT|Q z$!S4a&R)KT3Cl8aV_h?AoVwQ}-6Dd|7S6Q$vIVBmXaxj5jZZ^(e>QSTm+?t(mOMu^ z`ofc>U)d59y{e$!GtHKNc6|8pVZ&eY@z9%dSm4j9@2c;ssLT;74IByCIIMO3=-G+X zU$zvtuX{Z2ZgV1jmX@io9xvTHA0^@G$Z8gI{xlQ%Po><%ySkdZ>(D*DVh|zrF&BPh zyIXVDcyT=#8&9GU^}73+_bHCH_jp@{u}5OM$D!HhlOmB!)s!@fxug0Xk<=Ik_Zbe) zLG}`rvbZT>JMzhgy%&3f^Fx~Y)xq6jZtJ!KJWwr%i+{&G z{q&m6c;k!<(()j$LNg12U&+ZJNIq94IhlT;xLJ?q8DqFOtbAWDP-ks))#2{4jA|Xg zsBiKY^Of_8DY~bJv@u?J%U0^#MgMOj75d*!9JRM%H|Ud~@l&~H9X@A_3T}6!eCL=$ z`u#&~{WyzPcwVb@4?ep0XR{X8X_{Bfr>wNsB;`Dy3G>)uDFQJ+-8oOtB2X_+`}Zef zFzqE3-+WAC{iryG*%gJJf4I~k0&%NyNhEXksoeJ|vC)YV|}1t%u`=K1o=!>q<#uamYL z#OH{kiZ1jb&>G(w?>lE{Py_;xg+a6^F~c*IlHBO5y_GRv8}yt6)I&F zi-Z_Bnn-{F%2lK`Re_v$!isA4{M`_#Z0qWH%FkUyuqjH~N^R4W>*~9JP};(u?=>`O zzC5xMj@0ugvm|9Do9AN>oa1oRU0dAnibP&mdx!1=fN5t3N8Zv6DR=T7b)=mvB8R+Q zxIVtn`R>hV9RK?tvwm)=9YF6y8dF0>`&z>m12{X8>+xW)O9Gl6#L<0p_BvkOMR3`% zAM_sR??}HJ?7rJ7W0N3Ol?`8afhmbpDClNJ+U3gEsN|+F+GhwYPgJB=Ii76_S{)7a zs0Qb>yapF6crCtG09$4R)@(&(QP(7u+n+2I1MO!(sd(+ma2`1@l_~M{(y9FoMWbTPk!9k3%z73ts%s+;tu#YV6+6P3EsOBADuq} zZ*#egi+myVyw@;nGySnC^4k6J;dHSlUZAyq>HwXboHMF`L36$?*+MIRW?>g3sYFrs zLM`j}%emyvpTPBF4~nerNyReo3cWWIcF!fNP`dH#W_H@B5}x4U)V&mJpUpR;bbQ^k z0mB@{UJAocI*knlUC`KMuT{Xb=~`gzcTn%JNsNGAI!^;ay^&MAqorjvU5sQ68FJFw z7rlh`_vQrvtUfSKm$p1T4aJf$1p0r{j_I2VZ1uDs$7ThH&qVxl?n$F?yQbM5Ku<)b zQ0)zZ1$e(O#qKv3#p&h#zUJRswi`_A+oPoKAFP6{GB9*@n-~-NWBZMY#+jETWmGL& zH@OBR{`S7Ce{;tqGVg|?IA?>KWEf!x&!7c`JAmZ~r3^Wz)f2M1qSAY-oLGQ|fFO>S z@iZ_HuEFqfapZyF4#h+4xRx~)@_>b)|Jrq%-1>mM%=dk2*Gr<`);DPTf7xSkkvQ$8 zc!0odZ8JUJV97Z?(GI76&CAgtU;6%CQr7)^I?bE|T45)CVQ?T7L@p9>n?2?1D&KbJ zMfzVBky~5@ z;aL?3nfV!M22PfKYJZs*4ym1>?LL3=m(xQ|HL}$PhPEJiW@*l7`Vx)8fNZ@MtTqMJQ@zk41(BjqH0~s0XrHf>E-|=fA>)3+BtZ; zm1)bay5PjyWZfK8XhFWsNd1v@m*sxut{9;SGxgJ#BN4??%Cfl^wOWy z%B!l>4Oo-(XHRt%c1jWmT+1S>Ev_crNMOB$LVv$?I9=k}Y)rEWqIA)cS81ngZ<+XsJq}YKR;46lB%1u!ReJ8I(&Kpvokr=2d;#e|Kg+8HH)*v5lTk z)q3fWcE6@!*YD4Jv^#Q$$euVWDxI59*Rod?M7#a`_0Av#DDC)F4qa{qxSI9(aMMmE z#F2(6m}85bTWkHI41517zizbURQSEmi;qm;+1aGTq|DF7oX}zw6R+vJKn+($>^OfP zl|}sAzs6iHcdHnuLN*8HfA$wT+6Qlw<{d>YbhA zC}&I>o{T&4$E(LG=gnisc*loF-AlWRJ$IF4!kJ3?%2+t{Hx_Cr;wMQ_Cgw1%h@1Py zifxNQzPoCl{_h0?Lt@5xYGVELCZA-r44G;^WYUY~vP4xI4)xmE)wvzDzM?blE&*TY7yw{ER6%c^}>WX6x;1*yKqOo`rr?i&*ItzPk7Ad_v}t=fE? zFN>J9rPk$#YtZLK5$w~tol0ZQ66Gd%$6wK8WLn(VV|fmnVe*SYy?WT#%~ z5bJ&|o}2n4G3~aWQKTZw{Y#WN5HrU-qWflmmz_)R5Be1n)qry)7Hx-2i0KC;IAZg0 zLW0ZQ0|lau_`M1l5sN^HE}MvUUn+51`(&E7y!Fa{^!fdsJG!hykIm#djfB4S^_C}z zQ`mzf153+?lKJW|Az@yI)S17-ud;Qz z^a^ZX?1sh*0|V*}0a;P(I7H-3Gx{9Z8BLA2mzzTdv1$}a*6J9xs!CpUA9&)w*Bs*& zyI%C(+Jb_G1nNd9_9ZW`8!X46gEw!2yIz;H8Va<{Jq$T8XiZJmkiO!p*t6*Ca`f;R z5y1=24xNhVO&i?zczjTV6M2ECGf=tr)PE@Ff3SC#OmKzw^MX_G3S%VrDtCrVrN=%Vm zExzLz8JiU#{sHI8gPm{d-MDL8iJ@En_k>TR@Y<5#L+|j_nZ+z6<)dO|rrA7-Da?UD zWj&1F+Oe^ z{^)k`F7dH>Rj%t%;1$!7LHad4#r;_6M>kNzzWpb!{iV8&b3Dfr>$axvLcQ-Ty0t#2 zjFLrXQp*d4XT2e@vNM$XT$a+FL+AJ%Mu(f9^Ouc)FPb zlQ4r3kx;73(Ndci^;iAY3H8H4?Msu!>g*3SvRav0`dN8kj#YV^uLXw-k-h{a@o~X@-Q~&`}O8kjzwouE7LfQ4g!qK@AJ&Y zNsRB!R`_MaLq0(+WIkkMHAW~tE(#!otP$Jlcd6_Uam!yjniNG2>pm9_J7NChxNpC= zZMyd8eb-+Q(HBS2oHWzvru~Xg&8VL|@@OWF*aT#f$2RY~yoN&m(&Fu&$20MaU`LPm z$hBDr`x1*W`d^kIrO(>Zwwi(zEjfBDed2+3efyCm?cn`p9re5-*&E#N`7GJJ&`jZr=4uQWZf()yB0| z)o4-`Mn+G0%E)P6ZEq6qsuN)Kw~coFb%Z5KMB3|j#}N{K=N>-~UZ*kx+qln!dR~5u zJv4ofx^lXEtlLarF4kp}IO5DZ@_4r@NyhtpYyU|6d$f4ffO1ot-r7_tj%JwOb|XnU zX;IiRA2vdhd4$yc&ZSMfHimDMs_8Q-TvALK{get{)A3OagJ2eq=M)>C?eBuDNt}ZU z`IMwAm4z7odb2&(eZHA$gEOK@uH(<*kPp>tTPMzF4}as;epe}_az&Y^&8c@XzWX}M zvK&vUmw~N3;O-9T=GGlTd*e$oZXa`ZlrV{pMUmVwtWRL|YDHw}s>qx6Rgfyy=ff*u zg{{*J`9tFTuc-aMnvVq|EEmLu7bGOHw&0$>kf{91z9}kW*C8A<-(wcy;ZL4+#&l;;=-O z+V!K+L*S*6!P%m(!w4jmRkbJkQpCs%w>eX_+HN_xbp+rE0;l!#U$UD7+C9<&U+OZD z1h~BVyzhb`bRvc+EnUnpy9Nijhk9P?%YG+39Cy4c>WeakZ#Fh#4H)0`4Idqi%ah0= zhsuX`rrdOEsyXr<@{?C;om+fsmi89A?7D=n;;Ed@FJ>5_)jy;9l}V2Xd8MS=oSH6t zEd_n?H$&7?Pl))Hw^06s&Yy*?;u24HVq#9kydoH>QU@xFxk($PG z-HE~Z!|l}0zi|+=Tz>xerZlBqQg7hAKCJR_7K7@SE(8h2$5?BiHwF3P5tFu`NTP1$ zBDWBfps^V%yjH@V>r0^2#cX6`bat1E&am%;+_<_4l>LUCJFP;N(gZjC5*#xQt<)%~{lQn%_V7 zui#LY-I55dzb#_BC;XZxiP$crL_#1QLL=$L73!Z=2&Qse(SW}jm;Q4|vo@5UXF~NY zvc*vK3-tDm`9iYJp!l#mbZ5S2*Gmjw>d1Z~RaM`JQ6OiOP1b-u zzNCBHtu%2UDHPggT)d~w6#ARk-gnqTP9c3mR`L}fIPFonz1%(&d6{2e49g0=AkhVU-}KE%t{nFMIx(_ zqA`uL&;=&Ag!d<$NTM&QE-Tg@s)0%#6JQQwM>E}>>Yi|nBv9(?^4-o^UFe6cvS#yX zOD!s)v)q3WJiF7W#%=C&k8l;yNcDVk+MjzS_Nw`=6Cn&KW9jr75mhQW-zqpws>B!+ zm%G4E)6Y!J#wKNL&Fi)L*j35edCtNQC+4Rq)Up29Z1+4jX~_T))!n&bGte=12aG61 z7X=8+^YlFd_P;o|(#^lh5&E2cA||*VW2yH!EMprzhtkwqE}MWYH@yQ^X1%_{K5+nB zw=G^f70NV9Y`vLRBez|v)namhgm#67yoD%&mbC8@Q?tgO1V?`tqR(tnt3WLnvR~IM z?a)IW;Qo30oyU6iBMlYgRqS8##g)ajnovW1-0tp|z$2gdScmKVi*6LgY$6vjx(nD# ze|eY{m}6so7V+Xyjf|LU_X)xqx%cnc#Ocz}r1}6q9cZAcsYCX3ez8-;HnKQ6cpWDG z>yW|n6ZQ- z!y1Sof}Gdl>qB9S+WLKj(nSrsMZ^u8g={07Qz)!s>%2cbru&vVgV7&c&{>c_oRKDx z%F8N9q#cy9)9JkMa1mohkrfpiS9{gpp=_D9-m2RYhX1}6k3klFq-kXljvLa5<*s1L?OXuxV^_XfmOrKgEChl4|iFfXf;*p8DAoE7xHGBJbxnP(~<0J1iFIBETH&Dff* z^k;rXEZUgig-6?gBRnc?@nXkp=TSj)qp|JyPmHsK38mG-?fZnH+xwKm^`Q?NrBA6M z#EHO0=k9&j%D~e2T(=AHA*xS?ksfJ~#u$Rb^&PDzqQ0??%zDF{AUQ%0QCrHhgFze! zAAz{MJwep3*#0!-g5WuR`m^=Ivzm@r<;$U%B6byVHCoRYIAG_FhtI$7 zz%l+fGZKcY`QgX*{TKm(?iFuPt%yJ+=dWLSjCG#{$V1-F2S3M%MpL1S%OPUPJ{r5! z7x{+^vS%wQd|Qj41R~zA>zX(Ic$|u3*b>IT&^TD8Bf2fy1S8vMbrXdb>gP@EP;YdN}%9)cIqM*va74y5Peq?c(*pNXtB0#Wa}#$=-looHt(lWjV{U zA}xu53<(t5{Q`ab1!rP6m}aNtG=wJ)+|fQQ5|22(FZp6QW;H_J_m*IrYNb&h-Iv?S zyFa@Q^V3yk*G@>>g`*L+*R!J-bmA{GWU8|71!kh+5T=|`l@x(XcED_RhH``!-~ME` zWgITMbEt;@(ZS1#{qsyj9E0OI0N!SHzB$_r8R+KFO`|Z6y?pocE+B49jYo;F%&@2R z++waZD87T<+N4wfBA52#G!IEn=?;r=3Cfz2IR*|o^wj?rkVDGIOZoC;+{hvY9pOSh z+k}oZaQF_qGBI`!7BRE-ARpH1X5Aa$R~Re(xK0=|6DKtFIC~GIL>|dS#Ckn*A$--nJ!0335ozAF(E(Nc$cI^${#z=n z+tOs3Odj#@dk!qAp(+suCL2U#nwW&t0f+?&-iX&lL7U4+E6Yp@t^VG3(@pX%-dzvF z2APTw6AbvupI&Qqj#8r`#t#q2(U~>lQqMF6fsPQ>%s^0rdR4Zk5E{fHeKIQF1gj{M zbNC%QJf7G`Ve`X*%L?>PHflxmWli9@w$07?SiFo}S|U#K%gnn(aVb<3|Ie0}OO(~W zy+Vl|5PUmT^6rbGEyb8Q1m8}j7JRZA=u%8BL|HnPRTKAoZ=v9XK*z={RH@7FlnT)flwvJ_se%kfEqmbB|A;pM7b)s^IL zUORT_F)lTtd?)NN?o_f;lvj7^(sTNevW*8*QBx^IL5}bJB>& zJOy9;6;)-oLdf@47j#|krMGS=Eemq!SU-uYqwu^bw@Nu1CcK8&P0KWHl=jNAY75fV z^GnyN4TRelS~XlNw?8L0@r)$w9U-X|qz!o=S@BOg1cX~u6lWF`XxC1y+u@X4b&YN4 zNQiaFSUOv?ouPf5;HR17+-?O9Y$n$!pO&7SHmN_Giw+@O1tzNjpOu%MDUkID{Z3 zC+U-(+lsOWN`*G^8$%cSWTYqu{p#}r>c-k|wR8^!byx&hrD^XfYC0#EDCFhU{bx&O zZmiOZ#f(ke_=fp29O*KntTl@mImd%8S5I_nWXC5g(Nk^d(BH|4Q=5pk$#L8l)geP7 zYdnZUC&#=^!Kz$v8C1S8KxWr<&F)Nvx~VJ6oJw0&E5Gz5j3@xu6!jA=&5&2!(Pmbk zY(;`nnY@PI*LHw(8v?XgnPP>9pXJ^5-$mP*IlMoldD%V!yToHHGgjl;iaH%N0kZ9mdL|f9v_lEZ zRtllE08`TMoSQ*o3%F3ydn28e(PiO~owqMQTWFmxUlJzKe>G+ho6N;x z!~e7vkU7wtDG8zT{}!(t_c1F2kJ_Hk0cqY& zC+gcYXUw2D{hoz$3yU-6?%Qw$IBiRN4g!@Z`gp#|=T8x&T#%al4E$F;8xf9^D-3@M z-w{{dRmY9RJw>t^F0*pV+UTnoZx&anj3Qt!oO#cJbuhs7qjV%jol%`KEl!X2yBLS2 z)Fk`VQ3@)_m=Z4r$?S9-dc-P9mPb0uL}c>IVi-%m+K3^?ZF+<_&|?>hM*j=n??848 zX%nxdv);aYqv^4?71WH*JKtN@YB|-&@8Qm6NnrUcB31;UcK4-7^VBuIR=Ue~AA+nu zx)6Y`6Q^7ZLQk|OK~{?dD;f3l@AsU?)^(-y*8lmwgBfc;6|W%DGNUnh%5GzQ$I%sZ zmqU;7YJf(PE8MQbWYea_$yA}`Vu~Pej!S~*3sP?cZjg3D&Ms`&p?cO^iu2=`5oyLe(Eo=dpquW_bWbpF zvbg?}MH-gIc1h(g>=ruB-=osca!ij_r4m2fQ672@#SO3tNT{bT#O-n1PPYTl!0d{t z)K|2mxqIDX1nNg@Gs^ct5THy>p5_matF<9W3SLnuu4Vz8XS?)Y4iXlylJ{rOa7 zny-AewiO9;EsMkZ7F=III|!UBwd)-?8mF3<9v?=atCbq7m6jz_fCkt-oze zM-d57;a0U~I$7Q9t2FMbm**h1BY8Vxuw?n;q8S8DMChRO2^NnIAHN{OmDgywRJYOF zpHQ>dcOjgu8CFfbM*ViR(T%4<0Q7N?N$2%7#Js)nGLKqG=kzyIxm3RA7rvdL zycnz?2x2cx_J)YXV37X}I{=!ktkECl|B?X7$i?{uF22sN=vpm>gz5O$1O8L^au7rX zBqDhpI~}-k=7Y*JeAgMub855FR%BiZT$CEGUZilzTMd%t%_X$!jd6)|tBqKI-dMP_ z{4(1xKqG8?dDk<}_Ay06sC#k$3`QP>^{k(SBxG>dXDtK%EpO6e{lah?bVKFTj`Uy?a0rWu)l1T4g)-Rj^3!S~_nJ~}idLuDS5V&*GokPsh z)f)if#V2bs!fUTpfT8b(n~namTDcJ_GwRa%r2axU__+3yV# z^NCp#%QN6vv+xJ$BjOTK<-9HTzX4PvOiEi`Rv=gRWDKb$jJ%jDmKPKmZ?G8DRF{gF zw@qTx9Fi3>5ZLh7gQx(IkW@Gs0jR-J_bbZ;sG@!m_~Ie{^pQm3^3i*wxyYU#IaG)6 z5#R0Hch%V6G35h&aKrMHlvG7E@wm<|@Fjil9l+LhJ*$%hl#-d{evLB7{Rw5SFy&vM zyyJ**c_ZEp5izo-Bsnu{GT?BrUqT#Paz(+yTXh1@`c+?MwcC)GEy(6PAsJ#s%0$yx z@}>_8h&I6G>+dJ4m$96Pw}#TlnG0!aGkoFp!T}W~{7&@P>vExffRSx}f_@mbvB_`Q zjkHcCgqy;64cH7CO|>VxWylL6c7*%~EPK0XmlJ8{#AeW)s?I~DG3)ihJmSXQ1KPyi zT%I7N{Aj$n?|4XYdW4^EQBKE{sLsQW;!;(aGvdJ-cIk2|s9%c?%^ zkv^qU_5Z^yzsJlsKZ`kCn$&(6L?iI@Tp$wYr^fkJys788f7{ii(M1sS85z;9;?0A@>tcd4OP*&H7 z@ycfWPwlX-`LFujew0NIoYkoq44sEhK}9<@#k<4(=1O&ffx`GwUAb>w1W~tuu3iQ% zc>#DPTbl>NsID&;C{HVS9pW@nZI;YDN)ep`S;ee>Geg*hDmE3M?4Loox@X~pa0;X!{Xlzx*=xC-br~$ zBF7rAfLlHPxB2`Id_vBfdFd3zSh`aBaWLy7M~c%&4XB%XbaXfXZS_3HJ-EInHidBe zqB%<8ye$VRP4r~cBp`%0c)kc1prGLI;^tuwFGcQG_v6n1lNA-~1==N_ylVIHC=Q_T z%nF6wZIi?7ZdwtsR%-sPRCa++rk#Ds|1$)9uaEhlk6qT@;*1MUYcWAdnWri{6C)FGOViZ z`x-{1kp__l2}$Yh?vRx3PU$XbBn0V_ZjkQomhKV+>F#>hxqr|9{o=VU@Eq1&YtAvp z7;~PzF_){Pi)o!6ecuNM=NU0eQ4GG;gWqR$``)7VksxF=oe5jJ_FHwj1UGJ_7@04V zu;lcY9`Zh_YDWryhqO{cm_~41N}_tlwjr`4`yac0DFfSJ8?D$Mxa#f`D?Ddxr!sLSZs13AUW=eTqksWrM6<;Ow1mAofE^Yhr8uRNT$D zspuz6_O=j~b&aqftlM+pPpvG7(?Mb)hD>ks*4qfg@90x^z+@X^#~UZBo1AUjsGw}X z)tQ#0(NE2xCxfn*zLmW}K|%RmNKNtQ3;lc_wDL2lSF~V4_lTe@Evx%1EcAciGYaJh zCyl_Y;A(Lc-F9$yH_bVj-L`34h3u()ICZo)IZ<@u6e8_(HOb%skCALM(EF>kpRdE$ zefhlFJeL0AbN8kNhPK*Nk7T_6Rq zJHnEu9M}8D;2-3ETv~8F=&V6yq=;mw)cE#W-;V?hM%pD?Q|+g-KUN0Bd~AZncHda! zwZI#t@g9ULsJb#^+Cz#r=DLj+{`1}U@F)BEc@)ZDPX;%=w!2@d5#}1Pa>m4)4gy0a zk4zP$rVZoy(rA1_DXyfj;JFiY3b#~1}r|C#dcgH)jTO{)AK|&qba98qRSeig#d%I5@*!l6XgnxPHCP30K&zHG49Wxm5pw7v3nCKMVR5k-p z08L>%IBXF@Z22pU)NOjD`qRxE6+0M%vsPJ2+CHx~1}BE9LnIXi1N;_B#y7XZSEWJ7 z-PF{*#$VF)LIrX&>{lKH1YGvqLK?P-hNs{eurOyt9sR&6Bc2j5kL;=Gr7*!mBgL!U zEx=KPkk;d@NCx1NS#(}q z?)Kl_+VFZ;yQ*a4Z^v9BMn;IR0WBl^%9B3CZ26yiAL3gBOP(R{;E^@;rgrg>B5rfo z{y@+4DOzX0*hUxv5UGEN;{7RtxDFj(tH@7wZ_1q6fIiQF+M$AN&lg*Vt|~&Ck^V0k zqeLdhQt-=Hw0-dk-|7Q&ZG0S^_j+1Tz|kNp3b8C1 z-*X``5x$jsj`PIO`Nd$*9u9SzD|{JC;!Gvb^8-bWkd#S$pZkKJuBcKo}I}!49TdJiGSfXm2&kQ(wuTVCwppd4Oou zSL!`*RyBpDtfeJEir()vHrUM+*NX{)lmr@AWTWBt3qDM<@barv zvg{QPQAD93FnjSs6;uDW&?GlWcUehKNktD$C3r$tkDWbPWp420MGV%$ zY7p!tqXp^9Tni;3B3Q4A5O6U56dCcp4M`wG<@RL=<0#-~^h$d+`M~f$8Z#m^{ckFC z2pa2~vmx)PpVbRm;g77q^%F@oHSnO6%!mum`Ga2Vt+K}>dm8EfRu)d!8MdP9?W?7p zC`WEer2l%*PU;5q7M(QZd=9p*^?C%TI(-ZP+`>d9z#lhS8i6ZlH-RsoG~+n@JeI|q zNi0~)vD^_W&DqgT&^tPq0-<264jR{K>a zT*uKuJE}ShJO#_yE);znNL+rBCGG+(CGBx_w(^G8ep^(YS=yoY2h+Dx($5wi0fV78 z$c%1tvCz~NvM#d78HwVwf0+#4d@JMF`v$@l&D{Gf6RSOQqy6!R#X6gm`M5&ZNwySz zz|utI%pnC}T2kSivKKD`n_W(W2i^C6d6?V`7~LfQ?>Q?hA5cY8T837scA-j$$(_@9Pwo?oe>NV51&4WQb&XsE+m_M8%)7HlX<8)TxnY@ z#pdLdG-ERDI0dx&HC#a}T!oe^ol~UZ&fkX2oG&+9&IAmHhl_7In+EhmGqrpF%63S6 z$yD`31}l*agdF}%D#e>%Fw7F}s(>Hji2J45v1Sn1QuUuu8Q)xii6ynCKhm<;A#l?x zm&KvXafULo)?pIM+&5qUmOXZ-+&(Tjh^~!CkL4Y45!6?L)*v@la)0f%{Es;U)$+!j z{o7S^*OlI|yw)R6tsPg6*bpoc*}LPbiJanUWGx7}vO51q7nIDRZVx|{^^BF>FTX9$ zd$tvvJ(X_jXx#IAp$`w4(Rw>1`*8U8Mvm!^C`8e_0Q9pbwqeU=89%mgV-iuGBLhuJ zzO&!f>F!pP=8RdP1^YpdcjsyJpGBt2-TVp_q!n_5)1oVr8B@@X{N8{JCB zWn?NhhPPkyR1-|Tz*dQmP#5dVv3z(FjEWwD8f;^Lbazoqqs8@+$=2I4s)5qpFQ6En z`pg%h{bx*foQTf6DJhRXyMdwh+n4Lpzv)V~K_hE7v)@_e90h=T3W^<2vt$K9)_F|Y z`X5M&CfSVY`5&teQEOM6ME4HWo8n|b-m)pVkB3T`!c{i=3!)qSLk}UFcWDLBpk%`t zrX`2J@_@%lHj=+2$jDozsJDui33>jR)%wWCrc2(;xnEA(q!-Xry5sctx0nG2;nQ|$ z9!F*7-$)H*4f=rpR-p6075qW_Q_7$DdD@JApsN>Igu}p!XGkgN#{nj=KX}YxcLL!K z!857-V#%Hy-~&XR2%V}sXMjmfxzsyB{DQQqaB#|!Vws$$VrjE{{cIyw-guNsp%Wj( zDz)7Cv0mWnU(pmiq8tP$vME6UW2VGjl^oMWtG+3G37Tp|%&m+x`68|m-tCw^B?HD6 z$dp4pN>@JD+rIu7ZH(qdMTpcCP~7bB>Vx;WP5WKeh&%5U?rA^@%bwK^!2#{I%LCISeL>IxOvS2%{>D2vMD>*_KQx9iNY+QmqXZ2G z_jd0Zd_}($rABn~4AUJn{=1wAgtq1^A7~`ta3MywQ_fc z8`sl3&og!LbQjPx_UWwSJZjaUxTO)U-JsHB{dOt!EU)W^o73A0gt#mYyp`fAff)03f!|@qimxmP(GzbaRU$hHOyG9Y^nzYYR zT~Xt)ppoTxqi|R{lbT}WTz;lbaWx!Twcl60B*a1l^W1ky0kR+{`VlA{`jO7vtklY4 zFrvfm_d;^B>oiHj3H{4mPeD|#HYF-*QRYm}K$!|8;F#flPboecG!MAjz{keK$lL|K z`6~i}sVmdyN-f8Ce$bGpn3M#&C?bcog@3*iWj9EmXP9asySC7Y4fp6?liV%v-UCCf zhl2Y@@1C0jecFkj1Ao^2sarm!B6x4vdk|4%1;te;9>#QioHpA0cX(8*UX>O|9(NvM z=kNcOD99=zi$UQo9qO)}&9K7^g0GpYXq`iL&gOiO3TUKWlK>jtT3696tLK$7HcR&K zqtu=(b6lEwr2m@*SmqGOiuvsKM&nDHBwW%cVL^Ig>$99JF*op;pySJ!0Fy|5hNO~M zzg%fqijBn)o&C%AWs)|+<$4E(q+0_*a$5s!j^uA^aY@T@g^Iu98lIVG z(_dbJ9ur=(9ZyOf$O6E;EI6fwH`*epK?VCOu2=R=PuX+}SoXbh<=<0J(0^DuHQ5by zoEPfGROcG=-@XGIVF0vAxAQ5abX_~!@0xeKAVFod+=h-a3W^4TRfW+|I)P8E(Q-vq zey=BPxyLM)dlb}duQ)`QM?U6Cf9=e9-Wlok8`Cz&uP9!nlyUol?zn(UnV&DTSa4BV zWmy7W-^<(izt;01VZq_@DIpcfE6(i%fo)EQ*}DdohJPk{z=?u?c82$YBdAhCJ~iVQ zWBlC9DR@pw>A|k@(1QVLwY9VmrpTyO4L7MNq^X(@b-gT?M3AhNBX8sG!CwA#Y-^Xv zR3q^R;xWYsdQ5)x)f#kbNynX}?8zkp*!$9CIG!_sC@Uq&NU6=CTe9E!U{eiQVeIV?fYAQqmrT<|4Qtr;dv}e4- z^cSYUMt1FAC!5EsU_i0HQ^sI}^e$LA-Jg1-qaG^VoP!_lo1@p!nNnYB`2_W^$186N zZ!s>3*N?^xbvn6oX00QwTv3ptMEx;Pd|pLchY?bxdh@ow3xgL7_6~0hS-OgizKYOa zV2E<8q2M4W?vA=55Qpj0BQ%mR2}_q2B}%+!@jt4O2-)EANBpbB;O6ViO6kFp z2KLAdQ&Sjn*fWEf@;nR6C`ke)p!FJ`Q7e|#+KD}aC^t+IK;sr1{ymY;xs_FEXw>Uv z(AJ^#~r-2OX{pR$uvvxCowzi*&8wgUF zS0O!d#J_3EsVTAFOfFB$+K`5%Iaj&FFOzgYcMxpPL?HhM=VnlMV?Y`i^{3GTkD{%s zjzCZEC_x|@(3?@bf^;=X`S~!h_sIp)r0+=Qur8o~9I&rY62;>_kl=GRUI((GR{U2K zCjW!fFirCryn^oFE$C@K{xkOG!-kL%0{WgD#wAJcb_~T0vxlf^^Hi1>R<97t!woG6 zMPc@VWKGx`4Hy296(4 zQ_JVo^6%xh>BNCWE;4zi3d*kIHoDESI}O!dJmxev}C3l+lRKjYRMP8UAr z(-}5I9=*=OW7D5w-KcQ0?qT&-?htr+GW)N1-^mQqdH+svcd^Xr-1gKyUwUwjL6w6| z=~VT003i^9P5Md}kReK-Ou#Ww$h>D?aT$B-+kA{%+n@TXh@p6QbW7v(8OvTs#bvzm z1;%gbi8ru|uX&5X##(O|M<5RXkr}}`6_VVBk9T$Fwpsl)&Wuyn-aOXt_vxQKu8W{% za8EW0V|)VUvd!+Nb+KWA2cgsNa`K=NaZyrmKL9H3bn1DFEtoGsVDmBFa`DP4 zIVZ;o(3Z~*%ISVByGA009#^{VjvD5uu9St0lfu^etOWI@w0&b=5#*Xy(i`M7gLdv) zJGXDfL6c{^+@OajMprax_D|bkv5CMyh@(F6En8CJq{hge!@-4)QqqA7W|q)2-Imf1 z`;(-`ioB zzskQ&zW*XpUziVS8bgeOAFxrs>&GhcWb`X6 zp}!*h=diXBU08Xgb$;o#76*W!CKv()@5mV${nsmr_D0ZaW=sN#85f1EYg15`H7<6? z3#I80ZRYWx`R2bc%g00OzbaN8Ch$&Q%}GLh>2XT#pNTMspVx!TXuX}61r=%3YRc$C zQ1YzJ$fn=PGnOJBTklFU_YYP4$0G)08X7c`Jy|Rxk;TMTqKCPQ3m4Am?4tnm4S4wjXr{DO<~t8kEYeiM>h zAWv+R^ff4JEDC*Uj3ctIG~XJrUYM-%bp~KAyVimr7wie^5{z;}``=_(KGdnTFqk?` zME^4w2dPY;nbx!$Hz!bo1RFfz^B)H@){z=&JLz1GBiUG z!pxU}Iz}bTVs30fRI(uVf&YCv^gFENdkN_2Mx26h8Ir-)3EM#eg5=+m^h6(y4T9gC zZox89?$%TNIH+5>s~Y>UEiDDcb@>scLVwpNu7%oarr&f~PqN`Lvrp$^iXN^lO3~u& zCVPBPX5Vde^U<%^`enZBdY_x|Lv?g>A-FJydP_ei3Pr-hcvp6zUi|3G2NiYho60*d zRAtmb^+vAB?0(D*J=wtd^U`b84Yl|Op~-|z9Ey3@E|@6??=?(y-G?%4@XfY@biPPI z|BCCk^?Vly$O>A$(uJ8d>&x}W9>KUA0)tH?jZ0pg=&b5|a}$iuPiFN35APC9SqhKc z?QYLA;2$|zQY3w!M4wO7NU&nARFrhaapu>1#go>#_BkexIgX#Y=5H_Rqrialmk;UV zQTh)8F39+(eGTA@x3*Es%YkFSQp^zH-f-l89;j)|`6jS?P(0U1n{@LTUAAsze`_g87EWxlJRUVZ7j#vlRsO)q z!?U|me9kN+Zck$Lz91f^-E~}_cuuIeZfJbUMA^noY|njIx<52txw^^PNF{g)=-bun zCdq1z8908yc)9Eukbtcq@p+I)#pgV8Yj_G$;>vnydf>puZg;uax_#;reI!C6>kTl~ z_{k@7wr2x z^IOdy%k5i5##Vw=XGRHJyr!k5s|!;WgcySlaH`(GiZzDbO3T{=!%{kRif^o!#QZ$Y|%89OJW-mfn8(9;)L0(st$f zYQ*E{@9t-ZsTBAp_8R4IGA%H>NrF#GNb|G6l?+zg^yDxUVDYS@Msf)xeaA?m*n}jV!r;Yrlno(Y6bSt z)0FN*mg~nvOGp}7S>c{ffNrPArZ<#l^Yz*Ki!buna#oiMp{o2=E1FKvhmOmPPdA86 zzt_hO#{5J+Vap8vB|T8}X!+}M@5#&c_wpj-#pbx`gNl|w=)5c61oMT0$#b|l;f&9f zYugxspGP?5NsEm;4mBZ-0r>f^(mO@x)+e|-SjyUCOR9`-PDVY8Jz2ajy{v;HjArK3 zk=r;w2ruVh{vBBEX7aZ8jtklo3mm9^;*arb0<%eeks=6Z3ZM*vxq@Te8yB8(&d^8# z!euf6Y{^eJ;59?Ri)5sN!_@S;d11U4NchHUFdna@U-#`#tOnNcyr@M9-zY13M+HO$*<$qq=>r>m9}CLy-7)UJy@e6mQeWAtmEc2PTLQP2 zz69GwargItV!CyPq3!OK9we{u-X`OVcZny%>Rgu+ALzp5q@kukdz zv~NXQR9X6-iyq%tg@4hjA?^pqx6W88R~tPA7jfq59$}9mLsfi+=Kw=Of#mSX1tDi0 zq|7znA2>w&Q>ok!^;Isb%1DkZ?ndKABHhNtrNyK^J>kcwnFdeu_qy8}5JUF(7_& zr=XnEQ3@!FW#+)IN~Rwi;J-)k8|PF!u#W_1Hw?sJz0j)=^L1zet< z&<}ki-w-9TWEg1SLiBY^qKyL*=x4GY*gMcam1q&8!mQoOV*E}Kcc=H?i1kw$)+J9` zT=i1rVZOx(4NYQH8{=$vaJ4mXySF0FxML457JUUa1v(_ABjSqgEha{qSO?i|)6Nfy z@SyDgi&{@?aHq&G1;3J`2CKixv{i%>#7cRW%G~zI_DH-S)!L2FAaPURd_c6myFqKSx8agSO!B54vYN<8T zb>XHAZn}jJ#!6a1%a@6Y@nibF8sFmm5wcTsw_YI^Q)34n?$6vmG|z<{3w|wAq&fM& zF6#Sh_kqsTEveP`fvN6UKg(N{DZ7^@Ri;`~^PWbliF-It(QuS|%+f=I2@xg`6@4Aa z93faFT&o;bS|ndNcM?yjNOgQE$1LkxYng7*tXB0+eta9_>Xlx;jJWua;cx_6(-^nK zHU(UCvO8Rihyy*?s87Z0w{SsFKb5VOs1+2-`YH0_R?N9ReQ8^0@nN7%Xg<=36LZYk zoKa0QIz5F;XaAzBS)(ndsC*yu=WEi5`JAyv{E8b)6{6+kp%1E7#%A8NE-5+!Ph^%k zbxpjm2OgSPBW2 zK*RT|`bj{NA`~2&z4v3_7p}wPRQ$%P^-5@kc-Z(V3^c}$kL7rn#3Q%ToW`f8W+O`^ zpP#mL+PT0zPihVMF1x+?+Mb%d75?u)S$9+Ay{oP*hvn}Gsh44dCN`W9ro>rYwrg%Z zf|zN2OGYjY6(_CgkM#R1rf`l?Js2>khEl5Cbh`4s@SL!7?=K-xk*G0EhO8Y2N*9Y3 z^HrUFT{Y}8VkH}4(Mo7nIl(}HF=rGZ%@BtP5qr-|DA#u35h#+Yz_kX#v4)!{fI=Fx z@5(%E-c0IZ0R_QqVk;TM}*fQ`ZGKBNf}KE&8bLG;6D_<9%$CPKz>6` z%@z^()$5gxU9colH3DJ`B{dro8l!&q`>m?wGLU|l81V=~rs5cNYNoxtH^(!(`Rs8N z%r=h+ZwUM-%~Y`V4*a&S%jv{q%}Xf6Vq#5)*_Y=_*ONG#4C!s;`-&B;pL73|irHt>lU_EhDGN}Nep5#JxlW&C|eeds2 zSZCUQEG}Z#s<*#~H8$qA{MuhvWm{QHZ+ek>@`+YWtS`S2k-~mmNEtrb_=xd>hTAdr zx7{lDkG8bKHtoj4`%nbb7~x`746OCEUt#WZjQUb9*|?-M*fzQkuW1ufw*`8Z%RKnb zt6dG53HBzf(c?q{)Xhl+JfQH)iCb1(Q^(_kNYT@i-@cleJ==Be_!huiPIz9z^106C zBdiM^5mEuiB&E0$TnM!Jk0HwB=z?vWc|shy_7e1*H#9oTt~}q{hYopa1I0T!#O$6p z4rS8lO`{^3<@lM{c($7d+0n#HhLn?L0*D{%e|`skeNf`!x8E|L3PIGh5*8YBV}U1b@U z|JcLsmt zFtKYoRJPJ97HwxGw8v1={?zCxqLSPG{79EWgPLaaZ$s9uVU4ErAwNu%!o-}5?AaNb ztF;^*I>;H;0iNwT47ojpE>&CFuJ-JiOf(t&7)OW&IjJ`Fz75!QWqqIQdvZ7f zPfJlsVStw6T4;1f=jhu(yxUJz$rent~GE{@whGC1kXZPUy;84ZdTM6qsZW zg;J*$6g1GdBYVgn)Y$8bjbq|OYK#?i#eOMA)cp^+lDt;iO|>M~V{8_ukKz(v%qE7- z`?W|I=0_9rZ+4UX;fnY|9@4L(u4cdS_|a;tU4Bl}Q}btK!Jf?6_+`=h1igGocYb+Y zc;nB^#y+F0ktj&= zs?)}1+h9&X2FWS>Xfo9Dat>60T^Ouap!`U}{>kZ%ftM!c>}|iv z({sK=_)02XK4jia08DRgUj#;7WB)p~u09t_;Xv+`$Lmn4s|>;@+-f z5syO~*@$BG%!A992$wnfhN)SuPWTr7^DC?%nbjuC6`Ol81@w;|&|Ug4WU-(OfDC@z zvcQmI?^ixAz5eB?P1i+1qS7>>6OkNE|{z_iqy9u<- zPv@dZF6TVhXg5xue|fT*LZn*ZULWtg6_|dAiyi?s` zLTM(B~FN?gC@*StwfCEA2!c{3X` zf@*o!{J%uYGr9;=0UL)B2zjW3BTM3@cNl--@3#&}9G7-hJG{tIuGsS~iNeP>7XRLm z46n(HYmy;J3wLDiX4OAoLbgHZH+QuR2dmGd!y!-Fbe}@-^bu+-QMJlp^1t7go1eRa zR%F=f5DMmKJgQ&myD)va$NnDo0X_XyuiES@H5_s8m%h@Ks|DUdHBzFX2_pdD0E2%^ zBj%-+D64zFFbnt!XJATsxs~;p*pS+8G`cbr!G4(7{F-8Nyd-4ogVJRXAZ)W`UkD&713k`d1jxH(ZETE1BD>+%TI@Uv=%5v`xh1dH;`~}{@%FpOyT~< z#Bb|l93@)aCqYa6>x=}0RmNOfNO3;=G&3lGdATR{l*xzH2~?5{^3hrm_%(~oMth&S zOr#7)NdX@YoQ`UY;1LpePiK5#nWd3v8jWp|F-3S)myl8aI6ks8w4}c?T{?k47OOx` zm+0NS^1>gjRoXK>oz%P}L#69PlB9QIkhH7yG_51xdqmd#{?C^MTkof#NXU*Q#t)kjXd%8a})17e9_nwSw`71J~P#^RoISSd?z|WCVsS%|sf$+N|Mf5ob?DBd zOssj4jkJ5j&@_x$q*Y8#dd~h${)S?~#)E`v_6PT!jFdY){IyN@^gz}z|Go3wJIKal zg>`6fu@;t-H`ow#9N&h0`?FreoUmDnOtsX(>85k~)|c22>Jou?lsw7z?{Qp%6EUxB zqH))DEjDQDswXaC$PF9A#M6K6(PhHn+^%Ize)QTZ#KoWr_*oNHx(&l+0>AEah6Imx zNXo|&fc&xJHOY%X1GCHQUz3wnk*+SeR-f0uz1%T~lKyb)B-yVI*jPC}d5!jQ)}|4w zY3lU?0#sZ=-ECsiJH3onQ;gWwRT?EUywDzUHG*rzoc4~*@%`?%c5MH$Z(|kI34Jy& z8#n83Uyn1+oDRZZs)ROtpr- z3HJEUk4Osz{XD29HaV@AOj}fIVG_BoqoS*D6}R&DG~!zPc-!uy@`|gX$E@2w@O%t@ z7G(s_P-(t7l+EhGT4>$zqSA46DpYxpi9Dxf93Nn0`u5GX1LJLizf3-v@dG||U^8G= zEvs;K5R|ouRL;(k{AciI{2;W?%+Yqf$e9{vpTqbHpYal(vD^C(-aGzD)B9gmBRWX? zEJans)3x<3LB%dlaY3xzc|V;35%~deD%|V&c@TcC$X#Jz#heEfUGU`Mpab2tjsfzh z^YJEAIFZQ0h4_)_#U%o%x^Xizg&Pxx<^N^@VBjR7Vzbh^4kp%uW^LYotRiW8Xs9xI zK3KV!3B4ro46x2D0Z({Eb`nlptn%Q_Wo)e&(=zS58};6H95o~7R~a`PdYqTq6HJ{I z^c|;Ed6D1mtg_n@Om`CGR|!?pQ|`1@RNNZUNJ7WQkQCKr_nOiGfgRAZ*=fU3ZP+&t z1sKQ$xE`J8l?P)+q`G7UJ6&s zis5SVZPTOfjZJwAv2<%MF}e3h!Eu4Da-LTN(x!_T=T59)(o!z6@rRiUN#zGg%AORJ z)6m5g1%WYocbt=FZ6FEne4nlJE(wBx+7hI9f4%OH9`_K9UMCNMXxJY}?4I)TL86fc zJcSRYZ@#6t&nUOjepS=veJf`>b(X4frW1%5J;&4p6A!>{b@E56D~w7cvzSDey$R8p zOcP}mi?P6LztQ8RA&i$8mPwe|{;9d{cjkbN695zX}IKoTqeUSX^jWO?@BQ+Kp zoL-ZUx8bMF{s(&!xm!a?9Rq^Yge_yk@Qmvd;2g<7-uxPL2iD&cUZ-YDweiI{hqdOY zM550Fu?ss6-$RG~-rL!)pb})>bzDciyUwfJxpPzh&CvV-KrEl*w9?f4ifwueW zbPJd3W=b0oVLxPXMoiSlB`I21!ffG|?w!D<6>;)XOwsX>+(SnSpW92{wn+gN_FD#+ z{}hC-=TBxh5&BR8#=LleF zj6S++8jimqm?#*lW*k~<7^93;5c?#|(b7=yzUc&^S^NsBb6zkAD0Iz-kw=cLmJipt z+Rlnlt=`ZGZ=&*YYGeI>#y@nQU!HG0n+v!Ucp&nKC7K>`&{-$?4E0TVeV4ZH z@zCMM^73R3$Xe@kosmN5d-F9BU3u7%b|18i@vq-^s_GaCJmal*Q zE^-|pvF}g_(R-4ZI;b7Ly%Eb+`l(v{sk9EFsA=oq7_*=x^qCSCWAsIR?Ia3e<3zH> z^5>v8wn#>GW7@YOsD=jr@waM4ITg&I;5p%e^4%^vZhR75NBu*lmM7*TNobxD>89L> z61Di)cZjSUtHqJSHLgmD#uum+OCB8%OKzr3esqwCo*5^RcA1e^tRER~@^^H4h33Z{ z#654^{4Zj0!7Fzt;%{9K2O9}#lPZ;^Me8f=%v$Po(l+RkO$1} z_YP~@%dbA)SYrSa22?V|^;bxcqFPp%zq9wb2R_MQX)eG(x!!Tm`mKC9YSq^iR>-v~&81F11?fwgXZ;GIZ#%lY&j1kzAKO_#^tp)NLJZg92B_!Mm>Kb z|EE9?P4c#@RdQ;sY&p3+Qa*HBD6zhveytXRT7uflg7vRO+i`?=M(o9!lscn`=}Tb< zojUD>2$03-+nG%0@66I~h}pv_FZ9W&+BvKEAN=W6fbIkSC(HQ?O^`&dAqRV1@c|Pa zf$rq{U}b5C&u_@7bjIMFj<*_2^_hS#1~`R`;aa=O(f}}p@%KxH##dx)oMH&-B$f*l zRn$B%SV@`!M+)U}LDawFYsKTcS59QSOV-Er>s*K|oK(^u8zvDTW8p|i4pMD6!!Zqp zD6@6n=RnyCpH6vFOBXoLyf;*|6}W;QA4$Gf4K3Kb_0_vX|8W zxl(k(bLmpOK3eJ=XP|?q*3&CA?%Z7v%s{Mh+A5z%Yi)8mt&B(ju8eKG=EUF zXlucSkBt<}x|H`l^}wR**uwN)X?>Vdkx1l+B$6>aLKnsD0hvJlfN-vD+WW#e3*8P` zB-nXybFY($=1}vKjxZ22K%=Yu6^98OU^>?^ukz8G`>5yZNbBg7-PU8ab+#<|3Oznn zM&@Nwhv#bjTe|_R$70LvZCz;cL&t~HYea*UUV=N<fZ|`B9=CMwiG(8JZ@Fyte1v*>ZGL6nwxPi6F;=WDMFW*`<@=&Qn zt<%vE&E(3lL=Cnpu;c9qOu6-nG*Q=C^+F{_C{%|9qIYTER5dhm)k`g{Y`P8I8gC4t z3;Eq;QKqW`iz~_v@L7e}Dsa-Dq-3YkY-?fc2p4L?b9xppiJAImFQ|E)=zzVrwfA?R z69c!UUu#qX9F){%why(MRW~_S*wObLtM{pZ9d*6tUDA~l>Fybsw{0iCgSW6MBj=(I z`Md5jxSzGdau*``j`K_cLh`8vk)^W@X71*j*DjV7FNESwFV9UoPa{|61}DZ0POj_T zrKML`@Oz@<06)XdxSEASMeWl!nQ}uRx?KU`hrw#O<91tY;-wh%6Jec+c5r&Ncnw|$ zv;bwQQsv+A`MmpbJbN^*;ms8ak{zrQGY%e;@a?LreCXFFFW^j+twX@8M?q5Mx|G!%y%ysnW%i?l8CjCFiY)*k(?-wdoUbhw~+sfny=-<{6F zV3~5!CVO9zS*XDQp=S;Yad!dW{J`DC!iW#cQ!=nA+3i5nkM=Wo7hfQ-A=C6fF-*#} zYLZ}McAvAkP*bVIhw-$k69G7nc zr5)5sVWu?2d~|VM+U=kWzn|U01}W<#iyDhEpgr#*lSM<6HZU==fki|7SFyT7jqbqkyI@zsjhan%IP{|#l61+|Ot{Y7Exh{W^Y(g(W(<=HS`;EGlE%{o3r7bJV zSl|#DO#H@#C;|oK!odQC3ABO~kuxwz8BU7rXtRIPex2Qekb^C3xmxmMt?+`6$W)Rw zdtX=PF0)GmhmL<4Ri&iHsDvtKA3ug;J{|!+fX)5O91C20g`ecW4HY%pzT!%5{0ByB z+=Rc9Qd0Q-po^8&#_NalHZpv8N`zJh&6tA#5IqSwZ+nd`y@o0?^2L-rKzHkP|OrVfQ?^F&nwdKFY}0J z_bCBlPDfOWu;FKDzZA2|``A)GxV=OxoJ{ufV;U^?XT4ggTf?o*2ceIIb|hJNLkd)k z=hu1Z2{nD~A&|ON%eGEK{A8j@SDx6SvPp49myg64lJ1&~akBae4}|aAy<|^8Kjaqk2SO z6OHebqGiFSkExscw4Rk=N>%rCUCVd;R4$e#V0&&fhA10g1)mMCID6mjB2oZqRo5{J z@m>grCc15`-qW*Wp2gc)-R!vZ42zdNfBA^wqSi}!y>(7NLRqVQ^Rd#pVfpjL1+LBK zrm&DD+UCB??VQr*7>F1DZEWG1pu_hj`vPuqLt5lqsG{XS@PkW_x_bIVj-t8atpODf ztS0+J6B$!uJBt$XYBVJ6-h#%Anb(C#kd9a}=*~Y+pmx#Lh+l z(d{iPv+vXx(bAP$h(*?G-tnNpP-8)7%rR01xJ?!`U)rDCALH!LZr;4GDrRpe3L)gFm<%QlrL*2EpF3SM zZ5=zk9Ije^UA5cVnkP2eZcV1(4CrALI8N?hbxlk7W^2vFF+1JzV&M#@$WmWv zcx|lGc#@)s$FjpRzu?mGaRW42osRPxFcUYP-5)^bCFvhEwFD9GrWb(?!Q~ar(iyrj_^114=r%*K(b5_ra(x z+2f&)mzv)(R(gI#(ee{9o8gqTjD`jY!SQymd77s=hUCr(`RsmN; zpyKe?+^@}mTEQw@kv)DsdOQhU{!~2k29LLC#Cqp&xqm+EF^QMh137JMxP@^ws=?l% z1x*xGVmg^%{5FXwy)E%%MZVX@>GIavFw-TrW9)J}%5I^pSO`?A3R|IbW@rOQ1%K`d z>nn63wC4W&TKMwrXu`haKnv$mCkPK{CuEG{q&jVL+jXOF)&|4-(?<-)_A**Jldm8qWUY+mkn*BI{L1Fia-~IYI zQfmDa>#KzPzOz{2tph4ulJ9WQMWyKyKkF;=lG&|>7_-@!EY_>>-AN1Q&kSbm&)ee4 z_fgx==7LV*p7d|0rNv`pq6xR9o?qE{ow5TLF~wo8-1~CB0}(amP8%_A4oEd}>9~Vb z-b7#p07M+HtHC6m&6TJ4oM<{Mi$u*Z++)N6TtEm;VLX*!=a{ z;b!Z^rBRS!J|3uJ;077jXobm3S#!d22%4h->j%`@DTaa%puq$5V#CCRK8|MM5HR9& zwbhw?c0}N!(u3$nRMoIArgItq`JGW;@B5HhT2S&szvCemcs;lptB){Ho?kzlOtdG3 zs~l6l=RmB}8Uekop^>$|8vBprG`8<@8IxtsHVG3ydPhF@Fdm-Q0mhS-H;hLh1tv1ajQS~)v8%O73g!Zb{>IMBFfE$W&1_;z zXbDBNgp0}UXF?A%!1A5XDw*j&wS-YTeFc>crtHpCfX?qW2-G3Iw#RpXvVUyeKX$c` zQ0RSLCAfPYnWyGz#LZV0U+Vm#^JUr?1k$9EhB&zA7dGLFtm6_>1GSiXznQD8<`7`B zP+S)~xDy#Yz_TnWrWGw^<(d|?OOLMfL)a*@zO`GU^OqC#L20QkqX3p56ku>urR!1} zG7~ZSFEO)%h`GS3;sAlK1FT1xNnipS7%3{+DyR_8(e`)a$E@k;a0+Q#J1P|7wcA@bLz}W5 zvl=KRpr{^K-W05|PG50{DH01QSztq44`6Bz9uH+`)#Q}L?nht(o#SeIagCDaWu(vI zR#A8th;SgF7sqt6cq&~Q=7gFr!1l6jC~ zFo%C&Utb(2m{{%3yqq1Z25yIL&y`!-hPsBjYV6pbrkekcthbEHYK_*0Q4|CO6bUIo zKvGia5|EUZkOt|N?odFaTN*@4L`u3#x~qfeete9v$JW6ktaZnnSKVuI zhZhl6Pl>s|_sXw1vnf9)vRR_w$Upx|>3^(W6nF1l=P@}7hJ)`N#p?Z|x|+Z@!!GaUaJBG-*zP8K?jx&Kmmfh;b) zcwT+Ia7<1K&|jzS;-#p6F(8)KKjz!|L;w0Dh+l>V71XtPOfPT9<|y?W@A^gw<`{=3 zbmD-R*4oBA`fT=@-;FXhj?F^Q&UhXl{- zyy5w^tu~;2_kzAqGUW&&NyQ|1iu4&bUi2xdI~NX&xL`Euu|khEy4enSmxphAocZE9 zGO_xl|Epc6Y#AwSd)`kubuqeT$&oaqlyM1`Ezd-YKbSp>Gf;Cxr;IreSCo{HLX&*@ zl-IzZdNT=|mXlz&oj@esVN2|?)>q=31~9VCsmpAI5%Sj8h7H|sy8w|e>lXoca)l|#z8 zwLQV-qoO^Q2NZ6gNABfZwLyl4Bh z*=s}ARIEK~>L3e|&7}8dA++39YS4lkHEt^NrmmR5K^aM{4M?H$soY8%p=03r1I-W; zO12BN#YsK}@mVO@;q8-^q2OtJ+x_dgTz~T%l-#u;W8Vo(gb#<`mn>qV#}uo1(U8g% zt{!d}U$t&)!NEW{F%n+PoXlY58r(2@59ud;APX@uK+*=Q^8R-^KIPWrw}hr>nYz=y z|0?X_l-(MVhqzhV&zdjoqg0?^0*c$)J)8?!vC4vK4G5L%X5T9!oUgE}?J?<0V&Zmc zPwY;wE;w{Dt>vjb-*>_fR;RpPA}u|; z+wFQt&*yPjxm=d5@N@9;_o;`rn=8=^?VEl)8~ScRZ|hh05OQ#BV^DYUhVw}#Jnm>s z1j0+JnA$G~l@GSxI4ux7=sb+afZh~$();$^bLw&rMS5jTkBzrT&(H0t9o=~8oPSGO zIuO#Aer^&$jdNW&Ffg`Sn&^WKG&u9@5A-#cg-VTGjC)JR{xhK428u$n7vZkfiU=H5 z`bsvJDPHg%%=8<>JBkjFUaBR7t_&)Z7Co$ebMrj!=v7p32T&Hws$@%Q`5ro~w2JIC`T>7S0 zKI}!ioo@DsE6_%3UKAK>rHX(CF92LWw;Uo>X5E=_hWZmk)E!zZl8VLm6uYdh5~9tX z@%UhcsQ3(-wG5gxeeR*l*pwfR>(jRrw^_K$T*~J0z{<%>6|k%~G(r5n#AZL$$&NwZ z6l8LT*>^<5X78@2{Hcxw{QnH5B`4&TRVB69tvq-L!L}!EBY2W~N7&0P{xngwP8g6Y zTLTy2OWbRY0dH3Kbs!-p=9F!lwy1!SH6lwk@+6 zV_z1aW8JNgkv2=7SpNwDq#D5$0kF$hoDVZCuD5uN1UdY&wKb$(+xIypABT!Nzvct# zAO@XzJ__ZMvE`xn(0fEnil7SE{c%U-`I&E0x4r8LnT(|acfI?C0463opMWuI;~Xo} z>$dFO-4Kz{IvYZ8k+8fGS8P6>^v{~AdO)@K>O^OE53>pUGBEH+dMDbF!|JvI(T9hW z*j56}Cyyl+X*IF$;Ct{KR9tv*F-P5a7UKK(bDH|J6&r40Z%!3qCH4eD7zILH8DJfu zrlyKZ3)9bD-e0LH%WLM=&?)e`3pWZgFK=D~NsQe|4}yp|9^bBfug8AEl3FrL0W_xk zsvel=nK+qJJ-^!Wv+}EwXmqqbiREV3l|_E8qPKU&P9WNVBn+j~jiZr(Eq61GX3w{X zM>g%DOj;{>YcHH{WBDTkMhJW$ep@J(J56_ddNXoF2=ncm=$uSF%b*X6rb?%$=d)W| zAsrUqKcN$Cg|s`4#e7z^=+hhSq?3*1lPP|qeY4@KdrnMoM-dfwaXS<0(4WDln^See zrTi4s5uN)K=-8yIC9imrVkI4yReI|$v20H&XG%)=NM)r-1I5zyXWIjQT^Qbin8+at zv!lg19=04=IZY!ppYNY6$}BJA;eQQ;^c;yH`O(P(l4}usSWiZUfNL|^+zE%Y5{97b z$A6SAR-Br13TXLCf{@Atk4y%$6dYu$gRDbhQP{Fb_?=$s<{y%0dVxwld>`ouK&^V74v>DPdx8V>2;Qh?u{BHg*UmJKQTog(=*2R6aF-pBmnb zXM0@w)8k?lq)_Lx1IB!&V=s14-xGUW2T$j5d6h?h;cq%7Zj4**5IJ&f_L!^7nKF7q z!RxI(9DbW3PX2()lp#*Na#4B920g3F@y-BiEW8GuHl~*r2j|DodODpeQHLR;mD4-Z z$V9FE^-!CRgH^^m12d4v;rW(UM+6DL6>I+KvF+Z?T58jtv^YrgkdpcaNe3sR>80a@=e$6{k$X3` zgHBS6T29EKI82hd8q$u8rz~v6E~)&QEM@X~|7O}x>T^#Y8CaNo%P+%$g{tUaj|stm z<}dSOu2ZDgdA;6^&52+Z``QN?4!04rfKLO02-etKl`Ic$>~u4R|5PZ5;r(hsg%iKP zDtwNQ(5``Zejg(IyT%XN5ET{n;!x$9^TpjF^8<9;$nRYvm0)?iD6#1XvRaB%E%mn^ z>7lOXA+4TTfBD`7UqB@&=KS0>9MFY6tA=LnS1P}QYbnJtHV+eV7QB(A3JmJL>EJCd zLt_anUnfJOdatP?Yh;Y6wMDUq)AR{8ocAfcA{;W z5Aaf(zLvh(#k}_vN)WZqP2t8-&F0jvYnLbBT6H^H(xJ$aA#oI(rDS5vtam8~gNczxQ+eLDS)dENS z-17eW&+l;n%Bm+TlyemA)&{*^tR-B07~O(|xVGD}7^LU5dNh!QDdc|+(njZX3sIqE zD*8=X*>QhItNIMP2~zi9+S{(A@7OzQtr%{-2WyiJ=q>jSn{jf=^De95Yga^Y*~ezo z;$5DRDt%s2QQZ|$`ha)i0I|-^19aOLg=&nDbZ>}{Jaami2I}<)vIN^7Ngoq$Xgys2 zJ?~B>X&YqW7guU)l^Fzt5Ij7)T=3}}EA$lqDI*8Mif9tvUJf!#nmkz&nd`jGk6JkWsabpcHV@;y3Cmh^$+*{eNHDkAVb0U_<%?t!^kPVRq$!$DdXB%*A0Xz7pt{Sh zoN2idxGibXC$KqLb6YZUayb$gy*wHVy3DLXY@z-@0TinH_1^M01EE>_go*1pxlC;X z6En|3ksPhG`?qZ*B7Mbjt>02j<9%xS4r#$Tp#EUbYffNqj`>bEZ)6ZJSgBR}j-*sZ zsHRkfk}cPJ{=0ChqGjl{J~%0!_yq+qG&`(*1BDJO3jnq7Q@772NISB1@WqjvW&Aj1{3 z;lUpB3{GT##4qvTUAHMO_6-%qdmKq=QbYxUUddB49MXycWmmYmrD|G3G473!)#r_w zr+Tcg_hTWy4T@Yv+0I1m!=SNK|4lEG*CdjrB6Q6B-JsfPPMl=ieC{zbJ>l0FW}1u1 z&R^&{Nx2p|UJGl0lrB`_ANjP)uUd^pj<<-ts9#cq?yf$uoQ|ry7DuF(&(Fywy78jI z17Z4kIhma-`z9-&6pu;t4L$_}agOY<*!VXaK&`g4Zk)5yI};GA2E}Mxa|KpK!N>o} zn`R*2Ry9#0A*yo&n-^z|nTnUbBA!MWQ9=6}2t$Gf#g*@Swzh5*VB02JO z@;~q(c1{)In-TL0)iF7S+LBb%mLt)O;NV|i?%Bx*va_y`m$te)ULqD_)(;Ni^voyK z3t=vC)T=zgWsa{vw_>V0e*&UUJr{{1Oiq&-Yq9l-81(TNx0K6@I5C=P{$f`kmiq#c>^Wb;s66N|pITlQTy(Fy zJ{9%Usf`1l-EN2s38?WuN<$V50q6gOD+3E0x3ViS7fH`*I!6Eu&~7c%YvUjXe)vQi zfb8v0lwai5<-kcC2~iIEGG6VGm%H8B)s_l@YlNxv>vZnX^7W1lbUl^Mzyr1Op~U-S zUQ3dKk}-zykxiOFr@(V`RJ2Qy1(TWWB(H4^GA8eF6yeOmrmT((%vt66aJGar>1`mL zOP5_cvp(D>MUWx+5-jt6?GtA};6@8rb>(XwZ$a7zzn7Aa{^LhVYBrO_*X1KlFi6Re z{R3OmQkk&+iZAT%7p_)K=UN7tPRMYu5@`2iOs0c4yCbyVU4@IJrYj|L$5p z7@CZ|-_RyFs;qi)rV;ky?6W^BJNxdzcc;nC(F3~|v;s*Y`W`X|_=IYXh5P<;w~YUs zCH2QTn%&gaT&=;$p7--_UA&HKHJz8V28Wa)i#$RY66~MJ{ri4R6Bm<|HN-NI*gir3RP9R)J zCd$vlq62^x4tBi=3L$w`bG<3Uwdv@NEFvjIJWMUh2)H++ByCVBrnFK49V^JF=~=nF zdUV@JYR#8sD;iK%Kzw!bmkTbaT9T|wJYnmqzqtp3FnFMJSK_yHIoOK~w{S*8lQ>LB z5=Y#zxiJ1lU4$Z$Q$LNlaoa}*-Jm&%CLgSAR)bB0tm_T6^3rj;jDdCjzw7rc?<7&t zL20MrqrVk$+$T2xN|*uY_6FOUebb~Hh3};A_>0!*RpvH@cXs#DJ|vPg47AN`x$f`oFG0k~us{0+EUao@ zG5eMCYHi)tsYmi<0|hdXxWS3elFVg@5Zht34z(rne8;;^ev;Nm}@-kUAkpKUIGqex4s77xY?-3%AvXJAbWdQ}{q!8QI%U)Gu;fBIGMq0QDjF1` zY#{Vdz8d~Y01YoOz5kpJH@I@wRk+$A8&bxwN?w--QkRIq;gZn`2BgVeRgBv6&{rS? zl&n4=$_s@&Pszj&RhXsgr5g$msboSNd>uEoZExY0w9KwGhqFfYyE#{u(cz+h4vwE( zUh@Jj9XoSMTX|6iIY9AO@|;k#rzol=JwDqk$%H95uOb0%MieQ#m?fQ^)_S6je0FAECv(G@P8LY$xwM z#PTQg6Ye+;f!vp}RoNmV48aSN#SGcRoFo}vSo&w@{@l^UsI`qzpx%&jY#r}mAnudr z<%hq7e3iSM)nDFh`ZrspyS=Y>tQV|4+3bqp6cC$ByK;8Dfb%$~ru@`!0%Rpk>4)=f zr_173{)Pfxf$x)Xa%vFTlxaC#Yrerqmb=VfI_<86s#wEq#xMx zL>v3B-?YJrfQW7VyHN~7eYZx1*5ol_YhHLikU;zz0^{R_w@J%)dvsR7;ey;vu9ayW zBK~lyU&L!6o;a*xSZFq(iEj4dM_G(+qrGtB;5c2uT{Xw!sz3c7bt8vNmO?f6UrSAQ zQ2dv?yllzIr_BO|mA)$oW-Q>%`pmNpb402j$#Wb}I*(HNpUs`O#beEqXw-+NKmBxh z@O)qWZ=B=7y=&dcJ8!{?Des}Ix58#0UbvTK)NfyPXCUr+LG?}dL0}12Dz-L2c z>Vai}9(o8N0+RnZD*@a6`>f7?`Gt?O_xma0%z`r)Rksk_S#clNo;Hq3wD?`*2ll+J zVBLKM_C$euje|_zBRB3Z6iz^%t*uS)H25A>ZcF#}p)#P@H?Q|qShNsn)h?WBsTY*;L$7VcsBH~mNp(gM({Ud> zOe@v>9sU06lnj}Hq}7O`rsB&W>StS!M__VkDdiT|+E;>8h3wUfXGg87WS>+FPumg% zE?53UpY?1^1UF$FL^0I1rr<>}5g-^GmmiZ71%r3hDJj!PiQWBjwM2{x&Gun zN8;V;9za;VdSit^2Ff_jGXMAQo!w9ieDA=q~?$ADeos_WqAQ2%@u-eR+ubzyWc zUbCesV966Cklc~a$e^ij;P2zI!xxZ~^U-+vG@fAQ0uxr0`{lY1Xed=R%hy`OXWK!l z&a;($F4tRl!L_R>h{)Uo$K~Ks<(*G28Y4bE7x3C(1rN17NsjYi)~k*j6t23P`52}? z!(#Q*%{*}ha|gbgWAy8TUMa}4rq&!6LX;UqQ-s(II8_Ip*_+Hu=H~CvRsa6%ge-NC z)k3ZK4k-2n(^~(zt9C1{Ha&<#*QNn1eizgqWH$|^>n)xZXqShm=1Uo$`xbDu-LN%f z-nnmN9WBQG_|~I#Bf>F?1s2{yjZLm!SR@>%zn@p1v(OEqM-x3m54r89@)6h$HiGTQ zkczfiuwh*f=O3L3-g+p+gXLHq0>~fO0ATz({w)s(6BjwMK-H|-)Y__>fp!VO?AwTB zHhBI>uGq}Dk<}b|IrJ?C7Ox|z%yPR}6B8uBSV`NQf^1;qpmAJor8zKCCDpIt;V+S3 z*&)GMR0TE9JGIkM5JXl~Q2A1nhUM>GV!8pxp1g}YOkYdCPrTxXB@BT%&{Q(+KMnzl zCXp39R0Rz!lvi-RHR+V<8Z(EU`Tan`4x)h|7)V1#4)*RvUeMUy&1SNbF7DE>e=6fx zPnL!2P7Ku@;hkDK(M{4qt*iVc^+LCnz|mU;wK{n6bBdX-&AcB-;oL)8t364v;7DYg zA;YlK;?%vZEtIsv9Otr9^CF7B+HRSD#R==C`wN<#0&n$6$5+|xXHPxZBZ|`F?U(W- zGTDr@J+R%%+2Dkr^HsvR`-?yy z+P5Lc_b-V)9PNryM9i+wy;%p2Fc52H=7?3y~o9THeYy-LY86lN%pV%q0kbmi~BNYx>S=lmmhwkxGZ>UNJ4qb|X z(4z6Pf$4GIa<9jAx8{Uhzjl~plcqNVb)qDij91QWKrfz73d43RK{EgoU1!^9LqolUb#BO2^qy z22>B*4&{X%cC7^34YW%NcIy|oGq`8#ICM4ta@KozcP!@=MNHRx<<q;x? z2YXxn?r3waiUU*}$6xQ~eY;(qurVkT85Yw?Un z{IIGiTD#cas-xiFUhgj!Ntve3NWWbl+zhrgFV$G2^j_!fsLJk#$QgFK({G$2Q+{K+ zi5tT>SmuRDCl`B*V%IV)hM4nAoNjLU_d7bMlX~5}AVa$qnUx;nRqM`4E&Xyx)n=-R z1}%*6X)t5E>{5GOh`lM#5895bvfpuuH)X!H8ue+Vl__hgQyqCHwO@pDzE`Ft;4x1( zR?j?XMzixCoP5_D_zXjBch>wq2}i)cPxl2}7KEg!DH(ele%+i9BmP6`u3dYYizGQR z)$*_9pr}~&t(NvH`$^{%*9CDU$58x*gmnh)8f(f>vyplWZzZ*_;>H>;kl%}AOkCck zv^hAWBqdxC6^mPu;UDl#lO-w<;vXipdy0G^62^!jRKrSw#zb z!bC!hiyxFe9#hk;&&5@FyrIWPVMJv^nSIds&yDZ_?`NNCPlLv*0vr;7iaw5O*l;MG zm-EW=BVK{&QN)Vz!N{9gFR|#wO z1~Jak46#MmqcSQW~-t0ur*>3mvSe(*NvGrOQVD zjp<)$UZ@J+5AXe0oJ-KhJoCv~_l{yf^xL+RgYC$>e?k&IdVRosGX2r{9Hn@3;LhA* zAECasf|)RBrnU)YrP1y6xvqU>x>biMzOoOmnTz91e=x2b^&KB<`S%rBZlTs3DdYH` zSQ_-n>AbL5trRr8)V1W#j5Zf9=cW=13*pdf?GSov^s>4^>oMe3);SEoO}BsOkJx z($diq6+C#SBmoNrGxbw#`U}j`rK^NTueLUOwZdw8B79{Am1E-u1mp@nYstoK{Q7#} zCFj);M>j$q)j`)T1;;LNSPFVc#_HowF;n+v1qJmt2hB}?XPE3PZ~LJ z{hm#&UglzHqD&`!V|adXzJpkYD+-ia8=Hex-M>*4=8TOGeQX?$nxJYX1??HLh+O_L-|K3YaTzkkD6*gLOq(KROdu8F?jMSKX)6j z?ROAk|NW=b7O0#9J+rb1w+BcWp;XhB_#56!>M4IGt z_q%CQO+1Nk-E{es z5pJEIa2u}n%Y3IbZ^hO2nkdAiZH_%Ke}_*bkX#SwxabGNiHAAIF`}P7=i+zqKLR%`%H>G9p!l;Mjyip z!^1P4=;y6!YCf{VeS;3^7I`g&hVI;*qMsYwB5&Sqt&!6X3RjIWn;=c8V?u#mAtk@- zk6rdd|NI#g>D^r{gR!WQhoqb-U*aCV#*WvG*jH9dFveFKEC1Mh!SOD|$&S=vC=-8z z$!UhKIC6!Iq@~0q=&^tmN9zEC)yl3@CzV`)u`Er@VrO`0>D<|#O8ZMn0uf%iBAW74ViEoW{Ljh_d(+9Cig~%|R z42&|Rmm4wFXy{~rYQqX%Z_VGLegrc$xN!>Wxb9+?J74Sc4rOcKnNOd}V%VbembkGv zhMko=5=%CpqhrbJHmP@d@kAw7dBb!+A?zF2K+yWv>iw=a%oN6W=T|pBLmBL~nqEEP zH{qGMbG8F*4Bi<3BYEnaeMRSPRR5QLU9Oc*OV~o`{kqQ*Y>n7q}2If9@bU*)F*52G!yUrSfei|+cP2)pt6$wDXl){Ze` z8F2<#rWC%*PimsuqaPV1sQ!6gBqjQj@mLa^KOx0<@(%r#zSc9CATwj9#vPL6sZ|r} z)(OGjmI8OwhCX6}=2kJf^CVc5sYJQwnX|bS;?})MJZeRW>z%?)?*3Yf#Wl`Qdemr{ zJHOXu1shMRGiQjDyd3&BJ#4^U1^|g!RY0~o91Sk3|K_Z6j5b<=3dhcD*c9$Nj_bz1 zvhLrwX4rO#fwMKXmDgQpOA!pw(fCO?u5Z{mhyT7)?T8-3*geGh{Wvu>22queI5?zG z!jh;r?GAREyEuI#FYWab0n65K5zjP8@YVVtZd{NH-KWm~=WjkC-SqsbXsFtsDCd7I z(`2tMi|->t{EACQ(o?(;;e{K3muTm#?)4F64mVN1L>nl3bhICvpRPu(d4`LPfW zhGINPdOz*pRh%?6)|R%ha$N43iQ!S(o7L@ggMN{MR7iqJvzGVk7LE_=Kz)a@B~&&6 z-OJUa+HdPcyCv>ut`-#3HFn0r`o#>Iy+tkkv+d>;rqSV4JnI`43e?c~hF&swKkR$9 zc!}}qCsF+pldFWzr|$%~*oT#W8}>-ylofoZJ@IW30F3=PELFsHUt0=;4XIt4R|2TX zfynQ$Ga*JU_Xk3HMVk|K=*hA{{U)=sy<{Kcs~@~D_%xJ6F-!cQ5g3&ucS-W)F9SU{ zH;qT)C)OwpG~`J_lv&}aF%<1b8*cU_)8!9uW@&3=G4cS6*w~z;Rn@#&7wTB6 zSM%cbJT*>O&-K0Gt#tmT^s`Wb)=#Pa%g6K&2Z#DAS?1C_adeRC!4|-1uA&&1Y-Y&7 z=Xxh)T8QdTLF>1j#&0`%052wMZ-4nhNOwBb9&qr3zUz@|WI~A#98kvfkOi># zd%1vwoeC9D4ocf3C~fvvHb z$a=#hCRdk`blAK(b&eTh=;F=&gU7~z#x&c@UR*9A%vyfN{OfJu_-4$g|H}e=2gcGE z+eKgpNDPKz7lY`pxizj|)7OYc%Q*FOZ>9DJB04O;kP5_`Tj@;BXi$9P*3!LJ6{U`{ zThQwJJ?|%4v%ktW*t?y?QDP!R*G z1Ne+)@$8h=%FC7h+bQEa z7cmu%k#6u%3e+CTQ#AH!PvzQb+KI4><8UZw zCOyc_e2r6=1+9N_9qv4yyaV8pQ090g?QbH=|Vo?!a;v(*o zaZU&i6~X<8RF5dAJEOxDL$iI#V^tHA=fmqo&QA9P3JkT53$dYJcDO_alz=<+T|HdF z3fe>fQL}osYK@AD@*{th_~0&+WY?CW0qzx(O&T$8P}WY8k(%eAe`8lvYDdoH&VuYO z`=^Wfk8s1Yok0aa^tX!tHWU`AYX0@8#_c~@<%%o}Xi8du#!Se*Mla-XFhaHYPR2=< z2Fr|~wXdRRgf%;KhlbyU87IIOwkr;=#qXiVd09TqXvB1k?F~@c``_k2)R6)-_eFF0 z%dJSnAO82N-SiI;6|9K=`-&L&|9u}x5&`}H_iORxdv7X=|L@C|NMZScEt8fxB&$j) z$g;VuXIt4&X7Q4R2orJJr8!ufayJ6(2Ydv0&$tJb@bz|PU%xy200bbH6g1^+%@v8RVHl>cXpT^`~|4dE?axKl9H2Rs;a2w0v-`w zwYJ#&RogQgzdfS>@YJcF-6^AY`_znjrFU?x%$g7k+7#2VsV3XzXEQ z4Szp22{6w*sBsrTk`Oo@uujp4%}V}0`LaZd6f~v7D%XCp`zTj;NxgC&K?4IC{qDR& z8w9WpNxAtY@nu`x6>LqHEsrZHLq3~R<4`J#`Tp2?y~&adQ_K97C4b{$mm^#J`u${G z^R5$yh>k_Ri(ywyes>t&R${rSS5OyPr7N@g?8-QX(uN!(7J`@6I| zGR5v8rocu~wbwb3+>9;&9G|U%C(A#(Fn;7R-D((W#s;Qo@H^-PZ(#V}D>rlCdQhho z;_OH&HHBVx-`gZfIycNMt$bpsiVDxd0U_|xC%v#p0bVeG1GnvdyNR)t_>eyuKjk}o zNSuaKm}0@TmVi1v0)G4Y&o{u@(C!5^4mF?rTG3;Rzy6)$2xQ9Q^w=`1r`pGjOeX*h zPSzaI606oWgL(pL#ZECcfI$xT3y%CJb$lniVkATP2+%6<&XqYTzamDcIh#B}3P7;l zM%a#Bb8_E@g{i*&^bMnyAUGhi!%4_-EX6>!ib((h#mg-a0b$I4{X4BHC4xUd{l?!; zxn6Ow{;xiH>ij`kdk#`wCY4|^q=;q-9@AMA;Qgj_|3^H!v`ETJXH;8Sa+01rKtifYwSd=K88S04MlAlZ1S)~^ znCHO~AMaDzb!P50e{Lwv2t42PULl9%`IG2@s1q2;$XiAFUx@gI-T9a9lJK5B+Sa}m zoa%{86SnmfN(%y}Cxohao?hZ1fs6pkAv~<$Wup=F9uS1%q{S>OqVX@7496!DxL^sP zgvC+2bD;bQefr$&aR;jB`_(u#=L^5%F%@W>Rw>uQJl~^&P}8Yq$Fd+ccguCR-SiYiG%~3o=I@U*kL!upScA9WF`tSPIXh6x*&NqPVN64}XPRas z1}f&q-Q4)|p-%kKGOt{kCiwN_zDD8(LYotHpE&%XJ6sCGy>1|hLY z$L;Q8&aGbeAf5r|T1Cj}DO+z5vzVH}wL|qpKnQ`N^z;i}85S)6-F5(E)K!ysqsLmu za&pK2#Ohnt?|X8obyAuBhZFhPJpXWiVY9S{{n(}vx)ute}F+2>I_4c7OO6BeuUBkwaei}~(E z7pIQfoq=otBwXv9E4Cl(TYH+ZD?>iD4mhOcNb({*e)*n0p_hYaJOLi9DY%2Hg=nA= zGX$(H+t2U#zAiRBvXv#d9((UL9-;N?=9uyF6UyO4R=!48nFHCsaiz94Yd-I+VodMT zqtx)!`1_zdYI{0kt#!D;?#j~0o!eTm0#Rw_xkcX9I{UQNZzR~S*NqAW8Ji17H2LXe zKPzTdVh{jS&(r*%97%1+gHtr1T|HlBbBe zoVgu8ijTJQi}7(yIaTB8p`VKS9?!&&Efg@ zkgcl5`#j;d=NLUhCjzN_|4PeZK~8FksO;zq>O|&fp{E58e1&tGCYYlGBT4i$b^ba! z>@UQ=k>styASS-6lmAY-=~%g&%7?8m~&4A~%cUx&!`%M&kPE2!m6x zao0#ih0DS==_{jgAz9LyFxl*_1D7k%D0qGkM749r{~0Em;jH&&iGNpTa0>+I&Dgw@ zC!{l8$83^r!|5fZ3%N0Jg&tG>6)xv{SJ})8(XrIQ{JRGyh<2lF=mJyo_O03<^PmFi zgFiz5v99M@e5r@gwRb+Z%+D|PWDRxs?R?VN-|^xX)g6VW3@(h8tZS7OTzpyIza7L1 z2G!>DB_3J5=S^y7>bWrJ&9GJrOYIsq2$;#BX~@%BTx=m@vKs=dc|^kcZqx`2BY!7y zL%(Ib+N^VW0RHm4)eFmWG{Fa$fp?+;;N5ouJxJ0>WK{b9@fBiPASIZ>A%83c85<=ypr0HIWh^<3tZ)<@XXDc@{ zhQK_RCqHF`QEcpTLsp^@vLeVrMcm5vAcLa3}& z2FZBu@(@GCLfVLp?cS?&Q_gIMqh=M5Rz9Y&4yxcCfb`1d*&1?s>aWK}cvk}o=l%01 zB!f&;7CJ2-Q|nizX{N!^kuo&3s$aenE5Qi3a6z0b%Fvd!R#z%NRx| z6UoC*y(shSimt@So3oL#U!ul+a z4{NSA87~j7+)nR`9*@a2xc4ClA^>k-J4>A#H@&+y#oWMAhL-O7ieaSz_!~;CY4DBb zwCS5)YB#Wji=Fn|R^jkG;Ruz@zw;UEHP~y|IyHgWau4L{i)7_R6TLPlm9FS_bLhJk zhQb_Q=>B~yP5lUyeJO)_tD$9Tg1)rRgzew-xcwaG7LLe3ztme1c62{R@NU9%>dA7X zd$+v2?t;FT*K>5W|1q@8NLq~Y7^~MpTLTv^;TSn_5yk9&*wU7vaJ%V6O8644R@VX@gfqB1Ame_S$Ny>;mg@FxD z;L|y^!MYbf4IK~)wft0Dc?SMrkr<-dfK1#Ov|~xhW2JesQuzh80FtdNbwo;y_&cG$ zC#zuNotxihxncYlx;?*GG==myq*dF}FoPP=xjKW2Zvm=2ag!w`es&z%JIc$GuJjWe zU=dSufACPNa|g`a!5^_VXP1ums2-|&(WxD8ikg!{n;||DqC`(g>;CuIQwA~;*2gyk zwyPi@Jk>W+ggaK~4e%TTWdnXxORsiFlZxN?7^&Ysd<_k^l59WReOb~>@Mi(1f6gin zIWD7qncxUWP6k|}Moxw|2kn9m!SGF^r-WPc+szGWj~JJacCn}oyw5I#!IfVlmKN7| zL|TvT3j$@l(|`zHz579GZ|b=S*g5NS&Y@(X;!f)BV%Y=7Gdr?TDK-9&{JpZE(XLLV zf}SKH6S(56SW{RaI8TccaL2k{o@j&q2YrtSlpp885BtTD;O(`6Xk1!+;gVdB;8X28 zVNh_eP_UA})QFNm%h|xSq1Z|Y;=2bS=7abLo4A}U}BwF z$V(CLW&9+(Hd^Z#taqXD~o0aim8}`U?ywI9a7X$&=Y`~x&zR&WkJEssLAb$^X)gMBswyo^ZQDNQC1QDXh=>v%C_r*&YfbF9o_&SZM zT+-C}bj82^4g^dGr7v8{P*@J6IY)|EhC3Qi=V7|m%{vL%O$C4jz$R5sScizdQsoxD)4u7YXhU0KtBM0c5Q1Kb+He3r{8Mlf4TURT<1|Awxh?ZmY!-5k67>(U z>l9i`WiBqRgUilTR~cr$g+!bHTq>NZ(uA2S5+-qw48h1wU$aOr&Wmp!?MH&_%0S-G z>^9zCW-@tRH*j@Le-;?b{ta+G`wYv_)Z7%(_aw%g%rJ1fyXdn}Dj@a(MiU`R0nWOc zJ-&maM|K&`!Avh`QFom*_xC0ymg8JiMjs4UbPCMFXMp0?&-t&w!jcBzB?JJ78(9kzS8P$e7Y zI079U55!E(#nlwPe(M}b-$0~1K%E!&-rNE;?NbwKgwy(C6rU&Y(y~Be=O+XfYp>&2KAuuULwFI|*B-WIrGNZ; zOQd(*$+j{iX8uR4&OP822AQOg&e1^nk@NgJj89H6!R!{<=e#_ANK1^>7~ReE%l7U5 z2x|3@O%k;GA!{S-aGS6Ou!J*8)hA zq^IY_drZ`)gV_QqXUhQ1W0veVNF9A}oBZT>d7g$tCAyJK{SB*B&9x2n-m+Gy$I>TuA-$EuHriOjmj>b5D@&AZ~++&+>M zyMG4px9(=sP(c0IiNS%D*e?=(u@H4s@m{r4H{1RNryZ5vqqjygOryUQXye%~92KJ+ zKbZ7+Aui=00q^k8{)OJMjEdd0c9N6~xgbM){K)0jFMX_?iFUb}dU3!7KutiJXz$_r zq$9t0Hz58}`z5>5qx$Pd>WSx^AK75A+I|+LSlkxgYAcqOd!3m zQ-99c$T?MeJC4WrRyBuLM`N-e_;hkGx`@B+Wt<))Xbg;rjrVK0*X{=h#t0tWg?lOd zp$8$020)jH!DU(DN*wt`1=tuYkFBAdY3FqmhND+3*;=wy^Y}PU1M= z2}1reGY~3Z0Kqgxy9qaej4H=c%a}nb-|NfIa)jJ^R`ohk6)vam|DJqXGijL+ybl-* zFlz?sl;P3$H~+!(d5V1UD-=g8Sx}P`AvXdx_3fZf>j#Z0hBM~!HlHW9-OxaXM#%J? z1NshATFVq$0}LXv`6-tRXUwPPwKOi*9|>tKw*bh5cPw_tdBw&^2zUPtnA|UawmEtE zOkD;Q+=uSUy<49sQJ|KneYnYW-(U8rIbY?oi>On92c+<|w4>Si4bi50e*knYm@DWJ z5!H4Ku>sp7%P;`IqZ7ojVK1w$PXV*vPywq{}+-nn=uiRs(T3s#tAP=wwO zwY_ z20*s8fUgp@NLu02cH1<6K~^0Hdgktq4#!g!S_@V^{1BFS=|9$|!9N-oJd0NaJr|4- zoEeg1t5v12ql$MMNA86^>EE%ts3qjGr|1Zn7_B-+cC9J}xVX^Do4VyxJgPHI6O)`y zo)717PRy04qaeUj+c&bq-|?F!zh$`hR=QAF<2M?sMSF~y8ms=dpi!Q>Em2xL zCi~poB%Vc#KH|Il&*!}&6cOaH8u@opg_z14IcHCF2&-|!J1i>>=E_eull@)J$d-2= z!jjl_UEC_puSiz7y%myc?G`-V`TqK7e@eoT4dQZ>7k}LFuVywkhb9kJtKBR2ZBpvJ zctA&MA60nntZQ1|H>14;FTS|Pv@Iaa!U?GVw;VOR7sGwqM-;JmuH~sT6lHHZgOXwp z4uta8uyU^-;h{DH;5DVQ@Zy2^m-}iicGX@T;I4vpQiu|DGc!x%?3YFrdT~q#yu~cC ztjZ!3)KZ39Py6rqwWw$If2>rM0a^{p8I=SC9!i|!3JT~b4^D6K@T%{j-825XONWo$ zuPa;23#t~_PPc^-{+$qjaP-X1pJ-VfCX0XiwLq2yr8azm_Ff3d`v|E>r}ZCyUr44Y zp&fC0;oI{tj+y$y1GAb2XyR5YY-;hhvuSqlT!#T#r?MZ>L5%=;05%rv%)cARHBci} z)G6{9k05eHPGMwFZ%)9b_=vVwMt^>f@V>F9AUS~g15dpPBzTh4 zkW|u@?c8E z2FY5^D;8zLGg=E}UvbPfF!ckJ5PlJ0m&4VncxVlCJMK^%0U`p%Z36H0j)qHi=)cK# zJ{<<9z5oJ=by^+=VB;XVISA z0gi`^60%k*c32L(gKGQyVUAMkDWTEBFmTrZv4g+}QK|;d30#EqboT$+d#kW4yQqH< zML|iRYbZ(x|D9DySt^kq`SLjJ-*-fKbX0$Ihf<|=+&3F zpS{;!YyD#Fdxi{E6e^hfqvg2dWT0jgs0Z>Y_P?*_4{EsKlkpx)T@y6^(?-C7Vv8la z!T9N5q52Jf?6ig5VO4gDy%3`YkR5KaKjwO+q?{g3jpteiTH4qZt|(Cnpu&+srD@3*}LIla>f${qZd>>p%hfyTr@JJ zkL9)NByxbVbw(RIRRwOIM?QlUtUtk(3u+wf`7WjpZZzj{SYp*n0;4X;pU%e7u_4i~ z6!f|OVMz|S+v_u^N|ECiynR1#DXHwe;EgMui?BhQ@^3Vs-fSf{?6!y8E$)K*8 zk0HcQ6c&HRZHL~u)J+?Ao%yl1Kk<}#yXhxTf#hAQz9RU-?_~k-w?wocfnP=U$^uER zqPF>50xx%sIczVG*zP|4g?x7W0NhKRS0_WslxEG%Qz9Jd!2B$4^L+V0RT!*=hgJRo zs0|bK>e$1Xs`e1qm}gy_Qm;f`LM~d?-3E7Y_L;*SH2bSpa5%x#eX|i&*?)D|Nb&e^ z9q~=tXeEH_4b9%J4<5I4g{72d14#+`&m7@n!(x8Rk)VxCG&%Rh}yFk2(SNAV97a$p80!FKC#JfSmvy7UalS;u^7@dfh!4;syA;@bkW zq5I&iWwBi9&b~Sj0$cW4DMM&qn*v<|88<_SCuUU(!*NYpKC;TmQR6awi`MaCTlk^_)+ zJLvv`RHdhRym8?m!vPBmhEHrFzQ<_AexAHZeXl?k1#Jd0FE#;Z@(5}^c`Xxk(iC@M zAV2?Y*PX$B#ODp(hW1XL7Let@(7F!H(D9hO<+PX#rs=YIP~M|xkrK9%{3BpxmyViG zZhh5$NibTg%^E2|?_z-uZehUY(hwuNgnUo++HPf`Cf5oL&gO$fAS5A50{-i=2GgC& zD9aZp6L{1o&**VMQqt5Amt`2wl>*WqdZR~+u}EY*P8@J%Q!hc7Z;mC34_R+JGFt9lEnYAe7(1x$@O_M2Ujzt)XA-i>DVjNeoE*A=>ZJSL0t?7~Jn-C-?k zkOO3f86NFUX8PzY!p$x$8I2iQ zgSPPR%~niMK)|2tRaZrn%9d+=CI%ISZo*EZiScqBEW~y1)|kd;$a+wUckX-F@lz5Y zL9LriU(LQ+K!G0FIfsQKCI`Gxz`#I7zCD3u!p_NV zX9^G&Vc{(VQbc1ueIGwg9;}~E{Kdg#V)WgY+G|{93QdUeuQ#Y;CyPaV1X@wBI?Vbl z2JO}rk`_Y1wsrD+3wYDs6vd8Bgx^|J?guHZ2QtRb>}S|v9iPY8C#8YelZbT0M!4x- zWcUZnR0|+nub+zS*V&=1((9`2+*1aHN_@ag>CDko_c>Uez%oSIQ1Wxz$z3Z#?=A_~^YEZ)BC@^`B@8r3Zg+8ToBd0eiV>auI2C-s~we<25 zNBz;J_3Cx6fFkZ^D9Xb(%(FLLMotld~SdC%&$Gfnek;E}CO<=}9)oe8~t5{B; zKer(bs@@|8UrBC{on{v__&T6km)q6P(_cDZ+Vk$Q-I-9x2ekOdR)wu*(558+YN8ZT zB>Pt!0T@?(d1vhC!DqSt{=lq45m-o&kr|X?<|nv78bgu<5aCyct=v zzcOm>0)GUeD5MNeOR(re0D;jD?3@kYZfoU-k&hO)?o)9PBLo421JTs8ej*Myu_n+_>e?4TFxR;qkcQl-g|O(zg#Kl?0=elFVOs-8t-0fEh-+O^GPpn8 zX|ERUHVtthU5X33Cpg(ZgfAt&8~wYnCZuL7R(qKXd>Zuj0HPL!lt7sUir3IE6USs| zFZUtMa{^`k!Uar!q8rSDG(}6%Zbhb`A+mJ6a)5YEa<7E8%Va z>ek(qw;Xy|w%5H<f8gg=ff<$2@3sLx~%^+?in zif=njTHkszG2{~v@EvlbV#SFO!eoW5KLw}#w`jl@?9@kq(Zv8)$ahRLoc?o0JZPfF z_AZ^9FcP}HpoQNxa`z)qZ9&KEAwM2`kIvs`#8qZjj}2rpd~R=z>pMWTAWU`8dO?|B z1!m*w>cFdkHojEj8N}1V$`ym)Jt9NRJn;dkrn(R~u;L9RmILNLGitt1`ZqpWPTB3X zXTOtWKf>hX3lRLa_S1)VlG0Qg&&;R)Hig7B+_kp)EC1*%4%p1{-&UgBE|&=F1s)B^ zQsAy#&Xxo~5SmRno_{|+-lwS0XI?w7S_Is{X!$C7jcR@*H>n#sw{!7qDAJT#91`%Y z@>ONt1q~AF=Q>Q_^ymo;ck5myd?a?%E%XLMaUJpq_tX6*tM2h1;pYa=*7cw@~k zBQ4?KtGK%)^f$=j(slpq{ja&fS8+2vizX$%<~sn`2DYflZ$Qb3NsoyLn3l_ZdPKnb z;dWq;1(j)H6-Nwo-k$}il{O+Ko_#$_+)JbffC=gzV)RARA7pnJ$@&n1r^u5Y@R)zO zmWFHj*KaB-JBVlp2b9@493%_n`mKwt{D6R)phkfWI=H>tY%FHsw?`5>N!mJ&l(f^d zH5W$(v*vI&IN_SXXA&C`ARgAyuj;!mZ8gMz3Bxcs&3uHO{TsKG=u7B< z{dV0xhakuiAfLeKPY(Q~m)*4&te2u|9+E_iJ=(w$W5veh3@FaUr^yy{H0Mst<+(Q-v;7UR7#Nk}(Dh{pDrw29(PoB91 z@0f?hAp@;lolE!+74f4!e^r45b|q*}P2|E+_TaIcY?KeqNV2ruqV&yl^Rlor1bsWE zceAx2u|)a{+nHYV8)<+B>g0AvK^r=uIQZUM_3_&Ex{^3Ai zwX~An9T`iZQ$B2wtc>qAmWPQ=H#auM_wWcHoZ)7@(7%1pulOj``XIF5rlb$1KJQ?2 zv%6}7iR*>(Sm?yF-}b+89an~p{=};PI!V#!Fnv@V-v~x~#ofQ~&anPIL)IU7`Y?qw z;>6pFzS?M;0k+eZX#~bxiU)tzmz=~??t(c2rV`!G<8nGkfCAM{Q)~T`ukbOeKp*UH z@5aaPlz{IEP_#iM*JEf+kNlwZQV4Q@c%Ii3%x45{^sn8$MovcX~JKqLd8VqLPaUHLbg%BWDo!;`RVB@AV@gMH{K~ldv)}v`cEkU z$lSs7VXIX#OMfW;2nM)T`)uboNooD}_wIvyrzpyDvyi^jFUG!h>4LT9GuAy~-cV%z zYl~?%Mj>cd0SIdyB%gNGZuX&Y53A+9U?Sz`6^h@z8b~rL%ItFc2)@n}EO%gwZWf%pm=J z^N$}hueCnD`{34to@adkw`Rf5FuJ#QUzj}P9Z=CQ3JmN;_x&N5+k42&QlVj8QRYkm zRyG&{1yeCcrNiGXQ$949)XW+Z_!ruKe$VwD?%?}XrVL8=Rz}iSL5x-V z)(W`xJ_9W+ znPmKliL~VSXOD5uKk1qcW%U$kvhe7RmbggJID-d=!fB^WJtg(L@dqcmnB@4ATm2Ep zfOiF30;xDH36&+in)xI}vceKB!gJ~=Qs4h@{?hSX)z1~x11k3yzKQ)ix2a*&l`6FT z&8@!+eN)xL-^a$X@Yy%H5cZ9ymW0@PlMcgSiE1%53!Z3t1%^X=d>Ru8D9{(YAx903 zExX^i8g@Duk--%#op=uK zH0eK_3e5kJk`7Jgi|A1LBj|D~gP0-`=3nZrHRASogd&J&ZUQ7t9Y8Ib5!l(ukE~qlWj(?HBAlW32dsea=53zBO>RBuckpn$LNHp|kC5R7raIJaVzO_&@LZJZPWKEOSM%Yk0g zzY7*&Fl(?JeQak_1w5{Q)}2Rdjs$Wm4zVXD9t2cX>fD%5oB0HC(R<*xFwGXDO0Nc% zOON1?r}n5cLGDDj#SpXhz{W#mv)GuG?y8w{Ye2oX8OjSTL(mGNxb#0O;noz~j*l3(h(#_!7Z;4_2KxTiH-kkI|m0B)`Leq;kGklsi;BXYdv4w ztGjlb6Zl&DfeuO4JDc|irPkPpEBg_KgQr!jeEV*I8S}t{S0B~`;o_d%&fe=*CVp2R zk0cg*o`aj46$i!Q5izcxl2AA~I4k>Ceb=SV9CId)$jCUpsKqGcYYttv@wx<)C``RF zi7_krM8}p-R}TX}lSSWIJMr@Emr+%xc*>n-H@^x|&)KMs)NFKpn4GM>6J+R@=T7!M zhnwwv`-K}P2UqCeD(#*%M!w@_>Ei$@;j2^5ig@N{q-6WA?miU~fv1Gao74NY-un>e zHksIc?5x;s>uvv7CyDuDdUc$EABTG^We!m5DQ|b;Pq@9J#siJBBT1XFE+rcp!weCmZxx` zb*J=(^t5P9pn}yg1rsY5?lTHkc2tiWq_wYHEXTmt_UAvVZEhb6 zlMnGx%n3hJI$nbtPTA2 z@dLTrjVA%A*0%eUZ287h*V1KFB-q3=KK%F2vCF+MXGtH78@w}wEYa`$z>H-2gM!=x ztcjkZDNb3<_onF?xlO9q)fTW@C6WqNuI_O^>xZWNV9V{QF^Py`y~S2sh7;(>$@P1F z>j=0m8^MGUnO?8Ux4PhGiSyj=)#Ta}IrBndT!Y2T-3+sCo1g1)dZKW`%Y|w=l!Lp` zw_Wn;FAyEtC*@#4K}KdYH0qjYem{y+FGzEOt@eNW?rcvKKU~mDDLmL`-!&ieeXl(u zZvk^GR-e;RK*G35$4EQ-ZjI3jleBJQ)?hu;zG@+dUslHEmbAIM)`U&r`a=YVzZ`V) zf5Z$YC(Qr!2~l1YgzN%;4j+-hbT9lFl>MIx85!yS8MXQUzsURlbqRW1^6g(mt0zP@ z_*J9hb^BJU<1Jdd_v!+Q7NvB#tVLSyn;7L*0x4xQ>qSU_h0g&yd}5F9co>3g@GLcC@7jrE4`}`da`+?1JMef$)p7|QzwpI8JB$LUqki16L^yGtDfFo{mZjM9UYz7 z+1XbX7Rnps^5+(8B!-v_G6^D*_=9umxgT60iWo5Fd)q{_4 zaPr+Qo%;LxnF#`Jp`c)ql1e)`aKx~g8duVm zF|lL>qnd@SZSh2I{&`4gDSM7eX-ji+$|}YlPkKi2-q^9{MOpDiQ7KJc5%YE{dA9uH z!R||*t*Izkx_)yyIvSncp8F0C=U6x+b6VShFQ1@@-hAcc#FZox)G~EB;#b&bkZe9v z!*hMHf9uvQq@B&unZ48HghIQ`aas8XK_t8#*wQ?&Vfk3}dlte~%<^;4@812pnwHQq zG!({Zy)-&?fI-637WrIzWiSKVylPh%n{?GPA|j%-%yPc1tINd3)zOi&udmPLbTOj4 zq`%tb)GAw^&h`ALdbH9?s()a>apjknR7Fj4^4Hqy%WXjs5%vk|A)@4zl-+)DrjWR} zfH773m;y!mTd1gegR;_=1Cs1x{UlsA-rx=khO2JJwlsU5C%7I(F}ym1=W_V#L*3TX zL-p+0?N70>M4$_ZM=%!4EwG!8HzkXO5`37vAsj&9Sy{<#UVF)=t6MAo1@_p|&aUO- zN%8&J-B!{x>*bzq##iGNwsb+fM~`7ADBy<`j!8&KVaR8NjTP#LhJ@6!^zsNeI+mNp zv;3YaGxKf92`nfZv%Auo;3#&U#Z6;eT>OQ?# zPRh7fu?X82fsZ1prJb+nFdx8fFp^6=G&JOLzF8^}{ql~vxjB_Yq$R{X_MtHrl3 zSXfp^@<{iWd-YFt=1OAJI>Q;Fm^E*f&bV=JS09tOU#@H1_^q5Hk-!%>KCavnNbIci z;SB`^#py`x6-?#@5VF6}>v}94NaRymS~^vMjD`^$9{z32go=%=q(0O-oi1;x(%$-H zM{{y=QdB~ssk^(ogpZ$pM&1V<14D1QCvIVR8JmFMt%SrqBri--s;5s;L_|cmY*sAf zb*~1b`QOXS4{snR2NHAdb+gaBR8&_}>;6F_D=ICWrr#THx15=n_(iSK?mZmt+FE`% zY$b0mckiO3i%ChPCMG8Kh4*PMcT7zo9{zi1=<_IvBGU<6dwY9&Ty$=`4KjZI+Sgfa zi<$1%R}%3&`040hQzfDrPIl*4NAoE{LPG2eCyERkRm`i0$S_GsNq;h~M8oR9w2I5g zoL5s*6EwpRN_wYzi}y>ct*o?G`%~^K`}zx0u(Gn=d(2!{lAW6RZ9T6xzH+-JCWJy{ zJcV~)eW^J-JiKM0J(PxyPP_gK3gVHH`b5>$NwVZ~ZvIp$HKSLn7%Y*rwPp1{z5n;> zd|SWC8>?gytN`%j@Gxy9yDlwh7Y5RE;R;n9P-|5AE?`F*auAip}sp}6F zvvL%_<_4zPiw4C1huA*ZX~bk|x9XVlRq-e0x_R=QYcFfIkx5TLB6SmVz7Xt z((}jn0Q=-aN8a()_cn&#Q|6*w^=GwVq@S8)#HHl9PRG0eGBiOKokRYR`SGUykf`L? zWRd5Sh+7b>tp+b2;^LwX%5BtMof*sLs_}# zY^z-(PrdpvECGvN*H7sLKAVlv5T=@wFQ@y<`)BKU?CD6X3T|$0C#R>ZiZz;zs8rJN zU6SlmP3iBGHsXKC%gYxSk1#@Z4@^p;5KhYPLt1SMp)i@LiMu>Mo`*M;R904gGfcPp zUoU_fzP^r5a8#5Jym)79ED9{9y1G}DAK54bQWlRkbf=w>3Goa`=Riv1iNPrs~I!M|RuO-Az8& zh6AYqYFGBtj`~Rxh;=%P<9Kgomb-b~&1)ekCZ;)2Vmj$|zG<`C-(14;>{(kbUfpg% zVc`wt$M*tAuJ?QSr7bO=7wY$xpoqM~GpIfqH@-*6=C4$!_uTc&#=ljL?>?%>rW=@j z>c@+Xqxjvgl%|3hzXmwdw$Wwtrty5oln=2=U;7?gH0RR6^V`dJ?;#O!9A{)jXi@dV zZ8IFd8^{1GY3OJuO?%}rQl8Fl{Qc(Pf&JX4){TGP3L_*g%D2y;!6^T?eyfx3-Te#z zhGZN!llpXy9n(56XGNzq`;W~i0L_KrECSM-U!1zhG*dys%FUMhbHzaIc)I^@QudYG z6Qp=P27`g!j(sIns~f6U_6nTF!bw<6OiWOM(=#)hRUypeAC5aS5p^A6Ea#VNTWL0RQ*cafZq&M#lP^&t*UGaR{%3e>Rh z@V!y(pnS-;T()b1Q0<@!qGIx$kU>Znr$9Z|9!!6)qpv?ucP~dQRI1%yp;w*; zE0RSYnx0BDUB+mCBg+cePSZ47AinY#CS5%SlNKg1yBPPGj zc#&aKYwP^_dS@%CyM&C)LnwYF3_IQJ?Q_%4+qzJqTn_p~zIu9w#K-r*Rja)lV}{rkc$kuz zx#qtug7*byG(_I9=X6jxdxLA|96k62M)FR(f7&X`Y!J{T4*>v4P_gj2eJ1J|?d6ZJ zjG%B-`r2BQlARoka_tf|K@!>aQ)R6}5RbTfzSEIq*BGlIHVXT;kAbAAB&){Nvgz6V zaxZ7n7&B)FE3VTUT~Vx`FDu#mUT{1NZSUI4Tlx)%>~uo>I#t(#62&o!Ugh8h%#~)J zIOUpF-eBjm&_tK+K}Qj_l7am&887k~9UUET@^z}pt2w)ihK6=_ye<9lBN?=Z^L|V< zvwb3@#p@&6i;K;0BFit2CJ=iLwc4MUdw7fH?;_N%FZv0t;ggf9uv6M2FQ9E~nk=_g zDlx$)bv?j>pOaKl5)P*h(FgTa+M7EaZHU3agkMKnUS95Ub-G++HWgh^@FL!6jRp$a zo8EZdP37loCZlzP=2e=6mAf5uc{@;F269x`aT$~a{csszuk_l2pU|sUMLrSu1_M-< zzxhys z3WQ1(#b!!iKWT|J-x}1~*B4T3JYuyRXaB-_NdkHxgGx)49C=(ObrW=DOlT4R{1R~7 zDqk+UzB&g-4+LaaJZ}v5cGZ3XzjSL$`NGoD-k5#@)`JHhM{e3k=;}U|<~!B#SVa8n z-rgV#VlHN#wg-B>@!i8YDy!qgbi~|t|C+AWR`$^zt^A#F<2+VHKAV+yP6sQWLkAX> zK5zc{h1}?cxeTp^&TQRhL=z@2WjbEOId5z&EQ|_^2#v_zF8=0tvG!PjE)kEzPVx;I z=AJQvsL-!SPe#Fr&+Jq{4QI$Ro+U0PmQXb5wET%T~whO8e^5q=fh^)mHxQ?Ew-ghT8^7JxzPdQQfL7vQduE2w6@tcb_A{EpX7NZQtMRbzK=GE&w9`66&DGgD zYRnWHu; z4NRsg!l3#gVvaD>CcARjx|df3n(g=R-)Af4--ITq`gq!yu(!Y3*&bq;E1W^4!du?J)tK`jX`5fiGR7pap+?zcbGc~SJ&$UsZW93_QRIYX7efsoiN$q`9eYtR$JPdl&9 z)bfjoiRu4n{dS*lG+!G{yTw1hdlDC*?uQSL00O!b-V#NEUO!SIRd2@q`U9kpt{C&0 z_W2 z{0$kv*^fCa$N*hJgO{(<{ykKRX%mWdmE%6at%6o-JG-TL=dHP|%I(yjKR*F@-UXx! zEkVMA$B)|}q)c*TF)%Q?BA?HHH^?db)1}8kA?!aptYW?humPYnA}>rkE)(rhO3WTcdkesSzGmgId$K{Z|+e@MDhdth7 z2j}R4NU^bMo5~(Y1uO&4nCO;j3)A*z#s)Tr<>bOc6GAmhCEppmq#DSRQ^8Zfyih42 zr>2X8I{o2CM7*6_R;@;xJ74r$^`0k0L~F|a#>U3*y3Su!*|*B8fXU(>(QxMlOvIJO zgUhHY3acB$ca}c2mzhaxWo_Nw*7iH=!IiqnbXAmoyyHLI%he7!4W<(-^M00WW)A{EcOI$v6ba_<`(EXjx zdSDW4x}ns@Bl|U9Nd{AwFv4W6unLipv2pLZBcM%f1b9Xqe~63a&HWxUkNS^@b$?u-lBcI+Uf5lyf_6;sxWG zhx6u=X>l`i{+CtPB-?t-IoMWEbB_&OLO=zMQ9=jF7Kv@>FVq6AC73S!09mq z5~tD@2M5QWi1Rx{swGeb>dCxS91tgnRfLCw-rzKO9`B8Sz#VjS3QkUZzhD%Ut8*l z>vZ0(ZUsL^8NdzcXvUW>A3@%R9J{GkGEw8ootv9mf}1otstC{;R4`AW; zaf=RMe4=W>IUiA-0tlM>Q^Zf9Btd`Nk8kR}v6xHkX5X#1uM4(1TKH6v-AkyL?7$02 zNlEEXRx>j*2e0Q=_8eVRZB129udJ}Rv+JCKRq;+8<$L%MD$l?0g*^rg_xo*`aZn8fg(ee6b?XQLE=Ht z-bB?A;ak6;e)pB?TV6wlCi%+rIwYcopeBh&-K6BCb3WQI+&P$-n23QU>O0&zI$Q6t z*;4mv3VR>OkphdkH&AyS$1tq;-dkC{xISs+7Zn$uhsK7Ig{81BqUGDyuYYpYxXsGu zP+NjXdtnLic^sJKd}6Lg+2dRhXf#W_uxRM?$eE~1pWj_dIR~|B6siJg|d%3 zH#cXqJxvUo1JKzGE3oWTxzdiIm-m9d8?p?JCn|h<-0{D#x&Q4J97O9d};-oA-b9aLS zeZ*GYfZmzEFi?w)HBjP~h=RSS+q^NBkD+n>QTf}&cz1ajbAqlP-|V>Nv35pIjLR?R z6LYK4uyMn@hm3f0E+%=ZfJmVfBEu7R8sOO4^QkJY^u=?3R+rU8rf84$2}eS zJoNzBTfkBW>mxz@*QdR9j@QE{QP`{_TYhQlIx}hKTa`i3IWg<^5Ro{{j;z|)Z;tDZ zL_2i>yb=Y51h8^fmjsF1i6+!LILz=t-pR@~dSg*IEQE;c92^vxD!|`OOQ(j(YTYi+ zEP*9uza7jNv9I}(fQFV<3+g3kv8t-7>Dk%InVG&fkWrbW%FEm5FH_^J6N4uEDOy z_wPGXMG_O0uZI{`9d{&2IIro!tL7|hY?cgOv&n@m@|?He+2ur=avfo?fpf-1LwXhIQ1Z~m@!L%MB(X!P0e=O7wz8TPwhGdF}{~J z_Xu9D6hw~EF){{1gLKM1zyX9`M-K4w7XTOZhBD<4bn(N7Z?>na39BAEK-r~y`ZOP4 z#9MK3aN(xdZ%^CRVnYKL?|P(E8PWP?Dl!kdbGW@7uKJ>i-E}l#ytue<06l>qhqAS` zb;3;=U~5xjqX%GJW`~_w;r+X})1AjBvJ{x$1T|e>o@K_Jd%VWZ(lBjEKO*6#I^@-!aXh*tN-Vk>X zYlN{7d-`E2PCIUOVy^!jBL@ay*94c_8V4d&t`6?C2$MWKJwbV~1ou*#Uq&IH+smlP zO8Wh@AlIJ2dOU6++^MgwBDgm^^dtOHKkbXp-lKNv zF1EQ+32y9oULDnjYToO2U#jOivt*r|tiQonjCTtj z*~96(fr5-r*0iXB!m~! z<;n+G4u*lHMpE@5X{GK{*)|dNii+hgpZzC_Y6&A#3UP!yniG^O4*Px=y|{RGHQMr|A_zpJs3P% z{Qpxw{_hF@_X!Zs|Nr%iqL_{_RHaI?&jZJ!jd-dqy(Kq52Nyx8)Pg;K9MOZ}%^RcD zt_)FVGT^y@>v4kr>opAW)e*GCR8>DAtE{w4vG?Qbk{R zVCY;D|1$4yg9}FLR$^*}@2A<@Hw6+mhVgJ0-l@y`dqt3@G>f!z1b;~iMTdy7u(LD{ z?r9&x@#qsho8E*9LOwq}KesqCYi*pFB|1|Y_dSsUE~9vWHGmsBHb*2b{O@5HZ6!&_ zh~J9q9S;vRm8`xk(?5t2?=x@Q!h{&S7A zHS7Gdz_IIo0~T~+x+XjcWz1%i<(2|_ukgU;bji2v>*G6|N`^%3om#y;hsj%GZ{8U^ zn(Gq-dH`qIbrGwh^X)Sl+Sx3W?ce6hs9b8#k-W~xXiT@+Qu$dPDzHmmnb&heuU=w$ z@)_DC@NJf&sp%^MOluLmLu$}91)7XK zq~GrF!5Q~O;`1$s{;iSvR4BX_L#vIjUqIAr_6j1G%hg;PsX@7a&<5zBTMn%CFcy+H% zKYvYAC;KOeD0Rm(Ha=(jhuG>GS|dYS?$=TEC#%;_DXUna3#i)Pqj2F`R~omihF2!K zLw`X7C+^bmwcip!-t=;jP zu6}d}n1PcLI?auVY9Gn0+Lq=ak1O^`ul5gkjm6u;2^dpng=Wn%U^u*VLZZUHM4btU zFh@cHx7o$qxAW1;bv%rX8O>vSg@bCJ;GJP4cxMswYztZ&XKYW+LI9G<)DG`cPZU-6 z^+paZPM}2pZu}L#{&ienKEkAvoEB_rzyu-h9a>0NeQlA&uwBMBCAv16wt83Qzr#|t z&(>|f9FM#@X-x)Q_5ulC-8VV73lB4X*<&?mcUIQ?A=X50-zFr8cCI4K+D{L7sxLQ( zJ%yVJ^_QJ|(a}w&rX;8e8CE!{(&g?Ivknn;^P7}joaEXdL9AI=9{wa_$NmJ(cY1Ed z->@{1m!o+d9ae9B?=nYs!7uv+?;nk)_SZ1Ne<-w6&ztt1>tFm>(Qs`u`Py0@l0ig) zo2;$3dltN^`TEOep{Sy*%HOkb(dDy-%+zvHaMvn_#~AW*^3Nw^RM0>585F3f%gUN2 z^cdA^Wi)@hD1OpCQTmiZMAFb^1|FS;fu>34g{+EfK(p4|iS%zpBf=>}eGwFl_M*ZJ z&ZO^&kX5^6;Kl}iI3!^IFg7M$cmBLx<)S>=KQj0s zv_zlIhuCQ%JY{nXUQ>h)FY&W;+@3f@A5nFW*xdFnn))FBV@xj{-A`fx+ES3@;BCZz zR<3mQQy=0EeKW^(7u}je1_R(t+xquwVilPGX7)w*|14+++nK90X3d+=$25~7It<#5 zx6c^6^e;P@PIj}T0VsjJPyq>CtQp0F-{W9xWA{CP--i!zMPN&TIRr~?6#R0{{K0}V zFHe(eT~6Nf`>mxyzo+!wu4|&1P&g!^{7j7o&HM+JglyG+#WZm^%a)7oWh}){UbLA->Iv=(J^tpI%t|Pomy8e z-F$7Lg{MwpkFHlpG3~~Hf7V)SwOCwg*(x9#bv~`bmUBe_KLR6Vd#S@%WXFqetB@b5 z5c%@kWTT(-w0ET!CS+l7IM&BuN}KLjjSz0Te2-!ZY=BeOkW|jW#kK$E#2#FUXmyY{ zyyD}V&+~X&PSEnGz(owtba$^{XV2_)o?9azmZIDD=BHcL7d=Ku^gGYCEv)Pip3PkF zsdiSF$5e^_^T#hVFhfJv@G61oW3gge&sz!>Ue7O8^j#Q%Kwgl&$QAI&wa=hY8LinB zfvwSEeta9;nE-EZ{N~qXaV{CDe#XW_<&!L>Fowd5XzIpg*`FUyky_Z#;U31V`|9*yyM#XxHTy5bJn9W7nJInig41PF1N@Dp zbyUxVM}(SfIaU>aVi)_qO&+?VwnhNv*4M8rn#@z7`qksOn)B$Yw^Ai=w6rqq{FwOX zfNV?2YHuY|vk2%iLNu1pTC(+=znobPg{tlzcY>AMSdC4CgoH#XCiwb;S$vwr@y>}o rp~M#1e_vd+{{r>DJI9kb&)liKyajJ1vc7|_M-mf~63l(`@yq`O(SqW? diff --git a/kite_4p.png b/kite_4p.png index be39c662c692618439a3dc83d6285c37a3556206..2b80f7e108fe892e2cb6f87df7e31e05a29d78bf 100644 GIT binary patch literal 84228 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 A(*OVf literal 91623 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

_CPWS@z@y6KwsIKqTIzNEzRm;X8 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 Date: Thu, 14 Mar 2024 18:14:03 +0100 Subject: [PATCH 32/32] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 012cc0f..9fc0a25 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ any statement `using KiteViewers` in the examples with `using KiteSimulators`. ## Installation Download and install [Julia 1.9](http://www.julialang.org) or later, if you haven't already. -Make sure you have the package `TestEnv` in your global environment. If you are not sure, run: +Make sure you have the package `TestEnv` in your global environment if you want to run the examples. If you are not sure, run: ```bash julia -e 'using Pkg; Pkg.add("TestEnv")' ```