From 0bb0049f02f5d88d05f497358b0c42e38eabd70c Mon Sep 17 00:00:00 2001 From: leduc Date: Tue, 6 Aug 2019 03:08:54 +0200 Subject: [PATCH] More plugins, more doc,... --- LJ.conf | 82 +- README.md | 128 +- clients/lj.py | 99 +- clients/ljremote.py | 44 - libs/.DS_Store | Bin 0 -> 8196 bytes libs/LPD8.py | 289 +++ libs/OSC3.py | 2873 +++++++++++++++++++++++++ libs/__init__.py | 0 libs/__init__.pyc | Bin 0 -> 129 bytes libs/artnet.py | 364 ++++ libs/audio.py | 292 +++ libs/bhoreal.py | 271 +++ libs/bhoreal.pyc | Bin 0 -> 5728 bytes libs/bhorunicornhat.py | 164 ++ cli.py => libs/cli.py | 0 libs/cli.pyc | Bin 0 -> 3170 bytes commands.py => libs/commands.py | 89 +- libs/commands.pyc | Bin 0 -> 11301 bytes font1.py => libs/font1.py | 0 libs/font1.pyc | Bin 0 -> 8361 bytes gstt.py => libs/gstt.py | 4 +- libs/gstt.pyc | Bin 0 -> 2197 bytes homographyp.py => libs/homographyp.py | 0 libs/homographyp.pyc | Bin 0 -> 7284 bytes libs/launchpad.py | 883 ++++++++ libs/launchpad.pyc | Bin 0 -> 8314 bytes {plugins => libs}/lj.py | 55 +- libs/lj23.py | 892 ++++++++ libs/lj23layers.py | 890 ++++++++ {plugins/VJing => libs}/lj3.py | 46 +- libs/maxwell.json | 669 ++++++ libs/midi.py | 452 ++++ libs/midi.pyc | Bin 0 -> 10407 bytes libs/midi3.py | 760 +++++++ plugins.py => libs/plugins.py | 53 +- libs/plugins.pyc | Bin 0 -> 4241 bytes libs/scrolldisp.py | 803 +++++++ settings.py => libs/settings.py | 0 libs/settings.pyc | Bin 0 -> 2760 bytes tracer.py => libs/tracer.py | 0 libs/tracer.pyc | Bin 0 -> 13286 bytes main.py | 264 +-- plugins/VJing/bank0.py | 1098 +++++----- plugins/VJing/idiotia.py | 371 +++- plugins/games/ljpong/entities.py | 3 +- plugins/games/ljpong/lj.py | 322 --- plugins/games/ljpong/main.py | 23 +- plugins/laserglyph.py | 167 +- plugins/livewords.py | 42 +- plugins/livewords3.py | 241 +++ plugins/lj3.py | 645 ------ plugins/maxwell.py | 1035 +++++++++ plugins/planetarium/lj3.py | 347 --- plugins/planetarium/main.py | 59 +- plugins/pysimu.py | 133 +- plugins/square.py | 331 +++ plugins/textcycl.py | 55 +- visualiser-linux-nomsaa | Bin 6578408 -> 5074016 bytes visualiserdarwin | Bin 9666744 -> 0 bytes webui/LJ.js | 1 + webui/LJgrid.css | 44 +- webui/blocks/ai.html | 42 + webui/blocks/align.html | 258 +++ webui/blocks/bank0.html | 32 + webui/blocks/footer.html | 257 +++ webui/blocks/head.html | 46 + webui/blocks/lissa.html | 42 + webui/blocks/live.html | 101 + webui/blocks/menu.html | 67 + webui/blocks/nozoids.html | 176 ++ webui/blocks/planetarium.html | 77 + webui/blocks/plugins.html | 277 +++ webui/blocks/pose.html | 69 + webui/blocks/run.html | 80 + webui/blocks/simuheader.html | 14 + webui/blocks/title.html | 151 ++ webui/blocks/words.html | 86 + webui/build.py | 39 + webui/index.html | 675 ++++-- webui/knobs/artnet.png | Bin 0 -> 4529 bytes webui/knobs/audiogen.png | Bin 0 -> 4783 bytes webui/knobs/blank.png | Bin 0 -> 3460 bytes webui/knobs/close.svg | 37 + webui/knobs/fft.png | Bin 0 -> 4068 bytes webui/knobs/group0.png | Bin 0 -> 4648 bytes webui/knobs/group1.png | Bin 0 -> 4654 bytes webui/knobs/group2.png | Bin 0 -> 4724 bytes webui/knobs/group3.png | Bin 0 -> 4702 bytes webui/knobs/laser0.png | Bin 0 -> 4607 bytes webui/knobs/laser1.png | Bin 0 -> 4474 bytes webui/knobs/laser2.png | Bin 0 -> 4615 bytes webui/knobs/laser3.png | Bin 0 -> 4611 bytes webui/knobs/{mmo3.png => m3.png} | Bin webui/knobs/maxw.png | Bin 0 -> 4755 bytes webui/knobs/midigen.png | Bin 0 -> 4735 bytes webui/knobs/{ocs2.png => o2.png} | Bin webui/knobs/onoff3.png | Bin 0 -> 14286 bytes webui/knobs/play.png | Bin 0 -> 3774 bytes webui/knobs/scene0.png | Bin 0 -> 4651 bytes webui/knobs/scene1.png | Bin 0 -> 4575 bytes webui/knobs/scene2.png | Bin 0 -> 4623 bytes webui/knobs/scene3.png | Bin 0 -> 4627 bytes webui/knobs/square.png | Bin 0 -> 4674 bytes webui/knobs/stop.png | Bin 0 -> 3667 bytes webui/knobs/viewgen.png | Bin 0 -> 4833 bytes 105 files changed, 15152 insertions(+), 2757 deletions(-) delete mode 100644 clients/ljremote.py create mode 100644 libs/.DS_Store create mode 100644 libs/LPD8.py create mode 100755 libs/OSC3.py create mode 100644 libs/__init__.py create mode 100644 libs/__init__.pyc create mode 100644 libs/artnet.py create mode 100755 libs/audio.py create mode 100644 libs/bhoreal.py create mode 100644 libs/bhoreal.pyc create mode 100644 libs/bhorunicornhat.py rename cli.py => libs/cli.py (100%) create mode 100644 libs/cli.pyc rename commands.py => libs/commands.py (80%) create mode 100644 libs/commands.pyc rename font1.py => libs/font1.py (100%) create mode 100644 libs/font1.pyc rename gstt.py => libs/gstt.py (98%) create mode 100644 libs/gstt.pyc rename homographyp.py => libs/homographyp.py (100%) create mode 100644 libs/homographyp.pyc create mode 100644 libs/launchpad.py create mode 100644 libs/launchpad.pyc rename {plugins => libs}/lj.py (90%) create mode 100644 libs/lj23.py create mode 100644 libs/lj23layers.py rename {plugins/VJing => libs}/lj3.py (94%) create mode 100644 libs/maxwell.json create mode 100644 libs/midi.py create mode 100644 libs/midi.pyc create mode 100644 libs/midi3.py rename plugins.py => libs/plugins.py (77%) create mode 100644 libs/plugins.pyc create mode 100644 libs/scrolldisp.py rename settings.py => libs/settings.py (100%) create mode 100644 libs/settings.pyc rename tracer.py => libs/tracer.py (100%) create mode 100644 libs/tracer.pyc delete mode 100644 plugins/games/ljpong/lj.py create mode 100644 plugins/livewords3.py delete mode 100644 plugins/lj3.py create mode 100644 plugins/maxwell.py delete mode 100644 plugins/planetarium/lj3.py create mode 100644 plugins/square.py delete mode 100755 visualiserdarwin create mode 100644 webui/blocks/ai.html create mode 100644 webui/blocks/align.html create mode 100644 webui/blocks/bank0.html create mode 100644 webui/blocks/footer.html create mode 100644 webui/blocks/head.html create mode 100644 webui/blocks/lissa.html create mode 100644 webui/blocks/live.html create mode 100644 webui/blocks/menu.html create mode 100644 webui/blocks/nozoids.html create mode 100644 webui/blocks/planetarium.html create mode 100644 webui/blocks/plugins.html create mode 100644 webui/blocks/pose.html create mode 100644 webui/blocks/run.html create mode 100644 webui/blocks/simuheader.html create mode 100644 webui/blocks/title.html create mode 100644 webui/blocks/words.html create mode 100644 webui/build.py create mode 100644 webui/knobs/artnet.png create mode 100644 webui/knobs/audiogen.png create mode 100644 webui/knobs/blank.png create mode 100755 webui/knobs/close.svg create mode 100644 webui/knobs/fft.png create mode 100644 webui/knobs/group0.png create mode 100644 webui/knobs/group1.png create mode 100644 webui/knobs/group2.png create mode 100644 webui/knobs/group3.png create mode 100644 webui/knobs/laser0.png create mode 100644 webui/knobs/laser1.png create mode 100644 webui/knobs/laser2.png create mode 100644 webui/knobs/laser3.png rename webui/knobs/{mmo3.png => m3.png} (100%) create mode 100644 webui/knobs/maxw.png create mode 100644 webui/knobs/midigen.png rename webui/knobs/{ocs2.png => o2.png} (100%) create mode 100644 webui/knobs/onoff3.png create mode 100644 webui/knobs/play.png create mode 100644 webui/knobs/scene0.png create mode 100644 webui/knobs/scene1.png create mode 100644 webui/knobs/scene2.png create mode 100644 webui/knobs/scene3.png create mode 100644 webui/knobs/square.png create mode 100644 webui/knobs/stop.png create mode 100644 webui/knobs/viewgen.png diff --git a/LJ.conf b/LJ.conf index e5cf99e..95552a8 100644 --- a/LJ.conf +++ b/LJ.conf @@ -7,16 +7,16 @@ bhoroscip = 127.0.0.1 [laser0] color = -1 -ip = 127.0.0.1 +ip = 192.168.1.4 kpps = 25000 -centerx = -1610 -centery = 0 -zoomx = 26.0 -zoomy = 38.0 +centerx = -10485 +centery = -1985 +zoomx = 12.0 +zoomy = 7.0 sizex = 31450 sizey = 32000 finangle = 0.0 -swapx = 1 +swapx = -1 swapy = -1 lsteps = [ (1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] warpdest = [[-1500., 1500.], @@ -28,10 +28,10 @@ warpdest = [[-1500., 1500.], color = -1 ip = 192.168.1.3 kpps = 25000 -centerx = 506 -centery = 413 -zoomx = 30.0 -zoomy = 30.0 +centerx = 1554 +centery = 3573 +zoomx = 42.0 +zoomy = 40.0 sizex = 32000 sizey = 32000 finangle = 0.0 @@ -45,32 +45,13 @@ warpdest = [[-1500., 1500.], [laser2] color = -1 -ip = 192.168.1.6 -kpps = 25000 -centerx = 0 -centery = 0 -zoomx = 47.8 -zoomy = 39.3 -sizex = 30600 -sizey = 32000 -finangle = -0.008 -swapx = 1 -swapy = 1 -lsteps = [(1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] -warpdest = [[-1500., 1500.], - [ 1500., 1500.], - [ 1500.,-1500.], - [-1500.,-1500.]] - -[laser3] -color = -1 ip = 192.168.1.5 kpps = 25000 -centerx = -12 -centery = 0 -zoomx = 38.0 -zoomy = 26.0 -sizex = 32000 +centerx = -31084 +centery = -4837 +zoomx = 37.8 +zoomy = 13.3 +sizex = 30600 sizey = 32000 finangle = 0.0 swapx = -1 @@ -81,17 +62,42 @@ warpdest = [[-1500., 1500.], [ 1500.,-1500.], [-1500.,-1500.]] +[laser3] +color = -1 +ip = 192.168.1.6 +kpps = 25000 +centerx = -15930 +centery = -4434 +zoomx = 36.0 +zoomy = 54.0 +sizex = 32000 +sizey = 32000 +finangle = 0.0 +swapx = 1 +swapy = 1 +lsteps = [(1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] +warpdest = [[-1500., 1500.], + [ 1500., 1500.], + [ 1500.,-1500.], + [-1500.,-1500.]] + [plugins] plugins = { - "nozoid": {"OSC": 8003, "command": ""}, + "nozoid": {"OSC": 8003, "command": "python3 plugins/audio/nozoids3.py"}, "glyph": {"OSC": 8004, "command": "python3 plugins/laserglyph.py"}, "planet": {"OSC": 8005, "command": "python3 plugins/planetarium/main.py"}, - "words": {"OSC": 8006, "command": "python3 plugins/livewords.py"}, + "words": {"OSC": 8006, "command": "python3 plugins/livewords3.py"}, "cycl": {"OSC": 8007, "command": "python3 plugins/textcycl.py"}, "simu": {"OSC": 8008, "command": "python plugins/pysimu.py"}, + "artnet": {"OSC": 8009, "command": "python3 libs/artnet.py"}, "bank0": {"OSC": 8010, "command": "python3 plugins/VJing/bank0.py"}, - "pose": {"OSC": 8011, "command": "python3 plugins/VJing/idiotia.py"}, + "pose": {"OSC": 8011, "command": "python plugins/VJing/idiotia.py"}, + "maxw": {"OSC": 8012, "command": "python3 plugins/maxwell.py"}, + "square": {"OSC": 8013, "command": "python3 plugins/square.py"}, "ljpong": {"OSC": 8020, "command": "python plugins/games/ljpong/main.py"}, - "ljwars": {"OSC": 8021, "command": "python plugins/games/ljsw/main.py"} + "ljwars": {"OSC": 8021, "command": "python plugins/games/ljsw/main.py"}, + "audiogen": {"OSC": 8030, "command": "python3 plugins/audio/audiogen.py"}, + "midigen": {"OSC": 8031, "command": "python3 plugins/audio/midigen.py"}, + "viewgen": {"OSC": 8032, "command": "python3 plugins/audio/viewgen.py"} } diff --git a/README.md b/README.md index 1a23d4d..3897eee 100644 --- a/README.md +++ b/README.md @@ -13,20 +13,30 @@ A software laser server with GUI for up to 4 lasers live actions. Think creative LJ has 5 main components : +- "Plugins" are points generators (to one or more lasers). Lot examples comes with LJ : planetarium, 3D anaglyph animations,... See plugins directory. - A "tracer" per etherdream/laser that take its given point list, correct geometry, recompute in laser controller coordinates, send it to its controller and report its status to the "manager". -- A "manager" that talk to all tracers (which client number point lists to draw, new geometry correction,...), handle the webui functions, OSC commands,... -- To share the lasers between people/computers, LJ accept up to 4 virtual "clients" that can simultaneously send one point list per laser. You select in WebUI wich "client" should be used by tracers. +- A "manager" that talk to all tracers (which client number point lists to draw, new geometry correction,...), handle IOs (webui functions, OSC commands,...) and plugins. - A web GUI in html, css, and vanilla js. No html server or js framework here : it's complex enough. This GUI has a (currently slow) simulator, but one can used a builtin python simulator (pysimu) or an etherdream/laser emulator (from nannou) to work without physical lasers !! -- A network available database (redis). "Clients" send directly their pointlists to redis and each "tracer" is instructed to get a given pointlist in redis. +- A network available database (redis). "Plugins" send directly their pointlists to redis and each "tracer" is instructed to get one of the avalaible pointlist in redis. See details right below... -4 clients can send 4 pointlists so up to 16 pointlists can be accessed at anytime from anywhere in the network. The server/network/webUI idea allows to share cpu intensive tasks and especially give tracers enough cpu to draw smoothly. Of course all this can happen in one computer. There is no real limits : 4 everything is tested and works smoothly if *you have enough cpu/computers/network ressources*. +More details : -It's obviously overkill for one laser in a garage, but for several laserS game events, laserS art, laserS competition, laserS planetarium,... LJ will handle the complexity. Content providers like artists, demomakers,... just need to send points. +LJ server accept up to 4 groups = virtual "scenes" of 4 "pointlists" so up to 16 pointlists can be sent to redis at anytime from anywhere in the network. You select in WebUI (Simu/plugins matrix) wich "scene" should be used by tracers/lasers. The all point is to easily share actual lasers. Imagine in demo party : -Needs at least : an etherdream DAC connected to an ILDA laser, RJ 45 IP network (gigabits only !! no wifi, 100 mpbs doesn't work well with several lasers) +Erica needs 4 lasers, that's the 4 pointlists of a "scene". +Paula and Jennifer use only 2 lasers each, so they can share a "scene". +And so on.. -LJ is tested with Firefox, supports Linux and OS X. Windows is unkown but welcome, if someone want to jump in and care about it. +The server/network/webUI idea allows to spread cpu intensive tasks on different cpu cores and especially give tracers enough cpu to feed etherdreams DACs smoothly. Of course all this can happen in one computer. There is no real limits : 4 everything is tested and works smoothly if *you have enough cpu/computers/network ressources*. + +It's obviously overkill for one laser in a garage, but for several laserS games events, laserS art, laserS competition, laserS planetarium,... LJ will handle the complexity. Content providers like artists, demomakers,... just need create plugin in whatever langage, send the points to redis. Then use the webui to select the "scene". + +Registering the plugin in LJ.conf is absolutely not mandatory. + +Needs at least : an etherdream DAC connected to an ILDA laser, RJ 45 IP network (gigabits only !! wifi and wired 100 mpbs doesn't work well with several lasers). Seriously : if you experience frame drops you need to upgrade your network. + +LJ is tested with Firefox, supports Linux and OS X. Windows is unkown but welcome, if someone want to jump in. LJ is in dev : versions in this repository will always be core functionnal : accept and draw pointlists. New features can be not fully implemented, wait for the next commit. Any feedback is welcome at any time. @@ -38,14 +48,19 @@ LJ is in dev : versions in this repository will always be core functionnal : acc (Doc in progress) -- Laser alignment like in laser mapping. +- Laser alignment like in videomapping. - OSC and websocket commands. Very cool : LJ can script or be scripted. - Web ui : In your browser open webui/index.html. Javascript is needed. By default it connect to localhost. If you want to control a remote server, you need to change the uri line in LJ.js. - Status update every 0.5 seconds : every etherdream DAC state, number of buffer points sent,... - "Optimisation" points automatically added, can be changed live for glitch art. Search "resampler" commands. - A compiled version for os x and linux of nannou.org etherdream+laser emulator is included. For more informations, like license see https://github.com/nannou-org/ether-dream - Some fancy examples are available : 3D anaglyph, Laser Pong,... - +- Midi and audio reactive, look midigen.py and fft3.py +- Openpose skeletons animations laser player. +- Resolume OSC client. +- Another project (bhorpad) has been merged in LJ : so if you a led matrix, like Launchpad mini or bhoreal, plug it you may define, launch macros as pushing on one led or use them to display informations. +- Artnet plugin. +- Maxwell laser synth emulation plugin. @@ -82,18 +97,18 @@ There is a nice websocket debug tool : websocat. Correct launch order is : -- Dac/Laser (emulator or IRL) -- Redis server once. +- Switch on Dac/Laser (emulator or IRL) +- Redis server once : i.e redis-server & - This server. see below. - Load/reload webUI page from disk in a browser (webui/index.html). Javascript must be enabled. -- Run a plugin, see in clients/plugins folder for examples. +- Run a builtin plugin or your generator, to send pointlists in redis. See in clients/plugins folder for examples. -A typical server start is python main.py -L numberoflasers. +A typical LJ server start is python main.py -L numberoflasers. Use also -h to display all possible arguments, like -v for debug informations. -CASE 1 : the laser server computer is the same that the computer running a client : +CASE 1 : the laser server computer is the same that the computer running a generator/plugin : 1/ Run LJ @@ -119,11 +134,13 @@ edit /etc/redis/redis.conf 2/ Launch LJ with -r argument : python main.py -r 192.168.1.13 -L 1 -3/ run a client/plugin on client computer, like : +3/ If the webUI is launched on "client" computer, update uri line in LJ.js + +4/ run a client/plugin on client computer, like : node nodeclient.js -4/ to monitor redis server use redis-manager/medis/... or : +5/ to monitor redis server use redis-manager/medis/... or : redis-cli -h redisserverIP monitor @@ -140,21 +157,86 @@ A "plugin" is a software that send any number of pointlist(s). LJ comes with dif - Planetarium : A 4 lasers planetarium. - pySimu : A full speed laser simulator (pygame, python 2.7) - LaserPong : Our laser Pong is back ! (python 2.7) - +- Pose : Display json openpose skeleton animations ans starfields +- fft3 : Example how to make LJ audio reactive +- maxwell : A laser synth inspired by bluefang great work. # -# Program your own "plugin" +# Client Side : Program your own "plugin" # -The server approach is based on redis, so you write and run your laser client software in any redis capable programming langage (50+ : https://redis.io/clients). If you want some interaction with GUI, like in text status area, you also need OSC. +The server approach is based on redis, so you write and run your laser client software in any redis capable programming langage (50+ : https://redis.io/clients). An external program that just send pointlists is a "client". If you want some interactions from the webUI, like text status area support, crash detection, launch,... it's a "plugin" and some default code is needed see square.py as example and : - Read all this readme ;-) -- There is a client and plugin folders with examples in different languages. If you want to do game especially with pygame, see ljpong in plugins/games directory. +- There is a client and plugin folders with examples in different languages. If you want to do game, especially with pygame, see ljpong in plugins/games directory. - Generate at least one point list array (say a square) with *enough points*, one point is likely to fail for buffering reason. -- Feed your point list array in string format to redis server. i.e use "/pl/0/1" redis key to feed client 0, pointlist 1. +- Feed your point list array in string format to redis server. i.e use "/pl/0/1" redis key to feed scene 0, pointlist 1. - Tell LJ.conf your plugin configuration : OSC port and command line to start it. -- lj3.py (python 3) and lj.py (python 2.7) have many very useful functions to not reinvent the wheel. Maybe it's better to symlink them in your directory than having a separated copy, to get future enhancements transparently. + +Currently the WebUI (webui/index.html) is static so it has to be modified 'manually' and build : run python build.py in webui directory. + + +# +# Client side dope mode : How to use lj23 +# + +lj23 have many very useful functions to not reinvent the wheel for advanced point generation "client" side : layers, built in rotations,.. + + +4 Great TRICKS with lj23. +First open square.py and learn how to declare different objects. square.py is a 2D shape example in 3D rotation (red/green anaglyph rendering) that use 2 layers : one left eye and one for right eye. + + +1/ How to have another laser drawing the same thing ? + +That's a destination problem : just add another destination ! + +Dest1 = lj.DestObject('1', 1, True, 0 , 1, 1) # Dest1 will also send layer 0 points to scene 1, laser 1 + + + +2/ Different layers to different lasers ? + +Say because of too much points you want Left element drawn by scene 0, laser 0 and right element by scene 0, laser 1 + +First define a different object/layer for each drawn element : + +Leftsquare = lj.FixedObject('Leftsquare', True, 255, [], red, 255, 0, 0, 0 , True) # Left goes to layer 0 +Rightsquare = lj.FixedObject('Rightsquare', True, 255, [], green, 0, 255, 0, 1 , True) # Right goes to layer 1 + +Define 2 destinations : + +Dest0 = lj.DestObject('0', 0, True, 0 , 0, 0) # Dest0 will send layer 0 points to scene 0, laser 0 +Dest1 = lj.DestObject('1', 1, True, 1 , 0, 1) # Dest1 will send layer 1 points to scene 0, laser 1 + + + +3/ Different layers to one laser ? + +You should consider adding all your points to one layer, but same as 1/ it's a destination problem, just add another destination with the same scene/laser for this layer + +Dest1 = lj.DestObject('1', 1, True, 1 , 0, 0) # Dest1 will also send layer 1 points to scene 0, laser 0 + + + +4/ I want to animate/modify anything on the fly : I'm doing a game and suddenly my hero change color. + +It's a declared object problem : say Hero is a Fixed Object, you can directly change value of + +Hero.name, Hero.active, Hero.intensity, Hero.xy, Hero.color, Hero.red, Hero.green, Hero.blue, Hero.layer, Hero.closed + +For a character vanishing in one point use a relativeObject so you can decrease resize parameter,... +PNC.name, PNC.active, PNC.intensity, PNC.xy, PNC.color, PNC.red, PNC.green, PNC.blue, PNC.layer, PNC.closed, PNC.xpos, PNC.ypos, PNC.resize, PNC.rotx, PNC.roty, PNC.rotz + +Remember RelativeObject points 'objectname.xy' has to be around 0,0,0. The other properties let you change the actual position (xpos, ypos), resize,.. + + +Same for Dest0 if it's a destObject, properties are : +Dest0.name, Dest0.number, Dest0.active, Dest0.layer, Dest0.scene, Dest0.laser + + +DrawDests() will take care of all your declared drawn elements/"objects" and Destinations to generate a point list per scene/laser sent to redis. In client point of view a "pointlist" is the sum of all its declared "layers". # @@ -202,7 +284,7 @@ By default LJ uses on 127.0.0.1 (localhost) : You need to update LJ.conf to your network/etherdreams IPs and be sure to check command arguments : python main.py --help -The need for a dedicated computer to act as "laser server" usually depends on how many lasers you want to control and your main computer load. If you seen flickering with small point lists, try the dedicated computer option and/or stop process interfering like redis monitoring,... +The need for a dedicated computer to act as "laser server" usually depends on how many lasers you want to control and your main computer load. If you seen flickering with small point lists, try the dedicated computer idea and/or stop process interfering like redis monitoring,... diff --git a/clients/lj.py b/clients/lj.py index d8505d4..57db353 100644 --- a/clients/lj.py +++ b/clients/lj.py @@ -1,17 +1,21 @@ # coding=UTF-8 ''' -LJ v0.8.1 -Some LJ functions useful for python clients (was framy.py) +LJ v0.8.2 +Some LJ functions useful for python 2.7 clients (was framy.py) +Functions and documentation here is low priority as python 2 support will stop soon. +Better code your plugin with python 3 and lj3.py. -Config(redisIP, client number) + +Config PolyLineOneColor rPolyLineOneColor - -Text(word, color, PL, xpos, ypos, resize, rotx, roty, rotz) : Display a word -Send(adress,message) : remote control. See commands.py -WebStatus(message) : display message on webui -DrawPL(point list number) : once you stacked all wanted elements, like 2 polylines, send them to lasers. +Text +SendLJ : remote control +LjClient : +LjPl : +DrawPL +WebStatus LICENCE : CC Sam Neurohack @@ -20,10 +24,11 @@ Sam Neurohack import math import redis -#from OSC import OSCServer, OSCClient, OSCMessage +from OSC import OSCServer, OSCClient, OSCMessage -redisIP = '127.0.0.1' -r = redis.StrictRedis(host=redisIP, port=6379, db=0) +print "Importing lj..." +#redisIP = '127.0.0.1' +#r = redis.StrictRedis(host=redisIP, port=6379, db=0) ClientNumber = 0 @@ -31,22 +36,14 @@ point_list = [] pl = [[],[],[],[]] -''' -LJIP = "127.0.0.1" -osclientlj = OSCClient() -oscmsg = OSCMessage() -osclientlj.connect((redisIP, 8002)) -''' - -''' -def Send(oscaddress,oscargs=''): +def SendLJ(oscaddress,oscargs=''): oscmsg = OSCMessage() oscmsg.setAddress(oscaddress) oscmsg.append(oscargs) - #print ("sending to bhorosc : ",oscmsg) + print ("sending OSC message : ",oscmsg) try: osclientlj.sendto(oscmsg, (redisIP, 8002)) oscmsg.clearData() @@ -54,11 +51,9 @@ def Send(oscaddress,oscargs=''): print ('Connection to LJ refused : died ?') pass #time.sleep(0.001 -''' def WebStatus(message): - Send("/status",message) - + SendLJ("/status", message) ASCII_GRAPHICS = [ @@ -162,6 +157,47 @@ def Config(redisIP,client): r = redis.StrictRedis(host=redisIP, port=6379, db=0) ClientNumber = client + #print "client configured",ClientNumber + + +def LjClient(client): + global ClientNumber + + ClientNumber = client + +def LjPl(pl): + global PL + + PL = pl + +# Properly close the system. Todo +def OSCstop(): + osc_terminate() + + +# Answer to LJ pings with /pong value +def OSCping(name): + SendLJ("/pong",name) + + + +# Closing plugin messages to LJ +def ClosePlugin(name): + WebStatus(name+" Exit") + SendLJ("/"+name+"/start",0) + + + + +# /quit +def OSCquit(name): + + WebStatus(name + " quit.") + print("Stopping OSC...") + + OSCstop() + sys.exit() + def LineTo(xy, c, PL): @@ -199,7 +235,7 @@ def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): y = xy[1] * resize z = 0 - rad = rotx * math.pi / 180 + rad = math.radians(rotx) cosaX = math.cos(rad) sinaX = math.sin(rad) @@ -207,7 +243,7 @@ def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): y = y2 * cosaX - z * sinaX z = y2 * sinaX + z * cosaX - rad = roty * math.pi / 180 + rad = math.radians(roty) cosaY = math.cos(rad) sinaY = math.sin(rad) @@ -215,7 +251,7 @@ def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): z = z2 * cosaY - x * sinaY x = z2 * sinaY + x * cosaY - rad = rotz * math.pi / 180 + rad = math.radians(rotz) cosZ = math.cos(rad) sinZ = math.sin(rad) @@ -250,12 +286,14 @@ def rPolyLineOneColor(xy_list, c, PL , closed, xpos = 0, ypos =0, resize =0.7, r def LinesPL(PL): - print ("Stupido !! your code is to old : use DrawPL() instead of LinesPL()") + print "Stupido !! your code is to old : use DrawPL() instead of LinesPL()" DrawPL(PL) + def DrawPL(PL): #print '/pl/0/'+str(PL), str(pl[PL]) if r.set('/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL]) pl[PL] = [] return True else: @@ -294,12 +332,11 @@ def Text(message,c, PL, xpos, ypos, resize, rotx, roty, rotz): #print "" # texte centre en x automatiquement selon le nombre de lettres l x_offset = 26 * (- (0.9*l) + 3*i) - #print i,x_offset + # Digits if ord(ch)<58: char_pl_list = ASCII_GRAPHICS[ord(ch) - 48] else: char_pl_list = ASCII_GRAPHICS[ord(ch) - 46] - char_draw = [] #dots.append((char_pl_list[0][0] + x_offset,char_pl_list[0][1],0)) @@ -312,4 +349,4 @@ def Text(message,c, PL, xpos, ypos, resize, rotx, roty, rotz): - + \ No newline at end of file diff --git a/clients/ljremote.py b/clients/ljremote.py deleted file mode 100644 index 6cf0905..0000000 --- a/clients/ljremote.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/python2.7 -# -*- coding: utf-8 -*- -# -*- mode: Python -*- -''' - -LJ Remote control via OSC in python - -This is different than sending pointlist to draw. See pyclient or laserglyph for that. -Say your client want to display some information on the weUI status field or remote control any other LJ functions. - -See commands.py for LJ functions list. -See Doctodo for all webUI elements. - -LJ OSC server is listening on port 8002, talk to it. - -''' -from OSC import OSCServer, OSCClient, OSCMessage - -LJIP = "127.0.0.1" - -osclientlj = OSCClient() -oscmsg = OSCMessage() -osclientlj.connect((LJIP, 8002)) - -def sendlj(oscaddress,oscargs=''): - - oscmsg = OSCMessage() - oscmsg.setAddress(oscaddress) - oscmsg.append(oscargs) - - #print ("sending to bhorosc : ",oscmsg) - try: - osclientlj.sendto(oscmsg, (LJIP, 8002)) - oscmsg.clearData() - except: - print ('Connection to LJ refused : died ?') - pass - #time.sleep(0.001) - -# display pouet in status display -sendlj("/status","pouet") - -# switch laser 0 ack led to green -sendlj("/lack/0", 1) \ No newline at end of file diff --git a/libs/.DS_Store b/libs/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2a920cd76a386a250c73cef0132bb14711f078ea GIT binary patch literal 8196 zcmeHLOKclO82*3fQF{}}I%$a0;MORKXi6I5rlARKQJgqxOB*%dBu>(RyY_CA73*Eg zyS7t8z^D=wgg`tGNIcX6e3(H>}RPZYR*=p+M ziRyF@;FySOhg@40mP2VwaeF`)itZHy1)Tg57EX4^wPj%i98kak-6x}aLqYy@!bNyE z;E=Fh=`r9ju$ck2ZR+T@o`M{lUUz>_rAu}$ZCGiF_${3?bld6eT|r+}bxrLSe?a0% z4mRGCSg=Y7M{x@Fu#!K)Te_;H-TJuVEUeZiEX%lDSJG3uR!YfRM=aA(bW_W(fzBm$ zQ?*LNR>4&5xr7)msjJRHN^Ty{Yej;NE2cK3+j?3zbmw${rlV~^~c21B8H z*^`ecwsSnEnKY|U-NzrKSv+=D8H15vMHTV`) zDr{iGF1j1om%O6vMw_HV|Bmcd>V?>vwl=%!i(OvA4U4u`JzO$E6I?5+THtbAC%{W2 z$<}RcQh1Uir7c#{vAjhHhDGm)gu}9*YlJmBI;rU+A^Z7QUAw}PT*c+eyrjgiT*HOQ znxsKVuIAEZ&4EGk)^dfi=D|D23u3#lcAzsX`2&ATbm!n5_<#%UEBG3|h40{J_?4tq zLo#c@RuWklx8u#&g|}cg?k1TH;O)2{58x;sBC*{`a+@HrP2&vClH4?$#|6|ej}8{G zgp2qvp20`(Q9O%J<1<` midi CC. + + +by Sam Neurohack +from /team/laser + + +""" + + +import time +import rtmidi +from rtmidi.midiutil import open_midiinput +from threading import Thread +from rtmidi.midiconstants import (CHANNEL_PRESSURE, CONTROLLER_CHANGE, NOTE_ON, NOTE_OFF, + PITCH_BEND, POLY_PRESSURE, PROGRAM_CHANGE) + +from mido import MidiFile +import mido +import sys +import midi3, launchpad +#import midimacros, maxwellmacros +import traceback + +from queue import Queue +#from libs import macros +import json, subprocess +from OSC3 import OSCServer, OSCClient, OSCMessage +import socket + +print('LPD8 startup...') +myHostName = socket.gethostname() +print("Name of the localhost is {}".format(myHostName)) +myIP = socket.gethostbyname(myHostName) +print("IP address of the localhost is {}".format(myIP)) + +myIP = "127.0.0.1" + +print('Used IP', myIP) +OSCinPort = 8080 +maxwellatorPort = 8090 + +LPD8queue = Queue() + +mode = "maxwell" +mididest = 'Session 1' + +midichannel = 1 +CChannel = 0 +CCvalue = 0 +Here = -1 + +ModeCallback = '' +computerIP = ['127.0.0.1','192.168.2.95','192.168.2.52','127.0.0.1', + '127.0.0.1','127.0.0.1','127.0.0.1','127.0.0.1'] +computer = 0 + + +# /cc cc number value +def cc(ccnumber, value, dest=mididest): + + midi3.MidiMsg([CONTROLLER_CHANGE+midichannel-1,ccnumber,value], dest) + +def NoteOn(note,velocity, dest=mididest): + midi3.NoteOn(note,velocity, mididest) + +def NoteOff(note, dest=mididest): + midi3.NoteOn(note, mididest) + + +def ComputerUpdate(comput): + global computer + + computer = comput + + + +# Client to export buttons actions from LPD8 or bhoreal + +def SendOSC(ip,port,oscaddress,oscargs=''): + + oscmsg = OSCMessage() + oscmsg.setAddress(oscaddress) + oscmsg.append(oscargs) + + osclient = OSCClient() + osclient.connect((ip, port)) + + print("sending OSC message : ", oscmsg, "to", ip, ":", port) + + try: + osclient.sendto(oscmsg, (ip, port)) + oscmsg.clearData() + return True + except: + print ('Connection to', ip, 'refused : died ?') + return False + + +# +# Events from LPD8 buttons +# + +# Process events coming from LPD8 in a separate thread. + +def MidinProcess(LPD8queue): + global computer + + + while True: + LPD8queue_get = LPD8queue.get + msg = LPD8queue_get() + #print (msg) + + # Note + if msg[0]==NOTE_ON: + + # note mode + ModeNote(msg[1], msg[2], mididest) + + ''' + # ModeOS + if msg[2] > 0: + ModeOS(msg[0]) + ''' + + + # Program Change button selected : change destination computer + if msg[0]==PROGRAM_CHANGE: + + print("Program change : ", str(msg[1])) + # Change destination computer mode + print("Destination computer",int(msg[1])) + computer = int(msg[1]) + + + # CC rotary -> midi CC. + if msg[0] == CONTROLLER_CHANGE: + + print("CC :", msg[1], msg[2]) + + if computer == 0 or computer == 1: + cc(int(msg[1]), int(msg[2])) + + else: + SendOSC(computerIP[computer-1], maxwellatorPort, '/cc', [int(msg[1]), int(msg[2])]) + +# +# Notes = midi notes +# + +def ModeNote(note, velocity, mididest): + + + print('computer',computer) + + # todo : decide whether its 0 or 1 !!! + if computer == 0 or computer == 1: + midi3.NoteOn(arg, velocity, mididest) + + + if velocity == 127: + pass + #print ('NoteON', BhorNoteXY(x,y),notename , "velocity", velocity ) + #Disp(notename) + else: + midi3.NoteOff(arg) + #print ('NoteOFF', BhorNoteXY(x,y),notename , "velocity", velocity ) + + + +# +# Notes = OS Macros +# + +def ModeOS(arg): + + + macroname = 'n'+arg + macronumber = findMacros(macroname,'OS') + if macronumber != -1: + + eval(macros['OS'][macronumber]["code"]) + else: + print("no Code yet") + + + +LPD8queue = Queue() + + +# LPD8 Mini call back : new msg forwarded to LPD8 queue +class LPD8AddQueue(object): + def __init__(self, port): + self.port = port + #print("LPD8AddQueue", self.port) + self._wallclock = time.time() + + def __call__(self, event, data=None): + message, deltatime = event + self._wallclock += deltatime + print() + print("[%s] @%0.6f %r" % (self.port, self._wallclock, message)) + LPD8queue.put(message) + +# +# Modes : +# + +# Load Matrix only macros (for the moment) in macros.json +def LoadMacros(): + global macros + + print() + print("Loading LPD8 Macros...") + f=open("macros.json","r") + s = f.read() + macros = json.loads(s) + print(len(macros['OS']),"Macros") + print("Loaded.") + + +# return macroname number for given type 'OS', 'Maxwell' +def findMacros(macroname,macrotype): + + #print("searching", macroname,'...') + position = -1 + for counter in range(len(macros[macrotype])): + #print (counter,macros[macrotype][counter]['name'],macros[macrotype][counter]['code']) + if macroname == macros[macrotype][counter]['name']: + #print(macroname, "is ", counter) + position = counter + return position + + + +# Not assigned buttons +def DefaultMacro(arg): + + print ("DefaultMacro", arg) + + + + +# +# Default macros +# + + +LPD8macros = { + + "n1": {"command": DefaultMacro, "default": 1}, + "n2": {"command": DefaultMacro, "default": 2}, + "n3": {"command": DefaultMacro, "default": 3}, + "n4": {"command": DefaultMacro, "default": 4}, + "n5": {"command": DefaultMacro, "default": 5}, + "n6": {"command": DefaultMacro, "default": 6}, + "n7": {"command": DefaultMacro, "default": 7}, + "n8": {"command": DefaultMacro, "default": 8} + } + + +def Run(macroname, macroargs=''): + + doit = LPD8macros[macroname]["command"] + if macroargs=='': + macroargs = LPD8macros[macroname]["default"] + #print("Running", doit, "with args", macroargs ) + doit(macroargs) + +LoadMacros() diff --git a/libs/OSC3.py b/libs/OSC3.py new file mode 100755 index 0000000..e4cc3bf --- /dev/null +++ b/libs/OSC3.py @@ -0,0 +1,2873 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +March 2015: + Python 3 version tested in Blender and simpleOSC with twisted + +This module contains an OpenSoundControl implementation (in Pure Python), based +(somewhat) on the good old 'SimpleOSC' implementation by Daniel Holth & Clinton +McChesney. + +This implementation is intended to still be 'simple' to the user, but much more +complete (with OSCServer & OSCClient classes) and much more powerful (the +OSCMultiClient supports subscriptions & message-filtering, OSCMessage & +OSCBundle are now proper container-types) + +=============================================================================== +OpenSoundControl +=============================================================================== + +OpenSoundControl is a network-protocol for sending (small) packets of addressed +data over network sockets. This OSC-implementation supports the classical +UDP/IP protocol for sending and receiving packets but provides as well support +for TCP/IP streaming, whereas the message size is prepended as int32 (big +endian) before each message/packet. + +OSC-packets come in two kinds: + + - OSC-messages consist of an 'address'-string (not to be confused with a + (host:port) network-address!), followed by a string of 'typetags' + associated with the message's arguments (ie. 'payload'), and finally the + arguments themselves, encoded in an OSC-specific way. The OSCMessage class + makes it easy to create & manipulate OSC-messages of this kind in a + 'pythonesque' way (that is, OSCMessage-objects behave a lot like lists) + + - OSC-bundles are a special type of OSC-message containing only + OSC-messages as 'payload'. Recursively. (meaning; an OSC-bundle could + contain other OSC-bundles, containing OSC-bundles etc.) + +OSC-bundles start with the special keyword '#bundle' and do not have an +OSC-address (but the OSC-messages a bundle contains will have OSC-addresses!). +Also, an OSC-bundle can have a timetag, essentially telling the receiving +server to 'hold' the bundle until the specified time. The OSCBundle class +allows easy cration & manipulation of OSC-bundles. + +For further information see also http://opensoundcontrol.org/spec-1_0 + +------------------------------------------------------------------------------- + +To send OSC-messages, you need an OSCClient, and to receive OSC-messages you +need an OSCServer. + +The OSCClient uses an 'AF_INET / SOCK_DGRAM' type socket (see the 'socket' +module) to send binary representations of OSC-messages to a remote host:port +address. + +The OSCServer listens on an 'AF_INET / SOCK_DGRAM' type socket bound to a local +port, and handles incoming requests. Either one-after-the-other (OSCServer) or +in a multi-threaded / multi-process fashion (ThreadingOSCServer/ +ForkingOSCServer). If the Server has a callback-function (a.k.a. handler) +registered to 'deal with' (i.e. handle) the received message's OSC-address, +that function is called, passing it the (decoded) message. + +The different OSCServers implemented here all support the (recursive) un- +bundling of OSC-bundles, and OSC-bundle timetags. + +In fact, this implementation supports: + + - OSC-messages with 'i' (int32), 'f' (float32), 'd' (double), 's' (string) and + 'b' (blob / binary data) types + - OSC-bundles, including timetag-support + - OSC-address patterns including '*', '?', '{,}' and '[]' wildcards. + +(please *do* read the OSC-spec! http://opensoundcontrol.org/spec-1_0 it +explains what these things mean.) + +In addition, the OSCMultiClient supports: + - Sending a specific OSC-message to multiple remote servers + - Remote server subscription / unsubscription (through OSC-messages, of course) + - Message-address filtering. + +------------------------------------------------------------------------------- +SimpleOSC: + Copyright (c) Daniel Holth & Clinton McChesney. +pyOSC: + Copyright (c) 2008-2010, Artem Baguinski et al., Stock, V2_Lab, Rotterdam, Netherlands. +Streaming support (OSC over TCP): + Copyright (c) 2010 Uli Franke , Weiss Engineering, Uster, Switzerland. + +------------------------------------------------------------------------------- +Changelog: +------------------------------------------------------------------------------- +v0.3.0 - 27 Dec. 2007 + Started out to extend the 'SimpleOSC' implementation (v0.2.3) by Daniel Holth & Clinton McChesney. + Rewrote OSCMessage + Added OSCBundle + +v0.3.1 - 3 Jan. 2008 + Added OSClient + Added OSCRequestHandler, loosely based on the original CallbackManager + Added OSCServer + Removed original CallbackManager + Adapted testing-script (the 'if __name__ == "__main__":' block at the end) to use new Server & Client + +v0.3.2 - 5 Jan. 2008 + Added 'container-type emulation' methods (getitem(), setitem(), __iter__() & friends) to OSCMessage + Added ThreadingOSCServer & ForkingOSCServer + - 6 Jan. 2008 + Added OSCMultiClient + Added command-line options to testing-script (try 'python OSC.py --help') + +v0.3.3 - 9 Jan. 2008 + Added OSC-timetag support to OSCBundle & OSCRequestHandler + Added ThreadingOSCRequestHandler + +v0.3.4 - 13 Jan. 2008 + Added message-filtering to OSCMultiClient + Added subscription-handler to OSCServer + Added support fon numpy/scipy int & float types. (these get converted to 'standard' 32-bit OSC ints / floats!) + Cleaned-up and added more Docstrings + +v0.3.5 - 14 aug. 2008 + Added OSCServer.reportErr(...) method + +v0.3.6 - 19 April 2010 + Added Streaming support (OSC over TCP) + Updated documentation + Moved pattern matching stuff into separate class (OSCAddressSpace) to + facilitate implementation of different server and client architectures. + Callbacks feature now a context (object oriented) but dynamic function + inspection keeps the code backward compatible + Moved testing code into separate testbench (testbench.py) + +----------------- +Original Comments +----------------- +> Open SoundControl for Python +> Copyright (C) 2002 Daniel Holth, Clinton McChesney +> +> This library is free software; you can redistribute it and/or modify it under +> the terms of the GNU Lesser General Public License as published by the Free +> Software Foundation; either version 2.1 of the License, or (at your option) any +> later version. +> +> This library is distributed in the hope that it will be useful, but WITHOUT ANY +> WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +> PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +> details. +> +> You should have received a copy of the GNU Lesser General Public License along +> with this library; if not, write to the Free Software Foundation, Inc., 59 +> Temple Place, Suite 330, Boston, MA 02111-1307 USA +> +> For questions regarding this module contact Daniel Holth +> or visit http://www.stetson.edu/~ProctoLogic/ +> +> Changelog: +> 15 Nov. 2001: +> Removed dependency on Python 2.0 features. +> - dwh +> 13 Feb. 2002: +> Added a generic callback handler. +> - dwh +""" + +import math, re, socket, select, string, struct, sys, threading, time, types, array, errno, inspect +from socketserver import UDPServer, DatagramRequestHandler, ForkingMixIn, ThreadingMixIn, StreamRequestHandler, TCPServer +from contextlib import closing + +global version +version = ("0.3","6", "$Rev: 6382 $"[6:-2]) + +global FloatTypes +FloatTypes = [float] + +global IntTypes +IntTypes = [int] + +global NTP_epoch +from calendar import timegm +NTP_epoch = timegm((1900,1,1,0,0,0)) # NTP time started in 1 Jan 1900 +del timegm + +global NTP_units_per_second +NTP_units_per_second = 0x100000000 # about 232 picoseconds + +## +# numpy/scipy support: +## + +try: + from numpy import typeDict + + for ftype in ['float32', 'float64', 'float128']: + try: + FloatTypes.append(typeDict[ftype]) + except KeyError: + pass + + for itype in ['int8', 'int16', 'int32', 'int64']: + try: + IntTypes.append(typeDict[itype]) + IntTypes.append(typeDict['u' + itype]) + except KeyError: + pass + + # thanks for those... + del typeDict, ftype, itype + +except ImportError: + pass + +###### +# +# OSCMessage classes +# +###### + +class OSCMessage(object): + """ Builds typetagged OSC messages. + + OSCMessage objects are container objects for building OSC-messages. + On the 'front' end, they behave much like list-objects, and on the 'back' end + they generate a binary representation of the message, which can be sent over a network socket. + OSC-messages consist of an 'address'-string (not to be confused with a (host, port) IP-address!), + followed by a string of 'typetags' associated with the message's arguments (ie. 'payload'), + and finally the arguments themselves, encoded in an OSC-specific way. + + On the Python end, OSCMessage are lists of arguments, prepended by the message's address. + The message contents can be manipulated much like a list: + >>> msg = OSCMessage("/my/osc/address") + >>> msg.append('something') + >>> msg.insert(0, 'something else') + >>> msg[1] = 'entirely' + >>> msg.extend([1,2,3.]) + >>> msg += [4, 5, 6.] + >>> del msg[3:6] + >>> msg.pop(-2) + 5 + >>> print msg + /my/osc/address ['something else', 'entirely', 1, 6.0] + + OSCMessages can be concatenated with the + operator. In this case, the resulting OSCMessage + inherits its address from the left-hand operand. The right-hand operand's address is ignored. + To construct an 'OSC-bundle' from multiple OSCMessage, see OSCBundle! + + Additional methods exist for retreiving typetags or manipulating items as (typetag, value) tuples. + """ + def __init__(self, address=""): + """Instantiate a new OSCMessage. + The OSC-address can be specified with the 'address' argument + """ + self.clear(address) + + def setAddress(self, address): + """Set or change the OSC-address + """ + self.address = address + + def clear(self, address=""): + """Clear (or set a new) OSC-address and clear any arguments appended so far + """ + self.address = address + self.clearData() + + def clearData(self): + """Clear any arguments appended so far + """ + self.typetags = "," + self.message = b"" + + def append(self, argument, typehint=None): + """Appends data to the message, updating the typetags based on + the argument's type. If the argument is a blob (counted + string) pass in 'b' as typehint. + 'argument' may also be a list or tuple, in which case its elements + will get appended one-by-one, all using the provided typehint + """ + if isinstance(argument,dict): + argument = list(argument.items()) + elif isinstance(argument, OSCMessage): + raise TypeError("Can only append 'OSCMessage' to 'OSCBundle'") + + if hasattr(argument, '__iter__') and not type(argument) in (str,bytes): + for arg in argument: + self.append(arg, typehint) + + return + + if typehint == 'b': + binary = OSCBlob(argument) + tag = 'b' + elif typehint == 't': + binary = OSCTimeTag(argument) + tag = 't' + else: + tag, binary = OSCArgument(argument, typehint) + + self.typetags += tag + self.message += binary + + def getBinary(self): + """Returns the binary representation of the message + """ + binary = OSCString(self.address) + binary += OSCString(self.typetags) + binary += self.message + + return binary + + def __repr__(self): + """Returns a string containing the decode Message + """ + return str(decodeOSC(self.getBinary())) + + def __str__(self): + """Returns the Message's address and contents as a string. + """ + return "%s %s" % (self.address, str(list(self.values()))) + + def __len__(self): + """Returns the number of arguments appended so far + """ + return (len(self.typetags) - 1) + + def __eq__(self, other): + """Return True if two OSCMessages have the same address & content + """ + if not isinstance(other, self.__class__): + return False + + return (self.address == other.address) and (self.typetags == other.typetags) and (self.message == other.message) + + def __ne__(self, other): + """Return (not self.__eq__(other)) + """ + return not self.__eq__(other) + + def __add__(self, values): + """Returns a copy of self, with the contents of 'values' appended + (see the 'extend()' method, below) + """ + msg = self.copy() + msg.extend(values) + return msg + + def __iadd__(self, values): + """Appends the contents of 'values' + (equivalent to 'extend()', below) + Returns self + """ + self.extend(values) + return self + + def __radd__(self, values): + """Appends the contents of this OSCMessage to 'values' + Returns the extended 'values' (list or tuple) + """ + out = list(values) + out.extend(list(self.values())) + + if isinstance(values,tuple): + return tuple(out) + + return out + + def _reencode(self, items): + """Erase & rebuild the OSCMessage contents from the given + list of (typehint, value) tuples""" + self.clearData() + for item in items: + self.append(item[1], item[0]) + + def values(self): + """Returns a list of the arguments appended so far + """ + return decodeOSC(self.getBinary())[2:] + + def tags(self): + """Returns a list of typetags of the appended arguments + """ + return list(self.typetags.lstrip(',')) + + def items(self): + """Returns a list of (typetag, value) tuples for + the arguments appended so far + """ + out = [] + values = list(self.values()) + typetags = self.tags() + for i in range(len(values)): + out.append((typetags[i], values[i])) + + return out + + def __contains__(self, val): + """Test if the given value appears in the OSCMessage's arguments + """ + return (val in list(self.values())) + + def __getitem__(self, i): + """Returns the indicated argument (or slice) + """ + return list(self.values())[i] + + def __delitem__(self, i): + """Removes the indicated argument (or slice) + """ + items = list(self.items()) + del items[i] + + self._reencode(items) + + def _buildItemList(self, values, typehint=None): + if isinstance(values, OSCMessage): + items = list(values.items()) + elif isinstance(values,list): + items = [] + for val in values: + if isinstance(val,tuple): + items.append(val[:2]) + else: + items.append((typehint, val)) + elif isinstance(values,tuple): + items = [values[:2]] + else: + items = [(typehint, values)] + + return items + + def __setitem__(self, i, val): + """Set indicatated argument (or slice) to a new value. + 'val' can be a single int/float/string, or a (typehint, value) tuple. + Or, if 'i' is a slice, a list of these or another OSCMessage. + """ + items = list(self.items()) + + new_items = self._buildItemList(val) + + if not isinstance(i,slice): + if len(new_items) != 1: + raise TypeError("single-item assignment expects a single value or a (typetag, value) tuple") + + new_items = new_items[0] + + # finally... + items[i] = new_items + + self._reencode(items) + + def setItem(self, i, val, typehint=None): + """Set indicated argument to a new value (with typehint) + """ + items = list(self.items()) + + items[i] = (typehint, val) + + self._reencode(items) + + def copy(self): + """Returns a deep copy of this OSCMessage + """ + msg = self.__class__(self.address) + msg.typetags = self.typetags + msg.message = self.message + return msg + + def count(self, val): + """Returns the number of times the given value occurs in the OSCMessage's arguments + """ + return list(self.values()).count(val) + + def index(self, val): + """Returns the index of the first occurence of the given value in the OSCMessage's arguments. + Raises ValueError if val isn't found + """ + return list(self.values()).index(val) + + def extend(self, values): + """Append the contents of 'values' to this OSCMessage. + 'values' can be another OSCMessage, or a list/tuple of ints/floats/strings + """ + items = list(self.items()) + self._buildItemList(values) + + self._reencode(items) + + def insert(self, i, val, typehint = None): + """Insert given value (with optional typehint) into the OSCMessage + at the given index. + """ + items = list(self.items()) + + for item in reversed(self._buildItemList(val)): + items.insert(i, item) + + self._reencode(items) + + def popitem(self, i): + """Delete the indicated argument from the OSCMessage, and return it + as a (typetag, value) tuple. + """ + items = list(self.items()) + + item = items.pop(i) + + self._reencode(items) + + return item + + def pop(self, i): + """Delete the indicated argument from the OSCMessage, and return it. + """ + return self.popitem(i)[1] + + def reverse(self): + """Reverses the arguments of the OSCMessage (in place) + """ + items = list(self.items()) + + items.reverse() + + self._reencode(items) + + def remove(self, val): + """Removes the first argument with the given value from the OSCMessage. + Raises ValueError if val isn't found. + """ + items = list(self.items()) + + # this is not very efficient... + i = 0 + for (t, v) in items: + if (v == val): + break + i += 1 + else: + raise ValueError("'%s' not in OSCMessage" % str(m)) + # but more efficient than first calling self.values().index(val), + # then calling self.items(), which would in turn call self.values() again... + + del items[i] + + self._reencode(items) + + def __iter__(self): + """Returns an iterator of the OSCMessage's arguments + """ + return iter(list(self.values())) + + def __reversed__(self): + """Returns a reverse iterator of the OSCMessage's arguments + """ + return reversed(list(self.values())) + + def itervalues(self): + """Returns an iterator of the OSCMessage's arguments + """ + return iter(list(self.values())) + + def iteritems(self): + """Returns an iterator of the OSCMessage's arguments as + (typetag, value) tuples + """ + return iter(list(self.items())) + + def itertags(self): + """Returns an iterator of the OSCMessage's arguments' typetags + """ + return iter(self.tags()) + +class OSCBundle(OSCMessage): + """Builds a 'bundle' of OSC messages. + + OSCBundle objects are container objects for building OSC-bundles of OSC-messages. + An OSC-bundle is a special kind of OSC-message which contains a list of OSC-messages + (And yes, OSC-bundles may contain other OSC-bundles...) + + OSCBundle objects behave much the same as OSCMessage objects, with these exceptions: + - if an item or items to be appended or inserted are not OSCMessage objects, + OSCMessage objectss are created to encapsulate the item(s) + - an OSC-bundle does not have an address of its own, only the contained OSC-messages do. + The OSCBundle's 'address' is inherited by any OSCMessage the OSCBundle object creates. + - OSC-bundles have a timetag to tell the receiver when the bundle should be processed. + The default timetag value (0) means 'immediately' + """ + def __init__(self, address="", time=0): + """Instantiate a new OSCBundle. + The default OSC-address for newly created OSCMessages + can be specified with the 'address' argument + The bundle's timetag can be set with the 'time' argument + """ + super(OSCBundle, self).__init__(address) + self.timetag = time + + def __str__(self): + """Returns the Bundle's contents (and timetag, if nonzero) as a string. + """ + if (self.timetag > 0.): + out = "#bundle (%s) [" % self.getTimeTagStr() + else: + out = "#bundle [" + + if self.__len__(): + for val in list(self.values()): + out += "%s, " % str(val) + out = out[:-2] # strip trailing space and comma + + return out + "]" + + def setTimeTag(self, time): + """Set or change the OSCBundle's TimeTag + In 'Python Time', that's floating seconds since the Epoch + """ + if time >= 0: + self.timetag = time + + def getTimeTagStr(self): + """Return the TimeTag as a human-readable string + """ + fract, secs = math.modf(self.timetag) + out = time.ctime(secs)[11:19] + out += ("%.3f" % fract)[1:] + + return out + + def append(self, argument, typehint = None): + """Appends data to the bundle, creating an OSCMessage to encapsulate + the provided argument unless this is already an OSCMessage. + Any newly created OSCMessage inherits the OSCBundle's address at the time of creation. + If 'argument' is an iterable, its elements will be encapsuated by a single OSCMessage. + Finally, 'argument' can be (or contain) a dict, which will be 'converted' to an OSCMessage; + - if 'addr' appears in the dict, its value overrides the OSCBundle's address + - if 'args' appears in the dict, its value(s) become the OSCMessage's arguments + """ + if isinstance(argument, OSCMessage): + binary = OSCBlob(argument.getBinary()) + else: + msg = OSCMessage(self.address) + if isinstance(argument,dict): + if 'addr' in argument: + msg.setAddress(argument['addr']) + if 'args' in argument: + msg.append(argument['args'], typehint) + else: + msg.append(argument, typehint) + + binary = OSCBlob(msg.getBinary()) + + self.message += binary + self.typetags += 'b' + + def getBinary(self): + """Returns the binary representation of the message + """ + binary = OSCString("#bundle") + binary += OSCTimeTag(self.timetag) + binary += self.message + + return binary + + def _reencapsulate(self, decoded): + if decoded[0] == "#bundle": + msg = OSCBundle() + msg.setTimeTag(decoded[1]) + for submsg in decoded[2:]: + msg.append(self._reencapsulate(submsg)) + + else: + msg = OSCMessage(decoded[0]) + tags = decoded[1].lstrip(',') + for i in range(len(tags)): + msg.append(decoded[2+i], tags[i]) + + return msg + + def values(self): + """Returns a list of the OSCMessages appended so far + """ + out = [] + for decoded in decodeOSC(self.getBinary())[2:]: + out.append(self._reencapsulate(decoded)) + + return out + + def __eq__(self, other): + """Return True if two OSCBundles have the same timetag & content + """ + if not isinstance(other, self.__class__): + return False + + return (self.timetag == other.timetag) and (self.typetags == other.typetags) and (self.message == other.message) + + def copy(self): + """Returns a deep copy of this OSCBundle + """ + copy = super(OSCBundle, self).copy() + copy.timetag = self.timetag + return copy + +###### +# +# OSCMessage encoding functions +# +###### + +def OSCString(next): + """Convert a string into a zero-padded OSC String. + The length of the resulting string is always a multiple of 4 bytes. + The string ends with 1 to 4 zero-bytes ('\x00') + """ + + OSCstringLength = math.ceil((len(next)+1) / 4.0) * 4 + return struct.pack(">%ds" % (OSCstringLength), str(next).encode('latin1')) + +def OSCBlob(next): + """Convert a string into an OSC Blob. + An OSC-Blob is a binary encoded block of data, prepended by a 'size' (int32). + The size is always a mutiple of 4 bytes. + The blob ends with 0 to 3 zero-bytes ('\x00') + """ + + if isinstance(next,str): + next = next.encode('latin1') + if isinstance(next,bytes): + OSCblobLength = math.ceil((len(next)) / 4.0) * 4 + binary = struct.pack(">i%ds" % (OSCblobLength), OSCblobLength, next) + else: + binary = b'' + + return binary + +def OSCArgument(next, typehint=None): + """ Convert some Python types to their + OSC binary representations, returning a + (typetag, data) tuple. + """ + if not typehint: + if type(next) in FloatTypes: + binary = struct.pack(">f", float(next)) + tag = 'f' + elif type(next) in IntTypes: + binary = struct.pack(">i", int(next)) + tag = 'i' + else: + binary = OSCString(next) + tag = 's' + + elif typehint == 'd': + try: + binary = struct.pack(">d", float(next)) + tag = 'd' + except ValueError: + binary = OSCString(next) + tag = 's' + + elif typehint == 'f': + try: + binary = struct.pack(">f", float(next)) + tag = 'f' + except ValueError: + binary = OSCString(next) + tag = 's' + elif typehint == 'i': + try: + binary = struct.pack(">i", int(next)) + tag = 'i' + except ValueError: + binary = OSCString(next) + tag = 's' + else: + binary = OSCString(next) + tag = 's' + + return (tag, binary) + +def OSCTimeTag(time): + """Convert a time in floating seconds to its + OSC binary representation + """ + if time > 0: + fract, secs = math.modf(time) + secs = secs - NTP_epoch + binary = struct.pack('>LL', int(secs), int(fract * NTP_units_per_second)) + else: + binary = struct.pack('>LL', 0, 1) + + return binary + +###### +# +# OSCMessage decoding functions +# +###### + +def _readString(data): + """Reads the next (null-terminated) block of data + """ + length = data.find(b'\0') + nextData = int(math.ceil((length+1) / 4.0) * 4) + return (data[0:length].decode('latin1'), data[nextData:]) + +def _readBlob(data): + """Reads the next (numbered) block of data + """ + + length = struct.unpack(">i", data[0:4])[0] + nextData = int(math.ceil((length) / 4.0) * 4) + 4 + return (data[4:length+4], data[nextData:]) + +def _readInt(data): + """Tries to interpret the next 4 bytes of the data + as a 32-bit integer. """ + + if(len(data)<4): + print("Error: too few bytes for int", data, len(data)) + rest = data + integer = 0 + else: + integer = struct.unpack(">i", data[0:4])[0] + rest = data[4:] + + return (integer, rest) + +def _readLong(data): + """Tries to interpret the next 8 bytes of the data + as a 64-bit signed integer. + """ + + high, low = struct.unpack(">ll", data[0:8]) + big = (int(high) << 32) + low + rest = data[8:] + return (big, rest) + +def _readTimeTag(data): + """Tries to interpret the next 8 bytes of the data + as a TimeTag. + """ + high, low = struct.unpack(">LL", data[0:8]) + if (high == 0) and (low <= 1): + time = 0.0 + else: + time = int(NTP_epoch + high) + float(low / NTP_units_per_second) + rest = data[8:] + return (time, rest) + +def _readFloat(data): + """Tries to interpret the next 4 bytes of the data + as a 32-bit float. + """ + + if(len(data)<4): + print("Error: too few bytes for float", data, len(data)) + rest = data + float = 0 + else: + float = struct.unpack(">f", data[0:4])[0] + rest = data[4:] + + return (float, rest) + +def _readDouble(data): + """Tries to interpret the next 8 bytes of the data + as a 64-bit float. + """ + + if(len(data)<8): + print("Error: too few bytes for double", data, len(data)) + rest = data + float = 0 + else: + float = struct.unpack(">d", data[0:8])[0] + rest = data[8:] + + return (float, rest) + +def decodeOSC(data): + """Converts a binary OSC message to a Python list. + """ + table = {"i":_readInt, "f":_readFloat, "s":_readString, "b":_readBlob, "d":_readDouble, "t":_readTimeTag} + decoded = [] + address, rest = _readString(data) + if address.startswith(","): + typetags = address + address = "" + else: + typetags = "" + + if address == "#bundle": + time, rest = _readTimeTag(rest) + decoded.append(address) + decoded.append(time) + while len(rest)>0: + length, rest = _readInt(rest) + decoded.append(decodeOSC(rest[:length])) + rest = rest[length:] + + elif len(rest)>0: + if not len(typetags): + typetags, rest = _readString(rest) + decoded.append(address) + decoded.append(typetags) + if typetags.startswith(","): + for tag in typetags[1:]: + value, rest = table[tag](rest) + decoded.append(value) + else: + raise OSCError("OSCMessage's typetag-string lacks the magic ','") + + return decoded + +###### +# +# Utility functions +# +###### + +def hexDump(bytes): + """ Useful utility; prints the string in hexadecimal. + """ + print("byte 0 1 2 3 4 5 6 7 8 9 A B C D E F") + + if isinstance(bytes,str): + bytes = bytes.encode('latin1') + num = len(bytes) + for i in range(num): + if (i) % 16 == 0: + line = "%02X0 : " % (i/16) + line += "%02X " % bytes[i] + if (i+1) % 16 == 0: + print("%s: %s" % (line, repr(bytes[i-15:i+1]))) + line = "" + + bytes_left = num % 16 + if bytes_left: + print("%s: %s" % (line.ljust(54), repr(bytes[-bytes_left:]))) + +def getUrlStr(*args): + """Convert provided arguments to a string in 'host:port/prefix' format + Args can be: + - (host, port) + - (host, port), prefix + - host, port + - host, port, prefix + """ + if not len(args): + return "" + + if type(args[0]) == tuple: + host = args[0][0] + port = args[0][1] + args = args[1:] + else: + host = args[0] + port = args[1] + args = args[2:] + + if len(args): + prefix = args[0] + else: + prefix = "" + + if len(host) and (host != '0.0.0.0'): + try: + (host, _, _) = socket.gethostbyaddr(host) + except socket.error: + pass + else: + host = 'localhost' + + if isinstance(port,int): + return "%s:%d%s" % (host, port, prefix) + else: + return host + prefix + +def parseUrlStr(url): + """Convert provided string in 'host:port/prefix' format to it's components + Returns ((host, port), prefix) + """ + if not (isinstance(url,str) and len(url)): + return (None, '') + + i = url.find("://") + if i > -1: + url = url[i+3:] + + i = url.find(':') + if i > -1: + host = url[:i].strip() + tail = url[i+1:].strip() + else: + host = '' + tail = url + + for i in range(len(tail)): + if not tail[i].isdigit(): + break + else: + i += 1 + + portstr = tail[:i].strip() + tail = tail[i:].strip() + + found = len(tail) + for c in ('/', '+', '-', '*'): + i = tail.find(c) + if (i > -1) and (i < found): + found = i + + head = tail[:found].strip() + prefix = tail[found:].strip() + + prefix = prefix.strip('/') + if len(prefix) and prefix[0] not in ('+', '-', '*'): + prefix = '/' + prefix + + if len(head) and not len(host): + host = head + + if len(host): + try: + host = socket.gethostbyname(host) + except socket.error: + pass + + try: + port = int(portstr) + except ValueError: + port = None + + return ((host, port), prefix) + +###### +# +# OSCClient class +# +###### + +class OSCClient(object): + """Simple OSC Client. Handles the sending of OSC-Packets (OSCMessage or OSCBundle) via a UDP-socket + """ + # set outgoing socket buffer size + sndbuf_size = 4096 * 8 + + def __init__(self, server=None): + """Construct an OSC Client. + When the 'address' argument is given this client is connected to a specific remote server. + - address ((host, port) tuple): the address of the remote server to send all messages to + Otherwise it acts as a generic client: + If address == 'None', the client doesn't connect to a specific remote server, + and the remote address must be supplied when calling sendto() + - server: Local OSCServer-instance this client will use the socket of for transmissions. + If none is supplied, a socket will be created. + """ + self.socket = None + + if server == None: + self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, self.sndbuf_size) + self._fd = self.socket.fileno() + + self.server = None + else: + self.setServer(server) + + self.client_address = None + + def setServer(self, server): + """Associate this Client with given server. + The Client will send from the Server's socket. + The Server will use this Client instance to send replies. + """ + if not isinstance(server, OSCServer): + raise ValueError("'server' argument is not a valid OSCServer object") + + if self.socket != None: + self.close() + + self.socket = server.socket.dup() + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, self.sndbuf_size) + self._fd = self.socket.fileno() + + self.server = server + + if self.server.client != None: + self.server.client.close() + + self.server.client = self + + def close(self): + """Disconnect & close the Client's socket + """ + if self.socket != None: + self.socket.close() + self.socket = None + + def __str__(self): + """Returns a string containing this Client's Class-name, software-version + and the remote-address it is connected to (if any) + """ + out = self.__class__.__name__ + out += " v%s.%s-%s" % version + addr = self.address() + if addr: + out += " connected to osc://%s" % getUrlStr(addr) + else: + out += " (unconnected)" + + return out + + def __eq__(self, other): + """Compare function. + """ + if not isinstance(other, self.__class__): + return False + + isequal = cmp(self.socket._sock, other.socket._sock) + if isequal and self.server and other.server: + return cmp(self.server, other.server) + + return isequal + + def __ne__(self, other): + """Compare function. + """ + return not self.__eq__(other) + + def address(self): + """Returns a (host,port) tuple of the remote server this client is + connected to or None if not connected to any server. + """ + try: + return self.socket.getpeername() + except socket.error: + return None + + def connect(self, address): + """Bind to a specific OSC server: + the 'address' argument is a (host, port) tuple + - host: hostname of the remote OSC server, + - port: UDP-port the remote OSC server listens to. + """ + try: + self.socket.connect(address) + self.client_address = address + except socket.error as e: + self.client_address = None + raise OSCClientError("SocketError: %s" % str(e)) + + if self.server != None: + self.server.return_port = address[1] + + def sendto(self, msg, address, timeout=None): + """Send the given OSCMessage to the specified address. + - msg: OSCMessage (or OSCBundle) to be sent + - address: (host, port) tuple specifing remote server to send the message to + - timeout: A timeout value for attempting to send. If timeout == None, + this call blocks until socket is available for writing. + Raises OSCClientError when timing out while waiting for the socket. + """ + if not isinstance(msg, OSCMessage): + raise TypeError("'msg' argument is not an OSCMessage or OSCBundle object") + + ret = select.select([],[self._fd], [], timeout) + try: + ret[1].index(self._fd) + except: + # for the very rare case this might happen + raise OSCClientError("Timed out waiting for file descriptor") + + try: + self.socket.connect(address) + self.socket.sendall(msg.getBinary()) + + if self.client_address: + self.socket.connect(self.client_address) + + except socket.error as e: + if e[0] in (7, 65): # 7 = 'no address associated with nodename', 65 = 'no route to host' + raise e + else: + raise OSCClientError("while sending to %s: %s" % (str(address), str(e))) + + def send(self, msg, timeout=None): + """Send the given OSCMessage. + The Client must be already connected. + - msg: OSCMessage (or OSCBundle) to be sent + - timeout: A timeout value for attempting to send. If timeout == None, + this call blocks until socket is available for writing. + Raises OSCClientError when timing out while waiting for the socket, + or when the Client isn't connected to a remote server. + """ + if not isinstance(msg, OSCMessage): + raise TypeError("'msg' argument is not an OSCMessage or OSCBundle object") + + ret = select.select([],[self._fd], [], timeout) + try: + ret[1].index(self._fd) + except: + # for the very rare case this might happen + raise OSCClientError("Timed out waiting for file descriptor") + + try: + self.socket.sendall(msg.getBinary()) + except socket.error as e: + if e[0] in (7, 65): # 7 = 'no address associated with nodename', 65 = 'no route to host' + raise e + else: + raise OSCClientError("while sending: %s" % str(e)) + +###### +# +# FilterString Utility functions +# +###### + +def parseFilterStr(args): + """Convert Message-Filter settings in '+ - ...' format to a dict of the form + { '':True, '':False, ... } + Returns a list: ['', filters] + """ + out = {} + + if isinstance(args,str): + args = [args] + + prefix = None + for arg in args: + head = None + for plus in arg.split('+'): + minus = plus.split('-') + plusfs = minus.pop(0).strip() + if len(plusfs): + plusfs = '/' + plusfs.strip('/') + + if (head == None) and (plusfs != "/*"): + head = plusfs + elif len(plusfs): + if plusfs == '/*': + out = { '/*':True } # reset all previous filters + else: + out[plusfs] = True + + for minusfs in minus: + minusfs = minusfs.strip() + if len(minusfs): + minusfs = '/' + minusfs.strip('/') + if minusfs == '/*': + out = { '/*':False } # reset all previous filters + else: + out[minusfs] = False + + if prefix == None: + prefix = head + + return [prefix, out] + +def getFilterStr(filters): + """Return the given 'filters' dict as a list of + '+' | '-' filter-strings + """ + if not len(filters): + return [] + + if '/*' in list(filters.keys()): + if filters['/*']: + out = ["+/*"] + else: + out = ["-/*"] + else: + if False in list(filters.values()): + out = ["+/*"] + else: + out = ["-/*"] + + for (addr, bool) in list(filters.items()): + if addr == '/*': + continue + + if bool: + out.append("+%s" % addr) + else: + out.append("-%s" % addr) + + return out + +# A translation-table for mapping OSC-address expressions to Python 're' expressions +OSCtrans = str.maketrans("{,}?","(|).") + +def getRegEx(pattern): + """Compiles and returns a 'regular expression' object for the given address-pattern. + """ + # Translate OSC-address syntax to python 're' syntax + pattern = pattern.replace(".", r"\.") # first, escape all '.'s in the pattern. + pattern = pattern.replace("(", r"\(") # escape all '('s. + pattern = pattern.replace(")", r"\)") # escape all ')'s. + pattern = pattern.replace("*", r".*") # replace a '*' by '.*' (match 0 or more characters) + pattern = pattern.translate(OSCtrans) # change '?' to '.' and '{,}' to '(|)' + + return re.compile(pattern) + +###### +# +# OSCMultiClient class +# +###### + +class OSCMultiClient(OSCClient): + """'Multiple-Unicast' OSC Client. Handles the sending of OSC-Packets (OSCMessage or OSCBundle) via a UDP-socket + This client keeps a dict of 'OSCTargets'. and sends each OSCMessage to each OSCTarget + The OSCTargets are simply (host, port) tuples, and may be associated with an OSC-address prefix. + the OSCTarget's prefix gets prepended to each OSCMessage sent to that target. + """ + def __init__(self, server=None): + """Construct a "Multi" OSC Client. + - server: Local OSCServer-instance this client will use the socket of for transmissions. + If none is supplied, a socket will be created. + """ + super(OSCMultiClient, self).__init__(server) + + self.targets = {} + + def _searchHostAddr(self, host): + """Search the subscribed OSCTargets for (the first occurence of) given host. + Returns a (host, port) tuple + """ + try: + host = socket.gethostbyname(host) + except socket.error: + pass + + for addr in list(self.targets.keys()): + if host == addr[0]: + return addr + + raise NotSubscribedError((host, None)) + + def _updateFilters(self, dst, src): + """Update a 'filters' dict with values form another 'filters' dict: + - src[a] == True and dst[a] == False: del dst[a] + - src[a] == False and dst[a] == True: del dst[a] + - a not in dst: dst[a] == src[a] + """ + if '/*' in list(src.keys()): # reset filters + dst.clear() # 'match everything' == no filters + if not src.pop('/*'): + dst['/*'] = False # 'match nothing' + + for (addr, bool) in list(src.items()): + if (addr in list(dst.keys())) and (dst[addr] != bool): + del dst[addr] + else: + dst[addr] = bool + + def _setTarget(self, address, prefix=None, filters=None): + """Add (i.e. subscribe) a new OSCTarget, or change the prefix for an existing OSCTarget. + - address ((host, port) tuple): IP-address & UDP-port + - prefix (string): The OSC-address prefix prepended to the address of each OSCMessage + sent to this OSCTarget (optional) + """ + if address not in list(self.targets.keys()): + self.targets[address] = ["",{}] + + if prefix != None: + if len(prefix): + # make sure prefix starts with ONE '/', and does not end with '/' + prefix = '/' + prefix.strip('/') + + self.targets[address][0] = prefix + + if filters != None: + if isinstance(filters,str): + (_, filters) = parseFilterStr(filters) + elif not isinstance(filters,dict): + raise TypeError("'filters' argument must be a dict with {addr:bool} entries") + + self._updateFilters(self.targets[address][1], filters) + + def setOSCTarget(self, address, prefix=None, filters=None): + """Add (i.e. subscribe) a new OSCTarget, or change the prefix for an existing OSCTarget. + the 'address' argument can be a ((host, port) tuple) : The target server address & UDP-port + or a 'host' (string) : The host will be looked-up + - prefix (string): The OSC-address prefix prepended to the address of each OSCMessage + sent to this OSCTarget (optional) + """ + if isinstance(address,str): + address = self._searchHostAddr(address) + + elif (isinstance(address,tuple)): + (host, port) = address[:2] + try: + host = socket.gethostbyname(host) + except: + pass + + address = (host, port) + else: + raise TypeError("'address' argument must be a (host, port) tuple or a 'host' string") + + self._setTarget(address, prefix, filters) + + def setOSCTargetFromStr(self, url): + """Adds or modifies a subscribed OSCTarget from the given string, which should be in the + ':[/] [+/]|[-/] ...' format. + """ + (addr, tail) = parseUrlStr(url) + (prefix, filters) = parseFilterStr(tail) + self._setTarget(addr, prefix, filters) + + def _delTarget(self, address, prefix=None): + """Delete the specified OSCTarget from the Client's dict. + the 'address' argument must be a (host, port) tuple. + If the 'prefix' argument is given, the Target is only deleted if the address and prefix match. + """ + try: + if prefix == None: + del self.targets[address] + elif prefix == self.targets[address][0]: + del self.targets[address] + except KeyError: + raise NotSubscribedError(address, prefix) + + def delOSCTarget(self, address, prefix=None): + """Delete the specified OSCTarget from the Client's dict. + the 'address' argument can be a ((host, port) tuple), or a hostname. + If the 'prefix' argument is given, the Target is only deleted if the address and prefix match. + """ + if isinstance(address,str): + address = self._searchHostAddr(address) + + if isinstance(address,tuple): + (host, port) = address[:2] + try: + host = socket.gethostbyname(host) + except socket.error: + pass + address = (host, port) + + self._delTarget(address, prefix) + + def hasOSCTarget(self, address, prefix=None): + """Return True if the given OSCTarget exists in the Client's dict. + the 'address' argument can be a ((host, port) tuple), or a hostname. + If the 'prefix' argument is given, the return-value is only True if the address and prefix match. + """ + if isinstance(address,str): + address = self._searchHostAddr(address) + + if isinstance(address,tuple): + (host, port) = address[:2] + try: + host = socket.gethostbyname(host) + except socket.error: + pass + address = (host, port) + + if address in list(self.targets.keys()): + if prefix == None: + return True + elif prefix == self.targets[address][0]: + return True + + return False + + def getOSCTargets(self): + """Returns the dict of OSCTargets: {addr:[prefix, filters], ...} + """ + out = {} + for ((host, port), pf) in list(self.targets.items()): + try: + (host, _, _) = socket.gethostbyaddr(host) + except socket.error: + pass + + out[(host, port)] = pf + + return out + + def getOSCTarget(self, address): + """Returns the OSCTarget matching the given address as a ((host, port), [prefix, filters]) tuple. + 'address' can be a (host, port) tuple, or a 'host' (string), in which case the first matching OSCTarget is returned + Returns (None, ['',{}]) if address not found. + """ + if isinstance(address,str): + address = self._searchHostAddr(address) + + if (isinstance(address,tuple)): + (host, port) = address[:2] + try: + host = socket.gethostbyname(host) + except socket.error: + pass + address = (host, port) + + if (address in list(self.targets.keys())): + try: + (host, _, _) = socket.gethostbyaddr(host) + except socket.error: + pass + + return ((host, port), self.targets[address]) + + return (None, ['',{}]) + + def clearOSCTargets(self): + """Erases all OSCTargets from the Client's dict + """ + self.targets = {} + + def updateOSCTargets(self, dict): + """Update the Client's OSCTargets dict with the contents of 'dict' + The given dict's items MUST be of the form + { (host, port):[prefix, filters], ... } + """ + for ((host, port), (prefix, filters)) in list(dict.items()): + val = [prefix, {}] + self._updateFilters(val[1], filters) + + try: + host = socket.gethostbyname(host) + except socket.error: + pass + + self.targets[(host, port)] = val + + def getOSCTargetStr(self, address): + """Returns the OSCTarget matching the given address as a ('osc://:[]', ['', ...])' tuple. + 'address' can be a (host, port) tuple, or a 'host' (string), in which case the first matching OSCTarget is returned + Returns (None, []) if address not found. + """ + (addr, (prefix, filters)) = self.getOSCTarget(address) + if addr == None: + return (None, []) + + return ("osc://%s" % getUrlStr(addr, prefix), getFilterStr(filters)) + + def getOSCTargetStrings(self): + """Returns a list of all OSCTargets as ('osc://:[]', ['', ...])' tuples. + """ + out = [] + for (addr, (prefix, filters)) in list(self.targets.items()): + out.append(("osc://%s" % getUrlStr(addr, prefix), getFilterStr(filters))) + + return out + + def connect(self, address): + """The OSCMultiClient isn't allowed to connect to any specific + address. + """ + return NotImplemented + + def sendto(self, msg, address, timeout=None): + """Send the given OSCMessage. + The specified address is ignored. Instead this method calls send() to + send the message to all subscribed clients. + - msg: OSCMessage (or OSCBundle) to be sent + - address: (host, port) tuple specifing remote server to send the message to + - timeout: A timeout value for attempting to send. If timeout == None, + this call blocks until socket is available for writing. + Raises OSCClientError when timing out while waiting for the socket. + """ + self.send(msg, timeout) + + def _filterMessage(self, filters, msg): + """Checks the given OSCMessge against the given filters. + 'filters' is a dict containing OSC-address:bool pairs. + If 'msg' is an OSCBundle, recursively filters its constituents. + Returns None if the message is to be filtered, else returns the message. + or + Returns a copy of the OSCBundle with the filtered messages removed. + """ + if isinstance(msg, OSCBundle): + out = msg.copy() + msgs = list(out.values()) + out.clearData() + for m in msgs: + m = self._filterMessage(filters, m) + if m: # this catches 'None' and empty bundles. + out.append(m) + + elif isinstance(msg, OSCMessage): + if '/*' in list(filters.keys()): + if filters['/*']: + out = msg + else: + out = None + + elif False in list(filters.values()): + out = msg + else: + out = None + + else: + raise TypeError("'msg' argument is not an OSCMessage or OSCBundle object") + + expr = getRegEx(msg.address) + + for addr in list(filters.keys()): + if addr == '/*': + continue + + match = expr.match(addr) + if match and (match.end() == len(addr)): + if filters[addr]: + out = msg + else: + out = None + break + + return out + + def _prefixAddress(self, prefix, msg): + """Makes a copy of the given OSCMessage, then prepends the given prefix to + The message's OSC-address. + If 'msg' is an OSCBundle, recursively prepends the prefix to its constituents. + """ + out = msg.copy() + + if isinstance(msg, OSCBundle): + msgs = list(out.values()) + out.clearData() + for m in msgs: + out.append(self._prefixAddress(prefix, m)) + + elif isinstance(msg, OSCMessage): + out.setAddress(prefix + out.address) + + else: + raise TypeError("'msg' argument is not an OSCMessage or OSCBundle object") + + return out + + def send(self, msg, timeout=None): + """Send the given OSCMessage to all subscribed OSCTargets + - msg: OSCMessage (or OSCBundle) to be sent + - timeout: A timeout value for attempting to send. If timeout == None, + this call blocks until socket is available for writing. + Raises OSCClientError when timing out while waiting for the socket. + """ + for (address, (prefix, filters)) in list(self.targets.items()): + if len(filters): + out = self._filterMessage(filters, msg) + if not out: # this catches 'None' and empty bundles. + continue + else: + out = msg + + if len(prefix): + out = self._prefixAddress(prefix, msg) + + binary = out.getBinary() + + ret = select.select([],[self._fd], [], timeout) + try: + ret[1].index(self._fd) + except: + # for the very rare case this might happen + raise OSCClientError("Timed out waiting for file descriptor") + + try: + while len(binary): + sent = self.socket.sendto(binary, address) + binary = binary[sent:] + + except socket.error as e: + if e[0] in (7, 65): # 7 = 'no address associated with nodename', 65 = 'no route to host' + raise e + else: + raise OSCClientError("while sending to %s: %s" % (str(address), str(e))) + +class OSCAddressSpace: + def __init__(self): + self.callbacks = {} + def addMsgHandler(self, address, callback): + """Register a handler for an OSC-address + - 'address' is the OSC address-string. + the address-string should start with '/' and may not contain '*' + - 'callback' is the function called for incoming OSCMessages that match 'address'. + The callback-function will be called with the same arguments as the 'msgPrinter_handler' below + """ + for chk in '*?,[]{}# ': + if chk in address: + raise OSCServerError("OSC-address string may not contain any characters in '*?,[]{}# '") + + if type(callback) not in (types.FunctionType, types.MethodType): + raise OSCServerError("Message callback '%s' is not callable" % repr(callback)) + + if address != 'default': + address = '/' + address.strip('/') + + self.callbacks[address] = callback + + def delMsgHandler(self, address): + """Remove the registered handler for the given OSC-address + """ + del self.callbacks[address] + + def getOSCAddressSpace(self): + """Returns a list containing all OSC-addresses registerd with this Server. + """ + return list(self.callbacks.keys()) + + def dispatchMessage(self, pattern, tags, data, client_address): + """Attmept to match the given OSC-address pattern, which may contain '*', + against all callbacks registered with the OSCServer. + Calls the matching callback and returns whatever it returns. + If no match is found, and a 'default' callback is registered, it calls that one, + or raises NoCallbackError if a 'default' callback is not registered. + + - pattern (string): The OSC-address of the receied message + - tags (string): The OSC-typetags of the receied message's arguments, without ',' + - data (list): The message arguments + """ + if len(tags) != len(data): + raise OSCServerError("Malformed OSC-message; got %d typetags [%s] vs. %d values" % (len(tags), tags, len(data))) + + expr = getRegEx(pattern) + + replies = [] + matched = 0 + for addr in list(self.callbacks.keys()): + match = expr.match(addr) + if match and (match.end() == len(addr)): + reply = self.callbacks[addr](pattern, tags, data, client_address) + matched += 1 + if isinstance(reply, OSCMessage): + replies.append(reply) + elif reply != None: + raise TypeError("Message-callback %s did not return OSCMessage or None: %s" % (self.server.callbacks[addr], type(reply))) + + if matched == 0: + if 'default' in self.callbacks: + reply = self.callbacks['default'](pattern, tags, data, client_address) + if isinstance(reply, OSCMessage): + replies.append(reply) + elif reply != None: + raise TypeError("Message-callback %s did not return OSCMessage or None: %s" % (self.server.callbacks['default'], type(reply))) + else: + raise NoCallbackError(pattern) + + return replies + +###### +# +# OSCRequestHandler classes +# +###### +class OSCRequestHandler(DatagramRequestHandler): + """RequestHandler class for the OSCServer + """ + def setup(self): + """Prepare RequestHandler. + Unpacks request as (packet, source socket address) + Creates an empty list for replies. + """ + (self.packet, self.socket) = self.request + self.replies = [] + + def _unbundle(self, decoded): + """Recursive bundle-unpacking function""" + if decoded[0] != "#bundle": + self.replies += self.server.dispatchMessage(decoded[0], decoded[1][1:], decoded[2:], self.client_address) + return + + now = time.time() + timetag = decoded[1] + if (timetag > 0.) and (timetag > now): + time.sleep(timetag - now) + + for msg in decoded[2:]: + self._unbundle(msg) + + def handle(self): + """Handle incoming OSCMessage + """ + decoded = decodeOSC(self.packet) + if not len(decoded): + return + + self._unbundle(decoded) + + def finish(self): + """Finish handling OSCMessage. + Send any reply returned by the callback(s) back to the originating client + as an OSCMessage or OSCBundle + """ + if self.server.return_port: + self.client_address = (self.client_address[0], self.server.return_port) + + if len(self.replies) > 1: + msg = OSCBundle() + for reply in self.replies: + msg.append(reply) + elif len(self.replies) == 1: + msg = self.replies[0] + else: + return + + self.server.client.sendto(msg, self.client_address) + +class ThreadingOSCRequestHandler(OSCRequestHandler): + """Multi-threaded OSCRequestHandler; + Starts a new RequestHandler thread for each unbundled OSCMessage + """ + def _unbundle(self, decoded): + """Recursive bundle-unpacking function + This version starts a new thread for each sub-Bundle found in the Bundle, + then waits for all its children to finish. + """ + if decoded[0] != "#bundle": + self.replies += self.server.dispatchMessage(decoded[0], decoded[1][1:], decoded[2:], self.client_address) + return + + now = time.time() + timetag = decoded[1] + if (timetag > 0.) and (timetag > now): + time.sleep(timetag - now) + now = time.time() + + children = [] + + for msg in decoded[2:]: + t = threading.Thread(target = self._unbundle, args = (msg,)) + t.start() + children.append(t) + + # wait for all children to terminate + for t in children: + t.join() + +###### +# +# OSCServer classes +# +###### +class OSCServer(UDPServer, OSCAddressSpace): + """A Synchronous OSCServer + Serves one request at-a-time, until the OSCServer is closed. + The OSC address-pattern is matched against a set of OSC-adresses + that have been registered to the server with a callback-function. + If the adress-pattern of the message machtes the registered address of a callback, + that function is called. + """ + + # set the RequestHandlerClass, will be overridden by ForkingOSCServer & ThreadingOSCServer + RequestHandlerClass = OSCRequestHandler + + # define a socket timeout, so the serve_forever loop can actually exit. + socket_timeout = 1 + + # DEBUG: print error-tracebacks (to stderr)? + print_tracebacks = False + + def __init__(self, server_address, client=None, return_port=0): + """Instantiate an OSCServer. + - server_address ((host, port) tuple): the local host & UDP-port + the server listens on + - client (OSCClient instance): The OSCClient used to send replies from this server. + If none is supplied (default) an OSCClient will be created. + - return_port (int): if supplied, sets the default UDP destination-port + for replies coming from this server. + """ + UDPServer.__init__(self, server_address, self.RequestHandlerClass) + OSCAddressSpace.__init__(self) + + self.setReturnPort(return_port) + self.error_prefix = "" + self.info_prefix = "/info" + + self.socket.settimeout(self.socket_timeout) + + self.running = False + self.client = None + + if client == None: + self.client = OSCClient(server=self) + else: + self.setClient(client) + + def setClient(self, client): + """Associate this Server with a new local Client instance, closing the Client this Server is currently using. + """ + if not isinstance(client, OSCClient): + raise ValueError("'client' argument is not a valid OSCClient object") + + if client.server != None: + raise OSCServerError("Provided OSCClient already has an OSCServer-instance: %s" % str(client.server)) + + # Server socket is already listening at this point, so we can't use the client's socket. + # we'll have to force our socket on the client... + client_address = client.address() # client may be already connected + client.close() # shut-down that socket + + # force our socket upon the client + client.socket = self.socket.dup() + client.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, client.sndbuf_size) + client._fd = client.socket.fileno() + client.server = self + + if client_address: + client.connect(client_address) + if not self.return_port: + self.return_port = client_address[1] + + if self.client != None: + self.client.close() + + self.client = client + + def serve_forever(self): + """Handle one request at a time until server is closed.""" + self.running = True + while self.running: + self.handle_request() # this times-out when no data arrives. + + def close(self): + """Stops serving requests, closes server (socket), closes used client + """ + self.running = False + self.client.close() + self.server_close() + + def __str__(self): + """Returns a string containing this Server's Class-name, software-version and local bound address (if any) + """ + out = self.__class__.__name__ + out += " v%s.%s-%s" % version + addr = self.address() + if addr: + out += " listening on osc://%s" % getUrlStr(addr) + else: + out += " (unbound)" + + return out + + def __eq__(self, other): + """Compare function. + """ + if not isinstance(other, self.__class__): + return False + + return cmp(self.socket._sock, other.socket._sock) + + def __ne__(self, other): + """Compare function. + """ + return not self.__eq__(other) + + def address(self): + """Returns a (host,port) tuple of the local address this server is bound to, + or None if not bound to any address. + """ + try: + return self.socket.getsockname() + except socket.error: + return None + + def setReturnPort(self, port): + """Set the destination UDP-port for replies returning from this server to the remote client + """ + if (port > 1024) and (port < 65536): + self.return_port = port + else: + self.return_port = None + + + def setSrvInfoPrefix(self, pattern): + """Set the first part of OSC-address (pattern) this server will use to reply to server-info requests. + """ + if len(pattern): + pattern = '/' + pattern.strip('/') + + self.info_prefix = pattern + + def setSrvErrorPrefix(self, pattern=""): + """Set the OSC-address (pattern) this server will use to report errors occuring during + received message handling to the remote client. + + If pattern is empty (default), server-errors are not reported back to the client. + """ + if len(pattern): + pattern = '/' + pattern.strip('/') + + self.error_prefix = pattern + + def addDefaultHandlers(self, prefix="", info_prefix="/info", error_prefix="/error"): + """Register a default set of OSC-address handlers with this Server: + - 'default' -> noCallback_handler + the given prefix is prepended to all other callbacks registered by this method: + - ' serverInfo_handler + - ' -> msgPrinter_handler + - '/print' -> msgPrinter_handler + and, if the used Client supports it; + - '/subscribe' -> subscription_handler + - '/unsubscribe' -> subscription_handler + + Note: the given 'error_prefix' argument is also set as default 'error_prefix' for error-messages + *sent from* this server. This is ok, because error-messages generally do not elicit a reply from the receiver. + + To do this with the serverInfo-prefixes would be a bad idea, because if a request received on '/info' (for example) + would send replies to '/info', this could potentially cause a never-ending loop of messages! + Do *not* set the 'info_prefix' here (for incoming serverinfo requests) to the same value as given to + the setSrvInfoPrefix() method (for *replies* to incoming serverinfo requests). + For example, use '/info' for incoming requests, and '/inforeply' or '/serverinfo' or even just '/print' as the + info-reply prefix. + """ + self.error_prefix = error_prefix + self.addMsgHandler('default', self.noCallback_handler) + self.addMsgHandler(prefix + info_prefix, self.serverInfo_handler) + self.addMsgHandler(prefix + error_prefix, self.msgPrinter_handler) + self.addMsgHandler(prefix + '/print', self.msgPrinter_handler) + + if isinstance(self.client, OSCMultiClient): + self.addMsgHandler(prefix + '/subscribe', self.subscription_handler) + self.addMsgHandler(prefix + '/unsubscribe', self.subscription_handler) + + def printErr(self, txt): + """Writes 'OSCServer: txt' to sys.stderr + """ + sys.stderr.write("OSCServer: %s\n" % txt) + + def sendOSCerror(self, txt, client_address): + """Sends 'txt', encapsulated in an OSCMessage to the default 'error_prefix' OSC-addres. + Message is sent to the given client_address, with the default 'return_port' overriding + the client_address' port, if defined. + """ + lines = txt.split('\n') + if len(lines) == 1: + msg = OSCMessage(self.error_prefix) + msg.append(lines[0]) + elif len(lines) > 1: + msg = OSCBundle(self.error_prefix) + for line in lines: + msg.append(line) + else: + return + + if self.return_port: + client_address = (client_address[0], self.return_port) + + self.client.sendto(msg, client_address) + + def reportErr(self, txt, client_address): + """Writes 'OSCServer: txt' to sys.stderr + If self.error_prefix is defined, sends 'txt' as an OSC error-message to the client(s) + (see printErr() and sendOSCerror()) + """ + self.printErr(txt) + + if len(self.error_prefix): + self.sendOSCerror(txt, client_address) + + def sendOSCinfo(self, txt, client_address): + """Sends 'txt', encapsulated in an OSCMessage to the default 'info_prefix' OSC-addres. + Message is sent to the given client_address, with the default 'return_port' overriding + the client_address' port, if defined. + """ + lines = txt.split('\n') + if len(lines) == 1: + msg = OSCMessage(self.info_prefix) + msg.append(lines[0]) + elif len(lines) > 1: + msg = OSCBundle(self.info_prefix) + for line in lines: + msg.append(line) + else: + return + + if self.return_port: + client_address = (client_address[0], self.return_port) + + self.client.sendto(msg, client_address) + + ### + # Message-Handler callback functions + ### + + def handle_error(self, request, client_address): + """Handle an exception in the Server's callbacks gracefully. + Writes the error to sys.stderr and, if the error_prefix (see setSrvErrorPrefix()) is set, + sends the error-message as reply to the client + """ + (e_type, e) = sys.exc_info()[:2] + self.printErr("%s on request from %s: %s" % (e_type.__name__, getUrlStr(client_address), str(e))) + + if self.print_tracebacks: + import traceback + traceback.print_exc() # XXX But this goes to stderr! + + if len(self.error_prefix): + self.sendOSCerror("%s: %s" % (e_type.__name__, str(e)), client_address) + + def noCallback_handler(self, addr, tags, data, client_address): + """Example handler for OSCMessages. + All registerd handlers must accept these three arguments: + - addr (string): The OSC-address pattern of the received Message + (the 'addr' string has already been matched against the handler's registerd OSC-address, + but may contain '*'s & such) + - tags (string): The OSC-typetags of the received message's arguments. (without the preceding comma) + - data (list): The OSCMessage's arguments + Note that len(tags) == len(data) + - client_address ((host, port) tuple): the host & port this message originated from. + + a Message-handler function may return None, but it could also return an OSCMessage (or OSCBundle), + which then gets sent back to the client. + + This handler prints a "No callback registered to handle ..." message. + Returns None + """ + self.reportErr("No callback registered to handle OSC-address '%s'" % addr, client_address) + + def msgPrinter_handler(self, addr, tags, data, client_address): + """Example handler for OSCMessages. + All registerd handlers must accept these three arguments: + - addr (string): The OSC-address pattern of the received Message + (the 'addr' string has already been matched against the handler's registerd OSC-address, + but may contain '*'s & such) + - tags (string): The OSC-typetags of the received message's arguments. (without the preceding comma) + - data (list): The OSCMessage's arguments + Note that len(tags) == len(data) + - client_address ((host, port) tuple): the host & port this message originated from. + + a Message-handler function may return None, but it could also return an OSCMessage (or OSCBundle), + which then gets sent back to the client. + + This handler prints the received message. + Returns None + """ + txt = "OSCMessage '%s' from %s: " % (addr, getUrlStr(client_address)) + txt += str(data) + + self.printErr(txt) # strip trailing comma & space + + def serverInfo_handler(self, addr, tags, data, client_address): + """Example handler for OSCMessages. + All registerd handlers must accept these three arguments: + - addr (string): The OSC-address pattern of the received Message + (the 'addr' string has already been matched against the handler's registerd OSC-address, + but may contain '*'s & such) + - tags (string): The OSC-typetags of the received message's arguments. (without the preceding comma) + - data (list): The OSCMessage's arguments + Note that len(tags) == len(data) + - client_address ((host, port) tuple): the host & port this message originated from. + + a Message-handler function may return None, but it could also return an OSCMessage (or OSCBundle), + which then gets sent back to the client. + + This handler returns a reply to the client, which can contain various bits of information + about this server, depending on the first argument of the received OSC-message: + - 'help' | 'info' : Reply contains server type & version info, plus a list of + available 'commands' understood by this handler + - 'list' | 'ls' : Reply is a bundle of 'address ' messages, listing the server's + OSC address-space. + - 'clients' | 'targets' : Reply is a bundle of 'target osc://:[] [] [...]' + messages, listing the local Client-instance's subscribed remote clients. + """ + if len(data) == 0: + return None + + cmd = data.pop(0) + + reply = None + if cmd in ('help', 'info'): + reply = OSCBundle(self.info_prefix) + reply.append(('server', str(self))) + reply.append(('info_command', "ls | list : list OSC address-space")) + reply.append(('info_command', "clients | targets : list subscribed clients")) + elif cmd in ('ls', 'list'): + reply = OSCBundle(self.info_prefix) + for addr in list(self.callbacks.keys()): + reply.append(('address', addr)) + elif cmd in ('clients', 'targets'): + if hasattr(self.client, 'getOSCTargetStrings'): + reply = OSCBundle(self.info_prefix) + for trg in self.client.getOSCTargetStrings(): + reply.append(('target',) + trg) + else: + cli_addr = self.client.address() + if cli_addr: + reply = OSCMessage(self.info_prefix) + reply.append(('target', "osc://%s/" % getUrlStr(cli_addr))) + else: + self.reportErr("unrecognized command '%s' in /info request from osc://%s. Try 'help'" % (cmd, getUrlStr(client_address)), client_address) + + return reply + + def _subscribe(self, data, client_address): + """Handle the actual subscription. the provided 'data' is concatenated together to form a + ':[] [] [...]' string, which is then passed to + parseUrlStr() & parseFilterStr() to actually retreive , , etc. + + This 'long way 'round' approach (almost) guarantees that the subscription works, + regardless of how the bits of the are encoded in 'data'. + """ + url = "" + have_port = False + for item in data: + if (isinstance(item,int)) and not have_port: + url += ":%d" % item + have_port = True + elif isinstance(item,str): + url += item + + (addr, tail) = parseUrlStr(url) + (prefix, filters) = parseFilterStr(tail) + + if addr != None: + (host, port) = addr + if not host: + host = client_address[0] + if not port: + port = client_address[1] + addr = (host, port) + else: + addr = client_address + + self.client._setTarget(addr, prefix, filters) + + trg = self.client.getOSCTargetStr(addr) + if trg[0] != None: + reply = OSCMessage(self.info_prefix) + reply.append(('target',) + trg) + return reply + + def _unsubscribe(self, data, client_address): + """Handle the actual unsubscription. the provided 'data' is concatenated together to form a + ':[]' string, which is then passed to + parseUrlStr() to actually retreive , & . + + This 'long way 'round' approach (almost) guarantees that the unsubscription works, + regardless of how the bits of the are encoded in 'data'. + """ + url = "" + have_port = False + for item in data: + if (isinstance(item,int)) and not have_port: + url += ":%d" % item + have_port = True + elif isinstance(item,str): + url += item + + (addr, _) = parseUrlStr(url) + + if addr == None: + addr = client_address + else: + (host, port) = addr + if not host: + host = client_address[0] + if not port: + try: + (host, port) = self.client._searchHostAddr(host) + except NotSubscribedError: + port = client_address[1] + + addr = (host, port) + + try: + self.client._delTarget(addr) + except NotSubscribedError as e: + txt = "%s: %s" % (e.__class__.__name__, str(e)) + self.printErr(txt) + + reply = OSCMessage(self.error_prefix) + reply.append(txt) + return reply + + def subscription_handler(self, addr, tags, data, client_address): + """Handle 'subscribe' / 'unsubscribe' requests from remote hosts, + if the local Client supports this (i.e. OSCMultiClient). + + Supported commands: + - 'help' | 'info' : Reply contains server type & version info, plus a list of + available 'commands' understood by this handler + - 'list' | 'ls' : Reply is a bundle of 'target osc://:[] [] [...]' + messages, listing the local Client-instance's subscribed remote clients. + - '[subscribe | listen | sendto | target] [ ...] : Subscribe remote client/server at , + and/or set message-filters for messages being sent to the subscribed host, with the optional + arguments. Filters are given as OSC-addresses (or '*') prefixed by a '+' (send matching messages) or + a '-' (don't send matching messages). The wildcard '*', '+*' or '+/*' means 'send all' / 'filter none', + and '-*' or '-/*' means 'send none' / 'filter all' (which is not the same as unsubscribing!) + Reply is an OSCMessage with the (new) subscription; 'target osc://:[] [] [...]' + - '[unsubscribe | silence | nosend | deltarget] : Unsubscribe remote client/server at + If the given isn't subscribed, a NotSubscribedError-message is printed (and possibly sent) + + The given to the subscribe/unsubscribe handler should be of the form: + '[osc://][][:][]', where any or all components can be omitted. + + If is not specified, the IP-address of the message's source is used. + If is not specified, the is first looked up in the list of subscribed hosts, and if found, + the associated port is used. + If is not specified and is not yet subscribed, the message's source-port is used. + If is specified on subscription, is prepended to the OSC-address of all messages + sent to the subscribed host. + If is specified on unsubscription, the subscribed host is only unsubscribed if the host, + port and prefix all match the subscription. + If is not specified on unsubscription, the subscribed host is unsubscribed if the host and port + match the subscription. + """ + if not isinstance(self.client, OSCMultiClient): + raise OSCServerError("Local %s does not support subsctiptions or message-filtering" % self.client.__class__.__name__) + + addr_cmd = addr.split('/')[-1] + + if len(data): + if data[0] in ('help', 'info'): + reply = OSCBundle(self.info_prefix) + reply.append(('server', str(self))) + reply.append(('subscribe_command', "ls | list : list subscribed targets")) + reply.append(('subscribe_command', "[subscribe | listen | sendto | target] [ ...] : subscribe to messages, set filters")) + reply.append(('subscribe_command', "[unsubscribe | silence | nosend | deltarget] : unsubscribe from messages")) + return reply + + if data[0] in ('ls', 'list'): + reply = OSCBundle(self.info_prefix) + for trg in self.client.getOSCTargetStrings(): + reply.append(('target',) + trg) + return reply + + if data[0] in ('subscribe', 'listen', 'sendto', 'target'): + return self._subscribe(data[1:], client_address) + + if data[0] in ('unsubscribe', 'silence', 'nosend', 'deltarget'): + return self._unsubscribe(data[1:], client_address) + + if addr_cmd in ('subscribe', 'listen', 'sendto', 'target'): + return self._subscribe(data, client_address) + + if addr_cmd in ('unsubscribe', 'silence', 'nosend', 'deltarget'): + return self._unsubscribe(data, client_address) + +class ForkingOSCServer(ForkingMixIn, OSCServer): + """An Asynchronous OSCServer. + This server forks a new process to handle each incoming request. + """ + # set the RequestHandlerClass, will be overridden by ForkingOSCServer & ThreadingOSCServer + RequestHandlerClass = ThreadingOSCRequestHandler + +class ThreadingOSCServer(ThreadingMixIn, OSCServer): + """An Asynchronous OSCServer. + This server starts a new thread to handle each incoming request. + """ + # set the RequestHandlerClass, will be overridden by ForkingOSCServer & ThreadingOSCServer + RequestHandlerClass = ThreadingOSCRequestHandler + +###### +# +# OSCError classes +# +###### + +class OSCError(Exception): + """Base Class for all OSC-related errors + """ + def __init__(self, message): + self.message = message + + def __str__(self): + return self.message + +class OSCClientError(OSCError): + """Class for all OSCClient errors + """ + pass + +class OSCServerError(OSCError): + """Class for all OSCServer errors + """ + pass + +class NoCallbackError(OSCServerError): + """This error is raised (by an OSCServer) when an OSCMessage with an 'unmatched' address-pattern + is received, and no 'default' handler is registered. + """ + def __init__(self, pattern): + """The specified 'pattern' should be the OSC-address of the 'unmatched' message causing the error to be raised. + """ + self.message = "No callback registered to handle OSC-address '%s'" % pattern + +class NotSubscribedError(OSCClientError): + """This error is raised (by an OSCMultiClient) when an attempt is made to unsubscribe a host + that isn't subscribed. + """ + def __init__(self, addr, prefix=None): + if prefix: + url = getUrlStr(addr, prefix) + else: + url = getUrlStr(addr, '') + + self.message = "Target osc://%s is not subscribed" % url + +###### +# +# OSC over streaming transport layers (usually TCP) +# +# Note from the OSC 1.0 specifications about streaming protocols: +# +# The underlying network that delivers an OSC packet is responsible for +# delivering both the contents and the size to the OSC application. An OSC +# packet can be naturally represented by a datagram by a network protocol such +# as UDP. In a stream-based protocol such as TCP, the stream should begin with +# an int32 giving the size of the first packet, followed by the contents of the +# first packet, followed by the size of the second packet, etc. +# +# The contents of an OSC packet must be either an OSC Message or an OSC Bundle. +# The first byte of the packet's contents unambiguously distinguishes between +# these two alternatives. +# +###### + +class OSCStreamRequestHandler(StreamRequestHandler, OSCAddressSpace): + """ This is the central class of a streaming OSC server. If a client + connects to the server, the server instantiates a OSCStreamRequestHandler + for each new connection. This is fundamentally different to a packet + oriented server which has a single address space for all connections. + This connection based (streaming) OSC server maintains an address space + for each single connection, because usually tcp server spawn a new thread + or process for each new connection. This would generate severe + multithreading synchronization problems when each thread would operate on + the same address space object. Therefore: To implement a streaming/TCP OSC + server a custom handler must be implemented which implements the + setupAddressSpace member in which it creates its own address space for this + very connection. This has been done within the testbench and can serve as + inspiration. + """ + def __init__(self, request, client_address, server): + """ Initialize all base classes. The address space must be initialized + before the stream request handler because the initialization function + of the stream request handler calls the setup member which again + requires an already initialized address space. + """ + self._txMutex = threading.Lock() + OSCAddressSpace.__init__(self) + StreamRequestHandler.__init__(self, request, client_address, server) + + def _unbundle(self, decoded): + """Recursive bundle-unpacking function""" + if decoded[0] != "#bundle": + self.replies += self.dispatchMessage(decoded[0], decoded[1][1:], decoded[2:], self.client_address) + return + + now = time.time() + timetag = decoded[1] + if (timetag > 0.) and (timetag > now): + time.sleep(timetag - now) + + for msg in decoded[2:]: + self._unbundle(msg) + + def setup(self): + StreamRequestHandler.setup(self) + print("SERVER: New client connection.") + self.setupAddressSpace() + self.server._clientRegister(self) + + def setupAddressSpace(self): + """ Override this function to customize your address space. """ + pass + + def finish(self): + StreamRequestHandler.finish(self) + self.server._clientUnregister(self) + print("SERVER: Client connection handled.") + def _transmit(self, data): + sent = 0 + while sent < len(data): + tmp = self.connection.send(data[sent:]) + if tmp == 0: + return False + sent += tmp + return True + def _transmitMsg(self, msg): + """Send an OSC message over a streaming socket. Raises exception if it + should fail. If everything is transmitted properly, True is returned. If + socket has been closed, False. + """ + if not isinstance(msg, OSCMessage): + raise TypeError("'msg' argument is not an OSCMessage or OSCBundle object") + + try: + binary = msg.getBinary() + length = len(binary) + # prepend length of packet before the actual message (big endian) + len_big_endian = array.array('c', '\0' * 4) + struct.pack_into(">L", len_big_endian, 0, length) + len_big_endian = len_big_endian.tostring() + if self._transmit(len_big_endian) and self._transmit(binary): + return True + return False + except socket.error as e: + if e[0] == errno.EPIPE: # broken pipe + return False + raise e + + def _receive(self, count): + """ Receive a certain amount of data from the socket and return it. If the + remote end should be closed in the meanwhile None is returned. + """ + chunk = self.connection.recv(count) + if not chunk or len(chunk) == 0: + return None + while len(chunk) < count: + tmp = self.connection.recv(count - len(chunk)) + if not tmp or len(tmp) == 0: + return None + chunk = chunk + tmp + return chunk + + def _receiveMsg(self): + """ Receive OSC message from a socket and decode. + If an error occurs, None is returned, else the message. + """ + # get OSC packet size from stream which is prepended each transmission + chunk = self._receive(4) + if chunk == None: + print("SERVER: Socket has been closed.") + return None + # extract message length from big endian unsigned long (32 bit) + slen = struct.unpack(">L", chunk)[0] + # receive the actual message + chunk = self._receive(slen) + if chunk == None: + print("SERVER: Socket has been closed.") + return None + # decode OSC data and dispatch + msg = decodeOSC(chunk) + if msg == None: + raise OSCError("SERVER: Message decoding failed.") + return msg + + def handle(self): + """ + Handle a connection. + """ + # set socket blocking to avoid "resource currently not available" + # exceptions, because the connection socket inherits the settings + # from the listening socket and this times out from time to time + # in order to provide a way to shut the server down. But we want + # clean and blocking behaviour here + self.connection.settimeout(None) + + print("SERVER: Entered server loop") + try: + while True: + decoded = self._receiveMsg() + if decoded == None: + return + elif len(decoded) <= 0: + # if message decoding fails we try to stay in sync but print a message + print("OSC stream server: Spurious message received.") + continue + + self.replies = [] + self._unbundle(decoded) + + if len(self.replies) > 1: + msg = OSCBundle() + for reply in self.replies: + msg.append(reply) + elif len(self.replies) == 1: + msg = self.replies[0] + else: + # no replies, continue receiving + continue + self._txMutex.acquire() + txOk = self._transmitMsg(msg) + self._txMutex.release() + if not txOk: + break + + except socket.error as e: + if e[0] == errno.ECONNRESET: + # if connection has been reset by client, we do not care much + # about it, we just assume our duty fullfilled + print("SERVER: Connection has been reset by peer.") + else: + raise e + + def sendOSC(self, oscData): + """ This member can be used to transmit OSC messages or OSC bundles + over the client/server connection. It is thread save. + """ + self._txMutex.acquire() + result = self._transmitMsg(oscData) + self._txMutex.release() + return result + +""" TODO Note on threaded unbundling for streaming (connection oriented) +transport: + +Threaded unbundling as implemented in ThreadingOSCServer must be implemented in +a different way for the streaming variant, because contrary to the datagram +version the streaming handler is instantiated only once per connection. This +leads to the problem (if threaded unbundling is implemented as in OSCServer) +that all further message reception is blocked until all (previously received) +pending messages are processed. + +Each StreamRequestHandler should provide a so called processing queue in which +all pending messages or subbundles are inserted to be processed in the future). +When a subbundle or message gets queued, a mechanism must be provided that +those messages get invoked when time asks for them. There are the following +opportunities: + - a timer is started which checks at regular intervals for messages in the + queue (polling - requires CPU resources) + - a dedicated timer is started for each message (requires timer resources) +""" + +class OSCStreamingServer(TCPServer): + """ A connection oriented (TCP/IP) OSC server. + """ + + # define a socket timeout, so the serve_forever loop can actually exit. + # with 2.6 and server.shutdown this wouldn't be necessary + socket_timeout = 1 + + # this is the class which handles a new connection. Override this for a + # useful customized server. See the testbench for an example + RequestHandlerClass = OSCStreamRequestHandler + + def __init__(self, address): + """Instantiate an OSCStreamingServer. + - server_address ((host, port) tuple): the local host & UDP-port + the server listens for new connections. + """ + self._clientList = [] + self._clientListMutex = threading.Lock() + TCPServer.__init__(self, address, self.RequestHandlerClass) + self.socket.settimeout(self.socket_timeout) + + def serve_forever(self): + """Handle one request at a time until server is closed. + Had to add this since 2.5 does not support server.shutdown() + """ + self.running = True + while self.running: + self.handle_request() # this times-out when no data arrives. + + def start(self): + """ Start the server thread. """ + self._server_thread = threading.Thread(target=self.serve_forever) + self._server_thread.setDaemon(True) + self._server_thread.start() + + def stop(self): + """ Stop the server thread and close the socket. """ + self.running = False + self._server_thread.join() + self.server_close() + # 2.6 only + #self.shutdown() + + def _clientRegister(self, client): + """ Gets called by each request/connection handler when connection is + established to add itself to the client list + """ + self._clientListMutex.acquire() + self._clientList.append(client) + self._clientListMutex.release() + + def _clientUnregister(self, client): + """ Gets called by each request/connection handler when connection is + lost to remove itself from the client list + """ + self._clientListMutex.acquire() + self._clientList.remove(client) + self._clientListMutex.release() + + def broadcastToClients(self, oscData): + """ Send OSC message or bundle to all connected clients. """ + result = True + for client in self._clientList: + result = result and client.sendOSC(oscData) + return result + +class OSCStreamingServerThreading(ThreadingMixIn, OSCStreamingServer): + pass + """ Implements a server which spawns a separate thread for each incoming + connection. Care must be taken since the OSC address space is for all + the same. + """ + +class OSCStreamingClient(OSCAddressSpace): + """ OSC streaming client. + A streaming client establishes a connection to a streaming server but must + be able to handle replies by the server as well. To accomplish this the + receiving takes place in a secondary thread, because no one knows if we + have to expect a reply or not, i.e. synchronous architecture doesn't make + much sense. + Replies will be matched against the local address space. If message + handlers access code of the main thread (where the client messages are sent + to the server) care must be taken e.g. by installing sychronization + mechanisms or by using an event dispatcher which can handle events + originating from other threads. + """ + # set outgoing socket buffer size + sndbuf_size = 4096 * 8 + rcvbuf_size = 4096 * 8 + + def __init__(self): + self._txMutex = threading.Lock() + OSCAddressSpace.__init__(self) + self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, self.sndbuf_size) + self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, self.rcvbuf_size) + self.socket.settimeout(1.0) + self._running = False + + def _receiveWithTimeout(self, count): + chunk = str() + while len(chunk) < count: + try: + tmp = self.socket.recv(count - len(chunk)) + except socket.timeout: + if not self._running: + print("CLIENT: Socket timed out and termination requested.") + return None + else: + continue + except socket.error as e: + if e[0] == errno.ECONNRESET: + print("CLIENT: Connection reset by peer.") + return None + else: + raise e + if not tmp or len(tmp) == 0: + print("CLIENT: Socket has been closed.") + return None + chunk = chunk + tmp + return chunk + def _receiveMsgWithTimeout(self): + """ Receive OSC message from a socket and decode. + If an error occurs, None is returned, else the message. + """ + # get OSC packet size from stream which is prepended each transmission + chunk = self._receiveWithTimeout(4) + if not chunk: + return None + # extract message length from big endian unsigned long (32 bit) + slen = struct.unpack(">L", chunk)[0] + # receive the actual message + chunk = self._receiveWithTimeout(slen) + if not chunk: + return None + # decode OSC content + msg = decodeOSC(chunk) + if msg == None: + raise OSCError("CLIENT: Message decoding failed.") + return msg + + def _receiving_thread_entry(self): + print("CLIENT: Entered receiving thread.") + self._running = True + while self._running: + decoded = self._receiveMsgWithTimeout() + if not decoded: + break + elif len(decoded) <= 0: + continue + + self.replies = [] + self._unbundle(decoded) + if len(self.replies) > 1: + msg = OSCBundle() + for reply in self.replies: + msg.append(reply) + elif len(self.replies) == 1: + msg = self.replies[0] + else: + continue + self._txMutex.acquire() + txOk = self._transmitMsgWithTimeout(msg) + self._txMutex.release() + if not txOk: + break + print("CLIENT: Receiving thread terminated.") + + def _unbundle(self, decoded): + if decoded[0] != "#bundle": + self.replies += self.dispatchMessage(decoded[0], decoded[1][1:], decoded[2:], self.socket.getpeername()) + return + + now = time.time() + timetag = decoded[1] + if (timetag > 0.) and (timetag > now): + time.sleep(timetag - now) + + for msg in decoded[2:]: + self._unbundle(msg) + + def connect(self, address): + self.socket.connect(address) + self.receiving_thread = threading.Thread(target=self._receiving_thread_entry) + self.receiving_thread.start() + + def close(self): + # let socket time out + self._running = False + self.receiving_thread.join() + self.socket.close() + + def _transmitWithTimeout(self, data): + sent = 0 + while sent < len(data): + try: + tmp = self.socket.send(data[sent:]) + except socket.timeout: + if not self._running: + print("CLIENT: Socket timed out and termination requested.") + return False + else: + continue + except socket.error as e: + if e[0] == errno.ECONNRESET: + print("CLIENT: Connection reset by peer.") + return False + else: + raise e + if tmp == 0: + return False + sent += tmp + return True + + def _transmitMsgWithTimeout(self, msg): + if not isinstance(msg, OSCMessage): + raise TypeError("'msg' argument is not an OSCMessage or OSCBundle object") + binary = msg.getBinary() + length = len(binary) + # prepend length of packet before the actual message (big endian) + len_big_endian = array.array('c', '\0' * 4) + struct.pack_into(">L", len_big_endian, 0, length) + len_big_endian = len_big_endian.tostring() + if self._transmitWithTimeout(len_big_endian) and self._transmitWithTimeout(binary): + return True + else: + return False + + def sendOSC(self, msg): + """Send an OSC message or bundle to the server. Returns True on success. + """ + self._txMutex.acquire() + txOk = self._transmitMsgWithTimeout(msg) + self._txMutex.release() + return txOk + + def __str__(self): + """Returns a string containing this Client's Class-name, software-version + and the remote-address it is connected to (if any) + """ + out = self.__class__.__name__ + out += " v%s.%s-%s" % version + addr = self.socket.getpeername() + if addr: + out += " connected to osc://%s" % getUrlStr(addr) + else: + out += " (unconnected)" + + return out + + def __eq__(self, other): + """Compare function. + """ + if not isinstance(other, self.__class__): + return False + + isequal = cmp(self.socket._sock, other.socket._sock) + if isequal and self.server and other.server: + return cmp(self.server, other.server) + + return isequal + + def __ne__(self, other): + """Compare function. + """ + return not self.__eq__(other) diff --git a/libs/__init__.py b/libs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/libs/__init__.pyc b/libs/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..81e9352477583d93694ad2d9b0057bcbd16da35d GIT binary patch literal 129 zcmZSn%*!=bXI@M)0~9a 0: + + print("with serial names", portname) + mydmx = pysimpledmx.DMXConnection(gstt.serdmx[0]) + senddmx0() + time.sleep(1) + + # Send a random value to channel 1 + vrand=random.randint(0,255) + senddmx(1,vrand) + +else: + mydmx = False + print("No DMX found, Art-Net receiver only.") + + +# +# OSC +# + +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 +#oscrun = True + +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True + +# funny python's way to add a method to an instance of a class +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) + + +# default handler +def OSChandler(path, tags, args, source): + + oscaddress = ''.join(path.split("/")) + print("Default OSC Handler : msg from Client : " + str(source[0]),) + print("OSC address", path, "with",) + if len(args) > 0: + print("args", args) + else: + print("noargs") + #oscIPout = str(source[0]) + #osclient.connect((oscIPout, oscPORTout)) + + +# RAW OSC Frame available ? +def OSCframe(): + + # clear timed_out flag + print ("oscframe") + oscserver.timed_out = False + # handle all pending requests then return + while not oscserver.timed_out: + oscserver.handle_request() + + +# Stop osc server +def OSCstop(): + + oscrun = False + oscserver.close() + + +# /sendmx channel value +def OSCsendmx(path, tags, args, source): + + channel = args[0] + val = args[1] + updateDmxValue(channel, val) + + +lj.addOSCdefaults(oscserver) +lj.SendLJ("/pong", "artnet") +lj.WebStatus("Artnet Running...") + +oscserver.addMsgHandler( "/sendmx", OSCsendmx ) + +# +# Running... +# + + +print ("Starting, use Ctrl+C to stop") +print (lj.oscrun) + +try: + + while lj.oscrun: + + data = sock.recv(10240) + if len(data) < 20: + continue + + if data[0:7] != "Art-Net" or data[7] != "\0": + print("artnet package") + #lj.WebStatus("Artnet package") + continue + OSCframe() + + if ord(data[8]) != 0x00 or ord(data[9]) != 0x50: + print("OpDmx") + continue + + print ("oscrun", lj.oscrun) + protverhi = ord(data[10]) + protverlo = ord(data[11]) + sequence = ord(data[12]) + physical = ord(data[13]) + subuni = ord(data[14]) + net = ord(data[15]) + lengthhi = ord(data[16]) + length = ord(data[17]) + dmx = data[18:] + + print (data[0:7], "version :",lhex(data[10])+lhex(data[11]), "sequence :", sequence, "physical", physical, "subuni",subuni,"net", net) + + for i in xrange(0,510): + updateDmxValue(i+1,dmx[i]) + + +except Exception: + traceback.print_exc() + +finally: + + lj.ClosePlugin() + sock.close() + OSCstop() +''' +import sys, socket, math, time +from ctypes import * + +class Artnet: + class ArtNetDMXOut(LittleEndianStructure): + PORT = 0x1936 + _fields_ = [("id", c_char * 8), + ("opcode", c_ushort), + ("protverh", c_ubyte), + ("protver", c_ubyte), + ("sequence", c_ubyte), + ("physical", c_ubyte), + ("universe", c_ushort), + ("lengthhi", c_ubyte), + ("length", c_ubyte), + ("payload", c_ubyte * 512)] + + def __init__(self): + self.id = b"Art-Net" + self.opcode = 0x5000 + self.protver = 14 + self.universe = 0 + self.lengthhi = 2 + + def __init__(self): + self.artnet = Artnet.ArtNetDMXOut() + self.S = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) + for i in range(512): + self.artnet.payload[i] = 0 + + def send(self,data,IP,port): + # send(送るデータ,IPアドレス,ポート番号) + self.artnet.universe = port + for i in range(512): + if(i < len(data)): + self.artnet.payload[i] = data[i] + else: + break + self.S.sendto(self.artnet,(IP,Artnet.ArtNetDMXOut.PORT)) + +if __name__ == '__main__': + artnet = Artnet() + data = [0] * 512 + for i in range(150): + data[i*3+0] = 0 + data[i*3+1] = 0 + data[i*3+2] = 0 +artnet.send(data,"133.15.42.111",5) +''' diff --git a/libs/audio.py b/libs/audio.py new file mode 100755 index 0000000..11126e1 --- /dev/null +++ b/libs/audio.py @@ -0,0 +1,292 @@ + +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +""" +Audio Spectrum analyser +v0.7.0 + +- summed given fft in n bands, but re normalized between 0 - 70? +- Peaks L and R +- amplitude for given target frequency and PEAK frequency +- "music note" to given frequency +- Real FFT, Imaginary FFT, Real + imaginary FFT +- threshold detection + +todo : + + +by Sam Neurohack +from /team/laser + +for python 2 & 3 + +Stereo : CHANNELS = 2 +mono : CHANNELS = 1 + +""" + + +import numpy as np +import pyaudio +from math import log, pow + +#import matplotlib.pyplot as plt + +#from scipy.interpolate import Akima1DInterpolator +#import matplotlib.pyplot as plt + +DEVICE = 3 +CHANNELS = 2 +START = 0 +RATE = 44100 # time resolution of the recording device (Hz) +CHUNK = 4096 # number of data points to read at a time. Almost 10 update/second +TARGET = 2100 # show only this one frequency + + +A4 = 440 +C0 = A4*pow(2, -4.75) +name = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"] +data = [] + +p = pyaudio.PyAudio() # start the PyAudio class +stream = p.open(format = pyaudio.paInt16, channels = CHANNELS, input_device_index = DEVICE, rate=RATE, input=True, + frames_per_buffer=CHUNK) #uses default input device + + +# +# Audio devices & audiogen functions +# + +def list_devices(): + # List all audio input devices + p = pyaudio.PyAudio() + i = 0 + n = p.get_device_count() + print (n,"devices found") + while i < n: + dev = p.get_device_info_by_index(i) + if dev['maxInputChannels'] > 0: + print (str(i)+'. '+dev['name']) + i += 1 + + +def valid_input_devices(self): + """ + See which devices can be opened for microphone input. + call this when no PyAudio object is loaded. + """ + mics=[] + for device in range(self.p.get_device_count()): + if self.valid_test(device): + mics.append(device) + if len(mics)==0: + print("no microphone devices found!") + else: + print("found %d microphone devices: %s"%(len(mics),mics)) + return mics + + + +def loop(): + try: + + #plt.ion() + + #plt.axis([x[0], x[-1], -0.1, max_f]) + fftbands = [0,1,2,3,4,5,6,7,8,9] + plt.xlabel('frequencies') + plt.ylabel('amplitude') + data = audioinput() + drawfreq, fft = allfft(data) + #lines = plt.plot(drawfreq, fft) + + #plt.axis([drawfreq[0], drawfreq[-1], 0, np.max(fft)]) + #plt.plot(drawfreq, fft) + #plt.show() + #line, = plt.plot(fftbands, levels(fft,10)) + line, = plt.plot(drawfreq, fft) + #while True : + for i in range(50): + + data = audioinput() + + # smooth the FFT by windowing data + #data = data * np.hanning(len(data)) + + # conversion to -1 to +1 + # normed_samples = (data / float(np.iinfo(np.int16).max)) + + # Left is channel 0 + dataL = data[0::2] + # Right is channel 1 + dataR = data[1::2] + + # Peaks L and R + peakL = np.abs(np.max(dataL)-np.min(dataL))/CHUNK + peakR = np.abs(np.max(dataR)-np.min(dataR))/CHUNK + # print(peakL, peakR) + + drawfreq, fft = allfft(data) + #fft, fftr, ffti, fftb, drawfreq = allfft(data) + + #line.set_ydata(levels(fft,10)) + line.set_ydata(fft) + plt.pause(0.01) + #print(drawfreq) + #print(fft) + #print (levels(fft,10)) + + #line.set_ydata(fft) + #plt.pause(0.01) # pause avec duree en secondes + + # lines = plt.plot(x, y) + #lines[0].set_ydata(fft) + #plt.legend(['s=%4.2f' % s]) + #plt.draw() + #plt.show() + + + + ''' + targetpower,freqPeak = basicfft(audioinput(stream)) + print("amplitude", targetpower, "@", TARGET, "Hz") + if freqPeak > 0.0: + print("peak frequency: %d Hz"%freqPeak, pitch(freqPeak)) + ''' + plt.show() + + except KeyboardInterrupt: + stream.stop_stream() + stream.close() + p.terminate() + + print("End...") + +# Close properly +def close(): + stream.stop_stream() + stream.close() + p.terminate() + + +# Return "music note" to given frequency +def pitch(freq): + h = round(12*(log(freq/C0)/log(2))) + octave = h // 12 + n = h % 12 + return name[n] + str(octave) + + +# Return summed given fft in n bands, but re normalized 0 - 70 +def levels(fourier, bands): + + size = int(len(fourier)) + levels = [0.0] * bands + + # Add up for n bands + # remove normalizer if you want raw added data in all bands + normalizer = size/bands + #print (size,bands,size/bands) + levels = [sum(fourier[I:int(I+size/bands)])/normalizer for I in range(0, size, int(size/bands))][:bands] + + for band in range(bands): + if levels[band] == np.NINF: + levels[band] =0 + + + return levels + + +# read CHUNK size in audio buffer +def audioinput(): + + # When reading from our 16-bit stereo stream, we receive 4 characters (0-255) per + # sample. To get them in a more convenient form, numpy provides + # fromstring() which will for each 16 bits convert it into a nicer form and + # turn the string into an array. + return np.fromstring(stream.read(CHUNK),dtype=np.int16) + +# power for given TARGET frequency and PEAK frequency +# do fft first. No conversion in 'powers' +def basicfft(data): + + #data = data * np.hanning(len(data)) # smooth the FFT by windowing data + fft = abs(np.fft.fft(data).real) + #fft = 10*np.log10(fft) + fft = fft[:int(len(fft)/2)] # first half of fft + + freq = np.fft.fftfreq(CHUNK,1.0/RATE) + freq = freq[:int(len(freq)/2)] # first half of FFTfreq + + assert freq[-1]>TARGET, "ERROR: increase chunk size" + + # return power for given TARGET frequency and peak frequency + return fft[np.where(freq > TARGET)[0][0]], freq[np.where(fft == np.max(fft))[0][0]]+1 + + +# todo : Try if data = 1024 ? +# in "power' (0-70?) get Real FFT, Imaginary FFT, Real + imaginary FFT +def allfft(data): + + #print ("allfft", len(data)) + fft = np.fft.fft(data) + #print("fft",len(fft)) + fftr = 10*np.log10(abs(fft.real))[:int(len(data)/2)] + ffti = 10*np.log10(abs(fft.imag))[:int(len(data)/2)] + fftb = 10*np.log10(np.sqrt(fft.imag**2+fft.real**2))[:int(len(data)/2)] + #print("fftb",len(fftb)) + drawfreq = np.fft.fftfreq(np.arange(len(data)).shape[-1])[:int(len(data)/2)] + drawfreq = drawfreq*RATE/1000 #make the frequency scale + #return fft, fftr, ffti, fftb, drawfreq + return drawfreq, fftb + + # Draw Original datas + # X : np.arange(len(data))/float(rate)*1000 + # Y : data + + # Draw real FFT + # X : drawfreq + # Y : fftr + + # Draw imaginary + # X : drawfreq + # Y : ffti + + # Draw Real + imaginary + # X : drawfreq + # Y : fftb + + +# True if any value in the data is greater than threshold and after a certain delay +def ding(right,threshold): + if max(right) > threshold and time.time() - last_run > min_delay: + return True + else: + return False + last_run = time.time() + + +if __name__ == "__main__": + + + loop() +''' +x = np.linspace(0, 3, 100) +k = 2*np.pi +w = 2*np.pi +dt = 0.01 + +t = 0 +for i in range(50): + y = np.cos(k*x - w*t) + if i == 0: + line, = plt.plot(x, y) + else: + line.set_ydata(y) + plt.pause(0.01) # pause avec duree en secondes + t = t + dt + +plt.show() +''' + diff --git a/libs/bhoreal.py b/libs/bhoreal.py new file mode 100644 index 0000000..4051aa6 --- /dev/null +++ b/libs/bhoreal.py @@ -0,0 +1,271 @@ +# coding=UTF-8 +""" +Bhoreal +v0.7.0 +Bhoreal Led matrix Handler + +Start a dedicated thread to handle incoming events from launchpad. + +Cls() +AllColor(color) +StarttBhoreal(port) : Start animation + +Led Matrix can be access with X and Y coordinates and as midi note (0-63) + +NoteOn(note,color) +NoteOff(note) +NoteOnXY(x,y,color): +NoteOffXY(x,y): +NoteXY(x,y): + +gstt.BhorLeds[] array stores matrix current state + +by Sam Neurohack +from /team/laser + +""" + +import time +from rtmidi.midiconstants import (CHANNEL_PRESSURE, CONTROLLER_CHANGE, NOTE_ON, NOTE_OFF, + PITCH_BEND, POLY_PRESSURE, PROGRAM_CHANGE) +import gstt, midi3 +import sys + +gstt.BhorLeds = [0]*65 + + +Here = -1 +from queue import Queue + +def NoteOn(note,color): + + print ("bhoreal noteon", note, color) + msg = [NOTE_ON, note, color] + midi3.send(msg,"Bhoreal") + gstt.BhorLeds[note]=color + +def NoteOff(note): + msg = [NOTE_OFF, note, 0] + midi3.send(msg,"Bhoreal") + gstt.BhorLeds[note]=0 + + +def NoteOnXY(x,y,color): + #print x,y + msg = [NOTE_ON, NoteXY(x,y), color] + midi3.send(msg,"Bhoreal") + gstt.BhorLeds[NoteXY(x,y)]=color + +def NoteOffXY(x,y): + msg = [NOTE_OFF, NoteXY(x,y), 0] + midi3.send(msg,"Bhoreal") + gstt.BhorLeds[NoteXY(x,y)]=0 + + +# Leds position are humans numbers 1-8. So -1 for pythonic array position 0-7 +def NoteXY(x,y): + note = (x -1)+ (y-1) * 8 + return note + +def Index(note): + y=note/8 + x=note%8 + #print "Note : ",note + #print "BhorIndex : ", x+1,y+1 + return int(x+1),int(y+1) + +# +# Bhoreal Start anim +# + +# AllColor for bhoreal on given port + +def AllColor(port,color): + for led in range(0,64,1): + msg = [NOTE_ON, led, color] + midi3.send(msg,"Bhoreal") + +# Cls for bhoreal on given port + +def Cls(port): + for led in range(0,64,1): + msg = [NOTE_OFF, led, 0] + midi3.send(msg,"Bhoreal") + + + +def StartBhoreal(port): + + Cls(port) + time.sleep(0.2) + for color in range(0,126,1): + AllColor(port,color) + time.sleep(0.02) + time.sleep(0.2) + Cls(port) + + + +def UpdateLine(line,newval): + if gstt.BhorealHere != -1: + for led in range(8): + NoteOffXY(led,line) + + NoteOnXY(newval,line,64) + + + +# Update Laser +def Noteon_Update(note): + + ''' + # forward new instruction ? + if gstt.MyLaser != gstt.Laser: + doit = jumplaser.get(gstt.Laser) + doit("/noteon",note) + ''' + # + + + if note < 8: + pass + + # + if note > 7 and note < 16: + pass + + # + if note > 15 and note < 24: + pass + + # change current simulator PL + if note > 23 and note < 32: + pass + + if note == 57 or note == 58: + pass + + if note > 58: + pass + +''' +# todo 57 Color mode : Rainbow +# 58 Color mode : RGB + +# Notes for Curve : 0-7 +def UpdateCurve(): + print ("New Curve :", gstt.Curve) + if gstt.BhorealHere != -1: + for led in range(0,8): + NoteOff(led) + NoteOn(gstt.Curve,20) + +# Notes for set : 8-15 +def UpdateSet(): + print ("New Set :", gstt.Set) + if gstt.BhorealHere != -1: + for led in range(9,17): + NoteOff(led) + NoteOn(gstt.Set+8,10) + +# Note for current laser : 16-23 +def UpdateLaser(): + print ("New Laser :", gstt.Laser) + if gstt.BhorealHere != -1: + for led in range(16,24): + NoteOff(led) + NoteOn(gstt.Laser+16,30) + +# Note for PL displayed in pygame window : 24-31 +def UpdateSimu(): + print ("New simuPL :", gstt.simuPL) + if gstt.BhorealHere != -1: + for led in range(24,32): + NoteOff(led) + NoteOn(gstt.simuPL+24,40) +''' + +# +# Events from Bhoreal handling +# + +# Process events coming from Bhoreal in a separate thread. +def MidinProcess(bhorqueue): + + #print() + #print("bhoreal midi in process started with queue", bhorqueue) + #print() + bhorqueue_get = bhorqueue.get + while True: + + msg = bhorqueue_get() + + # Bhoreal Led pressed + print ("Bhoreal Matrix : ", str(msg[1]), gstt.BhorLeds[msg[1]]) + + if msg[0] == NOTE_ON and msg[2] == 64: + # led + NoteOn(msg[1],64) + + # Bhoreal Led depressed + elif msg[0] == NOTE_ON and msg[2] == 0: + NoteOn(msg[1],0) + + ''' + + print "Bhoreal Matrix : ", str(msg[1]), str(gstt.BhorLeds[msg[1]]) + + if msg[1]< 8: + gstt.Curve = msg[1] + UpdateCurve() + + if msg[1]> 7 and msg[1] < 16: + gstt.Set = msg[1]-8 + UpdateSet() + + if msg[1]> 15 and msg[1] < 24: + gstt.Laser = msg[1]-16 + UpdateLaser() + + if msg[1]> 23 and msg[1] < 31: + gstt.simuPL = msg[1]-24 + UpdateSimu() + + #Bhoreal send back note on and off to light up the led. + if msg[1]> 56: + if gstt.BhorLeds[msg[1]] < 115: + gstt.BhorLeds[msg[1]] += 10 + #midi3.NoteOn(msg[1],gstt.BhorLeds[msg[1]]) + + #time.sleep(0.1) + #midi3.NoteOff(msg[1]) + ''' +bhorqueue = Queue() + + +# New Bhoreal call back : new msg forwarded to Bhoreal queue +class AddQueue(object): + def __init__(self, portname): + self.portname = portname + self._wallclock = time.time() + + + def __call__(self, event, data=None): + message, deltatime = event + self._wallclock += deltatime + print("[%s] @%0.6f %r" % (self.portname, self._wallclock, message)) + bhorqueue.put(message) + +''' +# Old Bhoreal call back : new msg forwarded to Bhoreal queue +class AddQueue(object): + def __init__(self, port): + self.port = port + self._wallclock = time.time() + + def __call__(self, event, data=None): + message, deltatime = event + self._wallclock += deltatime + print("[%s] @%0.6f %r" % (self.port, self._wallclock, message)) + bhorqueue.put(message) +''' diff --git a/libs/bhoreal.pyc b/libs/bhoreal.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db51e958caf96a65b6445bfc8c6809bec6edf227 GIT binary patch literal 5728 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 literal 0 HcmV?d00001 diff --git a/commands.py b/libs/commands.py similarity index 80% rename from commands.py rename to libs/commands.py index d1cba90..8053ae2 100644 --- a/commands.py +++ b/libs/commands.py @@ -46,6 +46,8 @@ lsteps is a string like "[ (1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)]" /planet will be forwarded to planetarium client. /nozoid will be forwarded to nozoid client. +/scene/scenenumber/start 0 or 1 + 0 : display user pointlist with current client key. See below for client key. 1 : pull in redis a new correction matrix (EDH) 2 : display black @@ -78,16 +80,15 @@ Bob could use /pl/2/0 and /pl/2/1 and Lisa could use /pl/2/2 and /pl/2/3. """ from __future__ import absolute_import import types, time -import gstt -import homographyp -import settings +from libs import gstt import redis -import plugins + +from libs import settings, plugins, homographyp r = redis.StrictRedis(host=gstt.LjayServerIP , port=6379, db=0) -GenericCommands = ["start","ljclient","clientnumber","noteon","ljpong","ljwars","mouse","emergency","simu","status","run","nozoid","planet","live","words","ai","bank0","pose","lj","cycl","glyph","pong"] +GenericCommands = ["start","align","ljclient","scene","addest","deldest","clientnumber","vcvrack","fft","midigen","viewgen","audiogen","noteon","cc","ljpong","ljwars","mouse","emergency","simu","status","run","nozoid","planet","live","words","ai","bank0","pose","lj","cycl","glyph","pong"] @@ -135,17 +136,33 @@ def LasClientChange(clientnumber): if r.get("/pl/"+str(clientnumber)+"/0") != None: print "Switching to laser client", clientnumber - gstt.LasClientNumber = clientnumber - plugins.sendWSall("/status Client " + str(gstt.LasClientNumber) + " laser " + str(gstt.Laser)) + gstt.SceneNumber = clientnumber + plugins.sendWSall("/status Client " + str(gstt.SceneNumber) + " laser " + str(gstt.Laser)) r.set('/clientkey', "/pl/"+str(clientnumber)+"/") print "clientkey set to", "/pl/"+str(clientnumber)+"/" for laserid in xrange(0,gstt.LaserNumber): r.set('/order/'+str(laserid), 5) else: - print "ERROR : MaxLasClient is set to ", gstt.MaxLasClient + print "ERROR : Maximum number of scenes is set to ", gstt.MaxScenes +def SceneChange(newscene): + + print "Switching to scene", newscene + gstt.SceneNumber = int(newscene) + plugins.sendWSall("/status Scene " + newscene) + + r.set('/clientkey', "/pl/"+ newscene +"/") + print "clientkey set to", "/pl/" + newscene + "/" + + for laserid in xrange(0,gstt.LaserNumber): + r.set('/order/'+str(laserid), 5) + plugins.sendWSall("/scene/" + str(laserid) + "/start 0") + + plugins.sendWSall("/scene/" + newscene + "/start 1") + + def NoteOn(note): print "NoteOn", note @@ -158,13 +175,17 @@ def NoteOn(note): if note > 23 and note < 32: if note - 24 > gstt.LaserNumber -1: print "Only",gstt.LaserNumber,"lasers asked, you dum ass !" - plugins.sendWSall("/status Not Enough Laser") + plugins.sendWSall("/status Not Enough Lasers") else: gstt.Laser = note -24 - plugins.sendWSall("/status Client " + str(gstt.LasClientNumber) + " laser " + str(gstt.Laser)) + plugins.sendWSall("/status Scene " + str(gstt.SceneNumber) + " laser " + str(gstt.Laser)) print "Current Laser switched to", gstt.Laser +def CC(number, value): + print "CC", note, value + + def Mouse(x1,y1,x2,y2): print "Mouse", x1,y1,x2,y2 @@ -173,28 +194,60 @@ def Mouse(x1,y1,x2,y2): def handler(oscpath, args): #print "" - print "OSC handler in commands.py got /"+ str(oscpath)+ " with args :",args + if gstt.debug > 0: + print "OSC handler in commands.py got /"+ str(oscpath)+ " with args :",args # 2 incoming cases : generic or specific for a given lasernumber : # Generic : Commands without a laser number if oscpath[1] in GenericCommands: - print "GenericCommand :",oscpath[1],"with args",args + if gstt.debug > 0: + print "GenericCommand :",oscpath[1],"with args",args + if oscpath[1] == "ljclient": - LasClientChange(int(args[0])) + #LasClientChange(int(args[0])) + SceneChange(args[0]) + + + #/scene/scenenumber/start 0 or 1 + if oscpath[1] == "scene": + + print oscpath[1], oscpath[2], args[0] + if args[0] == '1' and r.get("/pl/" + oscpath[2] + "/0") != None: + SceneChange(oscpath[2]) + else: + print "ERROR : Maximum number of scenes is set to ", gstt.MaxScenes elif oscpath[1] == "noteon": NoteOn(int(args[0])) + elif oscpath[1] == "CC": + CC(int(args[0]), int(args[1])) + + elif oscpath[1] == "pong": - print "LJ commands got pong from", args - plugins.sendWSall("/" + args[0] + "start 1") + #print "LJ commands got pong from", args + print("/" + args[0] + "/start 1") + plugins.sendWSall("/" + args[0] + "/start 1") + print("/status got pong from "+ args[0] +".") plugins.sendWSall("/status got pong from "+ args[0] +".") - + + + elif oscpath[1] == "vcvrack": + pass + ''' + #print "LJ commands got /vcvrack from", args + if oscpath[2] == "1" : + r.set('/vcvrack/1', args[0]) + #print('/vcvrack/1', args[0]) + if oscpath[2] == "2" : + r.set('/vcvrack/2', args[0]) + #print('/vcvrack/2', args[0]) + ''' elif oscpath[1] == "mouse": Mouse(int(args[0]),int(args[1]),int(args[2]),int(args[3])) @@ -220,9 +273,13 @@ def handler(oscpath, args): # Commands with a laser number else: pathlength = len(oscpath) + print("oscpath", oscpath) + + print("pathlength", pathlength) if pathlength == 3: laser = int(oscpath[2]) + else: laser = int(oscpath[3]) diff --git a/libs/commands.pyc b/libs/commands.pyc new file mode 100644 index 0000000000000000000000000000000000000000..efd36c38a29738aa52cb46fe988822110b7206e3 GIT binary patch literal 11301 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 literal 0 HcmV?d00001 diff --git a/font1.py b/libs/font1.py similarity index 100% rename from font1.py rename to libs/font1.py diff --git a/libs/font1.pyc b/libs/font1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c264d17d51ca1b451d572ee8e23afcd43e939bb GIT binary patch literal 8361 zcmdT}cYKsp7Ckoslq`s#h=^kBu@SI~6+;n3RDz;dV#pbW!4%9)6cp^e_ulLF-h1!s z_U3lC@4D4px2x}+alP}qzezUv`PXKC-Nx zdOtE9<)=pj1XiTczy@?1R-{QIE=!9I;6!i|xCOW+I2py!;8x%iaBCDB!KvUj;52Ys za6521ietd-!Des=a7S<_aA$BA6gL5P1$P5mz}-8m`@IByr!S{*(e((d}2esQD0zV9X1pFxYF{OMQ`~>((@KfsI z)8J>o&w`%=KQF=;z%PPd0-plEtd*~TUj@GgejWS<_)WQd3;Z_t9q_y0)8O~C_dZ)`U1 zVBFETljTckXX7r$U5&dLTa3HQZV%(0#=VSt8)q0>jWeY)%eaqmU*mqV+uwMA@j&B2 z#)BGvGG1-G#(1q9uQOh6yuo;*;7!Jxjkl=UTaC9FZ#Ujyyi?Y9 z8Shr__ZaWhC53_hzSW&wXEisi z>hJ4mZmkqLds@3Y%Z2`wQF<}`E$M1VilfpoCLL|*D7UAf2yAS?y7{O88-S^EPoIsA zjo8qDHHJzWQ%#1c8>(+pUS4UauB5jq8w{%&ajC)1o`~fsuf3%)=`Jay0j1OlTC!9>0G}DK=r42*w08BeP+s5L z)w+05YjV;Uwl9Mn*HD(zosdRizw zlV_P;dN$88sq}oF?UZL*=3#0cUdU?`@+|LqOCDUM3MG|?Dttx03gwa4>gLMaqls26 ztx6728Ra6Y(Lk23M+GybN>;8LDe5q^FtoCwt}LnCWldE<*CyZXsB7x zt9sQ%x{;(D%EIxlVdz)Ti&SoaZX~k9U{nt}IphlFq3+2bDKA6hL17>Z`flVj zU0YS7dS!%|iu4m-Fs>&)dPW|Va)3eEp~w#FDG%C$$Q~68 zz77=)MxLuO9Eu#EONs0-^K^$&b6$C_$iX*2mkP=%!=r*BHy8!z_#CsDA&s!R7zx5&b*qM z1v90lBZtE%!<9u2(4|y{!%)VEjFg*)VSm2Ettzw-imc}wI`XPQzd>2i;Z`NG-$JO2 z;OkQLltXk-DHZ8a!O)RQDe6$Zp(=+WyK=pq4EJ?G*`cJIEMJF1Z;o=kD&+>~{l4lV zT{%=GU*8QuZ%|~1pH9DD@> zIl$0@!+J&@m2!YV*`de|>nRV~g2)~f489H(4Mv`;G8~E=pi7DDF!O5e+=7%~9%@dN z09{IChk2$)SA*wzk;)Cwje>IK=>b?(Supr|ZiogLiVQ{}D(K3BS+DMeQ!nbdGICf? zIj;@AbskkmgO)KOqd*pPqoIoosb6U;m zE$A&|%XnG2QOFfJ6zNhySoBMNk4wXiB;`<20lKot0S2E&TSS&Rw5N{)-G#%)r+N8-G>oxv4P(bovT-)qwzdiBn3m>gY@C)>URfLc r-}$5z%k#-L)+VKKTpA~&BhT||LVD%3{F*Q-ue_|9=6N=v{DzkRnN9p@ literal 0 HcmV?d00001 diff --git a/gstt.py b/libs/gstt.py similarity index 98% rename from gstt.py rename to libs/gstt.py index 8874703..cc309c4 100644 --- a/gstt.py +++ b/libs/gstt.py @@ -25,8 +25,8 @@ anims= [[],[],[],[]] LaserNumber = 2 # What laser client to listen at launch -LasClientNumber = 0 -MaxLasClient = 3 +SceneNumber = 0 +MaxScenes = 3 screen_size = [400,400] xy_center = [screen_size[0]/2,screen_size[1]/2] diff --git a/libs/gstt.pyc b/libs/gstt.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f2d56222a8b48e7547c0c53a9f59816ca4a32e0 GIT binary patch literal 2197 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 qa7Z14l;xKE%d_%h&;n parameters sent to current Function in ModeCallback + if macroname.find("m") == 0: + doit = eval(ModeCallback) + doit((int(macroname[2]),int(macroname[1]), macroargs)) + #eval(ModeCallback)((int(macroname[2]),int(macroname[1]), macroargs),) + + + # Otherwise do the macro + else: + + doit = launchmacros[macroname]["command"] + if macroargs=='': + macroargs = launchmacros[macroname]["default"] + #print("Running", doit, "with args", macroargs ) + doit(macroargs) + +#ComputerUpdate(computer) +LoadMacros() + + +''' + +Docs Community About +monome +osc : opensound control / serialosc protocol + +what is serialosc? how does it work? +discovering and connecting to serialosc devices + +serialosc server listens on port 12002. + +when devices are connected, serialosc spawns new ports for each device. querying the server allows you to discover the port number for each device. (this supersedes the zeroconf method, which is still in place for legacy compatibility). +messages sent to serialosc server + +/serialosc/list si + +request a list of the currently connected devices, sent to host:port + +/serialosc/notify si + +request that next device change (connect/disconnect) is sent to host:port. to keep receiving the notifications, send another message to /serialosc/notify from the notify handler. +messages received from serialosc server + +/serialosc/device ssi + +currently connected device id and type, at this port + +/serialosc/add s + +device added + +/serialosc/remove s + +device removed +to serialosc device +sys + +these messages can be sent to a serialosc device to change settings. + +/sys/port i + +change computer port + +/sys/host s + +change computer host + +/sys/prefix s + +change message prefix (filtering) + +/sys/rotation i + +rotate the monome by degrees, where degrees is one of 0, 90, 180, 270. this replaces /cable + +/sys/info si + +/sys/info i + +/sys/info + +info + +request information (settings) about this device + +/info can take the following arguments: + +/info si (send /sys/info messages to host:port) + +/info i (send to localhost:port) + +/info (send to current computer application's host:port) + +example: + +to serialosc: + /sys/info localhost 9999 +from serialosc to localhost:9999: + /sys/id m0000045 + /sys/size 8 16 + /sys/host localhost + /sys/port 23849 + /sys/prefix /nubs + /sys/rotation 270 + +from serialosc + +these messages are sent from serialosc to the computer port. + +the messages below are sent after a /sys/info request is received. +sys + +/sys/port i report computer port + +/sys/host s report computer host + +/sys/id s report device id + +/sys/prefix s report prefix + +/sys/rotation i report grid device rotation + +/sys/size ii report grid device size + +to device +grid + +/grid/led/set x y s + +set led at (x,y) to state s (0 or 1). + +/grid/led/all s + +set all leds to state s (0 or 1). + +/grid/led/map x_offset y_offset s[8] + +Set a quad (8×8, 64 buttons) in a single message. + +Each number in the list is a bitmask of the buttons in a row, one number in the list for each row. The message will fail if the list doesn’t have 8 entries plus offsets. + +taken apart: + +(/grid/led/map) <- the message/route + (8 8) <- the offsets + (1 2 4 8 16 32 64 128) <- the bitmasks for each row + +examples + +/grid/led/map 0 0 4 4 4 4 8 8 8 8 +/grid/led/map 0 0 254 253 125 247 239 36 191 4 + +Offsets must be mutliples of 8. + +/grid/led/row x_offset y s[..] + +Set a row in a quad in a single message. + +Each number in the list is a bitmask of the buttons in a row, one number in the list for each row being updated. + +examples (for 256) + +/grid/led/row 0 0 255 255 +/grid/led/row 8 5 255 + +examples (for 64) + +/grid/led/row 0 0 232 +/grid/led/row 0 3 129 + +Offsets must be mutliples of 8. Offsets for monome64 should always be zero. + +/grid/led/col x y_offset s[..] + +Set a column in a quad in a single message. + +Each number in the list is a bitmask of the buttons in a column, one number in the list for each row being updated. + +examples (for 256) + +/grid/led/col 0 0 255 255 (updates quads 1 and 3) +/grid/led/col 13 8 255 (updates quad 4 due to offset.) + +examples (for 64) + +/grid/led/col 0 0 232 +/grid/led/col 6 0 155 + +Offsets must be mutliples of 8. Offsets for monome64 should always be zero. + +/grid/led/intensity i + +variable brightness: + +Valid values for ‘l’ below are in the range [0, 15]. + +January 2011 devices only support four intensity levels (off + 3 brightness levels). The value passed in /level/ messages will be “rounded down” to the lowest available intensity as below: + + [0, 3] - off + [4, 7] - low intensity + [8, 11] - medium intensity + [12, 15] - high intensity + +June 2012 devices allow the full 16 intensity levels. + +/grid/led/level/set x y l +/grid/led/level/all l +/grid/led/level/map x_off y_off l[64] +/grid/led/level/row x_off y l[..] +/grid/led/level/col x y_off l[..] + +tilt + +/tilt/set n s + +set active state of tilt sensor n to s (0 or 1, 1 = active, 0 = inactive). +arc + +led 0 is north. clockwise increases led number. These can be viewed and tested in the browser at http://nomeist.com/osc/arc/ + +/ring/set n x l + +set led x (0-63) on encoder n (0-1 or 0-3) to level l (0-15) + +/ring/all n l + +set all leds on encoder n (0-1 or 0-3) to level l (0-15) + +/ring/map n l[64] + +set all leds on encoder n (0-1 or 0-3) to 64 member array l[64] + +/ring/range n x1 x2 l + +set leds on encoder n (0-1 or 0-3) between (inclusive) x1 and x3 to level l (0-15). direction of set is always clockwise, with wrapping. +from device +grid + +/grid/key x y s + +key state change at (x,y) to s (0 or 1, 1 = key down, 0 = key up). +tilt + +/tilt n x y z + +position change on tilt sensor n, integer (8-bit) values (x, y, z) +arc + +/enc/delta n d + +position change on encoder n by value d (signed). clockwise is positive. + +/enc/key n s + +key state change on encoder n to s (0 or 1, 1 = key down, 0 = key up) + + Info@monome.org + +''' \ No newline at end of file diff --git a/libs/launchpad.pyc b/libs/launchpad.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2954e3fb6d8f67e12f9c098b3d4984eab6b1a4e8 GIT binary patch literal 8314 zcmc&(TXPi06+W}8+pZ)KNCM>RaFM;TK@#8?hmdd)0-T7IJm47Cko9P1RvKw`W|^4< zsRF4~*?G@fDydYZ@|4Fs=P7?7mHY&!T$QT4`V^k`m(ioGjgoktHs-|hwegO4b#1&W-i9_#ia#x%V;iT$+tiVH@dEJ|qz-1cID)5lD~nX` ztx}6x|4mM$xZ<{=+Gf-BiVqj(&&@9ui#IzXb|Z)a`-U5Np`XkbZ)I+h*{<#RUQly0 z-?OvL#CP#8wl|f?4x(C&mo{wwp&w1Ii=W7pisUiWRcR`b);eiUSz_8l8r zvG3ZoI8MAE!ah?SaZ|A41$Go?zFk^8_5RtpVi7Bq(O->996o9G(jBeWb$G5j5Z$?3 z+Bvz~raRvquh-3kx$aQ6Pa14E{q+7x8_nBs6HVO^dQPyh2`RZr;_jw)n#Bn=3qF;# zR+2!57zGPOu#H#k#C@diCVUYrhOI_qhnOC7_;%E4tosS1v)O96QMhZLKJ~%8eJi$4 zowfrgBTnq*ZnhamL9Mf9Gfo2)>*A?%HWo2kq&#%4K8axYRSHDMRV2FmE@|ITkL-N0 zxV~%OavOHpZzb`jTidpaY7`5Z?=}`fH}#WZv9~k(jQy5C3CPm#eGgY^2-1b}cKSv-aWbr5n{N%jK)tIJ>JWcYE`3Gi%Q3b?5TU_GD%=oaH9= zcP$A00By;*_cP|*d*)_sD)sQuuTXF4MIeS0X2%90_TS;rj!wudyHUd$-SIB!C#)Le4LZV zd3kKf=Xsn>f(S~zl}nrt0~=kH{r=)sLlTtOV*CZlRK%&2|rDDILG zQAjD;g^%GC=>q(^Ra>~~r`uWFT&TsKpYBGrg_R#KG{e?L5Ty%l%M0R#`FZ|@!8%^) zhFUl}x7FRqPtZxZ3$YI7YTSIj{ZYn`qw^Hw7I`P*%KPWJuW{|rH?lE6XAO;loYi4o z;m}|m8tmS1r=HptbG=Rz?67CmxC!z~VJmwV(Exko2ik=eq0XFaJ!G z?D|-$t;wQQeA#S{VD|qPn;K|&j`i5fcfFNbP(!5y87&^6qF|{|*3{vSaT;w=N1AmQ zeQ>bP)%MN`>DWBf+g5m}7j3#$_qiO5)Far=Z)X7Sg`0VR)fnF&W2*Ctl zXghC$upV4b$%W!An-mi*c}6&n&9Pn(K8mi!F6S5@?41PKnF%FOum2ot^^1V)Q+0c3 z8k}1bH4~uqCesr{=P)D3*3g)4o^z5{vcA2bkVp zy??l!%J7)W%VBtq(w%z_9WDVTN9?1k$|oKZL(0n}Il(0~jl1#0FsVNuCvLRiJCkTR zyn#8#J5PJb9csfCdO7tEi{VWlJ7$j{pqC|JUm6)A5Y|NP^ zP+ZOlfbraS*nO99l4JP1^juQ&I+V8lfVsOe+&4UF9i$BDxE<$RBEl?f8(tFe0j0m_{T-HGv^d%C0Q0U%sn#=eZT3t_>gtA zy^#Sg6ndZ&HOgr8``oih=^;79GWAb3E?JM-{c1WV-1w3$5EoPxy z+pe9Sx3%n~hh5mI8*KdUxBU6b#Z(h`Ei+zeWf=;u=k1hNdg#^0!EJX(wQy4+xw^rI zpQ#nzPFlWRjh#2~Nbh!fo@iV%#Sw>&;4Bg}Dyrk=I}@c@qH)r=GOb2WY_rt|T214k zef=ud*5kRC)b5R`^Il`DoF%_#Es0rw{wqdPT`*VR@4!U<(7+fXz#;2ZYa%yhjamob z1{1h#&)|35(#ocp=d$N%fv|=-^oLo{6@1dy0Y2*b2%DmHeKlp6(iixSWzhKQpc#)p`$TitMefR{|vJdKv>M~fBJM<`m>!nn3=?zZ&b z)DP zS~cpeHe#<8qU-z!@95^sapXIcYj2<0dWjWEHMcLh$pOHSRTwN$>j6IBrY>%XwF1Gw z^v%U_Lu`}oDB&34IN=0gmcS%eE98clf$3Y6$qn%(5??0JYhPF}H^gfs`H0{UUQ{(V z#GjGGC9D$|A)Z${H^faoeLzSEFRGs#Vih)X{D7K$VI|!VZ<2(n`R1B>i4j4KzFPI- z8Z1gL5sdU2`IC%w(TtJXH0RlGWkE<$nESfS@|q9N{}Le7oo{-Z^;! z?Z;6!WR!5|a}K#vOU44RL)TM>O?Ok>-b0kw@qMChDoCr%-7^kPO?6>&x^Mz+4t4j; z6ewvq4z0vtRCZ`I<_@iyy(XUw9a>s66;3_-c<`D7kOrscS>J)jyiJod=L}nnEY5j= z?kry4@@tui%NXl(#+T@a8W1j+5bz_O#OVrP2qzYQC-D2;-~`+GNo&ZO%uVEma^pC^ k#`ABWHIyq16$T2!g+bt;{vX8u!NO=^e_^6fz{rXJ0e5v{r2qf` literal 0 HcmV?d00001 diff --git a/plugins/lj.py b/libs/lj.py similarity index 90% rename from plugins/lj.py rename to libs/lj.py index 5244032..022815d 100644 --- a/plugins/lj.py +++ b/libs/lj.py @@ -1,8 +1,10 @@ # coding=UTF-8 ''' -LJ v0.8.1 -Some LJ functions useful for python 2.7 clients (was framy.py) + +lj v0.7.5 for LJ v0.8+ + +Some LJ functions useful for python 2.7 clients Functions and documentation here is low priority as python 2 support will stop soon. Better code your plugin with python 3 and lj3.py. @@ -26,11 +28,13 @@ import math import redis from OSC import OSCServer, OSCClient, OSCMessage -redisIP = '127.0.0.1' -r = redis.StrictRedis(host=redisIP, port=6379, db=0) +print "Importing lj from libs..." +#redisIP = '127.0.0.1' +#r = redis.StrictRedis(host=redisIP, port=6379, db=0) ClientNumber = 0 - +name = "noname" +oscrun = True point_list = [] pl = [[],[],[],[]] @@ -42,7 +46,10 @@ def SendLJ(oscaddress,oscargs=''): oscmsg.setAddress(oscaddress) oscmsg.append(oscargs) - print ("sending OSC message : ",oscmsg) + osclientlj = OSCClient() + osclientlj.connect((redisIP, 8002)) + + print "lj is sending OSC message : ",oscmsg, "to",redisIP,":8002" try: osclientlj.sendto(oscmsg, (redisIP, 8002)) oscmsg.clearData() @@ -151,12 +158,15 @@ ASCII_GRAPHICS = [ [(-2,15), (2,15)] # Point a la place de { ] -def Config(redisIP,client): - global ClientNumber +def Config(redIP,client,myname): + global ClientNumber, name, redisIP + redisIP = redIP r = redis.StrictRedis(host=redisIP, port=6379, db=0) ClientNumber = client #print "client configured",ClientNumber + name = myname + print "Plugin declare its name",name def LjClient(client): @@ -168,7 +178,34 @@ def LjPl(pl): global PL PL = pl - + + + +# Answer to LJ pings with /pong value +def OSCping(path, tags, args, source): + print name,"got /ping from LJ -> reply /pong", name + SendLJ("/pong",name) + + + +# Closing plugin messages to LJ +def ClosePlugin(): + WebStatus(name+" Exiting") + SendLJ("/"+name+"/start",0) + + +# /quit +def OSCquit(path, tags, args, source): + global oscrun + + oscrun = False + print('lj got /quit for',name) + #WebStatus(name + " quit.") + #SendLJ("/"+name+"/start",0) + #print("Stopping OSC...") + #OSCstop() + #sys.exit() + def LineTo(xy, c, PL): diff --git a/libs/lj23.py b/libs/lj23.py new file mode 100644 index 0000000..f0ee337 --- /dev/null +++ b/libs/lj23.py @@ -0,0 +1,892 @@ +# coding=UTF-8 +''' + +lj23 v0.7.6 for LJ v0.8+ + +Some LJ functions useful for python clients + + + +Class management : + +https://stackoverflow.com/questions/739882/iterating-over-object-instances-of-a-given-class-in-python +https://stackoverflow.com/questions/8628123/counting-instances-of-a-class +http://effbot.org/pyfaq/how-do-i-get-a-list-of-all-instances-of-a-given-class.htm + + + + +Config(redisIP, client number,name) + +Basic Draw : + +- PolyLineOneColor, rPolyLineOneColor, LineTo, Line +- PolyLineRGB, rPolyLineRGB, LineRGBTo, LineRGB +- rgb2int(r,g,b) +- DrawPL(point list number) : once you stacked all wanted elements, like 2 polylines, send them to lasers. +- DrawDests(): Draw all requested destinations for each PL. + +High level draw : + +- Text(word, integercolor, PL, xpos, ypos, resize, rotx, roty, rotz) : Display a word +- TextRGB(word, red, green, blue, ...) +- Embeded font1 + + +Laser objects (name and convenient group of parameters for one or several point lists) + +- RelativeObject +- FixedObject + +PL "Destinations" : tells Live what PL to draw and to what scene/Laser ("destination") to send it. + + +OSC and plugins functions : + +SendLJ(adress,message) : LJ remote control. See commands.py +SendResol(address,message): Send OSC message to Resolume. +WebStatus(message) : display message on webui + +LjClient(client): Change Client number in redis keys +LjPl(pl): Change pl number in redis keys = laser target. +ClosePlugin(name): Send UI closing info of given plugin + +OSCstart(): Start the OSC system. +OSCframe(): Handle incoming OSC message. Calling the right callback +OSCstop(): Properly close the OSC system +OSCping(): /ping Answer to LJ pings by sending /pong name +OSCquit(): /quit Exit calling script using name in terminal +OSCadddest(): PL, scene, laser Add a destination +OSCdeldest(): PL, scene, lasers delete a destination +OSCobj(): /name/obj objectname attribute value for automation +OSCvar(): /name/var variablename value for automation + +setup_controls(joystick) + +XboxController : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger +Ps3Controller : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger, getUp, getDown, getLeft, getRight, getFire1, getFire2(self): +MySaitekController : getLeftHori,getLeftVert, getRightHori,getRightVert, getLeftTrigger,getRightTrigger +MyThrustController : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger +CSLController : getLeftHori,getLeftVert,getRightHori, getRightVert,getLeftTrigger,getRightTrigger,getFire1,getFire2 +my USB Joystick : getUp,getDown,getLeft,getRight,etLeftTrigger, getRightTrigger,getFire1, getFire2 + + +LICENCE : CC +Sam Neurohack + +''' + +import math +import redis +import sys +import weakref +import struct +import numpy as np +from multiprocessing import Process, Queue, TimeoutError + +is_py2 = sys.version[0] == '2' +if is_py2: + from OSC import OSCServer, OSCClient, OSCMessage + #print ("Importing lj23 and OSC from libs...") +else: + from OSC3 import OSCServer, OSCClient, OSCMessage + #print ("Importing lj23 and OSC3 from libs...") + + +#redisIP = '127.0.0.1' +#r = redis.StrictRedis(host=redisIP, port=6379, db=0) + +ClientNumber = 0 +name = "noname" +oscrun = True +point_list = [] +pl = [[],[],[],[]] + +fft3Groups = [-1,-1,-1,-1] + +Dests = dict() + +oscIPresol = "127.0.0.1" +oscPORTresol = 7000 + + +''' + + Laser "objects" + + + set a name and convenient group of parameters for one or several point lists + + RelativeObject is for point lists around 0,0 with builtin move/rotation. + + How to init with object color, xpos,... : + osciObj = lj.RelativeObject('osciObj', True, 255, [], white, red, green,blue,0 , False, centerX , centerY , 1 , Xrot , Yrot , Zrot) + How to use in drawing functions : you're free to use 0, some or all of any laserobject attributes + - draw one or several pointlists with 'A' laserobject color and 'B' laserobject xpos ypos ? + - Change color of 'main' object and all other objects using it will change also + how to change attribute : + osciObj.resize = 2 or /pluginame/change 'OsciObj' 'resize' 2 + +''' + +class RelativeObject: + + kind = 'relative' + counter = 0 + + def __init__(self, name, active, intensity, xy, color, red, green, blue, PL , closed, xpos , ypos , resize , rotx , roty , rotz): + self.name = name + self.active = active # True/False + self.intensity = intensity + self.xy = [] # Dots list + self.color = color # RGB color in int + self.red = red + self.green = green + self.blue = blue + self.PL = PL + self.closed = closed + self.xpos = xpos + self.ypos = ypos + self.resize = resize + self.rotx = rotx + self.roty = roty + self.rotz = rotz + + RelativeObject.counter += 1 + #type(self).counter += 1 + + def __del__(self): + RelativeObject.counter -= 1 + + +# Fixed Laser object : point list in 'pygame' space (top left = 0,0 / bottom right) +class FixedObject: + + kind = 'fixed' + counter = 0 + + def __init__(self, name, intensity, active, xy, color, red, green, blue, PL , closed): + self.name = name + self.active = active # True/False + self.intensity = intensity + self.xy = [] + self.color = color + self.red = red + self.green = green + self.blue = blue + self.PL = PL + self.closed = closed + + FixedObject.counter += 1 + + def __del__(self): + FixedObject.counter -= 1 + +''' + +class IterDest(type): + def __new__ (cls, name, bases, dct): + dct['_instances'] = [] + return super().__new__(cls, name, bases, dct) + + def __call__(cls, *args, **kwargs): + instance = super().__call__(*args, **kwargs) + cls._instances.append(instance) + return instance + + def __iter__(cls): + return iter(cls._instances) + +class DestObject(): + +# class Destinations(metaclass=IterDest): + __metaclass__ = IterDest + counter = 0 + def __init__(self, name, number, active, PL , scene, laser): + self.name = name + self.number = number + self.active = active + self.PL = PL + self.scene = scene + self.laser = laser + + DestObject.counter += 1 + + def __del__(self): + DestObject.counter -= 1 +''' +class DestObject(): + +# class Destinations(metaclass=IterDest): + _instances = set() + counter = 0 + + def __init__(self, name, number, active, PL , scene, laser): + self.name = name + self.number = number + self.active = active + self.PL = PL + self.scene = scene + self.laser = laser + self._instances.add(weakref.ref(self)) + DestObject.counter += 1 + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + + def __del__(self): + DestObject.counter -= 1 + + + +def Config(redIP,client,myname): + global ClientNumber, name, redisIP, r + + redisIP = redIP + r = redis.StrictRedis(host=redisIP, port=6379, db=0) + + # ClientNumber 255 are not drawing anything like artnet + ClientNumber = client + #print ("client configured",ClientNumber) + name = myname + print ("Plugin declare its name",name) + #print pl + return r + + +def LjClient(client): + global ClientNumber + + ClientNumber = client + + + +def LjPl(pl): + global PL + + PL = pl + + +def fromRedis(n): + + encoded = r.get(n) + #print("") + #print('fromredis key',n,":",encoded) + h, w = struct.unpack('>II',encoded[:8]) + #print("fromredis array size",n,":",h,w) + a = np.frombuffer(encoded, dtype=np.int16, offset=8).reshape(h,w) + #print("fromredis array",n,":",a) + return a + +# Store Numpy array 'a' in Redis key 'n' +# Write also in redis key 'a' numpy array, its 2 dimensions size : h time w values +def toRedis(n,a): + + #print("array.shape", a.shape, len(a.shape) ) + if len(a.shape) == 1: + h = a.shape[0] + w = 1 + else: + h,w = a.shape + #print("toredis", n,"h",h,"w",w,"a",a) + shape = struct.pack('>II',h,w) + + #shape = struct.pack('>II',len(a),1) + #print("toredis",n,a) + encoded = shape + a.tobytes() + + # Store encoded data in Redis + return r.set(n,encoded) + + +# +# OSC functions +# + +# OSC clients + +def SendLJ(oscaddress,oscargs=''): + + oscmsg = OSCMessage() + oscmsg.setAddress(oscaddress) + oscmsg.append(oscargs) + + osclientlj = OSCClient() + osclientlj.connect((redisIP, 8002)) + + print("lj23 in",name," sending OSC message : ", oscmsg, "to", redisIP, ":8002") + try: + osclientlj.sendto(oscmsg, (redisIP, 8002)) + oscmsg.clearData() + except: + print ('Connection to LJ refused : died ?') + pass + #time.sleep(0.001 + + + +# Resolume OSC Arena client. +# sendresol(oscaddress, [arg1, arg2,...]) +# example : sendresol("/noteon",note) + +def SendResol(oscaddress,oscargs): + + oscmsg = OSCMessage() + oscmsg.setAddress(oscaddress) + oscmsg.append(oscargs) + + osclientresol = OSCClient() + osclientresol.connect((oscIPresol, oscPORTresol)) + + print("lj sending OSC message : ", oscmsg, "to Resolume", oscIPresol, ":", oscPORTresol) + try: + osclientresol.sendto(oscmsg, (oscIPresol, oscPORTresol)) + oscmsg.clearData() + except: + print ('Connection to Resolume refused : died ?') + pass + + + + +def WebStatus(message): + SendLJ("/status", message) + + +# Closing plugin messages to LJ +def ClosePlugin(): + WebStatus(name+" Exiting") + SendLJ("/"+name+"/start",0) + + + + +# RAW OSC Frame available ? +def OSCframe(): + # clear timed_out flag + #print "oscframe" + oscserver.timed_out = False + # handle all pending requests then return + while not oscserver.timed_out: + oscserver.handle_request() + +# Answer to LJ pings with /pong value +def OSCping(path, tags, args, source): +#def OSCping(): + print(name, "got /ping from LJ -> reply /pong", name) + SendLJ("/pong",name) + +# Properly close the system. Todo +def OSCstop(): + oscserver.close() + + +# /quit +def OSCquit(path, tags, args, source): + global oscrun + + oscrun = False + print('lj23 got /quit for',name) + #WebStatus(name + " quit.") + #SendLJ("/"+name+"/start",0) + #print("Stopping OSC...") + #OSCstop() + #sys.exit() + + +# default handler +def OSChandler(path, tags, args, source): + + oscaddress = ''.join(path.split("/")) + print("Default OSC Handler in",name,": msg from Client : " + str(source[0]),) + print("OSC address", path) + if len(args) > 0: + print("with args", args) + + #oscIPout = str(source[0]) + #osclient.connect((oscIPout, oscPORTout)) + + +# for any laser object : /pluginame/obj objectname attribute value +# like : /pluginname/obj 'fft' 'xpos' 100 +# attributes for all lj Objects: name, xy_list, c, PL +# + for RelativeObjects : closed, xpos , ypos , resize , rotx , roty , rotz +def OSCobj(path, tags, args, source): + + obj = eval(args[0]+"."+ args[1]) + obj = args[2] + + +def OSCvar(path, tags, args, source): + + obj = eval(args[0]) + obj = args[1] + + +def addOSCdefaults(server): + global oscserver + + oscserver = server + oscserver.addMsgHandler( "default", OSChandler ) + oscserver.addMsgHandler( "/ping", OSCping) + oscserver.addMsgHandler( "/quit", OSCquit) + oscserver.addMsgHandler( "/"+ name + "/adddest", OSCadddest) + oscserver.addMsgHandler( "/"+ name + "/deldest", OSCdeldest) + oscserver.addMsgHandler( "/"+ name + "/obj", OSCobj) + oscserver.addMsgHandler( "/"+ name + "/var", OSCvar) + + + +# +# Drawing basic functions +# + +def rgb2int(r,g,b): + return int('0x%02x%02x%02x' % (r,g,b),0) + + +def LineTo(xy, c, PL): + + pl[PL].append((xy + (c,))) + +def rLineTo(xy, c, PL, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + pl[PL].append((Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz) + (c,))) + + +def Line(xy1, xy2, c, PL): + LineTo(xy1, 0, PL) + LineTo(xy2, c , PL) + +def rLine(xy1, xy2, c, PL, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + rLineTo(xy1, 0, PL) + rLineTo(xy2, c , PL) + + +def PolyLineOneColor(xy_list, c, PL , closed ): + #print "--" + #print "c",c + #print "xy_list",xy_list + #print "--" + xy0 = None + for xy in xy_list: + if xy0 is None: + xy0 = xy + #print "xy0:",xy0 + LineTo(xy0,0, PL) + LineTo(xy0,c, PL) + else: + #print "xy:",xy + LineTo(xy,c, PL) + if closed: + LineTo(xy0,c, PL) + + + +# Computing points coordinates for rPolyline function from 3D and around 0,0 to pygame coordinates +def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): + + x = xy[0] * resize + y = xy[1] * resize + z = 0 + + rad = math.radians(rotx) + cosaX = math.cos(rad) + sinaX = math.sin(rad) + + y2 = y + y = y2 * cosaX - z * sinaX + z = y2 * sinaX + z * cosaX + + rad = math.radians(roty) + cosaY = math.cos(rad) + sinaY = math.sin(rad) + + z2 = z + z = z2 * cosaY - x * sinaY + x = z2 * sinaY + x * cosaY + + rad = math.radians(rotz) + cosZ = math.cos(rad) + sinZ = math.sin(rad) + + x2 = x + x = x2 * cosZ - y * sinZ + y = x2 * sinZ + y * cosZ + + #print xy, (x + xpos,y+ ypos) + return (x + xpos,y+ ypos) + ''' + to understand why it get negative Y + + # 3D to 2D projection + factor = 4 * gstt.cc[22] / ((gstt.cc[21] * 8) + z) + print xy, (x * factor + xpos, - y * factor + ypos ) + return (x * factor + xpos, - y * factor + ypos ) + ''' + +def rLineTo(xy, c, PL, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + pl[PL].append((Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz) + (c,))) + + +def rLine(xy1, xy2, c, PL, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + LineTo(Pointransf(xy1, xpos, ypos, resize, rotx, roty, rotz),0, PL) + LineTo(Pointransf(xy2, xpos, ypos, resize, rotx, roty, rotz),c, PL) + + + +# Send 2D point list around 0,0 with 3D rotation resizing and reposition around xpos ypos +#def rPolyLineOneColor(self, xy_list, c, PL , closed, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): +def rPolyLineOneColor(xy_list, c, PL , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + xy0 = None + for xy in xy_list: + if xy0 is None: + xy0 = xy + LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),0, PL) + LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) + else: + LineTo(Pointransf(xy, xpos, ypos, resize, rotx, roty, rotz),c, PL) + if closed: + LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) + + +def LineRGBTo(xy, red, green, blue, PL): + + LineTo(xy, int('0x%02x%02x%02x' % (red,green,blue),0), PL) + +def LineRGB(xy1, xy2, red,green,blue, PL): + + LineTo(xy1, 0, PL) + LineTo(xy2, int('0x%02x%02x%02x' % (red,green,blue),0) , PL) + + +def PolyLineRGB(xy_list, red, green, blue, PL , closed ): + + PolyLineOneColor(xy_list, int('0x%02x%02x%02x' % (red,green,blue),0), PL , closed ) + +def rPolyLineRGB(xy_list, red, green, blue, PL , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + rPolyLineOneColor(xy_list, int('0x%02x%02x%02x' % (red,green,blue),0), PL , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0) + + + +def LinesPL(PL): + print("Stupido !! your code is to old : use DrawPL() instead of LinesPL()") + DrawPL(PL) + + +def DrawPL(PL): + #print '/pl/0/'+str(PL), str(pl[PL]) + if r.set('/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL]) + pl[PL] = [] + return True + else: + return False + +def ResetPL(self, PL): + pl[PL] = [] + + +# +# "Destinations" management for PLs +# + + +# Add a destination for a given PL +def Addest(PL, scene, laser): + + print (name,'adding',PL,scene,laser,'?') + if Findest(PL, scene, laser) == -1: + newdest = DestsObjects.counter + 1 + Dest0 = lj.DestObject(str(newdest), newdest, True, PL , scene, laser) + print("New destination added with number", newdest) + else: + print("Destination already existed") + + +# OSC add a destination for a given PL +# /pluginame/dest PL, scene, laser +def OSCadddest(path, tags, args, source): + + Addests(int(args[0]),int(args[1]),int(args[2])) + + +# Find PL destination with its parameters in destinations dictionnary +def Findest(PL, scene, laser): + + print(name, 'searching PL,scene,laser',PL,scene,laser) + for item in DestObjects.getinstances(): + #print(item) + if item.PL == PL and item.scene == scene and item.laser == laser: + #Dests.append(item[0]) + print('found number',item.number) + return item.number + else: + print('no destination found') + return -1 + ''' + #Dests = list() + allDests = Dests.items() + for item in allDests: + print(item) + if item[1] == PL and item[2] == scene and item[3] == laser: + #Dests.append(item[0]) + return Dests[item[0]] + else: + return -1 + ''' + +# Find and remove a PL destination with its parameters in destinations dictionnary +def Deldest(PL, scene, laser): + + Destnumber = Findest(PL, scene, laser) + print(name,'deleting Destination PL, scene, laser', PL,scene, laser) + + if Destnumber != -1: + print('found DestObject', Destnumber) + delattr(DestObjects, str(Destnumber)) + print("Destination", Destnumber,"was removed") + else: + print("Destination was not found") + + +# OSC Delete a destination for a given PL +# /pluginame/deldests PL, scene, laser +def OSCdeldest(path, tags, args, source): + + Deldests(args[0],args[1],args[2]) + + +# Replace DrawPL if Destinations paradigm is implemented in plugin code +def DrawDests(): + + # Objects style + + #print("DrawDest") + + for destination in DestObject.getinstances(): + #print (destination.name, destination.number, destination.active, destination.PL, destination.scene, destination.laser, pl[destination.PL] ) + + #print(Dests[str(destination)]) + #print('/pl/'+str(Dests[str(destination)]["scene"])+'/'+str(Dests[str(destination)]["laser"]), ":", str(pl[Dests[str(destination)]["PL"]])) + #print(len(pl[destination.PL])) + if destination.active == True: + if r.set('/pl/'+str(destination.scene)+'/'+str(destination.laser), str(pl[destination.PL])) == True: + #print ('pl', destination.PL, '/pl/'+str(destination.scene)+'/'+str(destination.laser), str(pl[destination.PL])) + pass + else: + print('Redis key modification failed') + + # Maybe one PL can be sent to multiple destination so they are all reset *after* all sending. + for pls in range(4): + + pl[pls] = [] + + ''' + # Dictionnary style + + #print(Dests) + for destination in range(len(Dests)): + #print(Dests[str(destination)]) + #print('/pl/'+str(Dests[str(destination)]["scene"])+'/'+str(Dests[str(destination)]["laser"]), ":", str(pl[Dests[str(destination)]["PL"]])) + if r.set('/pl/'+str(Dests[str(destination)]["scene"])+'/'+str(Dests[str(destination)]["laser"]), str(pl[Dests[str(destination)]["PL"]])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL]) + pass + else: + print('Redis key modification failed') + + # Maybe one PL can be sent to multiple destination so they are all reset *after* all sending. + for destination in range(len(Dests)): + + pl[Dests[str(destination)]["PL"]] = [] + ''' +''' +scenes = 4 + +def DrawDestsPL(PL): + + for scene in range(scenes): + + if Dests[laser]["scene"] != -1: + if r.set('/pl/'+str(Dests[laser]["scene"])+'/'+str(Dests[laser]["laser"]), str(pl[Dests[laser]["laser"]])) == True: + if r.set('/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL]) + pl[Dests[laser]["laser"]] = [] + return True + else: + return False + +''' + +# +# High level drawing functions +# + + +# Font1 + + +ASCII_GRAPHICS = [ + +#implementé + + [(-50,30), (-30,-30), (30,-30), (10,30), (-50,30)], # 0 + [(-20,30), (0,-30), (-20,30)], # 1 + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], # 2 + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], # 3 + [(30,10), (-30,10), (0,-30), (0,30)], # 4 + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], # 5 + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], # 6 + [(-30,-30), (30,-30), (-30,30)], # 7 + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], # 8 + [(30,0), (-30,0), (-30,-10), (0,-30), (30,-30), (30,10), (0,30), (-30,30)], # 9 + +# A implementer + [(-30,10), (30,-10), (30,10), (0,30), (-30,10), (-30,-10), (0,-30), (30,-10)], #: + [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], # ; + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], # < + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], # = + [(30,10), (-30,10), (0,-30), (0,30)], # > + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], # ? + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], # @ + +# Implementé + + + [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], # A + [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], # A + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], # B + [(30,30), (-30,30), (-30,-30), (30,-30)], # C + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], # D + [(30,30), (-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], # E + [(-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], # F + [(0,0), (30,0), (30,30), (-30,30), (-30,-30),(30,-30)], # G + [(-30,-30), (-30,30), (-30,0), (30,0), (30,30), (30,-30)], # H + [(0,30), (0,-30)], # I + [(-30,30), (0,-30), (0,-30), (-30,-30), (30,-30)], # J + [(-30,-30), (-30,30), (-30,0), (30,-30), (-30,0), (30,30)], # K + [(30,30), (-30,30), (-30,-30)], # L + [(-30,30), (-30,-30), (0,0), (30,-30), (30,30)], # M + [(-30,30), (-30,-30), (30,30), (30,-30)], # N + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], # O + [(-30,0), (30,0), (30,-30), (-30,-30), (-30,30)], # P + [(30,30), (30,-30), (-30,-30), (-30,30), (30,30),(35,35)], # Q + [(-30,30), (-30,-30), (30,-30), (30,0), (-30,0), (30,30)], # R + [(30,-30), (-30,-30), (-30,0), (30,0), (30,30), (-30,30)], # S + [(0,30), (0,-30), (-30,-30), (30,-30)], # T + [(-30,-30), (-30,30), (30,30), (30,-30)], # U + [(-30,-30), (0,30), (30,-30)], # V + [(-30,-30), (-30,30), (0,0), (30,30), (30,-30)], # W + [(-30,30), (30,-30), (-30,-30), (30,30)], # X + [(0,30), (0,0), (30,-30), (0,0), (-30,-30)], # Y + [(30,30), (-30,30), (30,-30), (-30,-30)], # Z + + # A implementer + + [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], # [ + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], # \ + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], # ] + [(30,10), (-30,10), (0,-30), (0,30)], # ^ + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], # _ + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], # ` + + # Implementé + + [(-20,20), (-20,-20), (20,-20), (20,20), (20,0), (-20,0)], # a + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20), (-20,0), (20,0)], # b + [(20,20), (-20,20), (-20,-20), (20,-20)], # c + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], # d + [(20,20), (-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], # e + [(-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], # f + [(0,0), (20,0), (20,20), (-20,20), (-20,-20),(20,-20)], # g + [(-20,-20), (-20,20), (-20,0), (20,0), (20,20), (20,-20)], # h + [(0,20), (0,-20)], # i + [(-20,20), (0,-20), (0,-20), (-20,-20), (20,-20)], # j + [(-20,-20), (-20,20), (-20,0), (20,-20), (-20,0), (20,20)], # k + [(20,20), (-20,20), (-20,-20)], # l + [(-20,20), (-20,-20), (0,0), (20,-20), (20,20)], # m + [(-20,20), (-20,-20), (20,20), (20,-20)], # n + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], # o + [(-20,0), (20,0), (20,-20), (-20,-20), (-20,20)], # p + [(20,20), (20,-20), (-20,-20), (-20,20), (20,20),(25,25)], # q + [(-20,20), (-20,-20), (20,-20), (20,0), (-20,0), (20,20)], # r + [(20,-20), (-20,-20), (-20,0), (20,0), (20,20), (-20,20)], # s + [(0,20), (0,-20), (-20,-20), (20,-20)], # t + [(-20,-20), (-20,20), (20,20), (20,-20)], # u + [(-20,-20), (0,20), (20,-20)], # v + [(-20,-20), (-20,20), (0,0), (20,20), (20,-20)], # w + [(-20,20), (20,-20)], [(-20,-20), (20,20)], # x + [(0,20), (0,0), (20,-20), (0,0), (-20,-20)], # y + [(20,20), (-20,20), (20,-20), (-20,-20)], # z + + [(-2,15), (2,15)] # Point a la place de { +] + + +def DigitsDots(number,color): + dots =[] + for dot in ASCII_GRAPHICS[number]: + #print dot + dots.append((gstt.xy_center[0]+dot[0],gstt.xy_center[1]+dot[1],color)) + #self.point_list.append((xy + (c,))) + return dots + +def CharDots(char,color): + + dots =[] + for dot in ASCII_GRAPHICS[ord(char)-46]: + dots.append((dot[0],dot[1],color)) + return dots + +def Text(message,c, PL, xpos, ypos, resize, rotx, roty, rotz): + + dots =[] + + l = len(message) + i= 0 + #print() + # print (message) + + for ch in message: + + #print "" + # texte centre en x automatiquement selon le nombre de lettres l + x_offset = 26 * (- (0.9*l) + 3*i) + # Digits + if ord(ch)<58: + char_pl_list = ASCII_GRAPHICS[ord(ch) - 48] + else: + char_pl_list = ASCII_GRAPHICS[ord(ch) - 46] + + char_draw = [] + #dots.append((char_pl_list[0][0] + x_offset,char_pl_list[0][1],0)) + + for xy in char_pl_list: + char_draw.append((xy[0] + x_offset,xy[1],c)) + i +=1 + #print ch,char_pl_list,char_draw + rPolyLineOneColor(char_draw, c, PL , False, xpos, ypos, resize, rotx, roty, rotz) + #dots.append(char_draw) + +def TextRGB(message,c, PL, xpos, ypos, resize, rotx, roty, rotz): + + Text(message,int('0x%02x%02x%02x' % (red,green,blue),0), PL, xpos, ypos, resize, rotx, roty, rotz) + + + + + + + \ No newline at end of file diff --git a/libs/lj23layers.py b/libs/lj23layers.py new file mode 100644 index 0000000..a443ba9 --- /dev/null +++ b/libs/lj23layers.py @@ -0,0 +1,890 @@ +# coding=UTF-8 +''' + +lj23layers v0.7.6 for LJ v0.8+ + +Some LJ functions useful for python clients + +"layers" version : "PL" has been replaced by layer + + +Class management : + +https://stackoverflow.com/questions/739882/iterating-over-object-instances-of-a-given-class-in-python +https://stackoverflow.com/questions/8628123/counting-instances-of-a-class +http://effbot.org/pyfaq/how-do-i-get-a-list-of-all-instances-of-a-given-class.htm + +Config(redisIP, client number,name) + +Basic Draw : + +- PolyLineOneColor, rPolyLineOneColor, LineTo, Line +- PolyLineRGB, rPolyLineRGB, LineRGBTo, LineRGB +- rgb2int(r,g,b) +- Drawlayer (point list number) : once you stacked all wanted elements, like 2 polylines, send them to lasers. +- DrawDests(): Draw all requested destinations for each layer . + +High level draw : + +- Text(word, integercolor, layer , xpos, ypos, resize, rotx, roty, rotz) : Display a word +- TextRGB(word, red, green, blue, ...) +- Embeded font1 + + +Laser objects (name and convenient group of parameters for one or several point lists) + +- RelativeObject +- FixedObject + +layer "Destinations" : tells Live what layer to draw and to what scene/Laser ("destination") to send it. + + +OSC and plugins functions : + +SendLJ(adress,message) : LJ remote control. See commands.py +SendResol(address,message): Send OSC message to Resolume. +WebStatus(message) : display message on webui + +Ljscene(client): Change scene number in redis keys +Ljlayer(layer): Change layer number in redis keys = laser target. +ClosePlugin(name): Send UI closing info of given plugin + +OSCstart(): Start the OSC system. +OSCframe(): Handle incoming OSC message. Calling the right callback +OSCstop(): Properly close the OSC system +OSCping(): /ping Answer to LJ pings by sending /pong name +OSCquit(): /quit Exit calling script using name in terminal +OSCadddest(): layer , scene, laser Add a destination +OSCdeldest(): layer , scene, lasers delete a destination +OSCobj(): /name/obj objectname attribute value for automation +OSCvar(): /name/var variablename value for automation + +setup_controls(joystick) + +XboxController : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger +Ps3Controller : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger, getUp, getDown, getLeft, getRight, getFire1, getFire2(self): +MySaitekController : getLeftHori,getLeftVert, getRightHori,getRightVert, getLeftTrigger,getRightTrigger +MyThrustController : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger +CSLController : getLeftHori,getLeftVert,getRightHori, getRightVert,getLeftTrigger,getRightTrigger,getFire1,getFire2 +my USB Joystick : getUp,getDown,getLeft,getRight,etLeftTrigger, getRightTrigger,getFire1, getFire2 + + +LICENCE : CC +Sam Neurohack + +''' + +import math +import redis +import sys +import weakref +import struct +import numpy as np +from multiprocessing import Process, Queue, TimeoutError + +is_py2 = sys.version[0] == '2' +if is_py2: + from OSC import OSCServer, OSCClient, OSCMessage + #print ("Importing lj23 and OSC from libs...") +else: + from OSC3 import OSCServer, OSCClient, OSCMessage + #print ("Importing lj23 and OSC3 from libs...") + + +#redisIP = '127.0.0.1' +#r = redis.StrictRedis(host=redisIP, port=6379, db=0) + +ClientNumber = 0 +name = "noname" +oscrun = True +point_list = [] +layers = [[],[],[],[]] + +fft3Groups = [-1,-1,-1,-1] + +Dests = dict() + +oscIPresol = "127.0.0.1" +oscPORTresol = 7000 + + +''' + + Laser "objects" + + + set a name and convenient group of parameters for one or several point lists + + RelativeObject is for point lists around 0,0 with builtin move/rotation. + + How to init with object color, xpos,... : + osciObj = lj.RelativeObject('osciObj', True, 255, [], white, red, green,blue,0 , False, centerX , centerY , 1 , Xrot , Yrot , Zrot) + How to use in drawing functions : you're free to use 0, some or all of any laserobject attributes + - draw one or several pointlists with 'A' laserobject color and 'B' laserobject xpos ypos ? + - Change color of 'main' object and all other objects using it will change also + how to change attribute : + osciObj.resize = 2 or /pluginame/change 'OsciObj' 'resize' 2 + +''' + +class RelativeObject: + + kind = 'relative' + counter = 0 + + def __init__(self, name, active, intensity, xy, color, red, green, blue, layer , closed, xpos , ypos , resize , rotx , roty , rotz): + self.name = name + self.active = active # True/False + self.intensity = intensity + self.xy = [] # Dots list + self.color = color # RGB color in int + self.red = red + self.green = green + self.blue = blue + self.layer = layer + self.closed = closed + self.xpos = xpos + self.ypos = ypos + self.resize = resize + self.rotx = rotx + self.roty = roty + self.rotz = rotz + + RelativeObject.counter += 1 + #type(self).counter += 1 + + def __del__(self): + RelativeObject.counter -= 1 + + +# Fixed Laser object : point list in 'pygame' space (top left = 0,0 / bottom right) +class FixedObject: + + kind = 'fixed' + counter = 0 + + def __init__(self, name, intensity, active, xy, color, red, green, blue, layer , closed): + self.name = name + self.active = active # True/False + self.intensity = intensity + self.xy = [] + self.color = color + self.red = red + self.green = green + self.blue = blue + self.layer = layer + self.closed = closed + + FixedObject.counter += 1 + + def __del__(self): + FixedObject.counter -= 1 + +''' + +class IterDest(type): + def __new__ (cls, name, bases, dct): + dct['_instances'] = [] + return super().__new__(cls, name, bases, dct) + + def __call__(cls, *args, **kwargs): + instance = super().__call__(*args, **kwargs) + cls._instances.append(instance) + return instance + + def __iter__(cls): + return iter(cls._instances) + +class DestObject(): + +# class Destinations(metaclass=IterDest): + __metaclass__ = IterDest + counter = 0 + def __init__(self, name, number, active, layer , scene, laser): + self.name = name + self.number = number + self.active = active + self.layer = layer + self.scene = scene + self.laser = laser + + DestObject.counter += 1 + + def __del__(self): + DestObject.counter -= 1 +''' +class DestObject(): + +# class Destinations(metaclass=IterDest): + _instances = set() + counter = 0 + + def __init__(self, name, number, active, layer , scene, laser): + self.name = name + self.number = number + self.active = active + self.layer = layer + self.scene = scene + self.laser = laser + self._instances.add(weakref.ref(self)) + DestObject.counter += 1 + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + + def __del__(self): + DestObject.counter -= 1 + + + +def Config(redIP,client,myname): + global ClientNumber, name, redisIP, r + + redisIP = redIP + r = redis.StrictRedis(host=redisIP, port=6379, db=0) + + # ClientNumber 255 are not drawing anything like artnet + ClientNumber = client + #print ("client configured",ClientNumber) + name = myname + print ("Plugin declare its name",name) + #print layer + return r + + +def LjClient(client): + global ClientNumber + + ClientNumber = client + + + +def Ljlayer(somelayer): + global layer + + layer = somelayer + + +def fromRedis(n): + + encoded = r.get(n) + #print("") + #print('fromredis key',n,":",encoded) + h, w = struct.unpack('>II',encoded[:8]) + #print("fromredis array size",n,":",h,w) + a = np.frombuffer(encoded, dtype=np.int16, offset=8).reshape(h,w) + #print("fromredis array",n,":",a) + return a + +# Store Numpy array 'a' in Redis key 'n' +# Write also in redis key 'a' numpy array, its 2 dimensions size : h time w values +def toRedis(n,a): + + #print("array.shape", a.shape, len(a.shape) ) + if len(a.shape) == 1: + h = a.shape[0] + w = 1 + else: + h,w = a.shape + #print("toredis", n,"h",h,"w",w,"a",a) + shape = struct.pack('>II',h,w) + + #shape = struct.pack('>II',len(a),1) + #print("toredis",n,a) + encoded = shape + a.tobytes() + + # Store encoded data in Redis + return r.set(n,encoded) + + +# +# OSC functions +# + +# OSC clients + +def SendLJ(oscaddress,oscargs=''): + + oscmsg = OSCMessage() + oscmsg.setAddress(oscaddress) + oscmsg.append(oscargs) + + osclientlj = OSCClient() + osclientlj.connect((redisIP, 8002)) + + print("lj23 in",name," sending OSC message : ", oscmsg, "to", redisIP, ":8002") + try: + osclientlj.sendto(oscmsg, (redisIP, 8002)) + oscmsg.clearData() + except: + print ('Connection to LJ refused : died ?') + pass + #time.sleep(0.001 + + + +# Resolume OSC Arena client. +# sendresol(oscaddress, [arg1, arg2,...]) +# example : sendresol("/noteon",note) + +def SendResol(oscaddress,oscargs): + + oscmsg = OSCMessage() + oscmsg.setAddress(oscaddress) + oscmsg.append(oscargs) + + osclientresol = OSCClient() + osclientresol.connect((oscIPresol, oscPORTresol)) + + print("lj sending OSC message : ", oscmsg, "to Resolume", oscIPresol, ":", oscPORTresol) + try: + osclientresol.sendto(oscmsg, (oscIPresol, oscPORTresol)) + oscmsg.clearData() + except: + print ('Connection to Resolume refused : died ?') + pass + + + + +def WebStatus(message): + SendLJ("/status", message) + + +# Closing plugin messages to LJ +def ClosePlugin(): + WebStatus(name+" Exiting") + SendLJ("/"+name+"/start",0) + + + + +# RAW OSC Frame available ? +def OSCframe(): + # clear timed_out flag + #print "oscframe" + oscserver.timed_out = False + # handle all pending requests then return + while not oscserver.timed_out: + oscserver.handle_request() + +# Answer to LJ pings with /pong value +def OSCping(path, tags, args, source): +#def OSCping(): + print(name, "got /ping from LJ -> reply /pong", name) + SendLJ("/pong",name) + +# Properly close the system. Todo +def OSCstop(): + oscserver.close() + + +# /quit +def OSCquit(path, tags, args, source): + global oscrun + + oscrun = False + print('lj23 got /quit for',name) + #WebStatus(name + " quit.") + #SendLJ("/"+name+"/start",0) + #print("Stopping OSC...") + #OSCstop() + #sys.exit() + + +# default handler +def OSChandler(path, tags, args, source): + + oscaddress = ''.join(path.split("/")) + print("Default OSC Handler in",name,": msg from Client : " + str(source[0]),) + print("OSC address", path) + if len(args) > 0: + print("with args", args) + + #oscIPout = str(source[0]) + #osclient.connect((oscIPout, oscPORTout)) + + +# for any laser object : /pluginame/obj objectname attribute value +# like : /pluginname/obj 'fft' 'xpos' 100 +# attributes for all lj Objects: name, xy_list, c, layer +# + for RelativeObjects : closed, xpos , ypos , resize , rotx , roty , rotz +def OSCobj(path, tags, args, source): + + obj = eval(args[0]+"."+ args[1]) + obj = args[2] + + +def OSCvar(path, tags, args, source): + + obj = eval(args[0]) + obj = args[1] + + +def addOSCdefaults(server): + global oscserver + + oscserver = server + oscserver.addMsgHandler( "default", OSChandler ) + oscserver.addMsgHandler( "/ping", OSCping) + oscserver.addMsgHandler( "/quit", OSCquit) + oscserver.addMsgHandler( "/"+ name + "/adddest", OSCadddest) + oscserver.addMsgHandler( "/"+ name + "/deldest", OSCdeldest) + oscserver.addMsgHandler( "/"+ name + "/obj", OSCobj) + oscserver.addMsgHandler( "/"+ name + "/var", OSCvar) + + + +# +# Drawing basic functions +# + +def rgb2int(r,g,b): + return int('0x%02x%02x%02x' % (r,g,b),0) + + +def LineTo(xy, c, layer ): + + layers[layer].append((xy + (c,))) + +def rLineTo(xy, c, layer , xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + layers[layer ].append((Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz) + (c,))) + + +def Line(xy1, xy2, c, layer ): + LineTo(xy1, 0, layer ) + LineTo(xy2, c , layer ) + +def rLine(xy1, xy2, c, layer , xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + rLineTo(xy1, 0, layer ) + rLineTo(xy2, c , layer ) + + +def PolyLineOneColor(xy_list, c, layer , closed ): + #print "--" + #print "c",c + #print "xy_list",xy_list + #print "--" + xy0 = None + for xy in xy_list: + if xy0 is None: + xy0 = xy + #print "xy0:",xy0 + LineTo(xy0,0, layer ) + LineTo(xy0,c, layer ) + else: + #print "xy:",xy + LineTo(xy,c, layer ) + if closed: + LineTo(xy0,c, layer ) + + + +# Computing points coordinates for rPolyline function from 3D and around 0,0 to pygame coordinates +def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): + + x = xy[0] * resize + y = xy[1] * resize + z = 0 + + rad = math.radians(rotx) + cosaX = math.cos(rad) + sinaX = math.sin(rad) + + y2 = y + y = y2 * cosaX - z * sinaX + z = y2 * sinaX + z * cosaX + + rad = math.radians(roty) + cosaY = math.cos(rad) + sinaY = math.sin(rad) + + z2 = z + z = z2 * cosaY - x * sinaY + x = z2 * sinaY + x * cosaY + + rad = math.radians(rotz) + cosZ = math.cos(rad) + sinZ = math.sin(rad) + + x2 = x + x = x2 * cosZ - y * sinZ + y = x2 * sinZ + y * cosZ + + #print xy, (x + xpos,y+ ypos) + return (x + xpos,y+ ypos) + ''' + to understand why it get negative Y + + # 3D to 2D projection + factor = 4 * gstt.cc[22] / ((gstt.cc[21] * 8) + z) + print xy, (x * factor + xpos, - y * factor + ypos ) + return (x * factor + xpos, - y * factor + ypos ) + ''' + +def rLineTo(xy, c, layer , xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + layers[layer ].append((Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz) + (c,))) + + +def rLine(xy1, xy2, c, layer , xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + LineTo(Pointransf(xy1, xpos, ypos, resize, rotx, roty, rotz),0, layer ) + LineTo(Pointransf(xy2, xpos, ypos, resize, rotx, roty, rotz),c, layer ) + + + +# Send 2D point list around 0,0 with 3D rotation resizing and reposition around xpos ypos +#def rPolyLineOneColor(self, xy_list, c, layer , closed, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): +def rPolyLineOneColor(xy_list, c, layer , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + xy0 = None + for xy in xy_list: + if xy0 is None: + xy0 = xy + LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),0, layer ) + LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, layer ) + else: + LineTo(Pointransf(xy, xpos, ypos, resize, rotx, roty, rotz),c, layer ) + if closed: + LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, layer ) + + +def LineRGBTo(xy, red, green, blue, layer ): + + LineTo(xy, int('0x%02x%02x%02x' % (red,green,blue),0), layer ) + +def LineRGB(xy1, xy2, red,green,blue, layer ): + + LineTo(xy1, 0, layer ) + LineTo(xy2, int('0x%02x%02x%02x' % (red,green,blue),0) , layer ) + + +def PolyLineRGB(xy_list, red, green, blue, layer , closed ): + + PolyLineOneColor(xy_list, int('0x%02x%02x%02x' % (red,green,blue),0), layer , closed ) + +def rPolyLineRGB(xy_list, red, green, blue, layer , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): + + rPolyLineOneColor(xy_list, int('0x%02x%02x%02x' % (red,green,blue),0), layer , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0) + + + +def Lineslayer(layer): + print("Stupido !! your code is to old : use Drawlayer() instead of LinesPL()") + Drawlayer(layer ) + + +def Draw(layer ): + #print '/pl/0/'+str(layer), str(layers[layer]) + if r.set('/pl/'+str(ClientNumber)+'/'+str(layer), str(layers[layer])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(layer), str(layers[layer]) + layers[layer] = [] + return True + else: + return False + +def Resetlayer(self, layer): + layers[layer] = [] + + +# +# "Destinations" management for layers +# + + +# Add a destination for a given layer +def Addest(layer, scene, laser): + + print (name,'adding',layer,scene,laser,'?') + if Findest(layer, scene, laser) == -1: + newdest = DestsObjects.counter + 1 + Dest0 = lj.DestObject(str(newdest), newdest, True, layer , scene, laser) + print("New destination added with number", newdest) + else: + print("Destination already existed") + + +# OSC add a destination for a given layer +# /pluginame/dest layer, scene, laser +def OSCadddest(path, tags, args, source): + + Addests(int(args[0]),int(args[1]),int(args[2])) + + +# Find layer destination with its parameters in destinations dictionnary +def Findest(layer, scene, laser): + + print(name, 'searching layer,scene,laser',layer,scene,laser) + for item in DestObjects.getinstances(): + #print(item) + if item.layer == layer and item.scene == scene and item.laser == laser: + #Dests.append(item[0]) + print('found number',item.number) + return item.number + else: + print('no destination found') + return -1 + ''' + #Dests = list() + allDests = Dests.items() + for item in allDests: + print(item) + if item[1] == layer and item[2] == scene and item[3] == laser: + #Dests.append(item[0]) + return Dests[item[0]] + else: + return -1 + ''' + +# Find and remove a layer destination with its parameters in destinations dictionnary +def Deldest(layer, scene, laser): + + Destnumber = Findest(layer, scene, laser) + print(name,'deleting Destination layer, scene, laser', layer,scene, laser) + + if Destnumber != -1: + print('found DestObject', Destnumber) + delattr(DestObjects, str(Destnumber)) + print("Destination", Destnumber,"was removed") + else: + print("Destination was not found") + + +# OSC Delete a destination for a given layer +# /pluginame/deldests layer, scene, laser +def OSCdeldest(path, tags, args, source): + + Deldests(args[0],args[1],args[2]) + + +# Replace Drawlayer if Destinations paradigm is implemented in plugin code +def DrawDests(): + + # Objects style + + #print("DrawDest") + + for destination in DestObject.getinstances(): + #print (destination.name, destination.number, destination.active, destination.layer, destination.scene, destination.laser, layers[destination.layer] ) + + #print(Dests[str(destination)]) + #print('/pl/'+str(Dests[str(destination)]["scene"])+'/'+str(Dests[str(destination)]["laser"]), ":", str(layers[Dests[str(destination)]["PL"]])) + #print(len(layers[destination.layer])) + if destination.active == True: + if r.set('/pl/'+str(destination.scene)+'/'+str(destination.laser), str(layers[destination.layer])) == True: + #print ('layer', destination.layer, '/pl/'+str(destination.scene)+'/'+str(destination.laser), str(layers[destination.layer])) + pass + else: + print('Redis key modification failed') + + # Maybe one layer can be sent to multiple destination so they are all reset *after* all sending. + for layerss in range(4): + + layers[layerss] = [] + + ''' + # Dictionnary style + + #print(Dests) + for destination in range(len(Dests)): + #print(Dests[str(destination)]) + #print('/pl/'+str(Dests[str(destination)]["scene"])+'/'+str(Dests[str(destination)]["laser"]), ":", str(layers[Dests[str(destination)]["layer"]])) + if r.set('/pl/'+str(Dests[str(destination)]["scene"])+'/'+str(Dests[str(destination)]["laser"]), str(layers[Dests[str(destination)]["layer"]])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(layer), str(layers[layer]) + pass + else: + print('Redis key modification failed') + + # Maybe one layer can be sent to multiple destination so they are all reset *after* all sending. + for destination in range(len(Dests)): + + layers[Dests[str(destination)]["layer"]] = [] + ''' +''' +scenes = 4 + +def DrawDestslayer(layer): + + for scene in range(scenes): + + if Dests[laser]["scene"] != -1: + if r.set('/pl/'+str(Dests[laser]["scene"])+'/'+str(Dests[laser]["laser"]), str(layers[Dests[laser]["laser"]])) == True: + if r.set('/pl/'+str(ClientNumber)+'/'+str(layer), str(layers[layer])) == True: + #print '/pl/'+str(ClientNumber)+'/'+str(layer), str(layers[layer]) + layers[Dests[laser]["laser"]] = [] + return True + else: + return False + +''' + +# +# High level drawing functions +# + + +# Font1 + + +ASCII_GRAPHICS = [ + +#implementé + + [(-50,30), (-30,-30), (30,-30), (10,30), (-50,30)], # 0 + [(-20,30), (0,-30), (-20,30)], # 1 + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], # 2 + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], # 3 + [(30,10), (-30,10), (0,-30), (0,30)], # 4 + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], # 5 + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], # 6 + [(-30,-30), (30,-30), (-30,30)], # 7 + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], # 8 + [(30,0), (-30,0), (-30,-10), (0,-30), (30,-30), (30,10), (0,30), (-30,30)], # 9 + +# A implementer + [(-30,10), (30,-10), (30,10), (0,30), (-30,10), (-30,-10), (0,-30), (30,-10)], #: + [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], # ; + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], # < + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], # = + [(30,10), (-30,10), (0,-30), (0,30)], # > + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], # ? + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], # @ + +# Implementé + + + [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], # A + [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], # A + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], # B + [(30,30), (-30,30), (-30,-30), (30,-30)], # C + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], # D + [(30,30), (-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], # E + [(-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], # F + [(0,0), (30,0), (30,30), (-30,30), (-30,-30),(30,-30)], # G + [(-30,-30), (-30,30), (-30,0), (30,0), (30,30), (30,-30)], # H + [(0,30), (0,-30)], # I + [(-30,30), (0,-30), (0,-30), (-30,-30), (30,-30)], # J + [(-30,-30), (-30,30), (-30,0), (30,-30), (-30,0), (30,30)], # K + [(30,30), (-30,30), (-30,-30)], # L + [(-30,30), (-30,-30), (0,0), (30,-30), (30,30)], # M + [(-30,30), (-30,-30), (30,30), (30,-30)], # N + [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], # O + [(-30,0), (30,0), (30,-30), (-30,-30), (-30,30)], # P + [(30,30), (30,-30), (-30,-30), (-30,30), (30,30),(35,35)], # Q + [(-30,30), (-30,-30), (30,-30), (30,0), (-30,0), (30,30)], # R + [(30,-30), (-30,-30), (-30,0), (30,0), (30,30), (-30,30)], # S + [(0,30), (0,-30), (-30,-30), (30,-30)], # T + [(-30,-30), (-30,30), (30,30), (30,-30)], # U + [(-30,-30), (0,30), (30,-30)], # V + [(-30,-30), (-30,30), (0,0), (30,30), (30,-30)], # W + [(-30,30), (30,-30), (-30,-30), (30,30)], # X + [(0,30), (0,0), (30,-30), (0,0), (-30,-30)], # Y + [(30,30), (-30,30), (30,-30), (-30,-30)], # Z + + # A implementer + + [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], # [ + [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], # \ + [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], # ] + [(30,10), (-30,10), (0,-30), (0,30)], # ^ + [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], # _ + [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], # ` + + # Implementé + + [(-20,20), (-20,-20), (20,-20), (20,20), (20,0), (-20,0)], # a + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20), (-20,0), (20,0)], # b + [(20,20), (-20,20), (-20,-20), (20,-20)], # c + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], # d + [(20,20), (-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], # e + [(-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], # f + [(0,0), (20,0), (20,20), (-20,20), (-20,-20),(20,-20)], # g + [(-20,-20), (-20,20), (-20,0), (20,0), (20,20), (20,-20)], # h + [(0,20), (0,-20)], # i + [(-20,20), (0,-20), (0,-20), (-20,-20), (20,-20)], # j + [(-20,-20), (-20,20), (-20,0), (20,-20), (-20,0), (20,20)], # k + [(20,20), (-20,20), (-20,-20)], # l + [(-20,20), (-20,-20), (0,0), (20,-20), (20,20)], # m + [(-20,20), (-20,-20), (20,20), (20,-20)], # n + [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], # o + [(-20,0), (20,0), (20,-20), (-20,-20), (-20,20)], # p + [(20,20), (20,-20), (-20,-20), (-20,20), (20,20),(25,25)], # q + [(-20,20), (-20,-20), (20,-20), (20,0), (-20,0), (20,20)], # r + [(20,-20), (-20,-20), (-20,0), (20,0), (20,20), (-20,20)], # s + [(0,20), (0,-20), (-20,-20), (20,-20)], # t + [(-20,-20), (-20,20), (20,20), (20,-20)], # u + [(-20,-20), (0,20), (20,-20)], # v + [(-20,-20), (-20,20), (0,0), (20,20), (20,-20)], # w + [(-20,20), (20,-20)], [(-20,-20), (20,20)], # x + [(0,20), (0,0), (20,-20), (0,0), (-20,-20)], # y + [(20,20), (-20,20), (20,-20), (-20,-20)], # z + + [(-2,15), (2,15)] # Point a la place de { +] + + +def DigitsDots(number,color): + dots =[] + for dot in ASCII_GRAPHICS[number]: + #print dot + dots.append((gstt.xy_center[0]+dot[0],gstt.xy_center[1]+dot[1],color)) + #self.point_list.append((xy + (c,))) + return dots + +def CharDots(char,color): + + dots =[] + for dot in ASCII_GRAPHICS[ord(char)-46]: + dots.append((dot[0],dot[1],color)) + return dots + +def Text(message,c, layer, xpos, ypos, resize, rotx, roty, rotz): + + dots =[] + + l = len(message) + i= 0 + #print() + # print (message) + + for ch in message: + + #print "" + # texte centre en x automatiquement selon le nombre de lettres l + x_offset = 26 * (- (0.9*l) + 3*i) + # Digits + if ord(ch)<58: + char_layer_list = ASCII_GRAPHICS[ord(ch) - 48] + else: + char_layer_list = ASCII_GRAPHICS[ord(ch) - 46] + + char_draw = [] + #dots.append((char_layer_list[0][0] + x_offset,char_layer_list[0][1],0)) + + for xy in char_layer_list: + char_draw.append((xy[0] + x_offset,xy[1],c)) + i +=1 + #print ch,char_layer_list,char_draw + rPolyLineOneColor(char_draw, c, layer , False, xpos, ypos, resize, rotx, roty, rotz) + #dots.append(char_draw) + +def TextRGB(message,c, layer, xpos, ypos, resize, rotx, roty, rotz): + + Text(message,int('0x%02x%02x%02x' % (red,green,blue),0), layer, xpos, ypos, resize, rotx, roty, rotz) + + + + + + + \ No newline at end of file diff --git a/plugins/VJing/lj3.py b/libs/lj3.py similarity index 94% rename from plugins/VJing/lj3.py rename to libs/lj3.py index 44e016a..30f5c1c 100644 --- a/plugins/VJing/lj3.py +++ b/libs/lj3.py @@ -1,14 +1,13 @@ -# coding=UTF-8 ''' -lj3 v0.8.1 +lj3 v0.7.5 for LJ v0.8+ -Some LJ functions useful for python clients (was framy.py) +Some LJ functions useful for python clients OSC functions commented, waiting working on OSC in python3 -Config(redisIP, client number) +Config(redisIP, client number,name) PolyLineOneColor rPolyLineOneColor @@ -19,13 +18,13 @@ DrawPL(point list number) : once you stacked all wanted elements, like 2 polylin rgb2int(r,g,b) LjClient(client): Change Client number in redis keys LjPl(pl): Change pl number in redis keys = laser target. - +ClosePlugin(name): Send UI closing info of given plugin OSCstart(): Start the OSC system. OSCframe(): Handle incoming OSC message. Calling the right callback OSCstop(): Properly close the OSC system -OSCping(value): Answer to LJ pings by sending /pong value -OSCquit(name): Exit calling script using name in terminal +OSCping(): Answer to LJ pings by sending /pong name +OSCquit(): Exit calling script using name in terminal setup_controls(joystick) @@ -55,8 +54,9 @@ from osc4py3.oscmethod import * #redisIP = '127.0.0.1' #r = redis.StrictRedis(host=redisIP, port=6379, db=0) +print('Importing lj3 from libs...') ClientNumber = 0 - +name = "noname" point_list = [] pl = [[],[],[],[]] @@ -83,33 +83,41 @@ def SendLJ(oscaddress,oscargs=''): try: msg = oscbuildparse.OSCMessage(oscaddress, None, [oscargs]) # print(msg) + print("lj3 sending OSC message to", redisIP, ":8002") osc_send(msg, "LJ 8002") OSCframe() except: - print ('Connection to LJ refused : died ?') + print (oscaddress,'Connection to LJ refused : died ?') pass def WebStatus(message): SendLJ("/status", message) -# Answer to LJ pings +# Answer to LJ /ping 1 with /pong name def OSCping(value): - # Will receive message address, and message data flattened in s, x, y - print("Got /ping with value", value) - SendLJ("/pong",value) + print(name,"got /ping 1 from LJ -> reply /pong", name) + SendLJ("/pong",name) +# Closing plugin messages to LJ +def ClosePlugin(): + WebStatus(name+" Exit") + SendLJ("/"+name+"/start",0) + print("Stopping OSC...") + OSCstop() + +''' # /quit -def OSCquit(name): +def OSCquit(): WebStatus(name + " quit.") + SendLJ("/"+name+"/start",0) print("Stopping OSC...") - OSCstop() sys.exit() - +''' ''' def handlerfunction(s, x, y): # Will receive message data unpacked in s, x, y @@ -226,9 +234,11 @@ def rgb2int(r,g,b): return int('0x%02x%02x%02x' % (r,g,b),0) -def Config(redisIP,client): - global ClientNumber, r +def Config(redisIP,client,myname): + global ClientNumber, r, name + name = myname + print ("lj3 got a name to use :", name) r = redis.StrictRedis(host=redisIP, port=6379, db=0) ClientNumber = client osc_udp_client(redisIP, 8002, "LJ 8002") diff --git a/libs/maxwell.json b/libs/maxwell.json new file mode 100644 index 0000000..41ef3d9 --- /dev/null +++ b/libs/maxwell.json @@ -0,0 +1,669 @@ +{ +"ccs": [ + { + "_comment": "Oscillator LEFT X Functions", + "Function": "/osc/left/X/curvetype", + "init": "sin" + }, + { + "Function": "/osc/left/X/freq", + "init": "1" + }, + { + "Function": "/osc/left/X/freqlimit", + "init": "127" + }, + { + "Function": "/osc/left/X/amp", + "init": "100" + }, + { + "Function": "/osc/left/X/amplimit", + "init": "constant" + }, + { + "Function": "/osc/left/X/phasemod", + "init": "64" + }, + { + "Function": "/osc/left/X/phasemodlimit", + "init": "linear" + }, + { + "Function": "/osc/left/X/phaseoffset", + "init": "64" + }, + { + "Function": "/osc/left/X/phaseoffsetlimit", + "init": "manual" + }, + { + "Function": "/osc/left/X/ampoffset", + "init": "64" + }, + { + "Function": "/osc/left/X/ampoffsetlimit", + "init": "manual" + }, + + { + "Function": "/osc/left/X/inversion", + "init": "off" + }, + + + + { + "_comment": "Oscillator LEFT Y Functions", + "Function": "/osc/left/Y/curvetype", + "init": "sin" + }, + { + "Function": "/osc/left/Y/freq", + "init": "1" + }, + { + "Function": "/osc/left/Y/freqlimit", + "init": "127" + }, + { + "Function": "/osc/left/Y/amp", + "init": "100" + }, + { + "Function": "/osc/left/Y/amplimit", + "init": "constant" + }, + { + "Function": "/osc/left/Y/phasemod", + "init": "64" + }, + { + "Function": "/osc/left/Y/phasemodlimit", + "init": "linear" + }, + { + "Function": "/osc/left/Y/phaseoffset", + "init": "64" + }, + { + "Function": "/osc/left/Y/phaseoffsetlimit", + "init": "manual" + }, + { + "Function": "/osc/left/Y/ampoffset", + "init": "64" + }, + { + "Function": "/osc/left/Y/ampoffsetlimit", + "init": "manual" + }, + + { + "Function": "/osc/left/Y/inversion", + "init": "off" + }, + + + + { + "_comment": "Oscillator LEFT Z Functions", + "Function": "/osc/left/Z/curvetype", + "init": "sin" + }, + { + "Function": "/osc/left/Z/freq", + "init": "1" + }, + { + "Function": "/osc/left/Z/freqlimit", + "init": "127" + }, + { + "Function": "/osc/left/Z/amp", + "init": "100" + }, + { + "Function": "/osc/left/Z/amplimit", + "init": "constant" + }, + { + "Function": "/osc/left/Z/phasemod", + "init": "64" + }, + { + "Function": "/osc/left/Z/phasemodlimit", + "init": "linear" + }, + { + "Function": "/osc/left/Z/phaseoffset", + "init": "64" + }, + { + "Function": "/osc/left/Z/phaseoffsetlimit", + "init": "manual" + }, + { + "Function": "/osc/left/Z/ampoffset", + "init": "64" + }, + { + "Function": "/osc/left/Z/ampoffsetlimit", + "init": "manual" + }, + + { + "Function": "/osc/left/Z/inversion", + "init": "off" + }, + + + { + "_comment": "Oscillator RIGHT X Functions", + "Function": "/osc/right/X/curvetype", + "init": "sin" + }, + { + "Function": "/osc/right/X/freq", + "init": "1" + }, + { + "Function": "/osc/right/X/freqlimit", + "init": "127" + }, + { + "Function": "/osc/right/X/amp", + "init": "100" + }, + { + "Function": "/osc/right/X/amplimit", + "init": "constant" + }, + { + "Function": "/osc/right/X/phasemod", + "init": "64" + }, + { + "Function": "/osc/right/X/phasemodlimit", + "init": "linear" + }, + { + "Function": "/osc/right/X/phaseoffset", + "init": "64" + }, + { + "Function": "/osc/right/X/phaseoffsetlimit", + "init": "manual" + }, + { + "Function": "/osc/right/X/ampoffset", + "init": "64" + }, + { + "Function": "/osc/right/X/ampoffsetlimit", + "init": "manual" + }, + + { + "Function": "/osc/right/X/inversion", + "init": "off" + }, + + + + { + "_comment": "Oscillator RIGHT Y Functions", + "Function": "/osc/right/Y/curvetype", + "init": "sin" + }, + { + "Function": "/osc/right/Y/freq", + "init": "1" + }, + { + "Function": "/osc/right/Y/freqlimit", + "init": "127" + }, + { + "Function": "/osc/right/Y/amp", + "init": "100" + }, + { + "Function": "/osc/right/Y/amplimit", + "init": "constant" + }, + { + "Function": "/osc/right/Y/phasemod", + "init": "64" + }, + { + "Function": "/osc/right/Y/phasemodlimit", + "init": "linear" + }, + { + "Function": "/osc/right/Y/phaseoffset", + "init": "64" + }, + { + "Function": "/osc/right/Y/phaseoffsetlimit", + "init": "manual" + }, + { + "Function": "/osc/right/Y/ampoffset", + "init": "64" + }, + { + "Function": "/osc/right/Y/ampoffsetlimit", + "init": "manual" + }, + + { + "Function": "/osc/right/Y/inversion", + "init": "off" + }, + + + + { + "_comment": "Oscillator RIGHT Z Functions", + "Function": "/osc/right/Z/curvetype", + "init": "sin" + }, + { + "Function": "/osc/right/Z/freq", + "init": "1" + }, + { + "Function": "/osc/right/Z/freqlimit", + "init": "127" + }, + { + "Function": "/osc/right/Z/amp", + "init": "100" + }, + { + "Function": "/osc/right/Z/amplimit", + "init": "constant" + }, + { + "Function": "/osc/right/Z/phasemod", + "init": "64" + }, + { + "Function": "/osc/right/Z/phasemodlimit", + "init": "linear" + }, + { + "Function": "/osc/right/Z/phaseoffset", + "init": "64" + }, + { + "Function": "/osc/right/Z/phaseoffsetlimit", + "init": "manual" + }, + { + "Function": "/osc/right/Z/ampoffset", + "init": "64" + }, + { + "Function": "/osc/right/Z/ampoffsetlimit", + "init": "manual" + }, + + { + "Function": "/osc/right/Z/inversion", + "init": "off" + }, + + + + + + + + { + "_comment": "LFO 1 Functions", + "Function": "/lfo/1/curvetype", + "init": "sin" + }, + { + "Function": "/lfo/1/freq", + "init": "64" + }, + { + "Function": "/lfo/1/freqlimit", + "init": "127" + }, + + { + "Function": "/lfo/1/phase", + "init": "64" + }, + + { + "Function": "/lfo/1/inversion", + "init": "off" + }, + + + + + + { + "_comment": "LFO 2 Functions", + "Function": "/lfo/2/curvetype", + "init": "sin" + }, + { + "Function": "/lfo/2/freq", + "init": "64" + }, + { + "Function": "/lfo/2/freqlimit", + "init": "127" + }, + + { + "Function": "/lfo/2/phase", + "init": "64" + }, + + { + "Function": "/lfo/2/inversion", + "init": "off" + }, + + + + + + { + "_comment": "LFO 3 Functions", + "Function": "/lfo/3/curvetype", + "init": "sin" + }, + { + "Function": "/lfo/3/freq", + "init": "64" + }, + { + "Function": "/lfo/3/freqlimit", + "init": "127" + }, + + { + "Function": "/lfo/3/phase", + "init": "64" + }, + + { + "Function": "/lfo/3/inversion", + "init": "off" + }, + + + + + + { + "_comment": "Duplicator Functions", + "Function": "/duplicator/num", + "init": "0" + }, + { + "Function": "/duplicator/offset", + "init": "0" + }, + + { + "_comment": "Mixer Functions", + "Function": "/mixer/operation", + "init": "+" + }, + { + "Function": "/mixer/value", + "init": "0" + }, + + + + { + "_comment": "Intensity Functions", + "Function": "/intensity/mod", + "init": "0" + }, + { + "Function": "/intensity/freq", + "init": "0" + }, + + + { + "_comment": "Scaler Functions", + "Function": "/scaler/curvetype", + "init": "sin" + }, + { + "Function": "/scaler/speed", + "init": "64" + }, + { + "Function": "/scaler/switch", + "init": "off" + }, + { + "Function": "/scaler/width", + "init": "64" + }, + + { + "Function": "/scaler/amt", + "init": "64" + }, + { + "Function": "/scaler/scale", + "init": "64" + }, + + + + { + "_comment": "Rotator X Functions", + "Function": "/rotator/X/curvetype", + "init": "sin" + }, + { + "Function": "/rotator/X/speed", + "init": "64" + }, + + { + "Function": "/rotator/X/lfo/switch", + "init": "off" + }, + + { + "Function": "/rotator/X/direct", + "init": "64" + }, + + + + { + "_comment": "Rotator Y Functions", + "Function": "/rotator/Y/curvetype", + "init": "sin" + }, + { + "Function": "/rotator/Y/speed", + "init": "64" + }, + + { + "Function": "/rotator/Y/lfo/switch", + "init": "off" + }, + + { + "Function": "/rotator/Y/direct", + "init": "64" + }, + + + + + { + "_comment": "Rotator Z Functions", + "Function": "/rotator/Z/curvetype", + "init": "sin" + }, + { + "Function": "/rotator/Z/speed", + "init": "64" + }, + + { + "Function": "/rotator/Z/lfo/switch", + "init": "off" + }, + + { + "Function": "/rotator/Z/direct", + "init": "64" + }, + + + + { + "_comment": "Translator X Functions", + "Function": "/translator/X/curvetype", + "init": "sin" + }, + { + "Function": "/translator/X/speed", + "init": "64" + }, + + { + "Function": "/translator/X/lfo/switch", + "init": "off" + }, + + { + "Function": "/translator/X/amt", + "init": "64" + }, + + + + + + + { + "_comment": "Translator Y Functions", + "Function": "/translator/Y/curvetype", + "init": "sin" + }, + { + "Function": "/translator/Y/speed", + "init": "64" + }, + + { + "Function": "/translator/Y/lfo/switch", + "init": "off" + }, + + { + "Function": "/translator/Y/amt", + "init": "64" + }, + + + + + + { + "_comment": "Translator Z Functions", + "Function": "/translator/Z/curvetype", + "init": "sin" + }, + { + "Function": "/translator/Z/speed", + "init": "64" + }, + + { + "Function": "/translator/Z/lfo/switch", + "init": "off" + }, + + { + "Function": "/translator/Z/amt", + "init": "64" + }, + + + + + + + { + "_comment": "Colors Functions", + "Function": "/color/colortype", + "init": "solid" + }, + { + "Function": "/color/huewidth", + "init": "0" + }, + { + "Function": "/color/hueoff", + "init": "0" + }, + { + "Function": "/color/huemod", + "init": "0" + }, + { + "Function": "/color/huerot", + "init": "0" + }, + { + "Function": "/color/intwidth", + "init": "0" + }, + { + "Function": "/color/intoff", + "init": "0" + }, + { + "Function": "/color/intmod", + "init": "0" + }, + { + "Function": "/color/intfreq", + "init": "0" + }, + + { + "Function": "/color/satwidth", + "init": "0" + }, + + { + "Function": "/color/satmod", + "init": "0" + }, + { + "Function": "/color/saturation", + "init": "127" + }, + { + "Function": "/color/modtype", + "init": "sin" + } + + +] +} diff --git a/libs/midi.py b/libs/midi.py new file mode 100644 index 0000000..85d36d5 --- /dev/null +++ b/libs/midi.py @@ -0,0 +1,452 @@ +#!/usr/bin/python2.7 +# -*- coding: utf-8 -*- + +""" +LJay/LJ +v0.7.0 + +Midi Handler + +Deprecated, see midi3 + +by Sam Neurohack +from /team/laser + +""" + +print "importing midi 0" +import time + +import rtmidi +from rtmidi.midiutil import open_midiinput +from threading import Thread +from rtmidi.midiconstants import (CHANNEL_PRESSURE, CONTROLLER_CHANGE, NOTE_ON, NOTE_OFF, + PITCH_BEND, POLY_PRESSURE, PROGRAM_CHANGE) +import mido +from mido import MidiFile +#import mido +import sys +from serial.tools import list_ports +import serial + +from sys import platform +import gstt + +# import bhoroscp + +import bhoreal +import launchpad +from OSC import OSCServer, OSCClient, OSCMessage +#import orbits + + +midiname = ["Name"] * 16 +midiport = [rtmidi.MidiOut() for i in range(16) ] + + + +is_py2 = sys.version[0] == '2' +if is_py2: + from Queue import Queue +else: + from queue import Queue + +# max 16 midi port array + +midinputsname = ["Name"] * 16 +midinputsqueue = [Queue() for i in range(16) ] +midinputs = [] + + +BhorealMidiName = "Bhoreal" +LaunchMidiName = "Launch" + +BhorealPort, Midi1Port, Midi2Port, VirtualPort, MPort = -1,-1,-1, -1, -1 +VirtualName = "LaunchPad Mini" +Mser = False + +# Myxolidian 3 notes chords list +Myxo = [(59,51,54),(49,52,56),(49,52,56),(51,54,57),(52,56,59),(52,56,59),(54,57,48),(57,49,52)] +MidInsNumber = 0 + +try: + input = raw_input +except NameError: + # Python 3 + StandardError = Exception + + +STATUS_MAP = { + 'noteon': NOTE_ON, + 'noteoff': NOTE_OFF, + 'programchange': PROGRAM_CHANGE, + 'controllerchange': CONTROLLER_CHANGE, + 'pitchbend': PITCH_BEND, + 'polypressure': POLY_PRESSURE, + 'channelpressure': CHANNEL_PRESSURE +} + +# OSC destination list for incoming midi +midi2OSC = { + "lj": {"oscip": "127.0.0.1", "oscport": 8002, "notes": False, "msgs": False}, + "nozoid": {"oscip": "127.0.0.1", "oscport": 8003, "notes": False, "msgs": False}, + "dump": {"oscip": "127.0.0.1", "oscport": 8040, "notes": True, "msgs": True} + } + + + +#mycontroller.midiport[LaunchHere].send_message([CONTROLLER_CHANGE, LaunchTop[number-1], color]) + +def send(device,msg): + + ''' + # if device is the midi name + if device in midiname: + deviceport = midiname.index(device) + midiport[deviceport].send_message(msg) + ''' + if device == "Launchpad": + #print LaunchHere + midiport[gstt.LaunchHere].send_message(msg) + + if device == "Bhoreal": + midiport[gstt.BhorealHere].send_message(msg) + +def NoteOn(note, color): + global MidInsNumber + + gstt.note = note + gstt.velocity = color + + for port in range(MidInsNumber): + + if midiname[port].find(LaunchMidiName) == 0: + launchpad.PadNoteOn(note%64,color) + + if midiname[port].find(BhorealMidiName) == 0: + gstt.BhorLeds[note%64]=color + midiport[port].send_message([NOTE_ON, note%64, color]) + #bhorosc.sendosc("/bhoreal", [note%64 , color]) + + if midiname[port].find(BhorealMidiName) != 0 and midiname[port].find(LaunchMidiName) != 0: + midiport[port].send_message([NOTE_ON, note, color]) + + #virtual.send_message([NOTE_ON, note, color]) + + for OSCtarget in midi2OSC: + if midi2OSC[OSCtarget]['notes']: + pass + #OSCsend(OSCtarget, "/noteon", [note, color]) + + +def NoteOff(note): + global MidInsNumber + + gstt.note = note + gstt.velocity = 0 + for port in range(MidInsNumber): + + if midiname[port].find(LaunchMidiName) == 0: + launchpad.PadNoteOff(note%64) + + if midiname[port].find(BhorealMidiName) == 0: + midiport[port].send_message([NOTE_OFF, note%64, 0]) + gstt.BhorLeds[note%64]=0 + #bhorosc.sendosc("/bhoreal", [note%64 , 0]) + + if midiname[port].find(BhorealMidiName) != 0 and midiname[port].find(LaunchMidiName) != 0: + midiport[port].send_message([NOTE_OFF, note, 0]) + #virtual.send_message([NOTE_OFF, note, 0]) + + for OSCtarget in midi2OSC: + if midi2OSC[OSCtarget]["notes"]: + pass + #OSCsend(OSCtarget, "/noteoff", note) + + + +def MidiMsg(midimsg): + + print ("MidiMsg", midimsg) + for port in range(MidInsNumber): + if midiname[port].find(BhorealMidiName) != 0: + midiport[port].send_message(midimsg) + + +def OSCsend(name, oscaddress, oscargs =''): + + + ip = midi2OSC[name]["oscip"] + port = midi2OSC[name]["oscport"] + osclient = OSCClient() + osclient.connect((ip, port)) + oscmsg = OSCMessage() + oscmsg.setAddress(oscaddress) + oscmsg.append(oscargs) + + try: + if gstt.debug > 0: + print("Midi OSCSend : sending", oscmsg, "to", name, "at", gstt.LjayServerIP, ":", PluginPort) + osclient.sendto(oscmsg, (ip, port)) + oscmsg.clearData() + #if gstt.debug >0: + # print oscaddress, oscargs, "was sent to",name + return True + + except: + if gstt.debug > 0: + print ('Midi OSCSend : Connection to IP', ip ,':', port,'refused : died ?') + #sendWSall("/status No plugin.") + #sendWSall("/status " + name + " is offline") + #sendWSall("/" + name + "/start 0") + #PluginStart(name) + return False + +def WebStatus(message): + OSCsend("lj","/status", message) + +# +# MIDI Startup and handling +# + +mqueue = Queue() +inqueue = Queue() + +# +# Events from Generic MIDI Handling +# + +def midinProcess(midiqueue): + + midiqueue_get = midiqueue.get + while True: + msg = midiqueue_get() + print ("midin ", msg) + time.sleep(0.001) + +# Event from Bhoreal or Launchpad +def MidinProcess(inqueue): + + inqueue_get = inqueue.get + while True: + time.sleep(0.001) + msg = inqueue_get() + print ("Midinproces", msg[0]) + + # Note On + if msg[0]==NOTE_ON: + NoteOn(msg[1],msg[2]) + #if bhorosc.oscdevice == 1: + WebStatus(''.join(("note ",msg[1]," to ",msg[2]))) + + # Note Off + if msg[0]==NOTE_OFF: + print ("noteoff") + NoteOff(msg[1],msg[2]) + #if bhorosc.oscdevice == 1: + WebStatus(''.join(("note ",msg[1]," to ",msg[2]))) + + # Midi CC message + if msg[0] == CONTROLLER_CHANGE: + print ("CC :", msg[1], msg[2]) + WebStatus("CC :" + str(msg[1]) + " " + str(msg[2])) + #orbits.RotX(msg[2]) + for OSCtarget in midi2OSC: + if OSCtarget["notes"]: + pass + #OSCsend(OSCtarget, "/CC", note) + + # other midi message + if msg[0] != NOTE_OFF and msg[0] != NOTE_ON: + + MidiMsg(msg[0],msg[1],msg[2]) + #if bhorosc.oscdevice == 1: + WebStatus(''.join(("msg : ",msg[0]," ",msg[1]," ",msg[2]))) + + +# Generic call back : new msg forwarded to queue +class AddQueue(object): + def __init__(self, port): + self.port = port + print ("AddQueue", port) + self._wallclock = time.time() + + def __call__(self, event, data=None): + message, deltatime = event + self._wallclock += deltatime + print("[%s] @%0.6f %r" % (self.port, self._wallclock, message)) + inqueue.put(message) + + +# +# MIDI OUT Handling +# + +def OutConfig(): + global midiout, MidInsNumber + + print("") + print("MIDIout...") + print("List and attach to available devices on host with IN port :") + + # Display list of available midi IN devices on the host, create and start an OUT instance to talk to each of these Midi IN devices + midiout = rtmidi.MidiOut() + available_ports = midiout.get_ports() + + for port, name in enumerate(available_ports): + + midiname[port]=name + midiport[port].open_port(port) + print("Will send to [%i] %s" % (port, name)) + #MidIns[port][1].open_port(port) + + # Search for a Bhoreal + if name.find(BhorealMidiName) == 0: + print("Bhoreal start animation") + gstt.BhorealHere = port + bhoreal.StartBhoreal(port) + bhoreal.UpdateCurve() + bhoreal.UpdateSet() + bhoreal.UpdateLaser() + bhoreal.UpdateSimu() + time.sleep(0.2) + + # Search for a LaunchPad + if name.find(LaunchMidiName) == 0: + print("Launchpad mini start animation") + gstt.LaunchHere = port + print(gstt.LaunchHere) + launchpad.StartLaunchPad(port) + time.sleep(0.2) + + # Search for a Guitar Wing + if name.find("Livid") == 0: + print("Livid Guitar Wing start animation") + gstt.WingHere = port + print(gstt.WingHere) + #guitarwing.StartWing(port) + time.sleep(0.2) + + print ("") + MidInsNumber = port+1 + + +# +# MIDI IN Handling +# Create processing thread and queue for each device +# +def InConfig(): + + print("") + print("MIDIin...") + print("List and attach to available devices on host with OUT port :") + if platform == 'darwin': + mido.set_backend('mido.backends.rtmidi/MACOSX_CORE') + for port, name in enumerate(mido.get_input_names()): + + #print (name) + midinputsname[port]=name + print(port,name) + + # Bhoreal found ? + if name.find(BhorealMidiName) == 0: + + # thread launch to handle all queued MIDI messages from Bhoreal device + thread = Thread(target=bhoreal.MidinProcess, args=(bhoreal.bhorqueue,)) + thread.setDaemon(True) + thread.start() + try: + bhorealin, port_name = open_midiinput(port+1) # weird rtmidi call port number is not the same in mido enumeration and here + except (EOFError, KeyboardInterrupt): + sys.exit() + + midinputs.append(bhorealin) + print("Attaching MIDI in callback handler to Bhoreal : ", name) + midinputs[port].set_callback(bhoreal.AddQueue(name)) + print("Bhor",port,port_name) + + # LaunchPad Mini Found ? + if name.find(LaunchMidiName) == 0: + + # thread launch to handle all queued MIDI messages from LauchPad device + thread = Thread(target=launchpad.LaunchMidinProcess, args=(launchpad.launchqueue,)) + thread.setDaemon(True) + thread.start() + try: + launchin, port_name = open_midiinput(port+1) # weird port number is not the same in mido enumeration and here + except (EOFError, KeyboardInterrupt): + sys.exit() + + midinputs.append(launchin) + print ("Attaching MIDI in callback handler to Launchpad : ", name) + launchin.set_callback(launchpad.LaunchAddQueue(name)) + #print "Launch",port,port_name + + # all other devices + + ''' + + + port = mido.open_ioport(name,callback=AddQueue(name)) + + This doesn't work on OS X on French system "Réseau Session" has a bug with accent. + Todo : stop using different midi framework. + + if name.find(BhorealMidiName) != 0 and name.find(LaunchMidiName) != 0: + thread = Thread(target=midinProcess, args=(midinputsqueue[port],)) + thread.setDaemon(True) + thread.start() + try: + port = mido.open_ioport(name,callback=AddQueue(name)) + #port_port, port_name = open_midiinput(port) + except (EOFError, KeyboardInterrupt): + sys.exit() + + #midinputs.append(port_port) + print "Attaching MIDI in callback handler to : ", name + #midinputs[port].set_callback(AddQueue(name)) + #MIDInport = mido.open_ioport("Laser",virtual=True,callback=MIDIn) + + ''' + + if name.find(BhorealMidiName) != 0 and name.find(LaunchMidiName) != 0: + thread = Thread(target=midinProcess, args=(midinputsqueue[port],)) + thread.setDaemon(True) + thread.start() + + + try: + port_port, port_name = open_midiinput(port) + except (EOFError, KeyboardInterrupt): + sys.exit() + + midinputs.append(port_port) + print("Attaching MIDI in callback handler to : ", name) + midinputs[port].set_callback(AddQueue(name)) + #MIDInport = mido.open_ioport("Laser",virtual=True,callback=MIDIn) + + +def End(): + global midiout + + #midiin.close_port() + midiout.close_port() + + #del virtual + if gstt.LaunchHere != -1: + del gstt.LaunchHere + if gstt.BhorealHere != -1: + del gstt.BhorealHere + + +def listdevice(number): + + return midiname[number] + +def check(): + + InConfig() + OutConfig() + #return listdevice(255) + + \ No newline at end of file diff --git a/libs/midi.pyc b/libs/midi.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b9b99b769d17fc007a6f48c1ba37a8c451e04ca6 GIT binary patch literal 10407 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 T`-{cm)c9EOgW~<-aIx^e< 0: + print("Midi OSCSend : sending", oscmsg,"to", name, "at", ip , ":", port) + + osclient.sendto(oscmsg, (ip, port)) + oscmsg.clearData() + return True + + except: + if gstt.debug > 0: + print('Midi OSCSend : Connection to IP', ip ,':', port,'refused : died ?') + #sendWSall("/status No plugin.") + #sendWSall("/status " + name + " is offline") + #sendWSall("/" + name + "/start 0") + #PluginStart(name) + return False + +def Webstatus(message): + OSCsend("lj","/status", message) + +# +# MIDI Startup and handling +# + +mqueue = Queue() +inqueue = Queue() + +# +# Events from Generic MIDI Handling +# +''' +def midinProcess(midiqueue): + + midiqueue_get = midiqueue.get + while True: + msg = midiqueue_get() + print("midin ", msg) + time.sleep(0.001) +''' +# Event from Bhoreal or Launchpad +# Or it could be the midinprocess in launchpad.py or bhoreal.py +def MidinProcess(inqueue, portname): + + inqueue_get = inqueue.get + mididest = "to Maxwell 1" + while True: + time.sleep(0.001) + msg = inqueue_get() + #print("Midinprocess", msg[0]) + + # Note On + if msg[0]==NOTE_ON: + print ("from", portname, "noteon", msg[1]) + NoteOn(msg[1],msg[2],mididest) + # Webstatus(''.join(("note ",msg[1]," to ",msg[2]))) + + # Note Off + if msg[0]==NOTE_OFF: + print("from", portname,"noteoff") + NoteOff(msg[1],msg[2], mididest) + # Webstatus(''.join(("note ",msg[1]," to ",msg[2]))) + + # Midi CC message + if msg[0] == CONTROLLER_CHANGE: + print("from", portname,"CC :", msg[1], msg[2]) + ''' + Webstatus("CC :" + str(msg[1]) + " " + str(msg[2])) + for OSCtarget in midi2OSC: + if OSCtarget["notes"]: + pass + #OSCsend(OSCtarget, "/CC", note) + ''' + # other midi message + if msg[0] != NOTE_OFF and msg[0] != NOTE_ON and msg[0] != CONTROLLER_CHANGE: + print("from", portname,"other midi message") + MidiMsg(msg[0],msg[1],msg[2],mididest) + # Webstatus(''.join(("msg : ",msg[0]," ",msg[1]," ",msg[2]))) + + +# Generic call back : new msg forwarded to queue +class AddQueue(object): + def __init__(self, portname, port): + self.portname = portname + self.port = port + #print("AddQueue", port) + self._wallclock = time.time() + + def __call__(self, event, data=None): + message, deltatime = event + self._wallclock += deltatime + #print("inqueue : [%s] @%0.6f %r" % ( self.portname, self._wallclock, message)) + midinputsqueue[self.port].put(message) + + +# +# MIDI OUT Handling +# + + +class OutObject(): + + _instances = set() + counter = 0 + + def __init__(self, name, kind, port): + + self.name = name + self.kind = kind + self.port = port + + self._instances.add(weakref.ref(self)) + OutObject.counter += 1 + + print(self.name, "kind", self.kind, "port", self.port) + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + def __del__(self): + OutObject.counter -= 1 + + + +def OutConfig(): + global midiout, MidInsNumber + + # + if len(OutDevice) == 0: + print("") + print("MIDIout...") + print("List and attach to available devices on host with IN port :") + + # Display list of available midi IN devices on the host, create and start an OUT instance to talk to each of these Midi IN devices + midiout = rtmidi.MidiOut() + available_ports = midiout.get_ports() + + for port, name in enumerate(available_ports): + + midiname[port]=name + midiport[port].open_port(port) + #print("Will send to [%i] %s" % (port, name)) + #MidIns[port][1].open_port(port) + + # Search for a Bhoreal + if name.find(BhorealMidiName) == 0: + + OutDevice.append(OutObject(name, "bhoreal", port)) + print("Bhoreal start animation") + bhoreal.Here = port + bhoreal.StartBhoreal(port) + time.sleep(0.2) + + # Search for a LaunchPad + elif name.find(LaunchMidiName) == 0: + + OutDevice.append(OutObject(name, "launchpad", port)) + print("Launchpad mini start animation") + launchpad.Here = port + launchpad.StartLaunchPad(port) + time.sleep(0.2) + + # Search for a LPD8 + elif name.find('LPD8') == 0: + + OutDevice.append(OutObject(name, "LPD8", port)) + #print("LPD8 mini start animation") + LPD8.Here = port + #LPD8.StartLPD8(port) + time.sleep(0.2) + + # Search for a Guitar Wing + elif name.find("Livid") == 0: + OutDevice.append(OutObject(name, "livid", port)) + print("Livid Guitar Wing start animation") + gstt.WingHere = port + print(gstt.WingHere) + + #guitarwing.StartWing(port) + time.sleep(0.2) + else: + + OutDevice.append(OutObject(name, "generic", port)) + + #print("") + print(len(OutDevice), "Out devices") + #ListOutDevice() + MidInsNumber = len(OutDevice)+1 + +def ListOutDevice(): + + for item in OutObject.getinstances(): + + print(item.name) + +def FindOutDevice(name): + + port = -1 + for item in OutObject.getinstances(): + #print("searching", name, "in", item.name) + if name == item.name: + #print('found port',item.port) + port = item.port + return port + + +def DelOutDevice(name): + + Outnumber = Findest(name) + print('deleting OutDevice', name) + + if Outnumber != -1: + print('found OutDevice', Outnumber) + delattr(OutObject, str(name)) + print("OutDevice", Outnumber,"was removed") + else: + print("OutDevice was not found") + + + +# +# MIDI IN Handling +# Create processing thread and queue for each device +# + +class InObject(): + + _instances = set() + counter = 0 + + def __init__(self, name, kind, port, rtmidi): + + self.name = name + self.kind = kind + self.port = port + self.rtmidi = rtmidi + self.queue = Queue() + + self._instances.add(weakref.ref(self)) + InObject.counter += 1 + + #print("Adding InDevice name", self.name, "kind", self.kind, "port", self.port,"rtmidi", self.rtmidi, "Queue", self.queue) + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + def __del__(self): + InObject.counter -= 1 + + +def InConfig(): + + print("") + print("MIDIin...") + print("List and attach to available devices on host with OUT port :") + + if platform == 'darwin': + mido.set_backend('mido.backends.rtmidi/MACOSX_CORE') + + genericnumber = 0 + + for port, name in enumerate(mido.get_input_names()): + + #print() + # Maxwell midi IN & OUT port names are different + + if name.find("from ") == 0: + #print ("name",name) + name = "to "+name[5:] + #print ("corrected to",name) + + outport = FindOutDevice(name) + midinputsname[port]=name + + #print("name",name, "Port",port, "Outport", outport) + + ''' + # New Bhoreal found ? + if name.find(BhorealMidiName) == 0: + + try: + bhorealin, port_name = open_midiinput(outport) # weird rtmidi call port number is not the same in mido enumeration and here + + BhoreralDevice = InObject(port_name, "bhoreal", outport, bhorealin) + print("BhorealDevice.queue",BhoreralDevice.queue ) + # thread launch to handle all queued MIDI messages from Bhoreal device + thread = Thread(target=bhoreal.MidinProcess, args=(bhoreal.bhorqueue,)) + thread.setDaemon(True) + thread.start() + print("Attaching MIDI in callback handler to Bhoreal : ", name, "port", port, "portname", port_name) + BhoreralDevice.rtmidi.set_callback(bhoreal.AddQueue(port_name)) + except Exception: + traceback.print_exc() + + ''' + # Old Bhoreal found ? + if name.find(BhorealMidiName) == 0: + + try: + bhorealin, port_name = open_midiinput(outport) # weird rtmidi call port number is not the same in mido enumeration and here + except (EOFError, KeyboardInterrupt): + sys.exit + + #midinputs.append(bhorealin) + InDevice.append(InObject(name, "bhoreal", outport, bhorealin)) + # thread launch to handle all queued MIDI messages from Bhoreal device + + thread = Thread(target=bhoreal.MidinProcess, args=(bhoreal.bhorqueue,)) + #thread = Thread(target=bhoreal.MidinProcess, args=(InDevice[port].queue,)) + thread.setDaemon(True) + thread.start() + #print("midinputs[port]", midinputs[port]) + print(name) + InDevice[port].rtmidi.set_callback(bhoreal.AddQueue(name)) + #midinputs[port].set_callback(bhoreal.AddQueue(name)) + + ''' + + # New LaunchPad Mini Found ? + if name.find(LaunchMidiName) == 0: + + + try: + launchin, port_name = open_midiinput(outport) + except (EOFError, KeyboardInterrupt): + sys.exit() + + LaunchDevice = InObject(port_name, "launchpad", outport, launchin) + thread = Thread(target=launchpad.MidinProcess, args=(launchpad.launchqueue,)) + thread.setDaemon(True) + thread.start() + print("Attaching MIDI in callback handler to Launchpad : ", name, "port", port, "portname", port_name) + LaunchDevice.rtmidi.set_callback(launchpad.LaunchAddQueue(name)) + + ''' + + # Old LaunchPad Mini Found ? + if name.find(LaunchMidiName) == 0: + + + try: + launchin, port_name = open_midiinput(outport) + except (EOFError, KeyboardInterrupt): + sys.exit() + #midinputs.append(launchin) + InDevice.append(InObject(name, "launchpad", outport, launchin)) + + thread = Thread(target=launchpad.MidinProcess, args=(launchpad.launchqueue,)) + #thread = Thread(target=launchpad.MidinProcess, args=(InDevice[port].queue,)) + thread.setDaemon(True) + thread.start() + print(name, "port", port, "portname", port_name) + InDevice[port].rtmidi.set_callback(launchpad.LaunchAddQueue(name)) + #launchin.set_callback(launchpad.LaunchAddQueue(name)) + + + # LPD8 Found ? + if name.find('LPD8') == 0: + + print() + print('LPD8 Found..') + + try: + LPD8in, port_name = open_midiinput(outport) + except (EOFError, KeyboardInterrupt): + sys.exit() + #midinputs.append(LPD8in) + InDevice.append(InObject(name, "LPD8", outport, LPD8in)) + print ("Launching LPD8 thread..") + thread = Thread(target=LPD8.MidinProcess, args=(LPD8.LPD8queue,)) + #thread = Thread(target=LPD8.MidinProcess, args=(InDevice[port].queue,)) + thread.setDaemon(True) + thread.start() + print(name, "port", port, "portname", port_name) + InDevice[port].rtmidi.set_callback(LPD8.LPD8AddQueue(name)) + + + # Everything that is not Bhoreal or Launchpad + if name.find(BhorealMidiName) != 0 and name.find(LaunchMidiName) != 0 and name.find('LPD8') != 0: + + try: + #print (name, name.find("RtMidi output")) + if name.find("RtMidi output") > -1: + print("No thread started for device", name) + else: + portin = object + port_name = "" + portin, port_name = open_midiinput(outport) + #midinputs.append(portin) + InDevice.append(InObject(name, "generic", outport, portin)) + + thread = Thread(target=MidinProcess, args=(midinputsqueue[port],port_name)) + thread.setDaemon(True) + thread.start() + + print(name, "port", port, "portname", port_name) + #midinputs[port].set_callback(AddQueue(name),midinputsqueue[port]) + #midinputs[port].set_callback(AddQueue(name)) + #genericnumber += 1 + InDevice[port].rtmidi.set_callback(AddQueue(name,port)) + + except Exception: + traceback.print_exc() + + #print("") + print(InObject.counter, "In devices") + #ListInDevice() + + +def ListInDevice(): + + for item in InObject.getinstances(): + + print(item.name) + +def FindInDevice(name): + + port = -1 + for item in InObject.getinstances(): + #print("searching", name, "in", item.name) + if name in item.name: + #print('found port',item.port) + port = item.port + return port + + +def DelInDevice(name): + + Innumber = Findest(name) + print('deleting InDevice', name) + + if Innumber != -1: + print('found InDevice', Innumber) + delattr(InObject, str(name)) + print("InDevice", Innumber,"was removed") + else: + print("InDevice was not found") + + + # all other devices + + ''' + + + port = mido.open_ioport(name,callback=AddQueue(name)) + + This doesn't work on OS X on French system "Réseau Session" has a bug with accent. + Todo : stop using different midi framework. + + if name.find(BhorealMidiName) != 0 and name.find(LaunchMidiName) != 0: + thread = Thread(target=midinProcess, args=(midinputsqueue[port],)) + thread.setDaemon(True) + thread.start() + try: + port = mido.open_ioport(name,callback=AddQueue(name)) + #port_port, port_name = open_midiinput(port) + except (EOFError, KeyboardInterrupt): + sys.exit() + + #midinputs.append(port_port) + print "Attaching MIDI in callback handler to : ", name + #midinputs[port].set_callback(AddQueue(name)) + #MIDInport = mido.open_ioport("Laser",virtual=True,callback=MIDIn) + + ''' + +def End(): + global midiout + + #midiin.close_port() + midiout.close_port() + + #del virtual + if launchpad.Here != -1: + del launchpad.Here + if bhoreal.Here != -1: + del bhoreal.Here + if LPD8.Here != -1: + del LPD8.Here + + +def listdevice(number): + + return midiname[number] + +def check(): + + OutConfig() + InConfig() + + #return listdevice(255) + + \ No newline at end of file diff --git a/plugins.py b/libs/plugins.py similarity index 77% rename from plugins.py rename to libs/plugins.py index d3841f5..5e13bbe 100644 --- a/plugins.py +++ b/libs/plugins.py @@ -45,18 +45,36 @@ def Data(name): return gstt.plugins.get(name) - +# See LJ.conf data def Start(name): # get Plugin configuration. command = Command(name) + sendWSall("/status Starting "+name+"...") + # Get LJ path + ljpath = r'%s' % os.getcwd().replace('\\','/') + + print "" + print "LJ is starting plugin :", name + + # Construct the command with absolute path. + + PluginPath = command.split(" ") + # Launch as a subprocess + PluginProcess = subprocess.Popen([PluginPath[0], ljpath + "/" + PluginPath[1]]) + + if gstt.debug >0: + print "LJ path :", ljpath + print "New process pid for ", name, ":", PluginProcess.pid + + ''' # Maybe it's not fully started data = Data(name) if command != "" and "pid" not in data : - sendWSall("/status Starting...") + sendWSall("/status Starting "+name+"...") # Get LJ path ljpath = r'%s' % os.getcwd().replace('\\','/') @@ -80,6 +98,7 @@ def Start(name): # Process can be terminated with : # PluginProcess.terminate() + ''' def OSCsend(name, oscaddress, oscargs =''): @@ -95,12 +114,12 @@ def OSCsend(name, oscaddress, oscargs =''): try: if gstt.debug > 0: - print "OSCSend : sending", oscmsg,"to plugin", name, "at", gstt.LjayServerIP, ":", PluginPort + print "Plugins manager : OSCsending", oscmsg,"to plugin", name, "at", gstt.LjayServerIP, ":", PluginPort osclientplugin.sendto(oscmsg, (gstt.LjayServerIP, PluginPort)) oscmsg.clearData() - #if gstt.debug >0: - # print oscaddress, oscargs, "was sent to",name + if gstt.debug >0: + print oscaddress, oscargs, "was sent to",name return True except: @@ -123,20 +142,23 @@ def Ping(name): def Kill(name): - data = Data(name) - print "" + #data = Data(name) + print "Killing",name + + OSCsend(name,"/quit") + + ''' if data["process"] != None: print name, "plugin is owned by LJ." print "Killing plugin", name - OSCsend(name,"/quit") #data["process"].terminate() - sendWSall("/status Killing "+ name +".") + else: print "Killing asked but plugin is not owned by LJ" sendWSall("/status Not own plugin") - + ''' # Send a command to given plugin. Will also start it if command contain /start 1 def Send(name, oscpath): @@ -151,7 +173,8 @@ def Send(name, oscpath): #sendWSall("/" + name + "/start 1") #sendWSall("/status " + name + " online") if gstt.debug > 0: - print "Send got", oscpath, "for plugin", name, "currently online." + print '' + print "Plugins manager got", oscpath, "for plugin", name, "currently online." # If start 0, try to kill plugin @@ -164,15 +187,17 @@ def Send(name, oscpath): # Send osc command elif len(oscpath) == 1: OSCsend(name, oscpath[0], oscargs='noargs') - else: + elif len(oscpath) == 2: OSCsend(name, oscpath[0], oscargs=oscpath[1]) + elif len(oscpath) == 3: + OSCsend(name, oscpath[0], oscargs=(oscpath[1], oscpath[2])) return True # Plugin not online.. else: if gstt.debug >0: - print "Send says plugin " + name + " is offline." + print "Plugin manager send says plugin " + name + " is offline." #print "Command", oscpath sendWSall("/status Plugin " + name + " offline") @@ -181,7 +206,7 @@ def Send(name, oscpath): # Try to Start it if /start 1 if oscpath[0].find("start") != -1 and oscpath[1] == "1": if gstt.debug >0: - print "Trying to start", name, "..." + print "Plugin Manager Trying to start", name, "..." Start(name) return False diff --git a/libs/plugins.pyc b/libs/plugins.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e585c8711d9290200c9fffeaade8a6cdfdcb4f3b GIT binary patch literal 4241 zcmb_f&u=706@Jw{W6#XmYp>V4j>9T6KLWENvUh_($O;f-#O#KRF+CBBMv<)E>Gm+Q zJ>8S8npl>+C$E$vHze*T7Y_Up91#~zxpCmijT5KveXrW~+EES|Y)y4l*L$yCz542V zufu;WcmDm+KR+Bw{TJZ*E`IjUXi|{@S|e#7xshoggFvRC3__VUWY7@9xlr<^Oc!LZ z;KvQg7iF-hdg!-g&^qh4WzatBcVy6!v?(vK$PGysw6i4XqIQ-gZE5GGq;2i2NZQfP zs-%!#l9xsXw&8n!MRUhN=@q?`& zY(4CB_Vf8@T-fMQQlxoSZFM^1&+*p{q2=0We$n6cDrckJe4G`|b^P4>nYGC%>l(_h zpm~}-v*qx4=DgP4kTYk$UGyzAPec-pabGp}ync)NeRv5E{hLL+IjUcvD_u7BKAP=c zmHB*{+3lYuF4-QIX=aa$;r5gFw)62byFK&!+L|4^2BaSsW4BIKp0R}IPI0JC-9pES zOblH+H8@Q{0O|K$mqIbExZ7xKR-^}5nA<*ZeeFW|fp41r8+p|6hbIUXfW(H|+dF|y7%Mz#);N{lk6@*1upnP%Ea z5!`EUhHLGYm5cDS97wQcH1yZp34I=x(P-Y96RchZna2k(lS1sIh*%Uif@ zUE=08>bscDf3$HORzNL&QW%ixA)nWo~$s>LseO zS)L3t$MD-(KK9gT=g(@RI86}CWwJn$A_zGEmb}REOV!eBN!WbCyxW6F4>?w$ z2$1%?;T}-egLOp@S8UVpr9}g8zQc75XU+}(mCGw033SCcFz9Yb|7r2I7;{-VFuVy@ zmc?z*rQMSBf1NT<5FUGqGJ6kQe?~R}Q6WiG(M|;ZC9MO_ia=LJ9-)e<#KnZLCESh@ zpcwfza;5zm#+rVM6ef1dqR57BTo#zC)uYGzmK;=NhjW`zDjnnT<1UdBb0#M06{kb5 z??Fh;d@@OneUg5>9~0XOH=DViq-llQpg>P%0B#z;!D&K(yKtq}0>eB@Dw2_AiVv!} zzXLx@a+`H2tC&`!r5z@}qxsl*AODZua)sa0Cmyqe?O=I%NFegZV^e?s z0q=2T;qvC>EUCfa=b==8H$M1alj>dLGaBT`AHU>@AmxBGc;A&Vkk2%^;l5uO#QlbP zZSYf_Xvrp%S0L4=b(*Y={+@}>lM!+na~GhG!-oM={7yh~uuE$#)&3i=45sVFkp7VQ zP6K0#$t$uqRW>kJWvK;ERDS0b`4yFa=gZ`&c2hRVyj%$`E`sSb+1I-`FzG7Y+DLE7 zhTjF)am~NF?F$5?@O0h3x#Qo|o4^rVir8nS_A|Y!etmZN82)0?jVloYS=SMRZyo8w zMdi@faNwRp^$SEZk7dDql}$&b({BhSYEKhdHw@=h1>($)qp|>Qvn|cEz9LW(Wb;5R z);IF4$d=Lb8s)@2ii~&*Pi4BIBu9;j#W5#sgvR@FPV8jE$R@|A9Q1o5vLsekBIV(s zI$>Ffo|QDUw$j3x#21M|i;stvlv^vjU+0kzs$*P8(!cIN>k}p4!!bDeyHM~ICspI` zp+Vw8ErH5|mp1+m8)cktu*VwmqGZ-952|I|ac!<8RrV2+Kj3M(ri7c}Qgg*L&1;SO zs3}&>GDzulvu57FuWK5ZTg98T@IJ^Fvq6^?hdOg`ke0)PgP2(&rY+57K2tHZ9i4q? z9{3N$n49$hAeQ2LXfy!!*v6WVbnluK*C;@6#Tp6?kH(Kti+_mbA_m&~FTXiS{O?T5 ibe?BFqW?BRvk=_F7MJ{g*j}jro9*u}MeSDm&VK-TTR0g2 literal 0 HcmV?d00001 diff --git a/libs/scrolldisp.py b/libs/scrolldisp.py new file mode 100644 index 0000000..856b640 --- /dev/null +++ b/libs/scrolldisp.py @@ -0,0 +1,803 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +''' +ScrollDisp +v0.7.0 + +An example of an unicornhat hack for Launchpad Mini or Bhoreal. + +This is a custom version of scrolldisp.py that display text on unicornhat +with use of bhorunicornhat to use with a Bhoreal or a Launchpad mini mk2 + +Default device is the launchpad. + + +Command line to display 2 chars: + +To display 'OK' : +python3 scrolldisp.py OK + +To display a rainbow : +python3 scrolldisp.py ~R + +See the end of this script for more option like scrolling or use a bhoreal in command line. + + +As a Library : + +Display(text, color=(255,255,255), delay=0.2, mididest ='launchpad') + +DisplayScroll(text, color=(255,255,255), delay=0.2, mididest = 'launchpad') + +Remember there is Cls functions +launchpad.Cls() +bhoreal.Cls() + +''' + +#from unicorn_hat_sim import unicornhat as u + +import bhorunicornhat as u +import time, math, sys + +class ScrollDisp: + columns = [] + mappings = {'!': [" ", + "#", + "#", + "#", + "#", + " ", + "#", + " "], + '\'': [" ", + "#", + "#", + " ", + " ", + " ", + " ", + " "], + '(': [" ", + " #", + "# ", + "# ", + "# ", + "# ", + " #", + " "], + ')': [" ", + "# ", + " #", + " #", + " #", + " #", + "# ", + " "], + ',': [" ", + " ", + " ", + " ", + " ", + " ", + " #", + "# "], + '-': [" ", + " ", + " ", + " ", + "###", + " ", + " ", + " "], + '.': [" ", + " ", + " ", + " ", + " ", + " ", + "#", + " "], + '0': [" ", + " ## ", + "# #", + "# #", + "# #", + "# #", + " ## ", + " "], + '1': [" ", + " # ", + "## ", + " # ", + " # ", + " # ", + "###", + " "], + '2': [" ", + " ## ", + "# #", + " #", + " # ", + " # ", + "####", + " "], + '3': [" ", + "####", + " #", + " # ", + " #", + "# #", + " ## ", + " "], + '4': [" ", + "# #", + "# #", + "####", + " #", + " #", + " #", + " "], + '5': [" ", + "####", + "# ", + "### ", + " #", + "# #", + " ## ", + " "], + '6': [" ", + " ## ", + "# ", + "### ", + "# #", + "# #", + " ## ", + " "], + '7': [" ", + "####", + " #", + " # ", + " # ", + " # ", + " # ", + " "], + '8': [" ", + " ## ", + "# #", + " ## ", + "# #", + "# #", + " ## ", + " "], + '9': [" ", + " ## ", + "# #", + " ###", + " #", + " #", + " ## ", + " "], + ':': [" ", + " ", + " ", + "#", + " ", + " ", + "#", + " "], + 'A': [" ", + " ## ", + "# #", + "# #", + "####", + "# #", + "# #", + " "], + 'B': [" ", + "### ", + "# #", + "### ", + "# #", + "# #", + "### ", + " "], + 'C': [" ", + " ## ", + "# #", + "# ", + "# ", + "# #", + " ## ", + " "], + 'D': [" ", + "### ", + "# #", + "# #", + "# #", + "# #", + "### ", + " "], + 'E': [" ", + "####", + "# ", + "### ", + "# ", + "# ", + "####", + " "], + 'F': [" ", + "####", + "# ", + "### ", + "# ", + "# ", + "# ", + " "], + 'G': [" ", + " ## ", + "# #", + "# ", + "# ##", + "# #", + " ## ", + " "], + 'H': [" ", + "# #", + "# #", + "####", + "# #", + "# #", + "# #", + " "], + 'I': [" ", + "###", + " # ", + " # ", + " # ", + " # ", + "###", + " "], + 'J': [" ", + " ###", + " #", + " #", + " #", + "# #", + " ## ", + " "], + 'K': [" ", + "# #", + "# # ", + "## ", + "## ", + "# # ", + "# #", + " "], + 'L': [" ", + "# ", + "# ", + "# ", + "# ", + "# ", + "###", + " "], + 'M': [" ", + "# #", + "####", + "# #", + "# #", + "# #", + "# #", + " "], + 'N': [" ", + "# #", + "## #", + "# ##", + "# #", + "# #", + "# #", + " "], + 'O': [" ", + " ## ", + "# #", + "# #", + "# #", + "# #", + " ## ", + " "], + 'P': [" ", + "### ", + "# #", + "### ", + "# ", + "# ", + "# ", + " "], + 'Q': [" ", + " ## ", + "# #", + "# #", + "# #", + "# # ", + " # #", + " "], + 'R': [" ", + "### ", + "# #", + "### ", + "## ", + "# # ", + "# #", + " "], + 'S': [" ", + " ###", + "# ", + " # ", + " # ", + " #", + "### ", + " "], + 'T': [" ", + "#####", + " # ", + " # ", + " # ", + " # ", + " # ", + " "], + 'U': [" ", + "# #", + "# #", + "# #", + "# #", + "# #", + " ## ", + " "], + 'V': [" ", + "# # ", + "# # ", + "# # ", + "# # ", + "# # ", + " # ", + " "], + 'W': [" ", + "# #", + "# #", + "# #", + "# # #", + "## ##", + "# #", + " "], + 'X': [" ", + "# #", + "# #", + " # ", + " # ", + "# #", + "# #", + " "], + 'Y': [" ", + "# #", + "# #", + "# #", + " # ", + " # ", + " # ", + " "], + 'Z': [" ", + "####", + " #", + " # ", + " # ", + "# ", + "####", + " "], + '[': [" ", + "##", + "# ", + "# ", + "# ", + "# ", + "##", + " "], + ']': [" ", + "##", + " #", + " #", + " #", + " #", + "##", + " "], + '_': [" ", + " ", + " ", + " ", + " ", + " ", + " ", + "####"], + 'a': [" ", + " ", + " ## ", + " #", + " ###", + "# #", + " ###", + " "], + 'b': [" ", + "# ", + "# ", + "### ", + "# #", + "# #", + "### ", + " "], + 'c': [" ", + " ", + " ## ", + "# #", + "# ", + "# #", + " ## ", + " "], + 'd': [" ", + " #", + " #", + " ###", + "# #", + "# #", + " ###", + " "], + 'e': [" ", + " ", + " ## ", + "# #", + "####", + "# ", + " ## ", + " "], + 'f': [" ", + " ## ", + "# #", + "# ", + "## ", + "# ", + "# ", + " "], + 'g': [" ", + " ", + " ## ", + "# #", + " ###", + " #", + "### ", + " "], + 'h': [" ", + "# ", + "# ", + "# # ", + "## #", + "# #", + "# #", + " "], + 'i': [" ", + " # ", + " ", + "## ", + " # ", + " # ", + "###", + " "], + 'j': [" ", + " #", + " ", + " #", + " #", + " #", + "# #", + " # "], + 'k': [" ", + "# ", + "# #", + "# # ", + "## ", + "# # ", + "# #", + " "], + 'l': [" ", + "## ", + " # ", + " # ", + " # ", + " # ", + "###", + " "], + 'm': [" ", + " ", + "## # ", + "# # #", + "# #", + "# #", + "# #", + " "], + 'n': [" ", + " ", + "### ", + "# #", + "# #", + "# #", + "# #", + " "], + 'o': [" ", + " ", + " ## ", + "# #", + "# #", + "# #", + " ## ", + " "], + 'p': [" ", + " ", + "### ", + "# #", + "# #", + "### ", + "# ", + "# "], + 'q': [" ", + " ", + " ###", + "# #", + "# #", + " ###", + " #", + " #"], + 'r': [" ", + " ", + "# ##", + "## ", + "# ", + "# ", + "# ", + " "], + 's': [" ", + " ", + " ###", + "# ", + " ## ", + " #", + "### ", + " "], + 't': [" ", + " # ", + "####", + " # ", + " # ", + " # ", + " ##", + " "], + 'u': [" ", + " ", + "# #", + "# #", + "# #", + "# #", + " ## ", + " "], + 'v': [" ", + " ", + "# #", + "# #", + " # # ", + " # # ", + " # ", + " "], + 'w': [" ", + " ", + "# #", + "# #", + "# # #", + "# # #", + " # # ", + " "], + 'x': [" ", + " ", + "# #", + "# #", + " ## ", + "# #", + "# #", + " "], + 'y': [" ", + " ", + "# #", + "# #", + " ###", + " #", + "# #", + " ## "], + 'z': [" ", + " ", + "####", + " # ", + " # ", + "# ", + "####", + " "] + } + sharpnotes = { + 'A': [" #", + " ## ", + "# #", + "# #", + "####", + "# #", + "# #", + " "], + 'C': [" #", + " ## ", + "# #", + "# ", + "# ", + "# #", + " ## ", + " "], + 'D': [" #", + "### ", + "# #", + "# #", + "# #", + "# #", + "### ", + " "], + 'F': [" #", + "### ", + "# ", + "### ", + "# ", + "# ", + "# ", + " "], + 'G': [" #", + " ## ", + "# #", + "# ", + "# ##", + "# #", + " ## ", + " "] + } + def append_mapping(self, char, color): + #self.append_space() + bitmap = self.mappings[char] + n = len(bitmap[0]) + for x in range(n): + self.columns.append([(color if bitmap[i][x] == '#' else (0,0,0)) for i in range(8)]) + + def append_rainbow(self): + for x in range(8): + r = int((math.cos(x * math.pi / 4) + 1) * 127) + g = int((math.cos((x - 8.0 / 3.0) * math.pi / 4) + 1) * 127) + b = int((math.cos((x + 8.0 / 3.0) * math.pi / 4) + 1) * 127) + self.columns.append([(r,g,b) for i in range(8)]) + + def append_space(self, n=1): + for x in range(n): + self.columns.append([(0,0,0) for i in range(8)]) + + def append_buffer(self): + self.append_space(9) + + def append_letter(self, char, color=None): + if char == ' ': + self.append_space(2) + elif char == 0: + self.append_rainbow() + elif char in self.mappings.keys(): + self.append_mapping(char, color) + else: + self.columns.append([(255,255,255),(255,255,255),(255,255,255),(255,255,255),(255,255,255),(255,255,255),(255,255,255),(255,255,255)]) + print("unknown char {0} ({1})".format(char, ord(char))) + + + def append_sharpnote(self, text, color=(255,255,255)): + + # Note + # Should be a better test for A-G letter. + if text[0] in self.mappings.keys(): + bitmap = self.sharpnotes[text[0]] + + n = len(bitmap[0]) + for x in range(n): + self.columns.append([(color if bitmap[i][x] == '#' else (0,0,0)) for i in range(8)]) + + + # Octave + if text[2] in self.mappings.keys(): + self.append_letter(text[2], color) + + + def append_string(self, text, color=(255,255,255)): + i = 0 + while i < len(text): + if text[i] == '~': + i += 1 + if text[i] == 'R': #rainbow + self.append_letter(0) + else: + self.append_letter(text[i], color) + i += 1 + + def set_text(self, text, color=(255,255,255)): + self.columns = [] + #self.append_buffer() + + if len(text) == 3 and text[1] == "#": + self.append_sharpnote(text) + else: + self.append_string(text) + + self.append_buffer() + + def __init__(self, text=""): + self.set_text(text) + + def start(self, delay=0.1): + + u.set_pixels(self.columns[0:8]) + u.show() + time.sleep(delay) + + def startScroll(self, delay=0.1): + + for x in range(len(self.columns) - 8): + u.set_pixels(self.columns[x:x+8]) + u.show() + time.sleep(delay) + + +def Display(text, color=(255,255,255), delay=0.2, mididest ='launchpad'): + disp = ScrollDisp() + #print(text) + + if mididest == 'bhoreal': + u.dest(mididest,180) + else: + u.dest(mididest,270) + + disp.set_text(text, color) + disp.start(delay) + +def DisplayScroll(text, color=(255,255,255), delay=0.2, mididest = 'launchpad'): + disp = ScrollDisp() + if mididest == 'bhoreal': + u.dest(mididest,180) + else: + u.dest(mididest,270) + disp.set_text(text, color) + disp.startScroll(delay) + + +if __name__ == '__main__': + + from libs import midi3 + + # Implemented for script compatibility but actually do nothing on supported devices + u.brightness(0.5) + + # 2 chars with no scrolling + Display(' '.join(sys.argv[1:])) + + + # text with scrolling + # DisplayScroll(' '.join(sys.argv[1:])) + + + + # To use with a Bhoreal just add mididest = 'bhoreal' in Display() + # or DisplayScroll() + + # Display(' '.join(sys.argv[1:]), mididest = 'bhoreal') diff --git a/settings.py b/libs/settings.py similarity index 100% rename from settings.py rename to libs/settings.py diff --git a/libs/settings.pyc b/libs/settings.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f777a6c3892a5218ec1accba74204e2f9e0cfef GIT binary patch literal 2760 zcmbtW-A?0H5FRJtFZ}-#psVyhr4^yui&fiI)e2Bxg(7rVl?8PbnfQ=(>eyb}0fLq* z`UbtK)HmoW^l|zIRj=D`#yLs0i%W$`z`MH z2F4*ehqcJbkY~|3oYc?IdB*rzI?ozEN9QBtWa%foI7&`VoH24nsG>8}9H)viN|gg` zQPZM(Bu$W>pk|&@^xh&1Q=OE?xPl#+{LwSJQ$Bi@zuMV;vb~efpXelU{YG3ouzknV zQ9gfkxVvB7-7kJs+}+K)f8(zztKpSQ;ojx3Ug0Sro;6)TlA$C^%^YFM`z%>~EK6N% zzHE1Bq*u=nye>kdqhapD`|tkpZKTk#tdJ#I$GGhBG9 zYQ`~Ex}wS9c;4Vs!|_RjPY=hZ3_dd)pEmgHaD2w#bHnjjgU=7g=M26u9G^G%;&6Py z;7h~tMM{>bxgtBVDk;tqIm_g%kh4n88YOGklq?^W*T2#!AD03p>yp1gPJ!+-ylECX z=A^Wa6IV_63|F+TBilA1XSCw93WV1qh-9g11@+>5x(w6a`oV-J~=Q=V!OPAubOHm&ZJU9sk@ z;?V0$tEZ=2favL8D5$TQIQvka4Amf>=!~3*Y}N#!jJ+TPH_e13_JUB_Gzj_Y1tGC% z5Yi`~h%SV$2^3bkjc1%>ZLA#JTv%WlGKePJd-+_%6q+Y$HXx=sVzHd;4&4+nd&&b_ z0!$e|RBQm4Hh{?205D?!(JcX>P?%%Z03t{Oz?=a@i3Wz6H^4IM&j7GsfR!GQ&ar3! zQLKSCmJG1gdm~-ovH=Pyuujd5x9H{4S2&5kF!%uBqrEAquYaLa5w}$wfvSQb#fMVy z@l@QoiqCY~cr1OP*KW9e403UD1>(b_7?K85EP0C0x?*)yEQxBG4eN%QWi!WSo((rm z=^gggU_?C7*64b*!9h_JE&@R%X^%MEuZS@lk|M&37Jw+%^p)+YFF3ErhE-d=%ZBwq zy~pN#80mD3d+7ysqCVj8hipD#^D!H4CG`m#?nw11j5M3HeOkJ(^f{yduZLwt+IF@v zl=MGkmMwEV%8pozXybxa$l(6h6*J*mMTNIn5ts?6Lpv;9x}M(ND)BCe64q)?P_Na5 zt5k=M?Fb^AQvHO}SW56I3p=t{^%#%pYc~8pTe?MDX@t4@dL`a}6)oP2r>($gd-@x$ UFy@mmnwhfX%1&%dY|g>|2i{QpZ2$lO literal 0 HcmV?d00001 diff --git a/tracer.py b/libs/tracer.py similarity index 100% rename from tracer.py rename to libs/tracer.py diff --git a/libs/tracer.pyc b/libs/tracer.pyc new file mode 100644 index 0000000000000000000000000000000000000000..37242aab25beaddfec7ef19f1083972a7e507d36 GIT binary patch literal 13286 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: - # print "default handler" - # print "OSC said path", path," oscpath ", oscpath," args", args - - sendWSall(path + " " + str(args[0])) + if gstt.debug > 0: + print "" + print "OSC handler in main said : path", path," oscpath ", oscpath," args", args + + if oscpath[1] != "pong": + sendWSall(path + " " + str(args[0])) commands.handler(oscpath,args) @@ -268,26 +172,19 @@ def osc_frame(): def PingAll(): + print ("Pinging all plugins...") for plugin in gstt.plugins.keys(): - # Plugin Online - if plugins.Ping(plugin): - - sendWSall("/"+ plugin + "/start 1") - if gstt.debug >0: - print "plugin", plugin, "answered." + print("pinging", plugin) + #sendWSall("/"+ plugin + "/start 0") + plugins.Ping(plugin) - # Plugin Offline - else: - sendWSall("/"+ plugin + "/start 0") - if gstt.debug >0: - print "plugin", plugin, "didn't answered." # OSC server Thread : handler, dacs reports and simulator points sender to UI. def osc_thread(): - while True: + #while True: try: while True: @@ -326,9 +223,9 @@ def osc_thread(): # last number of points sent to etherdream buffer sendWSall("/points/" + str(laserid) + " " + str(r.get('/cap/'+str(laserid)))) - #print "Sending simu frame from",'/pl/'+str(gstt.LasClientNumber)+'/'+str(gstt.Laser) - #print r.get('/pl/'+str(gstt.LasClientNumber)+'/'+str(gstt.Laser)) - sendWSall("/simul" +" "+ r.get('/pl/'+str(gstt.LasClientNumber)+'/'+str(gstt.Laser))) + #print "Sending simu frame from",'/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser) + #print r.get('/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser)) + sendWSall("/simul" +" "+ r.get('/pl/'+str(gstt.SceneNumber)+'/'+str(gstt.Laser))) except Exception as e: @@ -350,8 +247,10 @@ def new_client(client, wserver): sendWSall("/status Hello %d" % client['id']) for laserid in range(0,gstt.LaserNumber): + sendWSall("/ip/" + str(laserid) + " " + str(gstt.lasersIPS[laserid])) sendWSall("/kpps/" + str(laserid)+ " " + str(gstt.kpps[laserid])) + sendWSall("/laser"+str(laserid)+"/start 1") if gstt.swapX[laserid] == 1: sendWSall("/swap/X/" + str(laserid)+ " 1") @@ -383,6 +282,7 @@ def message_received(client, wserver, message): oscpath = message.split(" ") if gstt.debug > 0: print "WS Client", client['id'], "said :", message, "splitted in an oscpath :", oscpath + PingAll() message4plugin = False @@ -394,42 +294,10 @@ def message_received(client, wserver, message): message4plugin = True if plugins.Send(plugin,oscpath): - print "message sent correctly to", plugin - - - #plugins.sendWSall("/status Running...") + print "message sent correctly to", plugin + else: + print"plugin was offline" - ''' - if plugins.Send("planet",oscpath): - pass - - elif plugins.Send("nozoid",oscpath): - pass - - elif plugins.Send("ai",oscpath): - pass - - elif plugins.Send("lissa",oscpath): - pass - - elif plugins.Send("bank0",oscpath): - pass - - elif plugins.Send("simu",oscpath): - pass - - elif len(oscpath) > 1: - args[0] = str(oscpath[1]) - commands.handler(oscpath[0].split("/"),args) - #print oscpath[0].split("/"),oscpath[1] - - - if oscpath[0] == "/on": - if oscpath[1] == "1": - sendoscserver("/on") - else: - sendoscserver("/off") - ''' # WS received message is an LJ command @@ -448,46 +316,6 @@ def message_received(client, wserver, message): print "" - - ''' - # I message included "nozoid" forward the message as OSC to nozoid IP port 8003 - elif oscpath[0].find("nozoid") != -1: - - if plugins.Ping("nozoid"): - - sendWSall("/nozoid/start 1") - - if oscpath[0].find("start") != -1: - print "Nozoid 0",oscpath[0],"1", oscpath[1] - - if len(oscpath) == 1: - sendnozosc(oscpath[0], oscargs='noargs') - else: - sendnozosc(oscpath[0], oscargs=oscpath[1]) - else: - sendWSall("/status Nozoid offline") - sendWSall("/planet/start 0") - - # If message included "ai" do something - elif oscpath[0].find("ai") != -1: - print "ai order ", oscpath - - # If message included "lissa" do something - elif oscpath[0].find("lissa") != -1: - print "lissa order ", oscpath - - # If message included "bank0" do something - elif oscpath[0].find("bank0") != -1: - - if plugins.Ping("bank0"): - if len(oscpath) == 1: - sendbank0(oscpath[0], oscargs='noargs') - else: - sendbank0(oscpath[0], oscargs=oscpath[1]) - else: - sendWSall("/status Bank0 offline") - ''' - # if needed a loop back : WS Client -> server -> WS Client #sendWSall("ws"+message) @@ -501,13 +329,18 @@ def sendWSall(message): #if gstt.debug >0: #print("WS sending %s" % (message)) wserver.send_message_to_all(message) - - + +''' +print "" +print "Midi Configuration" +midi.InConfig() +midi.OutConfig() +''' # Creating a startup point list for each client : 0,1,2,... print "" -for clientid in range(0,gstt.MaxLasClient): +for clientid in range(0,gstt.MaxScenes+1): print "Creating startup point lists for client",clientid,"..." digit_points = font1.DigitsDots(clientid,65280) @@ -519,8 +352,8 @@ for clientid in range(0,gstt.MaxLasClient): r.set('/order/'+str(laserid), 0) -if r.set("/clientkey","/pl/"+str(gstt.LasClientNumber)+"/")==True: - print "sent clientkey : /pl/"+str(gstt.LasClientNumber)+"/" +if r.set("/clientkey","/pl/"+str(gstt.SceneNumber)+"/")==True: + print "sent clientkey : /pl/"+str(gstt.SceneNumber)+"/" print "" print "Etherdream connection check is NOT DISPLAYED" @@ -579,9 +412,8 @@ try: print "Resetting all Homographies.." for laserid in range(0,gstt.LaserNumber): homographyp.newEDH(laserid) - print "" - print "ws server running forver..." + print "WS server running forever..." wserver.run_forever() diff --git a/plugins/VJing/bank0.py b/plugins/VJing/bank0.py index c76709a..76ec986 100644 --- a/plugins/VJing/bank0.py +++ b/plugins/VJing/bank0.py @@ -1,17 +1,15 @@ -#!/usr/bin/python2.7 +#!/usr/bin/python3 # -*- coding: utf-8 -*- # -*- mode: Python -*- ''' -VJing Bank 0 +LJ v0.8.1 -was Franken for compo laser at coockie 2018 demoparty +IdiotIA for THSF 10 -0 : Starfields -1 : generic pose animations -2 : Faces -3 : Dancers -4 : IdiotIA +Include IdiotIA and Starfields + + /pose/ljclient LICENCE : CC Sam Neurohack, Loloster, @@ -20,41 +18,55 @@ Sam Neurohack, Loloster, import math -#import gstt -#from globalVars import * + import numpy as np import pdb from datetime import datetime from random import randrange import redis -import lj3 -import sys,time -import os +import sys + +import time,traceback +import os +ljpath = r'%s' % os.getcwd().replace('\\','/') +# import from shell +#sys.path.append('../../libs') +#import from LJ +sys.path.append(ljpath +'/libs/') +print (ljpath+'/libs') +import lj23 +from OSC3 import OSCServer, OSCClient, OSCMessage -from osc4py3.as_eventloop import * -from osc4py3 import oscbuildparse -#from osc4py3 import oscmethod as osm -from osc4py3.oscmethod import * import argparse -#f_sine = 0 +# 0.25 : each frame will be repeated 4 times. +animspeed = 0.25 - -screen_size = [400,400] +screen_size = [700,700] xy_center = [screen_size[0]/2,screen_size[1]/2] -message = "Hello" -OSCinPort = 8010 - -redisIP = '127.0.0.1' +message = "LO" +OSCinPort = 8011 +oscrun = True ljclient = 0 +idiotiaDisplay = [True,True,False,False] +#idiotiaDisplay = [False,False,False,False] +liveDisplay = [False,False,False,False] + +fieldsDisplay = [False,False,True,True] +#fieldsDisplay = [True,True,True,True] +currentIdiotia = 0 + print ("") print ("Arguments parsing if needed...") -argsparser = argparse.ArgumentParser(description="VJ Bank 0 for LJ") +argsparser = argparse.ArgumentParser(description="Pose bank for LJ") argsparser.add_argument("-r","--redisIP",help="IP of the Redis server used by LJ (127.0.0.1 by default) ",type=str) +argsparser.add_argument("-m","--myIP",help="Local IP (127.0.0.1 by default) ",type=str) argsparser.add_argument("-c","--client",help="LJ client number (0 by default)",type=int) argsparser.add_argument("-v","--verbose",help="Verbosity level (0 by default)",type=int) +argsparser.add_argument("-a","--anim",help="IdiotIA anim (0 by default)",type=int) +argsparser.add_argument("-L","--Lasers",help="Number of lasers connected (4 by default).",type=int) args = argsparser.parse_args() @@ -69,14 +81,32 @@ if args.client: else: ljclient = 0 +if args.anim: + currentIdiotia = args.anim +else: + currentIdiotia = 0 + # Redis Computer IP if args.redisIP != None: redisIP = args.redisIP else: redisIP = '127.0.0.1' +# myIP +if args.myIP != None: + myIP = args.myIP +else: + myIP = '127.0.0.1' + +# Lasers = number of laser connected +if args.Lasers != None: + LaserNumber = args.Lasers +else: + LaserNumber = 4 + + +lj23.Config(redisIP,ljclient,"pose") -lj3.Config(redisIP,ljclient) def hex2rgb(hexcode): @@ -87,11 +117,177 @@ def rgb2hex(rgb): return int('0x%02x%02x%02x' % tuple(rgb),0) +# IdiotIA +import json +#CurrentPose = 1 -# Curve 0 many starfields +# Get frame number for pose path describe in PoseDir +def lengthPOSE(pose_dir): + + #if debug > 0: + # print("Check directory",'poses/' + pose_dir) + if os.path.exists('poses/' + pose_dir): + numfiles = sum(1 for f in os.listdir('poses/' + pose_dir) if os.path.isfile(os.path.join('poses/' + pose_dir + '/', f)) and f[0] != '.') + return numfiles + else: + if debug > 0: + print("but it doesn't even exist!") + return 0 + + +def prepareIdiotIA(currentAnim): + + WebStatus("Checking anims...") + print() + print("Reading available IdiotIA anims...") + # anim format (name, xpos, ypos, resize, currentframe, totalframe, count, speed) + # 0 1 2 3 4 5 6 7 + # total frames is fetched from directory by lengthPOSE() + + anims[0] = ['boredhh' , xy_center[0] - 100, xy_center[1] + 30, 550, 0, 0, 0, animspeed] + anims[1] = ['belka4' , xy_center[0] - 70, xy_center[1] + 380, 680, 0, 0, 0, animspeed] + anims[2] = ['belka3' , xy_center[0] - 100, xy_center[1] + 360, 700, 0, 0, 0, animspeed] + anims[3] = ['hhhead' , xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[4] = ['hhhead2', xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[5] = ['hhhead4', xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + anims[6] = ['hhred' , xy_center[0] - 250, xy_center[1] + 220, 550, 0, 0, 0, animspeed] + anims[7] = ['hhred2' , xy_center[0] - 200, xy_center[1] + 200, 550, 0, 0, 0, animspeed] + anims[8] = ['lady1' , xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[9] = ['lady1' , xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + anims[10] = ['lady2' , xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + anims[11] = ['lady3' , xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[12] = ['lady4' , xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[13] = ['mila6' , xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + anims[14] = ['mila5' , xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + anims[15] = ['idiotia1', xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[16] = ['idiotia1', xy_center[0] - 100, xy_center[1] + 300, 600, 0, 0, 0, animspeed] + anims[17] = ['belka4', xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + anims[18] = ['belka3', xy_center[0] - 100, xy_center[1] + 280, 600, 0, 0, 0, animspeed] + + #for laseranims in anims: + + for anim in anims: + #print(anim) + anim[5] = lengthPOSE(anim[0]) + WebStatus("Checking "+ anim[0] +"...") + if debug > 0: + print('poses/' + anim[0], "length :", anim[5], "frames") + + print("Current IdiotIA anim is",anims[currentIdiotia][0],"("+str(currentIdiotia)+")") + + +# get absolute face position points +def getFACE(pose_json,pose_points, people): + + dots = [] + for dot in pose_points: + + if len(pose_json['people'][people]['face_keypoints_2d']) != 0: + #print "people 0" + if pose_json['people'][people]['face_keypoints_2d'][dot * 3] != -1 and pose_json['people'][people]['face_keypoints_2d'][(dot * 3)+1] != -1: + dots.append((pose_json['people'][people]['face_keypoints_2d'][dot * 3], pose_json['people'][people]['face_keypoints_2d'][(dot * 3)+1])) + + return dots + + +# Face keypoints +def face(pose_json, people): + pose_points = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] + return getFACE(pose_json,pose_points, people) + +def browL(pose_json, people): + pose_points = [26,25,24,23,22] + return getFACE(pose_json,pose_points, people) + +def browR(pose_json, people): + pose_points = [21,20,19,18,17] + return getFACE(pose_json,pose_points, people) + +def eyeR(pose_json, people): + pose_points = [36,37,38,39,40,41,36] + return getFACE(pose_json,pose_points, people) + +def eyeL(pose_json, people): + pose_points = [42,43,44,45,46,47,42] + return getFACE(pose_json,pose_points, people) + +def pupR(pose_json, people): + pose_points = [68,68] + print(getFACE(pose_json,pose_points, people)) + return getFACE(pose_json,pose_points, people) + +def pupL(pose_json, people): + pose_points = [69,69] + return getFACE(pose_json,pose_points, people) + + +def nose(pose_json, people): + pose_points = [27,28,29,30] + return getFACE(pose_json,pose_points, people) + +def mouth(pose_json, people): + pose_points = [48,59,58,57,56,55,54,53,52,51,50,49,48,60,67,66,65,64,63,62,61,60] + return getFACE(pose_json,pose_points, people) + + + +# display the currentIdiotia animation on all lasers according to display flag +def IdiotIA(): + + # All laser loop + for laser in range(LaserNumber): + # for anim in anims[laseranims]: + + # if display flag is True, send the face points. + if idiotiaDisplay[laser]: + + anim = anims[currentIdiotia] + #print(anim) + + PL = laser + #print PL, anim + + dots = [] + + # increase current frame [4] of speed [7] frames + #print(anim[4],anim[7],anim[4]+anim[7]) + + anim[4] = anim[4]+anim[7] + + # compare to total frame [5] + if anim[4] >= anim[5]: + anim[4] = 0 + + posename = 'poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%int(anim[4]))+'.json' + posefile = open(posename , 'r') + posedatas = posefile.read() + pose_json = json.loads(posedatas) + + if debug>0: + WebStatus("Frame : "+str("%05d"%int(anim[4]))) + + # Draw Face + + for people in range(len(pose_json['people'])): + + #lj23.rPolyLineOneColor(face(pose_json, people), c = white, PL = laser closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj23.rPolyLineOneColor(browL(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj23.rPolyLineOneColor(browR(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj23.rPolyLineOneColor(eyeR(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + #lj23.rPolyLineOneColor(pupR(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj23.rPolyLineOneColor(eyeL(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + #lj23.rPolyLineOneColor(pupL(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj23.rPolyLineOneColor(nose(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj23.rPolyLineOneColor(mouth(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + + lj23.DrawPL(PL) + + +# Init Starfields def prepareSTARFIELD(): global star, stars0, stars1, stars2, starfieldcount, starspeed, displayedstars, displayedstars, num_stars, max_depth + WebStatus("Init starfields...") stars0=[] stars1=[] stars2=[] @@ -112,44 +308,23 @@ def prepareSTARFIELD(): star = [randrange(-25,25), randrange(-25,25), randrange(1, max_depth)] stars2.append(star) + +# Todo : Currently compute all starfields even if field display flag is False. + def Starfield(hori=0,verti=0): global star, stars0, stars1, stars2, starfieldcount, starspeed, displayedstars, displayedstars, num_stars, max_depth starfieldcount += 1 #print starfieldcount starpoints = [] - - # Move starfield according to joypads. Not used in the demo - ''' - # Tflight joystick : - # y axis 1 top -1 bottom 1 - # x axis 0 left -1 right 1 - # Main fire button 5 - # hat (x,y) x -1 left x 1 right y -1 bottom y 1 top - # speed axis 3 backward 1 forward -1 - - if Nbpads > 0: - # Move center on X axis according to pad - if pad1.get_axis(0)<-0.1 or pad1.get_axis(0)>0.1: - hori = pad1.get_axis(0) - #print hori - # Move center on Y axis according to pad - if pad1.get_axis(1)<-0.1 or pad1.get_axis(1)>0.1: - verti= pad1.get_axis(1) - #print verti - ''' - #print displayedstars, 'stars displayed' # Increase number of if displayedstars < num_stars and starfieldcount % 15 == 0: displayedstars += 1 - if displayedstars == num_stars and starfieldcount % 10 == 0: - starspeed += 0.005 - - #if Nbpads > 0: - # starspeed = (1-pad1.get_axis(3)) + #if displayedstars == num_stars and starfieldcount % 10 == 0: + # starspeed += 0.005 #print starspeed @@ -189,12 +364,12 @@ def Starfield(hori=0,verti=0): if np.sign(stars0[starnumber][0]) == np.sign(hori): x0 = int(stars0[starnumber][0] * k0 + xy_center[0] + (hori*600)) else: - x0 = int(stars0[starnumber][0] * k0 + xy_center[0] + (hori*300)) + x0 = int(stars0[starnumber][0] * k0 + xy_center[0] + (hori*500)) if np.sign(stars0[starnumber][1]) == np.sign(verti): y0 = int(stars0[starnumber][1] * k0 + xy_center[1] + (verti*600)) else: - y0 = int(stars0[starnumber][1] * k0 + xy_center[1] + (verti*300)) + y0 = int(stars0[starnumber][1] * k0 + xy_center[1] + (verti*500)) if np.sign(stars1[starnumber][0]) == np.sign(hori): @@ -219,22 +394,17 @@ def Starfield(hori=0,verti=0): y2 = int(stars2[starnumber][1] * k2 + xy_center[1] + (verti*300)) - # Add star to pointlist PL 0 - if 0 <= x0 < screen_size[0] - 2 and 0 <= y0 < screen_size[1] - 2: - #f.LineTo((x,y), 0x80000000) - lj3.PolyLineOneColor([(x0,y0),((x0+1),(y0+1))], c = rgb2hex([255,255,255]), PL = 0, closed = False) - #fwork.PolyLineOneColor([(x0,y0),((x0+1),(y0+1))], c=rgb2hex([255,255,255]), PL = 0, closed = False) + # Add star to pointlist PL 0 if field display flag is true + if fieldsDisplay[0] and 0 <= x0 < screen_size[0] - 2 and 0 <= y0 < screen_size[1] - 2: + lj23.PolyLineOneColor([(x0,y0),((x0+1),(y0+1))], c = white, PL = 0, closed = False) - # Add star to pointlist PL 1 - if 0 <= x1 < screen_size[0] - 2 and 0 <= y1 < screen_size[1] - 2: - lj3.PolyLineOneColor([(x1,y1),((x1+1),(y1+1))], c = rgb2hex([255,255,255]), PL = 0, closed = False) - - #fwork.PolyLineOneColor([(x1,y1),((x1+1),(y1+1))], c=rgb2hex([255,255,255]), PL = 1, closed = False) + # Add star to pointlist PL 1 if field display flag is true + if fieldsDisplay[1] and 0 <= x1 < screen_size[0] - 2 and 0 <= y1 < screen_size[1] - 2: + lj23.PolyLineOneColor([(x1,y1),((x1+1),(y1+1))], c = white, PL = 1, closed = False) - # Add star to pointlist PL 2 - #if 0 <= x2 < screen_size[0] - 2 and 0 <= y2 < screen_size[1] - 2: - # fwork.PolyLineOneColor([(x2,y2),((x2+1),(y2+1))], c=colorify.rgb2hex([255,255,255]), PL = 2, closed = False) - # #f.PolyLineOneColor([(x,y),((x+2),(y+2))], COLOR_WHITE) + # Add star to pointlist PL 2 if field display flag is true + if fieldsDisplay[2] and 0 <= x2 < screen_size[0] - 2 and 0 <= y2 < screen_size[1] - 2: + lj23.PolyLineOneColor([(x2,y2),((x2+1),(y2+1))], c= white, PL = 2, closed = False) ''' if starfieldcount < 200: @@ -243,582 +413,338 @@ def Starfield(hori=0,verti=0): fwork.PolyLineOneColor([(x3,y3),((x3+2),(y3+2))], c=colorify.rgb2hex([255,255,255]), PL = 3, closed = False) ''' - - lj3.Text(message, color, PL = 2, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) - lj3.DrawPL(0) - lj3.DrawPL(1) - lj3.DrawPL(2) - #lj3.DrawPL(3) + # Laser 3 Display a word. + if fieldsDisplay[3]: + lj23.Text(message, white, PL = 3, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) -# Curve 1 : generic pose animations -import json -CurrentPose = 1 -# get absolute body position points -def getCOCO(pose_json,pose_points, people): - - dots = [] - for dot in pose_points: - if len(pose_json['part_candidates'][people][str(dot)]) != 0: - dots.append((pose_json['part_candidates'][people][str(dot)][0], pose_json['part_candidates'][people][str(dot)][1])) - return dots + # If field display is True for each laser + for laser in range(LaserNumber): + + # Actually send the field point list. + if fieldsDisplay[laser]: + lj23.DrawPL(laser) -# get relative (-1 0 1) body position points. a position -1, -1 means doesn't exist -def getBODY(pose_json,pose_points, people): +# display the Realtime open pose face according to flag. +def LiveFace(): - dots = [] - for dot in pose_points: - #print pose_points - if len(pose_json['people'][people]['pose_keypoints_2d']) != 0: - #print "people 0" - if pose_json['people'][people]['pose_keypoints_2d'][dot * 3] != -1 and pose_json['people'][people]['pose_keypoints_2d'][(dot * 3)+1] != -1: - dots.append((pose_json['people'][people]['pose_keypoints_2d'][dot * 3], pose_json['people'][people]['pose_keypoints_2d'][(dot * 3)+1])) - return dots + # All laser loop + for laser in range(LaserNumber): + # for anim in anims[laseranims]: + + # if display flag is True, send the face points. + if liveDisplay[laser]: + pass -# get absolute face position points -def getFACE(pose_json,pose_points, people): +# +# OSC +# - dots = [] - for dot in pose_points: +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 +#oscrun = True - if len(pose_json['people'][people]['face_keypoints_2d']) != 0: - #print "people 0" - if pose_json['people'][people]['face_keypoints_2d'][dot * 3] != -1 and pose_json['people'][people]['face_keypoints_2d'][(dot * 3)+1] != -1: - dots.append((pose_json['people'][people]['face_keypoints_2d'][dot * 3], pose_json['people'][people]['face_keypoints_2d'][(dot * 3)+1])) +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True - return dots +# funny python's way to add a method to an instance of a class +import types +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) +# default handler +def OSChandler(path, tags, args, source): -# Body parts -def bodyCOCO(pose_json, people): - pose_points = [10,9,8,1,11,12,13] - return getBODY(pose_json,pose_points, people) - -def armCOCO(pose_json, people): - pose_points = [7,6,5,1,2,3,4] - return getBODY(pose_json,pose_points, people) - -def headCOCO(pose_json, people): - pose_points = [1,0] - return getBODY(pose_json,pose_points, people) - - -# Face keypoints -def face(pose_json, people): - pose_points = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] - return getFACE(pose_json,pose_points, people) - -def browL(pose_json, people): - pose_points = [26,25,24,23,22] - return getFACE(pose_json,pose_points, people) - -def browR(pose_json, people): - pose_points = [21,20,19,18,17] - return getFACE(pose_json,pose_points, people) - -def eyeR(pose_json, people): - pose_points = [36,37,38,39,40,41,36] - return getFACE(pose_json,pose_points, people) - -def eyeL(pose_json, people): - pose_points = [42,43,44,45,46,47,42] - return getFACE(pose_json,pose_points, people) - -def nose(pose_json, people): - pose_points = [27,28,29,30] - return getFACE(pose_json,pose_points, people) - -def mouth(pose_json, people): - pose_points = [48,59,58,57,56,55,54,53,52,51,50,49,48,60,67,66,65,64,63,62,61,60] - return getFACE(pose_json,pose_points, people) - -import os - - -# Get frame number for pose path describe in PoseDir -def lengthPOSE(pose_dir): - - if debug > 0: - print("Check directory",'poses/' + pose_dir) - if os.path.exists('poses/' + pose_dir): - numfiles = sum(1 for f in os.listdir('poses/' + pose_dir) if os.path.isfile(os.path.join('poses/' + pose_dir + '/', f)) and f[0] != '.') - if debug > 0: - print(numfiles,"images") - return numfiles + oscaddress = ''.join(path.split("/")) + print("Default OSC Handler : msg from Client : " + str(source[0]),) + print("OSC address", path, "with",) + if len(args) > 0: + print("args", args) else: - if debug > 0: - print("but it doesn't even exist!") - return 0 + print("noargs") + #oscIPout = str(source[0]) + #osclient.connect((oscIPout, oscPORTout)) -def preparePOSE(): - global anims0, anims1, anims2 - # anim format (name, xpos,ypos, resize, currentframe, totalframe, count, speed) - # total frames is fetched from directory file count + +# RAW OSC Frame available ? +def OSCframe(): + # clear timed_out flag + #print "oscframe" + oscserver.timed_out = False + # handle all pending requests then return + while not oscserver.timed_out: + oscserver.handle_request() + + +# Stop osc server +def OSCstop(): + + oscserver.close() + + +# /pose/idiotia/lasernumber 1 +def OSCidiotia(address, value): - anims1 = [['sky',50,100,300,0,0,0,1],['2dancer1', 400,100, 300,0,0,0,1],['1dancer', 400,100, 300,0,0,0,1],['window1',100,100,300,0,0,0,1]] - anims2 = [['window1', 400,200, 300,0,0,0,1],['2dancer1',100,200,300,0,0,0,1]] - for anim in anims1: - anim[5]= lengthPOSE(anim[0]) - anims0 = anims1 - - -# display n pose animations on Laser 0 -def Pose(): - global anims0, anims1, anims2 - - for anim in anims0: - PL = 0 - dots = [] - print(anim, anim[5]) - # repeat anim[7] time the same frame - anim[6] +=1 - if anim[6] == anim[7]: - - anim[6] = 0 - # increase current frame and compare to total frame - anim[4] += 1 - if anim[4] == anim[5]: - anim[4] = 0 - - - posename = 'poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%anim[4])+'.json' - posefile = open(posename , 'r') - posedatas = posefile.read() - pose_json = json.loads(posedatas) - - for people in range(len(pose_json['people'])): - - lj3.rPolyLineOneColor(bodyCOCO(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(armCOCO(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(headCOCO(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - - # Face - ''' - #lj3.rPolyLineOneColor(face(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browL(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browR(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeR(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeL(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(nose(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(mouth(pose_json, people), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - ''' - - lj3.DrawPL(PL) - time.sleep(0.02) - - - # decrease current frame - if keystates[pygame.K_w]: # and not keystates_prev[pygame.K_w]: - CurrentPose -= 1 - if CurrentPose < 2: - CurrentPose = numfiles -1 - #time.sleep(0.033) - print("Frame : ",CurrentPose) - - # increaser current frame - if keystates[pygame.K_x]: # and not keystates_prev[pygame.K_x]: - CurrentPose += 1 - if CurrentPose > numfiles -1: - CurrentPose = 1 - #time.sleep(0.033) - print("Frame : ",CurrentPose) - - - -# Curve 2 Faces -import json -CurrentPose = 1 - -def prepareFACES(): - - - # anim format (name, xpos, ypos, resize, currentframe, totalframe, count, frame repeat) - # 0 1 2 3 4 5 6 7 - # total frame is fetched from directory file count - - anims[0] = [['detroit1', 300,300, 100,0,0,0,1]] - anims[1] = [['detroit1', 400,200, 200,0,0,0,1]] - anims[2] = [['detroit1', 500,200, 300,0,0,0,1]] - - ''' - # read anims number of frames from disk. - for anim in range(len(anims0)): - anims0[anim][5]= lengthPOSE(anims0[anim][0]) - for anim in range(len(anims1)): - anims1[anim][5]= lengthPOSE(anims1[anim][0]) - for anim in range(len(anims2)): - anims2[anim][5]= lengthPOSE(anims2[anim][0]) - ''' - - #replace code below - ''' - for laseranims in range(3): - if debug > 0: - print "anims:",anims[laseranims], - for anim in range(len(anims[laseranims])): - anims[laseranims][anim][5]= lengthPOSE(anims[laseranims][anim][0]) - if debug > 1: - print anims[laseranims][anim][5] - ''' - #by this one - #thanks to https://stackoverflow.com/questions/19184335/is-there-a-need-for-rangelena - - - for laseranims in anims: - - for anim in laseranims: - anim[5] = lengthPOSE(anim[0]) - - if debug > 0: - print("anim :", anim) - print("length :", anim[5]) - - - -# display the face animation describe in PoseDir -def Faces(): - - for laseranims in range(3): - for anim in anims[laseranims]: - PL = laseranims - #print PL, anim - - dots = [] - - # increase counter [6] - # compare to repeat [7] time the same frame - anim[6] +=1 - if anim[6] == anim[7]: - - # reset repeat - anim[6] = 0 - - # increase current frame [4] - anim[4] += 1 - - # compare to total frame [5] - if anim[4] == anim[5]: - anim[4] = 0 - - - posename = 'poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%anim[4])+'.json' - posefile = open(posename , 'r') - posedatas = posefile.read() - pose_json = json.loads(posedatas) - - # Face - - for people in range(len(pose_json['people'])): - - #lj3.rPolyLineOneColor(face(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browL(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browR(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeR(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeL(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(nose(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(mouth(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - - lj3.DrawPL(PL) - time.sleep(0.02) - -# Curve 3 -# Dancers -import json -CurrentPose = 1 - -def prepareDANCERS(): - - # anim format (name, xpos,ypos, resize, currentframe, totalframe, count, speed) - # total frame is fetched from directory file count - - anims[0] = [['1dancer',500,200,300,0,0,0,10]] - anims[1] = [['2dancer1',500,200,300,0,0,0,10]] - anims[2] = [['window1',500,200,300,0,0,0,10]] - #anims[1] = [['2dancer1',100,200,300,0,0,0,10]] - #anims[2] = [['window1',400,200, 300,0,0,0,10]] - # read anims number of frames from disk. - - for laseranims in range(3): - for anim in range(len(anims[laseranims])): - anims[laseranims][anim][5]= lengthPOSE(anims[laseranims][anim][0]) - -# display the pose animation describe in PoseDir -def Dancers(): - - for laseranims in range(3): - - for anim in anims[laseranims]: - PL = laseranims - #print PL, anim - dots = [] - #print anim, anim[5] - # repeat anim[7] time the same frame - anim[6] +=1 - if anim[6] == anim[7]: - - anim[6] = 0 - # increase current frame and compare to total frame - anim[4] += 1 - if anim[4] == anim[5]: - anim[4] = 0 - - - #bhorosc.sendresol("/layer1/clip1/connect",1) - #bhorosc.sendresol("/layer1/clip1/connect",0) - - posename = 'poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%anim[4])+'.json' - posefile = open(posename , 'r') - posedatas = posefile.read() - pose_json = json.loads(posedatas) - - - for people in range(len(pose_json['people'])): - lj3.rPolyLineOneColor(bodyCOCO(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(armCOCO(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - - lj3.rPolyLineOneColor(browL(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browR(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeR(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeL(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(nose(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(mouth(pose_json, people), c=color, PL = laseranims, closed = False,xpos = anim[1], ypos = anim[2], resize = anim[3]) - - - lj3.DrawPL(PL) - - ''' - lj3.PolyLineOneColor(bodyCOCO(pose_json), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.PolyLineOneColor(armCOCO(pose_json), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.PolyLineOneColor(headCOCO(pose_json), c=color, PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - - - PL[PL] = fwork.LinesPL(PL) - ''' - - -# Curve 4 IdiotIA -import json -CurrentPose = 1 - -def prepareIdiotIA(): - - - # anim format (name, xpos,ypos, resize, currentframe, totalframe, count, speed) - # total frame is fetched from directory file count - - anims[0] = [['detroit1', 300,300, 100,0,0,0,1]] - anims[1] = [['detroit1', 400,200, 200,0,0,0,1]] - anims[2] = [['detroit1', 500,200, 300,0,0,0,1]] - - ''' - # read anims number of frames from disk. - for anim in range(len(anims0)): - anims0[anim][5]= lengthPOSE(anims0[anim][0]) - for anim in range(len(anims1)): - anims1[anim][5]= lengthPOSE(anims1[anim][0]) - for anim in range(len(anims2)): - anims2[anim][5]= lengthPOSE(anims2[anim][0]) - ''' - - #replace code below - ''' - for laseranims in range(3): + laser = int(address[14:]) if debug > 0: - print "anims:",anims[laseranims], - for anim in range(len(anims[laseranims])): - anims[laseranims][anim][5]= lengthPOSE(anims[laseranims][anim][0]) - if debug > 1: - print anims[laseranims][anim][5] - ''' - #by this one - #thanks to https://stackoverflow.com/questions/19184335/is-there-a-need-for-rangelena - - for laseranims in anims: - if debug > 1: - print("anims:",laseranims) - for anim in laseranims: - anim[5]=lengthPOSE(anim[0]) - if debug > 1: - print(anim[5]) + print("pose idiotia got ",address,value) + print("laser", laser, value) + if value == "1" or value == 1: + + idiotiaDisplay[laser] = True + liveDisplay[laser] = False + fieldsDisplay[laser] = False + print(idiotiaDisplay,liveDisplay,fieldsDisplay) + + else: + + idiotiaDisplay[laser] = False + print(idiotiaDisplay,liveDisplay,fieldsDisplay) + + UpdatePoseUI() + +# /pose/anim/animnumber 1 +def OSCanim(address, value): + global currentIdiotia + + anim = int(address[11:]) + + if debug > 0: + print("pose anim got :", address, type(value), value) + print("anim", anim) + + if value == "1" or value == 1: + currentIdiotia = anim + UpdatePoseUI() + WebStatus("Running "+ anims[currentIdiotia][0]+"...") -# display the face animation describe in PoseDir -def Faces(): - for laseranims in range(3): - for anim in anims[laseranims]: - PL = laseranims - #print PL, anim - dots = [] - #print anim, anim[5] - # repeat anim[7] time the same frame - anim[6] +=1 - if anim[6] == anim[7]: +# /pose/speed/speed value +# value : 1 slower / 2 stop / 3 play / 4 faster +def OSCspeed(address, value): + global anims + + speedflag = int(address[12:]) - anim[6] = 0 - # increase current frame and compare to total frame - anim[4] += 1 - if anim[4] == anim[5]: - anim[4] = 0 + if debug > 0: + print("pose speed got :", address, type(value), value) + print("speed", speedflag) + + if value == "1" or value == 1: + # slower + if speedflag == 1: + anims[currentIdiotia][7] = 0.1 + UpdateSpeedUI() + WebStatus("Pose speed is 0.1") + + # stop + if speedflag == 2: + anims[currentIdiotia][7] = 0 + UpdateSpeedUI() + WebStatus("Pose speed is stop") + + # play + if speedflag == 3: + anims[currentIdiotia][7] = 0.25 + UpdateSpeedUI() + WebStatus("Pose speed is 0.25") + + # faster + if speedflag == 4: + anims[currentIdiotia][7] = 2 + UpdateSpeedUI() + WebStatus("Pose speed is 2") - posename = 'poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%anim[4])+'.json' - posefile = open(posename , 'r') - posedatas = posefile.read() - pose_json = json.loads(posedatas) - - # Face - - for people in range(len(pose_json['people'])): - - #lj3.rPolyLineOneColor(face(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browL(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(browR(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeR(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(eyeL(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(nose(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - lj3.rPolyLineOneColor(mouth(pose_json, people), c=color, PL = laseranims, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) - - lj3.DrawPL(PL) - time.sleep(0.02) +# /pose/live/lasernumber value +def OSClive(address, value): + + print("live",address,value) + laser = int(address[11:]) + #print("laser", laser, value) + + if value == "1" or value == 1: + idiotiaDisplay[laser] = False + liveDisplay[laser] = True + fieldsDisplay[laser] = False + UpdatePoseUI() + +# /pose/field/lasernumber value +def OSCfield(address, value): + + if debug >0: + print("Pose field got", address, "with value", type(value), value) + laser = int(address[12:]) + #print("laser", laser, value) + + if value == "1" or value == 1: + print("field",laser,"true") + idiotiaDisplay[laser] = False + liveDisplay[laser] = False + fieldsDisplay[laser] = True + UpdatePoseUI() + + +# /pose/ljclient def OSCljclient(value): - # Will receive message address, and message data flattened in s, x, y - print("Bank0 got /bank0/ljclient with value", value) + print("Pose bank got /pose/ljclient with value", value) ljclient = value - lj3.LjClient(ljclient) - -def OSCpl(value): - - print("Bank0 got /bank0/pl with value", value) - lj3.WebStatus("Bank0 to pl "+ str(value)) - lj3.LjPl(value) - - -# Dancers, Starfield, Pose, Face -def OSCrun(value): - # Will receive message address, and message data flattened in s, x, y - print("I got /run with value", value) - doit = value - -# /quit -def OSCquit(): - - WebStatus("Bank0 stopping") - print("Stopping OSC...") - lj3.OSCstop() - sys.exit() - -def WebStatus(message): - lj3.SendLJ("/status",message) + lj23.LjClient(ljclient) +''' # /pose/ping value def OSCping(value): - print("bank0 got /pose/ping with value", value) - lj3.OSCping("bank0") - + lj23.OSCping() ''' +''' +# Starfield, idiotia +def OSCrun(value): + # Will receive message address, and message data flattened in s, x, y + print("Pose bank got /run with value", value) + doit = value +''' +# /quit dummyvalue +def quit(value): + # don't do this at home (or it'll quit blender) + global oscrun + + oscrun = False + print("Stopped by /quit.") + lj23.ClosePlugin() -print('Loading Bank0...') +def WebStatus(message): + lj23.SendLJ("/status",message) -WebStatus("Load Bank0") +# Update Pose webUI +def UpdatePoseUI(): + + #WebStatus("Updating Pose UI...") + for laser in range(LaserNumber): + + if idiotiaDisplay[laser]: + lj23.SendLJ("/pose/idiotia/" + str(laser) + " 1") + else: + lj23.SendLJ("/pose/idiotia/" + str(laser) + " 0") + + if liveDisplay[laser]: + lj23.SendLJ("/pose/live/" + str(laser) + " 1") + else: + lj23.SendLJ("/pose/live/" + str(laser) + " 0") + + if fieldsDisplay[laser]: + lj23.SendLJ("/pose/field/" + str(laser) + " 1") + else: + lj23.SendLJ("/pose/field/" + str(laser) + " 0") + + + for anim in range(19): + if anim == currentIdiotia: + lj23.SendLJ("/pose/anim/" + str(anim) + " 1") + else: + lj23.SendLJ("/pose/anim/" + str(anim) + " 0") + +def UpdateSpeedUI(): + + lj23.SendLJ("/pose/speed/1 0") + lj23.SendLJ("/pose/speed/2 0") + lj23.SendLJ("/pose/speed/3 0") + lj23.SendLJ("/pose/speed/4 0") + + + +print('Loading Pose bank...') +WebStatus("Loading Pose bank...") +lj23.SendLJ("/pose/start", 1) # OSC Server callbacks -print("Starting OSC at 127.0.0.1 port",OSCinPort,"...") +print("Starting OSC server at", myIP, ":", OSCinPort, "...") osc_startup() -osc_udp_server("127.0.0.1", OSCinPort, "InPort") +osc_udp_server(myIP, OSCinPort, "InPort") -osc_method("/bank0/run*", OSCrun) -osc_method("/bank0/ping*", OSCping) -osc_method("/bank0/ljclient", OSCljclient) -osc_method("/bank0/ljpl", OSCpl) -osc_method("/quit", OSCquit) +#osc_method("/pose/run*", OSCrun) +osc_method("/ping", lj23.OSCping) +osc_method("/quit*", quit) +osc_method("/pose/ljclient", OSCljclient) +osc_method("/pose/idiotia/*", OSCidiotia, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) +osc_method("/pose/field/*", OSCfield,argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) +osc_method("/pose/live/*", OSClive, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) +osc_method("/pose/anim/*", OSCanim, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) +osc_method("/pose/speed/*", OSCspeed, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) -''' -import pygame -pygame.init() -Nbpads = pygame.joystick.get_count() -print ("Joypads : ", str(Nbpads)) +anims =[[]]*19 -if Nbpads != 2: - - print ('') - print ('') - print ("THIS VERSION NEEDS 2 PADS. PLEASE CONNECT THEM.") - print ('') - sys.exit() - - -if Nbpads > 1: - - pad2 = pygame.joystick.Joystick(1) - pad2.init() - print ("Pad2 :", pad2.get_name()) - numButtons = pad2.get_numbuttons() - #print ("Axis Pad 2 :", str(pad2.get_numaxes())) - #print ("Buttons Pad 2 :" , str(numButtons)) - - # joy is pad abstraction to handle many different devices. - joy2 = lj3.setup_controls(pad2) - -if Nbpads > 0: - - pad1 = pygame.joystick.Joystick(0) - pad1.init() - print ("Pad1 :",pad1.get_name()) - numButtons = pad1.get_numbuttons() - joy1 = lj3.setup_controls(pad1) - #print ("Axis Pad 1 :", str(pad1.get_numaxes())) - #print ("Buttons Pad 1 :" , str(numButtons)) - - -''' - -anims =[[],[],[],[]] -color = lj3.rgb2int(255,255,255) - -#prepareSTARFIELD() -#preparePOSE() -#prepareDANCERS() -prepareFACES() - +prepareIdiotIA(0) +prepareSTARFIELD() #doit = Starfield -#doit = Pose -doit = Faces -#doit = Dancers +#doit = IdiotIA -WebStatus("Bank0 ready.") -print("Bank0 ready") +white = lj23.rgb2int(255,255,255) +red = lj23.rgb2int(255,0,0) +blue = lj23.rgb2int(0,0,255) +green = lj23.rgb2int(0,255,0) + +print("Updating Pose UI...") +UpdatePoseUI() + +WebStatus("Running "+ anims[currentIdiotia][0]+"...") +#WebStatus("Pose bank running.") +#print("Pose bank running") +print("Running "+ anims[currentIdiotia][0]+" on " + str(LaserNumber) +" lasers.") def Run(): try: - while 1: - #Starfield(hori=0,verti=0) - doit() + while lj23.oscrun: + + OSCframe() + # If you want an idea + # t0 = time.time() + Starfield(hori=0,verti=0) + IdiotIA() + #LiveFace() + time.sleep(0.002) + #t1 = time.time() + # looptime = t1 - t0 + # 25 frames/sec -> 1 frame is 0.04 sec long + # if looptime is 0.01 sec + # 0.04/0.01 = 4 loops with the same anim + # so speedanim is 1 / 4 = 0.25 + # speedanim = 1 / (0.04 / looptime) + + + #print("Took %f" % (t1 - t0, )) except KeyboardInterrupt: pass + except Exception as e: + import sys, traceback + print ('\n---------------------') + print ('Exception: %s' % e) + print ('- - - - - - - - - - -') + traceback.print_tb(sys.exc_info()[2]) + print ("\n") + # Gently stop on CTRL C finally: - WebStatus("Bank0 Exit") - print("Stopping OSC...") - lj3.OSCstop() - - print ("Bank0 Stopped.") + lj23.ClosePlugin() + OSCstop() Run() diff --git a/plugins/VJing/idiotia.py b/plugins/VJing/idiotia.py index 4a55c00..55a8dec 100644 --- a/plugins/VJing/idiotia.py +++ b/plugins/VJing/idiotia.py @@ -24,33 +24,67 @@ import pdb from datetime import datetime from random import randrange import redis -import lj3 -import sys,time,traceback +import sys +import ast import os +import time,traceback + + +ljpath = r'%s' % os.getcwd().replace('\\','/') + +# import from shell + +sys.path.append(ljpath +'/../../libs/') +print(ljpath +'/../../libs/') +#import from LJ +sys.path.append(ljpath +'/libs/') +print (ljpath +'/libs/') + + +is_py2 = sys.version[0] == '2' +if is_py2: + from OSC import OSCServer, OSCClient, OSCMessage +else: + from OSC3 import OSCServer, OSCClient, OSCMessage + +import lj23 as lj3 + +''' from osc4py3.as_eventloop import * from osc4py3 import oscbuildparse #from osc4py3 import oscmethod as osm from osc4py3.oscmethod import * +''' + import argparse # 0.25 : each frame will be repeated 4 times. -animspeed = 0.25 +animspeed = 0.1 screen_size = [700,700] xy_center = [screen_size[0]/2,screen_size[1]/2] -message = "LO" +message = "TEAMLASER" OSCinPort = 8011 ljclient = 0 -idiotiaDisplay = [True,True,False,False] -#idiotiaDisplay = [False,False,False,False] -liveDisplay = [False,False,False,False] +#liveDisplay = [False,False,False,False] -fieldsDisplay = [False,False,True,True] +liveDisplay = [True, True, True, True] #fieldsDisplay = [True,True,True,True] +idiotiaDisplay = [False, False, False, False] +fieldsDisplay = [False, False, False, False] + + + +''' +fieldsDisplay = [False,False,True,True] +''' + +#idiotiaDisplay = [True,True,False,False] + currentIdiotia = 0 print ("") @@ -97,10 +131,29 @@ else: if args.Lasers != None: LaserNumber = args.Lasers else: - LaserNumber = 4 + LaserNumber = 1 -lj3.Config(redisIP,ljclient) +r = lj3.Config(redisIP,ljclient,"pose") + + +# +# OSC +# + +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 +#oscrun = True + +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True + +# funny python's way to add a method to an instance of a class +import types +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) @@ -119,11 +172,14 @@ import json # Get frame number for pose path describe in PoseDir def lengthPOSE(pose_dir): - #if debug > 0: - # print("Check directory",'poses/' + pose_dir) - if os.path.exists('poses/' + pose_dir): - numfiles = sum(1 for f in os.listdir('poses/' + pose_dir) if os.path.isfile(os.path.join('poses/' + pose_dir + '/', f)) and f[0] != '.') - return numfiles + if debug > 0: + print("Checking directory",'plugins/VJing/poses/' + pose_dir) + if os.path.exists('plugins/VJing/poses/' + pose_dir): + + numfiles = sum(1 for f in os.listdir('plugins/VJing/poses/' + pose_dir) if os.path.isfile(os.path.join('plugins/VJing/poses/' + pose_dir + '/', f)) and f[0] != '.') + if debug > 0: + print(numfiles, 'frames') + return numfiles else: if debug > 0: print("but it doesn't even exist!") @@ -166,11 +222,108 @@ def prepareIdiotIA(currentAnim): anim[5] = lengthPOSE(anim[0]) WebStatus("Checking "+ anim[0] +"...") if debug > 0: - print('poses/' + anim[0], "length :", anim[5], "frames") + print('plugins/VJing/poses/' + anim[0], "length :", anim[5], "frames") print("Current IdiotIA anim is",anims[currentIdiotia][0],"("+str(currentIdiotia)+")") +''' +pose_keypoints_2d +face_keypoints_2d +hand_left_keypoints_2d +hand_right_keypoints_2d +pose_keypoints_3d +face_keypoints_3d +hand_left_keypoints_3d +hand_right_keypoints_3d + +"/0/face_keypoints_2d" +"[-0.0946419, -0.521328, 0.675269, -0.0883931, -0.413923, 0.69358, -0.0758954, -0.302815, 0.73599, -0.059232, -0.191707, 0.640398, -0.0384026, -0.0917102, 0.683398, -0.00507569, -0.00652742, 0.643006, 0.0428318, 0.0601374, 0.558626, 0.0844904, 0.108284, 0.576597, 0.142813, 0.108284, 0.621916, 0.178223, 0.0749518, 0.546389, 0.207384, 0.0193979, 0.556877, 0.22613, -0.0361562, 0.660514, 0.244876, -0.102821, 0.713871, 0.267789, -0.1843, 0.706604, 0.290701, -0.265779, 0.680418, 0.307364, -0.347258, 0.617497, 0.31153, -0.428738, 0.53877, -0.0446514, -0.547253, 0.784288, -0.00715858, -0.569474, 0.873856, 0.0303342, -0.558364, 0.835336, 0.0740758, -0.543549, 0.827985, 0.111569, -0.525031, 0.809191, 0.213632, -0.543549, 0.819012, 0.242794, -0.569474, 0.884373, 0.265706, -0.5954, 0.842317, 0.292784, -0.613918, 0.804365, 0.313613, -0.625028, 0.740405, 0.163642, -0.443552, 0.805348, 0.169891, -0.362073, 0.837128, 0.169891, -0.280594, 0.839031, 0.174057, -0.213929, 0.68711, 0.111569, -0.162078, 0.725528, 0.134481, -0.154671, 0.837339, 0.159476, -0.150968, 0.887387, 0.178223, -0.158375, 0.835752, 0.196969, -0.180597, 0.698174, 0.00950491, -0.432441, 0.864517, 0.0345001, -0.458366, 0.859197, 0.0636612, -0.46207, 0.867471, 0.0907393, -0.432441, 0.852409, 0.0636612, -0.417627, 0.876186, 0.0324172, -0.413923, 0.834265, 0.21155, -0.454663, 0.875569, 0.232379, -0.491699, 0.816674, 0.26154, -0.50281, 0.878064, 0.282369, -0.476884, 0.839634, 0.263623, -0.450959, 0.912212, 0.24071, -0.450959, 0.896937, 0.0719929, -0.047267, 0.761505, 0.101154, -0.065785, 0.864081, 0.130315, -0.0694886, 0.910774, 0.159476, -0.065785, 0.895222, 0.17614, -0.0731922, 0.846551, 0.194886, -0.0731922, 0.74389, 0.209467, -0.0731922, 0.573107, 0.194886, -0.0213418, 0.677465, 0.17614, 0.0156941, 0.755373, 0.15531, 0.0231014, 0.765641, 0.124066, 0.0231014, 0.863117, 0.0928223, -0.00282377, 0.823042, 0.0928223, -0.0398598, 0.743914, 0.128232, -0.0361562, 0.932259, 0.157393, -0.0361562, 0.877732, 0.17614, -0.0398598, 0.853163, 0.196969, -0.0620813, 0.645926, 0.17614, -0.0398598, 0.80738, 0.157393, -0.0324526, 0.872388, 0.128232, -0.0361562, 0.924673, 0.0511636, -0.450959, 0.801577, 0.244876, -0.480588, 0.915322]" + +"/peopleCount" +"2" +''' + +def bodyREDIS(people): + + dots = [] + pose = [] + redispose = [] + + pose_points = [10,9,8,1,11,12,13] + print ("people body", people) + + print ("/"+str(people)+"/pose_keypoints_2d") + #pose = np.array(ast.literal_eval(r.get("/"+str(people)+"/pose_keypoints_2d"))) + redispose = r.get("/"+str(people)+"/pose_keypoints_2d") + #print ("redispose",redispose) + poseast = ast.literal_eval(redispose) + #print ("poseast",poseast) + #print (poseast[0]) + pose = np.array(poseast) + #print (np.array((ast.literal_eval(strg)))) + #print pose + #print(pose[0], pose[1]) + #print("len pose", len(pose)) + ''' + for dot in range(len(pose)/3): + #print dot + dots.append(((pose[dot * 3], pose[(dot * 3)+1]))) + #print((pose[dot * 3], pose[(dot * 3)+1])) + ''' + for dot in range(len(pose_points)): + bodypoint = pose_points[dot] + if pose[bodypoint * 3] != -1 and pose[(bodypoint * 3)+1] != -1: + + dots.append(((pose[bodypoint * 3], pose[(bodypoint * 3)+1]))) + #print((pose[dot * 3], pose[(dot * 3)+1])) + #print "body point ", pose_points[dot],dot, (pose[bodypoint * 3], pose[(bodypoint * 3)+1]) + print dots + return dots + +# display the Realtime open pose face according to flag. +def LivePose(): + + + laser = 0 + # Old style : if display flag is True for given laser, send the face points. + # New style : should send the people points in a PL, then use the PL's dest object to describe + # what to do with it + + if liveDisplay[0]: + peoplenumber = int(r.get("/peopleCount")) + print peoplenumber + for currentnumber in range(peoplenumber): + PL = 0 + #print PL, anim + # Draw Pose + + x_offset = 26 * (- (0.9*peoplenumber) + 3*currentnumber) + for people in range(peoplenumber): + + print("people", people) + x_offset = 26 * (- (0.9*peoplenumber) + 3*currentnumber) + print x_offset + lj3.rPolyLineOneColor(bodyREDIS(people), c= white, PL = PL, closed = False, xpos = xy_center[0]+ x_offset, ypos = xy_center[1], resize = 250) + + lj3.DrawPL(PL) + + + +# get relative (-1 0 1) body position points. a position -1, -1 means doesn't exist +def getBODY(pose_json,pose_points, people): + + dots = [] + for dot in pose_points: + #print pose_points + if len(pose_json['people'][people]['pose_keypoints_2d']) != 0: + #print "people 0" + if pose_json['people'][people]['pose_keypoints_2d'][dot * 3] != -1 and pose_json['people'][people]['pose_keypoints_2d'][(dot * 3)+1] != -1: + dots.append((pose_json['people'][people]['pose_keypoints_2d'][dot * 3], pose_json['people'][people]['pose_keypoints_2d'][(dot * 3)+1])) + + + return dots + # get absolute face position points def getFACE(pose_json,pose_points, people): @@ -185,6 +338,21 @@ def getFACE(pose_json,pose_points, people): return dots + +# Body parts +def bodyCOCO(pose_json, people): + pose_points = [10,9,8,1,11,12,13] + return getBODY(pose_json,pose_points, people) + +def armCOCO(pose_json, people): + pose_points = [7,6,5,1,2,3,4] + return getBODY(pose_json,pose_points, people) + +def headCOCO(pose_json, people): + pose_points = [1,0] + return getBODY(pose_json,pose_points, people) + + # Face keypoints def face(pose_json, people): pose_points = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] @@ -239,22 +407,20 @@ def IdiotIA(): anim = anims[currentIdiotia] #print(anim) - PL = laser - #print PL, anim - dots = [] # increase current frame [4] of speed [7] frames - #print(anim[4],anim[7],anim[4]+anim[7]) - + # print(anim[4],anim[7],anim[4]+anim[7]) + # print("frame", anim[4]) anim[4] = anim[4]+anim[7] - + # print("animspeed",anim[7], "newframe", anim[4], "maximum frame", anim[5] ) # compare to total frame [5] if anim[4] >= anim[5]: anim[4] = 0 - posename = 'poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%int(anim[4]))+'.json' + posename = 'plugins/VJing/poses/' + anim[0] + '/' + anim[0] +'-'+str("%05d"%int(anim[4]))+'.json' + # print(posename) posefile = open(posename , 'r') posedatas = posefile.read() pose_json = json.loads(posedatas) @@ -421,12 +587,47 @@ def Starfield(hori=0,verti=0): lj3.DrawPL(laser) + + + + # display the Realtime open pose face according to flag. def LiveFace(): # All laser loop for laser in range(LaserNumber): # for anim in anims[laseranims]: + print ("laser", laser) + + # if display flag is True, send the face points. + if liveDisplay[laser]: + + PL = laser + #print PL, anim + dots = [] + pose_json = json.loads(posedatas) + + # Draw Face + + for people in range(len(pose_json['people'])): + + r.get(n) + lj3.rPolyLineOneColor(bodyCOCO(pose_json, people), c=colorify.rgb2hex(gstt.color), PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(armCOCO(pose_json, people), c=colorify.rgb2hex(gstt.color), PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(headCOCO(pose_json, people), c=colorify.rgb2hex(gstt.color), PL = 0, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + + #lj3.rPolyLineOneColor(face(pose_json, people), c = white, PL = laser closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(browL(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(browR(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(eyeR(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + #lj3.rPolyLineOneColor(pupR(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(eyeL(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + #lj3.rPolyLineOneColor(pupL(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(nose(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + lj3.rPolyLineOneColor(mouth(pose_json, people), c = white, PL = laser, closed = False, xpos = anim[1], ypos = anim[2], resize = anim[3]) + + lj3.DrawPL(PL) + # if display flag is True, send the face points. if liveDisplay[laser]: @@ -435,18 +636,20 @@ def LiveFace(): # /pose/idiotia/lasernumber 1 -def OSCidiotia(address, value): +def OSCidiotia(path, tags, args, source): - print("pose idiotia got ",address,value) - laser = int(address[14:]) - print("laser", laser, value) + print("pose idiotia got",path, args) + laser = int(args[0]) + value = int(args[1]) - if value == "1" or value == 1: + if value == 1: + + print("switch on idiotia for laser", laser, value) idiotiaDisplay[laser] = True liveDisplay[laser] = False fieldsDisplay[laser] = False - print(idiotiaDisplay,liveDisplay,fieldsDisplay) + #print(idiotiaDisplay,liveDisplay,fieldsDisplay) else: @@ -455,58 +658,65 @@ def OSCidiotia(address, value): UpdatePoseUI() -# /pose/anim/animnumber 1 -def OSCanim(address, value): - global currentIdiotia - - print("pose anim got :", address, type(value), value) - anim = int(address[11:]) - print("anim", anim) - if value == "1" or value == 1: + +# /pose/anim +def OSCanim(path, tags, args, source): + + print("pose anim got",path, args) + anim = int(args[0]) + state = int(args[1]) + + #print(anim, state) + + if state == 1: + print("/pose/anim switch to",anim) currentIdiotia = anim UpdatePoseUI() - WebStatus("Running "+ anims[currentIdiotia][0]+"...") + WebStatus("Ruuning "+ anims[currentIdiotia][0]+"...") # /pose/live/lasernumber value -def OSClive(address, value): +def OSClive(path, tags, args, source): - print("live",address,value) - laser = int(address[11:]) - #print("laser", laser, value) + print("pose live got",path, args) + laser = int(args[0]) + value = int(args[1]) - if value == "1" or value == 1: - idiotiaDisplay[laser] = False - liveDisplay[laser] = True - fieldsDisplay[laser] = False + + if value == "1": + print("live for laser", laser) + idiotiaDisplay[value] = False + liveDisplay[value] = True + fieldsDisplay[value] = False UpdatePoseUI() # /pose/field/lasernumber value -def OSCfield(address, value): +def OSCfield(path, tags, args, source): - print("Pose field got", address, "with value", type(value), value) - laser = int(address[12:]) - #print("laser", laser, value) + print("pose field got",path, args) + laser = int(args[0]) + value = int(args[1]) - if value == "1" or value == 1: - print("field",laser,"true") - idiotiaDisplay[laser] = False - liveDisplay[laser] = False - fieldsDisplay[laser] = True + + if value == "1": + print("field for laser", laser) + idiotiaDisplay[value] = False + liveDisplay[value] = False + fieldsDisplay[value] = True UpdatePoseUI() # /pose/ljclient -def OSCljclient(value): - print("Pose bank got /pose/ljclient with value", value) - ljclient = value - lj3.LjClient(ljclient) +def OSCljclient(path, tags, args, source): + + print("pose got /viewgen/ljclient with value", args[0]) + lj.WebStatus("viewgen to virtual "+ str(args[0])) + ljclient = args[0] + lj.LjClient(ljclient) + -# /pose/ping value -def OSCping(value): - lj3.OSCping("pose") ''' # Starfield, idiotia @@ -515,7 +725,7 @@ def OSCrun(value): print("Pose bank got /run with value", value) doit = value ''' - +''' # /quit def OSCquit(): @@ -523,6 +733,7 @@ def OSCquit(): print("Stopping OSC...") lj3.OSCstop() sys.exit() +''' def WebStatus(message): lj3.SendLJ("/status",message) @@ -561,20 +772,13 @@ def UpdatePoseUI(): print('Loading Pose bank...') WebStatus("Loading Pose bank...") -# OSC Server callbacks -print("Starting OSC server at", myIP, ":", OSCinPort, "...") -osc_startup() -osc_udp_server(myIP, OSCinPort, "InPort") - -#osc_method("/pose/run*", OSCrun) -osc_method("/ping*", OSCping) -osc_method("/pose/ljclient", OSCljclient) -osc_method("/quit", OSCquit) -osc_method("/pose/idiotia/*", OSCidiotia, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) -osc_method("/pose/field/*", OSCfield,argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) -osc_method("/pose/live/*", OSClive, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) -osc_method("/pose/anim/*", OSCanim, argscheme=OSCARG_ADDRESS + OSCARG_DATAUNPACK) - +oscserver.addMsgHandler("/pose/ljclient", OSCljclient) +oscserver.addMsgHandler("/pose/idiotia", OSCidiotia) +oscserver.addMsgHandler("/pose/field", OSCfield) +oscserver.addMsgHandler("/pose/live", OSClive) +oscserver.addMsgHandler("/pose/anim", OSCanim) +# Add OSC generic plugins commands : 'default", /ping, /quit, /pluginame/obj, /pluginame/var, /pluginame/adddest, /pluginame/deldest +lj3.addOSCdefaults(oscserver) anims =[[]]*19 @@ -593,21 +797,22 @@ green = lj3.rgb2int(0,255,0) print("Updating Pose UI...") UpdatePoseUI() -WebStatus("Running "+ anims[currentIdiotia][0]+"...") +WebStatus("Pose "+ anims[currentIdiotia][0]+".") #WebStatus("Pose bank running.") #print("Pose bank running") -print("Running "+ anims[currentIdiotia][0]+" on " + str(LaserNumber) +" lasers.") +print("Pose "+ anims[currentIdiotia][0]+" ready on " + str(LaserNumber) +" lasers.") def Run(): try: - while 1: + while lj3.oscrun: - lj3.OSCframe() # If you want an idea # t0 = time.time() - Starfield(hori=0,verti=0) - IdiotIA() + lj3.OSCframe() + #Starfield(hori=0,verti=0) + #IdiotIA() + LivePose() #LiveFace() time.sleep(0.002) #t1 = time.time() diff --git a/plugins/games/ljpong/entities.py b/plugins/games/ljpong/entities.py index b640faf..abe5653 100644 --- a/plugins/games/ljpong/entities.py +++ b/plugins/games/ljpong/entities.py @@ -76,7 +76,7 @@ BALL_MAX = 4 BALL_SIZE_X = 3 BALL_SIZE_Y = 3 LASER_ANGLE = 0 - +plnumber = 0 GRAVITY = 0.0001 @@ -122,6 +122,7 @@ def LogoDraw(plnumber): for xy in pl_color[0]: xy_list.append((LOGO_OFFSET_X + xy[0], LOGO_OFFSET_Y + xy[1])) #print xy_list + #print plnumber lj.PolyLineOneColor(xy_list, c, plnumber, False) diff --git a/plugins/games/ljpong/lj.py b/plugins/games/ljpong/lj.py deleted file mode 100644 index 5244032..0000000 --- a/plugins/games/ljpong/lj.py +++ /dev/null @@ -1,322 +0,0 @@ -# coding=UTF-8 - -''' -LJ v0.8.1 -Some LJ functions useful for python 2.7 clients (was framy.py) -Functions and documentation here is low priority as python 2 support will stop soon. -Better code your plugin with python 3 and lj3.py. - - -Config -PolyLineOneColor -rPolyLineOneColor -Text -SendLJ : remote control -LjClient : -LjPl : -DrawPL -WebStatus - -LICENCE : CC -Sam Neurohack - -''' - -import math -import redis -from OSC import OSCServer, OSCClient, OSCMessage - -redisIP = '127.0.0.1' -r = redis.StrictRedis(host=redisIP, port=6379, db=0) - -ClientNumber = 0 - -point_list = [] -pl = [[],[],[],[]] - - - -def SendLJ(oscaddress,oscargs=''): - - oscmsg = OSCMessage() - oscmsg.setAddress(oscaddress) - oscmsg.append(oscargs) - - print ("sending OSC message : ",oscmsg) - try: - osclientlj.sendto(oscmsg, (redisIP, 8002)) - oscmsg.clearData() - except: - print ('Connection to LJ refused : died ?') - pass - #time.sleep(0.001 - -def WebStatus(message): - SendLJ("/status", message) - - -ASCII_GRAPHICS = [ - -#implementé - - [(-50,30), (-30,-30), (30,-30), (10,30), (-50,30)], #0 - [(-20,30), (0,-30), (-20,30)], #1 - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #2 - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #3 - [(30,10), (-30,10), (0,-30), (0,30)], #4 - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #5 - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #6 - [(-30,-30), (30,-30), (-30,30)], #7 - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #8 - [(30,0), (-30,0), (-30,-10), (0,-30), (30,-30), (30,10), (0,30), (-30,30)], #9 - -# A implementer - [(-30,10), (30,-10), (30,10), (0,30), (-30,10), (-30,-10), (0,-30), (30,-10)], #: - [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #; - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #< - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #= - [(30,10), (-30,10), (0,-30), (0,30)], #> - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #? - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #@ - -# Implementé - - - [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A - [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #B - [(30,30), (-30,30), (-30,-30), (30,-30)], #C - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #D - [(30,30), (-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #E - [(-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #F - [(0,0), (30,0), (30,30), (-30,30), (-30,-30),(30,-30)], #G - [(-30,-30), (-30,30), (-30,0), (30,0), (30,30), (30,-30)], #H - [(0,30), (0,-30)], #I - [(-30,30), (0,-30), (0,-30), (-30,-30), (30,-30)], #J - [(-30,-30), (-30,30), (-30,0), (30,-30), (-30,0), (30,30)], #K - [(30,30), (-30,30), (-30,-30)], #L - [(-30,30), (-30,-30), (0,0), (30,-30), (30,30)], #M - [(-30,30), (-30,-30), (30,30), (30,-30)], #N - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #O - [(-30,0), (30,0), (30,-30), (-30,-30), (-30,30)], #P - [(30,30), (30,-30), (-30,-30), (-30,30), (30,30),(35,35)], #Q - [(-30,30), (-30,-30), (30,-30), (30,0), (-30,0), (30,30)], #R - [(30,-30), (-30,-30), (-30,0), (30,0), (30,30), (-30,30)], #S - [(0,30), (0,-30), (-30,-30), (30,-30)], #T - [(-30,-30), (-30,30), (30,30), (30,-30)], #U - [(-30,-30), (0,30), (30,-30)], #V - [(-30,-30), (-30,30), (0,0), (30,30), (30,-30)], #W - [(-30,30), (30,-30)], [(-30,-30), (30,30)], #X - [(0,30), (0,0), (30,-30), (0,0), (-30,-30)], #Y - [(30,30), (-30,30), (30,-30), (-30,-30)], #Z - - # A implementer - - [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #[ - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #\ - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #] - [(30,10), (-30,10), (0,-30), (0,30)], #^ - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #_ - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #` - - # Implementé - - [(-20,20), (-20,-20), (20,-20), (20,20), (20,0), (-20,0)], #a - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20), (-20,0), (20,0)], #b - [(20,20), (-20,20), (-20,-20), (20,-20)], #c - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #d - [(20,20), (-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #e - [(-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #f - [(0,0), (20,0), (20,20), (-20,20), (-20,-20),(20,-20)], #g - [(-20,-20), (-20,20), (-20,0), (20,0), (20,20), (20,-20)], #H - [(0,20), (0,-20)], #I - [(-20,20), (0,-20), (0,-20), (-20,-20), (20,-20)], #J - [(-20,-20), (-20,20), (-20,0), (20,-20), (-20,0), (20,20)], #K - [(20,20), (-20,20), (-20,-20)], #L - [(-20,20), (-20,-20), (0,0), (20,-20), (20,20)], #M - [(-20,20), (-20,-20), (20,20), (20,-20)], #N - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #O - [(-20,0), (20,0), (20,-20), (-20,-20), (-20,20)], #P - [(20,20), (20,-20), (-20,-20), (-20,20), (20,20),(25,25)], #Q - [(-20,20), (-20,-20), (20,-20), (20,0), (-20,0), (20,20)], #R - [(20,-20), (-20,-20), (-20,0), (20,0), (20,20), (-20,20)], #S - [(0,20), (0,-20), (-20,-20), (20,-20)], #T - [(-20,-20), (-20,20), (20,20), (20,-20)], #U - [(-20,-20), (0,20), (20,-20)], #V - [(-20,-20), (-20,20), (0,0), (20,20), (20,-20)], #W - [(-20,20), (20,-20)], [(-20,-20), (20,20)], #X - [(0,20), (0,0), (20,-20), (0,0), (-20,-20)], #Y - [(20,20), (-20,20), (20,-20), (-20,-20)], #Z - - [(-2,15), (2,15)] # Point a la place de { -] - -def Config(redisIP,client): - global ClientNumber - - r = redis.StrictRedis(host=redisIP, port=6379, db=0) - ClientNumber = client - #print "client configured",ClientNumber - - -def LjClient(client): - global ClientNumber - - ClientNumber = client - -def LjPl(pl): - global PL - - PL = pl - - -def LineTo(xy, c, PL): - - pl[PL].append((xy + (c,))) - -def Line(xy1, xy2, c, PL): - LineTo(xy1, 0, PL) - LineTo(xy2, c , PL) - - -def PolyLineOneColor(xy_list, c, PL , closed ): - #print "--" - #print "c",c - #print "xy_list",xy_list - #print "--" - xy0 = None - for xy in xy_list: - if xy0 is None: - xy0 = xy - #print "xy0:",xy0 - LineTo(xy0,0, PL) - LineTo(xy0,c, PL) - else: - #print "xy:",xy - LineTo(xy,c, PL) - if closed: - LineTo(xy0,c, PL) - - -# Computing points coordinates for rPolyline function from 3D and around 0,0 to pygame coordinates -def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): - - x = xy[0] * resize - y = xy[1] * resize - z = 0 - - rad = math.radians(rotx) - cosaX = math.cos(rad) - sinaX = math.sin(rad) - - y2 = y - y = y2 * cosaX - z * sinaX - z = y2 * sinaX + z * cosaX - - rad = math.radians(roty) - cosaY = math.cos(rad) - sinaY = math.sin(rad) - - z2 = z - z = z2 * cosaY - x * sinaY - x = z2 * sinaY + x * cosaY - - rad = math.radians(rotz) - cosZ = math.cos(rad) - sinZ = math.sin(rad) - - x2 = x - x = x2 * cosZ - y * sinZ - y = x2 * sinZ + y * cosZ - - #print xy, (x + xpos,y+ ypos) - return (x + xpos,y+ ypos) - ''' - to understand why it get negative Y - - # 3D to 2D projection - factor = 4 * gstt.cc[22] / ((gstt.cc[21] * 8) + z) - print xy, (x * factor + xpos, - y * factor + ypos ) - return (x * factor + xpos, - y * factor + ypos ) - ''' - -# Send 2D point list around 0,0 with 3D rotation resizing and reposition around xpos ypos -#def rPolyLineOneColor(self, xy_list, c, PL , closed, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): -def rPolyLineOneColor(xy_list, c, PL , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): - xy0 = None - for xy in xy_list: - if xy0 is None: - xy0 = xy - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),0, PL) - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) - else: - LineTo(Pointransf(xy, xpos, ypos, resize, rotx, roty, rotz),c, PL) - if closed: - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) - - -def LinesPL(PL): - print "Stupido !! your code is to old : use DrawPL() instead of LinesPL()" - DrawPL(PL) - - -def DrawPL(PL): - #print '/pl/0/'+str(PL), str(pl[PL]) - if r.set('/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL])) == True: - #print '/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL]) - pl[PL] = [] - return True - else: - return False - -def ResetPL(self, PL): - pl[PL] = [] - - - -def DigitsDots(number,color): - dots =[] - for dot in ASCII_GRAPHICS[number]: - #print dot - dots.append((gstt.xy_center[0]+dot[0],gstt.xy_center[1]+dot[1],color)) - #self.point_list.append((xy + (c,))) - return dots - -def CharDots(char,color): - - dots =[] - for dot in ASCII_GRAPHICS[ord(char)-46]: - dots.append((dot[0],dot[1],color)) - return dots - -def Text(message,c, PL, xpos, ypos, resize, rotx, roty, rotz): - - dots =[] - - l = len(message) - i= 0 - #print message - - for ch in message: - - #print "" - # texte centre en x automatiquement selon le nombre de lettres l - x_offset = 26 * (- (0.9*l) + 3*i) - # Digits - if ord(ch)<58: - char_pl_list = ASCII_GRAPHICS[ord(ch) - 48] - else: - char_pl_list = ASCII_GRAPHICS[ord(ch) - 46] - char_draw = [] - #dots.append((char_pl_list[0][0] + x_offset,char_pl_list[0][1],0)) - - for xy in char_pl_list: - char_draw.append((xy[0] + x_offset,xy[1],c)) - i +=1 - #print ch,char_pl_list,char_draw - rPolyLineOneColor(char_draw, c, PL , False, xpos, ypos, resize, rotx, roty, rotz) - #dots.append(char_draw) - - - - \ No newline at end of file diff --git a/plugins/games/ljpong/main.py b/plugins/games/ljpong/main.py index 9a76036..2b91a2f 100755 --- a/plugins/games/ljpong/main.py +++ b/plugins/games/ljpong/main.py @@ -14,6 +14,9 @@ import itertools import sys import os import types +sys.path.append('../../../libs') +import lj + ''' is_py2 = sys.version[0] == '2' @@ -26,7 +29,7 @@ else: import thread import time import random -import lj +import lj23 as lj import entities from controller import setup_controls import argparse @@ -116,13 +119,15 @@ if args.laser: else: plnumber = 0 +entities.plnumber = plnumber + # Redis Computer IP if args.redisIP != None: redisIP = args.redisIP else: redisIP = '127.0.0.1' -lj.Config(redisIP,ljclient) +lj.Config(redisIP,ljclient,"ljpong") def StartPlaying(first_time = False): @@ -209,24 +214,26 @@ OSCRunning = True def OSCljclient(path, tags, args, source): - print("LJ Pong got /ljpong/ljclient with value", args[0]) + print("LJPong got /ljpong/ljclient with value", args[0]) lj.WebStatus("LJPong to virtual "+ str(args[0])) ljclient = args[0] lj.LjClient(ljclient) def OSCpl(path, tags, args, source): + global plnumber print("LJ Pong got /ljpong/pl with value", args[0]) lj.WebStatus("LJPong to pl "+ str(args[0])) - plnumber = args[0] - + plnumber = int(args[0]) + lj.LjPl(plnumber) +''' # /ping def OSCping(path, tags, args, source): print("LJ Pong got /ping") lj.SendLJ("/pong","ljpong") lj.SendLJ("/ljpong/start",1) - +''' def OSC_frame(): # clear timed_out flag @@ -246,10 +253,10 @@ print "at", OSCIP, "port",str(OSCPort) oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) # OSC callbacks - +lj.addOSCdefaults(oscserver) oscserver.addMsgHandler( "/ljpong/ljclient", OSCljclient ) oscserver.addMsgHandler("/ljpong/pl", OSCpl) -oscserver.addMsgHandler("/ping", OSCping) +#oscserver.addMsgHandler("/ping", lj.OSCping) print "Running..." diff --git a/plugins/laserglyph.py b/plugins/laserglyph.py index 97efd56..ad0085c 100644 --- a/plugins/laserglyph.py +++ b/plugins/laserglyph.py @@ -1,27 +1,55 @@ -# coding=UTF-8 +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# -*- mode: Python -*- + ''' + +Laserglyph +v0.1.0 + Anaglyphed rotating cube (for red and green glasses) This client uses the drawing functions (polyline) provided by LJ in lj.py -You must check in lj.py if the redis server IP is correct. LICENCE : CC -''' +by Sam Neurohack + + +''' +import sys +import os +print() +ljpath = r'%s' % os.getcwd().replace('\\','/') + +# import from shell + +sys.path.append(ljpath +'/../libs/') + +#import from LJ +sys.path.append(ljpath +'/libs/') +print (ljpath+'/../libs/') + +import lj23 as lj + +from OSC3 import OSCServer, OSCClient, OSCMessage import redis -import lj3 import math import time import argparse +''' from osc4py3.as_eventloop import * from osc4py3 import oscbuildparse #from osc4py3 import oscmethod as osm from osc4py3.oscmethod import * +''' OSCinPort = 8004 -myIP = "192.168.2.52" +oscrun = True +# myIP = "127.0.0.1" +PL = 0 print ("") print ("Arguments parsing if needed...") @@ -59,7 +87,7 @@ if args.myIP != None: else: myIP = '127.0.0.1' -print("redisIP",redisIP) +print("myIP",myIP) if args.verbose: debug = args.verbose @@ -67,8 +95,12 @@ else: debug = 0 -lj3.Config(redisIP,ljclient) +lj.Config(redisIP,ljclient,"glyph") +white = lj.rgb2int(255,255,255) +red = lj.rgb2int(255,0,0) +blue = lj.rgb2int(0,0,255) +green = lj.rgb2int(0,255,0) width = 800 height = 600 @@ -87,7 +119,7 @@ observer_altitude = 30000 #observer_altitude = 10000 # elevation = z coordinate # 0.0, -2000 pop out -map_plane_altitude = 0.0 +map_plane_altitude = 0.0 # Cube coordinates # Define the vertices that compose each of the 6 faces. @@ -101,9 +133,29 @@ vertices = [ ( 1.0,- 1.0, 1.0), (- 1.0,- 1.0, 1.0) ] -faces = [(0,1,2,3),(0,4,5,1),(1,5,6,2),(2,3,7,6),(6,5,4,7),(7,3,0,4)] +#faces = [(0,1,2,3),(0,4,5,1),(1,5,6,2),(2,3,7,6),(6,5,4,7),(7,3,0,4)] +faces = [(0,1,2,3),(0,4,5,1),(1,5,6,2),(2,3,7,6),(7,3,0,4),(7,3,0,4)] +# name, intensity, active, xy, color, red, green, blue, PL , closed): +Leftcube = lj.FixedObject('Leftcube', True, 255, [], red, 255, 0, 0, PL , True) +Rightcube = lj.FixedObject('Rightcube', True, 255, [], green, 0, 255, 0, PL , True) +# 'Destination' for each PL +# name, number, active, PL , scene, laser +# PL 0 +Dest0 = lj.DestObject('0', 0, True, 0 , 0, 0) +Dest1 = lj.DestObject('1', 1, True, 0 , 1, 1) +''' +viewgen3Lasers = [True,False,False,False] +# Add here, one by one, as much destination as you want for each PL. +# LJ and OSC can remotely add/delete destinations here. + +lj.Dests = { + "0": {"PL": 0, "scene": 0, "laser": 0}, + "1": {"PL": 0, "scene": 1, "laser": 1} + } + +''' def LeftShift(elevation): @@ -115,29 +167,36 @@ def RightShift(elevation): diff = map_plane_altitude - elevation return (1 - nadir) * eye_spacing * diff / (observer_altitude - elevation) -# If you want to use rgb for color : -def rgb2int(r,g,b): - return int('0x%02x%02x%02x' % (r,g,b),0) - -def OSCljclient(value): +# OSC +# - print("Glyph got /glyph/ljclient with value", value) - lj3.WebStatus("Glyph to virtual "+ str(value)) - ljclient = value - lj3.LjClient(ljclient) +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 +#oscrun = True -def OSCpl(value): +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True - print("Glyph got /glyph/pl with value", value) - lj3.WebStatus("Glyph to pl "+ str(value)) - lj3.LjPl(value) +# funny python's way to add a method to an instance of a class +import types +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) + + +# OSC callbacks + +# /viewgen/ljclient +def OSCljclient(path, tags, args, source): + + print("Got /viewgen/ljclient with value", args[0]) + lj.WebStatus("viewgen to virtual "+ str(args[0])) + ljclient = args[0] + lj.LjClient(ljclient) -# /pose/ping value -def OSCping(value): - lj3.OSCping("glyph") -''' def Proj(x,y,z,angleX,angleY,angleZ): rad = angleX * math.pi / 180 @@ -174,18 +233,28 @@ def Run(): Left = [] Right = [] counter =0 - lj3.WebStatus("LaserGlyph") + lj.WebStatus("LaserGlyph") + lj.SendLJ("/glyph/start 1") # OSC Server callbacks - print("Starting OSC at",myIP," port",OSCinPort,"...") + print("Starting OSC server at",myIP," port",OSCinPort,"...") + ''' osc_startup() osc_udp_server(myIP, OSCinPort, "InPort") - osc_method("/ping*", OSCping) + osc_method("/ping", lj.OSCping) + osc_method("/quit*", quit) osc_method("/glyph/ljclient", OSCljclient) + ''' + oscserver.addMsgHandler( "/glyph/ljclient", OSCljclient ) + + # Add OSC generic plugins commands : 'default", /ping, /quit, /pluginame/obj, /pluginame/var, /pluginame/adddest, /pluginame/deldest + lj.addOSCdefaults(oscserver) try: - while 1: + while lj.oscrun: + + lj.OSCframe() Left = [] Right = [] @@ -216,24 +285,31 @@ def Run(): # Drawing step, 2 possibilities # Red and Green drawn by laser 0 - lj3.PolyLineOneColor(Left, c = red, PL = 0, closed = True) - lj3.PolyLineOneColor(Right, c = green, PL = 0, closed = True) - lj3.DrawPL(0) + #lj.PolyLineOneColor(Left, c = red, PL = PL, closed = True) + #lj.PolyLineOneColor(Right, c = green, PL = PL, closed = True) + + lj.PolyLineOneColor(Left, c = Leftcube.color , PL = Leftcube.PL, closed = Leftcube.closed) + lj.PolyLineOneColor(Right, c = Rightcube.color , PL = Rightcube.PL, closed = Rightcube.closed) + #print(len(Left)) + + #lj.DrawPL(PL) + #print(Dest0.name, Dest1.name) + lj.DrawDests() ''' # Red on laser 1 and green on laser 2 - lj3.PolyLineOneColor(Left, c = red, PL = 1, closed = True) - lj3.PolyLineOneColor(Right, c = green, PL = 2, closed = True) - lj3.DrawPL(1) - lj3.DrawPL(2) + lj.PolyLineOneColor(Left, c = red, PL = 1, closed = True) + lj.PolyLineOneColor(Right, c = green, PL = 2, closed = True) + lj.DrawPL(1) + lj.DrawPL(2) ''' time.sleep(0.1) counter += 1 - if counter >360: - counter =0 + if counter > 360: + counter = 0 except KeyboardInterrupt: pass @@ -242,18 +318,7 @@ def Run(): finally: - lj3.WebStatus("Glyph Exit") - print("Stopping OSC...") - lj3.OSCstop() - pass - - print ("LaserGlyph Stopped.") - - -white = rgb2int(255,255,255) -red = rgb2int(255,0,0) -blue = rgb2int(0,0,255) -green = rgb2int(0,255,0) + lj.ClosePlugin() Run() diff --git a/plugins/livewords.py b/plugins/livewords.py index 5f7771b..8f0af02 100644 --- a/plugins/livewords.py +++ b/plugins/livewords.py @@ -6,9 +6,11 @@ LICENCE : CC ''' import redis -import lj3 + import sys,time import argparse +sys.path.append('../libs') +import lj3 from osc4py3.as_eventloop import * from osc4py3 import oscbuildparse @@ -20,11 +22,12 @@ myIP = "127.0.0.1" duration = 300 OSCinPort = 8006 +oscrun = True -Word0 = "LASER" -Word1 = "LASER" -Word2 = "LASER" -Word3 = "LASER" +Word0 = "ONE" +Word1 = "TWO" +Word2 = "THREE" +Word3 = "FOUR" ''' is_py2 = sys.version[0] == '2' @@ -67,7 +70,7 @@ else: debug = 0 -lj3.Config(redisIP,ljclient) +lj3.Config(redisIP,ljclient,"words") #r = redis.StrictRedis(host=redisIP, port=6379, db=0) @@ -108,17 +111,15 @@ def OSCljclient(value): -# /ping -def OSCping(): - lj3.OSCping("words") - lj3.SendLJ("words/text/0",Word0) - lj3.SendLJ("words/text/1",Word1) +# /quit dummyvalue +def quit(value): + # don't do this at home (or it'll quit blender) + global oscrun -# /quit -def OSCquit(): - - lj3.OSCquit("words") + oscrun = False + print("Stopped by /quit.") + lj3.ClosePlugin() def Run(): @@ -131,9 +132,9 @@ def Run(): osc_method("/words/text/1*", OSCword1) osc_method("/words/text/2*", OSCword2) osc_method("/words/text/3*", OSCword3) - osc_method("/ping*", OSCping) osc_method("/words/ljclient*", OSCljclient) - osc_method("/quit", OSCquit) + osc_method("/ping", lj3.OSCping) + osc_method("/quit*", quit) color = lj3.rgb2int(255,255,255) lj3.WebStatus("Loading Words...") @@ -145,7 +146,7 @@ def Run(): try: - while 1: + while oscrun: lj3.OSCframe() @@ -170,11 +171,8 @@ def Run(): finally: - lj3.WebStatus("Words Exit") - print("Stopping Words OSC...") - lj3.OSCstop() + lj3.ClosePlugin() - print ("Words Stopped.") Run() diff --git a/plugins/livewords3.py b/plugins/livewords3.py new file mode 100644 index 0000000..d5ded12 --- /dev/null +++ b/plugins/livewords3.py @@ -0,0 +1,241 @@ +# coding=UTF-8 + +''' +Live words on different lasers +LICENCE : CC +''' + +import redis + +import sys,time +import argparse + +import os +ljpath = r'%s' % os.getcwd().replace('\\','/') +# import from shell +sys.path.append('../libs') + +#import from LJ +sys.path.append(ljpath +'/libs/') +#print (ljpath+'/libs') +import lj23 as lj + +is_py2 = sys.version[0] == '2' +if is_py2: + from OSC import OSCServer, OSCClient, OSCMessage + print ("Importing lj23 and OSC from libs...") +else: + from OSC3 import OSCServer, OSCClient, OSCMessage + print ("Importing lj23 and OSC3 from libs...") + +myIP = "127.0.0.1" + +duration = 300 + +OSCinPort = 8006 +oscrun = True + +Word0 = "BRAINFUCK" +Word1 = "D" +Word2 = "CAPTCHA" +Word3 = "D" + + +''' +is_py2 = sys.version[0] == '2' +if is_py2: + from Queue import Queue +else: + from queue import Queue +''' +print ("Words is checking arguments parsing if needed...") +argsparser = argparse.ArgumentParser(description="Text Cycling for LJ") +argsparser.add_argument("-r","--redisIP",help="IP of the Redis server used by LJ (127.0.0.1 by default) ",type=str) +argsparser.add_argument("-m","--myIP",help="Local IP (127.0.0.1 by default) ",type=str) +argsparser.add_argument("-c","--client",help="LJ client number (0 by default)",type=int) +argsparser.add_argument("-v","--verbose",help="Verbosity level (0 by default)",type=int) + +args = argsparser.parse_args() + + +if args.client: + ljclient = args.client +else: + ljclient = 0 + +# Redis Computer IP +if args.redisIP != None: + redisIP = args.redisIP +else: + redisIP = '127.0.0.1' + +# myIP +if args.myIP != None: + myIP = args.myIP +else: + myIP = '127.0.0.1' + + +if args.verbose: + debug = args.verbose +else: + debug = 0 + + +lj.Config(redisIP,ljclient,"words") +#r = redis.StrictRedis(host=redisIP, port=6379, db=0) + +# 'Destination' for each PL +# name, number, active, PL , scene, laser +# PL 0 +Dest0 = lj.DestObject('0', 0, True, 0, 0, 0) +# PL 1 +Dest1 = lj.DestObject('1', 1, True, 1, 0, 1) +# PL 2 +Dest2 = lj.DestObject('2', 2, True, 2, 0, 2) +# PL 3 +Dest3 = lj.DestObject('3', 3, True, 3, 0, 3) + +# +# OSC +# + +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 +#oscrun = True + +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True + +# funny python's way to add a method to an instance of a class +import types +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) + + +# RAW OSC Frame available ? +def OSCframe(): + # clear timed_out flag + #print "oscframe" + oscserver.timed_out = False + # handle all pending requests then return + while not oscserver.timed_out: + oscserver.handle_request() + + +# Stop osc server +def OSCstop(): + + oscserver.close() + + + +def OSCword0(value): + global Word0 + + # Will receive message address, and message data flattened in s, x, y + print("Words 0 got /words/text/0 with value", value) + Word0 = value + +def OSCword1(value): + global Word1 + + # Will receive message address, and message data flattened in s, x, y + print("Words 1 got /words/text/1 with value", value) + Word1 = value + +def OSCword2(value): + global Word2 + + # Will receive message address, and message data flattened in s, x, y + print("Words 2 got /words/text/2 with value", value) + Word2 = value + +def OSCword3(value): + global Word3 + + # Will receive message address, and message data flattened in s, x, y + print("Words 3 got /words/text/3 with value", value) + Word3 = value + +def OSCljclient(value): + # Will receive message address, and message data flattened in s, x, y + print("Words got /words/ljclient with value", value) + lj.WebStatus("Words to virtual "+ str(value)) + ljclient = value + lj.LjClient(ljclient) + + + + +# /quit dummyvalue +def quit(value): + # don't do this at home (or it'll quit blender) + global oscrun + + oscrun = False + print("Stopped by /quit.") + lj.ClosePlugin() + + +def Run(): + + # OSC Server callbacks + print("Words starting its OSC server at", myIP, "port",OSCinPort,"...") + #oscserver.addMsgHandler( "default", lj.OSChandler ) + #oscserver.addMsgHandler( "/words/ljclient", OSCljclient ) + oscserver.addMsgHandler( "/words/text/0", OSCword0) + oscserver.addMsgHandler( "/words/text/1", OSCword1) + oscserver.addMsgHandler( "/words/text/2", OSCword2) + oscserver.addMsgHandler( "/words/text/3", OSCword3) + #oscserver.addMsgHandler( "/ping", lj.OSCping) + #oscserver.addMsgHandler( "/quit", lj.OSCquit) + # Add OSC generic plugins commands : 'default", /ping, /quit, /pluginame/obj, /pluginame/var, /pluginame/adddest, /pluginame/deldest + lj.addOSCdefaults(oscserver) + + color = lj.rgb2int(0,255,0) + lj.WebStatus("Loading Words...") + lj.WebStatus("Words ready.") + lj.SendLJ("/words/start 1") + + lj.SendLJ("words/text/0",Word0) + lj.SendLJ("words/text/1",Word1) + + try: + + while lj.oscrun: + + OSCframe() + + lj.Text(Word0, color, PL = 0, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) + #lj.DrawPL(0) + + lj.Text(Word1, color, PL = 1, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) + #lj.DrawPL(1) + + lj.Text(Word2, color, PL = 2, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) + #lj.DrawPL(2) + + lj.Text(Word3, color, PL = 3, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) + #lj.DrawPL(3) + + lj.DrawDests() + time.sleep(0.01) + + except KeyboardInterrupt: + pass + + # Gently stop on CTRL C + + finally: + + lj.ClosePlugin() + OSCstop() + + + +Run() + + diff --git a/plugins/lj3.py b/plugins/lj3.py deleted file mode 100644 index a5b8ef4..0000000 --- a/plugins/lj3.py +++ /dev/null @@ -1,645 +0,0 @@ -# coding=UTF-8 - -''' - -lj3 v0.8.1 - -Some LJ functions useful for python clients (was framy.py) - -OSC functions commented, waiting working on OSC in python3 - -Config(redisIP, client number) -PolyLineOneColor -rPolyLineOneColor - -Text(word, color, PL, xpos, ypos, resize, rotx, roty, rotz) : Display a word -SendLJ(adress,message) : LJ remote control. See commands.py -WebStatus(message) : display message on webui -DrawPL(point list number) : once you stacked all wanted elements, like 2 polylines, send them to lasers. -rgb2int(r,g,b) -LjClient(client): Change Client number in redis keys -LjPl(pl): Change pl number in redis keys = laser target. - - -OSCstart(): Start the OSC system. -OSCframe(): Handle incoming OSC message. Calling the right callback -OSCstop(): Properly close the OSC system -OSCping(value): Answer to LJ pings by sending /pong value -OSCquit(name): Exit calling script using name in terminal - -setup_controls(joystick) - -XboxController : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger -Ps3Controller : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger, getUp, getDown, getLeft, getRight, getFire1, getFire2(self): -MySaitekController : getLeftHori,getLeftVert, getRightHori,getRightVert, getLeftTrigger,getRightTrigger -MyThrustController : getLeftHori, getLeftVert, getRightHori, getRightVert, getLeftTrigger, getRightTrigger -CSLController : getLeftHori,getLeftVert,getRightHori, getRightVert,getLeftTrigger,getRightTrigger,getFire1,getFire2 -my USB Joystick : getUp,getDown,getLeft,getRight,etLeftTrigger, getRightTrigger,getFire1, getFire2 - - -LICENCE : CC -Sam Neurohack - -''' - -import math -import redis - -# Import needed modules from osc4py3 -from osc4py3.as_eventloop import * -from osc4py3 import oscbuildparse -#from osc4py3 import oscmethod as osm -from osc4py3.oscmethod import * - - -#redisIP = '127.0.0.1' -#r = redis.StrictRedis(host=redisIP, port=6379, db=0) - -ClientNumber = 0 - -point_list = [] -pl = [[],[],[],[]] - -# -# OSC interaction with LJ -# - -def OSCstart(): - # Start the system. - osc_startup() - #osc_udp_client(redisIP, 8002, "LJ 8002") - -def OSCframe(): - #print("OSCprocess") - osc_process() - -# Properly close the system. Todo -def OSCstop(): - osc_terminate() - - -def SendLJ(oscaddress,oscargs=''): - - try: - msg = oscbuildparse.OSCMessage(oscaddress, None, [oscargs]) - # print(msg) - osc_send(msg, "LJ 8002") - OSCframe() - - except: - print ('Connection to LJ refused : died ?') - pass - -def WebStatus(message): - SendLJ("/status", message) - - -# Answer to LJ pings with /pong pluginame -def OSCping(value): - SendLJ("/pong",value) - - -# /quit -def OSCquit(name): - - WebStatus(name + " quit.") - print("Stopping OSC...") - - OSCstop() - sys.exit() - -''' -def handlerfunction(s, x, y): - # Will receive message data unpacked in s, x, y - pass - -def handlerfunction2(address, s, x, y): - # Will receive message address, and message data flattened in s, x, y - pass - -# Make server channels to receive packets. -osc_udp_server("127.0.0.1", 3721, "localhost") -osc_udp_server("0.0.0.0", 3724, "anotherserver") -''' - - - -ASCII_GRAPHICS = [ - -# caracteres corrects - - [(-50,30), (-30,-30), (30,-30), (10,30), (-50,30)], #0 - [(-20,30), (0,-30), (-20,30)], #1 - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #2 - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #3 - [(30,10), (-30,10), (0,-30), (0,30)], #4 - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #5 - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #6 - [(-30,-30), (30,-30), (-30,30)], #7 - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #8 - [(30,0), (-30,0), (-30,-10), (0,-30), (30,-30), (30,10), (0,30), (-30,30)], #9 - -# caracteres a implementer - [(-30,10), (30,-10), (30,10), (0,30), (-30,10), (-30,-10), (0,-30), (30,-10)], #: - [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #; - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #< - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #= - [(30,10), (-30,10), (0,-30), (0,30)], #> - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #? - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #@ - -# Caracteres corrects - - - [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A - [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #B - [(30,30), (-30,30), (-30,-30), (30,-30)], #C - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #D - [(30,30), (-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #E - [(-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #F - [(0,0), (30,0), (30,30), (-30,30), (-30,-30),(30,-30)], #G - [(-30,-30), (-30,30), (-30,0), (30,0), (30,30), (30,-30)], #H - [(0,30), (0,-30)], #I - [(-30,30), (0,-30), (0,-30), (-30,-30), (30,-30)], #J - [(-30,-30), (-30,30), (-30,0), (30,-30), (-30,0), (30,30)], #K - [(30,30), (-30,30), (-30,-30)], #L - [(-30,30), (-30,-30), (0,0), (30,-30), (30,30)], #M - [(-30,30), (-30,-30), (30,30), (30,-30)], #N - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #O - [(-30,0), (30,0), (30,-30), (-30,-30), (-30,30)], #P - [(30,30), (30,-30), (-30,-30), (-30,30), (30,30),(35,35)], #Q - [(-30,30), (-30,-30), (30,-30), (30,0), (-30,0), (30,30)], #R - [(30,-30), (-30,-30), (-30,0), (30,0), (30,30), (-30,30)], #S - [(0,30), (0,-30), (-30,-30), (30,-30)], #T - [(-30,-30), (-30,30), (30,30), (30,-30)], #U - [(-30,-30), (0,30), (30,-30)], #V - [(-30,-30), (-30,30), (0,0), (30,30), (30,-30)], #W - [(-30,30), (30,-30)], [(-30,-30), (30,30)], #X - [(0,30), (0,0), (30,-30), (0,0), (-30,-30)], #Y - [(30,30), (-30,30), (30,-30), (-30,-30)], #Z - - # A implementer - - [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #[ - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #\ - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #] - [(30,10), (-30,10), (0,-30), (0,30)], #^ - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #_ - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #` - - # Implementé - - [(-20,20), (-20,-20), (20,-20), (20,20), (20,0), (-20,0)], #a - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20), (-20,0), (20,0)], #b - [(20,20), (-20,20), (-20,-20), (20,-20)], #c - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #d - [(20,20), (-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #e - [(-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #f - [(0,0), (20,0), (20,20), (-20,20), (-20,-20),(20,-20)], #g - [(-20,-20), (-20,20), (-20,0), (20,0), (20,20), (20,-20)], #H - [(0,20), (0,-20)], #I - [(-20,20), (0,-20), (0,-20), (-20,-20), (20,-20)], #J - [(-20,-20), (-20,20), (-20,0), (20,-20), (-20,0), (20,20)], #K - [(20,20), (-20,20), (-20,-20)], #L - [(-20,20), (-20,-20), (0,0), (20,-20), (20,20)], #M - [(-20,20), (-20,-20), (20,20), (20,-20)], #N - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #O - [(-20,0), (20,0), (20,-20), (-20,-20), (-20,20)], #P - [(20,20), (20,-20), (-20,-20), (-20,20), (20,20),(25,25)], #Q - [(-20,20), (-20,-20), (20,-20), (20,0), (-20,0), (20,20)], #R - [(20,-20), (-20,-20), (-20,0), (20,0), (20,20), (-20,20)], #S - [(0,20), (0,-20), (-20,-20), (20,-20)], #T - [(-20,-20), (-20,20), (20,20), (20,-20)], #U - [(-20,-20), (0,20), (20,-20)], #V - [(-20,-20), (-20,20), (0,0), (20,20), (20,-20)], #W - [(-20,20), (20,-20)], [(-20,-20), (20,20)], #X - [(0,20), (0,0), (20,-20), (0,0), (-20,-20)], #Y - [(20,20), (-20,20), (20,-20), (-20,-20)], #Z - - [(-2,15), (2,15)] # Point a la place de { -] - -def rgb2int(r,g,b): - return int('0x%02x%02x%02x' % (r,g,b),0) - - -def Config(redisIP,client): - global ClientNumber, r - - r = redis.StrictRedis(host=redisIP, port=6379, db=0) - ClientNumber = client - osc_udp_client(redisIP, 8002, "LJ 8002") - return r - - -def LjClient(client): - global ClientNumber - - ClientNumber = client - -def LjPl(pl): - global PL - - PL = pl - - -def LineTo(xy, c, PL): - - pl[PL].append((xy + (c,))) - -def Line(xy1, xy2, c, PL): - LineTo(xy1, 0, PL) - LineTo(xy2, c , PL) - - -def PolyLineOneColor(xy_list, c, PL , closed ): - #print "--" - #print "c",c - #print "xy_list",xy_list - #print "--" - xy0 = None - for xy in xy_list: - if xy0 is None: - xy0 = xy - #print "xy0:",xy0 - LineTo(xy0,0, PL) - LineTo(xy0,c, PL) - else: - #print "xy:",xy - LineTo(xy,c, PL) - if closed: - LineTo(xy0,c, PL) - - -# Computing points coordinates for rPolyline function from 3D and around 0,0 to pygame coordinates -def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): - - x = xy[0] * resize - y = xy[1] * resize - z = 0 - - rad = rotx * math.pi / 180 - cosaX = math.cos(rad) - sinaX = math.sin(rad) - - y2 = y - y = y2 * cosaX - z * sinaX - z = y2 * sinaX + z * cosaX - - rad = roty * math.pi / 180 - cosaY = math.cos(rad) - sinaY = math.sin(rad) - - z2 = z - z = z2 * cosaY - x * sinaY - x = z2 * sinaY + x * cosaY - - rad = rotz * math.pi / 180 - cosZ = math.cos(rad) - sinZ = math.sin(rad) - - x2 = x - x = x2 * cosZ - y * sinZ - y = x2 * sinZ + y * cosZ - - #print xy, (x + xpos,y+ ypos) - return (x + xpos,y+ ypos) - ''' - to understand why it get negative Y - - # 3D to 2D projection - factor = 4 * gstt.cc[22] / ((gstt.cc[21] * 8) + z) - print xy, (x * factor + xpos, - y * factor + ypos ) - return (x * factor + xpos, - y * factor + ypos ) - ''' - -# Send 2D point list around 0,0 with 3D rotation resizing and reposition around xpos ypos -#def rPolyLineOneColor(self, xy_list, c, PL , closed, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): -def rPolyLineOneColor(xy_list, c, PL , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): - xy0 = None - for xy in xy_list: - if xy0 is None: - xy0 = xy - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),0, PL) - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) - else: - LineTo(Pointransf(xy, xpos, ypos, resize, rotx, roty, rotz),c, PL) - if closed: - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) - - -def LinesPL(PL): - print ("Stupido !! your code is to old : use DrawPL() instead of LinesPL()") - DrawPL(PL) - -def DrawPL(PL): - #print '/pl/0/'+str(PL), str(pl[PL]) - if r.set('/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL])) == True: - pl[PL] = [] - return True - else: - return False - -def ResetPL(self, PL): - pl[PL] = [] - - -def DigitsDots(number,color): - dots =[] - for dot in ASCII_GRAPHICS[number]: - #print dot - dots.append((gstt.xy_center[0]+dot[0],gstt.xy_center[1]+dot[1],color)) - #self.point_list.append((xy + (c,))) - return dots - - -def CharDots(char,color): - - dots =[] - for dot in ASCII_GRAPHICS[ord(char)-46]: - dots.append((dot[0],dot[1],color)) - return dots - - -def Text(message,c, PL, xpos, ypos, resize, rotx, roty, rotz): - - dots =[] - - l = len(message) - i= 0 - #print message - - for ch in message: - - #print "" - # texte centre en x automatiquement selon le nombre de lettres l - x_offset = 26 * (- (0.9*l) + 3*i) - #print i,x_offset - # if digit - if ord(ch)<58: - char_pl_list = ASCII_GRAPHICS[ord(ch) - 48] - else: - char_pl_list = ASCII_GRAPHICS[ord(ch) - 46 ] - - char_draw = [] - #dots.append((char_pl_list[0][0] + x_offset,char_pl_list[0][1],0)) - - for xy in char_pl_list: - char_draw.append((xy[0] + x_offset,xy[1],c)) - i +=1 - #print ch,char_pl_list,char_draw - rPolyLineOneColor(char_draw, c, PL , False, xpos, ypos, resize, rotx, roty, rotz) - #print ("laser",PL,"message",message) - #dots.append(char_draw) - - - -import re - -def setup_controls(joystick): - """ - Joystick wrapper. - """ - if re.search('playstation', joystick.get_name(), re.I): - return Ps3Controller(joystick) - - elif re.search('X-box', joystick.get_name(), re.I): - return XboxController(joystick) - - elif re.search('Saitek', joystick.get_name(), re.I): - return MySaitekController(joystick) - - elif re.search('Thrustmaster dual analog 3.2', joystick.get_name(), re.I): - return MyThrustController(joystick) - - elif re.search('2n1 USB', joystick.get_name(), re.I): - return CSLController(joystick) - - elif re.search('Joystick', joystick.get_name(), re.I): - return USBController(joystick) - - return Controller(joystick) - -class Controller(object): - - def __init__(self, joystick): - """Pass a PyGame joystick instance.""" - self.js = joystick - - def getLeftHori(self): - return self.js.get_axis(2) - - def getLeftVert(self): - return self.js.get_axis(3) - - def getRightHori(self): - return self.js.get_axis(0) - - def getRightVert(self): - return self.js.get_axis(1) - - def getLeftTrigger(self): - return self.js.get_button(9) - - def getRightTrigger(self): - return self.js.get_button(2) - -class XboxController(Controller): - - def __init__(self, joystick): - super(XboxController, self).__init__(joystick) - - def getLeftHori(self): - return self.js.get_axis(0) - - def getLeftVert(self): - return self.js.get_axis(1) - - def getRightHori(self): - return self.js.get_axis(3) - - def getRightVert(self): - return self.js.get_axis(4) - - def getLeftTrigger(self): - return self.js.get_axis(2) - - def getRightTrigger(self): - return self.js.get_button(11) - -class Ps3Controller(Controller): - -#up 4 _DOWN 6 left 7 right 5 croix 14 rond 13 triangle 12 - - def __init__(self, joystick): - super(Ps3Controller, self).__init__(joystick) - - def getLeftHori(self): - return self.js.get_axis(0) - - def getLeftVert(self): - return self.js.get_axis(1) - - def getRightHori(self): - return self.js.get_axis(2) - - def getRightVert(self): - return self.js.get_axis(3) - - def getLeftTrigger(self): - # TODO: Verify - return self.js.get_button(8) - - def getRightTrigger(self): - # TODO: Verify - return self.js.get_button(9) - - def getUp(self): - return self.js.get_button(4) - - def getDown(self): - return self.js.get_button(6) - - def getLeft(self): - return self.js.get_button(7) - - def getRight(self): - return self.js.get_button(5) - - def getFire1(self): - return self.js.get_button(14) - - def getFire2(self): - return self.js.get_button(13) - - -class MySaitekController(Controller): - - def __init__(self, joystick): - super(MySaitekController, self).__init__(joystick) - - def getLeftHori(self): - return self.js.get_axis(0) - - def getLeftVert(self): - return self.js.get_axis(1) - - def getRightHori(self): - return self.js.get_axis(3) - - def getRightVert(self): - return self.js.get_axis(2) - - def getLeftTrigger(self): - return self.js.get_button(6) - - def getRightTrigger(self): - return self.js.get_button(7) - -class MyThrustController(Controller): - - def __init__(self, joystick): - super(MyThrustController, self).__init__(joystick) - - def getLeftHori(self): - return self.js.get_axis(0) - - def getLeftVert(self): - return self.js.get_axis(1) - - def getRightHori(self): - return self.js.get_axis(2) - - def getRightVert(self): - return self.js.get_axis(3) - - def getLeftTrigger(self): - return self.js.get_button(5) - - def getRightTrigger(self): - return self.js.get_button(7) - - -class CSLController(Controller): - - def __init__(self, joystick): - super(CSLController, self).__init__(joystick) - - def getLeftHori(self): - return self.js.get_axis(2) - - def getLeftVert(self): - return self.js.get_axis(3) - - def getRightHori(self): - return self.js.get_axis(0) - - def getRightVert(self): - return self.js.get_axis(1) - - def getLeftTrigger(self): - return self.js.get_button(6) - - def getRightTrigger(self): - return self.js.get_button(7) - - def getFire1(self): - return self.js.get_button(2) - - def getFire2(self): - return self.js.get_button(1) - -class USBController(Controller): - - -# my USB Joystick -#up axis 0 -1 DOWN axis 0 1 left axis 1 1 right axis 1 -1 bouton gauche 10 bouton droite 9 - - def __init__(self, joystick): - super(USBController, self).__init__(joystick) - - - def getUp(self): - if self.js.get_axis(0) == -1: - return 1 - else: - return 0 - - def getDown(self): - if self.js.get_axis(0) > 0.9: - return 1 - else: - return 0 - - def getLeft(self): - if self.js.get_axis(1) == 1: - return 1 - else: - return 0 - - def getRight(self): - if self.js.get_axis(1) == -1: - return 1 - else: - return 0 - - def getLeftTrigger(self): - return self.js.get_button(10) - - def getRightTrigger(self): - return self.js.get_button(9) - - def getFire1(self): - if self.js.get_button(10) == 1: - print ("fire 1") - return self.js.get_button(10) - - def getFire2(self): - if self.js.get_button(9) == 1: - print ("fire 2") - return self.js.get_button(9) - - - - diff --git a/plugins/maxwell.py b/plugins/maxwell.py new file mode 100644 index 0000000..7b45ef4 --- /dev/null +++ b/plugins/maxwell.py @@ -0,0 +1,1035 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# -*- mode: Python -*- +''' + +Maxwell +v0.1.0 + +This client uses the relative drawing functions (rpolyline) -> your coordinates must be centered around 0,0. + +- Mixer : + LRmixer : right curve percent + LRtype : "add", "minus", "multiply" + +- points numbers + +- Curve objects : required parameters : + name, curvetype, freqlimit, freq, inversion + +- Scaler : + Everything is resize by a constant + +- Translator : + translations X Y Z by a constant + +- Rotator : + rotations X Y Z by a constant + +- Duplicator : duplicators, duplicatorsAngle + Duplicators are extra rpolyline with Angle added as global rotation parameter along *all* axis, this need to be checked conceptually + + +TODO : + +- in Curve Objects : + amptype, amp, phasemodtype, phasemodspeed, phasemodspeed, phaseoffsettype, phaseoffset + +- Other functions for lfos, translator, rotator, scaler, duplicator,... +- CC inputs for all parameters + + + +LICENCE : CC + +by Sam Neurohack + +''' +import sys +import os +print() +ljpath = r'%s' % os.getcwd().replace('\\','/') + +# import from shell + +sys.path.append(ljpath +'/../libs/') + +#import from LJ +sys.path.append(ljpath +'/libs/') +print ('Maxwell plugin startup') + +import lj23 as lj +sys.path.append('../libs') +from OSC3 import OSCServer, OSCClient, OSCMessage +import redis +import socketserver +import math +import time +import argparse +import numpy as np +import weakref +from math import pi as PI +import scipy.signal as signal +import midi3 + + +OSCinPort = 8012 +#oscrun = True +# myIP = "127.0.0.1" +PL = 0 + +print ("") +print ("Arguments parsing if needed...") +argsparser = argparse.ArgumentParser(description="Text Cycling for LJ") +argsparser.add_argument("-r","--redisIP",help="IP of the Redis server used by LJ (127.0.0.1 by default) ",type=str) +argsparser.add_argument("-c","--client",help="LJ client number (0 by default)",type=int) +argsparser.add_argument("-l","--laser",help="Laser number to be displayed (0 by default)",type=int) +argsparser.add_argument("-v","--verbose",help="Verbosity level (0 by default)",type=int) +argsparser.add_argument("-m","--myIP",help="Local IP (127.0.0.1 by default) ",type=str) + +args = argsparser.parse_args() + + +if args.client: + ljclient = args.client +else: + ljclient = 0 + +if args.laser: + plnumber = args.laser +else: + plnumber = 0 + +# Redis Computer IP +if args.redisIP != None: + redisIP = args.redisIP +else: + redisIP = '127.0.0.1' + +print("redisIP",redisIP) + +# myIP +if args.myIP != None: + myIP = args.myIP +else: + myIP = '127.0.0.1' + +print("myIP",myIP) + +if args.verbose: + debug = args.verbose +else: + debug = 0 + + +lj.Config(redisIP,ljclient,"maxw") + +white = lj.rgb2int(255,255,255) +red = lj.rgb2int(255,0,0) +blue = lj.rgb2int(0,0,255) +green = lj.rgb2int(0,255,0) + +points = 512 +# maxpoints = 500 +samples = points +samparray = [0] * samples + +# Channel 1 midi CC +cc1 = [0]*127 +# Channel 2 midi CC +cc2 = [0]*127 + +# Mixer +LRmixer = 0 +LRtype = 'minus' # "minus", 'multiply' + +# Duplicators +duplicators = 1 +duplicatorsAngle = 30 + +Oscillators = [] +LFOs = [] +Rotators = [] +Translators = [] + + +width = 800 +height = 600 +centerX = width / 2 +centerY = height / 2 + +# 3D to 2D projection parameters +fov = 256 +viewer_distance = 2.2 + + +# Anaglyph computation parameters for right and left eyes. +eye_spacing = 100 +nadir = 0.5 +observer_altitude = 30000 +#observer_altitude = 10000 +# elevation = z coordinate +# 0.0, -2000 pop out +map_plane_altitude = 0.0 + +# Relative Object (name, active, intensity, xy, color, red, green, blue, PL , closed, xpos , ypos , resize , rotx , roty , rotz) +#Leftshape = lj.RelativeObject('Leftshape', True, 255, [], red, 255, 0, 0, PL , True, 100 , 100 , 1 , 0 , 0 , 0) + + +# name, intensity, active, xy, color, red, green, blue, PL , closed): +Leftshape = lj.FixedObject('Leftshape', True, 255, [], red, 255, 0, 0, PL , False) +#Rightshape = lj.FixedObject('Rightshape', True, 255, [], green, 0, 255, 0, PL , False) + +# 'Destination' for each PL +# name, number, active, PL , scene, laser +# PL 0 +Dest0 = lj.DestObject('0', 0, True, 0 , 0, 0) +#Dest1 = lj.DestObject('1', 1, True, 0 , 1, 1) + +''' +viewgen3Lasers = [True,False,False,False] +# Add here, one by one, as much destination as you want for each PL. +# LJ and OSC can remotely add/delete destinations here. + +lj.Dests = { + "0": {"PL": 0, "scene": 0, "laser": 0}, + "1": {"PL": 0, "scene": 1, "laser": 1} + } + +''' + + +# +# OSC +# + +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 + +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True + +# funny python's way to add a method to an instance of a class +import types +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) + + +# OSC callbacks + +# /viewgen/ljclient +def OSCljclient(path, tags, args, source): + + print("Got /viewgen/ljclient with values", args[0]) + lj.WebStatus("viewgen to virtual "+ str(args[0])) + ljclient = args[0] + lj.LjClient(ljclient) + + +# /noteon note velocity +def OSCnoteon(path, tags, args, source): + + note = args[0] + velocity = args[1] + # Do something with it + +# /noteoff note +def OSCnoteoff(path, tags, args, source): + + note = args[0] + # Do something with it + +# /cc number value +def OSCcc(path, tags, args, source): + + cc1[args[0]]= args[1] + #cc = args[0] + #value = args[1] + +# +# CC functions +# + +# /cc cc number value +def cc(ccnumber, value): + + if ccnumber > 127: + cc2[ccnumber - 127]= value + else: + midichannel = basemidichannel + cc1[ccnumber]= value + + #print("Sending Midi channel", midichannel, "cc", ccnumber, "value", value) + #midi3.MidiMsg([CONTROLLER_CHANGE+midichannel-1,ccnumber,value], learner) + + +def FindCC(FunctionName): + + for Maxfunction in range(len(maxwell['ccs'])): + if FunctionName == maxwell['ccs'][Maxfunction]['Function']: + #print(FunctionName, "is CC", Maxfunction) + return Maxfunction + + +def LoadCC(): + global maxwell + + print("Loading Maxwell CCs Functions...") + f=open("maxwell.json","r") + s = f.read() + maxwell = json.loads(s) + print(len(maxwell['ccs']),"Functions") + print("Loaded.") + + +def SendCC(path,init): + + funcpath = path.split("/") + func = funcpath[len(funcpath)-1] + if func in specificvalues: + value = specificvalues[func][init] + else: + value = int(init) + + #print("sending CC", FindCC(path), "with value", value) + cc(FindCC(path),value) + time.sleep(0.005) + + +# +# computing functions +# + +def ssawtooth(samples, freq, phase): + + samparray = [0] * samples + t = np.linspace(0+phase, 1+phase, samples) + for ww in range(samples): + samparray[ww] = signal.sawtooth(2 * np.pi * freq * t[ww]) + return samparray + +def ssquare(samples, freq, phase): + + samparray = [0] * samples + t = np.linspace(0+phase, 1+phase, samples) + for ww in range(samples): + samparray[ww] = signal.square(2 * np.pi * freq * t[ww]) + return samparray + +def ssine(samples, freq, phase): + + samparray = [0] * samples + t = np.linspace(0+phase, 1+phase, samples) + for ww in range(samples): + samparray[ww] = np.sin(2 * np.pi * freq * t[ww]) + return samparray + +''' +def sline(samples, 1): + + samparray = [0] * samples + for ww in range(samples): + samparray[ww] = ww + return samparray +''' + +def slinear(samples, min, max): + + samparray = [0] * samples + linearinc = (max-min)/samples + for ww in range(samples): + if ww == 0: + samparray[ww] = min + else: + samparray[ww] = samparray[ww-1] + linearinc + #print('linear min max', min, max) + #print ('linear',samparray) + return samparray + +def sconstant(samples, values): + + samparray = [0] * samples + for ww in range(samples): + samparray[ww] = values + return samparray + +def remap(s,min1,max1, min2, max2): + a1, a2 = min1, max1 + b1, b2 = min2, max2 + return b1 + ((s - a1) * (b2 - b1) / (a2 - a1)) + +def cc2range(s,min,max): + a1, a2 = 0,127 + b1, b2 = min, max + return b1 + ((s - a1) * (b2 - b1) / (a2 - a1)) + +def range2cc(s,min,max): + a1, a2 = min, max + b1, b2 = 0,127 + return b1 + ((s - a1) * (b2 - b1) / (a2 - a1)) + +def LeftShift(elevation): + + diff = elevation - map_plane_altitude + return nadir * eye_spacing * diff / (observer_altitude - elevation) + +def RightShift(elevation): + + diff = map_plane_altitude - elevation + return (1 - nadir) * eye_spacing * diff / (observer_altitude - elevation) + +def Proj(x,y,z,angleX,angleY,angleZ): + + rad = angleX * math.pi / 180 + cosa = math.cos(rad) + sina = math.sin(rad) + y2 = y + y = y2 * cosa - z * sina + z = y2 * sina + z * cosa + + rad = angleY * math.pi / 180 + cosa = math.cos(rad) + sina = math.sin(rad) + z2 = z + z = z2 * cosa - x * sina + x = z2 * sina + x * cosa + + rad = angleZ * math.pi / 180 + cosa = math.cos(rad) + sina = math.sin(rad) + x2 = x + x = x2 * cosa - y * sina + y = x2 * sina + y * cosa + + """ Transforms this 3D point to 2D using a perspective projection. """ + factor = fov / (viewer_distance + z) + x = x * factor + centerX + y = - y * factor + centerY + return (x,y) + + +# +# Main Oscillators +# + +specificvalues = { + "sine": 0, + "saw": 33, + "square": 95, + "linear": 127, + "constant" : 128, + "1": 0, + "4": 26, + "16": 52, + "32": 80, + "127": 127, + "solid": 0, + "lfo": 127, + "off": 0, + "on": 127, + "add": 0, + "minus": 50, + "multiply": 127, + "lfo1": 33, + "lfo2": 95, + "lfo3": 127, + "manual": 0, + } + +''' +"colormodtype": { + "sin": 0, + "linear": 127 + } +''' +# return v1,v2,v3 or v4 according to "value" 0-127 +def vals4(value,v1,v2,v3,v4): + if value < 32: + return v1 + if value > 31 and value < 64: + return v2 + if value > 61 and value < 96: + return v3 + if value > 95: + return v4 + +# return v1,v2,v3,v4 or v5 according to "value" 0-127 +def vals5(value,v1,v2,v3,v4,v5): + if value < 26: + return v1 + if value > 25 and value < 52: + return v2 + if value > 51 and value < 80: + return v3 + if value > 79 and value < 104: + return v4 + if value > 104: + return v5 + + +class OsciObject: + + _instances = set() + counter = 0 + kind = 'fixed' + + def __init__(self, name, curvetype, amp, inversion, baseCC): + + self.name = name + self.baseCC = baseCC + + # Amplitude 64 values positive and 64 values negative -256 to +256 + self.amp = amp + # curvetypes : sine, saw, square, linear, constant ? + self.curvetype = curvetype + self.freqlimit = 4 + # Curvetype frequency : 128 possible values between 1 - freqlimit + self.freq = 2 + # Amplitude Curvetype : constant, lfo1, lfo2, lfo3 + self.amptype = 'constant' + + # Phase modification type : linear or sine. + self.phasemodtype = 'linear' + # Phase modification 64 speed forward and 64 speed backward. + # Speed is increment browsing + self.phasemodspeed = 1 + #self.phasemodspeed = 0 + + self.phaseoffsettype = 'manual' + self.phaseoffset = 200 + + self.ampoffset = cc2range(cc1[self.baseCC + 9],0,32) + self.ampoffsettype = cc1[self.baseCC + 10] + + self.inversion = inversion + + self.phasemodcurve = [0]*points # ssine(points, self.freq, self.phasemodspeed) + self.phaseoffsetcurve = ssine(points, self.freq, self.phasemodspeed) + self.values = ssine(points, self.freq, self.phasemodspeed) + self.counter = 0 + + self.samples = samples + + self._instances.add(weakref.ref(self)) + OsciObject.counter += 1 + + # print(self.name, "kind", self.kind, "port", self.port) + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + def __del__(self): + OsciObject.counter -= 1 + + + def CC2VAR(self): + + if cc1[self.baseCC] == 128: + self.curvetype = "constant" + else: + self.curvetype = vals4(cc1[self.baseCC], "sine", "saw","square","linear") + + self.freqlimit = vals5(cc1[self.baseCC + 2],"1","4","16","32","127") + self.freq = cc2range(cc1[self.baseCC + 1], 0, self.freqlimit) + self.amptype = vals4(cc1[self.baseCC + 4], "constant", "lfo1","lfo2","lfo3") + self.amp = cc2range(cc1[self.baseCC + 3] , -256, 256) + + if cc1[self.baseCC]+ 6 < 64: + self.phasemodtype = "linear" + else: + self.phasemodtype ="sine" + + # phasemodspeed : 0 to 32 ?, because why not 32 ? to test. + self.phasemodspeed = cc2range(cc1[self.baseCC + 5], 0, 32) + self.phaseoffsettype = vals4(cc1[self.baseCC + 8], "manual", "lfo1","lfo2","lfo3") + # phaseoffset : between 0 to 10 ? + self.phaseoffset = cc2range(cc1[self.baseCC + 7], 0, 10) + + self.ampoffsettype = vals4(cc1[self.baseCC + 10], "manual", "lfo1","lfo2","lfo3") + # ampoffset : between 0 to 10 ? + self.ampoffset = cc2range(cc1[self.baseCC + 9], 0, 10) + + self.inversion = cc1[self.baseCC + 11] + + def VAR2CC(self): + + ''' + /osc/left/X/curvetype is Artnet 0 MIDI Channel 1 CC 0 "sine"/0 - "saw"/33 - "square"/95 - "linear"/127 - "constant"/128 + /osc/left/X/freq is Artnet 1 MIDI Channel 1 CC 1 0 - freqlimit + /osc/left/X/freqlimit is Artnet 2 MIDI Channel 1 CC 2 "1"/0 - "4"/26 - "16"/52 - "32"/80 - "127"/127 + /osc/left/X/amp is Artnet 3 MIDI Channel 1 CC 3 0/-256 - 127/256 + /osc/left/X/amptype is Artnet 4 MIDI Channel 1 CC 4 "constant"/0 - "lfo1"/33 - "lfo2"/95 - "lfo3"/127 + /osc/left/X/phasemodspeed is Artnet 5 MIDI Channel 1 CC 5 0 - 32 ? + /osc/left/X/phasemodtype is Artnet 6 MIDI Channel 1 CC 6 : "linear"/ - "sin"/ + /osc/left/X/phaseoffset is Artnet 7 MIDI Channel 1 CC 7 0 - 10 ? + /osc/left/X/phaseoffsettype is Artnet 8 MIDI Channel 1 CC 8 "manual"/0 - "lfo1"/33 - "lfo2"/95 - "lfo3"/127 + /osc/left/X/ampoffset is Artnet 9 MIDI Channel 1 CC 9 0 - 10 ? + /osc/left/X/ampoffsettype is Artnet 10 MIDI Channel 1 CC 10 "manual"/0 - "lfo1"/33 - "lfo2"/95 - "lfo3"/127 + /osc/left/X/inversion is Artnet 11 MIDI Channel 1 CC 11 : "off"/0 - "on"/127 + ''' + + cc1[self.baseCC + 3] = range2cc(self.amp, -256, 256) + cc1[self.baseCC] = specificvalues[self.curvetype] + cc1[self.baseCC + 2] = specificvalues[str(self.freqlimit)] + cc1[self.baseCC + 1] = range2cc(self.freq, 0, self.freqlimit) + if self.amptype == 'constant': + cc1[self.baseCC + 4] = 0 + else: + cc1[self.baseCC + 4] = specificvalues[self.amptype] + + # Phase modification type : linear or sine. + if self.phasemodtype == 'linear': + cc1[self.baseCC + 6] = 0 + else: + cc1[self.baseCC + 6] = 90 + cc1[self.baseCC + 5] = range2cc(self.phasemodspeed, 0, 32) + + # Phase offset + cc1[self.baseCC + 8] = specificvalues[self.phaseoffsettype] + cc1[self.baseCC + 7] = range2cc(self.phaseoffset, 0, 10) + + # Amp offset + cc1[self.baseCC + 9] = range2cc(self.ampoffset, 0, 10) + cc1[self.baseCC + 10] = specificvalues[self.ampoffsettype] + + if self.inversion == True: + cc1[self.baseCC + 11] = 127 + else: + cc1[self.baseCC + 11] = 0 + + + def Curve(self): + + self.values = [0] * points + self.ampcurve = [0] * points + self.phasemodcurve = [0] * points + self.phaseoffsetcurve = [0] * points + + self.counter += 1 + #print ('counter', self.counter) + if self.counter == points: + self.counter = 0 + # Phase offset curve + #self.phasemodcurve = slinear(points, -PI, PI) # ssine(points, self.freq, self.phasemodspeed) + if self.phaseoffsettype == 'manual': + self.phaseoffsetcurve = sconstant(points, self.phaseoffset) + + if self.phaseoffsettype == 'lfo1': + self.phaseoffsetcurve = lfo1.Curve() + + if self.phaseoffsettype == 'lfo2': + self.phaseoffsetcurve = lfo2.Curve() + + if self.phaseoffsettype == 'lfo3': + self.phaseoffsetcurve = lfo3.Curve() + + + # Phase mod curve : phasemodspeed is 'speed' of change + if self.phasemodtype == 'linear': + self.phasemodcurve = slinear(points, -PI*self.phasemodspeed, PI*self.phasemodspeed) + + if self.phasemodtype == 'lfo1': + self.phasemodcurve = lfo1.Curve() + + if self.phasemodtype == 'lfo2': + self.phasemodcurve = lfo2.Curve() + + if self.phasemodtype == 'lfo3': + self.phasemodcurve = lfo3.Curve() + + self.phasemodspeed = self.phasemodcurve[self.counter] + #print('counter', self.counter, 'phasemod',self.phasemodspeed) + + # Base values curve, trigo functions between -1 and + 1 + if self.curvetype == 'sine': + self.ampcurve = ssine(points, self.freq, self.phasemodspeed) + + if self.curvetype == 'saw': + self.ampcurve = ssawtooth(points, self.freq, self.phasemodspeed) + + if self.curvetype == 'square': + self.ampcurve = ssquare(points, self.freq, self.phasemodspeed) + + if self.curvetype == 'linear': + self.ampcurve = slinear(points, -1, 1) + + if self.curvetype == 'constant': + self.ampcurve = sconstant(points, self.freq) + + + for point in range(points): + + # curve points = base curve * amp + curve modifier + if self.amptype == 'constant': + self.values[point] = self.ampcurve[point] * self.amp + + if self.amptype == 'lfo1': + self.values[point] = (self.ampcurve[point] * self.amp) + (lfo1.values[point] * self.amp) + + if self.amptype == 'lfo2': + self.values[point] = (self.ampcurve[point] * self.amp) + (lfo2.values[point] * self.amp) + + if self.amptype == 'lfo3': + self.values[point] = (self.ampcurve[point] * self.amp) + (lfo3.values[point] * self.amp) + + if self.inversion == True: + self.values = self.values[::-1] + +# +# LFOs +# + +class LFObject: + + _instances = set() + counter = 0 + kind = 'fixed' + + def __init__(self, name): + + self.name = name + self.freqlimit = 4 + self.freq = 1 + self.curvetype = 'sine' + # -1 1 + self.phasemodspeed = 0 + self.inversion = False + self.values = ssine(points, self.freq, self.phasemodspeed) + + self._instances.add(weakref.ref(self)) + LFObject.counter += 1 + + #print(self.name, "type", self.curvetype, "freq", self.freq) + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + def Curve(self): + + #print(self.name, "type", self.curvetype, "freq", self.freq) + self.values = [0]*points + if self.curvetype == 'sine': + self.values = ssine(points, self.freq, self.phasemodspeed) + + if self.curvetype == 'saw': + self.values = ssawtooth(points, self.freq, self.phasemodspeed) + + if self.curvetype == 'square': + self.values = ssquare(points, self.freq, self.phasemodspeed) + + if self.curvetype == 'linear': + self.values = slinear(points, self.freq) + + if self.curvetype == 'constant': + self.values = sconstant(points, self.freq) + + if self.inversion == True: + self.values = self.values[::-1] + + def __del__(self): + LFObject.counter -= 1 + +# +# Rotators +# + +class RotatorObject: + + ''' + # anim format (name, xpos, ypos, resize, currentframe, totalframe, count, speed) + # 0 1 2 3 4 5 6 7 + # total frames is fetched from directory by lengthPOSE() + #anims[0] = ['boredhh' , xy_center[0] - 100, xy_center[1] + 30, 550, 0, 0, 0, animspeed] + anim[4] = anim[4]+anim[7] + if anim[4] >= anim[5]: + anim[4] = 0 + ''' + + _instances = set() + counter = 0 + kind = 'fixed' + + def __init__(self, name): + + self.name = name + self.curvetype = 'constant' + self.speed = 0 + self.lfo = False + self.direction = 0 + + self._instances.add(weakref.ref(self)) + RotatorObject.counter += 1 + + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + def __del__(self): + RotatorObject.counter -= 1 + + def Curve(self): + + self.values = [0]*points + + if self.curvetype == 'sine': + self.values = ssine(points, self.direction, self.phasemodspeed) + + if self.curvetype == 'saw': + self.values = ssawtooth(points, self.direction, self.phasemodspeed) + + if self.curvetype == 'square': + self.values = ssquare(points, self.direction, self.phasemodspeed) + + if self.curvetype == 'linear': + self.values = slinear(points, self.direction) + + if self.curvetype == 'constant': + self.values = sconstant(points, 0) + +# +# Translators +# + +class TranslatorObject: + + _instances = set() + counter = 0 + kind = 'fixed' + + def __init__(self, name, amt, speed): + + self.name = name + self.curvetype = 'constant' + self.speed = speed + self.lfo = False + self.amt = amt + #self.values = ssine(points, self.amt, self.speed) + self.values = sconstant(points, self.amt) + + self._instances.add(weakref.ref(self)) + TranslatorObject.counter += 1 + + @classmethod + def getinstances(cls): + dead = set() + for ref in cls._instances: + obj = ref() + if obj is not None: + yield obj + else: + dead.add(ref) + cls._instances -= dead + + def __del__(self): + TranslatorObject.counter -= 1 + + def Curve(self): + + self.values = [0]*points + + if self.curvetype == 'sine': + self.values = ssine(points, self.amt, self.speed) + + if self.curvetype == 'saw': + self.values = ssawtooth(points, self.amt, self.speed) + + if self.curvetype == 'square': + self.values = ssquare(points, self.amt, self.speed) + + if self.curvetype == 'linear': + self.values = slinear(points, self.amt) + + if self.curvetype == 'constant': + self.values = sconstant(points, self.amt) + +# +# Scaler +# + +Scalercurvetype = 'constant' +Scalercurve = [0.05] * points +Scalerspeed = 0 +Scalerbutton = False +Scalerwidth = 0 +Scaleramt = 0 + + +def ScalerCurve(): + + Scalercurve = [0]*points + + if Scalercurvetype == 'sine': + Scalercurve = ssine(points, Scaleramt, Scalerspeed) + + if Scalercurvetype == 'saw': + Scalercurve = ssawtooth(points, Scaleramt, Scalerspeed) + + if Scalercurvetype == 'square': + Scalercurve = ssquare(points, Scaleramt, Scalerspeed) + + if Scalercurvetype == 'linear': + Scalercurve = slinear(points, Scaleramt) + + if Scalercurvetype == 'constant': + Scalercurve = sconstant(points, 0.05) + +# +# Main +# + +def Run(): + + Left = [] + Right = [] + counter =0 + lj.WebStatus("Maxwellator") + lj.SendLJ("/maxw/start 1") + + # OSC + # OSC Server callbacks + print("Starting OSC server at",myIP," port",OSCinPort,"...") + oscserver.addMsgHandler( "/maxw/ljclient", OSCljclient ) + + # You will receive midi callbacks in OSC messages form if this plugin is in midi2OSC list in midi3.py and midi3.py is imported somewhere + oscserver.addMsgHandler( "/noteon", OSCnoteon) + oscserver.addMsgHandler( "/noteoff", OSCnoteoff) + oscserver.addMsgHandler( "/cc", OSCnoteon) + # Add OSC generic plugins commands : 'default", /ping, /quit, /pluginame/obj, /pluginame/var, /pluginame/adddest, /pluginame/deldest + lj.addOSCdefaults(oscserver) + + + # Drawing parameters + # LFOs + lfo1 = LFObject("lfo1") + lfo2 = LFObject("lfo2") + lfo3 = LFObject("lfo3") + + # Rotators + rotX = RotatorObject("rotX") + rotY = RotatorObject("rotY") + rotZ = RotatorObject("rotZ") + + # Translators : name amount speed + transX = TranslatorObject("transX",0,0) + transY = TranslatorObject("transY",0,0) + transZ = TranslatorObject("transZ",0,0) + + Scaler = ScalerCurve() + + # Left parameters : name, type, amp, inversion, base midi CC + leftX = OsciObject("leftX", "sine", 30, False, 0) + leftY = OsciObject("leftY", "sine", 30, True, 12) + leftZ = OsciObject("leftZ", "constant", 0, False, 24) + + # Right parameters : name, type, amp, inversion, base midi CC + rightX = OsciObject("rightX", "saw", 30, False, 36) + rightY = OsciObject("rightY", 'saw', 30, True, 48) + rightZ = OsciObject("rightZ", 'constant', 0, False, 60) + + try: + + while lj.oscrun: + + lj.OSCframe() + + Left = [] + Right = [] + + lfo1.Curve() + lfo2.Curve() + lfo3.Curve() + + transX.Curve() + transY.Curve() + transZ.Curve() + + rotX.Curve() + rotY.Curve() + rotZ.Curve() + + leftX.Curve() + leftY.Curve() + leftZ.Curve() + + rightX.Curve() + rightY.Curve() + rightZ.Curve() + + for point in range(points): + + if LRtype == 'add': + + CurveX = (leftX.values[point]*(100-LRmixer)/100) + (rightX.values[point]*LRmixer/100) + transX.values[point] + CurveY = (leftY.values[point]*(100-LRmixer)/100) + (rightY.values[point]*LRmixer/100) + transY.values[point] + CurveZ = (leftZ.values[point]*(100-LRmixer)/100) + (rightZ.values[point]*LRmixer/100) + transZ.values[point] + + if LRtype == 'minus': + + CurveX = (leftX.values[point]*(100-LRmixer)/100) - (rightX.values[point]*LRmixer/100) + transX.values[point] + CurveY = (leftY.values[point]*(100-LRmixer)/100) - (rightY.values[point]*LRmixer/100) + transY.values[point] + CurveZ = (leftZ.values[point]*(100-LRmixer)/100) - (rightZ.values[point]*LRmixer/100) + transZ.values[point] + + if LRtype == 'multiply': + + CurveX = (leftX.values[point]*(100-LRmixer)/100) * (rightX.values[point]*LRmixer/100) + transX.values[point] + CurveY = (leftY.values[point]*(100-LRmixer)/100) * (rightY.values[point]*LRmixer/100) + transY.values[point] + CurveZ = (leftZ.values[point]*(100-LRmixer)/100) * (rightZ.values[point]*LRmixer/100) + transZ.values[point] + + + Left.append(Proj(CurveX+LeftShift(CurveZ*25), CurveY, CurveZ, 0, 0, 0)) + #Right.append(Proj(CurveX+RightShift(CurveZ*25), CurveY, CurveZ, 0, 0, 0)) + + for clone in range(duplicators): + + # Drawing step, 2 possibilities + # Red and Green drawn by laser 0 + lj.rPolyLineOneColor(Left, c = Leftshape.color , PL = Leftshape.PL, closed = Leftshape.closed, xpos = 350, ypos = 350, resize = Scalercurve[0], rotx = rotX.values[0] + (clone * duplicatorsAngle), roty = rotY.values[0] + (clone * duplicatorsAngle), rotz = rotZ.values[0] + (clone * duplicatorsAngle)) + #lj.PolyLineOneColor(Right, c = Rightshape.color , PL = Rightshape.PL, closed = Rightshape.closed) + + #lj.DrawPL(PL) + lj.DrawDests() + + + time.sleep(0.01) + + counter += 1 + if counter > 360: + counter = 0 + + except KeyboardInterrupt: + pass + + # Gently stop on CTRL C + + finally: + + lj.ClosePlugin() + + +Run() diff --git a/plugins/planetarium/lj3.py b/plugins/planetarium/lj3.py deleted file mode 100644 index 22cb4af..0000000 --- a/plugins/planetarium/lj3.py +++ /dev/null @@ -1,347 +0,0 @@ -# coding=UTF-8 - -''' -LJ v0.8.1 in python3 -Some LJ functions useful for python clients (was framy.py) - -OSC functions commented, waiting working on OSC in python3 - -Config(redisIP, client number) -PolyLineOneColor -rPolyLineOneColor - -Text(word, color, PL, xpos, ypos, resize, rotx, roty, rotz) : Display a word -Send(adress,message) : remote control. See commands.py -WebStatus(message) : display message on webui -DrawPL(point list number) : once you stacked all wanted elements, like 2 polylines, send them to lasers. - -LICENCE : CC -Sam Neurohack - -''' - -import math -import redis - -# Import needed modules from osc4py3 -from osc4py3.as_eventloop import * -from osc4py3 import oscbuildparse - - -#redisIP = '127.0.0.1' -#r = redis.StrictRedis(host=redisIP, port=6379, db=0) - -ClientNumber = 0 - -point_list = [] -pl = [[],[],[],[]] - -# -# OSC interaction with LJ -# - -def OSCstart(): - # Start the system. - osc_startup() - #osc_udp_client(redisIP, 8002, "LJ 8002") - -def OSCframe(): - #print("OSCprocess") - osc_process() - -# Properly close the system. Todo -def OSCstop(): - osc_terminate() - - -def SendLJ(oscaddress,oscargs=''): - - try: - msg = oscbuildparse.OSCMessage(oscaddress, None, [oscargs]) - osc_send(msg, "LJ 8002") - OSCframe() - - except: - print ('Connection to LJ refused : died ?') - pass - -# Answer to LJ pings -def OSCping(value): - - print("I got /ping with value", value) - SendLJ("/pong",value) - -''' -def handlerfunction(s, x, y): - # Will receive message data unpacked in s, x, y - pass - -def handlerfunction2(address, s, x, y): - # Will receive message address, and message data flattened in s, x, y - pass - -# Make server channels to receive packets. -osc_udp_server("127.0.0.1", 3721, "localhost") -osc_udp_server("0.0.0.0", 3724, "anotherserver") -''' - - - -ASCII_GRAPHICS = [ - -# caracteres corrects - - [(-50,30), (-30,-30), (30,-30), (10,30), (-50,30)], #0 - [(-20,30), (0,-30), (-20,30)], #1 - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #2 - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #3 - [(30,10), (-30,10), (0,-30), (0,30)], #4 - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #5 - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #6 - [(-30,-30), (30,-30), (-30,30)], #7 - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #8 - [(30,0), (-30,0), (-30,-10), (0,-30), (30,-30), (30,10), (0,30), (-30,30)], #9 - -# caracteres a implementer - [(-30,10), (30,-10), (30,10), (0,30), (-30,10), (-30,-10), (0,-30), (30,-10)], #: - [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #; - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #< - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #= - [(30,10), (-30,10), (0,-30), (0,30)], #> - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #? - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #@ - -# Caracteres corrects - - - [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A - [(-30,30), (-30,-30), (30,-30), (30,30), (30,0), (-30,0)], #A - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30), (-30,0), (30,0)], #B - [(30,30), (-30,30), (-30,-30), (30,-30)], #C - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #D - [(30,30), (-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #E - [(-30,30), (-30,-0), (30,0), (-30,0), (-30,-30), (30,-30)], #F - [(0,0), (30,0), (30,30), (-30,30), (-30,-30),(30,-30)], #G - [(-30,-30), (-30,30), (-30,0), (30,0), (30,30), (30,-30)], #H - [(0,30), (0,-30)], #I - [(-30,30), (0,-30), (0,-30), (-30,-30), (30,-30)], #J - [(-30,-30), (-30,30), (-30,0), (30,-30), (-30,0), (30,30)], #K - [(30,30), (-30,30), (-30,-30)], #L - [(-30,30), (-30,-30), (0,0), (30,-30), (30,30)], #M - [(-30,30), (-30,-30), (30,30), (30,-30)], #N - [(-30,30), (-30,-30), (30,-30), (30,30), (-30,30)], #O - [(-30,0), (30,0), (30,-30), (-30,-30), (-30,30)], #P - [(30,30), (30,-30), (-30,-30), (-30,30), (30,30),(35,35)], #Q - [(-30,30), (-30,-30), (30,-30), (30,0), (-30,0), (30,30)], #R - [(30,-30), (-30,-30), (-30,0), (30,0), (30,30), (-30,30)], #S - [(0,30), (0,-30), (-30,-30), (30,-30)], #T - [(-30,-30), (-30,30), (30,30), (30,-30)], #U - [(-30,-30), (0,30), (30,-30)], #V - [(-30,-30), (-30,30), (0,0), (30,30), (30,-30)], #W - [(-30,30), (30,-30)], [(-30,-30), (30,30)], #X - [(0,30), (0,0), (30,-30), (0,0), (-30,-30)], #Y - [(30,30), (-30,30), (30,-30), (-30,-30)], #Z - - # A implementer - - [(-30,-10), (0,-30), (0,30)], [(-30,30), (30,30)], #[ - [(-30,-10), (0,-30), (30,-10), (30,0), (-30,30), (30,30)], #\ - [(-30,-30), (0,-30), (30,-10), (0,0), (30,10), (0,30), (-30,30)], #] - [(30,10), (-30,10), (0,-30), (0,30)], #^ - [(30,-30), (-30,-30), (-30,0), (0,0), (30,10), (0,30), (-30,30)], #_ - [(30,-30), (0,-30), (-30,-10), (-30,30), (0,30), (30,10), (30,0), (-30,0)], #` - - # Implementé - - [(-20,20), (-20,-20), (20,-20), (20,20), (20,0), (-20,0)], #a - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20), (-20,0), (20,0)], #b - [(20,20), (-20,20), (-20,-20), (20,-20)], #c - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #d - [(20,20), (-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #e - [(-20,20), (-20,-0), (20,0), (-20,0), (-20,-20), (20,-20)], #f - [(0,0), (20,0), (20,20), (-20,20), (-20,-20),(20,-20)], #g - [(-20,-20), (-20,20), (-20,0), (20,0), (20,20), (20,-20)], #H - [(0,20), (0,-20)], #I - [(-20,20), (0,-20), (0,-20), (-20,-20), (20,-20)], #J - [(-20,-20), (-20,20), (-20,0), (20,-20), (-20,0), (20,20)], #K - [(20,20), (-20,20), (-20,-20)], #L - [(-20,20), (-20,-20), (0,0), (20,-20), (20,20)], #M - [(-20,20), (-20,-20), (20,20), (20,-20)], #N - [(-20,20), (-20,-20), (20,-20), (20,20), (-20,20)], #O - [(-20,0), (20,0), (20,-20), (-20,-20), (-20,20)], #P - [(20,20), (20,-20), (-20,-20), (-20,20), (20,20),(25,25)], #Q - [(-20,20), (-20,-20), (20,-20), (20,0), (-20,0), (20,20)], #R - [(20,-20), (-20,-20), (-20,0), (20,0), (20,20), (-20,20)], #S - [(0,20), (0,-20), (-20,-20), (20,-20)], #T - [(-20,-20), (-20,20), (20,20), (20,-20)], #U - [(-20,-20), (0,20), (20,-20)], #V - [(-20,-20), (-20,20), (0,0), (20,20), (20,-20)], #W - [(-20,20), (20,-20)], [(-20,-20), (20,20)], #X - [(0,20), (0,0), (20,-20), (0,0), (-20,-20)], #Y - [(20,20), (-20,20), (20,-20), (-20,-20)], #Z - - [(-2,15), (2,15)] # Point a la place de { -] - -def Config(redisIP,client): - global ClientNumber - - r = redis.StrictRedis(host=redisIP, port=6379, db=0) - ClientNumber = client - osc_udp_client(redisIP, 8002, "LJ 8002") - -# If you want to use rgb for color : -def rgb2int(r,g,b): - return int('0x%02x%02x%02x' % (r,g,b),0) - -def LineTo(xy, c, PL): - - pl[PL].append((xy + (c,))) - -def Line(xy1, xy2, c, PL): - LineTo(xy1, 0, PL) - LineTo(xy2, c , PL) - - -def PolyLineOneColor(xy_list, c, PL , closed ): - #print "--" - #print "c",c - #print "xy_list",xy_list - #print "--" - xy0 = None - for xy in xy_list: - if xy0 is None: - xy0 = xy - #print "xy0:",xy0 - LineTo(xy0,0, PL) - LineTo(xy0,c, PL) - else: - #print "xy:",xy - LineTo(xy,c, PL) - if closed: - LineTo(xy0,c, PL) - - -# Computing points coordinates for rPolyline function from 3D and around 0,0 to pygame coordinates -def Pointransf(xy, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): - - x = xy[0] * resize - y = xy[1] * resize - z = 0 - - rad = rotx * math.pi / 180 - cosaX = math.cos(rad) - sinaX = math.sin(rad) - - y2 = y - y = y2 * cosaX - z * sinaX - z = y2 * sinaX + z * cosaX - - rad = roty * math.pi / 180 - cosaY = math.cos(rad) - sinaY = math.sin(rad) - - z2 = z - z = z2 * cosaY - x * sinaY - x = z2 * sinaY + x * cosaY - - rad = rotz * math.pi / 180 - cosZ = math.cos(rad) - sinZ = math.sin(rad) - - x2 = x - x = x2 * cosZ - y * sinZ - y = x2 * sinZ + y * cosZ - - #print xy, (x + xpos,y+ ypos) - return (x + xpos,y+ ypos) - ''' - to understand why it get negative Y - - # 3D to 2D projection - factor = 4 * gstt.cc[22] / ((gstt.cc[21] * 8) + z) - print xy, (x * factor + xpos, - y * factor + ypos ) - return (x * factor + xpos, - y * factor + ypos ) - ''' - -# Send 2D point list around 0,0 with 3D rotation resizing and reposition around xpos ypos -#def rPolyLineOneColor(self, xy_list, c, PL , closed, xpos = 0, ypos =0, resize =1, rotx =0, roty =0 , rotz=0): -def rPolyLineOneColor(xy_list, c, PL , closed, xpos = 0, ypos =0, resize =0.7, rotx =0, roty =0 , rotz=0): - xy0 = None - for xy in xy_list: - if xy0 is None: - xy0 = xy - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),0, PL) - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) - else: - LineTo(Pointransf(xy, xpos, ypos, resize, rotx, roty, rotz),c, PL) - if closed: - LineTo(Pointransf(xy0, xpos, ypos, resize, rotx, roty, rotz),c, PL) - - -def LinesPL(PL): - print ("Stupido !! your code is to old : use DrawPL() instead of LinesPL()") - DrawPL(PL) - -def DrawPL(PL): - #print '/pl/0/'+str(PL), str(pl[PL]) - if r.set('/pl/'+str(ClientNumber)+'/'+str(PL), str(pl[PL])) == True: - pl[PL] = [] - return True - else: - return False - -def ResetPL(self, PL): - pl[PL] = [] - - - -def DigitsDots(number,color): - dots =[] - for dot in ASCII_GRAPHICS[number]: - #print dot - dots.append((gstt.xy_center[0]+dot[0],gstt.xy_center[1]+dot[1],color)) - #self.point_list.append((xy + (c,))) - return dots - -def CharDots(char,color): - - dots =[] - for dot in ASCII_GRAPHICS[ord(char)-46]: - dots.append((dot[0],dot[1],color)) - return dots - -def Text(message, c, PL, xpos, ypos, resize, rotx, roty, rotz): - - dots =[] - - l = len(message) - i= 0 - #print (message) - - for ch in message: - - #print "" - # texte centre en x automatiquement selon le nombre de lettres l - x_offset = 26 * (- (0.9*l) + 3*i) - #print i,x_offset - # if digit - if ord(ch)<58: - char_pl_list = ASCII_GRAPHICS[ord(ch) - 48] - else: - char_pl_list = ASCII_GRAPHICS[ord(ch) - 46 ] - - char_draw = [] - #dots.append((char_pl_list[0][0] + x_offset,char_pl_list[0][1],0)) - - for xy in char_pl_list: - char_draw.append((xy[0] + x_offset,xy[1],c)) - i += 1 - #print ch,char_pl_list,char_draw - rPolyLineOneColor(char_draw, c, PL , False, xpos, ypos, resize, rotx, roty, rotz) - # print ("laser",PL,"message",message) - #dots.append(char_draw) - - - - diff --git a/plugins/planetarium/main.py b/plugins/planetarium/main.py index 0a813be..29e4edb 100755 --- a/plugins/planetarium/main.py +++ b/plugins/planetarium/main.py @@ -29,6 +29,8 @@ Remember : LJ will automatically warp geometry according to alignement data. See ''' import redis +import sys +sys.path.append('../../libs') import lj3 import numpy as np import math,time @@ -48,7 +50,7 @@ from osc4py3 import oscbuildparse from osc4py3.oscmethod import * import json - +oscrun = True ''' is_py2 = sys.version[0] == '2' if is_py2: @@ -103,7 +105,7 @@ if args.redisIP != None: else: redisIP = '127.0.0.1' -lj3.Config(redisIP,ljclient) +lj3.Config(redisIP,ljclient,"planet") # # Inits Laser @@ -164,6 +166,42 @@ def Proj(x,y,z,angleX,angleY,angleZ): # All the coordinates base functions # +#Transforming coordinates functions by Povik martin.povik@gmail.com +import math +import datetime + +def cartesian_to_horizontal(x, y, z): + ele = math.degrees(math.atan2(z, math.sqrt(x * x + y * y))) + az = math.degrees(math.atan2(y, x)) + return math.sqrt(x * x + y * y + z * z), ele, az + +def horizontal_to_equatorial(az, ele, lat): + az, ele = math.radians(az), math.radians(ele) + lat = math.radians(lat) + cd_ct = math.cos(ele) * math.cos(az) * math.sin(lat) \ + + math.sin(ele) * math.cos(lat) + cd_st = math.cos(ele) * math.sin(az) + sd = -math.cos(ele) * math.cos(az) * math.cos(lat) + math.sin(ele) * math.sin(lat) + cd = math.sqrt(cd_ct * cd_ct + cd_st * cd_st) + return math.atan2(cd_st / cd, cd_ct / cd) * 12 / math.pi, \ + math.degrees(math.atan2(sd, cd)) + +def timestamp_to_jd(timestamp): + return float(timestamp) / 86400 + 2440587.5 + +def timestamp_to_lst(timestamp, lon): + timestamp = float(timestamp) + timeofday = timestamp % 86400 + jd0 = timestamp_to_jd(timestamp - timeofday) + T = (jd0 - 2451545) / 36525 + s0 = 6.697374558 + 2400.05133691 * T + 0.000025862 * T**2 \ + - 0.0000000017 * T**3 + return (s0 + 1.0027379093 * (timeofday / 86400) * 24.0 + float(lon) / 15) % 24 + +def horizontal_to_equatorial2(az, ele, lat, lon, timestamp): + t, d = horizontal_to_equatorial(az, ele, lat) + return d, (timestamp_to_lst(timestamp, lon) - t) % 24 + ''' To minize number of sky objects coordinates conversion : Change planetarium FOV in Ra Dec to select objects (planets, hipparcos,..). Then get only those objects in AltAz coordinates. @@ -586,13 +624,14 @@ def NewTime(timeshift): if DisplayAnything: UpdateAnything() -# /quit -def OSCquit(): +# /quit dummyvalue +def quit(value): + # don't do this at home (or it'll quit blender) + global oscrun - WebStatus("Planet stopping") - print("Stopping OSC...") - lj3.OSCstop() - sys.exit() + oscrun = False + print("Stopped by /quit.") + lj3.ClosePlugin() def OSCUI(value): # Will receive message address, and message data flattened in s, x, y @@ -615,7 +654,7 @@ try: osc_udp_server("127.0.0.1", OSCinPort, "InPort") osc_method("/planet/planetUI*", OSCUI) osc_method("/ping*", lj3.OSCping) - osc_method("/quit", OSCquit) + osc_method("/quit", quit) WebStatus("Loading Cities...") ts = load.timescale() @@ -654,7 +693,7 @@ try: DisplayAnything = False print("Start displaying on",lasernumber,"lasers") - while 1: + while oscrun: for laser in range(lasernumber): diff --git a/plugins/pysimu.py b/plugins/pysimu.py index 08ca8a7..57e9e4e 100755 --- a/plugins/pysimu.py +++ b/plugins/pysimu.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2.7 +#!/usr/bin/python3 # -*- coding: utf-8 -*- # -*- mode: Python -*- @@ -15,21 +15,42 @@ OSC server with : /simu/quit /simu/newpl new pl number to draw /simu/newclient new client number to draw +/ping ''' + #from __future__ import print_function import time import math import random import itertools +import traceback import sys import os #import thread import redis -import pygame + import pdb -import types, ast, argparse -from OSC import OSCServer, OSCClient, OSCMessage +import types, ast, argparse, struct +import numpy as np + +sys.path.append('../libs') + +# import from LJ +ljpath = r'%s' % os.getcwd().replace('\\','/') +sys.path.append(ljpath +'/libs/') +#print ljpath+'/libs/' + +import lj23 as lj + +is_py2 = sys.version[0] == '2' +if is_py2: + from OSC import OSCServer, OSCClient, OSCMessage + #print ("Importing lj23 and OSC from libs...") +else: + from OSC3 import OSCServer, OSCClient, OSCMessage + + screen_size = [750,750] pl = [[],[],[],[]] @@ -38,8 +59,11 @@ pl = [[],[],[],[]] print ("") print ("LJ v0.8.0 : Pygame simulator") print ("") +import pygame print ("Arguments parsing if needed...") + + # # Arguments parsing # @@ -77,7 +101,7 @@ else: redisIP = '127.0.0.1' r = redis.StrictRedis(host=redisIP, port=6379, db=0) - +lj.Config(redisIP,0,"simu") # myIP if args.myIP != None: @@ -101,7 +125,7 @@ print ("") print ("Receiving on ", oscIPin, ":",str(oscPORTin)) oscserver = OSCServer( (oscIPin, oscPORTin) ) oscserver.timeout = 0 -OSCRunning = True +oscrun = True def handle_timeout(self): self.timed_out = True @@ -109,10 +133,10 @@ def handle_timeout(self): oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) -def sendLJ(address, args): +def SendLJ(address, args): if debug >0: - print "Sending to LJ...", address, args + print("Sending to LJ...", address, args) osclientlj = OSCClient() osclientlj.connect((ljIP, ljPort)) @@ -127,9 +151,13 @@ def sendLJ(address, args): return True except: - print 'Connection to LJ IP', ljIP,'port', ljPort, 'refused : died ?' + print('Connection to LJ IP', ljIP,'port', ljPort, 'refused : died ?') return False +def WebStatus(message): + + SendLJ("/status",message) + # RAW OSC Frame available ? def osc_frame(): @@ -142,52 +170,42 @@ def osc_frame(): # /quit def quit(path, tags, args, source): + global oscrun + oscrun = False pygame.quit() - print "pySimu Stopped by /quit." - sys.exit() - -# /start : 0 exit -def start(path, tags, args, source): - - print args, type(args) - if args[0] == 0: - pygame.quit() - print "pySimu stopped by /start 0" - sys.exit() - -# Answer to LJ pings -def ping(path, tags, args, source): - # Will receive message address, and message data flattened in s, x, y - print "Simu got /ping with value", args[0] - print "Simu replied with /pong simu" - sendLJ("/pong","simu") - - + lj.ClosePlugin() + # /newPL pointlistnumber def newPL(path, tags, args, source): user = ''.join(path.split("/")) - print "" - print user,path,args - print "Simulator got a new point list number :", args[0] + print ("") + print (user,path,args) + print ("Simulator got a new point list number :", args[0]) simuPL = args[0] # /newClient clientnumber def newClient(path, tags, args, source): user = ''.join(path.split("/")) - print "" - print user,path,args - print "Simulator got a new client number : ", args[0] + print ("") + print (user,path,args) + print ("Simulator got a new client number : ", args[0]) ljclient = args[0] -oscserver.addMsgHandler( "/quit", quit ) -oscserver.addMsgHandler( "/ping", ping ) -oscserver.addMsgHandler( "/pysimu/start", start ) -oscserver.addMsgHandler( "/pysimu/newpl", newPL ) -oscserver.addMsgHandler( "/pysimu/newclient", newClient ) + +# Redis key 'n' -> numpy array a +# array 2 dimensions is also store in redis key : h time w values +def fromRedis(n): + + print ("get key", n) + encoded = r.get(n) + h, w = struct.unpack('>II',encoded[:8]) + print(h,w) + a = np.frombuffer(encoded, dtype=np.int16, offset=8).reshape(h,w) + return a # @@ -205,15 +223,26 @@ def RenderScreen(surface): c = int(xyc[2]) if c: pygame.draw.line(surface,c,xyc_prev[:2],xyc[:2],3) xyc_prev = xyc +# +# Startup +# - +SendLJ("/simu/start",1) +WebStatus("pysimu startup...") pygame.init() screen = pygame.display.set_mode(screen_size) pygame.display.set_caption("LJ Simulator") clock = pygame.time.Clock() update_screen = False +oscserver.addMsgHandler( "/quit", lj.OSCquit ) +oscserver.addMsgHandler( "/ping", lj.OSCping ) +#oscserver.addMsgHandler( "/simu/start", start ) +oscserver.addMsgHandler( "/simu/newpl", newPL ) +oscserver.addMsgHandler( "/simu/newclient", newClient ) + print ("Simulator displays client", ljclient, "point list", str(simuPL)) +WebStatus("pySimu "+ str(ljclient) + " " + str(simuPL)) # # Main @@ -221,7 +250,7 @@ print ("Simulator displays client", ljclient, "point list", str(simuPL)) try: - while True: + while lj.oscrun: # pending osc message ? osc_frame() @@ -232,8 +261,15 @@ try: break screen.fill(0) - pl[simuPL] = ast.literal_eval(r.get("/pl/"+ str(ljclient) + "/" + str(simuPL))) - + #print("/pl/"+ str(ljclient) + "/" + str(simuPL)) + #print r.get("/pl/"+ str(ljclient) + "/" + str(simuPL)) + if is_py2: + pl[simuPL] = ast.literal_eval(r.get("/pl/"+ str(ljclient) + "/" + str(simuPL))) + else: + pl[simuPL] = eval(r.get("/pl/"+ str(ljclient) + "/" + str(simuPL))) + + #pl[simuPL] = fromRedis("/pl/"+ str(ljclient) + "/" + str(simuPL)) + if update_screen: update_screen = False RenderScreen(screen) @@ -242,14 +278,19 @@ try: update_screen = True clock.tick(30) - # time.sleep(0.001) + time.sleep(0.001) except KeyboardInterrupt: pass +except Exception: + traceback.print_exc() + + finally: pygame.quit() - print "pySimu Stopped." + lj.ClosePlugin() + diff --git a/plugins/square.py b/plugins/square.py new file mode 100644 index 0000000..b7247ee --- /dev/null +++ b/plugins/square.py @@ -0,0 +1,331 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# -*- mode: Python -*- + + +''' + +Square +v0.1.0 + +Anaglyphed rotating square (for red and green glasses) + +This scene uses the drawing functions (polyline) provided by LJ in lj23.py + +LICENCE : CC + +by Sam Neurohack + + +''' +import sys +import os +print() +ljpath = r'%s' % os.getcwd().replace('\\','/') + +# import from shell + +sys.path.append(ljpath +'/../libs/') + +#import from LJ +sys.path.append(ljpath +'/libs/') +print (ljpath+'/../libs/') + +import lj23layers as lj + +sys.path.append('../libs') +from OSC3 import OSCServer, OSCClient, OSCMessage +import redis +import math +import time +import argparse + +OSCinPort = 8013 + +print ("") +print ("Arguments parsing if needed...") +argsparser = argparse.ArgumentParser(description="Square example for LJ") +argsparser.add_argument("-r","--redisIP",help="IP of the Redis server used by LJ (127.0.0.1 by default) ",type=str) +argsparser.add_argument("-s","--scene",help="LJ scene number (0 by default)",type=int) +#argsparser.add_argument("-l","--laser",help="Laser number to be displayed (0 by default)",type=int) +argsparser.add_argument("-v","--verbose",help="Verbosity level (0 by default)",type=int) +argsparser.add_argument("-m","--myIP",help="Local IP (127.0.0.1 by default) ",type=str) + +args = argsparser.parse_args() + +if args.scene: + ljscene = args.scene +else: + ljscene = 0 +''' +if args.laser: + plnumber = args.laser +else: + plnumber = 0 +''' + +# Redis Computer IP +if args.redisIP != None: + redisIP = args.redisIP +else: + redisIP = '127.0.0.1' + +print("redisIP",redisIP) + +# myIP +if args.myIP != None: + myIP = args.myIP +else: + myIP = '127.0.0.1' + +print("myIP",myIP) + +if args.verbose: + debug = args.verbose +else: + debug = 0 + +# Useful variables init. +white = lj.rgb2int(255,255,255) +red = lj.rgb2int(255,0,0) +blue = lj.rgb2int(0,0,255) +green = lj.rgb2int(0,255,0) + +width = 800 +height = 600 +centerX = width / 2 +centerY = height / 2 + +# 3D to 2D projection parameters +fov = 256 +viewer_distance = 2.2 + +# Anaglyph computation parameters for right and left eyes. +# algorythm come from anaglyph geo maps +eye_spacing = 100 +nadir = 0.5 +observer_altitude = 30000 +map_layerane_altitude = 0.0 + +# square coordinates : vertices that compose each of the square. +vertices = [ + (- 1.0, 1.0,- 1.0), + ( 1.0, 1.0,- 1.0), + ( 1.0,- 1.0,- 1.0), + (- 1.0,- 1.0,- 1.0) + ] + +face = [0,1,2,3] + +# +# LJ inits +# + +layer = 0 + +# Setup LJ library mandatory properties for this layerugin +lj.Config(redisIP, ljscene, "square") + +# Define properties for each drawn "element" : name, intensity, active, xy, color, red, green, blue, layer , closed +Leftsquare = lj.FixedObject('Leftsquare', True, 255, [], red, 255, 0, 0, layer , True) +Rightsquare = lj.FixedObject('Rightsquare', True, 255, [], green, 0, 255, 0, layer , True) + +# 'Destination' for given layer : name, number, active, layer , scene, laser +Dest0 = lj.DestObject('0', 0, True, 0 , 0, 0) # Dest0 will send layer 0 points to scene 0, laser 0 + +''' +TRICKS: + +1/ How to have another laser drawing the same thing ? + +That's a destination problem : just add another destination ! + +Dest1 = lj.DestObject('1', 1, True, 0 , 1, 1) # Dest1 will also send layer 0 points to scene 1, laser 1 + + +2/ Different layers to different lasers ? + +Say because of too much points you want Left element drawn by scene 0, laser 0 and right element by scene 0, laser 1 + +First define a different object/layer for each drawn element : + +Leftsquare = lj.FixedObject('Leftsquare', True, 255, [], red, 255, 0, 0, 0 , True) # Left goes to layer 0 +Rightsquare = lj.FixedObject('Rightsquare', True, 255, [], green, 0, 255, 0, 1 , True) # Right goes to layer 1 + +Define 2 destinations : + +Dest0 = lj.DestObject('0', 0, True, 0 , 0, 0) # Dest0 will send layer 0 points to scene 0, laser 0 +Dest1 = lj.DestObject('1', 1, True, 1 , 0, 1) # Dest1 will send layer 1 points to scene 0, laser 1 + + + +3/ Different layers to one laser ? + +You should consider adding all your points to one layer, but same as 1/ it's a destination problem, +just add another destination with the same scene/laser for each layer + +Dest1 = lj.DestObject('1', 1, True, 1 , 0, 0) # Dest1 will also send layer 1 points to scene 0, laser 0 + + +4/ I want to animate/modify anything on the fly : I'm doing a game and suddenly my hero change color. + +It's a declared object problem : say Hero is a Fixed Object, you can directly change value of + +Hero.name, Hero.active, Hero.intensity, Hero.xy, Hero.color, Hero.red, Hero.green, Hero.blue, Hero.layer, Hero.closed + +For a character vanishing in one point you can decrease it's size : RelativeObjects has graphics computation. +PNC.name, PNC.active, PNC.intensity, PNC.xy, PNC.color, PNC.red, PNC.green, PNC.blue, PNC.layer, PNC.closed, PNC.xpos, PNC.ypos, PNC.resize, PNC.rotx, PNC.roty, PNC.rotz + + +Same for Dest0 if it's a destObject : +Dest0.name, Dest0.number, Dest0.active, Dest0.layer, Dest0.scene, Dest0.laser + + +DrawDests() will take care of all your declared drawn elements and Destinations. + +''' + + +# +# Anaglyph computation : different X coordinate for each eye +# + +def LeftShift(elevation): + + diff = elevation - map_layerane_altitude + return nadir * eye_spacing * diff / (observer_altitude - elevation) + +def RightShift(elevation): + + diff = map_layerane_altitude - elevation + return (1 - nadir) * eye_spacing * diff / (observer_altitude - elevation) + +# +# OSC +# + +oscserver = OSCServer( (myIP, OSCinPort) ) +oscserver.timeout = 0 + + +# this method of reporting timeouts only works by convention +# that before calling handle_request() field .timed_out is +# set to False +def handle_timeout(self): + self.timed_out = True + +# funny python's way to add a method to an instance of a class +import types +oscserver.handle_timeout = types.MethodType(handle_timeout, oscserver) + + +# OSC callbacks + +# /square/ljscene +def OSCljscene(path, tags, args, source): + + print("Got /square/ljscene with value", args[0]) + lj.WebStatus("square to virtual "+ str(args[0])) + ljscene = args[0] + lj.Ljscene(ljscene) + + +def Proj(x,y,z,angleX,angleY,angleZ): + + rad = angleX * math.pi / 180 + cosa = math.cos(rad) + sina = math.sin(rad) + y2 = y + y = y2 * cosa - z * sina + z = y2 * sina + z * cosa + + rad = angleY * math.pi / 180 + cosa = math.cos(rad) + sina = math.sin(rad) + z2 = z + z = z2 * cosa - x * sina + x = z2 * sina + x * cosa + + rad = angleZ * math.pi / 180 + cosa = math.cos(rad) + sina = math.sin(rad) + x2 = x + x = x2 * cosa - y * sina + y = x2 * sina + y * cosa + + + """ Transforms this 3D point to 2D using a perspective projection. """ + factor = fov / (viewer_distance + z) + x = x * factor + centerX + y = - y * factor + centerY + return (x,y) + + +# +# Main +# + +def Run(): + + + Left = [] + Right = [] + counter =0 + lj.WebStatus("Square") + lj.SendLJ("/square/start 1") + + # OSC Server callbacks + print("Starting OSC server at",myIP," port",OSCinPort,"...") + oscserver.addMsgHandler( "/square/ljscene", OSCljscene ) + + # Add OSC generic layerugins commands : 'default", /ping, /quit, /pluginame/obj, /pluginame/var, /pluginame/adddest, /pluginame/deldest + lj.addOSCdefaults(oscserver) + + try: + + while lj.oscrun: + + lj.OSCframe() + Left = [] + Right = [] + + x = vertices[0][0] + y = vertices[0][1] + z = vertices[0][2] + + # LJ tracers will "move" the laser to this first point in black, then move to the next with second point color. + # For more accuracy in dac emulator, repeat this first point. + + # Generate all points in square. + for point in face: + x = vertices[point][0] + y = vertices[point][1] + z = vertices[point][2] + + Left.append(Proj(x+LeftShift(z*25),y,z,0,counter,0)) + Right.append(Proj(x+RightShift(z*25),y,z,0,counter,0)) + + + lj.PolyLineOneColor(Left, c = Leftsquare.color , layer = Leftsquare.layer, closed = Leftsquare.closed) + lj.PolyLineOneColor(Right, c = Rightsquare.color , layer = Rightsquare.layer, closed = Rightsquare.closed) + + lj.DrawDests() + + + time.sleep(0.1) + + counter += 1 + if counter > 360: + counter = 0 + + except KeyboardInterrupt: + pass + + # Gently stop on CTRL C + + finally: + + lj.ClosePlugin() + + +Run() diff --git a/plugins/textcycl.py b/plugins/textcycl.py index ce33b84..41a0d5c 100644 --- a/plugins/textcycl.py +++ b/plugins/textcycl.py @@ -8,11 +8,13 @@ Cycling text on one LJ laser. LICENCE : CC ''' - +import sys,time +sys.path.append('../libs') import redis import lj3 -import sys,time + import argparse +import traceback from osc4py3.as_eventloop import * from osc4py3 import oscbuildparse @@ -24,6 +26,8 @@ OSCinPort = 8007 duration = 300 lasertext = ["TEAMLASER","FANFAN","LOLOSTER","SAM"] +PL = 0 + ''' is_py2 = sys.version[0] == '2' if is_py2: @@ -73,9 +77,10 @@ else: myIP = '127.0.0.1' -lj3.Config(redisIP,ljclient) +lj3.Config(redisIP,ljclient,"cycl") #r = redis.StrictRedis(host=redisIP, port=6379, db=0) +oscrun = True # If you want to use rgb for color : def rgb2int(r,g,b): @@ -93,29 +98,38 @@ def OSCljclient(value): ljclient = value lj3.LjClient(ljclient) + def OSCpl(value): + global PL print("Cycl got /cycl/pl with value", value) lj3.WebStatus("Cycl to pl "+ str(value)) - lj3.LjPl(value) + PL = int(value) + lj3.LjPl(PL) +# /quit dummyvalue +def quit(value): + global oscrun + + lj3.ClosePlugin() + oscrun = False + +''' # /ping def OSCping(): lj3.OSCping("cycl") -# /quit -def OSCquit(): - - lj3.OSCquit("cycl") +''' print("Cycl starting its OSC server at", myIP, "port",OSCinPort,"...") osc_startup() osc_udp_server(myIP, OSCinPort, "InPort") - -osc_method("/ping*", OSCping) -osc_method("/quit", OSCquit) +osc_method("/ping*", lj3.OSCping) +osc_method("/quit", quit) +#osc_method("/ping*", OSCping) +#osc_method("/quit", OSCquit) osc_method("/cycl/ljclient*", OSCljclient) osc_method("/cycl/pl*", OSCpl) @@ -130,12 +144,13 @@ def Run(): color = rgb2int(255,255,255) try: - while 1: + while oscrun: if timing == duration or timing == -1: message = lasertext[step] - lj3.Text(message, color, PL = 0, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) - lj3.DrawPL(0) + #print ('PL',PL) + lj3.Text(message, color, PL = PL, xpos = 300, ypos = 300, resize = 1, rotx =0, roty =0 , rotz=0) + lj3.DrawPL(PL) timing = 0 else: @@ -143,7 +158,11 @@ def Run(): if step >3: step =0 timing += 1 + lj3.OSCframe() time.sleep(0.01) + + except Exception: + traceback.print_exc() except KeyboardInterrupt: pass @@ -151,13 +170,7 @@ def Run(): finally: - WebStatus("Textcycl stop") - print("Stopping OSC...") - lj3.OSCstop() - - print ("Textcycl Stopped.") - - + quit() Run() diff --git a/visualiser-linux-nomsaa b/visualiser-linux-nomsaa index 2d8dcca141b59588f022dbeef8c338014a04016a..b08ebc846ccd15a334310269d54646db44453b4d 100755 GIT binary patch literal 5074016 zcmeF)3!EEe{XhEImO{9>1KOWaQBqhWh~SjlFBOnkC^D;C8KG$8;!bIINu}M6?H0mC z7}!>`T`B`221JdD8o6jhk;p}-luJN_Py{0)hMS~6eik2%8T5pFOmN&x@ff|%<>&EnH;$8!vW3y(EPifl4=0;*IxHVG zE!A0$UKh1BIGUahj_&Wce4G<>7PWRNij2Neoqwa|MXyUeM6XLdM6Z*N4!2)E%Kk-t zi~hTapU21f;<@NcK1Q+8*LLE+=zCQ=>v|NWX{BB0F+~rW{mj^s=ymxzRSX~RJC6e8 zqg>yo#p|N}{ZGGm_1bZ~K2%pS$%wcJQ$`9sWgg?xDZl|GmHc z{fDoOUMv3--~NxkelC*kx|Qf>M6#{i{|k!toTAu{=PTmRRmA5N@&Bptb&B>sqKMBZ>TrO< zuU2?Mex+i)?^dk$CWZe>k>^{A_B^ZDj+ZIwe5oS;&5HQXE82Oe zq7HRM{(makpH;*UDtug#=SPb6->Dd%?^49SuJFAT{#8Z&KdtbEin`5L^!I~`_?)6W zA5r9aRk0mEtZ3&t#d`mtsQ>Q5Q{q4Tx>`~H;}z}viNcRkwDVJnIy|WGGeiTowqJi! zvEDNj?LSgcpXhu$g+&m{hbnxYqMfIR_^q{56X*MjR;^e)x`fX0hlWmDzG8G})!3qy zV?#sQ(7?h4LraEN4xhGk)!6XLg$s^awqkU6;i6NQ4byX5eP-3@k|B5T@}b4cR;(J1 z*05w5WnZ$4XvwlwXD!#3EL*f>$x89C!W|wJ55p^0u2>m`uN;fQ=V~H&@##aS4Udg2 zUEay#j^$PkFX}Ya(9T@BbZl5-8d|(UtaRz<(y?h-zItppFB-pUY~_lxv{l2SOSEW3 zha99uIi|y+7cLqbTRF69c&xL+>1QZGSI*8_&Ri5*OGo5NWMew7lu5_Vad<(Zv6 ztsadYL_-#zp$!d*j*qSw60&G)>59?m^`Aa`mT3O6;aD%JNuAgJ`?|VXDtfcZ9bUY2 zWa;ARgq^moT6)^(qGjC{)ptp!TZ&vqrZxsgu2{;ah5lRgLPgxO;tE&Xr;eiE_%4ED^0< zoSR;h8$t}~#iy@YdiIvB(RoI$CK@4QE4p75H9UINv`&wfe{b^;Z`9F6qbpV|8y
AgJSMPnl?R-UejoqTlhayNQhxj45{ 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 z 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

D$)J zoLJvPq1HgQ`euq5EWb;GO*|n@fW4ySZ?m6$oepcPd008pCmEjHG&~Ix6Oo^zEBxoP z8X~D{yn!8yurgm}4(g?c0txyYJJbviwsy*)c7U?hNi45bzt?*YX{q~iW^W$T;w{76 zLxg{e40tboV{!kvkjwkuXZk{@iW;8@JG+d(F3OX*(bRV^BLfmr-3}PBixdn7vBh>^ zv>WxvGIpE&uiGDSZZjZ|1<~^efF;P?QXZS4Oms1XE%C{oZ%vOv zIl`K)9t=TLwtmV6E1}Z0oMNB8t^;qvic^HZuwF?aa19zQs9K6msCHD0ULPw11_Fj!35hkn6Thup?C-RZB~ zh(1Lhn>S|OFBN^8#j6Z<)K4hgJZPic*S&`2Cxw9p+qH`9c)lTxU0!y^@anTL$Lsn^ zplFV*jWCJE3#4&VG6CLGY{Lk#=g0!ZmiLzau1>Wm%#D=<3Em7xtrApkr6=+l0wSRhdO9+H8XzvgEU68TXePYbi=@u%p6WU+`L{;rkDoL;cYT!XH*La^^v9X;sybHKC)1hMHkWvV zUpQ|LLfUGSPY-WmY`*dkE6 z!1=S00vgfU8A8VCEx=7|EC>`ovh9A#=Fj+7!pRinaGDWO(t(b{lh>dCJuzU1h^LQe zvfq|SVpyPDBbxbN04@(P-cNe_+WxzN)g}Y0nG!Rx&`%s<5b5GR{&GGK+a+fo?RfxE z7Vw42Uc9^Us{*cVP!;}q?pH+7{jv75{~ureGx&1Y!zI|T3%(5cb4iZ>QGD4OZE47V z-(!4yspf@&FTt0?eo=xigYVk~Um(mFTELC*h)rTgJF|B>r@kG<{aMsGb!)>CIPz~7yjmZkp(I#=zk9X5QxW~X^B$&b`4k7U~{#*KtUh0pR<6+~9jv;8eB<0sqb zl+gG7KdL)w)|t_yVy#0&Kg#6uolQ2He1r4OZ?&~%FR4s$umKC$*CpzAWqvUHO;-PO}c3iT>sB z6T|6ofmFBx^>73eiBHR6iS;7j*+%!iLM&}J+;m9-_X#5-TeOPI=da2PAsnvA49aJG zf051j6d6&ho(1`kYRlezVkJ+ZrF6v{$V%2ZTRAesD5a|v(eT7ZPoRP0!sW(W8hy6j0T2057 z+B}(V>i*BkWxoZGx2fE30?rejwE#81v=?!U?L- zCkZm<2EpQ|c$CRP39k+mx`~ z&X~08Y}!etkjYTlknC$rNGpaWFRL_B#<29v&JD?7@}|;dSl66!Xpg#A2HAF|&Zr5ePCd5u)EY9Cfk^Q{Ln~I3+O|%uX!|_@>{GB^!oYXn4V6wp z(4qMuAq!9is|Z$9u}&uK4HNfq#5uY(bBH>#&TUM7ns~iD+-a#2!p_l5i}33FA=pif z8q!0@>CUndsmum1x>MFh7WdAF{Za-Vj16?A`tuD;N1fi4w*<6VR2mpH zBw6!YSc0BuZGLgFzco#*DT{SpIjpA4z&(pK(aIM*x{V#Q)`?^Kah{9#$-6Kybfm^H9(m86{+a+6`1OTa^mSBG=-(aTiZh?w z>f+U+!A|o;RtkM^roT*8!yzDep+XQY#raTwgb?>f3on1oeU)T#eJHkj9eQp`u0T&~ zd3OY3tJK+>x*=Fw6H%?s{Gm*f+z~ix)^uR3-vP|sAp%1ybzq35uBwb)5jU#)#}@U# z+!r{_THw2HU)B+(ebCRe-`TV;o67(`)uc8|`}YcPrhT1r3;=#jAd*ITi}r`7uEuuY zYSaFGrx!wi`$&!dRxJHQAl?1`f}VW~P*~ILMUT2e={6Amt}`w^X$V zWO#e2A#804MyRmP)64S)R0vr3Rd6Fij*)duU}N$ z0sOy`Mb^f=l}>{dose{V+kBh;{2hKUbGDAm*eEpQ*MRI3!iPwfk+V-YB6Aq|B=a~3 z`b2t-m##UHJVUj>cDgNsxjN}rQG@P`|Gd7KH$$k_Vi=@ z{l=ur_Mn1ZXRCi)nqIIU{lKO*ld;JDC7c|@tQrBt9^Mn%8vfsHA8`9^K5_F+Wpewk z@lSZ}IWms&#u_^-k~$0-MLljBSGd|VATNmY_GggN5170~-a-$9oNhDTr4htf@6!92 zG_)L$`5{PjRSrR-8-LQ*((F~LrRlE;3<|T=AKsepB@xD2O0A_PY;%K$>gm$At=W+120tdrRfgb=>WHOACGkwc#cuHPBrQz6%5ucIXB2{tzcOX_O!lfXFF%6^go*(d6fjTK4j6~ z^vK0l<bF-*L) z>5(q#W&Fa~(=-tEaCXy}T+LRowNuk0MoDwx3A3jKytGol>?^?RN2TT0R%RUabt1)H zQO{!K%V$qJOXUjjzXblq$~_%?w{Cav2k=u=|Gu^(z+P7)IoM0fEeCrPu=wy`-+_-^ zVDH?vG!NF$D#qMx_H2!G_K(agua2G6v>o^@Yx=a@xveF%cDXnHYtwDkr^4=_FHN)A z(+u>RpK+#3f35DBTn)Kt@Zs;lwB5w-`cp9aD^0=irBeWG0)kCf+sX24_sQ(<&)1jD zK%PEhk5I#j)CgHo1J^BY>hN&tn@D^&Nku4l`At%~UD43Aqg}ig%H?%^nIvv}Dp6|p z2#z!TQ22wkgApBtQ&({SjN|(k#S%o__=6XhnEPr!b6}ZHsy$8KX5)jYN#3#k&bhj2 z5>72=yi3UF2?WX0kbI#bbuBkA&8E6Y`rNAW#PV!oGMjucJEwLaS*g2;nU?mTTC95p z2^;T@&lWwlNgbW(hv?L;lW|G5jL0_e^(FBssEul#%S@IeEu3zPj4O#B3%jHu^}BXv z2QVC(e6Jz#R(WGGGwsbXvedOSOhfL9=bj(846R!|{pAMd$4fc3s*1Ixtqx6Y#GjD* z3go$M1#na$(I9ugQS@UmznG(#-pvLWN~u@M2Dyl!k zbW2^eN$E8{Y;LLwD4u@l0TA^^Kv4cUrhN}m07H-x5SkR>s0=8u1u8Qg*}V&9d8=uj!B~V`v#6l%lg8xsZ1B7!`i`?SMj9}%qJcT4pJss< zX?d#ecc|}%PiU@MUl4W+!rQ#CPaK-t0c@js07+@vOzOM}o{UEMxVST8IoRji(;<3x zW*kAm22=%-_^LyTTa)T5;|q40L`|-p)I0{y)qv3W2Y4D2b^scZ{wb>7Mvd^I8kWA# ztc}LcR`Lo+8p6EvzWaT001cfU;u6ewcqO_voVv}bR3^_Er$$vXQ5IMaSKX%1#Z`Cm zBR@lP_1oo~G0Ahd51epra`I?=s@1EGaioNkx89@PP>p({0_u)~3+FMW;Lq<+a+h1p z)O0z05?*(;Jj2OUi+)-YtN5wpKM7hws<=hJ$y>`zMK@K=@_95rn*KdFuU81H1{ ztT8#GP>>qq_wCm1rtMUvS3|&ls>AB3+EIn7LOnG#*4*ta)w{fon{jlx)eNgks+O|q z+Z;8UymhXrDhkPd2l_v9(xJLz&DJ?%n*}{)EO0!VG0aIf#(BrH6|Cywel?EO1W{?U2?(Mm~5GKmwYHU z&idmK{DfOUFjf37;eBjBxNuKF_bO>ZYtO_DqITOHPj37jeeW1^DcZCjm!bn`(ETOM z9RAkQgO51cq@1CY8l^NVW#1(Xg(aK~{^y`Up@>m%kHH~uzQrP>no1*(E55wd#)VtdY z^9PLnvpg0q=OF@HtH_Rf8%|}-{h)Lhk-0qlyb+}o$P?g4CXsV!^68<;CmJwIOFl0x z9m$R+ur{YuP09xUi|thA3_^w|I(@^jxIs0oN24qP8!@}-8oMH#y0GlD^sy^|ly%jQ z3h40U%53mO@gutQoQFMFH2I-yO`_?`w=^a{So%RlVkO6dciIn6Zi$@`-ujyCkCHFx zd~_WW_hpRbdg$MZ%5ZjNJcCkt?Sw-!BNj;*i1R>W=aq@tGD;kOT)6y6?|gC^zz`Wb z4do}EL`a=h!!MNQH00dN>IqBM9tsb5HvVj6>H9Kj;3kbb1N$_Bel;yoe*1gBVe@;R zAsxnuj%z~$o?l(h+XHMy4avXZz)=3{xUBgdeFPpEd17mrlNg9y=n#a%2DwRUn$(B8 z^zRarnouEBoz#d6un}X-?Z<#j{OQctLjE0mcBZ%Yb9?*e{7PqjeL2dcy~O!W-^tP) zR6ems+dl~83mbS0YUkYe8qxWd#`!JXtuD<21!j-x{@>-s7H6~;qZg~UHB$9Vguh{x zi>QwS7RDu82l^z!pa^3Vs&Y+yXveJ$BYzZ~2#E%ATUD`C-flzkCdqU}#aT7-)EH|( z)J?arA$J;L!CBY{$bM9@GBPcrLdgxQfau%A`5I4nh`df*pwR094G;X^dl7-M0$q!W z)6)Hpjtuxm>^NqAOY()Kn=81&4JS5r0&vk&&Z<|4 z@lQExghE_(PdRIhLbVEwQwRW18;{b`j6u!;TjReBCsuBW_QvY#1AJVuNKn=dNfi{h zp=Ky3i^v;R{!IlYm81OoqG}K_p>52yHV3Mu(^lVvQUJ)sy2{QeJIewxh>D6mv_ln) zvBrszHrWXX)Y8#D4sGEInKD*ytlP=WNn@X~l|~@a$JjCIIh{V1%V@|x$5P@2yG(q& z3>KuhEUStAbM`dcMnDHxC7czsI@J4n$VG)95y;Rv_D#iU7q$!Iw!OT8XjROq?*kPc zo6m72OXqifjxQQ&fT6Yp%x$TK)$GdI_2sOTSf!5qdbnf|JWrWlk7=ovmh!#B{uNsm zq2(m-H-IK5?~gDHDQ|{2knI!0+m3Ugg!4n&KqM&v5@>fNhJl9uJkiYjctRt$CKKb0SV-^9;u z99V|_y3@SVbRGhxOTNbBN7>*4P@qi$6df}{I?dFgduAZ4z_MTCY)mF zK!>!{A6LBbF@d!$(!1)xeG8>`W_`vEwRp-ZJG1~#<#6J)_{O%$R57mtEq#2k7Q*11 zl=^?0<$F?l8|?_g8$YKulf1!W&ko{?*D_);@`mAokvE(WhnN<{LnP9seP?^knQ4zE{1ZeTYJKsG30l}Hrstz;!u;N+rw;8^IjD{grl|-5K%B09qFS8(F zn7F+FzZ4rerXe|!TcL^PHYBHxCgRL`)iamWNb+{AL9v>Kc#B0eh3_;>HhF)g^~mq- znoO0Q#Gje-_=qHLY0*#XOwDa2|CO?qU)3(SP`i4j+6@?}y@hYprjGM_%SJEzHk)1e zqjRwqh0a@IIhDP;{k^5q#KUu{tm&~ih~wh4*5QShdM9v6)d=0jr zgWuWHq`aq;@6mgAnNoN;b?~2T%5Ri%f>Q1w1?6Kg^SCm%sh{V{%~rXM=FurQS>E4- zW}BSfwK*Tn)iXvp=Tpbqhnlu$DWyg&oT`*NNqN$y%+IA9tCSn9DyeF}#MW*(_i@ah zdoX5LMpR(fdG;Ikj+b%=089JbcgT}FBna)?iq{Kbgn;g{!aTxtw*{jjf7f!C<2ziA z+m~nF%Qe)K>tbclLUosMxG`;DkIdi-wzwT_)2PJDT0AEW%>^T*!drjJYo zL}%UhGUO^K7DrhCD`oYoyOKDg1Xk;eVm1X#q5Ranu|!kqN2`=-6jgN-iaJW{bg8F+ zhKX(Mo#sE$MZL?nkSfc2US#8q;nb|T#Gq6)bB+QsYd=@qtY7!V)NM|mIc*7C zdD5yo<0x{gDbzt$Pdd>HrU&15h(VkO%6!Dxca~5S#JQxGNx5E#b1-eWAI~gKnXHuV zN_o+y2!+(v!Pn9j@LJX?czJVM=`O#?I_>?ViO$(?|J(4q0-mH4o*fUM3;zLlI^uV9 znlFXt@kj0+o}&*oP`fyLqPGwqo8dvNYsjSZDfi)dS4qk-N-^+E+7ut2Yho6j<5w2J zb3)3(^8yo{gJ*%fKk*)%t3gz!xmoBUWc`l8%IVszjl;n71P%+6yYsFeEL=9&;l_bw zvri9+PwfQXAv>^o9N>hT7Bx`=ywc$m#2^a`+n1mm#=>?;s2l-EHhBKEaB+VC`wNhJ zY@U3!J-ENlRF_rGD{q)#+3<+b?55r(*$j@sSZK>|=fV5z8(4Cct@B`Xfa^5tX%ab# zMX6*;RZS+C8!v}Rlwz~)6XVreL=K<0=VMzVM!BY4{B;kW!q_f!G<{K%3wUKx5QiPHB(AQDQ|&d(}TBfI}rfh1{qL7!Lcjs0y-#Pus=5DX1t&Z>~^p482JWnMD3cWVh#3rL3ewLTKd(2}o$_ zRx74^4#m4+uPU&eeFP-8lX@01RWL*K(8h3CJRtW0FHiNS-?NYZW=wYdv8oa1`W(4~ z=j+m=u^~)Xzq`FlflvUM5b8a)gKWQ;I5cV`8+4YV8-ZLmu#el|K7BZS_=^%kxgzWW zD#D0)>EtSqu(;gbCdIvtl1ix6Ca?1_=htEv7|X7qXySaZ>4+M zE7;_=7}%G^oXjC4=!Tl%l*RXBL7~c?b*ssg@rH8Hi*^sIahE*L)_gPVQzkRct1;ki zds#cBKB)!0SW~XjUAo>cHE-A_$kC61-$Q>et$ExTkf z16Sl~t)o^MB%9{y-EZUZPK~Ttsz!YK(6303bciUXM+p{EHW=s7>(QgVc1w@m0UDMb zokrFodbIlc(4(d8RB>*zEtu`La_66>M-!;c(4+4W$kC(FZs<|$${amfeZ8eeA?VSr zbSPx2j6c(+hmpRZt23rj#Xmz+LYAh4EU7UxrRFQp6hjwaN}wsDL{k)mrrd343OAOe zB;~h0Ng<6@2?+uLJ&KZF%05LY>*-SzOFc^{N|G736X;Qt%5iy$^4vB{Q7WM*cYM+% zXMgO|6FT6N69(avll;aF$=TpeJ&X=KC9;5Q)|N2T#OI%SO2k5HzL>X^PNkr9;X^r+ zf|-vr90wT<$4L4jG#smIdooL3Nx$(qY&ksr#w_}csG>=C1vx)@@#;vYUS8hC?8jMfl^KOv~JB}Tm8v*ZPz6jc_JB8W(i6#a}$mK0UG zHyf{(A_EnFgA~1DNm1J(`)eu2_mtmKqd`?=*zeQO@wsw;@kr6#j}?(3Ur+O@k9VS{ znT_@K>4&CmJ+67IGH9!(uep*uaig!vqhadKpP#kFXSiRjo;<=&K&F>R+bZ2>=&^~7 z^BmzO_by5l5Vr2_kBG39)f5x9&wA1+pxOXS=B`+Z1Bda`$25nx4>#iP+Q?#T^b zwFs_=`x}nJ9vxE-b81V%3(0%^+KzhMf#Qc9og^TKj08&r%p};GAM^KwB?Z zt;dI0v$4Ti#Lo1^Ir4Z+Y1MzYQm*GDBp1UI8?9pTTj|HynY8Muv|aj`({NFj##7GB zbT+t|oo%=4rQ0D=d+_UyBk3>TFr4W}BOKLMv6+)a8=ARUi_uG*97b<_cR9{9|teg;q7(0$QE5A)^LU)V*h#_I|{Ki;WSSy*pu@#iDJS;5Rld*+lSw^1o(K0cXP zG#?Y!*!kG7;9r=JKfsn{gLg73U%Eaf1M5A_$4DyK?R-3aS;>5?czSp9@c_g6g83Nq z!9O`42~D7#j}|CoZhgGFcfoud2J^n_`f!70K1MThK>chgvg@M>Ns5_|2{vVfQp|i@ zN=m`{*o2!o(XTV-?=m0fgv&?b*X7Lm;n4Wn26II@y!Vrl0X)pNHsYMJ9C<*+_@0fa zZVl#EJIbwVVl}QAmX7a{={vOU<+jIJkVEUxTze*;HX(S5v!KUbjmf1gueT3B`(~um zOOeE?c98)s6ZSvFnP0J2L(9hYq=ui}80oaEF}a#-O|SQlJo`p;pOO8e$&vl(z_pzs z$uT9vo>sUb_v&UfqpS3JaQ+8g@)IyjV5{1rgd07oiB^_eyJh3t|9Sy$7t_0G(6!d z(;k+tG^Xln@|$|3d>OUuds?c;VbQv^k)_K*;kp-Xn*rL4l&_&5!AN-vxw=H_TGT;$ z9;pKW%PXmT{A21DLxkQAtDze>tNFBI{DG&WDh{((R*3e1aCE@x@%v|vs(Xg*C>Jx~ zz|+#54+gaRCD&QVhC8hfC)Tu!4p=kcfJphX0Jq;^EpN1^#Ix^&J8hv2z$p+qJ)1Pv zZ1wo@g*K1ctPnc1u*qh(gq@|sxMxOkd6n69mQz49UZ(_5&)ZMx**S(Tu{R#4M> ztP>-&JZXYiC+OGMl;0^uhYz>Prq~@O;2wuIfmYDI4;8NSE@1{g$ZnAnqRqtdCvGbGfnaOUXZ7U2}l$t#5!IknLK$E;A&LUov-AC69;rV~qXG zE%tKucfSDsoRSzeCZ<-F$Nmp_?*boHb@hK|NCHvOGYF$mQG+HmRK&zv69Gvi$QcP5 z1r^0hT9o1)AptB_f=ML9IF`q%)m~}q)5kvcqOJ9Y#c&It74eRjDqhfu0}7~IRG9bs z+xyJSnGh8Fe%|;0c|UJHFz1|oU3=}d*Is+=wb#ZE!%QBl5<|mLTsIi~*v+QGd@5{w znx+>>#isL4Or$xV(`~WP+v{oOKq`n2L-!?#W|(7R{+*6F+Qj(nahf-jnpS3d3vC^~ zAl5-Q51k#Xtz6eIQyn+Ww33CM8#`{;ft=xRGR>PG#>1?qhx_fdcHPTj;%NEsL?FIc zrUaiP@q#?fY?3nK$6|l{N%G|c{@~VSYTguf9y-fZnNO9Cf2N(K8C4=jyGZ^CR?G3; zG*cqnxQ9%~&F5O5WXY?SLv?mMj5S_5kfgtyBw`w3_D2lfCnQUry2L+JjJ-_QcbR#;Q`@hn-2bOmtFlMNS{qwN#f7W;)Rvw23lP{kc z8_Ez^QD$AARfQ|xZ2ULQggBeK72RQ!HGH&!9Y@b$n>QHj;VsU8Oh_R+eQc4Veqs1r zyN2ws;el^LuI;sfg!&=v?<+p@O|#ytQe?`Xm(IT~=p_tu|JPqkFBy6<+YHbLeLXx| z!C3Nrs$ZI>Csa_ZYcVAl5j4jhgQ;VWA*cjaQK!8i#xg`wnugmFiHV;Uj2C^!_V8q1 z{mGJ3k##aC%;?+F{S#m`bm^atixgzh*cb0{__0eJbq)Qm;$qAb^j(+5szX6=UFds~W1~M9^)m=vQLJH1G0Po8h_D}EMCBbc7608blCvaMS z$mHK8(ZkGwVjeX5N{{*U`BOIYvGgs!h5ey&7+qH^1UuhCqvzu;vVURYJSKH(MGh7& zKAzdXa{!4U`Ys%^l=-4TIGtFQd>m``c6|e=>-hLN^I+Bh+HHIwfcX=2 zJ3jJQlcmOo@ixCLzWM%c#z&f7e{tz<^jd$Ok6u4zlzH@8eO~prv1ayUREaGdp>8gd zbI^2u9u?eJ<|chACDD#yd`PcIRBB;aAX-OZZq=c8Ls?c{BQpw^buh|(4qXMe@ofB zv0+e#z0Vgzit7qwQ~7dF-@A-tR^Pi!V{@*#j_1SpWv0kXZqvT3^PyHSNS3@jHa%W% zIVYQb?fCZ1-|f~1N6BxMCt33PW&ZS5-y6LQ0q>258u-nSUVaSE$Bim-E;PNehvEDC zNPvvrE$&mw@G(WxMl(5nDJ}NuH1|={pS{ji75(xe5HxvC{g ziY*iH>x^c5TYTkzn}OoZAH9-3jWq*F8e<`Y6cg=|mej|*E{-LtW5EJ%A9lr5W<&Bpc>Yz~nl%L;u0LBAOTz*XJYSIJd)CrwCm?jnI^Fb3|uP}`>!VgX- z-XD01z~F?=<-|)T0Dh6_ zCThs=k3|{&p>m?r3gh>41(3$$6rN(26~D8bwPv;3{XNHStkvgFTa`8yl< z)AQRx#FH+}risKU;913BNyMtGw^{JAxc&jL6PB9sw%7CBTd>G(=ey-Zq~^L2T2YEI zamS9Omq!ENieBClz1SIz33Rq83)k7Z5zK-yeu6<7NKI+qGyY+=#ou1A+jvXKPig-_ z()J`v&Z8*Ep(=$>k$#$NB#i~l`kk4B(8&c-q&1>)7?SC9Fd7s*S;MI+o1Y!YwqunT z!7Jypj*0%hjbg+_j>jbDr#ZqANHjW_5958gg(1`P=Gv53!;v>N__?3FX9kQTnDiI5 zQ_>Sv{P-AFvSfB`R}O|+CK;dnncd!N|BXj?TD0X(w#4{=2~5lTk`ImZlp{q++&3nf ziMPybnG6-Gn&`ALk=KdF^IU}>`8v;YL*;pHRt5Jlj@C-o*PKJuobhUodd6dO$&!aj zm*RQZx6D488LgS|K>r#4VA;#U!uYe&Onz-Aj;10yF{PjJ<|DMUlWU{L$fP8wtIFXb z=r%HH)5?`j>qEe+IObYoyTF}#(1}7S(jm7gB!c!)_F&RCz;W)~wKJKnZ%_PQIoxDO za*}!VQMOG z-@n``{w6ofyUX7PiP@E=;n4i~D#|H%W8>;9fWL;>-7zW!v{koz`hvu#mf5}dbC20+ z=IuGrGP^}4FvCE6{(xje&}GDHRAdi%V_;*4ydq^OP@5U^si4PGgWle|(J+QVf8Q5E zM-})uR^9m@$rlN&x)ynyVIk7fZk*xfGrDkwqOP0)g9T5+mn^9xHQk;GV#`8pU>M7W zA<}M#XSNN)0~cxxcWc8i`2{;bs>B2K#)jclWw3j+{b^3;F42!4gkL|{9SCiE24Vg4 z-x7ptG9cWGfRwm7tNtUpt-oN;^(9&7e+c!bdBixD5csa-)=W{0q{tuCTPgCp zJX74`FW!X~ANBjjOpKUpKs z%*z_k*{q^}O={E`U3j9mlrk!;udlElQkVqYvkh1oVBiNncxV{*Z$_5LmM?*<)rV2uY8$%I(5pFmBJFXk}3cH0b!_Jz$eS=M> z?+%~UR~TM19HAH8sYaZ@7cVY=Csk@&mhe$|kBT zrRW~)?>wjV=d@9RRaL63cAOiL;6i1MU1n4S8)anYsl=xlC52R+PV3z!|EP+zOuPVD zo1N`sd3!@xpk!kKv*rGU!fkno`%Y1ymY;nu~owA0`XQ_*q6ez~8Y+rTN1*eqytN@fb(J z;1JlaJrIW2c*{(y_${gu0WL*=dpq7Yk&VyBJq++6CXZD%2v+od%Kn)*q;LAEkp%{) z##qf#siNmcyHE#L`pW<(}J+OVp49T5cAnMFRe zxLMk;WT=Va{Uo!eCXN>vc943TzOI`15I3=@OYXfRB{_I)FZ3?vYBCXic9zv2o?EH!$Qq5Fv6y=}4& z%;wKGnQ}7SN4x%rzYw)+@qcA^T}Gbs^Z~We^c5?ax@o6RMmFbhW|i9L(hPKjXOV>wnA1qJ&=~nRS@Qj%De%$)vzfWCe2Zb_ zafwTK7q0I5iN(>^=tq8MbkkiY*EGp8xo#SgJ-HhGrTszw0_Rf+6kQPhC>c?mXuE>@ zN%;V8kW72luCMgtAG6RT&gjSeOaIuciuenPi_NOTjJHaO>Kgi}h@mNN({NnE5VBv5 z_-k8U{qA+u$8S-bOoFxj%2BS}z?m7p%v8DXLAo><`rit{-E7xHC}>mlHsUR2p+e(j zro@HwdCzIU^UQ}*&T7|~*3}nss^PVoqapx>mfN1_CRA5kAg47h4h{2XncTOl&uXi^%` z<5wz829kN+%yw=}BxLo^o}L0bqv6Kf%fOT@d9G4>DCxPRoB3@RrvDlb$MxItBuoAzD)Qzk;b(Vz7Nzo_|08i%d}_Sewe4_3C%?S; z-ITofA4!pY)c{Y5Jb1Z!$!;9)ofLV6xo~cO>b;jDk7Mf2&iPGJZeja{q-a1TRd)=Wn^k*{4wMA zz_cwsNZtfu3)QsvgPI6q3)Qmt!{C^AH7s5#A$!hJwM&@3(JZ>R#cycKW)()B^0T*1 zC(%}J0*X#YRkW3JnOeD(yiRCF->k98O6*G~*wYD~g-_A*i=2Vu1%6rml)N*TpG6YG@cSW6ncU^9;oFT^pFESo&UGt3 zb!JTaIq3=IE#Dd+Y4+2ev?sq~qk1dXJw&;=HXTN-3*YLSvq;Gw*H8S!Q6MSm zrIH3o9#B-IX#_emSWioFlLAV)Hj_iuQ(U~>C{EBbVmPMN79-yPyfF?SavrOG>so&qx z#~^@u#}I5c#sB#dy#mcHZ#9##%&Wba6YsV$515!VzsT4tLR4!dbVRrT4p-@?xiQF? z-0Ci`H6NZreL(}g6O5Yn1g#&;fw)5j#FRT*xj7Q?H7zu4a9ZU^QD|kc@$_+^#2mM7 z7|D5d+&$g$Tg7T)j71O=Yk}E>#U|5k!r}^qP$@xvQttU^FpPnAc7EUF6bq&g>eNw% z#;>c#O1GY%5xK&Ryuv-<;#L|J@*$oIY?Mk#f#v`-q@>| zNEYwo41>p2tz?#G}csr+FI}T%!S1Dq;X;8@zzUl+${Q=;zmZ)iO%YAv09bt)>Qpo z_ZFCHuT^W`kRg2 zyVJ6tf^d)Oa?za|y9{%&709NuPXrx0sDsDA=E^{$y(qHWgf2HIbDML~i9Pk0db^>x z^HnX1qx`D^t&sl~ zcUxaDCr}&qlV;xx;Y7Ydz(I;e*(gno!uY|@h__s$Xn$}H!C@}fj6%;UHTp|a6*_6X9fnsY*%)46TdIa`uy_a1Y4*;aPRwzuiSu}9Toa?3d0tAwC-6ZEigb0}y9Dosg2 z>(%)pC#J%&r!->5M1Nu*KU>RJIP!12l2%TtcCK4K$*FJOLMN|NPa`7zY#j->n{$#g zeN{N}MlB;~!0Iuv{wHzti5rcViSDoOcfus+`n8jshSw)KuO_(luAyv_^W<{p(e~Jw zOuMhJ&x#S&l{mSnq#D}Xp9q@%ev$Zegq+C| z*$@W{tDHwy(b=^FR?X{Q(DH^82?2_S*QWOZ&Lf|O2RZaATTevfFcHWk7v+?N`(1@E4MEcY8R*;xQ+c?q2h}3|f zjY|+BykSbKr@)++6nSh~aWGX4VWm+)0znytj|KY1?Y^mit}qoe94gkXp!l?E#v~v2 z=;Qn<%T>m^cxDVoE-eU0t_#8$iDOlOf?=7a{B>wqLR-RdoUl&_yRs8uE1dtU_;>!#R`Xv6ZR6-S> zl*<7isEVKLmGkFJ^e6EJ<|A7lVdWw2!=1B1BN@-WMj(PG50*fL^kaIC4p~48`P`(3 z*FP!Qh|ea1Yv%pl5H&DLobYDZ-y#2`67D8Mts$L+sCM&AjX1CO?Tlc{Hj{$HfPa~k z3>IkPP2NdVHfbaicxiR)jO3(+ft*P-t((wc#fDw>BC|p)RQV51r^$;>{5M0?T{;is zjbKki7^qpt2&Dt_iZwndG#HK?&$fmUaDADjzCHp83EA38RBHXnm~3Re!St5^U;LBPeuc^scB zU=yQpnps27MMW7|t2<@aa6jytNL;Tgb@6Vvxo6TT)dlDrm$OZXmf^>Fr2l4AQ)Y!Uu_^O!sBU9yq9VybDlH?ePdyZ0WW=U&6Tz@o!|J{g)Q^3jRHI7i&= zKrF=C%q#<>57^IJ0W7^yXwv?skduWO4nb#QreXH(GR`l)n~jx&Qds#e0Du*Nc~as+ zH>-KSMuOx@W79yiUp2-3HB;mnF~~Nj@fbq$aH@;sl#3eL;7La(4@oyCY?(-G*n0}H zt-cmAORGLg*~C;+*UeND_b`5&Hy}Get|@YOq-&#{mfv?v4!;{n!*$Q~S#ESZh|{k1 zbk-5c&}8IXDOKi;E^JxVI4gQJ?s_K{SvMWE#Mz_pg&Za2RNgbC(8wn>kq@9F1j7U+ zv7GTJ0XG%X$Y8zoj0PM1!Aiftnq1t6h=jmPQDzXthJD5HdE3{6#;LEZzm8oBweGOK zh)=A88{^Y<*q@(EW9@rTcA7A@cn&rGcgAkx#~g@&Oe(T4_6tU0mjTqKptLxAy*GfS z&{Sc}X?;%^jgANN!dex}wPff7iN&$87HdxHcokt}MdV4g8gU5TR#V)I|7C9UYBcm4 zjmK;2&ymaAu?}6I%T>(zSKZwgaaA{1k1S8t#*RDTbNrgkKRa4{n#^LT?s*m|)ybE` zv5U>!r3evnqxU2rAr~P|)SBFKtFk}I=&YXAEbj}sTARp%Po2vs+9qL|N{045#=8@m zeWevdtLECuosBWB>x|B%D`jzTIO{f>N4J^>^OxV{0a?J(wimcSDE1r|VI0)xBtu6- zO5SnLLcG6F(Qm&a^o`8nns5O^-&go%V%ybypY^&LXWsEPtgj3USpTmSS%l8bki~}z zHT?Z}(ZtL4Qc|WtNDy%1H%fcUoca#4vS!J98$}SX+64a4J$^c8Lz}uX@@W=DyrZz} z1=4B-c@&XisW`Aph9;<0k;P6h*9neBIW)G&2~J=oc(Im)SqiVzDyq^bM@pp!D^-G0 zlk{R%L8PzG+}R>eXm}!I3D3PMj3NXG4x!Q=-!6YLR0@ALqixPIwKm1DW5Z(4r11Jr zFetvWBEkG;jQJi|ZN07`1HT==ojFO`#`7EOn6mrBDCJypnw&Kw=i{rgP}Wf1665+h)?~3;QuZ8U3FQq>4L!`E&}RV+};~mN?)M03$eFnU<>Gr_X8LfST${{6fOX zxmSuYnc;>{?B0|ALr?^Z{;rGNJBl@ab=+KYVuKm$;@t8yRvWv#IM|5p>%(N|Dq^Z5 z9o!>jJ=p1dFk(Y`_v(0=KmH0`YNEuXKNIXHR=arh!cx}LH>CE?|8OMNIF)~1Q@*oi zpN(7&#+Yz@V*-SHv?_&=L(ev&!AgY%@h>|pbuXQ2shVpg-i~ke#J|6oz|4#>X?|TY z^w6Q=lFpG$Aiz5>AiC!q6O!@3wQl8_XqTDZ$$+@r?gpBT76Bk0icvT_)%pD8Sh-89Kzk zl>s)re?L}kZso~g;3ffgwuUM2O#!}rJouj2l!EWwDdSV{t>W5)D>o}93&hRRJ$(&` zeRc=&FZ8uQoPLO&84y$Fqq?Av+c{pGine~24}(HiiQr&90F$qA|CtBJQ68%3bVL4T z-AFGcLvt-M8{f(V6?>3uC^V4x{VB}Za6d&?N1ij|5ksoLu4%!MElH>KHjYV_w|Dm7 zq3hT%(L_tpyt7~`Hzkb;xQjb;0rXii=ePq`y3fbm$_}TwuXH$E7E=BKi=+IOpY^4P ztxE!pr(~Lsy_;JZhgxDTtbJ?&N)>c6m-p^5$w{!3n%%p{-_RtjBv-?$q~WCMV!n|U zmpBmBvu@=_t~26UhM+SQw+r#93*Bg6t(QoEhsrM;XYLdM5xbe0=V~K(58=iNr{#L- zkK~^MMJSUaS4(hdoTcY6k)2~=vw>zr!RbvyOPd-l4Ob=`J3CLzRhH9{OMCyKHu9pD z%LuU7*RJH+@1XvV4?2A=Udd0tl~SZxr5Y33xRphtqYa-Hq4wY{GVar&?DpeOf@?Sa zEacS&KGs^EX@~m51=&ig5w~_#T2&LGCZG+dEw(o2D#fT1TrICrv&7K8da5d5$=f3N z0U-jdlN%ef#atL8G5rwft!9d{5`F#PRhbHA+TjWB66ccRwwdx8Iu39PY9lL|dRdVT_*CR_2>O9Fj1&Arw1fR?(XzbI zfU4@rCFq*mfRZ&0JtXJG8uGaVHq}NxatAKaEH`k4TmGs$V4K^VbfyoVmv=~bac3nG z;wE>%mYTNSht#yy_6ZK9D@4Vu7hvd+sA9+ksIQ&k+nq<(CLTzw|CBcz8%f@dGunC& zByV{TdN!G%bf@*pugLEzN%-g<;pmwKr+4HHOm@@+f^7Sy=|3E;gQB5rsn8@ZN{bB1 ztuz{)m8PVJD9P@67dXwi5LahEe&AzHOQBwxclC1SwrhYg{))`qEzKQC*ZJq_=FP*y zE0#&M8-8&^7!NIvmuh%$GGg01PScfN60XA+x^wYhxB1=e?!c$rz|+nxXA|QF);PDE zp_k_Eo1NyNdSiUh8=5#Fe*}|%8|@1_pGGG7zSgta)41KhveXSQ4eMk}GQ4<0?pd*+ z>ouE!+MysKc0bNViFEiz=MWmz)R2c|CCM&m_05*O0hJ*C&;$f033t^Xw$tV<&! zE-a42FMBUnsqR4BLalU<8m5vQMgRP9_^(r?3Rph8rQvYLtMR zs@ewahws2#=sYjNRZx696Kq2kKDz} z;e$Ke@|TTH9yGxR#r;s-qn|h4yIkgl#mnJ?&%5QH8+KX#MLMg^H)pHmgL}&9WqZC$ zwmsI=HGL)_oKL`}K(YzxJW$uqkaR7L0?hJf5faMTa9>LhIwoTX0)>hnf;ZDzN6~lqEh^IaN)8gWl)Z#=?Wv* zxf1Ngrv$svQCrDmk3EUNKaqrE;Of4ykruMxG8c6Y!U z`D;V+ioE3x>~PC>xdUEd=%(baI1}A8WT;na+VYUUYRZlL1=Y3Q->vxdr?mY@cyZj5 zzm}ZQmWTXR(+BwrkJ>|vjnGu9{G+Y-g<>?EC4QyJRo#Sg;(RDXGMEuKu0Lxx2`uTC zzm0F5x`F3h5^Z6zqz?P`D?Niu2a+`mO)Pz zH!(ED?GY}m=}=1Ynoq=-=+{VI{m}Rzc-?6&$FgOwo4oa?k-x_8jr?_{3u(ErbCAEb zwB_yBR@2v$zQ&k2P|}ySQlAGqBQ=MPG32tuh+j*pwHcI>z@ierG%Huf&Q3`MR_5)0OtI> z>|qlUU-w6koe9+4*jWQ>;6MlV16H20dRChq^h?vQdMe~y7OsIsuHC_5oxJvvdjy) z+u0MTAao;7v4XEQv;?VJc}k+ze=bjL+IKJHsnOUQd-7D_9_6V^HNdmvsS_3Q&GJ+z zyk) zTgq6blHFvi(f{o+rT<^bSo8nil&_$|)_eX_`KllC)vHeHP~|`S>*T8x`5K~ye$nM1 zS{cLhKH~}ywq`@o{N~|3n*tMiBV)}og3UL|SQ7J7TCU&2z`B>Q*rT#qt|q-08Ed-U zzE;M%34Om&a$WeJ$ykGW?oq}vJfrnr0%5OYtShr*tRap6$7HM$K~-%2-1Q z`Ia(P{@2M^H!YwWwPgJNnT(av7yN%nz7n_iT7A|0z+T8#L-t0#`hf;_mVEU+g?zJo z^^g5L`RcaYC0~8VeER2e>+b;r0Qv15g|!e$>tuZT9WX!7v+OJ>VjIpE^JpT=!D6!jlluJYR&rY?zTsK`o9$xx zdl!t>e`uCNY3y6*&290*+tiyq>Bk-oUHnRC%pF#E=<{~5J15F6!QVT7=#pS+*Zyhk zlHi6%vP*DU>vdSb_EM^vi)k}5jKD0XIWm5D{2Xf>(xmp;^Q1EJ&uPr>{P@8x7*f1x z*Eje-zRR2d^>u{x5Bis`9bxvb|&64~kNuiekvU8U%>e#)+Qj6LrfH9zulIHFT?ZsgTu=&3%&dMjmK%XQ2r zLkrc;Bk1&Z^l|3?0P@Bt%f^4|T(maQz6DFqbz7WE-;1o#Yn;~v$ALnBWZIh8yN$yM z$#<%wXXI5!&nn;wc%{LH|I($r3~KiR7N-JMcI5VmjL3_O<^uRfOpDpCq-#3A;-`Av z8G(-6o^2xnnaH;k`8GeYXgi~ye$OhbZoWAPm={s}{`>z>_GcGibo>2acoLR?>@+G1AqNw3Jt0Rb=p)-k1c@w) zjOe3+iYG-zgb4ml+XxPul1dwqlVr^tq(y#Y{ud4Hyn~THRyT!S98DY=x{t@rb(yjZ?BCaDhmz!x>-RF?3 z&j=9HcXVM2M5lEoY^C!?eu(^&IcLVpede$g-TF&&zJS!%l>%L%slR{(_LztThh+A& z8g?o>PR*%mU!VI#P5@%>eDNdt;x*{0p>Np%qf-&4qwrv z_7HKuf%wwr`MAx%L#maedcGr<{mc;pW2{;;p|EXiQKmuv!_kG#`}s+A>)l8a|2Mid zhwksuHagdNv^V57I?yp9FVHq3U*zXPe#|X~>__y>&>du9Hb6%BzzPbiKKwv<{UE$L zXeAl?!I!71{L@q9Rb|M_(phbBZ;$d0@J1Pj=B_bh2XWUH_kSqRIhs-?ITz+ny)WI- z5E(&qbOt4NvTp3Wi=XE0vz?Y)E&AAk;oNUtvABTj@yX(G0rX?*G~%k@bh9}9t9P?y zgP0=km$Cf(TkU!GdS#xh%zBx^6LTel40~)rM`EO8Gbv&xZ=GvTy;B4xp2^S$+~KSX z`vwxP^(saxZ2r_%?s8f_C6{x{(L~_2+i7`NB@<~a292rRz9+8pD~v+=7yh}Zz(y8rN&jIP#w82ss#I!dKNN-mLT80DCg}YAG&T_{4=;`&{)jnv?wLgE$x2(N1 zQ~NMeJL_?u{4qsDZBAEf|A6+ZxiNbZ_=$G#g}xSMSrh%e7(7RWUeW_bx`3w}eW0C3 zZFJ#EeZ{=vle87QQCj@Oag1fwxm*`~5K}pmkdCI88k_P#{2q6d5em|vs4AysyStECK!3A!6m0>aMzLAl{1pdSyc0qU z^M}|5R*%y0kvSyloCC*k24X4V43q&#Dzfcv!nyj#X^H8@m>QGssg=SEQU&NZ`LJl; zocP^4cQR7i8+v;Ob*UlIqkNT`F=3Lxr&OoZSfZ%j=5{F61E4KGRfmKq=K}l?vqk3w zZ_$xz1HDPwvZ|q%8Zaf1pKeDzH@<)BT>RXp&iF52eY|$?%5lDAfMZnf6lav2v(Ma@ zQg!0z#l)eSke`o7UTc0Q;O?{73ujAeJSTjY>SV#;eGS?#eVtPR7Yk@bz6z>eCVJ_)X$wPmsx!uIA^8%W9nt=Ct zA#t3C@Tss{<*7k0cW>fFT~V)4of>mW^KbrsU&Qe~w-%@?OY>)YpE9=tP_1IBJ8muG z!JTJ1#i${cmW*J6$6|11&&_;RL59SrEUPYY7xQ(FD)uni;S$or5Fn1@LoSKYng5{ImvntiOKGC?en>{-1?f zEqF$OGx&uc^>zloGUGUB@Rk|95>>oU@9&g;;0#{%qhe?9Gc$%cgI}9|fy2-p+&*ha z;ylt#Kh!CGmyRaQtT#zBy`LA|KXHm;2wtA}Q27{@o1M~U$oixH&fw)Uj&%mdrw?;V z|LqKZciOPTF^Zy$26!hX)+4`&?V4E|#J@rnHvJow$I z8=S$fPG_*ZnmEiE{MGb>ph;)&=Ba(FseMLSjWc-ljQtaX2%5H$pv}_{t~Pb8oq9N* z?K1|FV(E;76D2%XP0u58l{0wlwD*WyJH02LYZLnt)o!BN86047AKyCDlveTnCMGBZi3(k!8j<^Wvq^g?! zeO>p+b`BDAUIA>f06xr&OsrwZ(X%u=7b=^XrrpTUVoa(l&mTX%h*ZzZnkG`$+l{i@ z9jVI`P;SI6l7ow!2**&C6)j!CtJoW_o;^D2&*lyFEIX~+m)?@q1{r1)y^cdN_07K5U%W~bxz-8jIu=K+b|h@gE;TV0q3JW;Lf;NuDRUO z2tq|t1aYRIf9LN>w+Q-1NrPuK7pYe~x9&uMX zgYJ;g1&!y2BdaZj?@}*uX2Qd;@r7eB{O*(=8|qk-)@~q5tNJ;Y=JU_d&^*EV+(g^K$K$Q+=0@0FTj+Wy&AZefdYIuT=iX?#sWF z%acv{hkx3od^fU1Dku(gaa=N4vj1mY<8{B}Wh{|Ady-Uooz_{AELl&__%)8%?$K)K z@7?cDX)>l6+<%uqab*1oTOHwnvd3d|+4xW&;-R-9iSXPF!97EZKj>kI0^f(9eMF16 zA1HPIgipWt8c`YjqURrydjJq6oEGbpEm?cz4}+QjxzF$YhQjciWkG~4FzCj9q2Tyk zS98zjdpLBHkkt_4gsFSwCdGKLHBtw$z{Y(jxRwRBbor3Do$GjBPuFO)) z^!0UjM|`LJ1&V4{GDEMPJIgyL%ongU`<94jQ9cWIzPqeEd%3scYp-F-p0iZw@-W*N zPvm;q>V!gd*Vnr&hIuKA@6b#0iYZduA5N@vsf|ND1-Be-cO+g-kGHR(mvY%kYGEc~EzZY{IF@Ex|%IS>KnoJP%>5-7`%k+~_ z$qD3LI^Q?9ru6lkn(v0HbCq25&LKy9BJiy9p7q{yik`cb$G%8+O5KM)G=s!jFUdhI z9vF01cnsc@Bmd%HV&qGlQiXMDpEc7u`UQVbun{-fVm-$+&kVwIIQ#3gXyIQQ{gZWj zL%gI-%>i?E-pbi`=O_P7e5`d%gR~#GpSptRIXhpA5!L#5FX;ov@c+C(^}LZinsx*l z@;L4Nou)5(I6qt5^hIvt{zC)24ejBy3?gIBs;0$BQaLS0sFrA6ansC0C`cL<`*j{) zGFG%-1N(;*J9$cOKp}oIbgoFXs!$8*eZ`P8$X=0xU2z&@h=J z%=t6_4OD{QL(r2+xZgZ%-Q)k+D@nS4XWtcy3=Ugc-m!Jm)AIg zhS9p*##0k@O*?pRr=~`ST*8I{sdT4hF7q~Xp6BL`Ga+VAjHg*^n7$bq zP`?!De77)5hukXv61CBX4P`_=sZQR#07X?~xx}6KNn%^=%XbuYD&L`A-A18Oq_uQW z=inPm&>}69aHasE#62`TC#>jn!!!A0)M{E+GYL*+#a!-*81H;~iec-e9D~Vni9;i5H`hGZ-%7?SxF|5g!|I zsWktRv8?WdCZ|tM=QLLQyY<5su%!W1FF5S_l@wBG5}YkJGpYmzUZQg@*$T}H{4)g;gTj#>rY7Lec9FsY}@B=;cs<66Pf<8EB18Hx2{M=zcaTh>LQl&{lg zO?-=W%x0#|7UQnZ_1>$%S?awm{jMd^=xLrz*am97kFT{-f>6o)sd~DeHCMxvs_2@%Ng`#<%qN+ZDNY)=xm~6KR z7G6h!tCZkMCFo;wzhNU+rz2|>Y38@suthfVopj{!ihPwaDE2BFS*u8+xjs;l#xFr^ z*ccmmSvvCbEkv66EjFyoMovvfu2p1{Ep{&FciZsnxNMvFX6?)m46=T}*TgB88 zbC50Y-gL}d#hgIQa$DN>(p6on7_`>I9?hhup`H(#HLgXg=Ii>K56eof(M-V2KUm}mr3sZUt+N|jQ1c5wRD zTEt!XyvpL3TQF|Q+Ki*bz#2DSUx{ja)e>BhbM%O|`>b*IS&4jKy0lhzyKxJOl|L(2 zPRD~>zeqS*yQY9vHEyKBHK=?|Z6Jr|1vGbybL&B(No8(c0)BemK{HpPsa(kjtzB8< zMlL8l9bUIG$Zy`tv!XRCi_VNFB9;Fyz#?>|P$i`S{|$b$Ph890(pRqZ@Uzc4LU6xe z@UxE(KTD=_;I6mu^R%LcpQqhOnYa${j|xsdGrJs%n>CHSNk};cImNZnv%$gaQt-WE z`XRQwnpNaqW7@yUw4XvXN5S~Z@!L2|Br4VfHHQEna|FO{)q%H9M z{u0nMgmK;xy&xE_+$LvS&gmUg=rl{r4M#Zlg#>;*)YXd(xyIhLc!{n2!ZGSs_sXrd ztDh`eNB!X|U)3jKi0OHb?V4bomJ*`VN>LXTHQwMxKGzXE=a%*h!QkJoHd4IUDB@VJM&1VN@$*h3QU{{LwUt{MKl*#1s%2wCjplR| zET}qMy3?oXIOsJsr$K_sR&E~A1n*OGY+uXfZLjh-D5LR7HiS~{guIK_aAOx6Rxr~L z#Bo1>AdaTB@uN40APie)zcQZJ7gmq0irI4LHOSj?P>K5*<}dhQb|1zkY_$CTy<zU|0bxwl!-3qYXeHyVz8O5|V&IT;!t zJr{Z;1gXN>2u{mlp#xN|RUR&V3~Etbhx)?&+3!FG&Cs)Nf8=KEk6fz#kx6EMWRlq* zxwJ^TBo}=g6uZlcm}*S*snBFP*_3W$&0Q)sBgR?T*P>?U-zLN|!1jJ0=^nWAd)u zG1;zE?3lcy9g~-|W3pa5CWP1>lYf~VlMnnmCZCxdlh2&N+s%&2(ix|+9r89iCa3Ux z$83xIi%7F$@})^@K+*2X3nuN$UfQ)Lt$|9rD<7G(w0N^Aca=%I+DrR_N&A9!ZIm{> zYhz)syEZGj?%G%wwwqm>?cMC!OzvjaW@bNBpf#+=WM3KivT1ffPUC^K(G#)HfM`+fi`uCnh_LNh7nBk95@ShW6};D7!D!*VN-WZ4?P7Rk z9Z$xMiXg7u7|NKq*vZ3{0nxB385(3pkKqF!#-D?&Nw(W|jK;c^hh%@@+YFFUL2_4hMIb(YxdqF*)=7corob|KfUN6W?^g!E!kXf)ckH0%exPs0 z&twk}KYkuY^CX~zpE3`Sy~fXx9w6YSw*kb%&tK7P3O}!YCygKI3kX5ci+jM*GhA#Y zK){j?amMn$`#lSpP;~diZ;7H-Ww0ok%F-_FqVftLliqlkfhHf8yo8AnIu*=4fN{@k!>(jlv&Vm@ruiS_+2|X?_ z|MC5AiNO1m!6NX#-Vy>cxH98$Z}2tV1Ij-h?qlJT!dH<8)L!Gu@qhwfU;SG^dHCXL zZ-cKDNAC$=eq1fqwJ3HZq;d7{mooe!QvWS+HB%WZuC6d(+5Jn1J>6ga`m4LC|M2&u z#J7F5&$q3A`(^3+*S{&We0}|kxdN(d`*(f^smZH9qT+bpYkoO1Q~wpI`p>frDH!>j zE!jD{n&7t6zAy9M@Q~>Rjc3SpABIBKu+c7njDJDoOs6GI;w%q&qhK-2c23KB#aM@e zrmSdBJQS6Mo6iUaI{$|_xC2^W^tACgJ9CiHryaRC-n00~-tBEfR5h(1Ue)w$6Aq1v z_kTi6Byr^&_*G8Mj6sXzm@@ZXr(}`1@(l0Y#K->rJO@0XMSJ4p#qk4sZ%U=?ol5D? zc7Q*dW421=$b+Thw)oNK?@E@pGt=w%$|XxPy4>G+jch#(c|H?71R+}ssN7X%6sFco z@B>#e0R4msX4aiLWoF@EG#+f4M=!C&!BmbtSTZzgHQ&w4+$@2jDu>0#@c7*G1lxtk z1Q5U$r1yLrCoIyrmSo8+goO+bU_G%NW8@?Fe->scSYl)0^ltI09_D1YLq z-%X6L=~Bhc`eWiXm3aigPt&k;v4>Ik;u$5*;D1dYlIW}0RMb@9eMeIAJBa~Epev`7 zv~)4e*+iD7ryeX*sS1gvGY(9gmz@3N_ru{#d)fZpcbC#C3r{v43revVu zFn)V96h0W>$=+I3)2{q!46%;9$fl(a_E`F0t}?L2EcrIF-AAGLE0qH;Y9IoitFJ(e z?1c1mqj|*_YMHs?$7Y$?a{|lE5UJv|{P-uWXfI!J!0XB5(c!hxlU*jb>f|fYS$VR8 z@nrCI8Dcm0(RE{w^58|@(2_mMi!Wx4&#c;LPuFjqlheFxiU{4Vhh4wcs3rf=`t|$p z-Y)CcQ&g^PPLlU>|x={qb1dGpDS{Z|<0Ezq9-) z$nafWQ?yZOWPhG&-7%GRR-yB7bL7*R)VtB^irna>=%vmm)0TwPX1ueN(qgY5ik?xW z_jQD$+P7!7QR~|q0?dxkgG6bwyWKqRGkZs4D%U$L`!fZ|(>4WMjM~Kd14XwrCU$KP zdD2sc8t2in>ZV=$I4y7Q$Iez{TlL~k3Yvb*r8Vd4`hcN$G>p?I=aF`(c^%a3PRyI* z23985)wCJYWBo+lil6tx9xUQ?2Sp)g81vZzZ87(|>;oi?(au{a+|qNZ)T5b0Y^hJ| zxzyyOOsOrWk)v}MMWfUykS7c z_|7L^=VU%{XNk6~VBSIV&I+(C*RqTGuY7AYqq3@HtJC^#iet-8+v`1?xzF*nb=1}D zP#;Iu&UQYto4xv~9yy(Prr6x3iX7+8#Z5B<+A}X&sUn@$u@uj?c*{m9sG4@mzX-H- zF4HP6%FUTHOPN};@xADhKm9#?VSekC6f?I#3^2#VLE8{<@&1SsGzU4Zt zZ}Udx#(ho3xnF_BrkUqZm^MP^RULdk6`rlq-sL;Hb@dkj-FH-HCjXNre{b^tjknGa zv042gzZteadi+S#lGPuxASK%$jmmtDhD(?JpvV3FF-Fy;`(rp?wm-_r+F8bDHpHi0 z3B=Y5O!xhv!!hcQ%^;~R*=K-E|&@j4S-hZ`G!@lQSgwaI-S5?i^5tGBoXw zXf4uK9gV@NdDDAn7~Iv)loV*_ZLK^o8=>f`M*^ZwMYp`Js{RIy@=cZvN5juM?2yLv%BSHc{YW6c#(()b+Gjm>OT9O144cE=PT?zL+YiQ%d z&WlK0HE$|%!7kb3@W^XCVBWcgaAbVcqhWZ;wg%gq6Td!bzf@AE^=ep@Cr?CElMFjj zsW}E6xp&iDw7_{}WDff)Bb`S&`2U<6yI36l?f8g)0 zzz8XD`Rm{_py?rk7{}Ums_5Z%wMGSCRyH!f6CDHZdz!-BQucJaW)v= ztz#nF!izsKH)^fOzEMkVkjK|>mMh4Ad{wO&S^h%jehie1$TJ_$Q!g6NQ(xennA5}D zMv-6LH1ycK#{H^Ktvwbpd>t+n8=D;PdgMhsAUCe=46B5c{II9|J<|Dq-ZlR|dy^k( z^6I~+YyMRr`5Wu+mCk=?*Zh&a$sb7Pe;shM+rKyY^V9i%-Zj6*>o>yRGoAmUuK8C% zJl~kVAf5lvuK6Xvr}J|(<@(+gxNlnH-HP`5B=$?LtZv#-Fk>v|`<{1W$Cb+W(!_Ch z<=~Ar`R<;2JSSb_{WQ>zvBaSnf+KvANU3ovAk-k)1-MRO1-H8`3F0yv81{dCFg{b9 zSD%O2xUfyK2Mb!)#qHj90LKA#@f7~w;70E(UO<3O)y>4e8OLI;PZ<>94<2Kz`kcl= zc74qla^09Mz*zajOAZS#+EW85JYXv;f_dYLr_8%pCErv$HF{0)k97R;W)1Zw>d`v8 ztPShAwu_4gNaJ%9qUU#YYrxXLn}tM-Bb|7H)uW$hC%R) zO`*ITRj~gwJCDr;b{@^$Y%T@q&xoxOnOooDKC;f22}<`r-rn=^)WpH&)4QkcOO`{4eD97LTVH&XHVZ_Q z@n1>AW%l{}0ISi|dKHxqTipB|1a8^hF{pK*I@%;;OrG7kAN3rC(Xii@cwpT3hGR#nNaf!Kj~qTX?Nr{id2>| zEnO?KsXZb+tq7`p%Falfw3uD?O9{H}b1f0EX|0P6QRV*QhxhRJGHaFOvJ^Sxk~ zVC$cx$mvF3fnAKQ6~oszL^ws}DE zNa3{d*AEc*AFTeA4Xenz1 zL0M_W5X6dZS5xIaoUdy{-mr(h`iL-66JE*T|HvB7s{c#? z$#hC88)wC!r_`CMlJyUh&(0Ua7nP;jmn?af@Jwdt$#4c^{5z`7wazN0kF24|fe>po{SEbyq`3W!IzuI(0(lA0<5y=%fSl<98`c?I8T%bol<% zR76b^Iva_fpz)nePamT~&FTS-|EK);OV3}28PUi$eV0;2oitGVvqr=*e zZmN@5bn+D|IdIa>WM+n_PQFBVsf{kp3dgk>7@Axl*{bmfHXs*OqzE`Q;+ap9B>^?h zV*%a-0|bTffpQ$uytGtZcsTFk#V6-`@|%Y*GbHJY>nG)Oub8po zH8Vb5swmsG_>(dTh%Hpp;#E7$yIK}MiAj=hH7veeE)(Z0RlC$@1HJikPHs2zr;q+> zqsNRv;>M~p8UJtasB1VO@npl%wXtFMP29<%}Soz-I?XsTrFRv*HUSJ|PRy+U?=yueLY-I~;8+l~{TpP-dp2 z(79B=sj|$_>dz_S%+O9x?#Yr;Ql>wV8&~LH?cu6~`I;)nqqt91+4!+e(wdtwH=D7Z zjE4hutT&nVcfs#xk{i0<_pv{B>2HJII^l{QAnr))&Mb)&W91X3HXR zR_ad4bCsJZC>fe!VJP#X|0GlP(kj}Q3|#<=7vITD+@XGZ3FC%8Wng4{3SB!GUgCk} zIo;5ooo_s5i`nt;MMbH0v;LtlANSXI(tPcw*ZUAqy5e&(*|Hdn!DqVMG(M|*u=?qB ztiOU0-Bi$vjBwi`!(e~@fFQ7z=zexC!Qco9>fZdH9ajX>(qtw=qD@u2o(K_&x`2sw z7LE#xlY=UQLdG@4XW`h;y}B}+kGKNETVH65HZOJ6Mel$oAtv&b5Mv`y`{6&p!`KuP z;TPW-k5(Q-%Ysgg~c-f7joF0l*rh!D$xj@E5_n5kib z;1r`hfmPC^i&-TZc{gmXYGfA6JurKL|Djpnzp2UejV!j#WI23MJB2+_#SiVAEM9IT zwzEa@nE-^(bygjOp64j5(g~(DK{6>`4aiDSw7YM%tE(uBC~F-@&-g7Kyi>(l*2GsS z1M&ja#782-C2sQ7{)Yp*t3Br@d#ruq@NZdrUZ(cnB3YR`oz>aDBecl`V%$unK%$9u>J z-7~3oWof1HCneKGafD;^P;#Ur(I6SRoIJaag?i$$$HGvR?TrP&v*-5RA+i2zMe|Mn z-A(%#AI3(uHaZ*!B}PYxG6A;>t=9F)E<(#v>ZZYdke$|_1Fl4^Dj(QWJo&hp%EGbB z%tG-)DM38N)HK6fP6Ss@>)j^*sETw?Ex@lwg?jc1CLe!Y4fiC<03@B#X`QMRUh0Fp zFmI=2k|wX_WfqvF**PnGIiH1f`0K%E1hI)_**SXpay)>*o}J?hrk2DV>2b*j%^!TU zPj72*$_UM0!ydPWBzjw&!({6P>{yfg#*^)Mu^QXdXsrW3j7g1e($!0KJK3skPcA-% z42;&QWatJ&AHxqpN12efHenfM{k9aNgh@{P$Oeu!f$9Ad^*yUHDQyD{qt)>ZC-R%? zwES6hbCLC9rpCE!{3`es&9;IDJ57|v%p=GjiHnTRl{pHW2PbqM?5S~m{1q2Tb1mPk ze7*t4=R1;(9Op8;mcylU=PyvPoH8FLw4}=ZtI=*ySDHXVrq=jYt)^7fQu53^)q9N% z8#Nxh$3mZ+GYmrhB4ajl8D_Ech63+2Q|bcwlIF`7!_18t1m5-EsZWO(e` z@dLLCn`Uc7+VW|i00MaZ@^b~J@oDB8;~qth&pf==7`zr61h#6<@u90IEy;IoTCB+# zU7SUvFQz95t&RS$;K4xkt=5lk_@5M`zb4H<_4qm5G{$-8Pxe5&JUBKJS6dlxxLG&L zR@JJr5(lt8z?xY!avxS2Jav8Yjncia-&oM2@f}4)i0WEi!}lnwaWxVj`q#%TMYxFb zt56#?V=uv(-W`EP8tfLjE2@M>iX^0zuF14R7LfOyZ#v@r6H;CDgzI%tpA)saGYxUo zhfizYd+Y^i``%w59Ar5De9k z05ajYAo_q`*l`3UKg2k~F?DcgkA@Nyb_n|yi@*HGPJ?Tf-65a-6Pmed_dE znG@y*5h3_2#8R!XIMJUHXy@+~o#d6ouiq{*y%gdcjimYy0qzILn^VH)Ic|$>RzA8!dw4hW+ ze;p*j$mk>ec&OCMdnTj*X*{5&^1*BLk`J%v^dtq;M7A}58EB-01sB*7=JQmZh{;nE zF*!{7Oz)x3lN+HXL7{1zO`s0gC#0ARjisMC(;8?zOh_-4^OT00qO)-9M;9dLZ`z+~ zO1$r)c?I*TjLVrkoaGE18kk<;C2KN!6CwknyJhPu^)fm2GSj@wStcmx&DgM;&NCEx zXgL&m6@l@>GpGw{8g{IWiI)-cJ;m%AX=pb^0neF(XK%+p+-xbJM(x_3GJEfHHk+^6 z=DnKFt>Zzv|EHyz;jK)TJT;XZyV;)j$ld}By$GwY)SMpy9KC040S*$V1n$ii;Cv|D zZUL@l#$locSE*gV^TyUqYTgxS97G2>kA9@#UwQv+qTWME_|#Oa=pr8{=T}uKfO%m498!I;NM==@vs%2d(_aTCy7k<&1g423>vSAz`LY5uTrN*&w( z*}-}+uytH|%>q8Wyp79}p{Cz>ECYO7X$IXUbu=OjX2@C^KR*x(?+h@r{Q(BD%hOhvgWju$W-MK&?}(rLUTt|VqY z<;fx|`1nC8?@WRwrGpMu(Dw*BB^`9Qf;b@+Iv^b+tMEi0fSyV-JVPnj~NSsyhfK8Gc+usmnd+3m#X44A47%>p|ac^A^b;pY1Ok8=x*{ z2ZGc82+^b6D3c%-zAZ-DFq>$UAus+_*bEr*z^49uCZHD@j&<>JKW}uATlwm=!x;XD zxsjU-J4O@*+{mQ`i9X>KJ;mh`hu~4TNI~KZ+{w;KkYHXh1|dDIF}<}h;8qCi=FF<{ z1UOt~aco-f*PkQnJOx!&nAU}^KMqDPkkaFySBnv7P09pN%J9%paNXztvf^tudLjb! zsqxMpd^-|la+B*U9z|Cnd0k7hoz|s76+&JCPx{^)233romp551;PO6@TJ7*4X`z-A z%2SleQ>8e|3rt+>|2^k~AJg&t2HR&?=xk&w$D;vT9l59MU5nhC8#N4xs z)DzH%8HXlwkpveebtE;@ZzQM-a zsu&}5J#1qvCk@71HRFKFUu`g`%k0;u^xF>xZXM-@pHd_EYhp8(PFuUF)_I7%r^>Yr z(`zfYH{1YOv9t0Rm)x2?QnLZvSe_V>nSzj347M|BJ?*?8BxN!*^n+TU$Jqq|h^=`h zk5wrAxnRZ$T{oKw^Qo}$X_{`fVYS}^ot!boAYjG76rDUf+(W>5HfDJ`=Ir zcie6EdRq*o&}_iWL6Y0M{aj{|G*0t7Z{E}eLvZ0T44H+CAC zp|t`cM2vmg!)fPOss`to1b^s~podQV`V(}$pJ=n>Q(uB^?xpzsDBY^-YspG|taudHU#?>Fhte#9m>I^9qSclg!?lOv zpPk{b$&xx^V2_hcA4yoquqo~@IELUNBSVN)-U%!OFwv7v0rF-BuCgvPxWHlfSqA3u zQpqCs{z$x~Tcz0nrIxkswbE>VWq`G^BKU||P3yyTDjP8&|AwUH*@!W|+Mk)V$J*x~ z^DS%tA7!w$U(>brPj_`!`)7a(3 z6;G_C)6m}~L#N$C`e3dT9L+2|7F$g0Qgs>>|5tQp>`CL!(T%)od{J&rhW>Cb4aIMs zoOTA>*u!SpYb*(`7-g8ZCt)+0pUw3xeMSYtD|%_}>tt2Ky7}bi#ExRWEWV#9{fYVT z56BwzY;Ej5Q=$n1F3i*k?O=lIA%UpE0Dz~Z53J4Y_eFB7lPdy^1O6}O-aS6b>RKP4 z$psP!yx}q$1u^QNp`s>=%5ag4BxFV>5CsJ*Dy z1cVOTU!q>3R`IU;CeMbs~aK5(CLd5{35PN7O$GEfd1ORy%^OAwG^mO8(@uk;WAmQPB z3VAu{d-dB2EA<&gZvDoA00YWUd6vzR+O@f1jkO^z#&&|*B*MVi`4I;h~_ zVN)U#GZkpXtcg-1DxzZ2m=TXm%pUonF#83Dn4>ULfmY0Tsf?JZm^5a@BNMYFKNMz- z$D)}Ev|={Nz)Z!YF(V$Cm_6}BVb*jk%v7KiGqq8gy-LNTF(V$Cm@O5|79x;V(f$uT zfCkcy)*O=R0V+^1>(3s5TNh|a6`ID1I0#ls2B!31FixcZUll|8FF{=F&5J1gTLo67 zKP+?PR~X~9<>Ly>O$)8@3$k;x*RLu7Cbe;a&J}8vuI9hl+UHXB*23pwnnUj|N%j7| z*50p$Pe#0Pbuio$ZgUjCML+RbM*_s5JYiG3@rCG)V47zwW%ftZiOM{JLBlNbfD9mN zQamC-WAku60IDt<;2t?4PYaKM=G?M=?%=(>FsNJz4-M|QMLXGoNG(R` z6CrXPM{%)^4V%|+rz`(~__9}}J5Kx~l>msac}+x?_pl)HCwPd+^sb0xBkze2`GgE( zAkqnU8WFpIGFgnHUc8$GeSgzW1IwJKP%q-mLPwLmj0r#sFUc6yS*U7y89TM`T10mQ z(*vo6;un8UnS(54_RT1BvQcJwc#lt2yaAq*vdH7dEcAU0TPLdMI!^fpbt%53D;heg zP*qWb$Dfjl9+Sr({GKxJv6NYtQRWDvObd_mt~3jdG;usLS?hX8hAAE&4-Z+ZS69|5 z`ku~aN4!~izA>7v{C^ufo*shZe?t(>%P;&=ZpfOQpW~gCFb#ZzFn$1lCGi?A4pTBi zI-`wT$o**wmRR1#MuN;~F!o-RZ+RRgTRB;$OB zM-ty}Bu-DhaX!PNWR@XDmr^25ao4(?gQ}b2&36WgGN)=NjaZtA*3weV^b|a7rrt7Y zSvm$Ud!L9$WnJl;PV&Q!*!Bky-h4RQ5nFyK_PD8z= zE;EdzUE76op;?!Kbenb2;9*_nb!`_Oot~&Je?+`lm;Zz_-7cIt(_Akj^FRa%|2-#~ z9_I8RO#TEiOI$Ivd{aV$#0>+HB(B?0Odelr#w|aZrze4_B%i1_Wc0we(3M@er_tfk zLREYN^NIX^no)_g#OLPSivOGBq=2=d!j`pz3S7oOW9{&g!3-*96Jp%!t9sep*rTMa z0(}7|{P@Haf81fDPfJ@r0ImvH7hF}K6;~~z>|@|cnIQgDimvP6%H-uA09Vy9y5On; zt+?KtQT8!#<=_zihI}PFaEg&W-I;y>Tote`xT-)at}n>&V6KIZfh$KRF@LXc<oM(OjT-87?xTaSnDo}7$tCE}3 z$s4 zq+$-A%{=CQuG-J9`rb9l8z}BXWAF=zH^<;V!!sU)13iG4!mQSCvqYy>RQ~zLTuu3J z0hY(xyQxtaQq99$L8&=Pb*Sr;ONgEzGs-|l4Hs!-6xQME*C170E74^qMNTGRpMy>I z)Wkv_&Zxtql)5ejXi0eqQyypbJ{^e?zm;S->ra&;5Tm2_T_P-2-^XOJXPjME#}%}< ze(glq-Oud@MT6+j`~~a!!vV_*m9g|LSg7@B^g?^!u1M1|INT%0=LJe5!RO(2t@EF% zz3}>iubIu?f5F!$;Tz~T+QCl&I>HTWMiaFE3)E2*Z~8#BCc6&Sp0blIo1l;*n$E?+ zx%JrjdRUkO5uKu`!%Z)i%s(8M(8|dT>WoDooh*=WUojgm%I8r_q6G;Pr>KUjxA`x$ zL@hy-8#{Vx7GyQ_Kd}NG3#4v{6=cyhmtQP&`&={W_RF)3PWy<8IgpCENn$eg8?K?k zO%uS$S)QSAGn)!i*!}#l0h_{+5Vd}cLk!wm$A;-8w`bWRf2JBx=q1M5`MeDFNY#@@ zy9f^6qEIXKgY1F9uBD#aP+>co#KlydY};jC4TurtW?3^a_wi!u0(ija9Eq-X%0 zbS4_^0uX<$ig~9uVnhSz+cOa3F!p#0W4{-hr60z2zpl>AcwSajlu@gbQ7h<{b%)YS z0a&@sf407w#w>ZfC0b6U5?P}n^Yztoq9E1-f2T@sV(C;ciQR+JWxRguB4LXA7$f8L zbcvafe&2M#CvC{#*5Bk)ZJ%SW391v9DpusPRAoxop^i;Kg`Qlw5W1?#7QXU?jr9VX zzY5#mSVP(3?~yssS5kG7SH89(l&>~zlGyAnU@`23XCK;?jR z%Oy;{(}M|(XR=5-MTP=JbA*-BHB(u_fz9`FY8;#wmr0L# zt%Xccg%Da9o*_|*19cuTTSXiS?SjEkEe70hyoAFdDg!N8+XkeK13DQHTFaz+P3~z9 z2)XDO((!IlF@qT+1405iU5JUer7EQ?vCxZiO}vpIMPm?o-~vK}GMjpOL=V^%tevG& z%2k8~eL7q0Q3WeHdV`9&B^A?v7z^-~N9a!U-{xQg1yN-tGn z*9Rpw*!m?BK{+(odQcpFgRNhQBR|-Bhz|ddj-aHm+o7pINML$39!QzezmhF&d0G@ zyA5BCPHGA(<5H#e6FH%mz%gVF=vIo(D}|0KqgW`tDzO6?q~#771Gk_kF@)s|wblp~ z#-L#~x|$}z6S!!GR@=TC0qw4)DGWH10pnG`R0i~6z+M$F4FUd%f(!!QH1n=E^Q;!@ zra_dL%9L!WsZvx_MywbKlSx6A-Vqdp5E5+N55Fyd_q*8|eK5Z%J!AR{*9RGEFZ4U8GwcsENa6R0FUw^sa0Y!n9QrTq$ z61v1B&Q=(*zoCUiZCx-VSi1?-|7VpS^4}(aqvzjH(k9i?12Y*XRpY0z=N12y8(-1U zzy6Voq!YTC;?OlvG87f=xhm%M95ZGlVlZBtD%|hCtA<49S`LY({A9d$OZ^onbg#<7 zTnVxD4Emt;wA7EGEBfOkv{AM21`-1r7_dTjwlQZxm*Q4PA4m(iB;ZJgcE5`iOXo|jl{t$I89m28bUixu>OXhNsvpR+0rJMp`cy2qac&U zTEn9ZNA78y)r0WJ15Pr9a~9sfkUoo?P58!9*IWrCG-g6!c&@>kwv@f z1~ugwGJ-klEpi4~1Q4!8v;0Sin)qtf#Mg40n)smiW8las8dGtNprK}P0uMZ{W^nUK zNKE3UjPkN`2@0SjvW(x*;ckIzThRodw#+!JPBeGoxhUAx;diu7{@G8fF6yqmFd=8b z0bjArmfs$L>f-Yvu~4uuAA($a+X&k-`%0?Dlx>VZLk91C*kr%?}crZ)t@IOA+~2-p_JK!k9}^6kAUzA zNJvHftt2$oGfPmlR3!l49>@!*KT=S80P4YIcCbed4Q;m)8vw&33kQ(oQ*LBs=zB4| z#0Fm3Z|Js)y{WFY`sFqhzFkP`TPOWP9CQuWM~xy(b%e?s9GU{Gnsf^OCRt1)c2Y z6Iab>kqlnf`*oLiLq~G8&_OT+?@AQ;>|c4J70wE2-~VPP76cVO{o|w~Z#J#IYvIL` zHdR*r;sjJ64SBXCIN#~T!eBYl!0EC13w!_zi&VIckm#3oSG&H08az@#FU@PO9`c

LT(=3I(L=Jc<7zR9%6+ai{_+ZKc~26_9om7&ciZ=NtH^(I)c!hL_gdp0sV#^8?HYTilW~dj z%Wz$6jgh~;t$la5M8C?ijR-Td)o*OyU6B8oekf5=))v~`y?u9IMCE^$-=QB`khIxg zSvI^F(?VLLZ1L!?dxreOWB)RA=zOi=eDEHg6|}@l{oX)Ty!u+0g+k?A<>92JKOwbS z?H^BDQQC4hk@V`D^>0ESoer!0opqJfsCy+$4?H?87Z__&xXOtyFA9Zj4s4pV( zx8)zwJ4UmX{^FE=E8p!KvVqTP>YGDJRPkJHie*>pU*M`;((%t*M$lHWX#TtLlA!%F z?~qRr1Es^Hqs@q1fx6gtdR-xy!H<75L{Q7>dcG(m1nTg(R1*)iWnS8I(}cP^w{uFAMV=(=vm1T zL0%|qgFmqY8BSt`QUoU*vymb3I>LUzuwn_D!mt++c4s=Qf?-dx=U~tR8g$jrRjB4Y zt_flfZ2^sf-;<~giQ-d8%?oiYQO(~qv2Qo4`FlDP>nzjyZX>u_f>YKkmjKV$MkB6F z;?le)_xsiT6kO661HIFm@^GOs>gX73-k8BQAV`AiL8oz4A}tYp;E2lx87S&_CY26* zs4Cr;m{!bmairs*p{^0Fxzo5=^9Qu0CuH31G498dV7IQhJC*S3vX*5*yANYk8}-Kn zcpuj>_2_bPj$2?sw#c(!X72ZA=&R0z zfG3Y(eur^o6_4>{D(LV2AG z?B9dmFK1ZsdlC3yPUBrG(EfR6Ig0_JQ-IV8D&Hm@#U`R$iwOmB@mCO@ON5z{2v3u5 z*vb7=Ph^p^mR}%zQ5xYHEke&;8Te*>5560JX2o|Na42h&2_4vS1x0L!W5!t#Llu&a zIvIPOb{4TBp(FM=za)}OKqO^qg4D=o_K0K+zd#a}1o}I1|5IBIslUw*Q^D)AvYUR4 zHt&x+fvdB;PzgRxdk+DAp3v)<+>fBWKLJK52?H2XhnN`71u0jw35J_~&e8E{XDOnD zoCWR|?1HM$lPQU6P`;3M<%^9seu3(RN71t^X0`72VCk zo)~TM_Bi1K(@r3{;$gw`Yy;C;Mv<2DNlPXmf~2MPg5y2$rQ0RPCK>#V_}J z@Y{Z~6~8+mJA<59oI?X!|E2;e;@GbXJEs97O5K|fPJfNzZ!`SmhMz(i<8Aa~g+Y$i z3Ku(z<@<=URMI`-T*7oi78^T?mSuwUP)=AFG!)lkSRFX$Hcy0dZp05c7bFNG0okdE zUy$Geb377$&&lBTZr{W2@BY-v?=>KR@Ou%DsQ}nK2-5|rb)nt>00a^M zzT;u%V;n&#eRsm6Jy5$>zt#X(KyZ68kCd>RX}G9YEaFho!FTrnp#~790D{~Hv*fQ) z==3u4d(8ahM*cUakrUQW<6$0bWCOXh)D*uE7ieV!<2VP_n8Gj6Ox;Zsd4c%it_ADA z*jd9QLINrCBX(jB!+4N;WO)>Sxgz%=WB6L4U!Vj95bvg1VXC7sj{ zt6>9vP{CKQ=cZxT8?cueu$L*=8Td+Enq>svC02M3r{SGtz}sNJ+jIup0o+$Wwz&ZQXGn130+pw-a9h)GKe|D+b$Jk#mWKBmffvTzDbxq_%S+LZF4E7&FZ=&)33%Cg2)X00i$_fqq+gN3gZxQ) zWZ+ZCxGwnQG0f~woOKMkWgGP?Wjx>x=NBt6YkNps7kDLBc$~Eic+X8${4s^`s9z1f zia+R*p3N`o_oM`%cjFt6ibqWv#A7L$;yC=VgmGQ)p0GT?$BYDiYC*@7qoJBNYY z2BrpfZTKqe=puHl{5Bla697`6g?}f(%AS8bBpx2Txv(1Zqcd|+CbNlIa>is(DASEm z^nYGIf;$*RHvbhIJAwks*fZ=xZ;8vOAE$FPo&c;h0D1usGFM>zcq^j}A?`wg&% z_?5}w82w8U3H?>t(=`M#6x{uXRAp98a4VE%4LhX^>$i z{JHQL@I!#lN8v}X(QC-$XciB?s#)k_vy}5|W*-iZk-Y-hal(XMRSfqs#9+AR*NPqO zAzS%b5(<9l`9@X=W&yIu0FDsbKe|qut-nptSFL)`O*lOrkG_&f;L98=RpaWwaR^!#3^XzMiRXLSC9{?oB$6q+10BPR!+jxvr4ra@Hj zBPxbdN430*bwjPh4k~TgLdd`#TkJyMNu0R+j`6)SY`etHds?>rQ*(NY=X>54#C>IK zXKpsOYXKKenbz#%!X5?jy~Ud$u379EVXtFv>;>qhOo4fn3eY-bUmBO_)oprX3wp47 z3NA`_y&w90esw<(=8!(ZvZHxyh9Pojl_@LaW3XaAo)z-v(EAKK7R6vk5~t|TLKFkv zOD!ls-Z0FvTkhNIlP&k{4Shf?^{Wc~5CmZZHc~GQiyR{jW}l24P<$$ds)9&r0>BVe0>S|1Da)b6&r9g1*ZmZj*|b7-;n=gY+!zmnZMk~|K_!VM=kQt z1&3zHkH}wZ8Jn4ZrkQ`5k^ce7ZyfD~WaQ55uI18SPxgp>_#2Mj7LdDOi@J$Hs1~l2QtZ&qPpNqOUz8LXJ|t%t1(ci&vESSLtdS1^gktE zAERNHUBjFEsm3w)$6y~KgUzs4mEyF2fD4buXiyaW`e5(#|JVDqk8%GA)9#NvI-YjHm>qTe2jPa)ix{n({}A>EOW3MHgc*1B z`$8~H>q}?spHfzVnLjka1nd+*85DBZ6kp^v@bV(j|MI&2u7yMbg;7qfO=JjxT}--V z>;Uh>83Z7-Bl1-^=lUX-rQ4Iz2xG_JJZuRU?Q<`W3|->WKUY{M*Z5CPA5XV(=ZXhe zzeSY@Y8tn$XY$~#79g-cgtx*epeQWzJrU@(sy&&AOW#+4t{C+>3%q(;@;AXEfPi`# z1{ZGqqvTq;YIvYMjk_h~lsEA+36dwK?InPZbB(Kj0Zy~&v-{_J@k|S|B87TjSKc_p zfpNLkM;_?n0Lj0j6uy|N7={|~{5STHq3P8f#xje%p>=lONTph*E!-iOZAfvw1X2YX zBfb1bmt?s>Sx%_2%flm!sFLULUZN+8b4R|dg=D1`^opfq;zo~oF6jyaVbbp5xG4tG6Bu3*s;bJnNbJ}4ny6p*R|+LWDK&L z@abi~D0WeiC(Ujc-?^-a*j8nqPKJRJwCzkX6VxW|n25$T)h6~Jo1r!_FkPcdxYq@p ziQe%WQ4;Y}e5&VQQs8L|e!%1%X?2O0PgCj=!usVj@kQd5lDY7M?Kz|cy0XMsp| z|2=N70r4z{@}@8d?M8GXo6iMSwDBR(z&3cmeh7+2T38SxGl>N;gO}FYD@M+C4%HUr z@e~tjYJ7Sz7>QK0GLkNbYImWr;`g!EESVHkMJo#^Pom}aPK%_Cb3<{OfWnG zGZzX4g)KP=*cJ<$65AB&B6FjRA_ac*h5~SszEkO8K_>Ks3EMRJq5|6 z8N{+$0!45h7TH!ypy<-D`?IiyoCGVUm~x?72>`LZB+;oU?@VR*J+|plQis9Nxm+V2 z*vnh+33nNQqNk&=6I+h>%bL;A$ZMH6^l$taU%NKBP3zMrN^N}_xynO=&m{peB~&IT zS~OC_4Eh9PIvP#YM`T-sK#wwr1KT+L@gFwy8kZszpGPFJaTBtUdl0fqeYWA#(I_$y zT!6g<@kSDA5)%YIh^WOf!H5XMiHN!UOx}pNmjRxC9gS-ZmsXN{D6bz={hdY2h|Sy{ zz43hnXnh{og-=K07e@My#zSz~0dak!D3GZvtR=F1%Pb|i%N4{NP(nqc2clIQ`y&9+ zPpRmE%J(Pb8wy`X<0$;{PqgfSRJnvwtL zaYy4Ke6XsdlRJk}M>H#({Of4sMkD_`(N$l->52NC&K2Jx0QT1>jIectS^qCd> z5*`RGfm7=fTFg&LZf_|u)TVrGANFP3Cgt1tqWJa$2L#$ks6L@W^(j`LQuQfUpBj8T z9ieIXs0P`F!K)Zf>l(ter@!D6ZoJ{JmzI*sDuK^~DRAPVpc{b0@(4Q(%q`jJ-oDkLl~Y7Y@^ z6ZG!ftFSw7^J*1%5c#yx5?%p`ez7_;gY>i?(Q-rJqN@cCEZ%V1cqi%D&P8J;;Qied zU}!171>gc!tK9C7_%9~Llqwv9*@GlW^x{jg{4I$uK(VXXSEM+M)0j8~xl33jgI4GZeP1BIE0TdZ zF6jn66lPP_s`ZZ8V-AW2=A{OdMg}FJDIuW5Q7|MY4}n1?gS9kO0bd-40?}?12+i`) zR6jjmdD%o1_zp?5vC#{(IPH@eikWAbcyez%z+p+X89;Qr&(`Mj4?f|+kT6UQzEYqt z0ivfddZt99am#T}3llUOQ#L?AShTp&484f!g0<|M6giB0o{#5%7IHh`$XL5Aak`b9 zAxvMGl%k`r*zZC&`vOCcRi>P-qB*k}mj>nqXgmuI7XX{@jg5rSNX}=UKWt8J(x|%_ z_n{HDH5EtvV;hX%HfwNk>=`5YPZDgb-)JwjSbL%S=y6c+_B*u~+D2E=b>3(XJ^>e6 zI)>U&izV+xl1MDA2=f(2tIR;Ab_fr-fO{ zFM?0&i+5ve?>+-t1#`{@N{}X=&jJ!DBR#MLoB=yA5qRpUAi=X7K~qyf*b&6dc?69~ z1#zT<6cKftfgoN~a`Z~Y^)wNF;tB)dS!{U`L#zlJ_&#Uid)l0zD13{$;5#A(nmSGK zg@hk<^h<^IAu_ik=*w&anH_K_vJ)Ap;eVTP-=*R(7pW$BIu#`Jr_tkFKa5)im zEP9tisHv27KGvTyxAjtGA7yYE-4O2!j{&n}@auBZ^mP3kObERO5GxCFH1z0ai+{%H zHtJYN_ZlJ_bxfyws|ue$_iM^M8g4~u(k|Wsq9XNaOtC?w=uS6ZSK1z3vayQW(RPI~pz6o55G*{D20}XIrO1Ioki8{`PTb0Bn zkDsMV>dq9o3d+AQEyurBIsZxbr^>yS?zt)rCAIiJmAjel%?1W^uT$y`Thx+f_2sf02|xpV2BrQDqF&HBAdcasWVP4|4|{xjXR%DtHG z>B@aK-J%NsTiDKT_@ybPrN)C*6IOyMS(ku3uojGU@t0-3DFP(mhh8f12(K zlzTDVXDRo+bU(_;JnHy4-OnobM7sZ|+?UaPmvWcTeZO+|rF)@rA0Z7VEB9Wyf1%u) z>Aq39U!a?pE>YGabXRd2jye|5JyN-Ep<7LP4jE;Oo@@CO(l>0H; z>q?_sy3KOoPTYjVOX#>3jxb|!F_{o%!mW6skUa6E3UxEZ1Iq2BJEYt_=@#J!y#;+! z2G{Mz(2@5d$Kv=;Rnlb$jpLmo7V?0Z^o~?gDoMsKRY@;Tg;JX`&etB0sjr#oGmf}2 zP2u*dEuN*KUqz@C|7;OQbYO+;_=t{E;CP%4+-`RKnht8Nw!@)tl{>#Q?t{=-jOIM_<5V<9 z>A2igiaK13z6#M!IO0u+fxCc#_rh@)#sw5e4)*bE1#&w=1!PAmn$uo0nhV=wMaOr-M~F1rAj%C;2#T5EHF~u+1ywcG5_%viRGHX1 zFE?hmr!Gs)aHjra?>nSi~t-694IbmF|xg-2z%wAn3J z`ahu@qkl#{PA#R^K-4hyG4{q1sur=&?>FT?2!ngXLwU(KkJLCL9?G6mi`no&_LJ0XXzZGM zqIc!RRuNW6UZypQjz7(yNPVGs)TSuHuy*q|AIf%O+`5-iMG_ z~@Yov)wjZ#?wXzsc@C-tPYb@YW%vVQe z?H_I-Rr=NNH^4lKK4#dO1lXg)z!!5mw~X_mY-(;R1G&N0>X#$_GrU)e8iv*Zw{;sV z?~jt-nSJ9TW;g3c%TGWH2cBb6Xe9?%0ugyXWTN7n0sc#HQu+-j*lo^G?v+J*-N->G z#YP5;U@>GgGtWN(glB0-bI+dPtmm3yQ0@Bob-4YIy03AJW5ySe7`TLizRkKn9{L2U zSW#O%A~*k-pqej0z~D9RKyUW6@5u2)@7T|K=y{&@eK|h8&GXeBEl8CypFQpq^UHux z%r!f9`q#(az$0Cth87-zB%)R@5R1~c{3DDl@i%dS2m0Z%NO_liAA93xnQ?d@1OtiI zQ?|%)jDf<9Lr;1`#4*=o4YVj{;_+0B*PQs#ggp?9&e?9llYJ zr0w5$L*M0SjRi9I<+fsUyyE79WgdHbatD``=pEw`g^Nv*iw7VB^jo}sD2&+j>@*sp%@$gdb6iwji8pg@Qw7{>7T}Wt$_XDv zAl^bS;N#5`z}H@|&9Ih0>u+GrtmBsOQoJNx0?s>B6+Y%r)B^Zf+I`ex0{kP?%`L?3 zsH~>3S=tNsjAHIm#h_}(q3QGScCwDD$Z|M^QlX3yuSM>k^U^YklS2;_XKS+1i)uEg z4V2}NQ_L%g8>9^XwS+(VtS<0}e4#BoLOjsw;HpBO{x1xD>Gs%ONoUxLp zJ~%j-q?E6*b;S;V;kMkPR|0Bvo=3k1JOx$lwI1s+O?32<*SI6H6O(fMAz~06eZPck zVn~AunJ*zL5t6tQ32qhd-{`#s-W$ccgx)FeP7v>}=*6wP(dFV@Nbd-E%fwqxFNB-X zXNq?^y;wtz?kC=B=j(EqxE1NfENBY`UUJR6gF9@h+XO1edb7|ERlf%SDj=C-B zX)-yu^CDb=E=DGq3-JCW{M1L{ZB_hngMET$Mn@GC9M@M}ZR@C-#9(Z-o%}7g+N!2P zp-Y;^CHYK*lk&`$)G>LZOe|vCm4>u zjz-S){KJm<^U8(5zZg#B9{~fWDgR2@>W80P|U;8m;LbI%NfYz`9 z`Dv78DZcvC#`Yf5_+SOHGBRUQWdnA=20FPB3Z;jaWh0lDDGIcP-y)AYbWbgAf8I~$ zf_tV5*&2e%H07wkD=A{~oY z0@PAOq@A%p1qRInmAoT zc-WKZFHWwK68YlHg%cLCYAbOs96E?13gGrzuRUK|N_@qJR2)@H62Fj7MWojMiWH1D zDiJJxDIMCXre9DP@d{B;dCyPB2{MDye!&R3Yi3@e#oM}tkttIvA~WaWt=~vfA;?yC zAkxC~r?Tz&uSS}R;HoIwk-u4cu)WgtMc_u)zQB(wT!{d!K7>C9l|7N6XsAk?{*_xl zsDDtQ?@YE7dl_B{i$2Q;Qh%5LEA%CVW`y(1OMf^|g%{uxe+|H3m}C<8l6|W}|I!y3 z=JZCot>Q)uXXQe-{*}JHLf-+~4JZMJ!ziJZB}h#&ieaQ14>%}buB9w5(6_?1ltl*e z@f08nr4p&)Gj1PI_v7OV{eS{bPSPb`g)X^J8|Fz2b}b_`yxoEs+9h?+8oq=UMulq$ z6KD-FQOUsl?MVGJA#5>%N7l~|oa;J3dIj=a%Xq5iM`M$6u&IUmM8;0@M5X3eaK)X%PnJRT&4BQJ&ViTsXz zk(`0fV~aGEB5_$f(lQL+in5Q%1;fR8K)9g7wL37i(sd*-+3orua5dRrEAsnr4uPub zpFvpy8Z^n4Y0^SfARz&QgaS`rMp$?n1K~~;ULv1mL-C0}2T0%nC?DfM1=<&E`E;w) z0;DH`7p^1jV}fNk+JJBaeJWh7gbY$YOwd%AR*WhHf}yDj{V)!VS`<+7s$>L1F`F)# z5@)*vOReEFG&PuqQCdTxcm!juAsZgDUx_y&QwGmTHlZ3c>LN3Vm|bZ@h>XTO;-bd~ zY^cw&<+dzyaBjyiu14&YcxlNUY2-wsw+DCF_0{bk=LL7#_4V!h3d@6g?Cr54Cq$FG z^M*gb6Z60+!ylqOp+KMV;V;mhP#|x3;~{+gmDOMg+)X=x|A))9v6X-B-FmUsQsftcl+MFiu}*>6BYU27!|6-Gnj;59S!8UL#v(u-u8;f6EbfEM$d3- zw>5GmK_7*MmZs@Qsf^d0=|!oq&H|RgU~nE&R4OAbu(WeekO={f^QPSZvn&l}=5fG` z=n94j-OY_Tpc1Z+|1B3^*m4WU0SeY*8a(g=vta8^q_YL^emOcvg-j=$4T#eEAmc#D z%De@wv*9GaY2jg#Gu7*C*kWOlj-Z(Y24x1QFxS#rWYZe@AxnG+et1&Xg7SP3HF-kc z21mwWXAogfm4v0A#yKi6)@X&!!kPP(B%hTo~qY2ciDZz|>Qs_^+K{b&5DZ8}!v+9a z^I@ANip=${Ys1|I1kD&?869h1u*MD$p>K-yHFe8im7;Wj>TFl-M`vqpWx&}R{cJx}~yQ#ZZpI~?Elk;b|^*O!VO*d)r81?{?zhVWU z!W!w_w19Y{GTk#O6H8Ubk5LL0*@RvIji4T8B@%fVK$zYgd6Xh7IPdmG4rds}(3{a~ z<=h^mEr~R(MYz`RvXSfoI%r&rCc0L;Uey{uEKmVrqHAQ+1}1OZg+Q=VsFf-#_COgD zzu{U|4o_e(bJOD2de^cF2K0Bec=#=FHTm$>!tVkEn-yuSCcf@fhWRkoOqY0!HMgt7 zYnrtp?2e!mC)vB<$zLt}pK!--1)VBfJG6x}ffX7A1qqf5>oT!CC)7$P7)3&@#LO0O zV4_jDscgj0Kbp9eCCd&%3c^yY0J{w-lsbZv5qUAwFsHthd0_vu3uX=5kj5~GhI)YN zfyt;Zte{Oo`oNVS62inVnu<2eqg|*X#6X%EF_k$^Q4!J#X2di^_^S<4b|4h@T58*b z_Hd{sq(d?(Lup7%x}xl(jifQoG?X@mP%U=S7-yJCOPpmSGDZ<)Of5Z%><3n4UoM%_ zeeqL<;z{V?oBdaUeT#xFn!Nj^J-faKyv4y^&bIka7QUv@J@9pZlbaKL*)vayFUJUE z^15^rg0u_)<6-_5!iyJ|LcEciaMS1ZqH5|h)0|E&H>N}vR z#*kjLp9_tY%f$=5JW2XgI_Z{F(w%&%5H>@_`cixkswT!s&gB+n!+U|1(l?e$mBSAp zwj(GWxL9}dk)Vnbm|8y1Ftt1wl!uwkVw=BAnnan3FT@D|$`6c8+)6vj?^&X7^tzQv9p_gESz(ZwG}?WJBzRJ|UQ zdWok?y{b-7uTrC47{iQu;hH#DO&R59y-;GHGJY{iW7W1JuQS^div9lAU!?8$&NI1eW-vyOTy8+N`B6cX2#bpQ?C8|gzWWd8BMb1E{RY2e{ z!QO5bbh|1#-uRU~?ip%*LN!qXis=Z72QDk?jX6ORl^9J_oNA(Tq!E;bdNxtw0ya&j zC6rB*I7Kzd1vs~}M6pTME8HT?OdQ~r^7~^iL(&7#?LZ@ZP&wo(9J(jm#-wa8nY~Pm|JRxfCYXs16P}-3M|nP_SdWribImR0W1Dr zSXU#J7Vd;2osy+8r7D#vl{kouSpCgK3=C9a3b2g$Q}ODoJGiO`+R6S>HTJVYTi7tJ zhvyT==|)5NxsX94o?{D)3eLR&l-Pu$3F1S!a?|C&x)jeA1`lWPg~G$x#(RZ!d9N_b zpQn05V1=2Z4LMMXE~Qwod1E(s-yZ5jt5-&z+J%oh@eWu);F ziT)eMfy&6LZ}9<0uD{xVI@e^Yu?W)|euD_DIf`G#t!12c+dJC%uLkDNo5!FHDrhT% zem?IO2L0WD@DGMvGjAfpHW^`WGt4~?7Fus>dfN!w#IW<`oy)Lo3Y=s;bzTvJ-Zzp- z5wIQlF{rIp_8zdgy@Fdh6&N{}0m%w|IyV`ghVujzEl?EI8raE=ts9i|2L5kl)&I$# zUHpmZYUc+rU(%n{kGS^Xrxr3!XNd|F@)X|rcAlRoM5h&B?QgsXhL{FDG z!}ElASlPIGU4h$2v}WBOd7qX6gZ9a@kAqbT9k-rz>t9ytZ^Jw;@QE(~++eGYUz>mU ziEDN&7`Bn%#q!|Xso>ENVEpeP>`zf;iK5CDr>^9?d_t2fw!aOJIR zRiJx9Lu`EyPh>o#yuPsJ?uqnX^>gs_2^KG(00~Ris^7`&8MPL7ukSt}{y$jmA^ZDG zb4vUXyl_O9BmQf?brii4yU3^kccE9s(J9Mz$qsLP1ZI3)h7$JWRTD9A#V_X(MRat} z-PDY5EPU2wTX_aZA6v2-D^;qd9@r%@!BotBX3SOh%j7RuFVL2-F*)9Q8()woc7Hhhj!XwlC8Zn zFMkt$+TvN*ZPJ!+%-?VwZlZ_^GM%W)mSX8_}m8*p|mR( z#cT>9_k#)o?>H%CiR9oJ=klZmYN`!`L_yJrL&|(S6OkM|9>LT^xk`k429(ba45xcJ>?bg8fC>*9)9 z5U)1(1LC*rW#dy>m|9Yzk@JgG5GFiD*72ts_&8LhaJeU?uK<0|n+Ec>-SeQwY1kikTczusrK53YD;_l1qE9<0=bO)%;-3V0Mx_ zY&7>B>d1>f2+1cS7%z_?c>FD0g0WOYaMf*Hg7YP~^wwmuD}L$oyBeZGRfOFrmhWXp zZh|${dkcM0XSNp?Ml^9 zM%`T$nf{n~*c-XT6CG!Nu^2^pzS>a><+bsB@O(CudG;Lg40*$2f1@tfV_#oCr0gwN zxWWtEyj^T+D!K7Nw|8k_)xXGN8({Ab_AU)V+=x4L-}s_)#CS(jod~hQheL%A ztH_5pL!Ky10qZ-kBE|ha+nsVAmF&MG-NYbBV{b#-m-n4YQUOrXZZMrowwZ520Bt zU8b8?zY+U3fEDRh-ZZq-8yZ(=k3WT6&=*hSYpsfiJ<-y%! z%7d>5%bR99d#%Vqvc%69U_aGnn=`aMR^ZeMI+;w5G0&KSAUwUSd3vwFTELdLxINal zV85BNz)We)*4vs*lWs~~{Q^>V?AzSCMe7#ILrI3h52na}8I^1pfYwO|M=<1SJ(G@! zy@kZ)em5pZ+*#`G!4Y^Kulp8`FVqUJEv98Z81?g|9`U$%;(x2VR+u9v@y_UL{iH*B zG6tw}8`^hF?5Qop?K*TitNxhr4pXGD1=aVAY@3QnM zgw#(#!axKz3~YDiq8#yh#6DCYWcZ-`?=^pG&~(r1m+v) zGNs|e#<-*a{O_hBzQKR##pQ;fJ^-0giw2TB5SWn~v7{SDwq`N>(>XBk}p_*XBds_Gz1bK9vCd16O z$Nr5NQS$0XJPAwcHcJ4JJSAlvE;T8|2YltG`Y9hx@1%3)b^RM}hTV zz`%B8Xw=y@|4COy{AUZl6|Z6gyG`cL-Y{5ON`l8$v4 z6}+y027+?f-S8>z*x?ECzY}2?J~x;JJ&dOpeVq%|tw=a6} zML?K!wRR8Ct6JY%jUHa^g`E=rES%@FettK0&W(xsh3r+(ifV2NJ)uDje zX=aClM&z1O;*Bj^Xh*SzL!JKq-pIX~6@>1j*Y!zYVJ7~W<5LaQY|(hpdtn#oi0V7q zxZOUe)B3b=U%ADmiBGFK;&pwYHS(~SYOkU13h%6{c728i#StRnjSsqYU+vI>od{s% zt`a47kB*UqW+1NSq65?Q7!?flhooa4#7nIFP^@-ekl8xMayYQDqoR}fpc~^jjE4iO z8X$D?n~QS{A0C5}Pgoc|?#ABWt~mA+#j%?f>UzMsBhwSSMk z1DNi(^v(U>(f45fvFPi3N9g<5A58jQ@Ql!R!{V;=#d}|&PhfcDZSbTlt!~WImS2v? zK5(vg2jy-p3=s#D#G!1hVIaC&@TEQ2KC(53_Tm%B!!}SuH3gf|GVz_D$W_YDxus$SNvEvR?0Xf?Fz52}WYkLlqJre-pry;!o+}~S)C-D7jTnwJ+ zSG+Lj@jb2fjQ-2D*W~d5`g%Su1}CK81L0qVw=U?JlmPy z9NdjS57Y$$=fNgspyas$JhZYH+HFG4Itqf^*sDuvQEGE?9^ zhTK1F;Xw)((^WX1pq&sulk-f$W?-pHFcY9)Zj7qOt+WT*o*OW{T?@Z1Es0~CARnq? zn(&_yByTdsWfmtJv6)2#O>ru5G1$T1n<%DR-()Lk3dO?XvFS<{z6p|R;sz+@jZ0@y zkc8(Iq;yv>o7%#lIR+#LA@zIi5Qv*9J$}0vF&&&z{{1LfGmCbBR^5YS2Oos}EAAsG=DG75e^7F{j-P zB|4bNXw$<^KN@V6{d7qtZ)0&YX5v{a0@HkmLy&3hX|jaMBUuB|OEOOplJHhhTcAgL zD;Av63VcV1w5RnA%K!W>k+1ng)&`6{Jl|8H%D_h2wu90l^hBO_Zep&8I;E`|KBxy6mK`nvn(;OXG?7CgDa;fCe8EY9 z4g5(CG)q$$%leMT>q}S+>MKQR;ad%m5{&3JJF9uSLP>HjLx{Wig7V-II~Pxw;hzwr zCKdYg&RWFza9l$X3-%y{Qw~Rk1#G9Fhd`YZU5A6%D#|X>)=9@r+`J-pJa>koPsxjv zer9;I+uBt{+|Bpe-OUrSnlSj#itad;9_WUbd+c*=l3OjoU-q#DCY5dEcrqK|+1f*^ z@yQ8j%~PEPawM`EhaUc0Y;OfuCvhGUxH@sYO4lywdN<>#+tgu6kJMqwW9!SaFv!|) zMFHC$!%;ETUfPV9EKXsPH3!dpV(lNq;OfV*dVlZwib7`1DYWC=q;_0!zzG4ZnvY^dJVtL5VVjT}CZ(kU02FuHRwS!f%$@53dY)q6H{3FUyWH z^H3(vjBx4BQZR^C-lUHE15Qy%frdojt;S5d-zk`Z zq@k_6*+A*?_@8mrf&9M-WG1C&XrE!)fv(0j_~L)YdA~6{;7-?&{u#No@NLYD4pqVh zBRU^z5By6^vcQbiama#3Soj2rL(6Clzk{QUWXZy;Q1%vhwt#vKq?0FFVM~gMq0nl) z7;@M?N8Y1`;lJ9#W6=f+(BsnPbHR3<7kdOC4=!LIMV`FA85InSiZ8-iPnv`U2Im&q z{5MIlfr}E6G+_!e$*P5~K{oD1oPajMGPq826w82D3xb!iYqiP2EXY7EA$f2rZ*&=) z(c4p}@|z9fJ@h@q%c_6Mpc${dr1*&s<{poq-b9=jBmR;!8;z}!*2z8 z3ord1(ABj$)pMGxHO)UkO+Ot-l1R_#QcbyP`KhcLtkt{&6LFdadUdVl)rdY(9kbat zj!{Rc#a47aHn{fC8ryrpHA#INeA$7%8O@(kA$XK^WOW0x`I;MyDQXMPW_4tcScmQB zm@!CT9{__y55%!iseiJMc{6%~wCZ=VkCLjcI@2+#Gy7OwJ?EI!fw?xVVFa3l=u;KH z2z9_#G_>0vS_9*Ly`^>-eYJ*NW+jw9VTwENB^{45+TAQPmNvufzN5OcE3*=TiSbu3 zC8k;Py397!(i_ymxgU4qqB7mYKkAY^d^@0>sEKorPm{CJz}S;|6W8>7(ZTQVww|%y zi3jt}$Nzim6~jN%e$$5E0B&@m+gA)fEdIm(RKv@X&&7s^9Rg!^xC7I?g@ z5sElr`EY}yT)s*Gl6PStBd3Jly9E^pzxRE|!vf=l*sw{4_xu*&_e$2@6n?h@>c1)c zzP15G?IQdFPmBCU!S(p!?{i-Rwg30T-%oKoZxw%s0nPX}3H(9D-v$HZ5)ui`3<0i- z_-jMRDqELj%_e5!vgYY;EiJnhp)#_)#|y?q)(3!RbB9YcujK*YZrSYP-`CQ(^30cj zcdRE#GM733o0i`A)&G+%eX1j~rLO>*@mvY~L0kIS{+Z+}J*uUP5z>5(t+~?PT%GkC z6si2B6p>|az(uHsR*%XKXwavkOwO}2Y$VxIa{2uDEAW}gdZv9c<&D#&@F#DB27#2#27P%so0HoI@^ z;jZ<=lnt@{94kePYU%YHWS}kp1D7WHK#FG}{9_pbXLB`F)PQyyP=@GOoh7Klm+LP! z)*D4qdT?$nHlR2NtCCCnKUF1PyD)=JqpyPh-t%~>!QM4`^vW{q_&|?h^on-b$-MM_ z>|~Yzf!NO;fnxc_etec0i?D*xS0ks&rH%dx+<{lkBW(kN+hI~r75YtPptVC zj>5nnm_@VcC9BG@j$UcQrq+r=1Eo`OsSFFM@eC zRl9^LhEZi0Ue!Yqos_Oe;zHob0{BNd)Gy)fHEv3*y0%xU*%LjHOm->|fw7NH)O$9_ zgob&r!g&tarihnV>c*!Kv33LRLSQaee| zh3Dn~7#v)U=OSXyVZ)G-tU*SkTkN&OeuH?__3wzz!he=d_p0hhiWna3VR18tdsy72 zfhKwPHZnd4?v_W-@&0=*<{7kr2jkWZr13%HG)QL#NA|Lwn53C_L#66&e z3Q-a0RwX^IceKzKEH_$knN+b`Z%|iTj$%ht^s@Okd$N`ANwTqKMnT#_C&pkOI%tqJ z$1Yf{Dg4EMLUN&%OGx6<>S#`%X52j`FV-Zw1K$l5`j+r}ZmblUe+kBuGRiN+I@QqfLL&p9Z##j4=3gpye;5btqkpWqXi(_5U$m9um`Gh2j0(E z@5jC5J3z?xtk9k@`e&iNr(@Hpvu*@m0Uw2X%cqds?$AeL+V|iY><=j+|yB}(w@3BuF4>R)Z&TYw0yY-4C|_x8Pg5taX4{u}z2E#db9 zmqAB}k6>5Ip4oyUB$>AGa|qL-2dgxQw1qnnz?60yEjXfm-i3iTgjF=*?giI1HSzmE zl(ZM!pFINX$Cfch&08>;-4Ab^x0j_!HzN((16+%nz+~NNX^v>Y>6OW%8|%ki869?^ zoceAy*FWS>JdFw=f-cp66_^;ZI8*e5kZQ*z-lnJ--CzAj^m}KC#tA!8^ zC{+r%@SwWN^CWz@%9Euvu7fN7AB?nb70BFu3&PJolcy7S9UN8ilgm{hM$w@| zXS`U9gqm*yc$v+B4;v+oMEEY^EP_KaEJIfd<^-tPLmI*D%P>Z!6q0bIkqlqYjB0|q z&<1O+%6T(xugW0W?EYzw1rM8B$VN*W61G&ngP7By?lRia-1BdFKsjIz%;oBQ&G&DZwsajiFS3Mf`;fFG4p zHwwo&Rf$VRW!<@*Wl5oe8y{rJEQ`6)1&qq6Uu$e2m!VQmU>s4Ex*PjrnHeW#WJLKx zjq=M5@(}eNWJO>b>xn-D==nB0gDaT)6O)b!5E7jg1&rXlj#Za~T448AwzIKo5?0nk zDgM&n-@gQnG>G!?8j+8AhX{pa`%f|9r7D(( ziuERl=wca&SFMB~UUm>=w8=KlVmTs`P}yKeMN9%6n06%yO_Z1%U1AAf0V^JO!?y`> z@Dt`42A-k!BAPS3am(dGE7Yvyj9oZ+N-oMTbgVnL!va^hexq^k${ER)7+=o zZEyB+X`zK(2<2*l9l%^IV70<^3&rrTj0(nCh!*}4QkA_GKNlY~7ZK$joJ8MnvR?e- zTBczvdT0D{{2&dvkAK2_4GW>`iK7~`Ov}>e6j`AlLz^TABrc~SxoiQl*89Ki+Q3Yh zrWkp93R1)3k0RIk8109kxcFH7VD(~ftq8TV(YUiypd)Fj#VeT@JO01LrAVnu3mm{0 zh>?`6Oqv@vl10H)1;Rbg+R2YlIz|yE;Sm(YJsN-4QQ#^zoSV@eo9sT?twQJIOG2aGCb6!#4z3WK1M%o#O>QOf{a zqCCx$oP*s>i`DS3SPskSJp&1lsg~*BrH%`{Tu9SPWngfA0p0AQh~nCg-oeVt1tY!O z(M2p*RP>$$?+UnWkVVgF+K&6Ei-p&bgli}9pK3{Swvk4Lvc=AsW|~28uu>1>>jjJ; zK=NpPF8n+LZ^9S#^Eqp!meZJa8PYKAQX?%UA4$6eU!+nmnZco6EJFtNKqAPD@N%G{ z_j!1sR-z;ZsI?$Nt4hJiohe>c-YJH+O?f$^Gj^@=PBXk4l$UcbV=1+uFb-w(a`1+i z!!NyWD{mV<^lnq$sYdMk%Ddl)?NnY)PE5Q@c}YroW6H~MmEKR3m#s-JVW8Y1!^`%A zm*WFt+1T)M2%(p3Q3-Vj5)8rY#|+NFw^Dyzq(Qg-w6j3M7sYy#=x?JW_PpB73-kbYxXKF`~rOJE9fJ^c^rcOh=6z-elS3>0{n}Aru=Lh@h`+9 zNEs_8?9+_D%f*99u?TwjOYHNV4TL;VHIs5-$!4H`KcLW0!qb1q@OO&;Wl0xndjn|f zLJaQ7;oX$@yKsusijsECV@WVP`WqI*@vSQ^+mRya@H2YJF`~C18iq~<#sns!z0CBn zgYQ#ZFYjrVcE7+XVKQ=%8T^0+Mo&g6OWC7e`Wvh@UWBUPeHJ`S7$;7%X$sKvyG(7kSn(7Rh6_vk|HMl zgw$M$C1=L|iWG6~23kw_Edv*)10`jcfsjEmQr?ch#5^OfB)b72#O{ACB6e1&V~v>K znK7{9uCGaq;?HT;goif(1n4rCRru8Ka7v2V2m&#jx?-P`4)APZvTjC5PL05a@m=Kv4W!#79W(!h zF2(&+R~}}BlH5&yqGe9H-Vs-MVMlp!@fl~H<>8~N?NATLz(80SW|rbhPz+mUz;7k| zf;9X*6Mh2no#!Py8kU`t+YNVliaN^k^74CtzJ!Y>D2;&ya66HmAQ;Axnt1QWcNG?j zCf>^q7*9Vj;e(fUODfMib&`fCyb99K;Kt zEN0>)M?h`(G7rNx$X6L1S%p0V6Oh9MG*F>7Lu$IdyhjfO5LM>I8c0Lan2WxdR7I-Pm2rSo7DyvaNHLVDkg`B3C1C++IKC#Na)yD}9(=9DKJb}Qy=7b- z=xc=DUVW`Mv^I<41z}N^VSaT-Y6!KS5c4o_V+?WBhJgBL4jQ3p!xsxaX2d=r6;(l_ zB9L_e?@r;`6!Rlpr=$l%@e8A5b46q_fT`jPD9D8^tFu54mWfLIj;SC(vM8;@D7pl? zi{gi^837#@(SWE;6Xca3$w$?K^rOfr)S{kw6!K!C`s@_Ni~E}@`wSs zOJ#;YYQt#2lDN6b{I!Asq+!D^7=Q?+^n;jWYu2BvOnjsq#v>oZ_9E1O0GSo|To1pZ z2gG^!`~9CO0sIucI6{zmg%#c?e~IB2yy0JF_yuqH+vo@WhYbALr;nniYBw+g+f7%M zMJv7pAL=p}b-T-C5lh`_P&b^UyezHii=20kyx;b`kYvRY5O@kE~&MqAN_L`IoQglEw&h0%`U{Z@ig z73BB;Xms0Ji6+6v{ zH3`hEe&n65VrNRMA~4{Sz=)j9G-2n@Rhn8O4GDlWBmmO*Rhm0gnz@n&O2Q!4m580M zVt=V(gGQ`s&PC3!id~>$nh%$jCq@bDgEr39GW?hLIaYMx*BLGiMJ3a{8J<{Y)Ase<|*Qfjm$HR_!7fkD}L3+ z*y4`e+#B-9g0*cJ9a1ZjHP#8>;~f_}XWZA@&21a2u0AJiI}5I4#mxEp$J zS#$151daw4o@)XF(l&W!1&OH_$2>43Q;l6+V=FAZG5eq8%c1d)J(u62m_QE{aVnGF z*}v>PB0nB@mxq%9cbwZ1?t@jc?EY&Iv3LzaarvV7-M|3B(oyyvbnqHjPeHLT{w1(r z6wbBtHu#HCF{lrqUZ@;Qjv#{CsmRw92WDAs(y(e#`b=5DRrYbk2OoLII@d{zm zvFslZ0MNN`;`yR&AjSyrbWVl7S6{y(h>aoH4dQbuH~XDAxGsCoPhX-)!CMqxeN=m| zXsqF2Zl#hlpoqL=uLuJHf4E^yqBAz)Cf>$Mm;M%(y2erg92EQAO7tVF zAnMQI3Zlh)pB0yHaolE$4cGsdg$;dpatEib7zP}V|3MjoQEy+NdnO%` ztz1Bl!aIEzPkEHFqraYob=ohG3kP9qvXJYpR4#Tv$#qRS*O@BU*jtfnm{Ar+d&iJe zuHI&@)6=;=0fs2+)7dCJI(X1QoOFMgGE=^7`DY!p_E!k$FG zqlFtw#h!g9Rj~&pHrIxVq0DE#RE0ruWo6h{I&9%YFZQcsF5tuhF=83<2{$N#p6s|V zRZNN!SE3jr|J#ociQM1*LgiP?1rmGEl0vnUw<9K`t`hUf&h#3r1&?Rb;?VhGETjb` z(^yFVqm6~s_k#HkT=Pv1?(vq(wg#3%>h`TDWO~>HsoR~{VcLhW!YlrF;H}tvB6#WX zvIb@od=VIp_zpS*e*|Q&p7eh8f&1k=meR2X=Ax3gTz_uEw@GhwC@kuG@`CeEDGUaF zo;W96Vcd)IE?6rSg+f4P!g5$L_nfh9eZ?t-ur*~bq^VI)q^9tS$p6RQyTCVDp8exZ zn?jMo6As0qsHqm$4%BwC*^HtMJw1_BilCyRvgvqnGOaWboG5{`N*d!jr_*h2`ntV) zx4ll;+=@EI7NispSYRj~L7kEq5Ik`d^80?T`+1%uZNcL9?*IFL{(nExB=`An-Ph^9 z?(51umG_<;d#d28K*n-kPfFTsc(W)_vZ-n|Id{9%Pu76-_&#d*ThpEg>(MF z=bW^LNT2+XX!<3n6a~SF*)B@xTo3U8-{6) zrE?y;-~up#lLL#!!pvx@IYF=M)A|2``9Tdea+;{2HqJGl#pd5c#hU3)C*?er5KzAC zJpOQf|IQEMkC1HZSqq$v8fb6xD?mhegz*eMu(slqWEEc6=FA_VM-~EDcM(`&KtW(V zpl|q4tXswbJL$o8Tj?G=;>x~FAD)3HQhPeZKlCY8$a8fxg72RO7mo|zg?QJxIodV3 zL+5DmE|@jv4h4M&*t3FfGfHVX-@PE*Q?OHm9e=m(>eRK$ZX6a3-icft^PlvD;W2mt zPLsTk(eTJrn9kea5#`#qTnH|8ye9#xm2FIY>T%F}vhm`op@}00>3g644=|kCoXLUm zqJZy;I@jO*Q3(f$L{N;}HdwjZyYR=`1siV1F#NmJp$(hWg+C*^a5J#jBc9y>QNAuG z96o%CL%RsyLcUL(Nz@|xtU9MTanOhEEXs)$+)=!74?Fb5tB|YhRcr6_2NT%>05dM zUVa?XZaS}JOo^u>3Pac1cB2&7l>#U>e0VB!hih>Zsb z03>eUo7o!x7usS#4gT7@q?tR>jG&BtIgJ+~MtvJu#AxSa@Y1=3cpGA)(j=2=pxIay z$fxoi@p`h>9&obvw#UxE2}9NZwmHgx?`9{O)z`KwO45$Q8O7nuU4s?J;q1^uU7m5Z zPEV*dKemG>fkLq78S^-hH@%6Xgv2zM!_F%_;Y*x)aW}KzI080=)GSqK#dc^#!Dlj_ z6`m!)F;5-N2$3pizc(^#Al;k|oKvN}y3M`!@7&2bh(zSS1;|UCH?M1}2497=$T7-! zmb6pGl(KGMZQq-y8TWWPV%WqwY{Y9-%W|<1-W&(V%>yZ?N4Ld1;R~_gGt`1-a>36} zU2t~oyQ?a+4SqwPeo5Wjz5i@N{K1PMz4*0cfh0J=-cW0E=%ufFw8u7UZ4Eeo zui)$FT3bEN-zP>Y&Yziz^Jk{w{F$jZe@5y|jHVsuZxgD%#iPjc$Kl}o?KIC{Zjq<- zwL0xFc?#tXz2HHpADq9BdHy6h46YI@i4(Z4bYtphiJ$R;s^Bf2M_5a}x*LoAb@YQp zzYynfkDSN#SV`T+V!)Rf+Oi9As*E!QB>wa|ZAC10F4DLk1A!~20(RgLpa{NhaEW>q z{~S+ORtO=o*p65;wa^CO{R@I3U^4-jc!ql$UT5v`Rne9G1^fwrKk!vogb9$`fhX?e ztIk1=b8wR5%%q3Q#cN#|%QJhsY66kEG-U_r-3*fzwPZ2A$9>b^`x2 zI^=Cy1{B?(if==D_lCzoV)6tJfh2k&bq4=tH~6-mnSTcL>q24Qt0)6%$hWn?tE)7awZ7zaeTevo z*yeUnLo_u1Z+dtH!cC@7!(k-H5mLj;MIOK&=;6V70-gt`H?1z+sfTh?*uPf#(-k_X zHQ8`VIc|^ZrTNiV1+KXPsWca`-bN2fv3^F?E<1sVG~)vh`B7Ldw>&EdI>M!Eco1U+?L} zR5`?u-kb(0JX;DkurU72$iZ(Ep8aVh@bBpjP-5l;06n5!N6Dts<<~HkifsYdv8YN< z9*H@vbdPgEq;MxHXVlqtzyXkbYNY&hJxQ(!vd{}EMar!U2o^}ePT*wf;VC#}?QlwF z;y;S)1)F%j5Y2(~&VCB^539P^qIdM)sM}a9P(C{2=JWJWx3{1j!3Ff|4NP~|J2ccVeGN*(1OcXcFpI%Wr?{AxRnX1lgxOMH29dcaSL-c_US zD$u)P)Ex#jzzcdfx6s&oZ7GA3#48o)1Eb_gA$_3N3L3WCJy|z9o}%CcZC@hq%`S+P zsg3-a6bhgRu}2F+7pQbTIObZ@a{MBLqup^I2?0z^0l}S+@?o*6J+nUe@p+!LYf0KX zn|8rto9#)}3*8Vkb5O zTr^YRYEe&d^ktlf=G`pYQy5DgX55dBn*sziB|o-}2Ll@sIqCYdhi8bFB5;&AO2voh z(+!1YLAe=Hq_TvHI*>|E3V$l<;7pVHn)*68I-C-zI?D#?q)1`Zy_X*897171ymtD( z+v;(x)q=cnPnPm5>CAuuDof6B)9vRQs24v6G#>MJGhqolV*YT2;7e7Lq6!pBGrkif~Xr$ zh0zA`)~1pW*vE(Vdkfwnd_!O%{V0c*9`bWZ`tgdkVxw-`fMS92!Jr?s>;sU}IjTWF z*2T_3n(!WI2`rJv0pvmFfp}-H4I}eCj7C2t!W`kOx$$oX7kHYGkP3^0l=UDXgd72z z-Xuf|@{p5k=p8~fg3rxN(S(VI2%S2)cW%rV;M#*wivX_7%L!cNh=)n77~Ujsr=R>u zq33S?kK)R@4FEn=Tk7U1D1JrX@R4qN1u=OuW22DbwQbXuPGMGXAD#`VFtjrEYw+Hg>+zzBmP zb_uEd)Jcl?DUQpmF8m>r3<6j6seE`pEupMhL0Po|5Q}e+RVzRb4EfZccmKb9`frs_ zb4jqjqI~)|&NJL>9z{Og1Nju2jcrenPrk`eN2%B$Zwn!GBfN#xb( z*nk;o1G2aaQ^-3{=LTHf_Xbdg)taCHO!O(ouB(fT=~Iqx*93yO3XBH09TA^Z$mBjqv}SBEJ^$q>23c3$U#S`6i<4X-r*ds;{bX^8{`w zN9k8Xo9iMMLQ1JI#n_+oB)FdUzaRTZNNNq3QA>l=Q;Z$Kljxuni9aI7@`Mh{5;2y< zRmrirLR@osWK-nWTt!=vEP`w?5Ef`~Rc-}D(VU8;l!+8e9;^$`fqbdPQwNO}#OkS$ zF}aX2bHU)}PYKVX*KXuXv$I{nP;?75XVN75XVN75XVN75XV7b*`bG z+Kj4jPP`iWDP2b6I|Xl$sqdJqwT;QpOXDc;wg-Hg9(oHeK>bmD$*01qA{p*q210|Z zKT&Z0uHy!+J#aFV#=voi`+9*0(ednRg|YGZzM!twN~V577LUY zL!O2}j$1s0ywi(UQMQ3pjj0rD)q@FLF~CHa1Q}JQv&w{p=4>YHm*uRZ4&yXI4{YbtVd08uLcjwf0IBtQxLr3 zI>_7aL*9PLV|z(k`fH?nZBcFM&sjiZm{xvMGR!n-NOKoQMvvHznh z#A}?MP)&Y}c6Yda|Mh9ZGepLNP7I>F#jA@@4^tbu9)wU2q0C}D?p!R!L29;{8FlL;S=r9Mz-fe*QGg< z*rblu)$d?Po-p)Bk-3TL&?f$6nXk+`vy;j8xz!GZpyBOa*>2Q-Pl(6?an}45cH- zQ`!NX@;qFH<@kTad82C%$X5(3mAXBGuf}5pFQKmwiLX4NSeG+CTzc;wQp*7xuo!kTaS!6JS#y!K=|vm^BWDEfo6`)h>bfg%2v-(S<}7W-q|U#~1aivHjxi{JUD?yq}r zJReZj5sv5gE2%#iCHL3wGu6ULecoRi43Bw#O%qap0hyhfOfE+l7-9nJ3R|%`04rQ! zQ;Q&c4sZF$xJ-1Cad84O0gF(1Fwxms7rqkwO8F0ncIs@q;JY6DO729&JD8YuhYc#T z4n^b+yCxC(H25A)-oAm2r|2t9KE(rN8gb%Ml#4xpKRoXwHO0G=h2;KvFHRrsui;w) zif`?)Pt^UjnTqporsDjYsW|^;D$c)|D#zc*!8XhN8Ap+Ne`YWCl;8Hx_>WTPcu{iE62c^vwq5V*L%m)JE7I>bO%N4dmS_jP^T zU(>X|hd$tfqv-?W^gtiLbIAoauCB4*7xr3kDgb<;K81e|i9Rl}amr?8^t{M^K~A4> zk-gOoKPi1)WP`1>&Yw55KkXu0(cgc^{dFSs{Pn)S-u3_3{k1`CQ|_+~T3ejFzgDCc z_t%Ql9{K(n3bSLB|9^L6`G2y=|9?&=i9P(QFJp(6Jr`rhL-Mc0NB`})=J2Fh^zhMB zk3tXsckH>wZ~#INf3|}3@DxvCwbpbZQj;cAo|UGk=y@`!6+k$iij1Uv*8(a8&J6e_ z)w$k;eb-W6;?cgV<2_zvBRZA65CVcl1ZQd|Dj57|y=t_O;;s^6UkPhPe+bjZ#^cKE!mUL#AV$s7{e3s*}E~6ZsYf7qG{80mTC4 zC&NApS8#d(f?-3xg$?Ojdhtto>1MrPjX_^>PewPmDV)wb-->1BCs!<6G|Cac-A(fj z5*X^A5r){*g}s(;AH}+`bwJ&&$;-;mMBM?fk9refidnZr(U-pLqp-{h)j>+lmm1$e zjoxbIH(oK~Org#pXbBbhn+ZQ;n!mCs6l|cBDb!R@k$E-> zgS>g)y%$&Y9oVit{)?ecj%h(YbTKn2?uj^#5-?r%y}kF9_*tHg53xfHSmlqZmW|AW z52|lKi-7m<#Q0oB(WGZqg+8EB&i_C}=!6VW6`2F^nbD{w41~|zftg9cOfQAe-@Ji< z&shTrpPP`NK4_b?iFts}&G;T?O~9vQS7|Fo!i1-7m0sGNWIri)VT2H)R)I}|**79+ z@%q&p+SE&aB0pCUCH!VmF7EO~p#DLK!n#NWO~cmt-gXy!MnUsqnBwU+%s3h-&x8!L zAJBm{f+>tC0=389M;d4UFSROi^uWp^5drfHBLZfhRz=0XJ|b4$Q%`?& zj=t=PPE%I4hoJ`Pr#;cx#C?`M(TOLS>ezpWJ<)g`8NtSbL3(KD02RP#p2Txn(>M<6 zS(CYk7KQH~;Aq9LC-PNu%yq8!=kJJJCAb&1L>=#C6EyPi$D0qC_98qpyn^ai{1`S8 z_unso^{k_Qq8bN=_QQzB1}lYZJ?lE)VA06zfC|TOQp_o`sZWaCD%X$HVMk)Q^35q|T0$BYR{P_vs z&yN%SyclYeIE>a(f%eGuHl5H9ejRncfr-3etc|wxMWWHk3XS%#wGrzpwPMvod$KNA zHmr`FOJ%jO3~hX=sm%l2NwHNps;P|=r$a^j>f6-jPiRK$1j>kZ;X}d26L2PiQ^u}9 z7KW)V{Zc`td9$GC9`7EK*A6MBHt!Qs#MCAWacacWrgSI7U&GV}3OT5=sNjHw%{=J7 zWJ36(_b{{Z_GxD0rL7LESb&Ij`oAym<#D~-m%R;PJKf%9VjuQ49q$mFjm;rt;ohWb zW}WQG_Y2}X*xW#A_kMOSdmGr+ioH#Kw4%z^!`=pY|3-V8A}R~ZQtWNYFdeur>Sb@E zAJN{1;B!QKo88EyhH1+$kFH@d>}_6=!0waoK8FzY;(v>7=*#SF$_Z&{x~E}C5qp~& zW{Iv^3PDi|9q%<%nWY=td;|I~8r*zW3~sQe{j|7oCi1ppVgd%r=PS`9uMdvxdyOmGTwh&nG-0V81S7-@gNqP zEF=o*Gl=LdBXP~(%gM3$*Btk<;V_sv3wr-6bCPXQ-tdIa1nL109rD1KZfa!YS+#f( zaaPi#&QsbBBW$qe?R+r-6x^W~#7LiLFV_wA@KB{cx(N*9M&a*QiF%mDXfJ2nUqvAx z$oaIcE ziKshH@%NhmlyOAkti}5WC`vBQ>9l_v&mS`RR!S{Xa(RTke;5_|yno`e0f*K^KL+X& zY85vvoeK51gc2T&F@A6fbu~{>gqKiPry6~V{hS=^$=1OZnuLQ5>Ud3IjvOh|jBeH= za;mkapAj~U`zPJFf5HvNTfj{jp5iwlH05};$?pU4rrOdC`8l3Ws{1EQCO*xga|XyY zM>vRn-9J%a#r@N1gNA3ggvKEq^R5SjON3K_y9 z@5QUARe+gx{}oAyg#EJXLoLYH|7JNI)}ylWC>-2Jd80c%PC*QJotI1Jsmmp(cGZ?b z5VpH`9|SD;7-Wqu<4#Cj28|rbH$Ovl>m7v$_chjGgMiRc7kaLAofS`ayI!!1?b^=+ z6mG#%yI@-Yf!2e;zv0`8izaljT3{aUe0JeV1pYvmT?W_%*-X6>*%zxuBAYU_H2zS)uiG1xogJ9`>8;ELwm84Ziz7iQn=tv_=8BF<-D-qaVUi6=W{Uej^EFm%I zd`Kh>OF_{?|8qa~-Hq3CDQ_66`83sOjXAF38b0jN}Zc%cY zX#F=}$J8^1ZzaKv`0OjbXTa;emvk2l5zO}tXsD0(40P9^@Ov1MZ^`|^&9ag|o<)`? zT#ZEBBt!gA@0}ir0G{S=w$8gPY8HEw!l0;j4K7PSv z4_`DC8^#^yT6ZK!kV}$tQ=a^p?+4QEOQuB1@t9Wbu5sz=$pQ0pJ+N^@J4A7vcTjQD7#@w&N$t^3}W#Cb(N?aGs0k zc%TY}I<}YTgBQUa6FRS_#9rpLL6C1BqL=RXK)~-<BqY5d3?+B z+B#8em|nU8HzRsSrxOMrMpd)kl09-AdW4!*wGBP0^|yS=kT4!}Y7EI}7$3ws>2EHC zpBMX(&7`li57`3xig4iOdy6-OzA9V;`;g6IA2M0&L%PlP79aI`Z(-Pn@QonfThKm) z?=2vK;eH>-IPM0nrQ*jRvC;S+lShP@meO61_ZF7y=4AsHONrAEP;W|#g-9O|tA|Gx zVs4rE2iWZ6_P}cQGa6fd+4BnekJNl1_97X-hf$%LcO4Dn3U{k-RmOxiY% zxax!lAQP^_A;n;mGNE~Vo8A3>eo>1yyrJ>1jDHJHFyc1LZsQ;DYT+q9OhP%AsG)%e zW}z4E;sO}4npo&*@f`*}wl4ewSZ2VX3}+Kw=lo!;wcD~|Km`+hHQ@2)qH z2_>4okcn5yQ?QIb18B! zOcA*k3Ywp5irfzM#6>y4JEGLh1A0WMdoMC6b$=JZYUFVwxrDy?m>cuu7;m6`M`Y6I zA|B)E_ooQnjx?K()Q2vw_A>f-1S!Iwzr!pMyrmEh75MYWUB3fVEDW{8TB0vs4&Fa$(V*uIxt)EX?*nNjob?P=LaKTg!e^V@u51~AuV_h@`byj zyWP_EWtFyg1p~Nql@O|W^%p$%;Ca?o<^w-VAnsw6&eHbynAE3DPHBQBrk$0xjODgv zh$Nfld!#2<`wV)c9EZnEmvXdeT%&!A>*_0c;2Sxo~$sFn1RYaY57JALvdxufbc_5H-Qq0fer0Vs1sO2Hv&` zeaMdbkH<>H&c;vd;>BaRi>>!^QUFk{(OTF4KI_9wXi|I+=r`xjqn zf2M@K!v2gpmHShFcl!Rc%WoxbCH0BNdVY9v|B3VS-roO9_ve$JeWm^RpF6(7{@mo` z{w!}z-yi3XljkQk5%@YOjGtr5!`i^>x)GEcs*PWF}tTnEIa|8l27{uu-94f^OG%L zJkz0UZFE@tmg|$oiw)h?zR>=?8|L5zHY(}ad;_hAK%QU?5rXf8U?Sn$0M*e3JTH#i zm?&63C)5bXS(R|R6&bma)*9dj9GJ{H-;&t(NDsod6wz^29{MXmzX)AUN_S;qY;7~P zO#Mik9qu1f;TsmEw0C|TfGf{zuFCPk0syoti?3x2mM^+@Gw-|MlIl-oSdi0`b5-|E z;c^&Lr>`r#OTqVzzmV(ib-mYUs%+uJW39{@?akrC?|1iZ#)SELJ5rY@h(UYLmY}ir zz${y~ZAJW7o-jhq!FvW-O)?LCX|;+=H`4Ykozy4Bp4Viq!z}j|Zg_^fLL9qowC*nE zuZyoqoelp74`gU-+YXf{IG$JL)lX@-T@{dB&mYVB&02NkivR z1%WSITcHQb5FOyhBE=pATU|kQ4!ozC`VMG5e2neYfFvJf#0Dq4tAT~6my0^O+`;`; zy&j$mHA@8%61tmL*g!^mtz|deF~_6b_OcG2(D)CR+%9gl&GdQWja=&>RGmS$Rgv1{ zy65YWsl#9;2$<$z>bE+Wf7C{`#LFU)B6)4OaXL8Ubbd$aeZP9xu^u};Kz%KOoxYP~9 z`F>hj?+Js6yva*l88klhd+S`EYr$H`xH#X2m<#2GJMjw(kxq9#py<9#K?@m6Il<&r=n2iceT7apD=OK|Q*pZJ- zQ!kF}D(xEn+Kn>7eVJNQJ(B4FdK)VtgPvshyW99Z+xXqe-$h23a9}M%C^CoifO2S! zp;fSa@txxKmhH*rHW?nX)tK~1Q(+T}4XYRf;8KIZ7ZvjiP^uGP>0J1CC`C1qYe_r6 z-amA$d}1U<>eEa;ZtW6&8mSE13e3-~@nU-;6=nFARxdeGl5wL1jr{Y zp@3dqjsBLw)Eer#5OWV2(An*uK()P%*b@!S;`^k={L*$_Wa(BU zbGQj95;q}K%>siJ!F3x4O8lMsbre&Yk~x~MgLrly@KVB8$*on7`=TBo+k!5T-gbKE z@q|7{xK9MlgX$X|bE21wqvMjPz&HEdp_iN5@zNO~Q2nm>3OQV@m>ZhTerP9@Wx#9< zQJRCxE~>~eMjXFxISv??e@v{Ns{^Qw=1xi#+K;@N1I@tEAYCwM`9}sS#GRsZO2iIAVXyGo_Cd2tazRvz_p`wJhQCK*^9DV%syd7d8*r*4S&AGL z8LdJ)`5*E_MAbl;wLqB5K0_NiUP}khAOZrND2n`f8&D7_4QsN6c9ap!%*sMWi0H%$ zS&t}c75&cyUq;CnSEvw57i%c7RUE7KNWJn0f5O8mVZ&v@{7z zE*5I14{^1X&sGt9;WS$hy_U#(bs2mT;Fcdo7pKH-K!HLXIq_d#(LZ zj0Hjx9+qKbw_h)e2GDKMA=?%+zN)e4?dV?U&o*?M51p6M&&{--r# zFFe9vPFQLV=1szW@Q}?v8uDLb?QpnqfWPM^ETVhKxm*?BEe7l?$Zr`%!n)BnP7hB7 zHw(h*ML^Of#`^@ft2OV$7x!`-$Z7Bve2s0xAJWzi#BCj6($;g;#-V!^XKivRI5NBI{ZeuDGT& z5nMRiR-xUqwsdE3;apo)Sf7VqYpTNazS1{>3qfq|SzQ&Lxu|qcaN$B0>}&}Huy_h< zX8JNiUA%^BM-t&?Hlw}pB+@O19gEiPKrL;?t&QVIws5Do~J#7hM z?2+XV#6rq(L~J~O-^=ci7?Es_9kW=-D8_-Y*!}o~-2D(fs<7O@;m=1zu&P4tBmDV* zMCGYMjFP|b=U)oR`d1HCA)9QjDR(MR_@z;Z)Zoq-T3!oP`&~BEeTU_iE_|oe;dT`faJs+rma(^pE0BFJK z^B4{$#jjvNw=maas_~i#h9hvnsyOQ1;HdZbYROT{)v|4iC-ir{pxXz)^n;10!hSRN1Wew!vIrj z$_0|3rJo)v#5es3)R1mvH2R<|=ZBh#Ma_c!*SSH>?J^?Y$yBYVElyYO!7jJ~9YRqC zi^e6-Q7B85BEywM+@-}BM&)SP#0CpXG`-GSOanPo5SDlfi5&3y7zml&8At?DIm*U1 z;1A+G9~bx`S^BFuz}~{bL!$tDv=NL=eH;}LT2l+si0DvGbwQn7 zj@gUUhlq-`$O$cDeJF)Pd<&9jeaHdi{vAlfc#Raec_`ZYyUYweEOlx*2}iC6`|5MM zOzB8{O8uJjJ_i_mE@z)R;Snp(HuPh2 zb7MpV1pNL~d%&vp^08F=IzU1V@~_8I?Fp;eFOH>JEe@wF@q@tZ!Ms39>y6q#l?5}FEmsEq>2&qWB<$LIm)|0h3-yPUy!^^^M zPca@GL@tIw-1G4B4rl#d2QG}1;=;hst%5FVi)^vAIMixYUXv4V>;VU8?wmqC+{4iQ z+_xTR=pfvW#+L7rfb4g-y92vz?i^?^e{a2ezmGCulKyfhv?l%Xk7zZ;J9vEdA<&e5( z`<%<|e@mOoDd?`}Tx5*>pUW4SsdKsOMvVDRY;bh^r&$@XrTB(fJzOS=>))d{6><3n z4TtM{DzjN-`mD?gnW?MHxhnHKEAyMo9H%m;sLbQ6%zS1JRheh1%*_~{>hs`GWPVKW zh)f!$GE1zQZ!`1nD)Za$1&mNxLDoDMs~qiMCa*3~^VM@C^IWUuZAXEIQMkeK|%tkBoHD5k3AO5uvtSOR}l zdFK3zUX|ii%mXjo_?S@3=7Z|+d^|yRzahgsJSzwDrio>IQ`1^e^uU^)F$#9g$G*+O zF;uxF!_j#_H5yNp87J~uX%sn2RZh&xnJPKS&BuLm%6)%u$3k~#vpclg6Z#_HvibG! zwJ>Dx6`B_&S`%@y2bVH(YoaxizYP5F0&LH>f!zW>#Ov{<5`6Q7?XZRp)I;ME`zy*+ zg{S3Ig*_v~?%b;IjSdJ`jw;BSBhfydF5PTfa_D&M#^Uiy4t>@HK>HDc(MKXquu{SO z*cS#XSaRrw0AUazFf(F*(U_0}n9%N;hJ+=D2Jw4S75ZLsDD%hsUMJ~{$mzQ>7DR=< zFL8!uYz(YQ2y<~7*3=kz1x8*K+Es-Bk&Nt#m*~Og7A9rH#I_}eKIcfA-RO}fC=WwZ z3IQH`48Bm!1~{&0Y2d{Sua<7ZU{cmC0@jf0=7Us-HEZ66Y!++B_8Q=h5^M&i@OMo0 zRpFQosDRqalqB89v4p+QI1wLJhdQf5FI0zKRRUUd=zu%)S~d1kS_w%j=K6jum+Q1` z2-oQX`TmZ4KOWy>>oJ2Rhw`x@zT72;PQa(uT!}PJ^DuTI9U@Ma?S?5t;I<(sH~~Kc zw-F*v0PPOkMu>3W8%L@Zv?{c*Dzpv*OSEQP@>^Jbt}?xYs_x%MihIf0JY*X{ zB^QOzDRQw^IbZi9l9wz#apc{Y4S$*o=BtE2j{Q@6L@LZ+#i~LtRfk?NVFot$ zu^y|JQXT+yAZ7#HnL68HTu!KO@qxu$fxS01wpw$Hi}@QQed)P-1~j!#_-N+>Ef4_f zx#(XrQjJB2!xC9^94Ib$^N-Lu=I)eL!UgCMj1YHi-2O~oy}9E)L`0qRZi%4eu?K-Y zPsaqJ;|35VV`rOh!c|kBEu>g^}@om|D(!vt?23pvB98Bh7 zE>yv3PwwGyf!nw{Z36F5$5gohLc)~e8k>QGm8=wmd8E3Q}u$4p&AtD4TzW%yJr zD~zNyZ$%2wlkf)38}TE?$f#W63hlnN_{?H}V1CCH=dg;5L`7gN{vpP2^J_gC^Hs2# ziP~QOr@@pcCehl8iNwEc0xMy_1XkbBB%uDa5AaL0&IatIBYl#4t@$C0oMY9N{uJMU zZmUDf5A!A&zFp_14bR3Fu zOZhB1wcL@=Yw9dwRLjfq+&%%ys+h~vSpC&#^pDbLlCCA!s=P;E{Xk4?CM57@)s0oNYjzRMY_mH3L{% zE}mu{E*~aHsxVI`n#9HI{ZX|!yaiJ`gD`S7&$j_FCVEaK>Alf&aus6q7NI7; z8HzOlOB{0x{xW3eRrz*|J$2^<>kHS`04NitB6esG*77#;@Tba&>=V=;M?;_>*e(;` z<{*XB;wPtdrF4}#5YfY2sWj_NjC6h5eXta1=j~4qu z0a7>Fpayq+!n64R+LFfC;)_CQd`grG^Znr|)7uyR{jP^TNBgVHW`lo)0GryZ(iNH& z`+!7{A@Hw?TV0%|I91;Sg(7`JVvk~>mmDH%?;nxUZfEGj82L|=H@_o&Ly@hBT%vV3 z5$Va6I_-Bj(-sJ)GzirAB}WGAQg!H)*cR)cTp>-pe5^;WI<#L1xVb^ou<<=Xc#MgV zlr=KwK-BkN0yHdON21q%OR6*K1Hp8|!?EG-LFfTu7lvn`N*{9{RDM zm?UqJEcy`F{0{_Z86!99pIY<5XbRXR_%IOuG0jo!SxObMwI*bAbCh|Xuaru0; zo(jdKRO}~w97w6si`mNH*8K$UJK51GI5OC{f3Bn6;8D*$&XPBz)LujUhADjZu0k-r z`0msrOu#qTfM>sSi0V&V4eLB5(aHQ4dEZ?Sfeflz^j&T2E~c5Xx@Zxic$o&EgY z%vq)C46|DMk>sT7Z>D>3Ywn#`=l^tdF9fvFK-7 z^V!Dlef+&oYc9g?-~kxRp-|=*Zr2Rk7g}?^6dGxBPaFxW8;!p>gq?^wGAnau;J|%KhX`5cnd{4UbecqAliuzd`Im}pB+0dw3^n-9Ej z@2Zvy@?i^)MoKpMjw@}y{EF4`2eQaXNcZKJb@>;-0JE8n&%?E2Cf1D6nulUEEwv>^ z{SvFbmaK0!Qou&Wlyzy%yxV3&Z%9KECe}<)lWeKgjfQlqp?N(T>c>wtHvcUM(>t-o zsWm?;-4sr&Db$+(hVQ|B=$lWD!!<>&+9KuGsrM+C7^D0jsSbGYYR%cKRXclP&20Z{ zG~@S$Yp!wCUgPU?l;K)V&0iC)Et^{dun1dA`L`H(bl1`mYYx)=#Xd*O~(?P&;E{%?z!1CB93o*QC}=SM5x# z=_Pzm_8P7oKe1-K|IC)Dqg!f52lfM~R+SU702Egxi}m#_T-z|Qron#+7v?+R8lS7y z=esmnFkD+Tv8KvDxn*i;OHFBd%hyY>GQ{|O49qR_n&_7V9XI_7pUFm&-@>&EC)O!r`*+vZS5M+_P3=;a0(p;a9p z<{Mc$oV0bsoXJcWwCWun7HMr8(@KR2&)Gv^IvZ=oZuV?T3O|g(R)2m>)EtBi>cQl1qecIt>CJ?v zT%)zYN60E}j@E`C2{QT6^Bo_mWswZ*3zlUA{JCHz9ax$0l(`t5-=!xf_Vef;>=gsFCS+=uf<{anrPxTP|FKp?1X)ZCMQ((=ov? znC8u))ni53O1e(h+7R0ZYgnmc&#;WB+OA_|FR^QF&#R`^X>FaD6LLC28_aXVKH$UL zJT@Ej(5ThZ)j8`5Uu6$plB2b)Hfo8}bEy#8Vs3*phxkv}(A8+_HSs&Wg?(sk>y3Ux z-91XPH$nn?3tyERJScnh2?q^pM^>rZ>R${d2k4W z!r@Cs9`kgywpxU(-Z$WKAC}%2gN%+tk@wW~TH77l)PC7~mvGm7!-$deiM9FuX`Pan zi85QvG8aghQ&FY_Wy(;R!Qw+xOIjSu?STV>{pWW|;Y_@rs)*L1+NHR1RSo)R5YEDm z7DwP++wv^QQtjlWv@;0p_%fHdQsc$7wPjdpyKfDaWBDKp9;l$lXl%ZDGA6uR zGqx{v6+r!RwPs@5&O2CvlOcmE6=ztJQ9Y&tNoL@{5PyBA6jng85F|APNbo$|0uuDW zy~xV79T`-H08}y!P)U7X7~BC0JJ1_0(!(=h!iAfJL|)#-FeAZZIk$e@8)a|`kPZ36 z%PddmAA01BU;O~)!PeVgdGAigUcohG-Vlh$2Q;+j^Z73ScB4Tr8w@^|pS%rChgU0{ zw7kg2I)dze8-Xt27av|_$}39Wz)SqE?LU|>{82(HHwG`|_xN%>;qo!^b_UPy(Ph5J zwblQQCk%T}Gyw&~xoiT@Kq{VsW;bcEn;1K~+Lip7HkvA)jXwP=ykBMcS4hjZOXG>L zYs~!V;=GYB3TyNA;;vQ>2Jkcury6f9gYAic3x3HqV0~y!i+SKN-9+^SC@+9U@UXW8 zxA$eJEB*#j>zAndxn}($*4N+`!D%#b9vcX*u7Kgj<>C<+@fMBwpquklsj;KgSevja zY5ozwYax;&I~*h6IftOCHBsR4(Cjzb4RI-cSsh#z=G5`YrRO?4YzLG~x?``kKYV;s z=?%p_VZTgousJ<<;#GtTgwKZ6cu>Eli?$^Jwzpoj?ZbEZw$h3I;=`!!6JT(1C$HOG zCJPNng2xBbxj|y=1(gC_DQTs}+ehxABqvw7upUnNlUb-qvd@#wc#LhPM+O!raHKiUU zXJXe=j~C%F1%B$){v&F=f*;-7{|a;e*;H`#Y}x;fm<#t``Ew9|A?7kB#^#}<;4{uI zk$2@Z7oM2-5pw7jhs~FHIc$O^W#oyTVft3+8BRl6Q8(^rQ%!*sd>ZftqIjNe+hc%O zn_HTf^E7a`zJ!P`!=D{{`{#!fX(!HDUv;KZj)ETz2&fQ}8PD2$57v+U$Truf=YBZZ z=$D@_?37yHUR$-bLK-l)O8l+#-XE)eul;#Y>Q^oVKr{$IGyovxau*#q#j|DcE>DbI zh+>z+t1jawSol#7?tqu-J>Kwnp71Gk;Ty!QL=OFi=E%_?_)dj0G`{}uxjnYGybvvN zT47|58-nC>rw^iEM?q2?tU?aXtHV040&hL$vscjmDc-*3lZY-x6Gxj5Nlx@K_S0iNlHryC zSo5jr$9xjeTvT$0YkJKm5&Z<FNv`y02j&=8l3(_-gum7)tLYBWGZ6gL0y{2y9-etw84a5 zLAM4G%Q)Ai;BCfqKpU8YD;-ac;jqP%cS9rgig*&l8ACi>-cABpCi2>?f&254sh3G# z&k`JT%!a-M0CSj)@CgSJdDj95!7&J;I3d0g(Y+^BgUsESm9Pt#)#~Uxcw9+EI!X9h zvg08%P54=BFC>W<4{QKX%`reCZWhC9F5ksfc*Ap?-thHBnxh6jN1&_*eexE+=lj-^ z)OMP|a{pUeTf34?VdWBev8h->8ra+`DY)(A6yn(u)q?tN2VcTfXhqTwY?#^hY;Wi{ zg#lFXh8_`T87zZd)l*v@An4AiD#xiRLNUO^B0R0bG0u-V1(J=0Fjs~PvgEmkP%?Rt z5_vBnr~+K#ajdchJ8Srx)|;X2(cj^IiS)JgN9nek-0u|oy(K&LQ5ylThFCxzaB~4^ zILb$MPtC@kL|%trEqHWb>2Y@!F5@R&Pc4_%%91U4x?m_QL>UHc@NBXqx`gW%s-PQyCt!yuuBrV=EL#T zBl7xBAEzD#>Na?Mr3*!FA8s-h;fez96;dX+?L1co98ha**d(?>v^Orc6oV%Hv=`Pa zE1X-iY|&gB7+nOIgsX_uqP|(eEkO#X!W)Z;cpC}lT*9H_%|%s98BDVZ{Wo>0wh`YC zuZN>;xGF0jq%}Q`>CrDw=v6O0P) z1^*$xrG1ZWofh1lS|06x$lnN)rv-Q7o7eWCwv^X)u=)4eJ^~`wU7yU)@`PUThCWBY z7j5Z9$gFGLsWrXHib=E`!~1~q6`E+K3P5g@le-7_fuob;yp|Sm-q21Okp?jIrDG*& zi&bikw)9j)S`|9~%aDhyr+XV73-?*t-ab932TL*M+b)!tmyo(MqF z-fXMAnMQl%Y!7E_VRSOyF0xTj;!611wijx{pey7HPNF>vnZiXHM1nIsp^rSakF=#t z*hEsmj$_bUJrbNa6owfI*|`Z7BL_8$f^BaQ7vB+3uR6P}3DrxkGrLK(l2g$JluiwAUXatE za#)Tliq_{Uz7l!FA^?ZV3ciMU2;VhFmgbm(?VIk@9G8QRJ|LKi9>W6628}n!E+tg; zOf_PE3t3p}@fGBOA)vyET)e=z|5HQq7MWwR!)e26C;`_%qbNG{A7TvVBJlRBulajj z2mRk8J(=kR`9yv7dTdI>exAwSg|;Z}f{rO3M>C$#8u;UYQ-zN0SyLht77G%|K?VYs z;XM@SHx|)9KE{`A$rCB`CsqqMF=#yiWLm8P%K2PB51n0M95I@s8|;;=1OXrPpk5DE z;|oEzTBZUXtU3qpKGs%euy>*P)ks8y^ydfJi8nGn#C6a# z?VSG&_&Ltjg1i!i=;rX+w(AoyA((MaeTKyK#as&L$dds*Wq2fm_@ezEPgF1JMGek)}xt+)|O@8{`e2?G0a@6VEli z)VV(Mz1&&pwqX+9tVTy20uq-ScmyFyhC}^DoB?PXmrQ*Gkr1&t;Vdu4?(iUhMDcTa zXdLSLpQDK{<`6u|=L^o7Pz z;i;VAbii2XcoNP=ROyjr9L+3>m3a$arU8g79dPfv;L4=Ij|svIColt7Qa*5|+QS&_BTq+TpI^=g zfaK~T*@L8i(@SO+dm{o>-5Q263pua=k|aCw%{Qw`&=mJG($6z?v!9V1#Xb0AjG)!Z;RxclVsJUga$;~Zt*jHw!QBfc#pw1j)$QXi z@Wx=$J@sjWgZ9^$!x_>@_KPUS!DIRvv2&6GdlQSM7Jw{js@DMD(RHL$m zbIyc5Bes_nu#^Zi#u0-x%e%67Ywwj?o7Y}M<#-IrE@YscQRbKqsl#P8xR)-sFp}tF#Bl(kByGvvwlVg z=@&=>YY@p>WaYu`Fe82rlDt;ZNld~f8^@S(5WL8cCw{>J(6c`YUn< zU?%vS)8b~Jd<>uz^v%H?&cJy#KSF2a4YO8;n<|awT1kVEB#qu^Hdcj2QygFVmcG{c?}tP4-UlCaXa`Bmy*;SO=weCuB{Z zOJ8Y5=hdI!^9oWW#PUv5Yf*cp;CLVdV`~1d>Yd>jCv}A3_?!aha}^y!4|qp?&Jad7nA_HyFd9G{Tu7MGZx3z5(1+QUG9}c;d1k!i{Ub*D=l2XjyCG3t`SssFsa<|3sG^T!CqPGokK+=44!fstAM=Mnl_sA}gW~d5>s}D7QVt z-^I#7Eb9mGn;sOFNjl_1Z^34XH^=~B?U<~;P~7qw{JQO>w0v0@Na)+KeeK$cF5MRM z7Hn|0j2YDQh8E(}NKd%J5qQt0wQceg*MsvLxlWJVh=|dzR4*$ZRK09bDa0egjaSIq zU4fmz7-WYyGJH|WG1;MqkOD`}v${+0cSg4pf4$vw?QHM%1S_02cV|tGJ=Tm;ToE2= zbMY(T_xiJZ{GIh#QKdG_D}SpbrRp;gsvE?G8mb_hN!Ut=w#lt*XRAOZ4HQTbZ)zrj z+ldg{0I$c+v7Z)n_I$+7rE3lL36JTek zJE*@oU3bt+e@xrlBj7tY!xIEpLBxkq!~G-_oYZDIbvT{r6SqOJnQ(_TByk(`^d@eL zU|_M|;!g^0dl)}~+w@|Xlf@1EuC@KY8^3*V+Lz!rYCz;6qC;OyY{rhCsD z{!L*(IzK=Jv>7Fd?-urf?;7Y)4Qgc$3pM!zv)#cw={sy)>SF$7!D zp($U^Pk0vGX8dMX{7qEKuDj*az<wda`dMGcy$%OR-CA*jnCsLQi<04P{SylP6gY69eSFGXdy0~o7nLcTT(vFfn2 zQ$om-8!aNK3DAxhSZAnU9Y9VZ@2LVoJj4xOhImS`^#pYgEYobRYr3NF6#e6OGk(bs(c zdH6lf7$@QP+>T>{-yhxB7yQ1q2ul~q9-h`#PxyV)2y&~=12z_0E(f6p{HE=_Ryb~${(B#X3~_H;es zFRdA4*i%{d2_gih*)!TLd&Wz;Eql2m+B25)WzPsS-`k$igT5_H+iSfqabN7d$US2^ z#=~ewyn~>9C9WZ|#kTT=mk*|h8!-Dnf_`k?H=Ackf@V}70klU4 zC#E(Bc!%N6TA__l7BNWFSv~R@FUkedoCRTr@uC7CIu!Vh6fepizz(gIJy;%p*o+lb z#Pf$(QE<9_0b&+)!qn*l#4K8mFwFC_aU0Tjgn&^)5yM2SvuRVgx^yFgLw>B?jR!OD z+T+is!?R(hhs`&njF(2cAfMk>L9jZzE4(?-tv9H>jwWf5U&OM80B=1a!#v(?_sK*`2w~#7uTve z#(A@X*6~^^UTxm@^*df2@Pyvacy+lKGKw3x;T$=cx5xbCY>ybP?!HmxW?tD7Unlj6 z^L$Sw4S;ndq604Z66l#DvtE^lP)z~@uw39fsg5BZiSdiC1AGh3EyfoVGtd6;_nFf z%ggWkITpzHQV?HUhOvD>_BkD;B*y-Co;hC&&6wj!neSJ(KOeZxn*XubpJ!~q74<)5 zf4+WXuZgADpJzb-O>6R;xrAq$kU*sR6bGIH*7m-zeMdFb{>q ze1hXd8tu4N`Ck?W47+_2iDc@F35!XJjW8#P``07V+tVfGSX7 zWZ#TJP}eK`lL8+mJ*I!@{?Ox(JNv-*pvMD^r8puzPK)12EO0b>T){&|OfSp)NHTt7 z35I!$@f#NpH&@y^Cm`PQj~c&`2qHWcfY61=XTgpy^x_UZ_|6x&uf$a*ZhV=o$UzU5 zbvQa(-3neQCw2~oYRT8A5X=ChTw8B^&Ne<9_}LR*S@5uLP~#YV6}3jVl-5~jRT#4LqFWps zQ*!J<8e3itkmdR7`@O|~p$ZD5+TYfj@Vo`%J~BMF@9h@&gVLxnUN9w6z6)FCj6Mfv zBcUi&NoS-UD2YE>WAH2O()zzJbq3>prm-1g1HQi+TiTH5SBx zSFS)xgv?g*)70LRpXU5&FmaUmd-%KnYjBpV!3eCuS%5y{Raf4wp{|U|z@oE?GD1=R zy?7H-{9|4@=H2&ayoqsQl+iQV_$I~^z6lo#h}mkM`7hzao$1Sx7<)T9N>A&(R0i)^_Wq22zwuq?w{ zWm)F_$y}CEe-#HOj1PtJ0P!p+(ZiRN!K{8}V(ia`xH4wqFa)rG88`*!fJIimf%VWn zJ-is>)p2=WgNyvCa}fUMhJlPB*zMlCQIA~WNX}K}hd3x3Q;z`WcZtl8bv(wbFr_)} z;DLm18(Lw|l;^9o6|cE*-%wSs!PD`c9lJa_7pBBzn=KhM9wMv_swX-qJOc2@Gg{` zv&rwKpqYuH6QF)3k#{btLPdfr7WFVN-#E~xt8@{y_+YTaNFS=w>&^1Ik-ldz+KJpU zI~svgU46-FLEo@6RC<%x0;EzOV`W6YhZM5zCtW41yQNYw_=R5b$i3`o3 z`-3ZcjMv-`gIJpHJKsO97yedHWR!~F3epn}6W1{SUj~()fS}TygkF*CjiAy{-#X$c z93booZTmo{aXQK@={J$L0KHLJa60l`pK8IsVsp)wh|{1*RX7bXrQhBQ7tA|wOc_?% z4Qu2C`VPq5PS|&jpfwF>?Hprg$Drw|g7>|l358R`^Ui_bz7y}n!}h|u@HGP=y}ys> zWP4KJ4Y+ZF)yM>+kyi&{RfC;Q1b6kn&C29|2wY-3s5Mo99>&Co9rr-kJJ@spIo4wq zUq(lG`~hVt&xI3XuSIX^X+4o+%6QZ12}TZjLMu^4U}0RbIKKxyNe29Ge;N#9%I=U} zgJ1k#kM|9g8rP?_AL|1(3D~prN3fn8S)bHLusxJGDeFU_0C;%6j!@SML+yQ+YNKgT z8+8D|zXP?=2Hm!SYNL)u4Gl4N-ulGY_Xgqwu-*Npa>&eCha3yP;rxio16XFU62uc@ zf5)m8e`($u~S$3ybt80ZRODF&W&^B9Grvl;J-Wh{ME2gLr)%ne^Kz zVlz--V~ z)dSnSf^CIwRrbc^c={vm6v7i=-i=Td&t@xY<0VqcY>3vzYv+&kWL<&i+ii=^fVJ`4 ziM%Xxd`;J4dD*QeRPA&JZiTrq!jj>6;cf;AOM|u5$cDx7ahNWq{Jos`5c3;tj-PjT zR*TVbU6$Vwe-=$s!`+M`Nd8N{6r=xugeuv&IMG z*6cGs!1=)Jb2wwiIAfyLf-UERU}RRgW(%k0)_H9mZdtMy%0P^)!(>QH|kS3`aG zVh&XnFOq%F`#nciv20NxtZGyCQ{F4f@Q^yt+|emsRg*jV@_!!V7+11_8e=0QHpJsT z3OxOo&o$NZY%_cR!N6qi(~hy5~wM9od@7G1GRWiqJSgRP|K;=^ z=lv+~vthe6vLyUoqtbYKe*CLrgr5K_DERrN3=a5E#AHzlC&oUMV1v8yh(|a|L|6gu zKDGs^t1bRvrFB`57~6mx6JLRc4A+P%eA%Piw^Y8su<5{aP8~1E^~jZAk#Gfuk>rC8 z!&83?;sFHqXZfyOj=1M`-!**5mai4V{3A&TvMQ2jc>6C?XHL;dAjbq4z?n%2Bro#K zPF7Ge9|5|m4K8ihgIRb;@Z4O!S^+DPv(4mA{s0fO#=dQj4#B=r;VYZy+^sfo3;g+- z^ilXB-l#w=2ZpFLZQ}5uB$Gy71Re*1Ycb!|Sb3vwaD>wLom zaH?!|JI&~JkaXK~eNA{?`0ey99jCT51&%{_w6*haSqA(7+Wn{WnDX+s%qd?eeal1F zVj@SbZFC5<2iAbv@zRbPzHn+1zLNYdEN{5FSoxgLCQs-yNK7!)ET$tK1Zg@W15tZm z7fR>Ev=E+6$!_KCVQ3v%m!AxN8!@MGs9JImaRhF{eK~aLzAIN;o!-73pM6zyIB~MB zo=4={q+W~?)FRnyuOo_VlBc4~T8LwogRD8)u69_jHA$pkJ)-LHFwVx!iWhNox1gZb zhXFnaz57H38`ZVz+hHmR11prrQ?yxn2%ZCw zL-=@>MZ{V#k++3Mivs0qc;~_Ki8XbRsz^ga+J#}bGx2dAs=<#|y$2ADs3TmyU8v=e zYqQ_i{~zYw1wQKH>iw%RsrEuyF-f?R4<)YfXfp;q1PdO>|uys^Lc=gfC633z#4|KIEN z|3%rE@64H*Gc#w-oS8Xu1}>-NfEuwevE_b2hf+LwN6HBGN}G$0G;Z!6+3yq=aLTXR zw`{m?Sr`jrYG+;^Ih~wkoBg_zibVwfS4D(oIkZ))AccmKp38SP$myMFtL-Oh;ZE*sutC*v6{{6ML#qRK>nO8`ZUmqBi`j%nYu!K&> z1As~1>&D=QlLvChny+0+?z#(8%>8fLz=9Uqmk^w}hJ z0uTncL_=iXko!@04X9j8E?>MAf-4Ob${QzF3D^@4vr+wVR;L4+#r;J z9ItyL!4Ql-BucAPaB7Ac^KLWOAvNm&fqG&bo6)e!%xr!feT!-!J`_5EaC*0+ooN#d zYLT!;u4&1DkbneSX22dC@q&|rxym*QPy#snaclrMXpRm0UwTr6VQ#}hQbo@f(aMJS z!eM1Auda`jXE=vxd5&JIf0DP5RPMdQ7rlS_7(C0u{aW8UWA4 zy%l#hu}g6|hG&T~R=4UkR~-vgsb{-MB~VQSxJ0a@p`QlK+kDSXl&gca`IGNpyYcm0y5ceEXsj-eOgM+jH`fke z&rEaRW@W-*i#uou!M@baIsadTh7GEu>-WBNkso=YhggZdpXT~^eXTv@>dA|`uro+! znQ&A%iW};oMUU9Irr1EZbuG$*n{zQgNiW@yX;(Fh=Px?!T4N^zQ#tE;uOadHYz992 zP8CjZp>;JPp@*U|iezK}^Gbxqs%jiy7mm2Yan68heFikPHAWak7~|i>YNBtw#0y2| z+5WbN2#d<@T|@_aILUa*4gV|nr`BJ!?A4w882Eb(Yc_fc*d%5dAIM{Ls*1_TQ|SwYuyK*ogQXJ;!}=FEioZb zkcCD|W?-0zq zy#)g{x?V@*SuXO#Lgdbh6rB(`#6`aKeNsx#B>m}+h;)~b8R*p1S4AU^j?fgY2`1h0 zWG~Eq^B*w#xy$WAL)!m%A-B7gn`pi$n!SPqDx}GsCMafKsQD4S^AD4Mw#iXMYEsUX zaGOflU-(X;gzUcg=xHfEJF;c-__FK{`LLjc{f97Xs}`5TtAx6?sw4-C$yvevF2z_| zyt70xStwyu#tetx{*Xem&DpCJb{+nVm^&X0h(?Ql&baJ0H=th=AlI@?hrO`GLx<%-1HELPSEE@CrV~RTZ z3sfsgwGp?He}#2uS`my{;}ZZb)wh-+Hvy)~TZD%z^OIYJj^C42=<~ksUj$J2 zq5REmwu~5`3%0Q)jnEEdG)*H6E!dd2yT)0=xy{6<>>lElQs?OA5Lj1Wxzo8_=5XxA z^j*JJYyVC2`k}%Obmx+(@gKRYUl-sq=}y#gv{*OV0n{e`o?0R4oXBN6|#eM#;7KzEiHZI#p6z zow`2d3sAQ}4N$sRE9}IRmk{}?45iylJVVxX1F*BEV&Kvs<2tCfH0kLZ#xv%Y))UTMurq3OnwBJNVP{wPzSgm`rri<#EWJIyR4l2 z(pDsuZBbj7MB*8@-`d#A4sF(U@o8v4wYh z%Px^U2)rNpmVHn5AiPl7gYZIS55fzTJqRyU_8`1aF5>ja9)x1F4{Y`zM4@}ub=!F_ z_8=(5z}-gYI~YtW*n?0mvOc+in#d}p7;iZ7cDUzlGYs)aZ^IBFAU7JsyLIcEN51^Q zvA&B(97+52U@GBZDY%(Mh)x_z;!`F}d#x%KnUWm)nwf>rTjq`QkPj_^2n%=3lKBM|c6i?qQMlz+ z1c_3y=zQ~zIVr@8KNC0+({YPesT-59ddb!;f+xKpO?`uWQ$r7F(v5ck4ryO|6T)q& zyd5roLMsHih4C2mUw8@z{C)p?7&Sp(+j>)+D9&CTWTinoQzIS0lpCNXlIebVE#Zv> zk5N^}LX_J}Cavvgz`PPPIXlrXOv5@&TZ6BguVRNdo>DRost7j;9)?w@zFn=t$7twu zlZy$q9#3&nw?2@0z1!W4sHG}w{-_b}8ws zcf`lo&&V5x2(`L(Q+alJv2$!ZOie^yt5(|{lW2S`a9l^@Yc*=zWANMJXr`Uc zLerxQ*S-Z?50n2rzN`^qF}VODsq{K>L933$5Gv}Q_1*BkUi1UwO{yDp93voaO{4Lq zHO)r3g*DAOAWGIWr3-_r-Z5b}KYKcQaV*Z0;u~wGZ@r2sOtJy5W4F1GaUDzH;MovR z1-@=A^W8^!tr*UIl@-J5N}rna@ES$=XSC*}@hdu6F|2cuN3FHU{S!^Nst-H3|41OVc|h;^B!ZSZT|}gS}?`k_25!!TFt`56AvBUsiQD0CJ-+dA~Ao$ zg2PdHQq%tKTC&_jh7XM^K-!vu#?T+~;s&#s=1zYUwTY+#3TzDU8JZQXStttGs1J<{ zn1ZkE43!0&wNMZm<9O@|fm{yWvJjSeCq=;Xzke8zdeCJ&2CpNjJIq#hgQ;eD`@6I5 zHY~BRA0Y&NfE0o+t4Zy3|9DyKc zDG~Fevmy;&9c&exa>FLb`CcfIcw`a%K3Lzvj7$p#z9rK#adWo!$;8j z7_X0z_mQu-&626y5mbQtfO0Q$Mbi;dX6uHk=c7?$Av+Pfa^x3doVrnvv?#lE;NF2y}wihIX4 za2J5X{fPes?w=TjCAjaG$Nd$pZj4)eJ<+`SLSNjwN^xIWiu;}0z+C{s{SFgN)&AoP zb%@M5XKTWjeOl}&Z#2Shu{x|O68B?>Cch|qO^mokY_70nA9P1=@Szq1qf4fTQerwl%#?3;`RrVCsb)A< z&STR3nP7;$zM=uv=X(nZT92>(c);t z-Yr~b-BTm>CFn{^l^1Q<61Q+~GaOFwtiHY7FudUB2AjA@+WQs(>wA;;ZB)beW_^>k zl6Xd18P6h=;k7)f@YrliXL%dsh^tmQ3!n{x0%=Rtz6# z8)&Ueqfgg)aZo}+NDW4BL^ufLB%M{(IW?i?`qzDJr-DGUJqu;$szLS{nHVNlYGw!! z=g3eV&XL*JI3D2|dsZRVl5t@{{W@^f(gseu=o^(NEVOa58LSe>7**3LI2aVHdAeCW zssESnx_Cm`U2NZ8WiV*OXBi9CZb=qpmM2OKnRIwJCA-Jfjk7Oj z`^j`J9{T5aPH^5rKw@dhy0f~OHL;`(+BbTr_9MAqZrevRE|<$Wc){|6_fnYcf93pF zkO#NS!}Tx3p3KNO$}d*}4tzJN5fJ0X@SPW)m>1I@-^ClZ z9Q_eo5gn%Hk~baTJqtCIF%}wXhk~&Qw6Jpi8=rx*5p7JA=$&;QwNyp)ywT6@zvlcG zdN3UdZvV(hY7R2q8}e8Wa*l&^Ff)6@>;+7NjGR+yr~sEQO~s3;asTrltS2XUN>Dds zK2$XrsA>hsYbmYBK4~D7Sf|!kqiF58N$&74=V9g90}F6#2?abg;DaW~)ffy&tP8De zD2mn`OD$S0LB3?A$+9gH)hwiY3hb(}a!5@&G9U8Zn}l#wHmNor@-iX3h9hChE*QLw z+{3B}oQ}o>V2Z zF{|;t5x?ZgynJaH=&C+(%Ai>Mq~9;o`p;=lxl_2`Jfw_YPK>oc~`>uqmw9 zJaYagbqEIJSUH-fXV?A!v}3I&{yol*$+tr8BQg|e4r z2V|~uc{)4AZaG*+Tt;_(z2#vXZ~B}Sq_+fT?@i z2Dg%Y@D~@iR3C46A8~y==Y7o7$KSkVdX*LI7H;W{;uoxWpWVkh zTFYQ`m5^1L`M7R<)@%LiM365~)2!L%dk%^(8CFbIBQyinqT0eKS=;*9!1#jl{+ID& zl2p@^Ck5hHTu>IhhlpB5T*`5ecHEK>DZ9-aJG##xXK@#>!qt-$7Lx~qM~`@@^#)1X z?o>?^8RMO~Xp{O3BgJhet4hppWZO_3A7AF-!2Q<-FWXVdmg_(a42>Pj^qNAZ-jJMh z10m7Nx$w8Id4lWp2G)~*ILt{On%Ag`HH!&wh=U;^ zSGQh51>6FGP%0F&9;gvA%gG&mot(EAw@1H1`4TEjymyK^IxGwTEGes2iTKk=!!)nf z;p%vOS!{g#a{8AuDC>y99P0&{?n4PvNgdIc_^6TB<>c7HB6pz#|vjOr%V`iDJ*s zoFIfso)_f#8KYOx>0u68+bKF6u7iBhpG)J*oUI;eJO;5Y=f6+81+3EBW#~Hd0+J~D zayl%nW`uQs5ELc6^ry{>nU(TDA9FmZogFiaBT1kvcF;;8;5FRs8@-0Rk8C{woFQOT zZKSRqi~}!<1f7O})M97)s-%eIgo*;JG+t+G5Sh|DSD;!()6&JHDHotxKxeyCHERM-q&3n~W ztv^BA9UNaAojDtLn0*`RB~=W}PAr}oF#brGxse!;({NlI^g6DsmXy{6yjvemoQZ+1 zsmMt~F%bJoh11nUz@?@)*Tl)dH+))U08`YJh-?*=;nw4-${QJUYR(3(t~X9_TFAa@ z7og{rJ+D~a28XJzObV`U$GUQVdk+K=9{8Wr_`jSmcsw$d3hP`mzQw*aHa{3HZ{EXcP9ZC z8#14ob;l#f&xaPf^N$8w%I5ydrFM&DUTw?y&maxYJ(Y~;D-DK?@yzGy^C53YWu`dC9BU^$bAh$QmI&y$zTq=sHwKg%_YE zU*dgg(vR;_!}+TU&G56i-l4}eF6O20))cU$5v4N#zeW;+g^HZUY;tmpAMPltk)l>x)eQxZ4 zZ3QdqV=%`QZ9v;P7VNS|^kbLKIh&@!-&Fk{KFi(#R`mOcI zOLOw=KJ;R*M~-yue79oGQ&rx-$cwqp#ay8nJD_^jVw}9|>NBxepa1GzpLv|e734$5aZfjkh`OtJ?@`Dl_!7?>$e@n3S0ohuh;nbC(jm|umzS|65k7wk!la)d$9($77A&@Vm;-$(^1W4nZ}-+W+$63nMNenfmwVLI2c-N2@YlR7RiX6oB^|M z8(!96A9~NR>RacP<(QyWSA{sJsfuvsHbP??B#kE{#Cs?0vbyYanTJz)K+ zP4a5Z4gpt+wZ~xBZ@($@o0`QAH|ezpem%UbDe+zlz4Z_EmU1w8!>&_lyGnNgwa(VG zuWzTDK$9s@r3TdQjFf21IPb|J;HTBSiQi zkw%p=;iFO?;_vEmEq6rOYgiG zjTj}OtsEH1_}{6BU|Z4~O0P4xSt{N~e`*{Z`74bhee@nj^kP-IXGa7}l#&i7f00$#0}BTh|DNf5JiEwFuoS3i4u3$#O2c19k}|F z(rlv;chz92JGxknhdlfn6R&8Y+gLKp_!2hCMvY*uup>*2F%>7O=;m8Jvm&IUyQM3US`T9R653#dRt?xg>>E+3(5;Qnmf8tM9YXKPzM_U-3hE}@-5@> zO>gkhtFO; z`-!a$kieCk28q+yT48$o*UD8`FSSB#|5}#%$)sfKO!!)_f$vh%t0%hULIR8BlEEC3 z=uM?N`3|K_7UbZ^s@kO>6-hQrou3}?gk#nbVtZAT4=_NKp#&w12TS8E9+Z8)SR}6V zmP$Hthc|BV@I7`d*$ubs^dQHR>rB+8xE8`p2sc9FLmk9HR_K+COtWKi;?KDP8kR3F+CLElk|!*rk%3-A*en z*O8BY6r!P={+~O5FKRWtu1}Yk!yNKXKdq1f1wE*i^tIfz$d9)4xLDHO+ZIAK& ztiFNSh^s%r7`G#A6W`>@eZhnI)jyG!<`>-;R226G@l~3SSn%#9HvPdpoZ!i1F=`v< z3?%~k5fB05IMu#3_h{ti^4Na)3`nQ#v~m>~J)8>-npfi!%A)f#Z_zMlsL&MonbIpK zNjb`Jjsa&INpA>8cU6hqV>->Z!ZGRVkM0_Hg>^Y-%fJfGh*FiG+hUIfIO5s zHrJf^I6RuILu9Z^kBMLsv;5ghkHq}h{Bc|czy{bF(w&exaAGJGt%=yHO**YXsW_DQ zSI)oUKJr&ub(}7zODY;4X2bCMt5snAJHA%EFPxdn7u9svPO$iu%lwII@PI%rT>pfx zZ8{$u{+_a>G4W*lmG1Z_abJ7b0cohje!|m9t|fx45#L^!QWta^pHh(MoJ==Msl9}fehF_g(jIg5nFum96xB|2e!+WOPWJYlVET*SDIHzRUS1|5a@PVW@eh#|dK+{vUzR zK(#uSxYbI$!0Tx3ukRG8|5Sx2XUv@`)5q~@_5(M#dM1ev5l&QIE^EtRKPS}R%@3ly zw(B%=rY3#%6LCBLp{M27!eukjA00?$O?6LYYa3c$-7C9y6F0th;Kef^jg=i-_YvNs z8wS7E(DTYb0FG`N{MUw_R|mGfestsDf3!lKZD*5tvD@@eSMvPI(D}z!kDrn{key^+ zOlx!E=cJ7w>buq~)unFNMHpM(P(-#jyQ7K2rZCmxZYlHZ4xL&Zj74S6~qgWRPrqr7XJ+Uu}*-CQzP(_yJ_HPB$U-_)TtTUJ= z`@(b+AR!bZ1EZhA!steQFZ$$V9N+a*DV{LY8grrgZ1iv{^ysqjCE_3jUs)CNV;Gd& zqw`BjkDkX)?RZkfUhwv`+kOwqS^;TVESJp(;}0SgU;6`!gUx6dhzGXcg$MfJY8Mie zO;fhfwt77z=GbKW)x>0er38zds4m=n*S^EA`lWT%+~&kPMdo1otj+aTRmDb18N!<5 zFRa2G(mDToe;IFYhkqM++FEU&=F~+<P_cqBI-{5?;U=(#9ckuKrh-Z$Z9%8GA$fdtXu|PTzV_d1GRhwo z{EnK0iiZXFkGK4uwZj7Ssyi(3wH>cS=f6jnn~KnaN_SwR(}H1ZC{AQ~6fl{~NmRf- zAnaiT9P1QO|HrjLU1tt(hqzD#b(7EMt_<*L8>2b@M_#sVesWxc(2hV3{~VQQsYryd z)e@{MR4<5Si;uMOF&64;yr*U<`4r`Aj&UT^7n`Ra)40T1mMwqAfos+?olaCk2EEO% zd~5AjY^_Vtn=Txyl(y6&$uK$p>fb{ee`4T$P5l>rv-)dt79IMb!>_CVSJbsXb=71> zU2p1JSFM!P4m#2+p^(GGH}Vwn4=VH}^^Us}G#w}T+BT5SmrzJn+dHC=RlsCUCBx#5 zzb{|SAi>gqn;xbYc-VD@%!<5bHiqn7i1XJ&e8}sFL6z2>0j<&SO+(45*YOe0N?<+q zVUBcg6KtNP%Y8rW3Ds}#wSJf0lr^X`)T_K78#=!m4MnbjwLZecjN}I)`Py%z{+Z$Y z6w#cs+Ut!Ulk)!-n!J3`s#`I70Ry8V8PI%~S2TRBk5RUaDLtZ&(5qxr-nVR8CGem2 zk8Z~=CJ*+qI$Tg0C?ftE?aSlX9_LG42)rGcwn^FFx2#FhUjIDTieAGP`J}86r;>mf z*;>mElcu1C8CITPxiDa@avgafgm8-F?nuUlF^JC@--I0F)NtNS-~W?bZcS5Jxgt7< z;5t@xcA{w@-*Xd9{X&T|D&1fo-c*%6TRG=(j~$TxMYCkF0?zFb&F_Vo(CeGFE5zE1 z3V{@anpGsh@OP_SZ8Izd)AYfZvt#kBbxg0tvoRhW+NCD#I8_||L8R1z#umphx3Az# z3bAd{|1>N5XGCXT4yCAq_(MQTRE;NnV7tOQP2*#XNqXsJtoE~iAo*V``B_T7l+Rz; zXNx{>LBD_e1221kWsi<izDYPne{rz)u zxk);A@Lm6enk+SJ$aSS~`xqR-HNBFTXKPbG_&iJQpA7U}|1txRB}>ZxTAR`i?Zj4f z?v*YX4G*odpRVsX=N#vp>zw1AbAoe1&YA6;Go2H0PMvcmIcJ)44si}EFpB9q$~ohm z6E>}jB^fi&e6^}#yR^sXFuoEI%j|9VB=894|L7|=Wumcfis-*UFXbk&PC3-#5t!r z=VIqv>YVA$xy(7u&KcqyShBL-)j7L6=V0fwIOjy?1f6rNbM|shz&S&mQ{kM$opZKx z&Uemf&Y9($?>XlJ=dk_|5*IpWigQLfr^Y!`%|UYGA`hpt;&zpso!`0z4ORT;att^y z!kmcTos=+`OzNz~Wk3m>xbcNOiBM|X5G8=mU>bD6pT%@b1@a)1lg9HSDaP|&h4DQ9 zFh=2T6QzUm;Ov=;a-V6~AH68I2Jq;27UkCB#$sK(J4DS&2B{WxT?a8pr&u2OL0V;S zi*lcnO?334+!wg9lRf_6TEL@OuW|h@(4#hQ@Ht9clv}65&+FpelbUsea~xeS%572B z&0XFg_C~Kqu2{NPiXEJ@qjS7bU+=y=iuMMJ8|PbfOZgYYZh3IZ|FT&V42(9JBQG_s{ zy_(KTOy(Bj0Gl6lNWO4dAG5LLrU*ld~o*eWUK ze*xLsB;!klV+4%51)w&2t#&{lxEAg_4|sUz;kxq7Qbn&U-$D9@l}OQL4=F3t?RV#c z32w7ZWu~;;IQunnZdnuT$3qzx4|rfoK9>h6p^W42*-dTSaFj3=u75WctXnTxaxc<_ zQ)iVQpBj2}sQ%HA@0jO2^BFvywgnT1oNq4o%6P5HD?^7`)7MngGJ?^8=LC3WcIJb^ zuI>5gPn7w@2%D{~kA79IH|KLr^~yDzc$tjh)LzEI*@P)Ax@Kz86`&xqi$P<_a0s8; zHl3p(%pZOBkI)E!~7J%9ANHeuWl6f z-$Ld8=mnzJmsGfCpP)Nbo{o&fq|Z<-p%N#_VuRNJ@mI=y%hrcRdl$7*p-t4PsiUT> zspFhVy_Z(e*fFsmyTAPqj@oPoy*xW8RQ}gU;!=2t>sH$-_AMJs-**0>*tc)MTh+G} zbe!v3`b8h~uJi+0SAPFP_K&$l?CcL!(8788kpZHinb)C4=x1dRaF2(C*bXu>j1Ezw zt`e=-O`F;Qf4M?Bu53*}I`)VRdXEvvteO`qe7tb^_V+nhPL92Sz4FS$yNzgW98JE` zj?lhinDM?iP>m-!PzeO-w!;?(_ST{EYN<`w=>t@?&DEydN}Hb`#gRDt9grI4eVA1`dlZWBp* zA$+&xq#V~#U8oC|^=`Mu=mx&wd(al9od;9ga>a_eHsE5WlEV!s)wfq8b6Sufj~CCieacyVHU84#Iat~p~+!-_SsV> zcSg@_>+!vu{~UxH2rE{b`4)|=`vb05visXUk6na|=ldaVmrNZj4XzEi%&c&8Cu4x` z2ghJlB~X>`Tzysq*fB1bg`Z~y-@2No%HQ_gumilZ?x{{UDmork!HQSPpgM$aSB~p3 zL(GdG@5O8MiuqeBY4o~-Y>@&}8&A}@zO>VLB_&JiW9wTQw$QhY9o#n6vFt__dIfjO<#p54Ah?p$y#Z)4detmD)@L8)J<$>(J1m z4|1vx2u121?IlD!E4xE;Xi%9hn2Q@uycF(v$ApMAr9#9yAe`mqP~ye9^^uWZXo?1(&ESLKf(q#`Ogdr)T#HF?L`gZeK4SP-d!m+)#4Stn0)eVi!O6m;o)8`5P0%dvaY$UCJrn;H?3wa zzhZZz;UtlfpP5XydtN3R<(Z6Peh8I6+ADf%dr{9tMt&j*NA{x1&8Cvm1~XexPlrZx zxdJpoSdR+zyvjoU66CTiO&w#0Hg!bDqT}RtGTHsF3W95avEer?!Cpu+?q^hC_UM{v zRRMk@RaN{}&~L~sWY1X)S{$@C|3eM;*sQB<^zlSyCiCO1Cnejcmk>hS6H>W zXU4cOIM+nRjX4%{#s!XLpLkr*@i;m$tz4>t)fO2PAz%*7>-*AK1H^8tsqAk!qZSE9 zu3jR9Y8MQOTs!2Yg{z-N=L{nFR`X}M=&rV8qhsLoRD;Vo)_L-y>Ci7aYqoFhs;Nr# z{Oqvr>NO$?WvCfvU(GmmZ!@1n4=}sFdinhT%TSkmS|4E&csKS6o9Nsy?|H+UoDwgy zYprq$29k?yhhAG=r7c83n;b@sNSs4;7g}Pk?}mdulmHGbiqH|6Cb-3wul?`uyNGo{ zp8n{f@pz3UAmBSK%)1HZN$;V=DToy}*K{i`aS99jfuY1ycIw^m)1X?Q_8)#6gJ>$J zFs|RpGNkOQRX%mwQK(k&VKvYBC*3L@!Wv4&FIue)gp!T;QsHL>GOex#x8B5lv{?>J zHX_k7>;o#-hP~I@>PSZnC4<|F(SQr3oDghPRa&PhmcQNSF3D6WPiLgK1uuyk0xC-x zNIuTX%a-0#bgLx};&2qlu6q1(*2i!P<>eH}uKAH^x>b^)2@-Gqx9XH0zjyyKELi=& zUY{<+%-;3+!xHxW58!N|D1DExDwXcU^m8G$wW6lX`8OdY78L$COxbAPIsctE(zP#$ zsY}rfoz3+2SL@^D^t{Z+Z1&rAlg#gp0#~`~MtQ*Ra$cOhigeip{A6x%Fj^6*_0w-$ zNj`imhVs&x1;7d{`<7QwApOg$2s0;l#1(yG1FKld%e zB=E3b#p#M*?=8toaQr(AIPp^l3 zd~LrXs3Gx8IPtlYWPnUvq)iG`&8fiE>N@`|yzApWDtztNE0flyGOOYEfAf)|jP&Lj zbo5A4wu6%F{Y!?pRzacw^$Rf@@JmBh5cij%FOu^Q`7vNbDVv=C^(BW^ zzW`#b6e$5DI02R^)J77V`J)=sLO2m@5KF6arh?{JP-?(4<%~CC<|=SOC86H!pSZkC zLyK`WUo4di@vAotj5u|g!i+ZM2d)xYRG0`<<3xK))e1{s6o!!};+FeRl_hxBNuC$$ ztv$vura=Y4-rITY5}^KpEPj!>(YLI?9Y34diG_auWb1ac%`@Bg4EeToV{B2KT1%g*56ZH8s!|Td72_p$&KR`$zI8Js1VOq! zas+vQ{JRnkpHcW`ZM{LLVt)5mLWP8P!q8x9JNWKp7n1TIx(7@i6`;uY{vW9cT?QMp z*G0G}{(eaq3P;8ZtW=|WYEbVo#TuR0id8}L36u^T^HW+OSBg}8zROd{<&lyaMwPIs z1ic+VZ#(5MmuW~jNLnt%s^cmbF6{DH6;=whPPszYwnge9yrm#6LhLdZDN-&PT`jsW zKhsymO2Sv=77_xV>4DGnz~koL=JqGFKv1^O_a<{$##y|R&Qwg$OV=V7_-+qgq^bCT z2VaG|a?VACcKo%ruf#9jSG^ODu(!65Lo+TIL{f9;CU3&(xFV6#mR+?G5pAJQE<9L$QsjWkDTmrRZie4#m>RI`Lh*Hv;lb#h zEkxx7pvIrMV#HdR#8?QhxGM3_Eb-6v{9z^}lQC3^@x#&Rc2|_~9A@%>Q1bLIn=J!L zO=cTe7fF;WSr@Umm~%n?9mVZB5J~M!K#iy2V@=?V|MZIMh#pRg!-Ay1*hg8qqg~68 zQU-G75=rExLm^@z+3)H~g^ng(O23b2TK7D=2=>Hy<|A^-9#@Qhn&>~5EBYy7GXLa9 zk$E)ExzGu=i-o{iq;)6Y{|;3xy(emb;&JImC1Fn~O}dNZ^*oG7BE8={p^~k)nckt0 zz6lXOyH`FW>(Bdyfw*t_VT=+vF8*hF4H>XAC@HGnyq#TVaDRjIoAi(iayd?Mt9X#z zzOx|Cc`NKtx=)iX;>awKOTYetL~_oH8cx*J8)Q?F3+2V(uwbnMXjHoOwiN`Kcx z>Ob+d{hA++PHdmu1vP(P zTPJ|6D;gCXN+bmojR`R*2-9O_CRQR{*{haVMXH$CZ$37WxDpb-VrRtQv?0krT^UTF zmh@3>@h0I!V{pkiE?s8*S>rg`mh59hj_8y3EO4GyalsJGvcq;A>o@z_){r=oT453F ze})nU6JK#6!?`TFFY5Tql_uFLo|$W5#*Gc{8_3QZ`-&%}PwJrnC{%40k~cN7X7 zYg*NUY$>&>1@sqg9hAdv)1uXJK6pj8;jC5MnUC!@vEQXwsq0(e%y#ri{E8FHU=6(@ zwL6u0+jbQv4fUT!-Wyl@_v;Qz|uQ0f^1N|GA9q!nuofFgd9&EzkgmW@4kbv zb@6YeWofFtrS%|dx;y?Q0@7Tq?n{r0x!_bjSVY$C!7i{sxBe@x?^>{>6Hesf54q+& zi*_w^$y{~oeMWmwA9ryux$J1HPv`V)?QQo-xOHGI)Vji2+ty>~zpFw2LSI13@t`#q5kJi0@6s3Xa=iFkUA)*d5&BX@II&kK)!L!5Q_1B@ zl)7n!Ie+eeC_K)SA`QN zREHC%2EvK?wc*4yW116_$2TWV2sS594K*juZ3!nXp5C0ecxE_p)|}?VS*YA^4z;f4 zMco+D}}fT#d^1H`;nLy{Y)|ar!krL}(M9^$1PWcM*(Jf%{sZ z>~9q52`2U|JrWX!+6GCP1*zU7wE~6#+xoviQf)4$FD0q@#1~0wfk7LAZIh(VxAZc_{Ws64LW1Fcn%Q;#;&eiq{ zn@$hZ#I2FpRbQRX4++uMPKY4AABuc0BEN0EmX zIk`l+ut8a7r{!8ptq&!qYcD>8{5ovU52|c|wSKnmvQH`rWi31>z&(io$rN)n&ydXR zwms}_453!_c^-5on@3MYd6ElN;A6_|6e5)PC#S1(*&{juMYXl)wY~XyX!H}I@+W+) zm%~q`a={a!k`G7N`a-jfR&Z)|wD-@^qo7Q!-lL#I5Xp<6CQkAksPvxL=FQ(8+g)Il5AV+V7p)feD&@!JYkk*V{e@YHWKY4asha_q|ylPJ|?E4cQ!wwf9d_Wk(KD-e0Ir$jF9#sg+xU9vn-%Ll&E->s| z`sm`v$LT})5O3~$s)S)bhz_~}WBI`BFi&QvO8-%DVg%`rky!-V>ag*8aq?R(-6W6+`fmw3cR0(ISNGPNH7nxWMB+$XNsjpx?T zQ%QTAG;Mk+Lx>M{EUX!1mV?GBanEZNwgHM%h@>wHKwrnd{QI&ztt;=rPQZQbDn0Xe zn%hd_<|AbsxEtCfVc)TD_bTHSfbwP7o|mufCsa|H_qRd#I? zpSajfYQIV~O7Y{}vO*WPACq3MS~CoCE}8{fE%xHBv*V>o<)M}$jo#lZP1E)VvedN0 z!bx@T(Bz`AI6V{PPF9_v5KrTv%0tP?sqC<^?BQ(6vW^5asg#hwVUkkoUyNPodV3tP zXor4Phwoq@YplB;7S_GH8@nhu|KD!N*TC22B!Lp-F+Wp8Jq1q-Cp^?Al%h_(?jlk= zV@!i>sG8Q(f6{}F(LOR;RkBv7eYr7a^bVFUIA(&~+&1gWE@6ct%ZSe8s_-_`ZKqlnKJrcCpNMb9l{dInsh zZ71N=N0>+>^C_8u_FYl4@|bHik7_?^O{+35?^T=FPq&HjcKOU>GegM(wdQbF>9^#T zR56dQEJI)YA^qI1pStx;b=?hi=8#(wB;M-M*{T_PXg>;Q7fHGqeTlJMh>z|d(w~O9Vt287Y<50CB@o|Gp zbUcyspLQiwmpYHv&Upgy8TBF=@>1r$rsZkJWP5dLjES+w{Ke4w5b;ZHeKS}Qef7gm zz&qH|zyv}1_9n2hY9OAnDX8t|(GX22S*j(x6uff&AJ3x{&PerD9=kxv5VYHB;(UAh z6x3e(>~|^zOF>#J$7D0s;%aJL@`cM z=bzD#y8a&X?>YZODP7O?{i5fx$--!p<+t2+>7@gTDU0}W?G|tfyrc&UVH?;h;MI$2 z9!$YTSYsm7#4{<}U*TV+XJ3zIv?EP+)h5<>IxLsNp0r0xMkO4Pj?|MzQ96wWjXm`d zO`WPq6=s__hluNw?wQMgIO$YzW)_N0Rb(1B6}3O~W_r6bWH7x6 zzhdk^&;G94k8FJ_z&c*K0UWPIxx2+3UXx+C_KSA?=Kj9+?L~Ph|D8M;9AN=dbsyuL z@xwb0mn;zV!K}EA^%IL8@cU{sGX|3)lDd+yKprXojfIqG0l1V$kkZYnsd3FNrZczKq`-FBAss52ORpl#u-%MS>pCSM4&OcfHJDmRz`DK}fx&-8(<^0>rf1&e#aytH~^S>hhmCpZ^{AP6_ zXz2=hqhz0P^`4qPlQWz)r8*!KC~#|KMIwrdY%NpGNF@I-^glBzs0m^i<2dx+^`zRP+!?Bx5%k5!OWd;zg z9Oo*>s7y8wwRl#~{~^A!;mDfuRbK+Iz88Rplb(?iPG8`D4NeK6-5V!eLCsvEe7B9$ zDcdUYR@;T$H@=?VmsUeBUU>|Yxqms;UywV@z?oN zpLV#w%je3k%I8OY^0{v7d}_RW#(z~lQ~Ts|R3V=t#eA-epcuJd(^5Hs^lqs&1ZCdj zr`S@R{aj1^kN04T`!zM(Lm<6t z_&I1~1`z%wjPF0hcQzcM?GD*Z$@9R@U}36|MgtowN3gN70f?^hFP|%JFJ`9KPQE&` zL@~2%mv&JRpfE5FBTU_`H)_77F{IDkyD{1%er7)7=Sv#nMMX7yuY}h|uhyt}obWHD zg*%BX?ZaF7?nMjHBbCPwzABG%`s6V!pNFRPTa5W{d#XGDK(G4(=5;gqwi|R55MR}O zFHsRMv!~6g%p@pio4vs}!!8|_u9Ru=|!Gai*Xf0{jW(hDe+2f8&6bVx>F zHYDo0AClMV-L0MKZoVw1v$CVSv#H(cKC(i7PgGaATB?1CK(&@==nS5BC+&Ex0@}Q^ z^XjuBEsxzA;tP%_i(L%V6hX}ZD*GKp&D%b>j7^hI_n!CN%yEPQ0gH=H!aY)uhYIqD zd_P5Z(;3m8gn9TX3*U7<0qtP^Te`_l2|xKl&-2kwC+XCg0({rMK@dH_fy}wnOoCq= zDu1}EJol=)PJ*`OaD5M8;Cm#u@Vi&_YQfjlJL=pw@OZ`H^pEY(t7F^t10UCB+^)c% zk*)aNh0L%*mUq%pt{kB-P{FVc`WqzpA0D78 zwA-6}d|jnixdaAwy{z*>ho_62eoI8=ZUTzjM)%)$a_d935^V=-yZNJ7A1-k_M%RVP zH{~|Qk1UH-B0yeI-fw>Y&W1U#u+pGS1VQf^Hv^Z(JmX@X*gEC`7xR~`V}9;pe!6u` zhl^QMjDg;Tl<)fU7$6qwYdg!lnoLYzB-nYhErI7%rcU4lXS@0P%1BAdzwty3AI}n0 zXBDf|N{P+T?v9;P=VWJCklzK(8&>xe0DE+mx2=!vyoz|-BRi)a`B6`K^axPN#i#^tZ{xzcVNRRlEv1;-?bpy>_X))1u5EN z>Dxa;<{wJ`TxHo;6#J*p6grRennK6L+i0vEix8FDhIo$=?d9=?dDWci*g`2!6d_h` z8{&6Gh@Wp8!cEtZj;}4=3nEWz7lK0{T03p)pvhYYjomtE+9 z@`<+P!2#g#&Xd^iurH_#i<>X^lJ8=VWgnM*T_5@yGXDriUqf5IjJ|519}&)#MmVwE zjH>+Xh(KcX9>LX#;G(Y^O%0v@nnzRV6O`w+Y044h-i|0^cVzeIMblj_y1y6Q4)G~I zx_#%=3E<*u*BN^@<4SL^$-RH7+MvCO;zKKW&?Y zo61Pk4ZFf3|E+e5RPDuJEbc`Oo{tjtRGmXKSk?0TQ4Qy;LP^PYa}STD+L&3V@90jQ z4P(u7blx*p9&I%-t#F|GFiu5mM*{lUJaY?EBc6WIuCk}%55q=5H+n~QdEXQ}ZrJsnpnB1XuT8HfXQuIE{HS$Z~V1s!u&x z&bMqb8Xd#BX^dpWqE+7K$ljk%d7nHha7{T(qdQemHlX2#va&q<>%HM0r-YK+E-v{T za2&$ZDrIxu@5o^JrVeKE#-3Hh3BvB5x`|5U)F68u*lho;bT6AXN8hA*oBZ=p!>K z@}()gWKZ@<_Ko3-fWil4^C)>4Zwl3|3nwqGYEGU|EwjWunflqji!eqqv-^GYM>k4| zw5&OKF*W2C=0-P1l5aUatsGh#XWEJG&XC!+_IHJF-I zcaQ&l~?RQ*q;SQT8PguCq=2+d7>eZ>PePr_RC%@^IgHuc65`36YNs-_ z9PO?u%3rO6%1ilAiQo9S&f^=Voy`4#TqHGa`@x@;5R2%u!FTWEYV6@e2Zob-Wsh4N zPM*LsxTjX-^+`hYPx@N5gkq4;>;K%8*!1y+*$s)w)xh(jfeue~C!)1SR~Rbk;av1l zx_q6i2e#x!J`C)s+?$ykp!}L}xaZ#$QP+B{^|aq20O8cuaiZs9H1^_1+3H zYW5kOr27YdafGKw{O)I8pl}dQUQ;Wz;a$SX`D4IU=0@!z1lJ&P`?5h ztcKI+JA{%)7mCj9GmcaUpl8Kc|Ax1GEkzUQMmS43g4_4l{v zai)++@){l;$VHE8PCD~1&tpku$e>aZpueNLyUqwFC+=Rr)@;J8!Y0hiu@}S1c?Pjt zIC&HR&NNIx(Yw13)JG8NP$;Xu>rOsmsC{WdIdfIQzIheCy0e^%B@@dz zz37ewbo#;llJY+HOT0bYD0~uo(+jvqFq(4F>kG1rk@c}yzw~t%FouAYNB^MEj=7ES zn-z^V{wI9E_^$=mboqxGkbTB~ul2=r^3i>YB!;)wK)u+CQ6>HJkrd)rF$7JOY7Egk|6%c`N&vFOh`Th6-4W}tMST`^n3>d2{t^57SB z)#NdQSBjFC1;VMwz;fMz8YqGG<9~!{Jd`mT(Z?UEOI1l8+QX zYf-GmTu-D-Hj}TZK(g<_h^CV{m0*8s4?P^$x(lsX$UnU35fhRqWOnNpx#)`@W47&q zM|}5oBM=285H%?oZR*JWaB>E43K$xm@Z})6aNaQcJJSZ z9yAAx{wG(Aj-FT3Sbt>n(8l^Js-g$-8{o!sYflj082DN+_K)mN(znrF+}RY=R6h}w z&Tv)iZAr%C-R%sSDV?nGkiaas6QgzYO-DNs8iogwFk!%lI-I-i&wG0Ixt#y4GrYbL z*9#|}&kpd6%CdIV3Y1%OQn}>^aeyoRk5irWHM{0=jjUy`MJLT?>KZ7h3|AdX{n>uG zp=K!sCd0cETTAi-Bjh$lH^vOB`p5Gouw&%@0rEFiSQm=(rYa8KmKD~Sh9A1kA4NwN zM2Cp#`$^9K#_4FwQYbW#*}^peO-d2H zLctsHQT`n7A*+{iH*VSVpx=}djMweb>8<9ORoOoL|ky_NVh(d2ij}Di= zfB@X~*{5!QAjSJa0%&Nx3JI8(?U;U`%_=?lRzL^Yl#IglZ^fP{EL(RdP%o{Y^ItZZ z0Z2=G<`LXdKRLIy$oqHE$|$dgZX#=2jb@^d=hrlq_qXKzi&krrDM)2!aEVa0NliK( zxj5(F=R^j~cZ$Pg3E#4kc*Ze=htn@T*{_V>;IW{X3Q>pYJ`B zY#RLho%}TT>D!tHxulRiIddC*uImb@qF1HsFd>;`bgatm$&Z=*OE)X5F+0u!3Z@tG zbdZ`LPRjJlip8R=v%F^|8ug@iQiN_cW|>g(Ra6;|y{F{tsihD5K%<#=?$RjbTb3J@ z<>v}U>Ynyv@784Y-=ze|Aub!d!{(1*i~Mn1&e;jIugGV5kD9GzaiC;bo-_OiMcJ-pbN_ zIL*AEB00Ho#Sf7K>bq`WqQm?& za0&C%=lOMnuT2WftR-p-Yl$67@2dOS<`AFPZm0 zGgb;cMjm6U!)uhJd$46;I2swA)U9rLBXvsk6yVWn>& zX~O)yN+16aZr^jvexp8t#nl~(ItPc(%&ZFt6KgU z;`1&4S4%9`qLHeHh&57G$V&ZqrSF_C{RkT?OG(57>sGq_y-L5HfUhcD(saJ`b1ZSb z^bf6+K`T_qO8t1H{}`wUyXN6mX4!U;e0Xg?Ew#hRV|Yk&3LE>U1tO^#Lv$|Ie|95# z{tX|qHM*)Q!r6e%&YJ!YbKe3UWpVwTkOUS8zKbLpD`?PQ6Gcrbx8;`vl;8tLU-hngs0~h;S%0b9rPH#C-C5AcgM`Ca69Z` zWmbjSr4fV&VSkDsmm*ygWVnoZO%NV!W_R4n?%*GbAPo`^vE2lZAg-m$&;lbk1(6|v z(`t7j`lo9DCZ+aI(rT|ov8X^+@VQW zET>GWU!nm&)xx)tu3NYbpe-aztroKOb^K$sum)|QhBNCKS`DA;#0Lf>nN4VI?JYY`0Ed$h6>%EdsFTjd5N0!y zpAdUYC&ewSq!^6drIWBpAXro+M4O0Dl{WOlVLXMn7Ia z#`5yGxBKImZ`t-le)e!KKoM1=@W&zPT8SScJI>l^w245Rm$7Rlq{X{h)U_4ER9wqX>~}Y z+?vFBMW@`PQr0C?p3y0zR7#IzX@Ax!gH+1uB+g8o(o?07Zi+hB>68vC#im=8q}VH9 z=*!%I=7uC+&a7SkeeL0n#+-i8VcntU@s@JvhpG}Br=cEweeV=K8dio}AIv-O&_!!l zcxbW5)%XFp)|lN5$W_=z@`jIxBjmcnj%N!HZyG~!B&4_D;TGXb9vG{zl*himG3Py` zt^{wv4}GhdxycA}=o^=Aajzv_e2Cpz+DBm-o6-qx0O~epPQExkT27rBYg_9+KhJF0 z%xThm^;0HJ84~Y<{5)GwhyyyMC`!Mh^(q@RwSzZ21~%udRgvqQFhmCM=4?~ul!vTR z=wGqC1e8YWU0p|dwy z1i-@`@KO%XqC9^MpYao+a(J;NiEZ(M*aQTQNXI>>#F)JoilH}r6_n{SFnnAbTip|giI`y!7p&KDls&Fg9j;FVgCw=qfHkD_iNZ*CFk8>tih zpF0~}aB4xOk#I&lyOGbgM}7@op`GzG<_uavOJV42Rg?yy!Be1+Q2DnaV1-s5blWQkUxsWA@{Wj^s^s)ogXb@u(|zYoN2w<=N`M zd@o7aTk#D}_|6XDZNgCbA#i=cT&KFef-{ZK=V;>KFI=9?F2}FhPO3#$#Jm!eVX{-Y zw@_F?x_2u{1{PZx1@Nqd(7ir%Z)Io)9xyZJT&cU)S8~Y9G2%mn^lUl6Dpd0nRMIZ{B$$an$q52HB%yWdzgZ(Q^^^UEeuotE;CZa5eSC|xi=z5hM5^V z3VXmzj6pbAu?HK#-GKsfg)oF-78#x^z_4am)fm2)b6rwE4!7P z;cEqFyhV&icB|qHa0NKSRGi@;XV7ps8tAn1@t2%Yjo%c`_>BaGGj^dyV|F39%^LU% zIf}^{9NW)Is10XulRyT(<_uoNKMH3+xlHR$556z*h?II%{uor0${$OmJ^vT^gN->N zfAAX>f9UpV{?Kg_{*Y|{4S%roqw>djYy|x1%Fn&5OZa0DfTQroYLNVY;*SQPlRx-N z{;0)o3V(>9b>;>UkfEJ85Mj(2MJ+EfWXG$t@jvMnEotV4J*+FVlTDga1^q4d2qNgv z3eITLWgsLY#3Q$@TyGk)pGSQVe3y&h>n?)tI1zjSc`Q9;a{*uSlQQsrR7e@fUw#RW z2d93?0|;Ua3;C>eZi3MdU(y9%B0jf1DCft(;Zb`HA^9Er&3npW1l;bDbMMYXp!J7Po^x=DKD#(WyzGe zI%Szkc`BJQNvEvahVzT``2E0nmID2V%6kd(_G8T+oj0UXMkZ5E*C{utlupSMr%oBA zQU)YbzJ8To$n$mBNE_zRw$+nCI+s{%jNq99D;pZei?(RNb3I^XkGxdig%E#6@LGYD z-D!%zJo|yyK?GKoKweYTmedCYR>lE(P;tou*$C1r84ejy>?;+lMIsvZFe2P2^9ej{ z)iBBAl4I>R$y1w$u`~Q-pN&94{@kgzXfX197=hQV82ALe~1n zB!#e@B1EqLv!oEVQ-tL85lJCzr$`6X&yW*iKoB5Dr003Sm1%x~hJZ zq!6}Ks6ra`!z4x2NhFavsohxTLb4fA-3W>X%NcHdFAE~-qO$Et{m13+>I^tqJYAhq ze%*Q;aoie!rXa;7d%KRWtD-pRZ5DSzdU473^?tHE#T9iQbL|Y93C`S#6Sp|ScGHq& zalHIwc{U%_tz;QFY7T%kX1o8)Bb7M5@u=k`%`pC9Fu@${j8v&Izwo4|GRxucUAO~| z+T+wT{>W}@qH$@LjEvE^a@KD0PNw!L!t+{I(n3js6r6`A?XjWic||Wux4%Leq0Zm3 zF`l_@p4b|I)(kA4duu!HcVQ0+KiTx2n8-!|KRJHe7a`h`6*_o%V&SAqu|7rqDR3}c zq0Vw$Y%Jd{8|}vyaT~pJsO9p+U&kU}Ww1%EGvgZ3QHouyQFp-ex<;)ADn4V=N%9%@ zzpOu_vwTL9zs%4fdD^Li*)mL6EbTyPn*VejLzmaAwort$bij0kGuJm2m~}H8PM)->SRUERMw`4;i;d-(#&S7JHxfN_ z3XMT@)|?eEaQdSi^;x;P?H^=u$~j)>(ddHGj6iYiv}{P|7p0c$qD13D9=7P7x`2QI zEo<^i-Y`=ek;;P;kzs{c!0j>WsqgzjgNx!>Rd`aQ`TZPk=G#>z-{Zk+eAD{}kAa5p zEk53txyN5_hHt=V`@WsOpPUQEQRupjdk}&1!F@9QZ&a1Qh38qaX9>g_AjR?>NeuUe$q?7h1KJEYE~bejZ+fct*F)Ag%h$~(wvZqg2c`< zx=|avPC8W#UO1;9Zvgg}!wUGIt`@+f3I$QeYm^TkMKfN-hG#b<#XrX%G?`~vq&A#m za7LS7VYc1TKThM(1kQySYekt9N0BhF1RPdOf9#c8LYyn*fuPuTB8UmC&lP^cGr z=^{!FaNAir@|t%E?gdRzA%u$AG-nDsf} z*a7@Ol}6nh(91W-kJE8=JvfeBo8eiUad77^b%xaA!+g`5ZQ)V0mHf5Nmi=^FZsrD| zv}L$JY|CkYbX)oYj?w)S=M&Y8*#&5ZZxBYgQTGVIufgm%E-+NKrYSSRc*j@|bR)>; z6EN6Mw+B0(Q%V`^MvzY;Xv_RXJ@k+m{ioP z@I2iPoCdP+Ov)@C)3mU-e z7?N98n%1@PUvT1m;YVpgIZpc~PD(5B2zxmLdW2A3X@dTInblP!73F6M$9x@Wl?_PK zsvF=~KK=-;{)H|+lF<0CTenF|_a$-~S)}_*M*Ut659!Hu0}0;F5_7~t6B_#>@* z8s>%nXM|fT(_%P>`7g&Q9!Vs3(Al$0rh1%`E;6i` z>f=##{Bj)HY_sHNPj$SII?bqmU432VkL3{$CCGx8x9uND*5ga<=_{J>*Z4p+wF-L>`bK|0*EOxm2HGA4t;Ao?#~D zq8HcxXE+0a^Pl$OsFYc0Zw{XXZNu%woRx~zqp~ok;z|$aCrl@)eE+|r-UX^Ci2f^9 z_jdlzKe){_+~$L0ejb_l`Gc*c)Bouf;2w`s1T2#OxBC2*JVx=~5_(TZaARjx($AH> zOMvsAa^p{TPFvEXs7epvm^?XC91xVo4fPJOvkEV^GZweMuu`MIMrabRPI)t1uS&H2k#2a}tGvD(^oNe*+As z+o4yW=`$8?tVyYAL2WJ0j;Kof9~iyi4k-*`Db8ivMV&T=DLs0nQlE$75QYezJE2qh}=TAICyhcdFQMXR(*Ox?0;ywypj?5j#M& zI5MQU6CTz&1A2P&j69&ctzsWf#^y7&MaABqj7@Yy?2{^XMlv?W*gvb->yxpsGPYjD zUYv|w%h;O`>kVy=-49-jRq{`7{6UN+TlDK@WaA~GSl>1&yO_em7BSfuO2Jvr6rK?i zXXUA-EoRC|Z3?=Vk^7K6HRqj-+`%%|wn-Vsl(vz-X5?a(^GAulVqzGHaerzRCn7p| z;fD3ae~0AwKFQOT8y?_G2C%UdNBgW*x7KsV(-@Un;6RpfTHKJh=|y9sC5*^tp>R22 z)AZpcRt!T@)Bz~oHU2hIt4j8H>o&sZMcE-0y|6~LPga=EJ*R4Y;96w@OSPwBrzv@_ z+z7_;q3+NQ*g)mN?a8=Q>ZrXv^+x(fiTq*t>c%s!665JTJh!$AOJVhTO;sp{d%0pd zt}Hf|*A{T}@I8jpaq{U89l*-T8w8Od;f})EOIL!mv8v06ehu?H?&jCEByg@a(dm{` z;I^X$h!ay0-SW~&yuF)#jbY}>F7n_-h{pXAfJF3!maf4e5p@q2+=48KwJzggpHW<9 z*pG?UsYY~TBk1rwdb2bFgR84UnpeV`1am&G$ah$;w=?9$u1iOhuV+6;~T2EU&N<0jFV z(1bdv!oeDgr6B^)oLli@8H_>|xpHx}5mC4nUhy5+3#6QY?H=kYV<|Sq@&YRv74Lm@ zrBqVaS#cK=F9Bi3iM@e8GOEW>!4Z=%91IEJ&a=N)Ncbp<`T2x{znmjK|7jB^(jC;o zJ9lA!54j!6+p0ZM`!LXDKt}EK9>r+4ZkbU(R`xsC+{loJelJ?n+Gj9k3(>sjBg?Q& zaf7fMd7>6^bgF~r&Pq@gX67hjQfFp9XX)mAC(l{-2PB$H>>S2LhCF?Xo}_QZ^VYI& z;a-m@dGY-LY(^QKRdms+Ip|6hMP@wC!Ii*v_ev+4;)`^NtUC<;t|@ZF`yn(#LR;H7 z6@bFsfiL7{cktG&hf9I`ifVzZ{Y!-_Gu+{-YLyBX5cr3CP*wN9BJ9h-c}u9(dvK3Y z`xgpfNSB3ZgD(WHb)e^Bz~1mE(#roUZsI`X;ApK}`{g2aKGH!xcVe4Rb0~|z&@AV9 zxdADj0L-L(g1Dj+fao1>;`CP}n};_ssNmO*Im8KoDRis|Ma3~wao>uK&okq z+N%oL;z*Z)&mB$#AOt_>ddvrt52lG8Ifyi7ZQ-OVegT^C>SZfFnS#6aDMs^yFxV*% z2KY}*xm(?g&x+?sK`}lsXnl1{;#Gb_eUmSoSEO2C1Sd&J+`_^zET?du7Rv?>?)+m# zWMBBN6@p=j?+cHE%ts?};lIV({83I-CN>tw6`685nb2s8$FV}!67(OpWf|@8MleUn zRexV(kqAI||2>GK9F@!eTbThqLKtaZ z{%35P%l}vmP;hFINe=*D{RplqPP)1mSE+fzDeo&K9C=;;w)t+Bho(* z%h9Ygyns&%6mm3=R@d)Mef{2SbN$}rjsD$%ttj1}@5R2Q^&TpE>(fO3*Bv-xa7Iz9 z8VaIR*~u0_M*eaMmo}ecdJ*|pJ6Vg&p*hf4+&Zt!x_wQ8Z!XN zj9##w>o)LkbSYDNGW9d2s*j)?Uh$NY$Y!+1GCxs}S~&N}U!E4c2fwHo`dXrKD@SU$68@b814ukJ zFT?B+$u^4j*e_EDY^O>=fzyL;;iN|`e1xg%&pbf_hfwh8jP&F^{*$BV!;MTA*aMhx@8QG{C%JD<9yd*$B zz-w^Sqi#*sGQ=P>2O%7A&N62NEC@RXL9WggrK|2d-n!@-*otOGJ6dQ;tPec&(lqH=!>%`{8kR`SAR87IZQ z!O}*sSwB40Sfv|5`p_`L=NH0EaS%5|uw(wY{~T*Rth*KFpdM!UdN#xeUULGox>Z)6 ztJO!b&azxD2VNuP@HNWw#QWgvu;n8|1`8bm3-wWYpsl#SD6Rj!Arho_}0Sk z_3#MfE$2mpX$~GNHxru!A9^FbPl9M|0`D}Tu~SN8>_+!m2mZ>5X;pmSuVtUaZ$U|I z@=qS^%RE5(Tv!;sxinO2hN`iIyKrpy=1IJ!7s3I?@ZAehR`^Lu`OqYY-D)UPckhw7 z{rGD}LZnY<5|N?2HK7|{2>jDm@|D^A34GUWf^vk7He~UI78R*ezS#XiI60m0hzOLF zY)`nn817QUKNHdeP;{}vs*3oFGKWXt(bKgVoU*?vbkK`+P*wd0M)2LvAS0YHS#td| zU+6=5`1sXsbo{f42RLfkM)J}Q*c$SL(6cU&=X!rGn*&8m<~Uz6|`kN zR4;emf}E7ppg?zvQ($ttFwf$Yn+5&~VoXZ~ z;5x3A^<#IB_3@wh@Zy3Jfbt(?`8^I69YQRpDX{V~`Htu|JgQ-Wn9^A27g6RAFUV_D zZaD1O&p7BbEHmkx*mj4!Oes6I`{DoJJtBJ}aDR#wLjx$E^wv!8$W`I1VC}dBgY2l@ zkuSmMla+T(Q8`p^(Y*1?3wJPIeL$zbzMeawy5_aR>REY6#%=I8mb{R>Pm_XJ3KVeh z`V#MVXEytKVmg3xI4Ch+z^l9A>;A&Tl8olixvdx;%BFdZx5u)NL-L} zjqFqqXa!j8c3s*X;}v_D@s%<^;cy=%o|i@o!@ms<;GRdRMi7Q&FpuRC*hsOCocKe3 zG_rlBax{Awm(i6XI~5E*48r=-YP!r7;sJo5n^#oJ&cHRq=6BnZxf_L2Fj6o&l8wAr zF-ew@I3mcyz&TkM&+DE>oXiha4Qf86yxEKK&TI1#NVmuZ1?=#JETC>+rU`%OIE5r) zX%Vx5$t5lP8?1Y>VK%^f@|ioitikfJ9K|dsT8Mh)RungIlO|GuB8L}1+F&LaWEJQ1 zu9+BbH`_OP+!NBi=lKPA=Eoh{>aN?7!(PN5lTh$8&Yp>H;$Z!maj&B)+Q=!gto=0PL4PX;0Oy$~Vp z3h2EcG9uCQ^U(7!VQi*YkzvM#tQzz8Nzt?{d?75i#{WLe?YNj=KIYv2F zsR%>*I?N$WsKl6cHonaVKh@}K$m(Kxm7BSVNw(0_12{Q&UB!W(X83l8&xJ#@$Du=U z?a2&%oXFn}Pru|<`ue~*?pkl8s=-^gmM?3lVGm3=N?kjRI7FtwQzPGRA@h0&ke32^ zrMK>mg-J{}uDfHgpgo*|c9n&8mqObEv?$QFrlH|N8EU&B1?`s>+NBZ~=l45&B^bl< z@#c_qq|Tg7e#p#C#xE`aW+$5L7txua;469XCOyx6OPw$rmaO~nC6m8b&LYU z1h-JdC5!vQi)6M_OLevuxp8KfOZ7Jqs$Hp;>OmF=*W0G0t67&hYGtL2QRhMHn-sRg z<66okxe@GxFHf)h2V~K90q%s_m9bgL%4Vs`)b1B(ECXAfau%gnoJSAt_#?HxzU0fK z$4|VZ{ya#`n}Th>)tFU4#{1F7jMX0#I}7PDmS;BCqFu7aty^EN*SGbB;#6=**@LtO zy`KQR|HN~ZY8l?7G2m~PpjvX{u{(GjjBlaIfIDZXUOrEmF+f3(f*X9K9F{ZwYoLqR z&c=E||G^Q6qdFVwgmithmp+&jU1`0z6%9jOZZN%Nz7S_)LQ(F6^$TBI>cbToAC}GG ziay~R2EefanX3>h{!!J@Pk7{6=9>-WW*xX6ecBXwo=rrd5Np^9Yw|!IP8yHZ`ZO&5 zJVkz)UoZ@#H*rlCz6ndgJHQb2>v(nw>42%G&8p>3xZ}We3|_#nUTB$* zn7Jd1rZqsAFX2EG@Ccz zQI}@3>{a!s%TZS`?;xjo*X4kE*9D%KENq2()OTGhObZR~x}>4~c)fI#{3@d_0y^Wl z8F|~~RWma^^8vH$1z)5J<^uj71q$z^UPd{JS6I@OvnGs>08S$d+6JO@{X3v*=kv=yfUxqjHQ<@Pj806{a44gj#8w?}Dx&7R$9ZYLkPfktFKiuN+ zy4Fv*v?5&7<50z*niCEMjNyPYh7am}LRI8)r+=3_Qd5K#&t7+EAGUpbmWJXDZKHyx zlor(@qkaO)j-O_$1C8ODqT=&iHT?<#&jK9lc1^(g=YDWJoYH2(TYn2?z81ao`Iw%G zgZpHb#f*epvQ4@W?FOKR6BJkMjEKd*lyBlx&&9R{mJXxw+YY~%8!NCsjL!KD@5x}p z{7&4|>S;#qlk((9f-m$6Z^?qNFGUAmM)t0fU4~L#pn+Hv-_L5&L!qM^)Y9EpfilNq zGK>Kg@s}e$4iMR|KrAIb@7`>cUu$0N`2z1%W67EgR@t$2eEs&oY0o*4BT0WV^MKj& zg=7x;O-C+&RPL`s_1kW&_<|hS^X0kSOJVN~T?&bcg>*4=!Kr*Or}ll^UyFN7CSro0 zxF1~LX~-`1Gxyw=WRp)6s+L}FTj*d3Z9Rf)lM$Or^)+LWK%O}XC&56gS|Zn_vf4z z+Dzw@k~3g$obOaQdA3|nR(q0j@d!A-;!XI8QO=Y@n)b@(^ngF;110Srz)`MxXz{h* zqESyUSDFc(ZNel4(}$usX1i)?&ZSt5w&N6m&QYfV)J4Zklee<@9ab!C15mV70G_dj zl^b1^O2)M{g#aSwP>3+T9JmaV`V6ynhAAW%E<~7TO@@u;-(OGQ-%F?Q??Vm9f^J`c z>rn#SC*G{Znzdgg*~(ruvhW{2YBXS3(=R3vQ5G@IEzHDxJpYVmS-?7EG%OCl(&Y{{ zOnLi?)WD3(OK;aAzb`VbXaIc3W90@%;b*r0>tWm&ez$%23daDrCvo(_f6U_^2PSf# z0~`rcADgihWph6ePbg{4wg!YltxWM^)GMxEh!DPa2Io*~V=p`jty3B#T&rK~z9{-G zGz-xMu!VLb&*F=AZgO?$7BdA-IpBbWEzD@IxS(!&U+jz=k4J<0!dQX_MlJ|X@0)yJ z1g`r_eXaw6ovO(ws+%gxdR@c}eJ1;f^Mr8bpm{=B|0oWHCN$cNxUn2lWKEK}?rqZ(y)lx_b12T^xCeDmeJnidxII z$EM@b2gCzJ1jLjQI}kXrd&KdErnM#2A~}ziav`BPRGsX>n&Jtp)fi2NH6zwpm^}<2 zGAfZd2kzmzgChb8)&Pt~s3_=N{0d(+@fXR}jHLq^#P&@Phpdvw_kW4E&goC>@tM?C z`+n6w1G|BdAsa{Oz00}L9}@9h(E|Z&O1^IIPlS(=G-J^H8CGXRJ$8x z{1@J<52v)h2ZvJ{kn-rek~04HS~Bdr8mcwdx$&D@+`r5^GfA2g$^z zn24=EV*Xks8p&esXClsof}Gd}wYqWt{W$isT?izbr;~!(!fojJx6CIXIH$_iFE}o?M^j_r7k%KkNPvH?=CB<7?taU8|q9-r{ZTjnAeopFe z^YAGa`E*bNrP+j zpW);oaM-BV}}0*?6~QbivN79QjX?2;0)_#+Nr8iJg+hw z#k#{&vs0XT#*fD|Hu>%J1d-R9aXD3d3vyoapKi5?Q&Q}D#S{Z~3$OjIQL|I+@2v~i zg(_u!GG)A^P(IPEopbXr2UgT09N`W}dfou9$8??R&7?DFmwwm)*Xu@LgBX-MLqBRT z$P6EYfe5QD)F`z;mKO~uGB4l2cMNd7jyY0YCEU$N4C1@^DuEx5VKF(E1>{-<$a4g1 z!SPqVBOmv-B*#B;7ls&bkxR~K9yo_gF>hcxQ<%ncIAYu7N(`8A?o2pbnDZW>yjhSE zPreT*dv=IAQfQb%y=R=Z-_Hru7lM@-k_T2yeQ43k`vUOd(m0Q-bvqotie~_QTK{MH zkFdM~aE*FMR;<}Y;=a-o;$>j)z2bzO-f(IHIYCanVyVo^dGe#&j8wujhs6f%mD(gn zOW70@>vq0!8IC?{nHz&+WR>)DZ;7gm)CW=T??LGsZ(30jQ0*K^|R>*#UEE zHL&^q;7Ar@`mTY*g)z+us~Glb?tt!`Y=F~Too0b=;i!TIKJzoYE$?*RPTSpFN>-*qhP?>ZLtcO47+yN-qZUB_DXcS%w9 zcRsp;3H>C?{%$Pq4lBQ8r}-UTf=t&Y_(Pd_faZ6$gXftXWQhVCuEmmKiFJ4g`zHLz zG@HD&_G`QBYely_Mzyx=6SL<5Dq4Ba_uJUy;g<>h3(ErQngGp6U3TCqdn`gwg(U-Q z5SBHb+a$Ec53U{V8u`65P&hp7{~izK{DAjHLf?BsuO;&DdY^8j-h);FO=BE&j^cD1 z{3Na;P#G3a3*~F1GOPkvS>SH$k7vf|9$DMpyNpcQ-;H|8OL>Uc=BUOCBH7;q6(;B? z6eS*VDm8*F$XHP~{rf`LO;-cHAkzK&0?8B)Pr>*n%T++Zz#A-13=mSH4o1ohlS$8>hsupdnpti+G;}DF{vvZqKaOEqwApSS+ns1E{4F~d4VUi{vhWj}#_!KX z(XmJI=h=*nQkqd0N%?*x{M7dgt$)V%cRbqnXItOz3B}xak>=_)pWYOc#vE#I)c+Dq zv3lho8u(MKI!dpo^L;z$9tEhJV+TCqwuq4IIL{DCEG`qy`Huk zE|PqMRGx7v+ret%4 z6W?-fB7Z-mK@Sg-t2DiQ{%FULF0SRL+V5$%1QQRKVrw!V2i=6~!0~U~h~rP867!zG>&bjB7W7aQHZ!bt46z zQZWJfCm_38E;3~^W-%G!$Wdsbd!3nqUW_T&Z_X@6hK#^*<4t~dZ&smOv_yuU2&%5E>4Rsj+U$F(zNK(=o@EC z?g44h1ET9yba`5IdGv!Q@-eI_{PSaOFrXQZIZjD zCFhoXuc)$tEI1l}9g^Lf6T1r>md5c+m;O7+?r6L)e_l#I_lmvIpKmh< zQ8dPfdat*32FCQUzVJD?&lVG*n#1SIAyu)zH~?ab?~NvUJpdQ$wyvedAM0!9hi?k> z{Ww^{kVmb7L6A{5j_IDnHG)t0MWx}PD(ALqePd2&(ppZ|l$Z zUToz!5jhsB9O}5Lh^a)cNysK3tU^QXcoXwn0jiE({~8QNIP@^&Z@WZ?a>0_Pu9ZG? zCv_-{MK+JVedInb!g@?=GKHTeVWKzXVj>yCQG6%=+=xHOp(y_}DIcw3jxr_|@{hW- ztNQFIex}uDm&gRPdMQzUA-lTL9nrsJOCFLoI!nb1xsFr)E#$fk$`Q($1_DISWtlTK z%qKA*Io1K4vZ1AfvO)Bb^znRWQ5rLXzifL26fo(`;9d|--n|}!CC3b?H$_?Ax{bUB zngweu-ize|&KEheIdnJ?KQVQ9)37-5*fR!;34JJpr*{AsC;UtC$aV*@fj=6b?+y3Ek)q6J3sIGM@ZCu#;BZk_ z>}Fwh`S6fg^0Jxv^5h&dbMusvvhDKbwul(*hA`2~^E%l%?anW~0{rl~anE|#yR+lZ zD}63ye#e-F6oU+EI|Hud6bk7J{qRl9Tr*otbPHHY&7N=4p#}AU(2-`(!Kcb}1Gxn8 z)|KLI9mRGcfAvSOG(WB2hfr+%?_{VG@P}1JzXaVR#D1r9I>Z)6{{r*5XgYQyqPUMD zw$Z14Nv5#mkCBw0IkApsfhn}S1{Yw3fJ>jj=SkVnA*>d#I>v?ysO^h*`jZbj@H+5T z_d(pSyEMi7Amuf-k+%m@-XQgHuNNro1jTDzv#49o2a*ma{CiLcH{ZlGKOvV-WCU>kV#s?inZxup{|*dXc6ju|+cY5xzxO3X|9jJj|{|POl=Qf+(oV&tG83O-Coc} zdtW5c$=W901Jo!>NLTXjP}!30n1vk?Ol_-IvSI02FH%{PEu3|g%G$sdrf2=7WVPE~ zhc`pM7ue%>nT@rhn1pm2~rhyYr56#dUu-+RSg zNzb1mYW@O!tc`x7^uyF<$*Lj`a*=G6MDB)OV2Z^`u>+?dLke4|)ac-^l(gG;im+9q zrGG~K(E9Z{qPGa!VHCF4q}4ICO&#Zn`k2y)QEf7OdQzKK_Gy#h?Ots%wEc`Vn2}RI z1Jb;s^$D5k6H?q+bAF{Pf&!VcpcLJ88GDlYqNbgjE~$tHoBIR8{U&4XV`u7cf@k2CljLgTa(b4J*8Wc z-vs%ay52bH#G~>Dq;t5!DY6FgM#-9dd;+3Vgw2ic9-K-}NuT13J_8{~Y4gv*pRE61 zN3OpP4tOx{b0(mQG_5pU*X?PBut2@NI3sX+3K1?MO)Lh*(EsEWt&hI3#nMOfw~I7* zY^v5r4Zo$2a#DxALz;Z}WHwokzjS#=RxpCQkyFV#%+xaq+Q>UwVRP0(VQb?L!y6t9 zD@kq>n8XWpDOGhVqP(X(9FnT9Q7b*VzQ&Sx`z7o#giTk(|KbhfoCZ}jE@yv+aIhKEY789C{J-!{KW=+1z=NeutNEL-iq=3n798?xF;77Tudp}q#({#N$)dn=WH%FrEMuIZ9GMWXq;q zNRuq+WbUN(dJ--y?WZ*t$9g`gqHlHBCsUfL?8Vp+#H7}Ott{@&`XVE6UEv!JB44Og zk^YJzN4PiaBqOsNrfXzplHAq1vqg#^TK9Lfz#IC)i*<`H3rBKRl9;~GHuNvf9-5&S zyrHHloK`;97x^_9z$z9!>Irv;iwHlv@(Z_dPm9O(HVXG=xpBohGJL-`QVuiu7oO1D zmBB<{nF%K%CEpvfo}}u=-6kKLam;y~i;qyuyDjGTdug7pk7Bi2w%z?Td{x#D!a_fO zh5gawXYv!au_lRqr!JA{9~d^V&cMqNZ=w-Ru9vU|V;i=TEZ9W_4c`pCgm(t~+u~jA zqGWvw-$Ur-``RXdy1sDq(DqZJWW8nqft{?ua8VoJyKb*~j z$2o30V?4yB^zgZUO$?7~SRuwO#)GcR|2kaV^Jr^wZWa1)Jd~n;la%=cODCu-X&n;V&9T*U+0S3Oui(!zg(tmgSEc;5rW3Vu#;21%dG+`WN z2(0#sT04M+SH)8fSjRzx^y9wDnX1ltbj*h?9PM;b>`a?+pKMeW8!p ziLfc;MKMYB#(-*>I$V%v_W-gt68Ij%Ma^NpTny#j13>qw708lh%zlikfy`IDuIYKL zQ_qgQjebh44*D7MP5y-{MmQZuJJ3v3RrBO*q(I;f#Tn>L#_U&FBVHGry_@CorYfh- z?zl+yg=%F@9PF3pwS*x;cV^O+%j8tR~NH0p*jE2@EKC?EFHrVn%gX@?oJaAF6kpipQ>)MESpMYT9yN7zA?*+Zr z$}<38`!c`cS=;I=*b44C4I_%T$nWCbfe%wlIm{ozf8i?3UzLZ)v@A+X=#;xZQRg?l4?W{Mum-GBKW;2U!Db z8~kYm^6*fi6W37V1$OpEGs4ULU*L!*9N6GcYzG;vEqL+rV@zHlTn&81=ZZ~U96wI) z4<_R9Ke9WHtFgPOBja*^-Cnc-4Q^-wWpU=9m`9x#N=reJ*GW7BxkA~w-q1*NG7fc;1H7)+)nS0ye5i@pg%2Ww!F_$QdF0zXxZRg2BLVh!EcQWh z%nNE5VM3rZn6n-SC?GYA`rqKNa*Ptty_RxG;wl;U57xCU>IpT~?aB0(G~rpGMr`Wt zm&@^>MLVM_0z5uTiDx*obi(=jp$+JS^D)`4hdksHBkT8g@p{l|nL2`}axdIcKPaZv zmEvr)-OPNQd}}zfW$PF_$=Stl%jr-@b>T=j_7U3WUW*~3n)|>ZT19v(2YS@8snRNu zKd>2dJkrK8O)iX$PG(5tcW3I%jf+uI>V|x1xA?tzU=0j&ahhsaVyO3WC>oQarzI;M&-Cn9FwmE3N989H7Z@4rHgXi4Okq86ib zBHzK<;8yX6M1Bu~I7x%~5fpO$Fd5s)2dzfTd=Y7{*m5-!dN0vqs}a8f`J{x)nd`CW zV7w6?f7sS|UPH~W64Kqx?&yqeTzbUYSqCby{~q1x_AHWZ*4ks(`<6IRZPP|$N_s3)2+ z9((X;@sK?#rJ5qww+zc`FE812 z?QoR!!y%OIg-;OPn8n5G+S{<54>JMiSUas-2HrP8@?d1j=#0vWE*pMmC;y^ zM{0+>ybdI|CinMd<~Nd@cz0a~+A|^RQdP76U zQfZn7nKiVU5L7mJhcKKYi$)tx_`O5IRpt0|3B}roLgsVgwo0+P0jK0WMI|U96TfBd z(9n*&#M5^?pf1SK-`z0Oi0uS3t?N_^wK!*8XZ(=y3!vZ>u_b5#S^|O_D@NmumiiW|WcTpnAb0O~}(sdOBm>7aZ>(pAlV&lNoy$!_2)_$kyJymUMGBzwfNFU{CG19*F!(`;u*=BqCB`R3w@ht9E;DzVutxc^O@fa#WC6Dc|wBJyw~Xo z?P-oW@Fs;nxAt(hzr<yjum@g__;X`<$Vj9izCNQTvTy1lOUJm7x!Dh{&jy%XRCU zKX%l9n`Hz!P1b&!Z3KA$0Qld+I~J$O=BN{EKtW!Dpc{+MWk7xmaCzgxI{WXA(@s9^a7ynrNJ;r~TyY{;- z{*m~5jDLhXQh5Mg!0KK_3Gs5aJxH^D=%tWuef{|iZ?oH4KN1maXz)@3p%2uC>w#<2gJU-lgzm9LnxK(~D!< z;okh&=m{6`caw)QAWHY zWK|dv?2w>&LV^SaA_@k;i9TqPGdEI5 zXU1KPKrtiPpRfqr-BkW7VHHi}pG6ZJ?Hs2MV~b>p#7WiIHNe1lm{PYc>txonzbBHJ z@2#QC2i+tWiijEc9aiD+FQJWXys;-E0j{XnHqt|9~ZcI*x7IZ4XldwOD$ zeHNUBb_hw96glPhQw&)8VH!GHT?$sQ5He^N#R#!@HH*Zc(yV^(lXPAH;Y-lapH`p& zIMvAz2Hhf3kdlf>_|`(Yc_*fr@^Hxsm!y!Bw-u=w%#$|po}07{!nu%3tpa2rqZcz! zXa%4?1dEChu)cGd`YtGz*V9WIYlE_yX*j*`FiE>uiKr(-?p(#GAMS9J&-NY9sAGAm zYP+qf)?{<7CgA}PaE}nM{_DUWP!U!n{47)?J_r zrNg8hlxlDk-YOIW9tayYaKRRK8;4f3m!EsXE zPkm4W3j)G?$*`bkA%7znVzNq?fE#eIXe;;-U-cq>_;2MD{28yjh@qX6kaOjAX;DiB zIsfm_3V_GWT>b+%&jx)qNEu*dxX%XX+u#Bl9BYFMZE%qdjTI!R|I#XoG9)mKE5s zc{Z4BgBdpXosG8N2KU)u)CTw1;4T|{%?7vH;EOi6(FU7rkY^mMep_aPOKp&+BCHHc zY;chcF0{b~HaOn~@3X;18>CIyD!0J~gEm-egVSwrnhj2}LB9>wXwXwM-73FUDw6RW zv_T3|{^KZD5J4Jw_z&QH3L;1)lK%iMP!Pd|HpuCa{}8)aK?JFf@*hB&0r?Lgy{7UX zz?BLjNEMj>05%CA;6@v4wZRu{aH|czW`jFzaF-44vB3{)FlvMQY;eB~erbbL%J>hB z{7yjxGc?JAMcFp!u)$m#blPB^4Hnp7cN;9U!6F+hw!z*uSZafPY;b@LmfN6dgVi=T z+6Kqk-~<~SY=a&f^x5D@8@$2>$JyX6Yrs<(*$NnM%EAa+F19|WyzY4b_te!UW{Fa# zXi!wwQtrJF=6KW?nI;hRFn-n%f4k!*ef@|XD-6L$ySM}*`G7&pH2x?;bf4% zOMisM8*jDZ_+j&qL<02$*9cu#xk5N^b{SyiIqHK z&iBB>8fWXjXaUHcX=b*TZAt6_=37q-8T@B^;ojMNc9?IBySmy}2|t+Tv+j$|A2a3F ziPylptZ}$qhWDJR9J6DyQU5*eWG>Bw%F&44iTUBXg8Ok2^CDxeMvR0wDaJ-3)V9f$ zW!piCk=PZIR@VTG}9>e4Rk(q#x~!dO({sAZj^k63P(y4@akr0lPB~-BL8Ak%S?pYkn}iY zM|(edhUi}z!Ob8snkV1B{xS9KPa#geeF6wRjiM2x)wIX&6^ts|4rnYP{EoDKYxoQ1 zMU-hpjpHu{)|Rrj@J%ko&?g)9<@hSF#sX;wM*Ez+)bBW`zr)~nypi%9<;yeCiGGVi zE(8|3F&BnfUu>uhhMdADEz%5t9nv0)MT;%c&n2^Yu~-{n<3i=A@y2 z^miLQIfxs8KoJsKB|avApdH^g(qW4uG)VB8Dk z9HbZ}z+1AN2qI0;Uo;B{_7|;x)cT_K{Gvq&wfUlpksY1gq}%ZozEF4e>wj0BO)t;L zlPCOyw*CudTb<`gE6<-0hdldqo@2Y&c_PU3WG3ie%`ZBHoalVbH0rxFqqO-tL|e=O zu_5Aa7b*ag2R#&FE?q#{Z}y@C}G_Kbd)yevW;O&PKytgaj99MITxAcNu>}r@D=aRnC?E zz+`CzD*jOeW&;V7X_Z3IiN$D;?!G2dMC%&K;gk%(wD=p{4!-9^_Z|ivdj1!j zwPe2AjP1H3iT<+fAmaHF+oJKGYEx;KVBiL0@Vze{`w6DO-Q5kxL0zdRR zkN7CzdhH^`4*$>-%N6+E)4}ktDSliT`UZ7-Foh&gTIf~OIDu5cugPEeK-g4$*znCo zGfp;wO{iZ>KE#}YC*g&~`xfhl{1!Fo36BQvRi~gNG$)b&#v`gNQ*~P=p&~yk!tZGQ zqHT9UYOrl-b6#*ercsZSYSe#)w#NFYf%Q6OZ{gqLG40wNFymn=Kr1W-Xyvt&mF?n4 zJp7KD5T4Wp)uLbQf`+CSbmOF>7c>lrN|Q_KamRp7(Z|#A^JFHdRb{Vlspewd5DKLe=7nNY(G9F&#lNKbHZrK03T9P_)E_Xh^n?& zP814+F@H+dvDR;zT7h&K6Gv1pkmw_lXeHnc;b6+tG=}w{FJkr5AvsH-QwYQI{EYN6 zde`6O&WEJW?;Pc%=)d~BiY} zhgXDO{$P{<7r>Fej{?Bw=7BcYQ09tKuP2qzX@;L$krXpQ7f5fM0>ptSC{H6RLqE77 zZNFVrMBb&4?!&e}gSPuGwbz7dwp@m4Affj`REBnYLf=+~4q|c`$%R8TD(Yd>H{*Cq zY}OandX84Z*ga^gEF)-Sj0JV5iJ_@FbRR>v>Cgg(YIJBNLs#k0QiiH^XdXl7>(F9` z`smOihECI=g$xzw(0qnE>Ch5}zQe2{?QCG^Qyp5y&>kHMGPE6`vMth=!9G~KLXnnU zCGztmKcYJ0w6S8c3x$O-0?JVe-8<=3IoIM? zm3zZgS>~$b%DikFSLDHN$PCdY@-g&n82XD2`50={p&EwhC0cS$V92jS;}{yRLn9d)twWO-xH;E~ z8B*X9U0}lz3*7m~BRB6)DFu#D1^QKi0bSrfj#%KFqZH^(DR7c1(3j!&VBl0pffx|u z5N%I&$NcF>7BlW=Y0+ybUZub(4<_VOJL{GWK4Qy0nSbO@eFA8jcI{NlMypSK70U$a zjBnH|+NNt49HqdkQVQg?Yjj4nD)5iGz~x6QaQIOQ?2=O8bXDL;Rp3>+z?nxZ@bDjw z{K;#8rayU@D$rt=lXZdT9GcSkGBp-DR2wW^e4{)CPx2>f%CwAcSw0)zaV05_Iu(F)}$|1=DQJU!+E1r ztFBO=d690_Wk+n)%?}*8BhE=_RUt4je?t(QQ$?%yKncH`TskVV=oZf_iKE}LFFzDsN*vHF3{plK}FrUDA7XYED6gI zQe>w5dpiF6P9bHkQU6EOh9Xv~BK&8;C^t2B3X6SD^RLsyH zbZ7uWAss40C|)DYDkL~XK(-=&iGT$JuM{wk;6(ywm_VG?UCTe+$I~ln*9G^1Hx!tI7N~;;k^Cp2r@{$3 zPU6PKb+;&-!73L^mEVEb@dpL`lHff89wInL!2JMYx8iJlGIXU5eZbJK zb!ZPmZXMdi&^bD^lc8QZ^cq9Q>(Ew)I_eNL^4Pa}8={q=PjqM_L%Vfo4MW>>XeC2W z>QECyk06v}#=7s03EX@W4ZcAcZsWDbr7-JL$<_LcI zg&Kp_3MC%S)ff#H#vmjmMeIP0a1LT^5nFRls)!wdP#Y1Ot*XUr%xVo?%D1o%sA|8% z0$2#%)v9(6lIXLG`M*Y@bkG~g{O{}h?=~t@JclIM?(k-PBxkqIzXFkVEB}3W>gsQF zKi*&6wShbE*7*Gn>&IKCd@+3w`W4J7g^0Yc?HAep=#*G@I zgN4yuVL(q{9oK4%Zb^)bG{)<{SF|{Ug*v{&>f}m|@fo5OwST2C9HGX27ea%EJ(yq7rSwCzYWEsM32!}fm!i*!NP@{(==qe+pO?)4kj`Ik z<^KkD2AeM))EN7fRRZE-uEx07!gyU_SbFg+jqxI)ZSp+u`yc7WsXNJ*UOXQ-dLUe& z3%Wa5b$?y;&WQTBsYpUsI;ATsP=%stTFt!?4Wn0+RmFu!#P?ak?FZOw1jkHP5=WF! zaEevQnF_-aReLl>Q4-@Njp4R1Iw}n4lH_9Ag`|#*B*s#WVOSV@VM0Kwuvj6+KQ+cK zM5})Nlg4;^p8E7=g<*|fCQBVFlNfU}#^V;ogGkbxFjMD$Aen!n&VRd=|8`Xalq|NX zMq^A)V*Ey9crA=e6^11tF4q_%k{G7OINriI2T6Khxpn^Dh_pFpULW6VurJf$(ZSQs}U39OtO=nI4;8sR#|YE^W&dC{10wkmq<)q(58 z%5uJ{%wo6c8rPMq?0Q|r)mse62qx6R#+Hi3d54f$7+n?Bu3(oRwve57+n;G zH9vlhWa*LYB*yz1<6;XV1`|o}EfI7dL1akw_m$ZMRC*0j!X-sk_Escmu6kS--<-@p zUl;#nz53`!kz}*TJsRV|B*qMlvEIU%r7*0Io~$u$O=67E7>yRjRY*#Tq)RozC5W{- zH#jF%Bt1I&Mt6_(#+*Lo6aO%X-| zjxIy$%TT|pb9tmPb`4$^l+ZGUM(L2OEq|j!OPJ=;p~VcHp+k!p>Y+mm88UQe0YjNO zG@qdZ*gBB49dAjd}Ngj&!sR<1)qhJK|(4Gb0O&^(5Y)1gL&96EF#Lx(@LK72ky z`*dglL+|L&LWZ{L&?1J`>(F9`mg&$Eh91?Sr3}s2p=Aus)uELPP1m6{3{BLbCWgl9 z&_;$X(xFy{JUa9uL;ZAUD?`OP^cq9I(4n0SgWd9r});yL2dn9b2nI*$hqAAqPX_bSRghOLWM|kf}p? z3=Pzw0)~3)Pidm!xJo1qVNsFb0dI@E`u=XGcRLu(L% zubuid55M#pdP-@LcQXDMD3$d zxtR^gYAu~xbP4;>E;RuyLzKww3AIWV({lqbpf`F^=Mx&^MMT>o>-Je`BFlr0JDS>a zuPV=4T20dB%}uu8O5K7FXQ&q3gd{CwN9p`illjlr`IlSyxiyLwTg#+!jlsj!>Ko70 z7(ol8Ka$WRXULlJG>yQAn^&EIPf=LMAU=_Qp@nj+s>C8>4~^3?SxF~d$;lSRrzi={ zvgZCAjj=ab!58;hr2phj_2JJW2_J3*=YA|lEn>)ksn(AhnzVGksq?Q@`RlJiHetwJ z=;hcb9V$ngV#9Q(njx1Cjb-Qz9h$&U4;>oJkfB4P8Oqcl4?_oHR((E(_Uh0`hIZ)C z6%1|Bp>YhYMhF*)adUw|{sYK-7RUlDkR@9ntF%D2%mUeD3*@(0ARB9e{9X$*ZICpv zVmT%)kb~6%If^Zi!`lKm?k%v$1`BPlyA2lDV4e*+Z7|mc9X6P4gBdnRQD{|68EJtO zr4~pTYk?H07Dzd4ffUddxJN;xIz>AF0i>+wKY*MB_zxgw2mS-dX@ma&az5cdfShRf z4`7o30gNtl%p$#su!TC0LpA9zJ;5-{_u)&}W)@sncs#If> z+;4-EY;c+lPPf5Y8w}cDgALBJ!A2Xr&j#n)-~t<5XoHJvaET2rw!x(~xXcDu+F+9n zZnVJ{ZE&j%zGj2FY;cbaMs0AP4eqzW?`$vw;)wsiBHT){KyF4^Ah)P2aE*;tXvcEf z$;#lj!EzfMY=hkTvhq%|!CD&(+TcbT;*apYh;36AbXoF*IaDffZx54{tu+av6HaO1)8*K1J3*^qElPj%3 zLD_B$jEPZ%Fj`%6R$G$E4b0@VX?44q*QVvRGpz8}4xqdVc$+`S z8XoC0&U!=O;#=UEQ(dfX$O6DGZm7rvL^3o~v;#!iG*mE^1Z$|s21F`0ROA36X&Wlq z10uZ}DmnmSCp1(z0I_EpDmnsUcQsUW0>nOSsOSuc9otZm3y8hlP|*d@1c8nLM80UK zFaXsE33M!=Vu88=atM?MXsJN?fXJ#16~_TuCeZPKMha8_sJB2T02(dO zF92~&G*p}jC|98FfH-;@DtZ8FmAI1t4G`#LK&1i|0^*2lsOSlZ!?dB|6hPA@^;AHn zKt+K57iVuC|7<#+{Rg9B8G=D5Cc}-)FeZZ`_KbVX#4;wfiekhb3}T&Nm@qS3V~wI> zZ7i*zC8a8=G)f7zgcg~{(%33ImT#?jjMj4;*YW8u_viKGbN2Q6{dJ$m{eGXHoY!)m zxsq>kg|j?6d=s<|<^Ok6w74E*hi`_~-{=2VMQfh7jz_DMw@yIolX>grXkD1MZh_Vy zZ=Hx%KX2UNod_EZ`IIhUD2EN|Tx ztqb$k{m>fZt^1>OUfy~DTK&BBK(u;!>yOZSM&5c5TIb}gHf}y~UUvAw_>TdWknHdu zqs6OFI%$19kjR*WrrVu);MoH z5-nc!WQQMx7B7Xe!;eOb*GJjm$DqZFrtI)z(c+a%8?ew7!?Oo{rWg zZ#@I8ALp%SqIHnBo`u#g^VYd&ZSz(it>5LXXQNffcj$A_Ix25H7p-F6IuEU@N9&lpbv{~Uwk{Z;7Q*%O@B)QO9$u($C=VAXRP(@Ng+8~)!$k_UJiJKZHhFll zLOl;Ws_4_m!^H~CJiJ7qm4}xqwDZ8@k3O9|yj-E1hgT@vDG#qyI4uu6Q_$z$d3cq= z1MT!1_@53g2ubRKw4otC}lwfKiWvH5~eF7V8B#4USpE3*H3CO`3etzTXb_gp&; z-sWkzOB?UG_Op|Jjr;H6rzq^#o%0*$y!pBRecL?Tkgc@&qnqQtC%8A>T|W8i-F@0h zn?D=l#VG#!X1o8^U3)ec89Dk$!n=%Yo@nG3pI|B7&mQ;I!;dEEr^Wgw`w+sBc}ML3U*l>0zvKDy3;%mOA35iU@w@^b72(CPg)_73- zc;6-YKX?A}|G5m(Uml|KVf1RB?SG(& zlvm=fDA9fyOF5rPFat(Xo=WBF`yXg1<>6F<{gO#(C8`Xh+=a?D_CHWx%8692y=_aZarQDCo)%QP8K}sX>K-*fr zzTBKjFdGk~9GiHcjg+IQ1ZUk^N`Xo+16ET01J8ER$*`2NrV^YC3n@z~#r^wbF69)C zB{%>xDHSTg5;T=^MJmA(G?DTvjwRT;V<|tR60Ex;DX)J%l+yk!8cO*Hs|3%mnUuFv z33lB;%B!ga$EYvmLMp+2=}CDKmEgqeN_j})fjUy|O(i&`+EVVC7)wh^l}d1ono^EQ zC=DqED#0pMm+~_{+XoL+lk#;cL6xeM&r-ps0rxE)6)AsBB{h< zl^3PFh)VDrP>?d9QrSP;?MeCi^3B9NI*{@yD#7K}M#{SrRn}7SbvHQcR#INTD#7W! zl=3txSKGfu3n^zOl)039CX|_!uRI42RNDVQQz_SEm0+q(r2LL2X0Xv?DL+b_yCW%= zPzfGrDCHli1kY-jl)p?=8Ay38m0(WyrDRlsi<6#|=O>h|lxI-6{{Fq&k&>@c!2`9W zJSy=(Eh!I9C`~D6Q3+lLG^CtPC3rrnOF5a!)%I^uP09_ZMC*%`t569plqypGE3tT# zr5xW!mEhbhNm;T=@IXZ=|41b`r3zC1l1i}FZEu;cFR!73&js&WF%P6Xhf1)hZlpXS zQDrUVj6{`{lv^gMETtTisIri9DPOh(TQryQZ7RVQ&7>?6Ri;wjo2W98^4f$lmU14I z;24dhJUUTjDCJ&>Dw&j9C#npjTrW|jFXggSg1y_5vccz6qP^Rd@q{@897t(X37$STQck6Ewf(EqTFQxu2UQeK!)`cei|f=is9l&2?@u9U|nl#Y}KQ;Du$q@0ydT2k(w zP?}QiNF{h3(2#OULa9qRDWTM)9G_6CR)tp{mHmgYBBhY1QkHVXM3s`1ubm%nbWzH8 z&yB}Ykn&zu30`t=-{QVHhKM#}kAf>(TNDbGkKD=Cks61*r}N_j*= zSx9+sLYYgsZ(=MnDW_Ap%KjrgmGb^4K?yEHCsO__p^T;ckZ-O8$7m$wl7upp@|lE^ zN%=69;Ju)Ml)p+SeJO8EC_O2!r4qd0=t_B6qDn`~AW@|)<=jM-mXs$Zsx+lMl1lJQ z(vWf=D!~i)x|F*ns??<1oJufBs!}Qmr6T28i3ci6xeS$HPM4%y`-xD3bGImE`8+7W zlW;-GN2mm+)b{52`tm+1!Sm69ls7yf9?M3``K%J0Qfn#Cq7odVm6XR(39jpwQtp!& z?n26`RDvhIxs=-_l$n$hsRYMpD&<%z!TBT`|bEpJc)ROX8 zD#0;oN_j}4N<+#SRD%6dmvY;LQj>BMD#0mLm2w>_!Eh^5uKzeF!OBpU^26ss308)Z zlz*jimHh{xDCMJ6f&);HGJb44mhB1o`jW9qureG-IiE^!N^PX{s04F*E#s zmEdF;N%rWFQB;E0 zBpoRaqY|7iZ7KInJWxwYGx0!8DR-lCrTu4JL(1_~g2Pysavdtc45&#tno4kDR;B#< z*-(PRSdsDrD#0pMmU0P|;Kg!D%Gam_V<}3RQwdJ*f|S-Hp#*E)_V|2#xpP7}kn(6g zP%r~FQqH0hoS17Vr%?%B{H&zhiAr!SwUlxamEf#fNVzeU8}C0~=0_;O0hmcSj#cm~ zbKe^pQz?< zmEZt0q}+x|u+eoXx1)1NrV_0$QvM_{mX(w~mEf#f zN_jYyU{PI2xko~oOSv_b;M|=_IgU!O(NihMPzjFFM9P&CV;M{N<+D&FSiMJ5{*6ko z(L*VpNmR+C{7s_DK+0PZRr*pcPE_ehd3vHsSIXH`f|a2o<@AKomU2rf!RpxV>4vzFeM4aEuP5{PY=dm5r3IQVFW8rThaG z+&N_51;I+n+o)V&zp|9_qC}O2l*cEk%%z-3CAfm0NjZ&5aJe;=awjUmQ`SUEE%88O zDL11MtWqN>H=q(clMJO?n@VtDok_U@m0-mjNcrv4JTkD(IG#*&o#Pzm0;DoVKnm1upDQl%1{bz5A);tLwrr4n2-97rip310DS zr2PD8P=YO5OZhsLV2f5#KAljOQa(T>xW-&ac^j2rxN|A5p%PpW%%nU&p-iQ8sRZZl zM9M>{1jlGB<(^c62|JQF(4E016-4Jl7zmEf(b zx|A-J;KZy+c@UN0#H>oW2bJIeRHU3rCD@{}l-p4WPN|ZV6B1)7O1VCj;7Avwl&Ay; zV0)8%eYp&k;H*24@*ll;xEm?oqY{i|EoDU|T3@7ml1eb`mr~wKCAd0VNO?PzVDHYQ z{3(^-7|o=-j7qRyrc%yJJkUhSQ>X-I-B`-mRD!c^B&9_qcnLL>az`r1?!WZQq}+~5 zaEu00ZcZgQz57ybOeL6VJt;R#C|xPnr4pQ&9Vu6$5)8L3<-eX1D=jHMrxKhDO)1}} z671cElqHp5t*cA<7?t1|wkGABRD!4Ss+3ny2~LKJlmV4sl9Z(!eD*?f_DfyQf`$POIylK zsRXmJC8bOynD$L6mq{oMDL>-Jn1Yp|F6B!Jr6y&TP^wb$&r1a-Lq*Cf)9?dGanBP~WDdllgFkkj54JqA(QkU|0D#5O+N$F4tuBEC{?oTE7!)8Uw zeG_9TOL_Kbs1jYjNI8jBf+xPBlw+v`7x@J#*Geec8|CZEl@kwiAmvhi)-TvE8!11f z5-h4~DX%#UCD`bdlouqFrB&er1(ReUC8H9o409>xQVE`6XHqVo7|T@3U05YJMiVKw zOpIkLzDFZ6O z-mOY`7L{O&DpDRxCAbVNOL-8L;Cv}bxfhjSk`$%ffl6={RFHCugtEmMfa{kVCX@py zB`U$*-AK7Sm0-WDrTpsgP=fPiC1sOPmQub>CAi*QNckj{V6B@=nI@E(ls8cc=FwEj zYpDe9c}%3dib}BS#!_BHB{=IwQqH3ioG(Kuy@ZlUc{G*alp096Kb2sr^`+dCO7L2( zC#6m$m;qfW$5ROw_>PooQVHH6XiK@2AJ+*^hL)7?Q3=M&qV` zlmjW3@)OCyG1^G^F_mBjtfj1}1k2${%9p7G!(B@GG?ic>TS)m(LYYf>XJRZfDX*sz z%%iE47gGuL%S1|_O0Y_er972Nuu6@jJSkCSDCMz!wnE$s&$p~M3Xq`WUtr7z`Oi7GuQZ>17!bXUrdO0ai3QeHqMcs^=Nd3vHsOUk3E1XHak z<-t^fg{&c^MI|@@bt$JOl$w+~Q3)2Zs+3cx1gCdJ%1x*QD??dIIZ>q~rI@Hvlyd2# zkg!RB=JDJ4=k#@he~i5*HXq*f_b!(GNKZ!bxSEP zqY|793n>>+38wvA%2TKWGhim=Y%0Me@l?v`RDwlyBIV>nm9doTCaR329F?dtl=9<8 z#be2&e2q%*YGNQ|P9@lNeJO9QK?%;6o|KDOC72{#DbJ=7Jd<>!JdR4R1hu8K!z%xT zbMjt^0xcD|Q$lGr$>sC72&IDMc#5*;JMC3x4P}*lQIj-=-2A z!LpRkQwdJ~l9azsR4GcCB&rmoye^?^@mz>wlz)sk7|Vf_XR=Cg9&DsMHZk0_l=~&d zvXXLYLRm_wC6tAfW2pou!(7S}PJ|Lnp_!DQJ_1TGg{D%zl~5*9zCh&<_Fu1!rTjIO zV3`|9c|Dcj#2iZb;K@*m`yVKi@(5PB;(lcy<=jM-zLZ0WDm^K;PgLnj`2jyjAB?3V z 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%0DHlRHeKxQKcefl&Dgc^1?)wl9VSV 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


R@Gm> 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%0Drjq(B)A> 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 z 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кs$P%w z{2{8okM5QjhZ4p4FaPpZ!YJ=6S+EKq)4b;WsEh*UbTT|_yyU|p48`1Tqddo0hFxA@zGg#`CX?xuq zr$j}2dU;*KhpX;;9j}h{bo2MFac*!8%dznU^3Ywcp51%OoZ3@n>H#hj_fWK4j1S+} z%F>ywu6af7ajFzs+^a(8yB*AfRH3(i1^tSH&b7aFWX=1=QJ)$1SB`qyw7+!Jypa95 zqaL>G^^V$V*=y-t+y2Z^-`Msij%v1VlFHFXu3q0T@ub`HOZuuKl{zx~b4cB9)%Wznbb+KgfrhPeiTO=SOFEkb`6g`BTkHN$dV zchz%N?krcWwj%etYKxWIoWu3Z2uGH;+YeK>SDfze=ctWNba{^2<`mzOqwdbxxi+j` z$%%qD=AcbK7^SYV_WIdUPg=$NrqV}N$pa46qqv)Gp?J`aJZY=N zHpkvC+rs{-9YNqm`vB~KcQESb}L$10mB*<4*q&7!g zZTEO72U(HE9JR*I1E1m)!!_U8ne;18G4yMl;-4MW>KxDH&k@3Ra`wX3x>}YyNk&n( zabJ3x7dsfvRUy`jU28+?S~K!Mh$l=LyVYj#kK7J1d+@|*NYFb&M$z$lc(mC869cwt6QNne3=rEN79UW?Sxyj+$=`UsMz-TtJ^+qKN=w9K!x%r#mj zV@Eq45t%Gr^R419EL1T1hNWH?ne%MPd)khCV5?;bnPdEVUd4)FvbMtB|_JjJz3Ax0q3od(7OALTZ_L z7U}y##r*Wj@=y=bUxxI_mb9%@aX`5LK{Ynk(EZ6$kDB0WK&sp$3}sMLYE zZ&_+E;?!MM@e;8sf0n5y`QiO?@4_GbyZ=3Nz3O+G{i3D*YA&$YD&#J=)Hb8j%a-hY zNUty@^9_^b;m(jG=Y?>lwA|mTFZUu&s~@aB*@g{e_z|I%R*hq_%MX(iQK(<41F=g{xH%IQp8(GHyCAKgw%91 z@)mZ^43Ta$&j)|b8$5WrFg+FjoTavEuwCrK3R^3!&YOzPOm!So=YGdsh7aQSdEFJR z>KTO`99+oyuI@0Sob^0tMmh0&%1rp|J1h2Sm*mFq7gQiUxM{rO3d&fLDb|rlaKH{RCS@5fg4{1NivAcAauI=6Dlrw2eY?4^mLsr>}!u!hq$Mzb6xh77vj_N5t@hN4mrf5-_!l0+K<79H%~4B4ROy<@}fh&M-DM@9m-eg zj^%roKe``?vbs#WDXd4%x+MzOS>Khl)u*9E#R6IYNTJ8ajv)b(^}3iM(Q{YQt?b)GbCa@tH>qJTjfv z|4qZ4Wiu_lG3sq~wUx^hm}c#&aIyCRXtG$Yw^_xk$amN-z&$pOsq``1&*#LY;56mzRv(yE*+c_T(4HjObKTU1#F7Xr7{>5`H*gAPc1tWfMNjKozvC z)OuIax5J0xuDI8Q@W^cDF5c`?{LX~_WzK`HiU=A1oQ0-(z$oT&?F)vUT_QISgJVxR zMiutQm$iqgKY2PA+!MG_=Ty}R4-mdyInFvmMcq|~I;es`(Vd39r|158ZCW;C4COYg1sq5y{vSxZT5Nt3C`mW&Q5C+k^Soht8Jv{?2^}{V_~My*|i{ z6K1xdaEI{ChU$UkJH)(1m7kyNk3gT7mN-|1RUe0Q<$k%pxattu9j-SDzHo^T&dF{x=kWk5Yq3ACm^>b*KWEnf<4pV*bVrlcq>I3HI z2ca&nMA$cWS`twYI0c_Z)Ju*tC!#)c?As$M=GY*=$e^mv+-_UL>Y8x3bz${bxEu7% zVHe(57+t(S(gDIJBZ+NPX`Vnn@bx~n71TL*lh6@DaNO|9bAoeF-+QG1>o%OQd}&AirC^;XBNIqFRdw}m>ATxFM%`<7EQg{@akH`2f4 zxTGh$y*wEuxbljBd2BTvlHjgdoKyHpj(RD_^O^qb+*C&?b<`f0sEfLK`q;@lM0HNg zhrk{-{5ShrLtV0Oay$ciJFH8XtHJx*jQg?n!D>0mGhavCi95 z*nb*5IKVZ+D=i`qE^fja(|yWP8_dV)lv^wzyu*?-{gbJ`hm<-f)t+`Nqz<%+fekhB zEUq@pr$Z7|WWoEa|3^cG76P!&n6n-$z1U@ZqUsWJhRXGcMsDUecY8H)!%+4q{_uS4;AY?+FlY; zRW{rFzq9_RSIuT)t)-r}ymcf~&hfd8FUjyXxSrC%@aK2J|u8oscVf z*ze@1f%X$Q>aR9;wl8zPb=6YC-s-B?4Yw&r%`$BQTaTLdJy^>)a9gbj)1Znjjl?as7Sjg60nBi$&D^e$fAdiU)x-BAazt5qbJ+WKtj|$DN>D?$V+WU0rCpPIgPn+t&5|P!_Xcq~-Q^NVbYBj! zLQKwyns1xnk(y3nXH#>L!sh5g% zj*_0-We!Wu{BC8j-Be>YVZLd{4MMb~M3}GIS(xwH8Rq3XKO^|B-6d}M+^*5;-PF%L zqOo48rf0OKk9wr%2_RSXDqP!3z1*uC&H1bshmoqL_dm$}wYQi6t=q+{@jKzWh@Q8T zo@`XGruJ8FnkW3wPc08em-bU1hV6Iysc*uCAa#-aXZxw=B0G`(A@Y1DNN4xRUD!{> zdgR{OPrcl;(`WtEvwdGQe(k5~_wMp|fA!AZ^Qp_0vYj^cQ#1Bqv#K83w-9{!zJ;^; zsSox&6cKa#b%Sk1KPl&pepe>y+wn!C0N3{pGiJQT4$d0vw9@ zKV=lJH;5wRq6_^$XBdx|*K|^kIR#&KR4?Z2KBJ?$+Kt{!bNI3)Mr>DCuvbM{g@s4IPT77OJZYia}-<+$PP==dDeV+@^D;Pc!)YM zAt&G7Q+4vzi2i5WZ`u;xAdI`p$i;jS(|*TR-C0!G`lm5Hc?hWNiF>chQ z^T1plbUKn4$Sp?hZF2Zr;&ly>5ZZA z^Rjt7g!7rD)(-f?R%eo%EVe1s`2s~K^3?oEVODpWxblsLOM0V~&w8`PI$*u49&~b_ zA%yPGHyfPrU9S4pae-T$;u|5)DP~Q3D5sc!^|BncEqA+;`H1T-an+M9PEMm61z77I z?CEWRlF-f*MlP>WX(0M9b%?5ql)A`%lC$^WqTU`>sW@pRo^sA9@vXy7cY9ITn7(RxU@GHZR7wL5G2)U48PMRxatfKbV~2e8n|%8(THN zW?x%jH}X`ZP4r;o4Au~6gY&q(Gf%gRvxh42bod{4<>Y^us}|-&zsXha=GfEn@Z}la z$KCvyxvIhKa&@k{A#DE=Q8U8fCiV|u_uGhC7!Eh&sVBnj8+q!ru>EYFdMhk3iuDo6 zy*0NSF>7)~WNU6m(zSUVp_!M5&M(UoCSBL_ZqLboJHi2AbbUm!{PgKRbAL!l&hA6@z_7s@bpNz@JB?}50Q?f zC*~4fc_3Hlyz=rsFeHNCNN;xYSLLd!!}v6bvPUUa%PYHY>WteJ+R|CYjVUzp8q5B!v--t$ zukWHJJD-58bMx=(jQjU4>1Day8ai{yIRDnp>Zv@5TRob8gY{Bp)zIm3GM+7Bn{a#Q z2+8@Kxon~9_3vU?!)tSTztBa!>Gqh@MST%|)ZokO1^Hi4LScSmXMU1($6q?DwMAXu z>8!RE6+YQnP3v43>#XK>E`oA#XU6k`&fNjFbY^1B>#`H*^IZn=P_OO8?Ruz1If!`AcO&_1N!mvihNL&dDBH(D;hZDLh* zU3byMePYn;py}P9XxHcVq|i zMve>NdpXH@m${GqKeZ3}PxipU{Zpq>m$+pgHreNzKN{-1C5gF|Z7*2Rx5G_x((Q5p zvp^!QjL}Z-b7L>0zA@bELuyv`Jxu3Zo3o*US1qMJv+^x*T}zLF&P-FSGe< zE;;zifvR!meZCr~zTV}~ZwIO^JqCX>P(9Q0L)^s~0|tIRP`x!^;QE2;+5?%>&m1Vp z%?JL0EqA>LjI3D!{;>jpOUpuVCO||1!8ybtD^#)rol; zyj#(^)aBuaK16wlBL0EoW*yzpvj5w>Lr>{2J4eko3b-M#*dUyymYUsy@k+FluvN;l!xA zDq6vLc{GaPPotPtue=h@9_9SeT@z8?nOp}^%Oiy!MAUl`&p%=^;$IH${ou~(O16G) z7|y(%)y9zXVRs@%`+VG8{cKD6QD>h|y7Nx1j-;o%2ffx^HMx>rk=yyE?&_DkXG45> zyP)fxJFAw02TFKSsy^r}*|uB33*&MHpN`F4+MF3-(Db}@7oP=*Y}eGYWwNnJ^JuleczzZ z>PGGTRmTIhF8tfG!y+?z54ZCv(YdBNhx>%;X*0UQR4=FIgu4S5S4z-b>Xdn2>K@$T zG&PiHtK<#YZ3Y)K4?{D&?}zNqnZ&r{{vvX$In7YVdjT(@KXgCn$8o^n(HHLKj#LM^ zC#%tNE;%+8j}Dw&=9Pv1q5fPvR-NyyznN!}1$~|4)Ij%ib%J}EI>od9!E?>bb4j;b z-kz!#6Oj72+d0q7JWnm$VB~&A$lG#0ky|UtyU&G<#tzqV{mOJE5wkYwG_P%47a1L{ z=gkR*!=*Ep6w=q~+ZmKw_>8f`=REmnI@sJdP1&{S`s7|`IvA;1Ii{5QwMW-pnY-U; zN-X|fGk2*)EZ)4^QlFYK7rqY_%@L({?&SKZ^%uXqf*hw@Me%iZD=t@uFi|M;x9VVC zv3-K-86KqeEZ2Npl!Oo;GeQK}8&+db2js-uCv91&8j(-8}ZJo8`{>E}AyD zx6FEPH*k(wINjKfBaAxkpzs{17iyF8_Us$JTB7&`Y}VG9atHlu^CI?nAshJfP~->h zhlV1gt1YpHy4({c8u@ScR(FL87xqz)hF-vsH%IpPr8kSZ?DiU>VS>1yMH`}I-?>xx z{od;8(#bYo?&;+$?X6zwRq||awZ7N82GEneWxth@OUM_wcZpnFS=Acp(b}7XG+yYW zUX6xd@2xgQmqf`%?mNBJH01K-fnLtjz10i7N}i%z$R(5yVf_%0}rEZHenZq zR~zbo261iA$Y&$E+&DK;hrT01H-*%hyC`CR;h!0HLqZrY8R6$K9R>{7nfb(EXPMI} zg7%)kH3hk882(glA9E^1*gyOcOL)%SYocngyZ7p-TF+GwwKSZ|HRToIZ{S;$+YM*o z)4Xoa$g*E}PgKo}MoHftJz1(Da_=+FcAC#u&l-gr&u7cN`;8Z<8$x^jc)r>eDkuGH z&gG|sJ^8{%+uP3?J zoWB?8C(kdU+?D6&gZ%6Kj-;ntaEMpe!l_2#Lne3PBJA3in5EJLX#??ye717ab?5Ru za%xw?78hMj59s{Js2#pA)D_pY_q{7uO0Wob>QKS_P#5ljJR^?|i0nNv@+6E9r@~v! z=<8ASXt+D)#CPR6k44pdx%K^XUh&OQH6uD&iW8oHci!8D*n}Jlb!0}?nuYiLFZR9y zN{-`d_jdJkPj}CB&-Bdfz|Jg_EVj_%C0Ul_m}18=#g1bqc47!QPGaYem>E_pCW|eW z#k68(u$Y;drT10OuDqE@mi=Dxzjx02_ng_feG9v~yXw|Oa67Fngx4*zLX$|Avn4V6M`42(~g8K3JkO|9er!i;L38F z8Z@o4e5pFEul(M%>NNAoa#yO;#V6wccdEj3$5aUdUQ{Isoa`z;L+0wL^1g$QG{d_ZYh(6LG=NX~9fkg3y^}wL2T`%SYcN1YCyJxKe$(Qv3@&03Y6N+8>B{`#gmZl|iyYv^RAN&#VeE8R6jp_mO;wNAMzIbxi(+{}8K_^$1;+((@Z45XMhv*#D|xorbzn7QjW{ z*&!C^cNVECBp+ZYX92wNUA{peeScL7-TYw3B>x&EQLDgO>Vn1r!{F%8NY!YhlQy1~p*B3);}9#F&;`HpBk z`|_V`6>&`8&t>!)t&@YexG2{L+)EiH;9{=YiRUcWu%TgIf&{I>is|4Tzw|ygFf{-z zE9Q$n(Mr%dV^gzn-Kv{f5*P=Cjv06&>zxMJ2lt#3a$D(*O8Wk>%H$VXi` zQRvs)v_QZhMliX#2@a0qxEuPH>bGvb`z?pTmZT1H!?;H7%O4nieA>P9D7Dy)0 zUrU}#GE_dy3o>o7Fvlb}ERA}|q4hF-Et?Bvn$Imjc0%{VPA%*{=*jf4^TQbWb<(>; z?|S}Be~O;>sx17oH@{4;O4WXmLz^JKlH3xdJR$1SToA_{&U)oIj=4dE(&q;6JWvssV#k_ zWqzALhn$|#iEt{xd3s09nw=7;xmP}rNL{^3-y|yV{t85$SKgFJ9ev9AMB3|n@k)f& z`sGszw9BvDOrVhgc~gYu1Z3dP29%u zF0#RXQ-hk`dM+EY%6EowAR1}Uv^`EtOe>Ka*U1o0UzX$%P8uvbE<#K!Yt5asU3ScL zfaRerchD^voIP-A9m5^8N^uN@cvj(Jna*0p4i5NW3hvhEn3lK!+PV%Ls^>U(rEL!F zh=cY!ARM^j;4OA>YUrb{vj)nob7t}(@q75N{uiqtxn|k~6$-xTs}*Q|Xi&GCE-Ju` zmo%`MmrLp06>jA=T!C$f1pHb#fLbTyM8F;GL6rZ>9tIy{q5WkXfE8YFkWvNQbA`9H zQ^B1V_xCUx$^R}o8`K!+5B!`s7Ty>5$F)Ut4$`3}#Nla@^NJH{)9u+MC*4*27o0R! z^`CQ6k*e=^(neJWe!r@3bkaFhNA6u!FLL5B=qS_I;Q?lx(*t;^Q!CVIi&LAVV?ENg z>2%$x1Jjzb@`vg=(9?At=%VPS$)CgH?9(18gDRz4982dZ5tdDS8AAJUmdxGQ0K*Bv zm?J{G2{vKzGpU>QEcV?`2McH1)P)7HxsPPwRc?@X!I^G+*5NU3i1Jbj+;qb}RM_OA zj;%@n+gNG&J19Q4a;zJ4)!PN2x2n-d#V{FRy1iEL_E`({mlm@s+mKTPhysRz;F=SUpglU{zZ5g2= z7*d3(lQZd5JoPlB=?OH?cn;+!xa6q`w8y91il-w!oQtSqP+K2Qy}1S5x?m8Q$Aj+K z@pLn&e;rTlLptETq2SpNO$n9T7ot6(WDskiauX70QoMr9dGWPS>1sUom{s9apf86t zAUZ~rsSz3$(I-b}bwp{EKzk$l%?O=})IymN2@1-LPvCDl?zI9B%2?Ncz4acZcamT| zBQKJ`NDbbxL1G&`40||Kpxu#=R6!(=Lw zf}LdAEd{Si_!cb&ChGi9J;0Qoa0A-sx1fXJOj>P87;v&a%%pqprx{hN<70@mN&3O` zcc%1PD)*XoAK+IckrTXcwD%}KKBf1W@8cmU4k?Y?(YD+U=_3kAzotggyYwuc&O^pq z!tdd_Hb0c#^G`ZZrTjXTmb)sI(QozVtUmo^r8P2DnurIqmq{>8Kg4!p0gB#x0?VPK z=wA3J8Ih8O`zRlss|JR)Q>37>RitzYyJlr+wMccPWg@&l;iUhLG*_heIn^+mNw*-I zWZVE`kN7^|B3m&pJocIWP@hiDp#p;@!*BrteLk0^bxYjPwE&4FsIB30SonK1zm$Gh ztZ%Hx(iNp;T$La0^C_0^rp0kx)_5*-wEBOTZzj$x;3^+I7-Y7)ZCH7uWn+CIJ1qpwcH>zxui|#&Hj`BCKK8b*pX1NjRf_q z2Yo-z2T*B$KmLCx9bi3cc?#MhdX7UCQ^dMu-S5MEEIn)vV*N-x%&$?bKPB@A_`>== zUsFHEPm+^dL@xDHf{35LXL|G+CZs{USkZgcExsLhoAL&@HBsCe_|n6Z86vpbCP6Bt zj!DGgh?C+S!PtX?HN&bfgZWn`(OP~`I>joTNrF()y(@`2sey|TYUknlByGJqFulAw za))}kORF(H_rgS)!%!@^k9 z`$Wu>5gHRQk3?v0L|zi1l@T4CY>RvjQ_2MWYyurj(9p`=1idpxmk46zV4{wZpG)ND zD%^K@%7N=^*BOcal!A=`(NzH6tAAy~AgI=F5OogF^cm&nY+x%BenkGlKn{?P2zX#knm)_c> zqb{icCK>MZt!~=yt`4}j36hGB*@X2VJ|IDY=b(uKSYE|rFu@`My9#G{_`(t}lw!PE zvnKe^pWqCKKh#$$$A3sos{IS>t(pKWhZkUk`*#n3ZkBT@UcP$L@91S{mH~F;Oy@mb z6`)2lO2Efue+-e+1OeaKF`*p59^dK3Jkczx7u>A~I>_HC zkci@-b2hZF$Bb>l6vZs zRa=6$jSi#jn2p8?Si@T~6NYEKEUl7g`&B)^riL{wSgo9dI?q2-Qb(yQzd|)i=J*kC zRrw976|Jx2itkawX!!&lVCe-P4t1ZYST_GF3&tA)hb9VtE@|I+T@JuQP**!_H~77V zEE&85c8xjvff*_WaWI@EzEo2Fhxz*8a(o9iznmhp(NYW!#58@^My#(7&E%@dp`+G| zhB0_O+%r^s9?@IukU(!wMhNf}qxgA0&c~PQITv`(zj95%#BxHO_nTs=*~wiL z8p0g?VL`(BBBw}PZNo(;1?xt%To(NTelF!LD#1PE0hM|)Hb;d`=NXi4X`3MdHA~Hn zmQA+SSs8kbqnKkXbQ#&3u=W(Y*Z}vpqe=9eMd1Iw!TX&n@P2O!>vM|QM7_iIkrT9snzqW$mlC-6A?XV8|l$%)5^ zc3kCMf8g#Iz%_1)Ah00kQMrKC(H%t5P9}#(njGG0YNt%vXZoP5Zt6haH~C#!{X#^6+1VvX zP(IjSyv~%?X?>V|a(M!y{4EvEUlt0^^Kdx9T!3MW)W-&6)*#?ZqIOTjsUf<)#8*~t z3iNaN6czw}96c*2*WtAnYi@K52}?v3?sxXd%5;T#Dl(qaAVnDs2OLUMUWCt?QrG<} zdN#W5IJ*c2JR}aVI8?~{p|t*^=-OESf~B8DtPj3eAAhmevE^g0e{A{K`mxus?LF@L zarHa1vhHK~@PctUAI32W`|`0s%G>i{2PeVqPA3_A9MMD}JZ**%& zJCmy3&8N=EJb38FjJk^(Qs+!w>uy%9MGdJ#S))@!T3*TM(vY@Rf<6fysg~HPA+@Z& z9!HmrwL%>l(t+CMf`+s`M=r>xi#hV0Ji3$P>yb~>bLH!KG%r`alt)W*Z@W9+;DST9?74Y%8+r zF3P8!PZ+)OX?sPZPd*)~I1*(#R7>iVPh+Y6={hFk}b0 z=I&hDnR^3USaePj?+ND}tKzA-OaCUG7RE(J#p8KKR>ae?cu;88HyfXfi-fPKEF z06MEV3j!=;>Bae_&#$p(LHJyGi@YGI@qNdh*&s7}mGo$y@}luy^fvZbl#4wp{1{q4 z)=%rh&LXkrl}DXL9(Mlmzptzp>Ek(gh@)9|0j?xwiZ};Y@0v=wwS9c@Ny|(=Q)w;b62~U z1Qjfm+roCdBb!7Sm>tn0wbd64k>P>ih_IU-=PVQ*PAJ#g>RD~n2Bia4R>AQ#^n=)3 zzzboYXs6ZUuc7vA)8TL8qRlaii{~A~;9o&v3InH!1I|Uki&eH zUNam8f&$uZuz+JCpQDHI6#rAYZ;zrSQj-*DyOxuuftd_?tD%aw^$i7F&p+1zYKrCd zg^yJUuv`j(80By&9^?Zsxw* z9wDgPaj={6;0)^`oHJ_Rvj21$a>RXOb ziwN~{a!v3%uF$zKbu>c|LX0rC0dvC_+8d^}{?Ps~4e^i1l&=ni)`t;g%rQGm-QwQ| zeGu=M8K(R3n2k+gWjD;E!^)X3WChAyl#3`sBh)!!iADJR6bdjYK)Z72P7193`8eh| zLfcbdlok3m1>6-rj)kQ zp_E@m;ZplRM={&k@o6X(={NG|yrh4d$Mt`1HiRX#a}LNUO`n=a!yNjShIGWCA8iO* z1Wy4lvcDLFJMN&6Orb&|FU1Y)vhTn=4I^$g9S z!D;%Gd|IET56!2R=~};hT9vMYtSrcI_sXFjnVz;ev>{Wwmre7sJU6qcpp55AHr*@} zcPg89mNk!NQ;%}m-fU`K-uyP3c9r+6$);Wvw1wHUw}Lh;o5obs#%EKPO6I6+I#J2f zFPoND_VmoAeN{YNvZ-fPy;C-|ujXl+O-0qT*4a?8*6uW*b~QZL8_=>E+OY=IsiwBC z0d1?P?Px&rpYm*OK;3G4)-|9dwe>X(Xj&b8NdxLtSDV*>4%XEsH=vpI^ob4VPD8Ez z)719ql;|@{*eQ6o+Q1$#AbuKW^KXVLC|jr<9QsC8NBDCs(=0H~hNHaM*#_s?j(#=> zHyrQ`c0}~S+etTD0PrXq*sUn*S7h*O1A#B7qT?fKQVAD-E!kfJ?FAp!t{2VO%?I^d1cqh(fx;fdVkz0b<5P^a@N@fDtQE_JkKh4-1p%&RC3{{OFnhREHGVFa z=!ULwLrVu_(^KtLfVpYchbYum`K2{37hylI*UAR2-69*u8wV-;ayAk=t0hW~7`5;bL$dY;7~@Y?A?Z%H^Cc zYhJ@2DpwfDum(_$oWj8ST+Yf`{;|0v81o+fEB8Fvo;83BeFe|o!^#3|D;DQNs_tE> z!ck^mwhBGZUjhC~MNjio4d8NXi{S0R-@$4;N-(_!HAQnqtERNqW_E9aU`>hhn$n7Z zaj^-t3mSWx(2V%RnN4X**jUkoE{2V%P3V5&J$q48x|^9it_h9F8k4xZDQ#;gw`f8~ z8x{(E9a2>4t}}*{)AFXuo|rcGO;)4ojp-PL7%9oCXYUC#~4V+i}~8 zja}d2q-lzN1inZ#4)4)sJSf)+ZMU)+?Y-1P)sJ{+lT*Lwp>N$BKI)!RT<&SeOu(}B z8V768L~m$A4VvQT@IrrRT@5-Idv*vH$+IyLty0UcNuw#L^2{`vohpw^qoP!~R~oHK zm0P6I!Bq1~DqpZMooRWi(r85*Xk32JufYoswsqS@=elHC9B$9{C)4T#uB_ZVNne>v z-IC<#$uux22zYstIXW4<61h(@9ZZs2CDX|y`C<}XNqTa5GL1||>ob#efJ>8k>sI@L zKK7rC(&$^&?8aSL20LohUTYN1dxB=@ct-kYHru2gZn>vPMea~bllHi!yKXw{4g!DM z-K?aoWdi8&bCuy`ue*Y{x@UFIg~~L*y@Z{qOgB7nK&=nzyDHP}-~f#OS}3rxGIfdX zfTvLqc^$dS6GjOrdOwk06ed>zd?fjVh>Nx9eA_;dp#z?lSpylZvN${`>r23U%5b>( z6K=rUo{*Pg1Z67#E-1%EY~Pe$Cm_3B#UM~$RUFGNHdm^Si_VpUfX7zm8EYz60erVI zC(-!4`=~KdV;*v-pP-LHaI|8+=Ofn7kNMfk35C%%T-<{Cj`o5+Ux47LL9{)bIUnhJ zIMznku?l{gMA{(Yld{^{B-DnkYbRE6-Cb~Px2vcu`V^%Br^e`2u(xoshQIqb3X|j<# zI!s$#%J48PGCx`vq3Z#E*D!q*3>Ji`C>SgZ(>@FC5&ARWuJOUPVVV%Hw?=Nf4tRY$ zWTvyjp{<o45n1um4rEttBRUaLI(v`F-K>J)t?U3v9-}KWyU-i3wDvTR1-1gHFKh~U%0S%gn z0|I4N1ZY_RbWY2lJ}OAvf;d?5c|`9ZJMarE4bxoFzcvh)I_jP z%*$bFY3J}n#oZo8&lp}~cTj0PZ3pu-SP$CopTjR`4W@7ni(l!XR${r;9+<&I)_UNL)7awy$0g;0ht{i4 z7I~?wBh(oqa2ON3w8vR~uorJv-F9AD?+z{Z;MDA2>Y+X!X`zSqd-QW2I^#)$hP78; z=%ry^?LLZI@OrNfc(?b7=rjC9cj0f{aM%*nfeFyi?l0itg8ge5{(uY}@Nk#0CPI7N z1~?51JaT8i9%BOFpt37MV?)<@g^^)-aD+C8gMiP6BG{QkiVx}qm-$ex4PnPecQ(>BDh?|KWLlWciaZ&c@N7lMz?B zfXfQ!3(s|c-kBtw_fco*XK=3~r2x@Nc6<}Z9jKf|bN2YoXwK?vrd|b z2i+m)@EbduJ+X}k(kKgflL$ijq-X+hM>NOsBU=#Y(YCzkT(}`~!ACFDhlj;8!W-6j zb$W;3Bd`~I1m>5tZ&+uT3TqLot&7zu?#o4Zd(-xdt!)r17xQVHgcDks)Gw(C7AKTR zc`G>6MxXHyXpxva9LGn|ggEo6Xtw7LGM_GKzxq4DLU?f#{SzE82Xaq^cR2fM0T%;Q z&SV>=CAY$cteMx~yIV6)YIIz~sStnY!`WGxC+t#T*p3ed*CtM?P__|fFq~-nS|>gW zpOv6uzy8cP21N|SO@yI@7!PSz2U{M{Yi;0U?6Ua*@-}{X&K7DFhZh2Fk7=+P+UujQ zwa|Va6kk_~1e5;IS|1H`h47readEE80e5J=kH&f(c-f|V--i;d&oRnJU-_^QFY+m? zeYDA^?Dm0cq1^M)DIc~o-p|AMERbo3$(e5Dw-MMo;b3i>>k*aUQ2-D22^=L<$ z-nJesO*gOBr7P+B$+~nX!#rM>dS>do>w+*fch;q8S^AE;G^vbdbzM4DMq6AL0y%R^ zU5G06k#*^2Sx;eI8e2~9UYGip_jIjGtIO-1>(ZJEarf&`hl<+uI@GU{dAbg*tfU{V zLpv*bw%4KFPipJy(4Z=wRdr~46>Vu9x>41$xDHLLrY)*Ni>rI4)uFr9wefYRPfgF@ zI<&r~R#1oTJ>}_Lhi2B&de)($TI=n_@0n7HmlaPh6TQ4mgo@x;+jC%I+Jct0U?RsZ{77a|@RqYY3Y-h&49)Ordl4f@K#zpE)u1KDkLy}+Q6 zy4=#B3A(hzfZc|9m-}Q2!Yf4^L+fEsKSP7FiE)O;a}6D}HX7OFwYNoQY6GIK;%!@Bp1*%4C-gnsB=i~ng%jLZ;?);!}_jNYMCIe#WsecQ9(Mb zOwz}sff0)3q9|G4nNI7Iu_4`0*0-fnj}&udDveGF0$!S87G}_{6mw%LU9jM`sab%h zrkZGFZ>oMim9D4i9nz>rnm!_p#;57PFG|x_XVA7Z{dgLkPfG^&@WPqD7C4-kTxM33CnyLe38wfrl6SEJi%o7cF~R;ODkqlZ2+6Yua4Y*u$Kiv^j#CYdQ}u5&nys2p&j;0b2ul5`+#6m-HEo23 z#ScDhOJ|N(tFjYr|U8!FJzL@5}R-2}$>$7UpfXw(Vwds1fgk80$clps6^fPoeyss)3WWs8_X}81I?t`s7-4v%0>l7EP_`L7C+>d7Im6nt)H#l)kM^-JUYh z=J2P2(`wVar(OcSSFIq*OsmCfEvl6Ovagng%;UAN?02sn064mKDs=Q~>!`lHcGHr3 z)L#1SLIl^gSd09g)fbJfQ2BbW_xvYfnU$8G|EFYS&>Mc>Te+ShFBB&HLsSVB z4#?kBaLoI>4p39Sld+Yy+b=bS?~|SV%UQFO{aCDT38zbLOfM+Ep=Nk*@w}?hHLzi> zd0sj0qjg^WsE_u0Rlujb@?jrc@~Yc?)WKH`n1wzG@KPVXI{uvBHJ~8(ySgR!r@n0T zL)_(OA6);$;QGanzK$th`kDSqTQOxHm;b$OJ!|w3==DdB>vaRN&<`GcU$J9}orl=# z*z&R0vE_ek|FP}GUdP;TX@1A!?4&9d+rkypMkgdUxYU&PN^w^(O*`edy-3c< zoA`;*dM}hJ&~tez%6IrDxRlO|`WuEd;-d$1j2CAk>TeW`!LPwttkLc@#7Q)^H=}`) zyUlBKP8w{R_8PXc^XU1uGjyRDZPgWE_ULC(ZI#QI(+m!)j9JYf!ZM~eqb^?ejAk^^ zcU+m*jQS+3NdyI1=NKE_jF#7Lft7Pb&KeUJJ%4%u)my%j)~6Ybe1$V3U)jR|7dDGW zy{XMOQ_#AnIIL-m-o|(lzUn4|*GD5VS$V(9P~q*dB1E4c^s~-8;Xu9!aDnIrdaT$2 zLmnrU1HP~P>;We>|9=4fN-4V?PN~&rR>0e}ssTQvYQVSFG?eM8ad?!bA$PLIbLUu? zrP?mEhHnoF;vj_%ho(3RGN?B{@kPfOJFi(U8p9bxjK&lm*h}jIb2-5WxDx|iGLmT= z&0NvCpCi;P&hdgVJfFrgqkTTqN{50t+o3K?-2(NwD#=Cp)Vx}mh50n2TFU%K8XC*^Jt@E>Cc9kDN z=7Ic3wD0em-}GAB#DyyLlb$W&rjTm{TwJhYX@U3YI)LYM2?gc^r*<4BF4%@@S0J`` zab@`aW;4K-%m?%HFkOpSJ%rNh?0;-;DWyB1MLt;}P)FfIOa;FWYzFV(fLQ2g@ggno zOQT+(<0+K@7o`3k?EJJr!m1bOYP#I@d76-^0^VP_rxV#1>$b!lU#{;1s$B!v1JIQm z@ABuN90wxj+guKg%F~hACSP0l0(HxW0E?zHOxgB4^?zEv`5fJTx*XthjpXCc(UnGR z@dR%*;U&8?mC$_urf#(Gb<=aa`yoF$C7^8Y=R>%d@cdo06dil4+$~maR(f474Qnq| zhEhjM!6F(k2md#o$@l3|eNk*H_|_2EF2}fjS62Mu` z;x^I=Dqu~tuVCv2Hrx_H8!p0GN)3>@OzVQ6lZ^8r(bo?xS6Y6M6;Kd8Ht7s*w3Db5 z$gme54|stj-;m$}N<+-{8frFoW=G#k*pi`}yTSkgyVoF5gZj@TQClZMJ(|C{ z*0Y7A=NVBmJVEHhIlMemdmk0`oq8`GB7$_~m_mTIQG6`DvqH z+vBIBehosI^L`xLCj>Y+Ghj`)HIA9+d#2C;vDvN(-|=H1(Ez@qU^eFl70_vzEV%D+ zCx)*^#~Hhy)Hxu?5MGQy$S*JAjUv!D9aog|UOKP9kP9AG#wp02=GAt2X}%YHq)T3H zhYvo5-ifvsDeg~#!e2Mb&aR)R%@k<_SN_8|BgJd7v<8uRh3;r_y{Mf*pwZ&|)cVN- zz&RFp5WocjwtH$L{sowpHm$%0FF+;t3nez>A*Rh>5gdBn&M;9!G`jI(^sEMv67msO z4l1{+g`UXYBWgE9I#!%t273MA3ossiZ4m?MM~7?@JmMX{7;`^M0b`S>cw2h`S-sU-*)>%UE z^pbfvk9N)r(h(ax3E=>Yp0zd-6nRVX@rlqpL0T&!Yz9bbh?KRnJOFYuzqE`rc1`+E zU&pSQvDc65|Hqd9KW#4pyEz;!gsNXjv{!f=)5?5s$+nT5#gE7tN8R0q|lcxdC^Q14rQL&YphXMYrq*)LnNg$s3^st1LjR*^apN@QLU2 z+;Y(bCzv7^oxI8BMqCHz(Hi=7gQgn#QG<#MeWO9^4V<}77&={agjn z=T+(V^0x@ID0rX)KS_8WaDQ8O0o>uPvWZXeh+GzMcY6>SW9(d;AI~hEUL$(ViDU8m zeBrn#m^dJ|6bQ&Poz%7~uHorJU4^U~kwLdw5q+Dqz zJo0hq&k`1wLV;h;5u|a95X5jKgGPzeTSRD5FkAaEo;ja6QF=3b0_fY^E<8FeB_usb ziRGhxTQPY5V8QT@{!4gX_&EY?zD5n9sf2rQT7IadKTv*DruB?n#{HyA;4)-O2N?ZQ zg2wY-CCqpq1TeMyHE-hnoMk+@g9w4g<1tGRKXzlFW#O>_MOL$xm<_b8l=7kA7$-;w zXYn9Dp0|=QOQ4rk2;zRLv_kaOm!e}&DPCh8S4F7O@c`BPxOu^7F}Q_Cspc9kR@<>> zoqwTSWBqZK8q34z*zcn?V{LeT44vu!Oxi8d-?$CWblC7L7a^F#ldHO8B)^ek`NuI0Q|%$^EmSxT9@Dm`TaCGK&_;OND-A zAi$8@WKlcKn4ZNWVJy$07LEqDv*3$HzMM(NohsnIx{Q+3jpQ>~G{hwz%%sb%JYZUw z^4d(=YbF3*=89tI@Jt#N*Ph{GV&E@OxCpM{oz07XVn7)h9~L{7p<7`M z@K=#E;5#MAJu_)wVxVssT9@bp=3wHVa4buz4sdL;52IR~9KcBSC425>(ADGsM$#jt zDsq>mKwo82Y6#$k)DVhHfw(@4E~TB~ogc~6ad9nEM@IWB9hg2@sUUH(bTqj%3olxi zG738FQzp6i8I`ZBow8AF5UewW6e!saWISNP38n+SDLRnX+x9Zx6E<)V@H~W(HaHsEB9vm2KdNsh;bwA*7Mh4)mh6ebs z5#qIs=sN%&2I>tEdMf;KBOHh_21C%ZOabN=laUJ_ z3yWmFtQth}UMX#AAkO#f5|mBY$FrcgWlbw@J1I$pQdt=gD@`&0^s#QC zh<$RK^T|Gm&PRGg#k6N&{0%b!{Fd*Crv)|v5tiAr9 z_9;-}s4YRj_?EOrfD01|+`BeHYyK8sETzl-6YP-dky(6xDs`UGdhnOG%xF#m{&xP60o) zk~G0a?@FM$KT*KU8ZNxsQ-TOpxeQk_?A_)P=PRDGK?zL4r+rnFzQuwg)&sq6Gf`)y z4fNJEn}TxfB?UFROV9D!;?Jm$P`2zL4_yAq%T0XkI^Z5`3#Q?SxIsXa_Gt(=L8D}O z2@HW{8N#92cKIA!>f2=mX`ijcoiS;;D(^LEyDHBI46o59w2;<=2=A|FLZNz*{v_A} zdH@ZNGD3q<&=|-Y?%+22@euANS}1axsCCcX428Cv&_RukEsx$LdQ2}>>b zQ=0@QBk;v0LIU-bO&bfhe?0KpPTRZ4n=9c%h}QWdLNA~pL2DaAK<2=bAdS$f4+(*9 zuWt;|5Qp48MB~i(AwhJ*;WKf{wjf>id%6axQ@}hGpuqtj@S6jE)H)FW<=-Qy4GPkL zAi7%~B`8>D zFIip|R*F72U)UpJCB7$W{cZ5YTf)OjYb8iHG))u~a6zJuOJEJUmC*&JwC2GFP=}8@ z_WSsMA>Pk}?;jG%j-nsZ$)OLv|Jd=Wc?!0crko3A-B0Q7yR@wIVc)b?S-K3fRQ{D& zb=6l`FM(ct@b3MNu$g^gwAAQJtPyhrV>fi41%Pdt0r%*=Ie~D388cP7#=s0(A{vG8 zzGjPuyXG-AexzC=c^2VREb;JFTkR@x_u8%Ec3!`=!W-0q@X*S3PuIUy06Vy5fLe>*51H?oI=|*c008fyIUb z__7B#i}9Jo=0J|2A|19ISVj9O+f&F}B}3LE?*duJ9B|aS+k#ix{43yAM4Biddl@#v zX!*}yakO($3vlgl(iOO@qDYLpgm`YE1n+LEZH@~DmP%>8fl$-X34%N2xO33qwa1+R z|I{wEgX=d4`Zy0*f;Hw^39vqgu<+k@b1J#-IZw2siB^kUt^ zhs8V(-y#*X-ZR%AYqKO@ck7XCC4gRfR8A0 zAK02HS->C?JW3AbX2|PQ52fyrHxL@|~^Z>(76?U6mvPF)pq5{LcJ|mh!}$~Y6a8gamk}LiEA%&xUb0Jd7{?S1|G;R)WSP8R3PZ! zJ!=dI&~H`={ez&bKY&5jTycVcb$x7{>VxBGgf|~;4)>V_Feve50l&{z z1GR?5Dd_k}TvODVe;WkKUUf#!yh=8p*|sbA%j#x1&zBaS#6Fmcju6 z6an&P3RwX6S>y!2KR2E|fBxZP0vzB#(Fr(%-p6r*>tTKRjnx5gKcPQ^tdX|L^u=c2 z)-f5uXj+TEJuE{!_$R>EY!FC}mvn&hB^~J1QX-ZhDF=x0auyIfWDW2^OT)tIXS`6a zmCzsRXKaQr1mTCpkD*U?#^yNXgy-BV0s2=xX4g>k0@sUPtEeb=5-Q|6 zgd93DyQn%aBUE#*6B^KEfxn{aYn+It+z7dwHLmd1&Y@3%;ND?&a6;K!zv7^c4t+m3 zkB(H7>F?Ch-)N@}p05QKad5qp_p#ggOKZG3)h4R#z#`P}wG?a;J#7DANonj&$uJfUw?KB;$$YD z7IB*5@|$7etH9i_Ec1)smyd`(l8?f#>Vxx!K@Y?6cStT^^ktN}iazQd7vx1QxGh9a zbW-B*d44G7v?Aa=D!M`l%>=-A_2elo8f_#GchL$MHQI^fP)1;7h5xhKM*Xk~%9p-I5>acCzTFyGJsPjuisu);!Y;$XDD zw<5+t6{7#Q@2ili8=F-)pwaA+kJEra6fF0=HWwd9JeR5}aw|uLY{lwHbL^55-kfvCh_!@n+}n z70N1CQ3bJCSH{wk%Xjhb!QJ9@p(UHMzNFkkd~+aPyfuaN`7nCXD;GOTj_#4Lb|MH!ye*NMsw5zaLsE{u+`GUb7_@y=m} zdOFC`m4XI%Gu}05q3Hm-Gn5_AvN)D|Bf*>~iBc0v%eLUmbZG*kCej$rv{4}IJSS8h z!J~n_#K#aNaZ`%>a;76*Up5X<4Ws*?tAg?wTsbMA-3tX?h|l*!aNb0z1L#9(AoeE- zqGs;JnV0>SxZQTC4mlq#!*o62{E+)f?ah6q7Weh<+<#XJuc)iy=u>%W9Bd4d$HgIZ zEM{oED3A6du(G!;%q(q#1zhY${KYuBAjvSd>!heKk(;a}LyLc#;@sq;-l}Vb534&E zSY0#~MxBE-xe#V`8h=?XIbJ#uN0*$5+v8}iYd*t8H;;*0Gd<=#FRk-r0dwD@pMhnr zSBB=yNN)(3McyF#-Rso=pZ990eA8PE>!?p(=%YElpJN4$(@|n%92ZGO=Qag$9_UC4 zmHTohHjYtn!6o4H>d!QQUs+yVtY=_YvSJO20gWeEmGNAHmj4+C_K9b5xlWLRH@T{Fl@hyfJYAqD`S6YE&* zxIweRkW0|fYgbrI@b}?Q#irl#aO{AXcqgnu8-DGC8*k~D12Iuvgfv=`ffy%CR~ArUO;1Xf6Be=&wCmo@oPN<(lu zu!Am&)`^QaI*F78Jq8?~y!RNK#MLaxbEj80!`OJ1u%ScYjVUv2a7o9b!p*U1hhP$GOSAIbf9GBTHwuxd+%6bjpH*is$|1xBqWm3V zc=_m>90!+&or?9f41)ap*D`MIV~jdFh6ZoG)KA8kK$L>DBCVHbjVP^>=(s51;hqt> z(D9P32Fi?+L3M+rN0nHfwm`CDX`Ym@7duk1TRf5nH@oNM|ms;y1*W{%}(Fi zH55E#9}f(k6Sjmu5&h{!95-(Xj;|1qnn?&tJ(^_zbDf2E>rmI@htbL67ud^euLE2v zWvtMl$m3Y1(-PT%pw-7^=`z$-!3L7c~D$ zC&(Z_8ffnH%-{=wAGx!g8mjJa#sj|S1P6nUEl5~(Ui9K@@g6qM&Vml8AKzV(=OeWI zwz^E<=Wl4fv=x43;mZ?PAFrzr8FUr6h@-nD3m(GCY!ngKfD0gIi7MbC5ibndDXpWY zWU$vMt9XB{s9xu^2Ds2UAZ)C%m8lX@CH06%Pc`Q2r+b~qLrW}z2!*-Fa(RHezol#o z{AdxIINCR972d&B%)Q2j*q$A%SDoXHl;qI}ajh1@nJL(ZR#_Ke)p&Keu$tjB%a7th zl!Ler@k?>9j6O(1uSbO-m_T=V=!0nA-*HDKq+>$E88ji>mU& zxocLYo5A3TwB+ zI7;7(PIVD)sto#h4}=E(ke?c#+DW3{y@}oOyzl|Qg<||+8(kC`LBr!6wqdNLNbT5AU`C4yzKcmBz8I@L=o10kLoguW8^ZaIdj&VZv%>G8{m5DffcJ|j z(Xw&$Q=*^pZ)uwF8|;LGSZ~yg=0QI76zSm0*HK=hys*`F>3e~!3i;Ud|n{FV@Ej))lyeH>#NzzYm)FMiM3GgYU(lta zL=EUdQ3GN)ugdHCpJ{>vKu-aS0#4aF;N{VP9LP(lUkjVsbs;ccgqfS#L8OW7kKZX% zTT{&22sdbWnk!6(;1F*BzrS-#19+q4{uEzgGpd634`u%euEBmwPes?g(soQv%UAMu zc?k(B-nUE;jIT4un%=|;FB?%2vP0mal{4 zftWzynW2am%o1^LJ6R$y*IBkz=9w2#p>h3()QiwG68w1gursX#$BnVEAZXdU1YWuW zCFY2Yhaz~A4X@A@n{p3cOKhMoyGjbM1yaCjtLi(M+u$BhNS@94mImOnf&<+6JAwkZ z2YU{WVm}W$41V59s7Ugs%I~A`I~ijn$W>FjBL13S0KOnNKtPURY&INVGJL(wMF#|8 z3&m&8*r<~Yw|u~+0X$^`CD21s21u~-fk{d3H+U7$gBiRxCaEpLaoznATI4=Ja_ z<8_H(BjC^LS`A6g%eybyMC3e2#~Zo_V#J_3_w72u<)f?g_5lSaO&Q z_-j!Hex;}{vr%_jRluig67c7_wE*rfM0l+42B0SUS1fXH=dAHs2Kw} z`#RUO=XIj*l8RTnyTFd{uLtA+*j?%&28M0)d{KH&_Y%Ior`5yoRl^p65m&;e&@CNe z9q;O!;NeEw{xM}suRpFzY7ysUV1djn;17U5yHfL0rr7PIXC|WiagSR#wB)VCD=tn1 zJVw$1eLI8oaQy^zF8>f1v@4(}ho`{XjMcX<-3Nk9q265K>CW7Db1T5DMHz6% zV!MQJF)ueCjdfvP!1a|V1MF%EsL*yp`W)iq#F+};K|n0FV~HIUJjb*`K+9Ep7n#9_~B{c1dmIE=M91QJQ12MWq?>A zD#+X*7W*JkbCN-s{^A$>F~rVYEPWGuUHVy1s!LdMe$F~Ttn?13r7=SKIDiF=?K&vI zLu~q0B*R2jfaHqE&O+|g!B> zqOc`M3RJcL$uu>62#O5XSYKS7)7a^K5&|8wV@TRM*+C>booo-1d(QOLC~{3_Q*pJ- zV9k;AaIxEaVf)}>*N}{Lvx`XXxY-#bUzzC_P-KXQEyUFo59^3ziI=rO(#^-3BiZd^ zxA#aiI*wgKax0EqL^9H!-UjuC23QfUZUk6oBDP2Y^L1-ROjz&aoqo5))8yhL_?7aB`qw~+KpW>=9MO=cI6Oi5v< zk+e=_$B;})P49t@#-*_txN4csS|Hh#&hG5QbI4%Vk+jQXmym4FWM`2K&tfN#oXcW| zk<2N>_95x=1lx&Z))VPn(fhQrY%H!im19>B4DE0^b{@&x^6V6nUKQ9;Bqu7c14w38 zWV?~Hs>HS<*-(jXLNcH-TZ`meWwruIzbDh%Vo1HKu)erDQ-vMc0mea9win63YV2Di zSE{isNY++o>yZqr!B!!;P=hT+GOs3Eh@|~fYz~sGPqA;1jIPBdBiURl{U+L6SDQ7* z)yO(*&31|I)?v$$Y^%$PkW8q@<{@cQpUp(Fw?3PSWNHI80ZEH&HU`PMY&HT(zZ^Cg z$w#oIW7ZkTsm81wk{L}{OC&9uvb$R)THlo2Kr-xEb{WaqXVW*LzZE}WOK>&h zIo1iu_2*byBpaS*Es%_Uf!%?p_4_Zd>qvII$Sxt7^b$LZq}@;12_$=d$_^tL|1#T$ zJG2=${Tkbgr2FgaTO=o5 zXIqdgdV{S;QuroYh2+AUY$=kJZ?T0)hW?z*L2~uy>>DIY-)57Mbbp79N3!P~HVVm@ zU$9|FZvTP}L^A5#^zOKoVZUT&5XSN5FWGb?o8DuSkc@qwjYHDnS8ODboxfs3kxcnD z8-S$42dn_e!4FsuB(pzcossnT4Qq$w*l$=%B;Wj&-9<2&79X)2NY;JCE+gspF*}Fk z%*X5`lD?m$AIBhie#&O!>eQ#K1(LIy-p~8~k@<+?2T5jMh& zQ*_x3XQb&;2amyOxO6I3i|__4hYjq4xC~yKrpIjKJ}ym1AKY8hb=kC;>OTX^OxOdf z;I5gvRKUfvbSZ;lGju722Vo&xK3kVOIBAY9^Wkwg2dEL{@e zta-YOfhS?_Cc>Go%QYC6t;;326?Vd`9CmGln{)J-RMM?(0s7#cn@c{x%kU<{Z`<<7 z2bh~rKERu>1MXg^%PF{o9q*3AaRs^@hKJyOSXQXZZa8_dF56)n+yd7w(WM?vFVdw3 zo`Y*(?NVJv(a)Ubyl4&N8lBB05;a^(hT!AFro!xH|nw#?tvTN(oMS5!ttARSql%tm2kxtT}olf zR$YqV3AhMWZPR4|oYA057VLx>a6_Xm)8U-$x}?H0a3Wl>gZc%>G*O;mBkWmEecnm^ zg4=fLF{??Rjl0kX_q^S@q`<2%32txJWgJ|%N0&Glw^x@N>u5k>H!R+#%LSOYUzfA+ z2s{B-9?+!~rXJMg5IhO@!s88F!c-0J3{?}S78O*c9i-B=d@D4 z;7M2rmmi~k!MNkpFSrxVfxXA|nA6bx^-*Xwl(SxT%x+1?QiqJi}}76x?xv z`UMwtQNLjPMd}x9hPz?zCF&Qv0Jp%km#JTHLO1mb9)xS)_$zwMG}3?cRrJBVAMUEA zg~y(}5hh)yorA5g4p!Wtor7sTv~%z@EQhr>sb4Uom-+>}U_RU&E0PVfnL?fmufv(J zDPCkMEEp}43`b)KJ^}8BV_^y7MzJtyoXGVm;)j>viUg7KFablHGq4G^!^}jHqwq95 z2-jj0z6YLU@NgCBdMrsKANT5sBAu1A^OKnFhG$?KTsK+d2%McPasXb0&2USK$PSp3 zDzX*cfE(aW?AvQ$Ax86S;TZPFTnP`rQdo-dcoCe)%f%vi3@(7Hv7gU^Q)h@|z%y_< zTsKoB70#Z;#{uv>On_AxjGw`YvqgH=QorF9m@`MD3wFbEaQi4_q*h`++@h2i!HE`+sC;aa$S0rvwZ<#IppI4pu|^0*&3jWLe} z@GQ)N>lboAaLyv`2VR1yaBBhg0~Zu>Kd=YJ!(EHHpOwVFg!_T+K-Aa*7aPBIR_3$#Rg4-%YDqt=HO=a*VEQY(+h!nyld^wf}$5o2Vhlk)C zSXL!615U0MNrP>0GF)3Dk_e}>^28W;8upgcF02!|2FI-zxdeB>PB^!YathDGHaNRp zV%kW*^bP2Py93UG^&3T|!OTq}DX<$R!G_Hu<6zzvkvP~3Z0}|6sx@|d#UdxH^kVp;ehHGF$ zi^vL?cUYtZ_QEBw`3M7ru;{2r4oqkj$%HL%7A!wT`oZMmq#taDNwBhw^n>Z`q#x{n zH%ig-1nCDePm+GH8=i#?r$|4TcbfErz3>ohK12G!qO+tQOgKmS!4|j)mUfVSaC9f> z2OD4o%s5Z_!FE^-S6v|eVD$xw$s|9Qc9D*_M_)u=xF3##C6~|_CS69~653DL4J*3Q z7p7f7Uw9gxfVEfA7iL^TU)Tlr!p+yw7iQl;Uw9pEf=xZ>3kz0eCc}1^2usEpG6wd--eu^MV8}H% zcf28&;DYf+Og;HBHPMhx-0g5Dtejv-158h1asqb1^{{@TAyqJQk|7na8I(ov) z8HSvO-LMTd%rxW(%$sG%0eAy8!_66n?11UB4cQ7?;RaYV$B3$qK*7hZ?8u&EGzVZmbbgrk=jQVRFOB3M#n$Re1u z)Q|=6FwBBQ#fD_S>u@@(UuH-uOe-;DB5Z>R@N9_@vzPQgP-;j#?xN-BTSUH?bePQ}4^o1R8Ev&CVUzoWXePK5&f(>iX7v`-+U)T$?U~?t< z!lEklg$dQ@3tQksSYCs^Fu4{zVLR+uLj3CtxdPMI8`1?k;5oRi&XAKZt=^Dhum!fj zf(?f3gWYf!+_ceW5i_5Bt=eSBX549;(HEYEi(u^*^o1E)(HC~X47hn4`oio6 z^o7^qMA+1bzOZ0B`ohsW(04KU2Cu-9CiI0#JJA=m!jrIK7y81q-RKKX!+o%}8GT{K z9`uD>a5LPz*N{4xz0Z(pcpa{WP5TWghxrE#Sq8h|Vpx07kbIbY$dGKfAI^nKS`3*9 zm$w)(r%B(O!-h=7-3_l4l5a=Q7v>#BU)T#z!sb@=g+<5E7bYA>U)Tb7!SXirg~{#c z3)^8GtUQ6fF#RO@!VXvt>rbIC%sh?0up8#XhBN33^Uk6#?1eL7^Evc{MIDAD!-P&l zCcqXr7M7nkBoen+kb}7Q z!)jR4jlMAH3i`rUxC~ZYMPHb94SnHhm& z*$6w~I#@a0luDSCXv!+s441>~38pNCmtg_ynPA5BkbY;9Ov%MvInk5}Fny9KV_^r3 zh4quscOm(fjJ~iNo`(%7=nL~w(HHi@qp*1j`of|#^o0pi(HFMBZLoYA`oiSt=nLCn zC9F(GUzk1vePIV&3hQU0FU*{Up0FFvgAEy`%!YZhO-YBna0=Wx$CODhd#)+tVFw%y zD>6;FnU6kMrd);l;6->O%Z#ZbUmE9`(t$gBzA2~Rb$A>$Wt(ys7UY<+AC6vN%5JzH zZigkgrfh*pd8X9ER#*co@=aL-(-xYt0-lB?uy&CtOJGKUDGOm2%z>K=P057Wi%ppY zufu7uX^AN*u%O74BshAhDdXUN7zay=O}UXr{L4(~hOO`dTv1}mS(s32$_dy6TVdvM zQx3t?a4%e2X39>uzRZkCCcjI|(HD2Z3iO37a0x75iM}v-75c(5mVyfxTB`@Eq3gD!7x0(Fw3H&L#UY7zT-V$s%|FUYkX=8tsxzaN-!3%!0?@shJFejCIK>ICUJ? z!!vN-47xc9Tn}fD=lXPpVc;gXC6Vi4&IGQXPW*5c+?mAnuy7*RPb2BWsTOQSE(AdtX_kvVAxO?2Npzkzo@v z^cscHj6P}dv66Q@47A}Yh)*cCKJW>aN>hK}yN=t~2jVC1IqCJk z2|L(6q0cY^arwy6?<%AGK%U;I@ul@!;aHKr`zMN0^;W?YHUG94U=mQ=9xHkk-+ z+$ITN!|f6erVf)HHW529Os;^m;W0A_Z1Nql0ax1{k_Og}kjY^BostNS-zj52@mvsD4KB!K5!qHaPMnnF}U< zIp#b;CwxWD)lk5`A}c}pSEUpre@%)&``2U7ef4Bo)kkTPA|DZ%YDL`5TD`WB*-x)}Y|O z%N4NTKcovZ{zuGtl-T@Rsl}E3jwFHW@5ngN^gD?I1;3XYt7)bFAl+d9ALIfk`JE2#LB90FR?!Ii(tI?(txsRa44EJy`oy;!jh96g85A1@wk}(K@i&HQNfn!rK2!RJ- z3tT=0gAh0=jfqlt05-z>sZ5l@i?9w>O=F@IPMyv~DXg5X$LvAxRq5!1d&&$ZtXH_T zQ?LQn%w)nE&cg6xJ-h&`;HC^Ftl@kNKg!@WSPXZ}VZs_N!tf&x#%D5N4fnx0a9I`x zA#lPx3_{>hI2jht#~=juz%g)RHU=Slx;rfggAjNUUV>8>=rI|jQ*ti);BJSLU}YZp z0Mqly2iO5`meFV|WWpL|E@HwOcEb+XP{4#W%qwKV8ur4&uz4{P*05*^6V@=HhzV=h z0=K~OrA%1ES$Z%YCh0jy}t|k23NB zo`I|3x^gD0;p`PmSi_5OG2F6}32T_M3WE@M1I~pzD=-Lwg{v_Lfn(NS5CRXt39uBy zkFjuKr7p4X7`$Fe{8bo)z^T<3guqsK1{T#|5CX5mqp-dfgAkap4ucR_w@#0lLb_J3 zM<3iX>oCk=Df{#AG~8H^K?t0;0fP{D6&`@wH)0S17jD8J1jcQ~AO!A(8({Gk3_@Vy zRt!Sm5x5er+=f92Ol`m*1fGP8V09w~A#mn)3_{>}m;tMHP`}{BCh8a511G|qozyRQ z1;)edU3yF%=`nXV`Ya>A;4HYUS(j-rcMk?3@Fq-xyZ2%c0+;N=AOw!vk3k4Kl^%lK zu3 zVD&NT7o2pQ`UUsGLb$k%`UUs2=`okMucmhNSxUQfLYGQ78iS8ja6eoQOHR?w!KBl) zbFdZW!iqDrb1>~J?HoJ}(_!s7+BulfLH&YVa6H`HN&SM^=c!*sloxmvHeH~8!GbR8 z7aV<&`UUsHqo##WmWw zCA7oWY3JYxxC>U@pq+y=dT8fhC#-`TF#M>7S-sRRcmLG-3_{@eF&Kov!*D8GF&2Xmm@*E75O@NPg;f}S#KIZlF$h^qdjv1Tl0*zbU@tra zH&4JI1ZE~-5CS(PNz6LZas5Q}!953qk86eGJG=z9PG+JVE=Xpg9rnOBxGMz%3b;5G z0}416gO6r-5bl7>(=ecblcr)o0guC4xMms#6mZ&f3@G4PSPIwkmQe)f%)np)UV;nY z)|nVkzy-4~pnyGaI^30k0R_yNjR6Jhgb8pp1|RWo{9Ftu3TTJm6_}7IF~>-s_$>6n zy$`0qW%HOAh7;y9F$|BwIJhdCiQz>&hjN%0hNs{KShIkMVK^(7iD7sFw!%$$Obo;M z`AiJMYj7vrv5<*jxM&d*!!W*piD9@8R>5V3Obo*bipHM=OEk*w;!fl!i7gDmoV-qtS&#mJe;@Ti9!um;u_k$y09Dd`8hVF_#~Mo*Zx zjP!%OFb6i5kbbbJl=OoM%Sk`j0#jgl8R-X;%Sk_Y2*$xhD@eatlsniBYgUqeaQZ6J z56)R-#M~sECt~1n0(T4C0?SvUFHFY3qXxFaHL#LV{}nL35`AF@TmtK>&=+P_qc7}+ znXsV-ePLcL`odnA0-G`PNPo=3%Fmns_1a`v)*szs)0`s;}Phc;sg4-IHy@0bCF@Sldc{|Y;_QD%8xSw6<3yXH6FHC4gU)Taq!16ul3zPSvFKmZ< zVdXybh3Wgz7k0o+u>Ju0!pwu{3%g+jY&e9zFs}uDVJ|F%&4UZ5TkM6F1 zXb}^}FrmPdYS;o-!}3B?%3<?t^n-E`}X5;RQGq))kwQ z47V1WF}SY+};7%^VPzScdSXfz#q0SWUXE}yCumhfl^<^09z|3+CbznC<3L7x& zI0*AF?AQZ)VH0d#g`o~C!mwi_Ou(RH9c+P>uzU?O-Y^-1j^(f&E`^nq80x_EDhzdC z2b>4%t1;ApnKc;dz-~ANHq>IM1M}8lr~`Z9XxO|SL!DIOuftFW-h>z7CJZ||;Peg5 zyu+jLI4s*}%3-)>qZzZ3{4LyszPNi~C2Zb|zOZNu`oe^*=nGq50W9B!zA(7~ePKJC z4J#Yb7p8AVU)TXB!TKHO3p1P07k0y&DcsLa^o4o5&=>Z?4%m!g$0=CUjJ_}dgO08>4laSKS}@Ro;|^n> z19!kon0o{R9k}?28M6_6XCK8-2X_Zdf%UBz>cGrn80x@o7zZ1UW2lqN{j_1I1AE~G z*oJ1|4JIA=o>a z{!cgUExZgb!I~?yw{ZGZ+FLm1su{BrPP~S`umx^{<=4>{Cf`6`*bXaTWe@to^qc4l zJ76KK$08&TW?~UCA9lkzumQ`E888ovkTlo}C&Ol@R1;wl79nF`0u~{?lZYQ)gXQB~ zatS755z-0U;b~ZjMMxV=$0Fni?0^SgJr*I&FcXWA9k3g2g$-DSY=C)Kgw(=bxE5~1 zGGry3g+)jyY=cE`85SXn;5aNo7QjiVu9(U22JS@IfQ85yn3smW6A2GqgUwUX7Zy!J zUzji*ePIi1gXQVy3zKJ{FKma+uyQ8)!t`0_3p?NjSf7EuFmpEg!fv<{Hq1d^m^T-F zVJ}<+n={cD7G+`S0u$!BBm=g<>9BmhOHyHSwo4|$c9;Mwb6gS+(-*j;CyDss6}UFn zC0%ero=eWb-S8xwpYM`m@G@+HJ^8Mf4G^P9sf8F}%37FSfWEK;mcsf%^o5y=(HC~Z z1+ZZW`og>-^o6}}I>eYqc2P^Ltoed zkHPwK^o5x#uoQxPL?XLj!%CMl!n{>3*$jJO9c->}Ni{55?UL0nVU0`5VGCRam#lTk zVt5Va!@5eBWWy;{E}0A4;7oY7$`un2w^gHWBI5-$=nMI{PrBgtTJ(hr*P$=uV@Np$ z_rexfT!+3eu^xTl5!eV~6Rg?e+J>Q7N(;foG29CqVAWxln^$f0g)Q8Eov}dYIqI^;d}hJlDfL z@NzftUvSAr*b6h^<}R9x%h+#TBpYEXoCk|8xnwjfzT_&twO;@K=Qe1+4QElqEZu`e zQodUK8{42)1MA~RY>4*!Giq<3;q%zQlPL&BH1y#&>6b8^#VDT)Z{=Bo%{eWtF}#I( z!D}DcY_R;wQgh^f1`=JehT#&|@MZ>4+)}~NuUlDN5yzLUIO1K}^IuYX`HjFZk?EIq zRxQ;>#JV(wR9j7Lql`Gt8kE@Uo7y~M#1T{Dl?r>k^VUk)gcGHyWshd*YjiGZmMXPW zkP1JF^#EBLO5dduWUH{(og-%jJ{D4K(y{eBEvz|h$-Vb{|Gcif$NFuS+aFk;C@htA z+8$FP6=q-ddck`&dp=~}7ib=5qErH_~N^H0VUOad_Qu6!MeQulfo)s zepZjl7I%Ya3nj2BRN$J(!5;Ga6P|apud{FDv$yK#zq0OBU;2gJ=6*wam_3p{XW5$u zuP^$s5VhQ--^1QcPds-}S1XI6{(QCKWs~kfuwVVO)9FKYp<$8kpJ?~HUeX@4!VMeb z!4A~*6YVp7$K(01&FCP{SGD0^3f%92!5(ZLM|xO%_Oa7_byq9(DArDJMeoO5X|C(!)uKmuvQ)m51SGihO_!0IF(Uo+AG8a@~4QH)M zmd4iaW@W!zRvg9<(Q{3-`D!sab$(FvD_x0{VIu6Z8j>>RJR%!@VOJ#1p&_3rg*hrAxdZQkz$ zbY;b7G+Cg#SuTFJ?!s(xzs}l#fpd4f;5(@9Fq)lecj!Y|(7#eVtUp&TB(Lpf*bDdU z^=N;tN7*VPs?DPndfYob+AGol6452^c%2%0BNqNmh4*rrwgG=>roHevu%5QM_W?!3IW$nio z^fz`4WM?RU=|HW`^u`X<7P`VaqO@{X9f{QAz9@}RTD8}QXr*t+wkU0}f5?_7ZELuH zQIxh%HFVnONbluHZAxU+fkd7F@Rl3eL?em?3+Ec& zQ%SDkxNU&zfUXVl)$7{B!t!mu^i1RNpvt&)J}j_ath}i`Y}sT#bY+&?8gp6L|Fx?n4A&Xq2qu^h71P&s32(UDUB4hx+}4}T_b|GrJSCr&MRPtL3K@TKX|l<)%me#_0?avFYRN4%5p_$7$2EocB~Sw305A zORW+(*R3SE?k}@DhTFR&MC)>^RyPo?XXtJ3YY)91`2Fawc1n$x#TGkY07cc z?cEj1y3Hfm8f1p&;}g8vCeJYBdqTZz1#~o&hhX5^Pd+)ISM8ndJ|x;D-LqF%444LJ zp7`0Ye5t5Kz-weMUYg}8C+_>ctag5S)5n63GbNfGFS}{6O=_fv4IFa}cf6@BGT6vm zl^^`F?au4IIQq&Gebl6WcneLo-SA|Ztd#0zzny$TB_)18K2>*943}pyCMPa;76WH4o>7+W%71)_@=qexnbA{2v>cb0KIv+ghnJG=E_XFAf*<%F z9x;mEz~_9d#XMT~v!P}&wqnA9w5oL?{!xQQv3lj_eXNhWPWN}38gtjnO>G>XO0sj1 zk)xWSz&#Bb#mx2NKBg(zXN19D=C-PN2jJ66zVtEOt6W;9i8a3ROPpBef6m7`_hWQ_ zov?+L5KyTT=RdTkAF4wGd~VjQjr6S4wcB{+2Ew~zu;&lj$J~5Z@HMsd!?(XmXH8eX zruDsEYjC~$2lqegSA3{_@2fBIsllF;I{Oc@>g8h|9#g-3jwe=`{s7y`=`Mb@>jPOE zGVmOWS375@GzpJUE$d6d7XUB+)=txy!5-@4$J}RB=ZuQ_@^e>pZJ}D1`lvpbpWW*A zxb}Zj|L-2;p^NdLdZ2yPHGwZcT)8~o=*vvk!}*otv~8j9`0?^SOTAipdcx)NS_CZw z@do!*|F7MDh@#^^_SW7@BPo0ue*+c?AM)@vHD3Je8ImskT+wpm4o8OwR_)gK^Rvys zY`gC?L_0>|IwtN)LmO-OSaLYUP|dZ{bBMhbzWabd_42XS@nVA>W8mDdL2lN$y`8Q) zuW_N&!kdPlT9{z-*%J8X0f?`Z5AMS+S093k80AjeY*O6^j4n!>~Ef2FPZ0_+!DfYWbd*NDt2-f|(XNh)WlS z2D->9jRrsNTPoUDc?wO}eSv+^DZ%#r+^bb{m(>!@2eEtA_7W*ZG#~Tj8+-8*=ZfaL z+nFx91uC3RX(Kdkgr7Y{KH=r*_K27A@v-Bb=*cTXwSvLk z4bj@R!Ty$^+N>e|4MVlFL)_=_Q}9nSloudh>3~8zF!0 zqv5Pd>#hrDXrvJ0aQQ zzQpb)p1~XZ+L%!9sxWOqsHZiIy|S8U+hzVadw-XEr!&AM?s4=R4EJ#tBQ>5q42>B+GN0AVDGdh>AZ`4&Ms4)PkNr#9=R)U?l$e~?5X5F zBieV4klRb-Nq(OCVDFnqZ6Qs^LgR}&)d(5g3MYyGdMJ9UD!&V=UhL~lg0a(Rk4*W&xOwBiFm8;H(->|9e7rFRr{{f zR}GI+;~Jm$aM3f|Zy;>?=5K3v@dis6_uu8?_3_j9(k*+{MXLSA#cTcV$j=qJpLZR4 z{hZlhb%&LI;-K1pUwAQmQ9Y@YEc_*Rt*-snwU$J8bPW%8?ZV#(UJBm%s~ztM?GNni z?Yp9De?{lrpiwYTrmv?N_^>M&Im7j%i%eyV9db<_X<1?NWVK6)pU|D|&bAHCu(BT2a~R#%JS zC)(FN8F-%fcDuBHAGwq7!o|0r&zueaR=y3#5{s3|Oz#fHmrd$?f@>t=)h_>LJ`8u! zw4>8g+H0Ejny)d0aobVbLU@k(*ytt0^w+Zs3{(9fTAtgxB}6NB^K_338HuueFcbaZ9f#jVk^XKjrmD zkra`)$bGx~Fn;u%NUFupcz7+={Zxikc7OE_yY0)+8RFqlwS&Hl;pH>nmBy{MDD*{d z0oT5+f>ZhSHTo2)-|L;~VWSTJObznN9#0LjJA4sT`aI32wWSXF^a*T zr!Yj@;AIg9nPcx)7Qx#Bqt!ZlSaaW_0^$FwGS8(S>u&uP!x6$t;IxkG>D zA4k)D>-{E7qhtSA$ZOgcDd6ZA$*TZuBZeX@q+#;NQ3vu-Uvr-^$m35l0=h)p?6<^r z@Au*lWp%E~3&Ko<+>a8d0jb z4r3R%{17)S;F1uU0?yyDLJ!{;!stmj!eZAqSE_iw$&lf)kX!pwglpf@v~T&^Mf*V> zkq53DqU91-t{Fuw-DIjgH};wj+UFu|9Yd>BADEGSTkiQ))PHM#rnC{S=ciG>(|&9H zX5$Zn?UexxbxtjT(PKof(5E5W`TWngvzY zMKA=ec6k5Ta)W_1Yflts|MPIPZ_}BdQwM%;e`x?Siog7t#(t)1ZgIL9b(kSHwQ5P= z{Nw9%4_k&W;A@*uEl+J|+91B-Q0m$z5l?f4#?e9d4C?i0jUM%zm!A|ilMkim7`WaS zrw?ZMZo1m@NyQiJ_P!r+LT8TW_qPA&6g?`JmlHN?okA|SygZjO)k`VY-n~>GunU_3 zk=10f&}U}1+R%azp3tAQ;)wXc0A`FQno(@^I9J^X*G3lVQFQj_h>Ov+`RYC_zyF}m ze}~a1Bhh-9b@VYw zn4=~MsYU_+ar(ckV^maaERCxkFw4Lqob^E1yrwBFQC>LH8Oo^^h9DdIzrsiwxR z)SU*qQqwO#X}Drl$H2=d?j-XkR@~3Ay$WLu5>gjJ;=Zh!#(``Zlc;tM9Ao--)2Nwl z_LFHdquEb}eHZy%&gC&T-6(CMN6Dvqhy`6fZP#}-c$*>Q-&Gk*Rhee` z8TXy9GBnmTI9v4@q8I``#6+m2O9cD(@*XJxS~3BQ_cvx+QvZK>_lcppPULoNX8exaj&VyEXkq-^6VXlCWj_BHn>J3?8{j+Cs z@cALn3_QwEw=wu4|GVATU6i>46SV4H8F^txD%TfRvoCq*I%AbztMq#h`n8RIRYC*0 zMKa7x&gcUs3KkbBxAgFR^GkDt_Z~WP0e`-4|L}rn^K>eweNSh(r?bYd0^6rr?RNyb zaj`F`5zf|V8|;0C{Mx^1+P@8$t80H&z2d;NeaXT!o-?0eOS4DV(-GbMmOGw(i)m1u z>jHlMPUacvdQ2Psd0VIPXg5CaCO1w0LqPT>dttLLYH0NQp<1^$I%}v_9Tq*8ai*|L z^65&rKP_6D7NsO}28Ep*qLmB^+creoHE77jA==GBL)Hz^G6pO8lEF$|J=o3fLxbJ? z&KokMa)`EO2nlyfzc<*MGm6K*nla+wK0J5HcePPp4*VX*)B`)a>Gxe!78<-?*2%|7 z)K2I9)tW2x{7QS2=exT0DgTSww?+nj`_}578EP2SZg(OyuH-M8A(ROQ4W07;nCErv z=|=;&C=NuOkS%4=SDJZsPSiPR%Or6HcWL4T=T$>VoW17Fk=<) zH~9B%`seS_aha$4dAnMotGa20G31ACoU+@^XF6{IG>AgogJD}7m z7twZ~OmdmxHe2*ckCx$N$AHtVG6X3qDTschr&8D&$`RzvFfs?y~?q~-|8Unci>G0t_X&L!dBi*12g z2TV@UyVlj{7$0mh`n^*qYw3KGWiZ#R8gu+Qdp(Z~JS3?4$h^-EWoPPNFkEB#3H|O+ zoyPB-xT8#~_r>6|-J_s>u_tKz%U&l~XrOs-LZ1~U|K z&=|&G$rWP{9@c-Io#iZFldh#RFOxYNI3FGu3mV9{;5)HY zI9o>V<@drA-XE{1C{;MNKRW5}@G@`7{#n?Oj4CO6wSkkdbkoNKE>mGeXmqXldw}LP z-+rz|Fa@KgVFvK5TWPnwzBG3<^PmN8vQb_4gvMMEf4AQVWws+5|E;dbZsvR4vNKeh z8gkEB`fedr#Cgp#2tO&I?oFX=ZI+;JB5)5p&wd$EVrYK~m{?dc`Y6vvpwLfL=R4pp zf{|i1T6}N4OIz<6XI~<`=Z? z$NW7{X=#tYe)1{p+T;EePiga?aOXay)jsib^HbWKC;bx$?MeUmr?iSEU00seYMylM ze^RS|l5GhCx()qp6g}AveE{#yS==p44H{|oxnUZw-TZxLw_x=3??f+y__@>R|NVMY zMCEYan};kOuI)BA=~IVmS?)qq-V*lcrD0m0Uk(h@7DRa04AT}4idZsCJ2*(D4bxHv zPu6kl7&0t&n09h#^ts!$anTW6uqs+e&GXSsI*yIEN4DIq?Yo^Z6)O!>d48sby0d*+ zoG)@JlW@L!>@*z3Y=N>`3EPPMuQ_B7&6BB0*cP{!-@60FPKEL1FJIEfd9`9XK%rWT z%f;{Wt|)e_9PfUB-z(kzN`~s)9)|6YyIm!r+L@3+{GREN*`ZpKCsAFj!ihesdn-H| zUxc#d^?26|14ot`xl(zbq`P=QJf=tA)Ro)wM$~)SpRDK42kXeqzD*As?7CO~iT`cw zZST99D%keHHD;uINnIPYUynNKV$r=DoIh#2z+ht_jtK24_j}a{XOcfbO@iXrw@seO zF|cL$xZ?+t0p5w+yq)h-Ek1r?(hX0(Ph&gWTpw#cdUAZ)WcLOGM}znI`98|@omN;W z@_QPRctiDgxNbQ8E7iw}7~|1;3|@8_EBHZg2rcmgmjA=Lhj+shftMwv%Q)SSMOqpU zhmVerQsAQ$_$UQFN`a43;G-1yCU$ptG z&6jQd+UC19uY3bzK8{ZW{@1j-ziGJ#+wLEuj{5xzTmBnc{xfb+O-cmI??tZ0<%8u> z$Vc@d|2he%jKuQ4ZN-aaN#MXrM`IR5d*)e7Zb?6IJL&#q`@ExXJMpNwgCE)Qm+cE# z%R%$=`@nbp{(eKg+xPtz+HyyqLatT%Km9$+|GRd$m`4Qkd{s?ea(Dv&f55w#j8=z3 zzD5tY+wE{vnCf_qzexUq<*(cFr?*F4Bk${Hqe)Un43|EBFPV7!O;6VF@mF*6uA9<|+8>E*j7+x>a_ z{L{AkS=+5X8yLdxf96k3vk%1IM*Di_{;>KDq&Wlx!+$3-RbGSrUq`0OMX+4W zQ}yNlcgRQe;Xf654D#2$Z>5Wqz7uVCaQZgd@^5gBI{1)G3x~maD2ql_4}#@b_w*^x zwB?6iu=H^9%m3ov=htnv8}EVRcH2F|cBerVZ?HTG*`Pk;amZBp4fcNynY#C2c{CBL za8jZvm>dy-|34_#4}HRtYc?Bf{hV~YX1jyaH8`GfJ3WHsD{Ogx@xSv&EB=&WwjQ>A zToyQD?em9zV5O^5E>mpxcWr-)sysgQL(8AC4^aoxkAd{{ykyChTOF!?t9lVEe+8K; zr@`{Kk*WFgV0k05zQU>PN4^;O$Uefkfh>x@6}FyE`nTHd;Pk)yN7nrWx4SjA+(%gI z82Ym1?+weTDXSP2)>2#Ul-q;0+i7P`+HNNwg75n=PN;Hw%J!$yOdZ{}+iK02QnuZy z%&OzLS1f&gY&o@NsICo`AF$p!#nJM!B}K=oDEqMuuGCtkkn3gq7>UbW<^jZ{ZIe@dTVd8{p;ZTnYY zs^e?uKN7asa;Lm`U$epuE^ootC)n5DY5RBDvkCTn2Fve3uIgv7{7L(Mg5}R5SI_)4 zcKA-c5BB$K{Hb~qEdLMWs@*$pU+bIid11SiYwpxiUXg z{u@_WC94wyCv|N5g%z)JA7!@NDSuAC;gl_R@?-EDedovTe{0E|df~Klv8h&k6z9O< z@Gf=?S4V&6H7uR~r}Gi-yZ^`YvG({VI1DS8e$$NEbw_vgJ;_cKXdtf3o~L;orpXNdAK52W@%dyO#gkaI520 z+pW@F9izy0RUS{;a;29#u;C8q_wDzr>m9qA-`j2{{erJ^5uVD=V7Yo3=u6HQ7JbJ5 zJ3IbY|7evH2d%b!zjUa{RYYk}jZw%d7Le93k@_0@S^%&_H7`KqHxbw{?!Wi72BUv?s{zbOSXK1Sou98&hqc1!+P88q{DXG z?d1Os+wHVlPQN@@?)1yQ7jK2{q{n~R?%?!TWy_s%dK5iX84Q-Ia;~lomaFSjnGcq$ zbW|Dy%YV|3|KA{2x(557(T{)CU+*j4MC3}(h%wgvJI`6?IT@T@&ih8N+#k5cZ}uK;%&G6HmyBPc~^ehZMkz_Gi`V9 zd&932tni(5oMyY7bew0qophXUyPb4&-s6Jh(OjVVAy;hwwz^udKj-}^SiXYm)qQ+w zyrti}b^xkxq~uw4I~n|5w^Tv`K4WcuInlb_X=habTjfu%Tp9WIC0FgMD&N8Wf7y@x z{eI-{^&_9&k36*>d2T=QtbXL*LGI@-SpR*_hr{5viy-<;>5!$!X)zbnjQtnJ=o>*0jw zxGDaDW1oHAX@8w@yN4!Q`m1(P9ryC5`q6hqTHyzmr*~}m(>D9_ci2AvkWCe~I-L9L zwB^4^w&Hi{+f3W-)VBq;+qo{+c8{`xyETp%EPtKzs{G!bVuc^ve|&C~b$?E}I(+9& zOa9PZ7H8SlJI}H8w%bWZXZ&uTEe~$*gX4GlkNw4;^`sSVmK}d|s-?eEUsXD(xP#^Q z+44K4SpJ>#8ezMg{!D-I9+?>U6~2@H`NXU0Q-v*e+Ck_2ugjJ@?QXC? z=Xnw=cb+HTpK8VDl#jpJZl`=C*>2~4gTry2Gr@A_ITI{*o--@#a8-M!4wH)XF&HfW zZ{+I!gXKy6$X6j(?RBt!R>TX)AD(92?`!x`M;UUJ-@$U0d+AfYy`ON@aJGs!IGk4G zO8;OvYaa&W@zX7RRQXcJBHR6d<{&0^q{85@ z$`0R2PlryrXgOBAPW?WSZMmKIBWFD0dE1{8KC2xB%44uxEo-cDBv?MFA9=DZKWvBZ z)K{gC>I0rwVCmzuOHThRSnl-C9%8{BbvXCwFm{6_Z{(wIbv$IdpU$-?#B`%Ax0=Xu{xzQ0;y=XZbSXISSSS!BiQ)PwegmOJ?U;(6PjQxBZ?`DY3&|4u*S zH?}*tpHXFB{|$9>98Uk#WBYgV{}J2ma;F|D4?(^>_YNyFJ>l+PZJ2J?XOD!R?7>jpfh2ea&%;E%4gso$H+U##lQ%ryWY5 zNl-|t8MUO#dcQSMVu)o<)ePgZ*9Q@)^|aNeZC_Z7~UkgKvA ze7`T-@~L)yJI~2rf9LS0(zn+3_b|WJ5$rFL_EY)0_)o$cVf%Y^o72Jsg1a@2lCsK@ z$MT`LI{Nds)NYsFS#9~dyUHrZf3bqoma<}rI;{UcV9I_=l5)U4bI@X^%~uau?o2zp z*X-~fvddpfwH41NZFyLY<#zf-uh?#~DRBJ6cH6OOIkwwruipqdztna+qiKii_=rAm z1iQ;@|4zTgnSZ&X*3#<@`??=MRqo?#d2oO2xiyxCj-C#k_P5{jcKhAm`NMX9wBPeA zWvPzg+bw;a_WkR&+i9nrajBHC>MlOWPe;#Kd%P#bzRu~_59PV5#{YulBao|pz{5MN zcwbk6a&+*g>QS)#ef;z9ALM`SNB*~dN8Z(sJd+BiN>;F*owodf zT~2z8KlW1q}#-fD$%k=l?zTob%?*o%gb|Dd6w_o6o0xx%b_7*K^N)&*kxqlkq$# zX~oY^NgCDL-_w#-xmfMPy`pzhe5B7x!AocSh1*g5cC(~i{8lUZw5Ie^KGe-uIoa)x z+F#v#wZFRgYJbiBmHXGs&6?-&B>4MK@?HAU(8J|j`f~qsoUd@C>ouyE^T~cjKSX-B z>(cXe;D1b$09794|;_a`P`lKK0=;`CjEZx7=vJ8||52NI9ZC^gBh;y1(7;;`omE z?cYi{9z}USMuATwI(J8sOQ?OQN76bU8I+;a%u;0^VJSg`!eq^SO47hD(Bb9^95-~_ve?=+#lVa+ejM2x4(#_Ro;C>zIWx_ z{^~tU>QQ)b$Dwu@H(%{AZob-K!p2=UnpVY_jLeHo;6H7@R^A^j{Zc$~s-#^!vU7&# zN%!GzP#2YP^Y4}X_P2CKk%6DKTm3fY_sV+c)4ay{wer4tTkgMG{~4%@aM>=$aDQ|i z50$jG+8}9dw^7mxcdF-h^HtC7=BxhK%~$U{vUJz0KR=dy_3*E!qbbSd@KH@-_H2A zFa43{8cw9Y@uTvzQV&SJ;=@gsb2;iG{f=ND%g}dvJNBI{@KK`^nO;;C+=q*2`d{v&C{|H=pLdotIf@ZBV7?T5;7?)S>K zxcSPrxcSPreEAe^Px~=U(u(iZURNjiI=&Mmt>ZgW(mK9JC9U{J>7JY4fZ3q+aPx^T zqWtPpOZ(@RQ#$G9E1k^9_Xndc`l&t6%~yL|Q2zG#?kpJ(_r{ol;1f4r@r>IarFU-r zGng>KKW@I#yEo4*g@PfEVR_a~Be$K!sl@a^U+e7pGy-#w#At5(h*cWlD>b({0E zsG+JZjg?-xB?y@^?!8x=t@k+MSP&BwyiTm&>?c3KtV4 zt>bswQ$EAZzYQPIzBog^*M8hAX}2Hd``j+^O7v5?Z`I|TzddK0c~@|HnxrRP$>{}> zZkP0qlDty^FJMTNB|2@(^$z}A@@z-hp9^?8) z2>|N*Hkse9XZXDYwHE+>0Xr-y!e+A#jnD0yJN=|Caxd;YauJ z1(MeN@?A-*Tkf=K({61ck}7I8sQ~3pX_L)gE;>>u3xJ0(qI?t@7wYo#qIAql4flU!aPe_ z@ySL%;`+WO<@d*jv@_lOFNfrlT`{QqRj7mVYk$e}?C#&r$(-MDKR>sW_PzD_G3Qs_ z&Cfdby}-TO&!0-WJu)tDU9JyampaLxA@wU>ck@-B*CXW>zqeyz375P17b3q3`4fK3 z?T(ZB1_yx;O?rTx@2%?15BrM%X!&pK&8?0v7)pO*UTZEZNGgeTSA zc5!h3D|`n6u&r}gr_@>U)P?REN1mh@4aG^9_bdAnHhz5O9+ z?T^acZ4dIebiMT1aWCiB-Ota^a`#EO2l#pH&$)lv?$wfZ+x=MbrQ1f+I)COiu1CL9 zc<%fix5NJz*QaiK#t>eu~$j--_?k-dxNvF;b#57o!_ zI_18B4inte|B>6#_0nhOpEW;Nq5V$`dNN|fwZUdqG_F%3+25#FE2~}82PaB zcJ6n*q$!_Z=4r{7Y*Tj!m(y{RUV+wbn_qIimeaKMV>@}TwIM7{mU}$ zWl~@?3J{-i9By{-|1_=hdxE@o*SY;Y?w{N5ZprVEXIQz;7BI?3^h&vXWSs4iK0?yO=g{8ouUvkBN68 z2}x_acOj4Fd*^#g*WnQ4Szh`+&PS4el2-VskhIRD;!pEao_801YBgV;VddH{SVDpZcsVaDLkg zd4`nBr1^bB-iOuKo#b-0EBmgm_ZTVHPkn89E?3`AeP%hA>yqd8-8|pAk7i3+*I)P1 z_atBW_uD0{`{Hp)6YSCNso!zEy6-9;=d|v-4JEDn?n{!Mz@M8t<$JAP_uULBr*!oK zNy}#@EUoZ;p_JG0DSY1}`P$!JNo#*Ul(hEu6G>}-e=KRYzrCmPd@CI3v+X3#uY00& zo=%XowtJ?ewcT?ht?f>dwA*f%wpa2@Yg(V?Lmq$cM*KdkTSGyN;hPt1YNt%0SjP9oklUz>W?H)<%y8l+vy6%rlTG#y> zl6KeqkXEi&*FA+bqV@f)vYkNaXpZe5d2xCdKW$;|;5? zQ|7H#+SC3iUFeYaJ@Q`RN1t_)ANIaWzCT|2#abF%T`g(FR~Ji~wQ0C2P13p^H%VHl zSAXSyBjvTdCnT-yt)J$3I$8#N3ZC@t+fM!^$fLRJJf3G%$F0xq<2b)o-mjnGdUZV} zO4?nI$`d%pUEg}iuh#eaL?7sg|pR=fw_*F}KDklxuHEI7X zJekXlmi#!LB>%bjOC*0QDX;iphNKl9dnB#<^>30^{P2LJUHq`+DW&i+P0}uWRG-Wo zrVAe(lAn=hSh?Cc>`_-Q~6DQtlJUm*$M7D-BFjDPv;+l@_&SU z8hcji*KvN|>4)+WZoTS{;pU$XL_u&|c{Yzn`R87#m$@DI!vX-migIJ6oZ8!FNLt~y zAZdl)lO(P1+au|HP#68$B|V#yM&s^&`5f*K|BpD2sDNP0&EEm}1b=S6`ct_1r=l#; zayLIG`L{^BI=?-V)^*nTjhxFpn}P4>r}h=MUiHgx^VKiI%~!vS7o`4exq3tLE{${R z^SE7|@0pU;`CcSxoo~0Em3TpTz|B8CB>w{B(_VMWUxR$=o11?&@(5ObMua~sN2{o~Frg|p2h?c%+elCN-)m$VBPXG(q( z>ZTv@Z-j%VwsSkQhv?TNX~t@>GXk+te@>8mUEk{^t?PTMq|tr*`?;hQPSlUg&8P9w zy1V(m49TZ>w=~ag`3B?#)zcV~uklOWdM2ZOnmadNV;- zo3DOwZoc}Xx%tnaJz6I>U;WXP4tL$bE4$~nxnKCi{xq$0WG{KIaHMo(shnCDUV&sLJgGTL9A%&R0lKD6=??pJ^H{Xyyj8MVJZ zOIq>77cSxUb$yk7xa+&MlvB9a*7;81B5a*{rN5WRcM3hHNqQ6M-$^4Fejky1#YeYD zTA;zhM`7*N$+|s%DYvBf@*GSAwblDQ&R723Eq5l$5gu{#X`J-EoBx88-|aH4m)4qo zZaIouLG<0tAB}MnK6CRgLO${9zms}(KHPPEN8VE%^m_^a2oLmJ$|FZL_NUMGUvqwD zz0zm9q&wt&buYi~{yon;r;7Y@<_DZpFW>32P10t4e%~u`liU8t^(cJnv-1uv7uMhE z-|}~1{pgi_?ZWMmm-Bk8FXL~Lw6^;{l2-V0;r!R~p1FAV+++P{UhAI;o{!pE9!K}@ z_K{{~_9+KaMe1iKuIvB1L4~<72;mLyJ zABMl__o$>5A8mgnf2Zr??z0`_z0QAs<@fkO>Ar50w4U$nZ+%Xa@}%RUpS!*{$$K5= zjwnNO|DojTI&A(!?uXLP@$w$iWq-TMdzw4?O^~$8-}5A`^AbkSs-KjV3t8`OS?4>Q z{yZ*eS|j>}@e|drGrY9PvttKIPvmFse*ENGjOmd6xO%o8@k254eMFwM@~oGq)^nK9 zVdWQJmj0^#`9G3YxNzt9eR)4mD(v_Z&r?LwT5s)7xc`~|;b#~fF~XiPGM)T= zk37T5MYNs}{;gWx&%BD^XAkM`agtX4Y?1J5I-W52$Vh!*@9X+`U*FIBHsPnzS95>) zf6zhnn_$b$SN&$~HC%Exl%XHlcWBR@Ao(g6(tFw?Za(Rhg7Rs;g7Qg^9F)H}B%kD9 zD*v$bNA*i@VFMG*AAT+OU-O%hN8`;%zRtrrlGc5_AIcC;_=n`HK8n_rzIXF!oI&|C zPRd_!9k)chBmLr%CcH$y)9{bV-6;9mp3bYAKM`dKH@o@Kko@V$r+ISAUxGXu=R?x2 z(igYfwI~zRzhOdG-16%pKdAf$A>}ub{0`YKs=w=X=3{G=qqTI~TM|-l3-W{du?+b^ z^Op`O|4pfXhad4e?tnhfkL=I19}bj!r7LrgNAn%FpKE2mMy}`j6kp7ew9+G$=Q@Os zSA3|?>i;l4(`UPs3oBnM<@MPn<<0Hf4_7{R^Hn|$%HN*G>(rxmub}*(@@n^T%d6e% zV5wi{s~~B2zRr?->Jt4lt#tYv=R1{uJD*@oq4TTH?k71vBhNN@hLx|DdMba(^Lik6 z!!!VnNLD#a@+I3#YyXar_c|`^-)WMsd|6u3x^G`W1q6>_{pxs}#}W2EBK^*Ealf@c zy?^2Fw7(dJ{k8p-^DCvizCTaWTFy;Z%ln9YaK5B1PmH`PC9UiHh@^EsbYHmby5%S? zCC$eN^1bqx!|vwsjh6QRChvJSVeevN(|0>aIh7yxku>2H`nlh2B;Oq<<*K+?S-H)m zT$_|ryfF%m(iq+RNg?_BNd7Iq=JBjA?R807`~Biw{9f1NQs@115Znk~JuUf4r(P5I zQoTd{uecuNtNN?=Mbu04==SdgX=f+tZ{3|-ukN???%}kqSAXriDed$Koa#DieO(_2 z{0`@t?viJ>l-F|l?A?>gg}pZ;_;dxN~Mh1*D(Vn1us?W_QJs8b}yHD12+U=HhA}CA0o$-(Q;O5guv`W|fGfG#}3Y5N)S4ttE#d&_$>tYY|xk?VY6)VibATmOq2 zY`9V7mp0yH(~8YD-(t%ze`Tw!x7l{PNQL*?-uuh`F?xru?zmIM&J|;j8oSG`6;pl096G@Sh^Dx&+>PMJFG zfawP!dC>o+A%5Cpnc-`2ru}>03hZzEhSPr|Dn_nD&;RP*7Y5n;FnU|JSKsuwa$?`_ z>-+h>cMtwv>9G535d5q8-*(bJcG46Fn|@mUYGI%>T@c1b)0aqE?T9PK@f+nc>!)-7 zlrQL5JjK?p`U>S+xD?{6$$OzDok4tX+Hdj9 z_dcL2!1=wKO8O`KeMIbrZD;U`_lUf#t=0aJ%T?>SoR<}{rJdPaU+oXLT*s;W?2-Db zzsc#^RV;~A-oWYZM*gnz8ct_kQb~pD&5Yvry%#eiwf%y}*YO@hMDs_pxsw+evgc^`um*je46L4?Q~A}9?tD`O1k@E&aYk0{p~66v-)h=Q8Ewa zW~uKSezvXTa=l0JI@X`c8>L##DfgVn%jL8`9X&ih-7=p& z7x6r|eT&Q034X1;wRD~J`<_2=dp)x5^?xpfS1s2o?Nkf=^z6d@*7xR1oUXr~+sz1~ zQ@Cxb;ePdefy-4cW_YUHn#b8I>mL!g?0uX2)$xRsdx+<;_dC2^YTs{@{m>=t*1p2^ zcOA+Upi}l?-49CPw`&-~XWI>2u2=SP^#y{-b>GVX^*pnVw^QI&)B3D@o(W=oC6Bi^ zEd=OmJRU9AxslAnQ?f7QMWw)R`vp9YJ#X`RR8Nue5Asv%sgruTG%5V68z91c&&S9UKf2|C+k%I2KT39uJk+3&w4!%_|MXDs(zwZ=BrNp zGPK_A6J?)DM!mpkU7~bedhRYAw|=kB%AI(gyS~li*Zi(M_`8VU|F)ZX-D~Fve67Rd ztUgoVwoUN5z?s(5{bQx9oKqR&{`K6(c((RTp5Mw_c%Rh^9C~mn`E>&4=57A2u8Zrb zyo37_5qPcsEptF!KVtZ-6a3I2`@HsVybhfL=k@K}|Bj#W_#y(oZPLH`r-J9N{kJkd z&vAY2QT|@X9T~>+Q@a6=&&a-w$hq-$(UW#<%dI^If}`^E>~C``5DzTmOWcBOgWcXn_+z2kU13Wq)CbAIhb zGXKX5Tu3|ZH*x)$%eb6*i_`5&7X+@`g#NUj$m6Tul*{ROI+k*}b{Wri^=QWHz3Y_1 zRgd8P&J(yF?a%PM*ER_rkqYY-Ucbfg+P;bG*B0sjhTKlw$@2bo!FTdq_s@m@Ig-ow zN`CvUT#x!aWj5h@I;0=n(m$pDJwpF0ld}Jw;`#27`RX3d?Y5`5o{ZcZ(;;-Z_El;B z9Dy$xU*?~s^AZuhsB$dNZ?Dj+&avFz?gw~&yMHI^E%cymKTc37QPDf;&D+L~U zPvv&%Pmyu#!ShmI&GVXB!S&Y(edv~b)GmB>rR?+ioB6v+fx~WroBC${zT-Pwzs^JF zMV#(Bn&-W?p2y!Sd{W1HJipz~^L%tEJ{J1dl@+{shV)zb%=WCzli<)!;_aU>r*fA-ad-^t?wg3x9fy&Y?E@; za$c)m;xxB^!tGbfJoL!E=n{P7)i*-w-$}+J@`1`XwQuow+hyPN2s}mv{=2T?`HCDR z>m_j1DfqKn_>OAD%cpQVZO`$z+p9UoU3)*j*YaIyPS+0OXKyp(yU3GVzFp)kqjG?JSS{x%+m)Ui zBX~m2VP=jMIwkT?m%w@TWSNhvO5s5J(5Rw`n(h_2?2`S` zA^qvTjpwuSr##LsrFZgS`z`#wQ{>a$1>An6-1DsUcM6^Flz2QDS?9`og>UWV`a1+J zddF~Dzwfver(y|o{mhjahx zp5S^q1b?;5JhdHFO0VjLkF0)|=}D#XW1@ek6TVaBfR0zV{w|?w+HPhU=XY<+?e=_B zIzJiV$E!u}P%rbMv#f zuA@cPH^u$a{&u}7Ueg!_dWZb>NFKEB2|IGdBwNVz3dkKH9{CQV`-)nh&_R9Kdx=Z;$%@F$1 zE_5n#BF~GiYqjuSsu$|+;&v*9PwfzWhgR1va(hJfQ}=sZzE1F5hwQudbA|2+U(zOg zO1Hps_wds3w5vX7U&hD1SMmFd?pNXKBBGz^Qa(@NSoAGz`|-T>2)(Kk`m6o#S&!Ez zB7BbK8{uc`1aDPdBXp?1@X&Sy*V{FR`xOy=T+i=0zgp(2UgErT3O%V8d8$j~;O+~A z9=*!-bPM0mA#zK#(3{B2()sC@`XWL{B2vCn@J!nwf=^ZNQ^oMxE^=h;+1zfg=+o*% zliRKHdo_=@L+Eh(a-OHIB*T4=;K6p0CwhcVR&T}ac=ITKM9vJxuXW-F)gk;|ozUs_ zO}PJELf_r`I{(9XqF3a_o*#36yOs)^+`#YKPLh2n`>nc_-}k&B>ol7CTQ79A!P5Rq&v!sO& zY*)RUz(<$z(~dr@SM-_fvY&d6<@zJK&t%_qpUmsrF8HGTyF5=u`dKS@rt1anN3HM! zb%LjRL{Fph->vEKTyM9^@xu3HWZy*2;QrL^%=4d-{aJq&uWP%M*LwBYtMD#*r8dE5 z)y>>L-8XHbr|uFs*6-_uuJ(MF%WHl{^rvmYpH?d0Dte5}LBgL4Uexa*S8;zM!bi02 zCiC=l;S&Y^Yei0}e_HmlR8X&aTUpOeoj<{k+D_$*yua$65_#w>Stlt_c{9_o+Vy0A zUBd4>KVmtlUFd&A=w#$N?q9dSgSOMLC4Zk0`ey5Xip=A6P&vI#_PfT3?0u8rx>v@X$#eNi zr9&deSMO8`e>yJj*~|8)+PAr!+ULCY{ru7K27kZuO@8)%$j^?SvL3ESo{@E?+M3?E ziSxIUXRWp`<(`x049TySa@)&O>)9(L{|h&B{lm~2VZ6hn9!k^iHc5x|Z!`IRYp1<> z>DR7K{Cx{?l0ezm;$EyjQ-%PhAgPpRn<^O8vSX z56F5REBTwsc)KP4EJ?fbaJ=NZ^YF)z{EW;ejf*(Zm!*D6)309ONypXo5s!=CmjCa* zchmYs*D!{|u=%Kw{*IAnhxB8*q<4^~!r{D-{39fPnLMwPdNPvUQJxP-enHY-l;<;& ze`*L^d@CgXa{0bT=2!b!CuukT1}U%O?Ui=#2&w0hkbGU|E#2D9NAcl>fS<2`=g11OH~cqiftF>E$8cALsktKVqtj zev|&g^(mdKu9#}`PnYkukmpJ%ccGKtCiz!MKG8Vp+ZmE?EA#yqd5_!kW%c>zO;T@{ zJbR>G-FGiZzRu&zl78LEe?!tVZt?-Dd^flshlS*SB;RkN^-8&Q?`Qh%u3M$#Q+xF9 zVku95)2~y~VdJ=8+HuFXg;Q^@Q|~C5-{uc^e7df+^4)&&oFV1rJM|qFvOX@}bJIL3 z$aBJPX}Z6s(m%Jp{_4^1j+Fkp^ItFd33*;D<5Kugx^|t;my~noyCC_e$g@kzpCRds zdA=+8H%hujo@3tU^|?dRJIGVv_}-BG-%7qa-X|r0oWiHzo4-iDJFb67 zKEWedFsr3M>K_*o_zByub+Qi?U+6Oop5NE@9^n1bF7>Y?=?&zm@#2 z&SR(K@8aa&Ci(kHzB~S@l7FZ?wcR5mz0Ao^N&0vvU*S-nJIgpvmU5l4AI3TPw@Ln~ zQjYK@twWdeTk(6Bl&k%O;boFx{2UR!@qGDS=V?pfOTXvjM117q-tIlzN|(=gUq%x0m_Ue)dG95fRJeBM`7J5`iBnI-gS=n% za_ae_Q%ob}Q!rRjH_q{GI!QocXQ>Bm`;KHte#zH&!r zzg-~ZT>N>dK%F49pBpm4=z2pO6qmZi8+zvkhL zH+5b08Ah*uF7>Lu;V|Kg@AI`s`zs^){Bs}p&Rb4? zx8#2!`R;sV0M@-Ncd+HZ-PP4*P|8QM7L8A63J*VRDEB$@v$O@FFU!i@Zd9r?liRWV3MAPJW zGMR3usmZNM;r}VwhMB2UB0D*kZ=}3jtRdannoiZ!WD~80d}3uy&HO|nmCwdg`8kxH z+>p*DYHAu1$t1mMnub64QzDx{RkK@Ci9@q3d99k>q78b?iLY9cD1IZk z3-XQWLVkXHMb!SxmFEvLiPZ8KdSS-BKHOvz@y1v#aZGGa{xp@y*VMFRYHDU?mQR?{ z*qE(qXpU#A3gahMH6+uyLN?((qvp`N?6XA)Q$jYida*Vi@7l zg!yQP3e$o~Kvl8E#PXJggn41sNK9QrBGsr<*N{#o6AgK+TnrB=gf#%V#B4ak-|ZmYSM$E|$yF_qhf6Y)fis zl`K~OEzV3~s#Eb~)a;Iv=u6ToV@>FnjCAxbFz#%+HI~R`)7i;mv|}|jg;Wcc*z1@4 z;Q;{_r6pb0l1b#MA_M+tT60UX(S9_RhenHTTdt{@P92Dval4N&xqPf8l{RNxFq~!_ z9chRoE7_7-76X9BljfgyjWDh840T#(9+QJvsi~3Kv0VzDIQt6lQ&Y1zp0%x3HKlmq zfgg;GjEnLROFoL454#bInP4xUjsXT@D_Zi+*hjfUc6ppYfT7WwK|6R%8(=wV{<8f@ zlS)i3OsXnOikiADN1Ee~6W~1IgvmPrv?F~iFvbq(PUX`xyL(-2(nKB$*U+43Se9rM%+Q)>l`Xy~)skw->(YgT@YM9mMB`lS zAD+rJ9Ah+UMx8O-G$!)cqOqn#JP%ZmGv8h@+~niS60zoVdYO4@{75V+tzkm@hb=>R z3!RyKU<#;i@|dweMCPIK!?1)a^D$tQYH+z)8UVhj9m z-H|4fwsffhbU2=s%^3`{=D0V8nI)_8i5!sz+WqE>6DmxuWhuyTtT~=)OeV7C-Pf7r zumBF!=5HRYPAz~|CO{DZU5zo0bN%v@##coore?5_LCV%URTyNSVvNHq3xGYa*uEoVo&d5xbaJ z)5&8j6}MfrI4Kj)f~*i7py${sp(TBn!i>E!W~50bQoyiLbIQkHLWy(^1s*a#`-0Gn zF}pN?W6eieCRIfWd+q@me(hk%6cGnt+*P@JqIDtu4yRO4&mCbBD>Iw<=GTDMt)LcK0c~Ef8Oyzyst!gKdBZ?#^xd`&a@_a0_g5;iw6U^Q35bv-8qQwgH z=kX)Jm4k&?VZp{5D*hM{jx&FJ#q!CCbd$MpibcN!exU@&d};p*%bx*{H7sLnW=^^p z_Yt%JaxuZh+3v3kGNGpHLELV@>tW{3tDp@5B4+-&)krgaWxOH302`3_4a{QJtPfmj zIhFDr`q``0UZ8qll)&**ryx8|9HX!VAQm zvSkC`0VQmF`v?PuDGP!FfQL|R#eLiQqI}aN>Eb=V9bwYTc#}wxQ~`Xy#d;7~q}ZHu zDl8cg7(gvP=`Ct{aR-jzh%sZO8i?nfl=x6`IEm|KRNF9<1RUqh51x|^ohK-!y>P>q zNr;CEqaknFUu9a$eYPFKA|H{+rWZ||5H(9v=uIIR1Bq`T#?(9u8sZa+b?uZy1MVQ# zlbWH(VulH{2W|nHK)M8o1!<^tlJQIiV+{rp?%%+H@O*%DHsKc`9H>)t7BxR!NTds7 zaam$j%<>9FbmIrh5ISt9AP_Wkw}p#ws{6q5izeb8team@GLfGtaK)P9P`Wf0kq~&f zG$336=Rt@bxn@AiGUBb8Kng=8kC71NJXRxcv+M^1)s)W067hy+SrAunD)Lw93|KU) z3xa?~Dxt|Ow5@!sRT1HT`^T2S_w+(8e8-m!H?df@5n>>tI5RaroRG5JT2XW4gnl-< zPP*(L6}FZIlkMW-3AzA!llgplPw21+$wGdGILgx=C_{xbx%(Z)BuPI5q;HqXybg)a zLYgpOEqm?}wmELO71vh#6d$&uMD_4TpTtiUg68gu3Q}JZlbwRRYPQ}Mj5d@HmeR(E zD?w4yk@tbZ8bN#1eD4ehJS$sr`J6dE7-~xzNVnuj(yg;kJLx>f%=GxVoP!GSY@;X_ zwi!OcEC-`#HvT$kEUZp2#>CK0GAk=SJRF;W_vdYn)i9 zKY`PPDlgHR$*%$#ce%~k(}~uT3fcky=1(zgnJi`|;o3AGY7XP>gHUuRTYu^TKrDEc zbZcVr7|RB-uFUQO(Iii_n&b$*1u^{oVjwWqZV^)$Yb=1dAD+*Vm`1EAvp3h0uVLZK4uveo=lcr4v<9@hNCnyYOXwBm<8e`@x~@I{o&yz zol35XEuUy^-vJ~(iDea~`jguUhs%{)7HJybCMOjW41u8K8seD*tU!gOMZz)i5>(re zPXM{(cNg_?f>>zt8s^jEPhJ}##GJ@gkyNU*Z{|8OFfSB#)tp2gO2K?Q3?c7%J=E{e zemUFvilJk+_^gVGM9pD$LuP^cJl_l< zH1N5Ji55b)kc(>wZCI=yN2?*aZ<~*%(W?_0+B89QM zjiVrfQgx4bd%@czrP}qr_QLBmBMlQIT6%LuHD(Ijv-z-8H>yqfksl3lN*?UCeMvOY z;(w1HS^vNsHeIai17H zW**IJdwaM~M&6gT&tdl-d|GxZOL}*Lmvhwewqt`~=WbdLxGRknJf;v&T6|_LREz$} z0+g-Kg~C}-qDRd!yAmafgNFo1&bz*hWnP#T^-0tm-Up_!lDv#{c><8RIMEQG&^RzP z4-m^7Q`8&)g$+$?pl-mTB9HHgnz?118~2#4*Cj&tp@$DQt-u!Mtb?&sElZp8v1QA( zH~kAepT5C&b|T&sH7}kSxZRH|f@-Pi0A}wU)&cxjvo~3UEn_(uG&5?VAaHS_{R5`T zQ8W8h+*ne`X9_U2VI#wOn=tzgp4lmO*X3(KI)1<0$JPs8JnlH)o#Y88)YK4{NGOn0 z3zqSYnw2+MqA#EozIZdNj=ujzCfg)j9r`b*A}~V(bC)GzLa_b650hh1(8<#?~?RTR7%O)Ud^2d+{UCc71STq-bTl34Hj0nQ@06uokGpd9!c2P5a`Yp5=h7cM7aD@08CI1YNa?Fsxm`}%Jf{hV39y(p?4zjJ?}G}6 zdYFJTSm$`MploHS+mMovax1Za(}ZeJqh{x(@LBRPksdFn0#6IMJk`_`kw_zaJ5~}2 znhya5jvHTX1O{np!rzP<&%U)p9JT1m-$zS(7dB*oh7$4CFfMNM8w0y5+s|i2F3%|? zg0GJpX?6Ra??q9`7t95SHRHGm)B#o`E=i|hw?Ff71#%7{(wlJrB!gGt5cmuVaU?Du zg0~fnvH2Dl;|DF^{AKwtt6$6{vaM$Sgq^p>$$o~l%$m7|o|6Jz{q8U_O6~q3t}$CU zW#M!)`ZN)&EaUai>&DEPIoDiEdbm_0EUK;&ZU7wnc)*qw-x^!g=E=Cf&U!X|yqY?u zGL%bNj+L=oCceVzO_5kYe_KhIeJi8pvQ5R7=b!ljiwb|Z-2jE8$OmZPm`shG$vd zbc$iXdmtnLPvHFZKjAh^wj{Ec0uz{V2idtNSJA}ULHsI#Px63<>cc0WZACMRAO z%2}2$JoMeV(pgqpotXqzV^S={SHzkc&6comVD3$h6d|N3F6+@}tOprZYgOLnxiRAP z#MApgsd7uGy0=HMo?+b3%^sMzhJwXl6fFJ{WwJNxj%luB;V*F%lRJrKlK7meF_em$ zy*8G~EoVL?XQ0X9fQa~2v+3Q&YC}G6z_JY9Y<>8t7R{~L zq!8W-%`%p)A{P&GJn(6i*}&-e%L+PUjv&D600i>p2ceIHc`%<(nmGsh#2!C(<3j^3 z(zEs-^uf*NGX}O-?koBvYJPO&Fw3ISx)k#9B{)(*8WC%*yaMXBAjd*K!tpt(u}`kK zX15A+(Da4#r_4QI-kjK?xl5Ne5k!7rmk>IwJD z*avjiLPYFXIN&52%}2AKVHLwvfXn8*Z?Qg2X`Z3po44@&7E150xgS0ogz5Rb73@ci>Ad;% zYnETbL7;D*8@}Y3I1XE|32#YaDV?XF4DvU_qb|NGnT9ct$Oe%AX8XhF4mb5wA!9B) z*4F8H=mhD4?J=9F3vpVC$kG5or7u*7KAb+c!dNt8UVR^;dLj;+cPreK`Ha)@3Fg&* zli;=#{v`<I!0t~i1$80BZOwFM%+HwIHR0p{ zxnrB``)ni$!b_az_!X1`_@U&(YJIs+ga$KD7So*hK28*-Q{-};PQuB}I&py=F*EM7 z;&K5;UD9UM3)ampX>K}uxS2Km@C9bQLg31lH(ECN;0zn#AY)xJ=?_fpN$2-fS?B^o zJ3e&hsG#r_=G7WbcC00Sb?8n}Vj75W3_urPz6TmMC`-PbVs9JkX|)zIhmU;u`4dVBP#Z&gMIg6O$c)s^%1f z_}n!@J(u>svvgkV;7Sd9zEPKX|9#69s0G=7<{o5KqKP<45Lga&NjL{Jnj034H1J@} zSpo3VUiW!fAPaF}J?=MtoiHOsa}pdqtaDlc9?@of|9RU3Q#cXADArG+=wJ+v6Pk(Q z@CP?a^98sFc#f+>$S9hZzBFhl_fue79)u#Am6A$<`jX}s45?rX2pT9tJ!m447dDXy zbk6!6JlVXH@uogPY}E?cL;Y9~hg`J1YYse!$%T{-Ns9ph-Z*r`WIK35X9~GyM&1E9 zB5J<0au`MzZ?t;Ig$+d`7g+8WrdF6%uvT(lghY(|3Yan>#3C=zYHr#9Y(_GX$i!N6 z<~y5>G|bpfPPQxoE5;|u;Zy>{N=*$KDBxTVbja`{BIo-fAV`3{XB1fG{Nlr2B@O@} zv_A|a_eZX-m#Q z{!2Yw;JMklc+GRZ7V69DK99>Jr#L#+MtYup^>^SWSlh!R2F zXddt5N@5EL*G0{abeMVxw`7)2WRJu# z83>7x7tP79`CQ%t8Q#UfUh6{dK{#JepY?Y(Eo#0Jq6? zGUc=jZ;W0`c?qb4NL%1{AntE}`%X|Ea%jxmm}Gl>;o-6e)}ddqMIU zyD=f~!cazmFk2ns0eXQ5(88l&p2z;iS%sAd34jA+=5*LmbE`n}n$od`CFY_vRsO7@ z33#X!g=8Y$uV}1tLq`;!i*Pu-F;dyp0sW;~tC~P%y2+ zF{LWP?qM{YdSW4JM!(7EmK;~MJ#?7uty%wz!=XnI4WD^vjy7wTKe1##=I-Aeg5Mt&( zUxhxO+cld*sORH>*s_g!?v6b)?+QNb%ea7vpl2HAfE4Ub?jvIgc{JL{` z*|#aCq*h@|JPSIds*pg`!30FQ*5m4wK$nf z?ZtC%_N*UyO?eW?4vw+S9t#Q+jCSVJZLSegpw{L2S)}#7T!J$kEhI)yR%c60%ylsj)lozQprLF>40#|1hEOSEHbQQL`9PL~Im1II;uL;;gT2-8adhmJ9W+ zyXRL{o!&=iKc|xif=%<{Pn7R?W@tGS1_n+Ra25Wh57)3?wD(N)p{yh$#t(rqWZwFv zy|!FAd{~tC&2wSGguemwAMZ?JbBuM&{WF491pC*~p*Vmd6nN!<%Pv6x4hf3k-(TX9 z9k>r=u6!F|akwdDaI7@J)>pAPH^M7{ z8O4$a3w^mM7JU@C-GMTXH&qQQZvGe_q-Zo(S#L3L#8eG0s9mU1`$*J0$01N5sCZ=U za~=Zq@;xieoGCNs#-_|(2!G#cv&CF!Upcn#bTrZOUy5Y^iam87S&2Th~n05X8K*F3;WxEqGoW zJp#tf41RBQ^!XirXOR{Fkv<&iOUi5Sv>!C1rpnqAy_l{(!U@=(+yVz` zo+sZ6f~lxE2Tn!}@j^~c5e#G-PnaM)UTC*wAx;BuX&)gPinTHwKj)}Gl43SQ0udZKix&O||MpehGltRNCodfb*hL{7ZS zih(%n5Y8d0r$?F96VMBJ@2?2a&Vq|4()ctpsJ1A!M9szj1~g{j?MA_}&APCg(3A^= z1$Ele#Ub@>^XA@@4^(=VHSm-b{&+Hqz@p{?ARLmyefZ`R9AV=r0Kz17b)({{Gj9Gb zJIXz1fcyXBfcK{{Em3o<9)$$yCECSey>B-)`NGLW%?h|P#v2+EnfwGZeu-@4@O>OL zZ}rUu_-GM<@>paU~}hC4rx5Q6Obj3Yqd z%+2+PY-`OZjW~dwD=ft!Hqq_}(rTeRET0v_jL!-3leHDV0I;l(nSmI}{!qkcBjQBX zi)!@7er!v%6U{6$F#1}H0&C8|p=UbC&FZwnFR=t1NAnQAKVfco3Fhte3aEXdX2!Wa z(T&}_zIb@GBF&fK+sNuNJ2e7$+}d}tL(gJr((79h>K2QMZ544kLETEsj65^Gse zL^F{YFZMnJjt0G1`vqn-)Ih`($GX!G_LR)rTv@oz54~_opo`{i9H9XR-E7W%Q36m= z9HYsi=BXNkkW!$f$55z8$SLBSM3lnb6!D)@b2i*C5v4Q*V z4Vy~oRSB!h5Gn^Mu&A=iC(v@);EC2HR$lrve*U1!!#)Cu!JR!ViCm~=n7%$(fHuvWbyQt3Kiz9av(15(41F zX|sX(u@wg93sq{@J^+F5mf}_m7_z1i?(_We)f-(ZKL&O&vf%%a&xp9Hk^XSOkn+@s z%A`S)`fK-7!9fdv5re`R58SQesjiZfsjk(cXfh~zy{w6+k};*O58=qlqj^Oitk5G% zqjA<*;@l~vK@be!w31jPMJM$@CJOqP>9Tiu)D9eOQ>27eIxeHq;s8l*N_v!n{K;`& z#mrLu$N*SGTY2yXH-As#gg2t=N<{I$PK6~G@z8~q4m47U`BgH|G8(=jIv)$|9TKF! z+7X6{?9!Zheld%Ree8)+p&S|$PdxR+P;bRcRRiHup(r>=o-S>Vl>iMN!jr$yYUUwI zji=b7gN)YaNLdt~fW9?%k081p`56Y`_hJ-0b7YWnAss9sPrn0NLc>VzjNk}hg<&Z$ zZ3L5EoB>?|L5-*N?cD9jIfYcz?AC{7+1I70+2AeJwm}FZMobh|qG3L#7;0p0a5=13_Ok$6Fd0!Bfg&4 z4e4!G>k`A8*##EP^-9jO@dt~`d)a0bd6>-n0E(8pxfk)7$pK~w{+>QCj>4;3{_t># z?UlXTE@~!kh25kgKX@M!{mt=UjNmjub`H7+fR1D$#xFTi*jQ0(peJ0kUr}OG{2UDS_nTdN`C2WuRgX+d5j_S%=q4Gw+ z*^Oa~1`Re(#zkw>FNOHu73I{(Ag)l2b!avCzn$? zP2JeC6nJ6Z6(xkX%#ypd`B(VL!{MLQRDBYmwcm}eTDJlC{H`UJfkCgG&(|2IO3iW9Mow2bG$?bl{!p}LwT2#Ot{;9e$3}zBP!l@C^(xQl{8awlw%{9Wh4TWu4 zh+Z5y$l;zbils_Ae_|_+hKnol-h3HSI35!XNLc`Dz4OI$BD)Czz7r|90~8Xb;V@L5 zhm{w^vuS8N$o8mZW*oYdA-nr=;4^Nv0MAmO12LO7R*(`0`f&KNeestzJ{fUz=5)l& zw1@M|#|t^kk-BxfbYh^iXXo7I+c<*w*B0^FZspSZr(U0hROdegelYA8zIbHe4lthQ z!kLdUzig)g6s=!VX;B$5AePrxTw_%Yt`%RvAGO{V>x`Pe9pIDIJSwbS>cDtW^DC&@ zv!Q3d%qDR6q08{H)|0^7NI$6v2$Bll#_%|)<)U!WxskaRZx@#s`NO|6d&9kjj_$`` z`~zo?7>$HZ%(om*Ml%~>7x*qT97~KPlIm#@;9kh9=6|7=FBRpIQ*fIM-6BKGm$`gd z;JzvEwY{r6YJP#x8fCsPu8ZRZ%OTjJ3S8u2Bj)4wNl$BFo`qO6d)~AuvttVu9x#3W ze6u02X^_U;ZdrQi!draU0%UZ&U#Fv*?x4hFsY$t(;i?%&5 z&4t$l)~^ukVXM_zouY+hHm>Ke)YEr#roXkLSP1bI6bXz1Pm^*>PR&|XYpf|5hob&? ztg26M9nR8`;(|O|yv^wi&D&a~vVI>vE$Gl)u$m3{h|h5CMenUBQP- zcH0pl=vo@hFmS@9G}K$@foph+tZ9*k?ojGQT<&Vh`wjaG(c|F5jBD9c$rT?7929u2 z*-?8J5ZD?Qxk9WoZy>h17ahm!Hl1QO5o;SYPd5jya^Q9^Upi%G&E?=6R@(DU;8Ve#6gWXw{TS^B+QFQFW`?T6pSqwAXfV8Daw!jT%0#|#1zN$ zfLqo_T5tL$gxgdFKp6V`U?g^g+E)rGvnyQL$Z=TUBAm#0-e#XGSMdkn_iPWFmczB* zdFMmAx`^(ZOX8~0o!uf{`+&-O}0;5>Drz3nNW|}Am;-3^!jq&U%v;GVcijzqo0~=D~AJcIxghHU% zK;D1j1Dc4BH&1~acstKJfs|Y)YX|1bo&rOmcd?Q$f4Pm@UEEr}SM&*j z3c=iGjrM`W#Wv&3ttxA5NP%MkdrB~T7^4O5z`%6Y1B}r|;PgjLGT6u;1j&8HKg9WM zIQtFys+hs~`h|m0)Qo!Dr`HM@>np#7aKJapdpAoLZnv8vKkG~553r(KG>`>U71x=wLtNU>qgc;YiYpTV%fBz^!mCKA40!QkNWZ46*LvwbHPn(Y*Wn5jdior_&H7yU^JcWpsbNKFP0Lav&c*nlNDJIoxQa zVP`DxGB5^54>8A-hII^-wJ7G7t;x0fiGQsUL8mTUW&UldiO|%k0u`Gz^lIt&c06~Rtr!MYYp`#|?=x{qzsu5>`DHgS9 z#Elkmsiiq3#C9T}ISAd(FK)4M{q>$Yb11A(xU#JO@WRO!y2pE_7xaQ=T`c9$lSYdN zurzovpH+f)G%;;i<*^P4jm4OI@{8;$~0pZ!7bq&0tNKGc=eS2K6_JOS2=UQ zrU7US*MTLQ4oI2pgH^hH;qeOKC(;TO%aj`6Lh#dGXW^iMy%7i@?>GphjSq9R6BHaczoa998a9b!C|46-&^_Q{!#;Le+5uwK-b7Lr(YAh0j&gzMv9sxY&sELa$u zJMU2Q0c_0V_$gb6VQ8q7zvgz_+yQi8xT+PZOYFF>b!?}o&#`fy`OaA+A~SqKDplETzxbsC;tA_R?IdgE$`9a9^Y z*$Nn3^dJy4_$;cg%MSVyFqVh1oBteFx;w)sR)E}PU*=Gd3<>4wz@a*x`2yO^7=nm* z7{9&03`}@&!&~)*?D&aL+uE}}b}-7QiRQvw2%Xqq6&FJ#Jt;8sFMjh`oP#|l9{8~K zGt0$DCbCkF@qifG?ZGqjY*|6qEyLpvNHS|4BN;A{Ejlc(ZLeH&!6w+**wS=u$W?UD zV5(pyUodF1Q|TEG3~U;XSVQ{`2alpQ-V-1PAxPA>1okC_8MZKHWgMDLe;hndaZ`Ap%7=(>-9&H-q9dB8VRD3b$YTC2miDTcR6}nmLGTMW+t!J-g6M zbEQ`ox3iVAMehDfh;*X+p~O+ncEM}5L~Xq51qf~pY4rl2P3L%Xf7tqwQh|{Pwtt`& z02VeNUUW7QZxzWg5Gq2iMS2q#Jmcd=vaoT~7&{i@#yLOc8#EB+utzwcI%{MjB!0(BPd(CQ0(wcn*xZjcJ8E#6tB4?jj4u@^~`L z8SF3b;pD3gjbc86=ti?Vh|3Q)hcf8cmW;U=C$FYWnKom(xuEYE^O*qI#v8TA5ICZw z`AO*=!+}sNQ}3%tSWX_HlC&V*!>GM2_p<`QW1&Da8`Z6CY8N;F3%bGl*{qHx3DS9lFe-iPSq7#|c@vt(3}_|pdIz+}A(vr_7x=Bf-k!BU3TKT1!sp=h z{(0eQJ$sJ_EA$p1)`4AVlboyS4L-Z#)!W~O@wmgi*S>LTuuG4?kZ?@(TyTDeG%+@%rCUHyFDVB;}!~_V759gkivU&?5y2RxLzR> zM-ayKJV%Aq71?lW_t#ji;^@}4NtREbKy3youd+v#Xl87n{m8f|t07AYMa`-|kW@=? z_H0DM-QVz;0tp*}bg!a&t`_3&sQFsy4c5+_vY(JlYQP=TvZ3sB`>z1wtxcA! z&Sa3L3z5t|lUaK5S-HbBC`2@ho?mOg0wI1oj$x_)kX;WyVfR=GhlAOOBcNxYi)Vyj z4uvuvXVGIh+@(Q_Wv-Va;(@y)n7BsGsS5{>uZPBwbl`Z|GYy*k2N4}XN33Cr%elqX zVjzk@u!jDi;4n^v!VzJ>huTuI0=6&m&@+1+R(k9KfTn5{56ch3{up52${ih zhlLcV{xZ|q=cNuoO1o91?2|&ecEG2631g$)1S14S66Y}z=Elkj4svKN1!V&-uLdjY zMR?aFc*PSFYxXz^mjU2HBCNg!9jUTKu7ns$x;Q8mQQglUWUROrIO{5|(=y}v23(;r zKsMdeb{+#3YHj;01>y+1L_@1!%bl<2$~kv_=Z4GV&^NOoARW7H{$l zfz0<5T?H69xw(jVJjLglUEVm$PugyoV5OS;sM!R@mxks9EVsCks<6bI`gd@w_H>D8 z7tef`SuNhOaxX4aByey{BZACxbLBJ!vzo6xg`FdzGaxKL2cIv-Ng4xYks z#3&A|#HxUyDSSHnqVtMCc|}UO=J`IV*YLch^+!!RZm(n|Fi&TxRm@g65IqzikCip% z5VoIKUmpC&A=P(Q++ZsV)Q*Krz&o8P4SQ!-q0aXD<%js%i>Y*k=#fDYo*-7A+`ggC985NAJf3QURYj zs07iHH<4H@OQ=R@`LR`DuZq~lfF||hL+#0UC1#0+=}av4FslG)axH~lxvjU5lMbK! zNuy@7UqHv}J0R^zO)AWJExFR9*K#^!4g`x8<$~GV>2sU0yROamo#8~cTSq?kCJsm=2o_OA`oRlqrh&@rWIj}Ez%?-wdf~iIz zm!s|XFKjSMy?6lgGA|=CiBe zHDXT$E0uF4J~phE#3FkP)_u4vFCpb3Zc|tecU&_?`Ss9g`oS+vi7i;^k0%$^)P!DN z8#UkM^JiH!XPyr}cU(Rb!UC9$TlJO|lri^h0n7v8*&b&)@;AY*Yit*>a=G6;5)A5` z>zY!$gKj?6ZAi66zc#lLTtM~GFd#}q>RXBkg%+Q$zCmg4cO;B~y~UCv7;I%Pb81X9 z#c`{649o-{$hEWcE73*^!eJO0m^&t;dte>@BVr$Roc1q7yM&Wo(XSC;69$1?K5CA` zjTL0qg;%xpB7PXxn&EEpB?#?c#=qm2)O{0P8X>(XwVw=)iJvVhl9o~h0xxYKgKWO@ zgfUErByjZg2>qRmAG^x@a~Pc!fqDSj19zgD<*#!0Y%6}@a0P-f;SyK;kAflc$InnIX{oJnms!4eL57i zl+-m?4cHk5?i^j-S5Kxehem1sy$JjMHT`T&Q)Wc#a5H1xyjkYoefar@=^pG|IqmD? zWd5LCpUYsI31IoLwxY{6vCF^M9x4C|iaZ`ytA8@d=ayGiAqbjxSq^xuVT#ntouGzD zNnmQl_lz8Za^UF6ovrXf>E*U$ROfx==h^Im<|_M6g#+h_BUzB<=!)Sz%w!xKx3`6; z_NnM3zZ$&yN0`!;lO~!P9J~Fm3>z@hJIj98UcmVPMLwzKNqr@vcp0380-o8z)8iCz ztSd?&u89`_tjMSN&KH?;kGCgjAdG^3nJpIh&5?c>m@oxWIAmu6kO<&g1Y%pH%*k#- zQ9W=iWLHF7(L)LEEMW&o>nQMZ1j|)*wjaUrhMtmbD2JfW79T~;0Wk13;qYIxwUImu z!W9&IPmpc605=~uh?Wm7WPAAZT4n2tJ7Fhs#9`q?reErr+NBrXY+B}BTeT|T!24Qo zz0c0p9e{5Ir%0^NZGgbb$wVS!mP6}6ho{QPiI4QDm@kFY%Js<6Ue^@Nm2dV&E`NB^ zz5nvTsLA_e&7#!C2&?C#%TJOs!jvdjAo3UprqQ11b}pW*Z{L8&@V<*9OF8K`JPZ&r%EGw{ou zbmMRB&U!drG@C+aMe$)6fGu#k3ab*;LIwP12F0=r?zBzd!1~zXij~80n?_t>EmFH+ z9^5aTB1?V}G1Q=)w20`*zriyU++L$;J;G;>Xqh;nivD@~?1;(!6G`6MdfIsS4Lk(5 zf)#Muwnr*F!U7C}w&)xNJ)`DK9O^3y*xs=P#5+AHP?aR8K4`31LW&^zDck`#1Tgc+t^E5A106=p}64RnIv-p3kSC zj{QJqA2aUZLTB=4f}?LuWS0&+-eVtNXhuH;54w0up0%>j31)DG#W!B8Fp!foIe^r+ zS3t4Tit~x)bu`?R&LRqOAM5FaZ&|C+!lGu$Ar*$5$FA9f^iO)0k`ztwji&%16z}WA z*AZo)0JR)^W6a&}>m)a|=5;78gujftID$OY;3e3Hs8F`0;1U4jw`xOsF~&0U1Dtc> z*oU~>8#mh0ZZb_L48!U9)G~ARmZC6SOV>p70R|4W z<5f{Go^_9pm&5d`RM3CCYi9O*pIByi0bnGN4^mnCYb@%igTF_>*88zgP*>-gftBuT zgE|K!2pcG8#^-Q>yY+{%8b$MTus^t63ALRpW#fLFxR|iBE7COB^+a~YwtgaP zqA+C?^D%_?Wq{B!9&!F7;@_s5n&`S3Zn8DeD$MF49PmNtg?_Q_5KBYQiz7gQJ>IeU zc7gk!F(OgfGcRXA0Rr*CvMnp-3kQdIqNJqPP_pZs9LPirmcxpgyK$%(wdx6a;hKG_ zK1N+c%8P2fsfDKbIGLy7pO4Om3J!Ac5g_pa1ae`zowM+Psu^Vh9UPEI1WtgI@_CI) zjwdZCD*n`j6%6^9sTJnyX?T%-7gjjpsh}0Ho^a+mSe2|b2!|P1dqJUJ=c+kxp#B*l zlk_~|Hw}tHTeCTA-Q(eIV53tN-6%>SV2w_2n4iD~xLR7MA>O^_gk2CQ49B9uXT;$o z3Zi1K2{+$4kj|0eWYFP%FZvi`PnzGcx1=DvR`BKXU=$@DMR-^!(~EgglVyh5z2w*8 zx1#yQQs&sg*M);#jXg4gqfkQjOHqK%JGr9{|&0tP#Jx8q6frXhOqe z!vviR2H(&f%wYMsCA*0TEm>4rQ)4wGW&BmC2^!Klo%)A0(|+yST)vtE`K+LNaC=?_ zE~|nL6ZR={^L2fZB+F4Bki|)4BJ5E!=~6_C%E98FS{CDJzAZE+fZw~T$OAlo3$}9> zQR3|QmGvo=(t`P`sEICz$tw}h!Yn``MfKw#?L(=wIz;|KI{V%Z4+GR|YJ>r@cN(uQ zk5!zs4Iy>}I3e2p1Z;y4!n)~<4iyH zv7A+=?2qA`BmiM{dsS}mgkwr;3!M>MHMszuR5!D^q7PO>SujUQb5w}BZosgy#ZjJ4 zTnI93eZT`bFjI*G$n_&?w%gVQ=`;_C%*>8~&#nOYQy@cg3IB*4Q1e$O!NwkkHa148S93%k%#aTgm$Nx5VZ$Uo)@&Q@`f5%7Q8RuTpu05u zdY@IFe-Ht-D#5DvA!8|R%nC$xAk{eomSa~^2=&B%P(1Ks)8P@cDl`^pcuh3m{y$gI zZz}|1B3HdctSMzK>+2W-qS8W{2X@pxJ?21r?E#DY;o;&1_8@Zd!f?xJ~OWDHyV~jeFuWe zR)-DVfX=4i%mGJoH8~02!QWB1UPRy`{%k=@W(HD;?D##S=HB1I6_ND5T#Pki8Vb}- z$`FdvQFEop)1M!$*iXJ2$P4SP>K6qm{i1*hvo#Qu-{ZzpPzP~e#k;Vg=KZ^U=DxlR zq5RI<){S8C5HAESq`2Z&?)R;Ry%=%;lJ;&wxxj*Wr8mxWh4&+iuwSaw#;#ics4OZm z*AOC?kdq2}lyCO#Tq;%II=-v_0kBx?Co^Yf5}S;}c=tD*qi~?fCv=pFQAFqwV;eNT z4u1(T^ikl__o0WB9u$q6)cGg3;y+=$#eFUSXyHD2+ zf2-l`aj5|#bqGb@!YydlyC3pFV@-`;?z$h6ja+3a&E!=Z^k z!CH~Ynbs{3MUyB!1;44<;N? zqUP;At$!A2NfFTIJ={}P1TeyWOD926EM#rab-0d0&J3Iz=nhEr6;;|VxJJ!-FHTU6 zn3YTeA*mcasZ+Rla*RElnFQU9HK81xY%%Y^{|o{(BH?7sicdtiEd$5k36GjmBL`yJbMvNMnDl(0QG=poVgd`^|X15<}RE*-}EZ$$)hWiGyM(tj^^+s7&y>I z+6x*X-w*1;YBDkM&?)Wx9ZNCx7*R07;3)k?nf5V=#w6c+cR5RyVNibb4Rkw!J-%Yb zAz&}5i%c3z3GsFEl5`sJtw-UkNs-?Ugy5)o#UV>UjNxiJ!t?>!I9eIwDdLUqr&M}D zxho#|Jv^(#vB&f8DNf{l>p{nWV3gMn)N?PCq`*BC?5@4|2zmyV;+&jSwvG5Dp!qJ>q)bB9)Ubo?24C7 z(QNB}bn*cfnN2QOq7@;2E}M#so;Esy`LZl#(2;KOW5}d)h$xxM#8;%C@1baTd|z8E zUls9Sz%nK_bk<|92>QvBY?nyO(L*as1}k;Xf`d!BKB|mJYryVeDCwyAGq7|kUFnEG zzl})*Pdo#sDxqRdv}W?q*3k)%Z@_9AW)Spq*F$YB9Wql4E=PX@3cXAc-dIGWbLNn3 zpboK)3ihmvslK)JXc>9;dEfw`N|T0=1MZx z;&PW*TfmZRI^NiTxIX5IMYy^np8RZ1vHSUhkM1HvD9)_nS|khw2mUhf6~F~-6K62m zv{M_1(s|a4oD{aHXLkwwplEg}`6z0x2LU~3(UkcIm^VrfR|C0Gl>@k2=L{SgkrN{s zXNRpNPqIMvC49EP75Vq_)j+W1(9(jNSC37Y?LkX`ddNae!X#|fMHHuMX){u^0IvIM zcuxl6BmEye4l{8A4j76jUA~^WJ!pR3j ztpPtyaqxvT2{L&VK`3gz1d^sopukTckspK@hm1vtyGoioMFF;6S?qTD0>Y>(Q`gd@ z!PI#b{7jpNAWC@m=>OyHP2l9JiuV6X5Y!h0lwA}8D4PL+#2Cle8nQrGl90*5qBN74 zo@B^unVv}|_=@!QI_v_;jtt7+3Cz)Jvr zP=_H%^%}O_>N?P(Z~e<=LdVQuxB+V81{i?7W~v+tbJ&7OKOp3|ryD;tO}=((#`R8J zoAf4Ow8=-|#(DbjbS)PN z6O7^pXo}t5sQ558`IWitNw(%6IEA=)P-o=%Sp^o>D+n%O3AKE?hy<{xt)NrLpd#28A;n(O^Kv)~)U80!;4XR2O zS}1G%8f5l+Pj{Do+Tl_c5!;A5Vn+QAaLxlEa}GC%a1#Fm=dyZW;Lp!J=B#60211yzn0_`D`8WxV0#L;7cP^FTHZPmd zEwqv0p2<0lKngmWTdbiCU2I^^bKlgmm$)c!e@~%~QIC%T95G_00#qNYb*4V(ZN z^X%t}eCiLHUS9!D)3F=_DIfOzSlt@|3(;uHX1_pmOiM=WxArpGge=+HEoma$QC}tZ zJ>mo=AKn12kx5J*r*TEB!E67|VU)ax)>KB9 z^6jZU19)3Arl;@nwUU!OmL>9uKprVn((Z>XCyM1Wr<8X+@*CN1 z9uiM@Qw&y`XrmYrFsbi4-8-83c6CNHgZMoHMR+W0pn<{5svpojCqrYl(!-C9v(O_S&(G4T z!k|FnM7P?#$(n2%8@F#-BXVWdC2n$Ll6S|AkMciT>_vw=Pg|&s)?_Zl9OTPJ`jwK| zC9fITj7b7V&N)tgM2;zr!J6oj#!Q{#8zpVmXmFLB6nm~hXQG+4q;1=)83192&92ab z@hyDf^4nvOSGcrw46_H2Hfqb1b<8T#U)(3vpPUSb082b}o79TD;NYmWPNDbq)g4^x zfKXml?W@bjh%L#_lG=5rtxy-H9`Z}!+u}nfj0^cz^EM!sZ~xiSlruyU@LCcjp^Vmp z<>rGX*pO4|g};I^+N*u-din-?-}EMVSrexxdxQ~aatonPMnRTYkvAv;mdTjO-{bPW zSMtPk=`I%oo|wx|#H}5zGeTCDvrKfisC8&Jv2}gR2YM|DPHvoz4}qWl>V_eUv3%lc zbispS+@kvnxEeK#MmQk=(8iaEl24qK#EZ$~RGJ%fA4#`#u_GHeT{`{C7! zpCDP0tsb_juxdx0h6nxf?F9z!xil4qtzKUzdlv_tIMX4cZ)D($#VM8a0Qdch{8 zYmZk;1R_^aoRCH2Qxf+{C8^B9qkS;Y1Oiu8iF4C6{Vo*U(IS(C$l9uAoHX8-t|*4n zx^Rv6^82CQPs8%4uWJp!7ml52_lx2LEVLj>wc9q(MzL!HtD3Mz?{`_SV6StiN4bi? zQat5`B%u@KmV5@H<>=6}a+hBPdA0|)eyB@3b$18-9cjJNq+Xb<{FC_{H{Yq)9^4<# zpkCYB6lw~~G{g+vm#nDS2V|$VgqLlasg1K%-i9b6Wn2f-DI9 z-Em6rw_=dac0IN_<=C5i_RTr&j+cPv^6HjOajBz3kmFrZ%0teKfXAW!HKbrA3iyy~oiZj-lHZt1QP7B+$rwn3@P#Q=F;Dk8(=Ib)y8H zG*&EYn7q*l;z5-{(P2XID3VLQ?RJ>lT_6xz9Mbac;`BO!iKVl|zcDE;j1HI;ryOkc zZk2w0#xcnmS6kUz_ifK2*ThbGc#Vo&k(T!Q6O@nMjt+Qx{GfKMqZ+uhmftTxf^FKf z7dqV-jCb}G0`BJf6q?KU(A%c^n2IRn1BF^5ew@T3a5lSeL7V!LJn>M6MX`^aIXT5@mZqSZ<&^QW!ZJQ!{;p3 z^>Xti38RwIeYu@(ujHd#zn&(NF4vxGyv`9ivS?Pk&LQ)?9tQWDK)1cV<&31p$jG(7 zQ9%i6B6eg^9 z3MN1mR{5CGlo!0Il{;+@{sm&08lnyC6hj%qTo!dK;9=>sR24r(L7kGcNieI=?bIbm1cgV~#B3HHbSV1?``i$f4h7_E>0= z(S^4(EL~KKcJ|U_#fFnj% zjKD}ayMKq(g|0z^%(|O6@>N?KCj=Moc!lytTjsJjm#$=&?z)a}bf~AVYLm(3#ZUN> zkf@VNxeZD6#1~%>4>zMmvGH~l*`ioYxLr)l1%`6Ndy8z&uuRr znAhLg%VDHhxATgS;3m9@y!Ts?ug#zvD}l;1nzRJmze%}bQbituCT~mwyW|ru@;j+L zoP5CiC0qknG~#{mVjoy;dS$~Sl%MpH`=9wP2F2hONZTCvY^!Hj#nDwzBb-n1yT#ms zoOi90x{a004x~Jj>}ZFp(&UlrK{ancJ{o zu({)I-l0iX6d#Q3f=kz{pa59AC!AIsLG_6rfOJ$Fg@f0dL&Y$B&+dey}?GYOrjKG9L^@L4<~qS`61 z!Tfqrt2%OxzQCmbdxIS-YB=L?VqV$S81p1CY~yyt<=vRyVhF!jwHED(`&kZZZM1IH z1{=~kRBi6Wp-f$bsmL}}tu?^7HS%^U$h60*JBvX@dQZjc7O;B?%9UD~u7a08|3|QO zds3{($&<%v{%x>r)2J{tD4QH5IKCN7oI6?@=M0{?jHMV^Zn%l^Eag`%J6(wqP9w4n z3pnM?Uvilu>dbF=zy~#I49Ki&ab#l522R=xJ-d3OHd2$#gFcOAXYg1vXiA&vS+R2C zNb1P}!Lj!)^a#pMP^fSAFOaE?{CKv9LQwnH9fxrGbK$(IrnvJ$A?Sxt4)BP;pe|!UV$HqEY75V5}9l6q4JxQH6)?HqYS3La< z6NU2WwX#1AVUmn~^&mNdP;lk2DsipN-wS^w>u;*R@~Q0l1lwu(z>0h)M@+K44WDuL zH5K|vpdNGk<(b1GCbI`oa#NE0)$eDZs&&=(qMe6u(({t8I`Q+O^`sC2bka5?oj15% zU0|NgSXzJZeBr@WW5kG=XE$FfV(9Vast-!N<)8>S67LQq5BVIhzk0#zop6xPuPw(e z^m*(t%j>iv71o~Sf-ADiYS)Lpl-N%(1ej2Lq;G6UC{nE^9(vDEiXJt2c9FV#p}08D zzL}XG_tB(}2PZAjsUhj=x5K>@)SQ!|1Lfl17ob5^-`fD?Pp0JmMn7-D?Gt4cZ8_uz zc(6_CU(D0NR8A^y7=o##t&!Yt9pRX=9_2@_>bHbVp~x8@f2_%xMA2qgO*Vbng_~KUW+>*p3JsSf;y9s@bs23_-e6B5iY9LsqiF3`UNd?GE<$w z9;{;B&a+R3Qig*uD2qDpeno4l-mVyLm9uW>_HGo8GjXnrO8)v7oE@!%LX4SdMc3g@ z4w@Xlgf!k7+Qq1Z!#3aSm;4)uXn1G@WDMmqC=UnV9&~>>QRsHA(Wp+lzc9;yDGb@| z8CCz0#7XJJWpDn2Y}_8Ug^x zZ#DiLIo15b#Mepd58|Ja)&2!&B{j}9dG0a|u=#t^0?#acxM-4L9`~Va{bX46yu69& zTuCKFvy73vCMyNuQNw0rqw5AqkPl&}h!V!&QhQ%4%HwTp2dg5d7jtwr(CKD9^rcI^ zB+i9T>&uU04A(-!d@~Vi`HA|MhEJ24bY&HZbWWq-LEH1 za9<2&?P@?;P28IgA~natb?F|!XxWP&0F|$SbRpLOmLrb;`i4ueQ*7i+MV20`P)t7! zqBqvu!rubnWtzw*&?M)XVY@4^kBjt=1g*Nei1b#N!YEc371@paoE>f#IW~B3S?xAf z`SmqPTTUN$p|#n%z}>9Ke?!6=*TmBCwbHSJUJP9L2O8T7tFDP#YJGb^{Z0Vfi~i*J z7tIr%dpcJ#pG$C07U|`R?7U3_DKsc1I!CtJd?TL)p0%mVc#c>@#NkGfXdwaV@|KtO zU+qw3x6&Pf*f%M*SY$a?X>Mq!t5;`k4s^lZE#4KNLfpb{p0F{6+t0w@#Ffb@o)fJcKRO zC>8np@6%yhxj8AH`gYcXNt}d`dl0DfoUxZZCFi{hl5vO96YwbGn|u1{u1|J#-;y==Y9r#h#rZmUI?9Lh z(M_2XUz(~kjmZB0r_i>d8-gJnCOf+dGqHkkpCv>>ITyyFqQdg#tEo4$Q(R*h zopRak$EjR~_Ydf}?9C zU_L9$hy&;vSo_)#oV*R>X}miWG4~9*5~D+5>2=XL6Sp9g0{V9@w(tS{$t}!*Q#QTc zWv^PqKUmDrBuKLW;h7W85h*`{+GBv}duVdqu}*%sBi5-ltgUEaGdNK>?hF!&mMSEg zhSUetDc{5kjN|Toc8XJ9Ta7m1%AQL;SthCz4Qp#<6ZD!qjJazQU zzc@G`T{*Ar=3<5qT?f;18G1gnesuO}^Sj+VY4gYT{e2_j(Jp2tCqsBl4)6tkcPUCE#*18vz+vv(BN5~Xwn+N1E{%x z*Af^5t7`N$JK|v7V9pg;8{g*Xxlp}b`$DKnaOB5!TMr!=t#xfgpY_3=CWuyp$)ib^ zn54!*waR+tdhc5h&`@04dC8?WpaBg|$x$c}6jb$2Q#J-%a-MuHg%K<7d%@}H{LlLzA%QR`UWlNycJ~~YAa(~H+$Y9=5^r=d;F@Zv(XehlM@)6 ziL)}$y9V~}x;~q`_yloEC!<~Dj-4}0F3L=AbOKi#bvhGR_&bua1DA`008p0DASgX~w%jcQ*X7QB;Z4y5 zr^DxWUBA*T%?n_&n0>$C0p)i5cflKMrKL?&O?T*y023+ewYvu%fVD?v3Thos!io^O za#@a`WAf1eaR-vzBXqARM|6WMCB1gkh^By@7jLR*Br_cD!S_IT&7}v9* zins&e=1s`2JgLd{Sy#%FeYj3V{)<`h-8#7B@n_K7jKS@x(e*<4r39q-oe^2cJlt(A zF7&j#5GXUnJYtfDOKGs?f1G*zv^b}%>Du){ghKb~$PJo_6I_wnK^ijCAQMYbmwmEc zsl8_s<1MgC;WBsm2%uC*-lmtX1xU4%r{n`oGk*Oy7-C2iNuhP+n^`P7DE{s!=qkQb zgRKaNh$1TCkQZGpMX@6{JA9d@t&px7kT2cipikP`HV9CX>yvilEK2Gij^Wxw&&tc` z^R$O{kw0x4{%m5a_d@>(;S=zKKzzU5TVmZvm`oPE# zRW-ZOptWIb(xrQlU%PCzy$rdY;*JDicM=@Nq%rNKP?3w0x`Rfp+L240vD5BQ5$ch7 z@QTdvT|oVLaq^euO5aT6sq9LXPWa*cnjrAtX+CC(%|pYpUHcM7OKHsVMxX=*cip*8 zDhjhDMjJ_LIH0dAP-g3EAxkXHc}IhwCF4{3MusQ3cPpfot40fb&er051qZ}^#f&8E zqk$fv!+$QcW`YJq%aiw8Cu|7B^3*?RfnVzz>RdS_zd>1})nFLcYBRk2JcK)-s3Lfo z4w{v{f!bY~Cd$GbrqemKGe1NpdEnPE@n5l317V|r=3E_wACF4ivio2~&d=1uBsU5( zAOq7|64x1(4d~czCcgvJ}8ao+@qK(>6 zSL6>kuBJ<|!ERXQzlkYy_d5&U#~-u=y|GvEQo!+|$z8j1IVy5eaT?#P2nHKsoq?nL zIb+}ab$g}g z;t#y5xK^+{gYPdB`8-ZP;B&VHa~IO{X}68$^dWF}X@1MAhb~sY!^m zMoub?MFq3lJi3B52-N0Jb2SoUt=3n_Ep>Kin*>O~`@E72$KJF8zY! zHB|Wl3e`qU;~Aaca^_&Bphng`J9PcaE@b5qHaM3~K$d)yefC!p2t8}$&#`^7;m1c1 zLtA;ddbZoI4um7riR^y3cB$#aOK=>5s*#*-T8IhPin4L)gz@pT$_-0#;2KV8YwRsL zRvkW0n%VeNT52~k9vy2u-Ur?Kn23`xgYFm=xuX&yIa&5Up69O|lm}ml<74IBvii9A zTW&F35;K|ZB##Y`dFW#1s)m;GBRa;IX>qE=x3nrYTymbaMXte5No{=b=E?0{`K1G>J)3v;$lR*rHA}IDn;k<;JoJltjPCY zs(IuUGzqQCZ_Xw}8W@y2p>oCcW4pO;lj3Yh|^%PW9JlN#i7rDB!|D}Pyy}pqew7R=po@@l4^z3AA zNzsc37>h!ueegbLuw*Cjo63vmUnl>tN|n_kJ!l}ZZXmzQYudrOs-UIZ@ko?%OUqVB za10c#eABfIKJg%#e`rSi1O3VYKnq@s4y6Xb_aB8MHPXm}4t zZdPLkr6E+1n{x-;PId&k*dcfRP9yyx`eo_4|4DJ_WqeYW*c9$fgde;f3IQ9h^n~VM zXo@BlyYKy3_H+)<^p0R5VvxWEx14EsfLh)Q9ut{2f8Js@hy7FF_DL0rZqit~BGjD9 z+vpHJ%)oD-v$_fQyWwre^2Hw`gRG}UehqalV$xeoI}bag#gsmPC`8jM^5pZYs#7-yuEVHp*b3W)dSq1jD5~i>v`H)VPgyAjHPZ`vR3yCSgb# zlzaG#7!Q;LpvihBKvcF8v`OksBl3)fFJIe9RA0pf^&41rwXqx~5&-J3);oK8WEzHp zM*5|l;*%6avSKC=DUh8C;FV7)Hb0CPk{t^=P5wkaH+Im*A=Sq&!#z@|Mxi5leg{he zg@c-_ZFSX;s*wXCZ;(6g2F(1Y#25EGS-g-_jI)qok-7=}Ux z8vdtxcL+$;QGE(8;eNPb+NL63E%tEi`LYPjh9%HWbt{$dJ??ADU6P+^JH`LmZXyVjNwd6}|_ZyHy^l7->m-irHe>@~Cgp z)Nk=oOeH*49{jSSsJoNWik}wdQ7oXn8IBZziMDxp`Fr9K$VL;ClwZ>`F$qH+Mp)36= z9U67t9@>$fbmv0}6q$MV9H%orrE&>4npHE)UVFIAmKyfY(eNXu?;6~U#DZjBgIA|tdVTG2nEU39B)BNus+)m{tIAun`wd)nag*0vzp zRTy5r&(wkYVop|#UX2^%GT@a_viI{dg#({Yy(Ups&n>V z8y|R@%=_4w`eP|vx%Gw@EArvJ(agh4BdHpJT26Z`LPsN5Fgf)8FG(b*LxtO^BN##6 zZ~A26<9cb>)Qc#?py&pv0Hw>BJWDnrh#wG?v&nx*VF^#d^9QUeHe5mtG{lktd(rxz5yWfSu{KJ$P#%c02b>G9|wtOgup#yN&9+9c1Eu3d6@dxDDm z-=~B`RkR;T^WM%^&Ee_N>=? zBg~p!MgK{5*Cx3#dWNE2{wLqwT;X%yIYi^#xqeE*0Nui6v({*3ytKxc?T+m$JHpqG z64ACKfz9N0R6h;+lQv(IFOm)P$q+ldA6n$3j~?HXiNjNraww`Ju`4@Vz;zGQ+OZl; z@ej;(dH@pQz}nyjn-MFv9_Lbk>r81FyCR>5LXwL|yqiC^FFZc{#jQ_KvSz&M^$}p< zPU>xXn6kou6%7mBst=QNIK;*)Me^^$Fr){Zh5v!{&WHyUVpNy=}KlWcOULgb{T@FbTw?BgYp zZO73|@1#c}F46ePEHdIH{msf=U!Hnvs5Ax|sa36H>JOxx^{wn!ojSIgSA0S)zu4LV z_6)9>R>iX#taZsP%_5B)e%<;G%8N)g(D}Th*B&C383nmJlbx!xO`#U1~vT=suUo1?GTa=)2FKA8D~-1Yy|rznt}l*#H|InQ@dj< zCuG303XmsL2`7G`D)Iqk=1Z_J|8W2@v z(GHu-DYc;iC~+}$Ewmz_C)Nm~dj^K-=|r8;w5e@vqtmBV_0K`Cj!MCH8WwjMZ#0w-6MQ&skN zPdD`E8xPs^Jku03+MooXy56hTX{N@_QnJbMZ@=5R`N6Zd%u{!+aYO3`a$z&e zo}^%v$`{N;rh3ndY?PZy`5uo!cuqt@v6{(ovf;Voh|;O3pB!pQqg&aCu8Qn;lCP36 zp1$k_JnH>+|I8a?^!yuUQ!B-apd#BJ+|W8Z(M%gjoaAMR=-8zT)n!HAN~*oU7`aW% zfgnzWmZBUZ;Nww@r<;+yR5r3Zn^>$dIacgte)JWrNndZ96f)>k;2`w{dFD-0hcCiDTn_ye$t5bv6LO=MADLYS%I>` zs#oNLTM`Q?i--O`n<9t}u2AAOWVCBgxp~jr4y@XhooJDRBQE#7v2X#rgyf6%TRw6@ z=lbjT(4ry-yv0^Umf(TnI1@tmOJ5np6^e3?EJkzsOg%VcM_cz)+Wl+r!6t%^9yVev96>faLm7a7VQ-gX?m% zv>BQ3Gx4fOWX*oeqyrY0HZKsb}@+z2qG9NUfJC@guw zOjH%cEDdBRxth$C8A9vEo6>;qFifCM@Mh$#Dp;Z`INBIDeLH8&!fDrtn-Lga&ejHm zn*_Yh%$_d|u-`R?MM69NSx3#8Ie*DQnZj@+mFz*C!a)OKA2+7)Fd5T|{G&;!i95Ug zxESW#wWfpBUq?Y=SFc3}S8hkhQ{Do?lH!T8S&n&!S4~nNW$2jd#`i8!nv2JRHgM<9 zyD&gvq^HqB*~C`EV{K}uean5*o~&Lg{e=ot1J59QZ}ks|g?WQztLh9#VszX;<@j58 zyJ6^6uYvxFUeNBP6|U!_WW^U7q@p6{f@!)MIn5;;`&B~%G@%q66Zd3UG$7swcfg|Q z-c1f)c;t%AQ+=wrPS4hGpaItn@}Dj8X{?UP{=T$8=2ZPwr*In_JH-z5x=U)eemE!!&7*3qweyhItLYEylr}>2pda@)~Sc zRAZ*$8VYccg%|FX^p|`}|0so(J--w!^pSgL{e|oO|~_KkG*(NwgrHoS76t1hb_ph>_8)A?|r7{RS$%h%jRy{a}pK#gd* zZ3l%N^3iSeJALwg5~=L6>`Vh4)N!ZIu}6n+Fk~0X&NMk`3)iTom~C9*Ll-``T_thX zLU_hn^8!BwL@aW~o7RVHYKl`uUj3ES8oGD#I`XKFb;On47tZ`_&QQ{FcnrTbwS^x% zC_k6f)~e)$ec20#3sgSFXx;8!Ey}g;w4&9LWZ6s1IdCwF#Wj$hQiri3&xfsJFiQ(9 z0@JrS8po=v-ltG7+z*`!4`;RTgN>#viTWzC`{{*h!+$5U7t5LW2CIUIyRGfe#r$2< zXSRH?en~_%8(B;$d^G!Z;}IeAq(1B~rh7*Z_)#0kcQtHQyJA+VbmTQ3#*X(5Yr@KG zsQlttB}wOsJW62X*u3)69xn&dz1XaA+V?#I&}IT?!K@{Z?($%zC6^Ba>xHhJG|5I} zA}!ETN72{b;tWBQ4GL7I_ITo6p_G@nbI!B0Z{)6(q%Chnt+{t=vh&(!o2}o-ZHCXJ zg^w%$pn0QjxD6I8k9X82DY-U@f6=-nM+F zv4Oh@V&R&GaNDm-NHG654TUuiu6S^=iZ7sAWc&an2&&tm7LHN*feFu9bY$Je1p<2t zME)Eul0_4S2)T5%krDQUAY$I6I&YB(H=+V(PxVB^v7aorf=?eFB}nYsPKnM64(#MI zmTJ1-Tfn+D-&dZ=a7+q!lALkesKA#)k5NC&EZ>EO!>M20OZVt5`4fG~GO1u31WQ9J z94mW6D^ohvx;{|$RdW8VrdDv_?G@ulEs*`Z#!SNcl&$QFwpnr5O%7Aj_PljLG0>bQKj7}rK8%1%-WL-NK@2kC(3J;`^wG2x+R1C48gYi!sd z)+dJs-F)T0r#KcsB=Uzcot} zC6-mwf3{w&cnMtAIl;2+ad2i<%h4zboAu#3SN*gYN*cpDW=#jCaW36GosW?W>&QQ1 zdz#O=d7>$+apL&?ycVFv;Q)G1E|*Xv|6Q6*TlqVuJ3{I$BoqJk>XW*r}V zmZ9Mn050}Ic((D#ahjGjcY`$Qw~Z;zH+QX~f)K z3$9S>x1K4QE0GUROU!i`7?dn_iFp143%}_*mX<6vIv_mOc)ZD{p>ryyVeG5s&f;)R187hDOik$i~D_H+$td_NzI)JaWG(BF^z^JJbtX z>(B5Di1ll$LxQ6G$u$vuc!c@35SNTQyq`SD8Zmy2E>FiSnX_b$90nSWtr`32Hg^2^ zs$wdZZA7G_6GuAluD2`brybSsf3JGnS!MfjtaYr_VMQ+dtOW-n{hrE)Onq#T30vI$ zBHTJroyonkn9BHFmP@0KSPhRC!341aWGvPxg$BePGdewss1vHlK?=lx?pBp!>q1I- z$||qw>M_&L}N2%sl79Br9LleDkns0dd^@*wUOPUWi(jEwnYd+9}8%iT7 z`_mi%r`cShhpc**#%wbyz^qz~YE!^4IMY!1Adp2YhDi9-L9o1%ree%fxHjf`MW57u z8b?r6yby@n&8me%3V|T5uxKTYN&M7XpYM~`|7KA6qpzjnqZ;CFrBC&N#~b_micJQc zHb_OYl>06LODyu^g^_qd2^0TGR0kNCqFp#lIRYgm!xfAvr+i52Fq+sdfa8gNZ{pDmyRA9UD2 z7^D)N1HPhPXb*Eat~yuyL#r*vLA*jc%Xi7cJ9z4>`mb{Bxd@m71!iJxcHu3(g^JIc z{v_k;o-aU=j%o)d0OY~(31o{0HfwAvR_v3=+u+br3)PT(Yk|yS4$un{2$%Ycf57g`H9H;9j{VRQY2|au2^64+}*<1=V zepFk8C0&Ef89TdBGhl6tykgGgi&E1S3QDIiDt z0C+V9nI_FgjJ(;f2g${*xapxP5{E6}fSAda36&2aiPrrcGBxjSz%+qFA=4nD!!7;danJ5mJ=)nhfui^Z9RmMw4WnYh=bz z!AQe!i(-IOCfZmE(E)FzI$k7#f z6_i28U6aq0U?+ucoL{bJNlo`@TI?Y*RR#52>~zm)MSk16nH;`g!I7?qYwhT9+lY-9 zugs>S65F6m91dir+De0UYZSi6FDJ-A{g6(1bO%_P%qmOR&VNS{T2D&1K5k`a)sjl@ z{28}{-+D#3Y)LR@(Bh^fn{15pp5|*#c&S2m7_gu3y}2x#H+Rml^A^vUEzc*7)6v_r zqF)XNE{%11Y7@q-kLbTdH`uB+sF7QiLJ0P~-L!Vg951>|ovfu_NeOYR*NbmQ1Nx>| z)KG4|TDp2!06Zy&$tsnKY@MB%S;a+=&pCVuW(Qo_<5y$J7<#*$X^VL9(yt9twPv>Q zyk+=aKU!OO=>4~Ho`AQdg_R!_xuV@=B)}=S%bMLr%T$rUgSTnML`>r{FE@vCI6Oi$o_4lUOuk-uK#+QiG$ z?Ny;SX-sLmk!);Wq7W#clYU6is5WV%jkz*rWaW|0r;Sp0(H0ix4a_(6K!SM{De{`q zpUiefmof^J(-65dM3c)^~%st6OB`fw)*#dw53=xRA$;Br#{2@}I2G<~#r8iu^Alu4p=2UD44aAEE7v z)nXu)Y4pQ)qL@aGRv8|auWdyJX=Sb7XZJ!@+9#Bw)vn1e2W;h? zMv!S=cJ0^8q_85N`mTMxN6WUh~jg>J9ArK)H#UuZzGDDLRSfrHKx-$ezU#X$%U`# zw<_~nWT7h@u_?5Q)ugK4i z^8-grP>TKUOl#iRTdS)lN0Vqt-DvNLdhM>n^$8j`Iux0UUdW*;uefV`q6Ay{77R|?-hUswH!rCZ{~DReGD^4?^s#guql&+x zAa`f)2;&c7;Z${u!E@oUIKOsp6h7#XZf2L!axpAe7Ax={TXdY2ts z-|j9YKltMum|b7}z<6x6^Hz!xdFQ7T{tk+xzisyJ6}g79rLdwc#h)O~F}QF~60jPS zE1jz4z3}FTF>RMLd!dBCWfv}dSX|a0Kt|OfJdFbHxx@+vA&E%u4&&&B<@!d_7UJjd ztEd8TuTm%$u%Ya63V*4`y8O3Gr&$zM{(*{ohW4UIEtoa)sA~J-*$b8|mfsd2tsa4&UhCX2#0AWw7E9z=pN|pn(-f_${_{& zCoKm5lr+2tf_lz3RTY5FG8r!_;gv^o*g@R7%_kF_$Te>0c@sjE4jkNY{@N`=?4tBH z(oRP+z_zunYO`t$tA05Ll~ytb#ZNH}xXV!AW-@o)qV~nrg)`^RnTlOm1h?ost{|Ac+hl!7*V%L^pw*;z3rcyGyBHbg? z%_f_`TPj9JFr{YNon(I<+IfB^)JeA5YN;ZRkhVZ0!3dyTCD;M&3$%R7JtscoSl+*> zn8J;y$S3_0xQhjv&SL8%6pRuO0voHWOwaa>);W)LY?Q72B(SKq@|MN>qZEc^1z-aew2{$R6Ce~{^8ZhIL*iD#gBzje4sgaPgfk0Te5oH{lwVFopEy5cY z3d_4|xO!8fU%C_P6@YBS6Z_o*m5dGi>NzZ+d|U3S6>1QwXVtm27I|eLrU&bk~4mm7U*L?kxHp+vy-a zLN@_bk}@x}B#CNWBF8x9;Gz_?gQP1$NIbr?F`An7>ZTSuIVr(;WI2?ex~RrkBKtB7 zT3mx3@`KlICLPuQ4$NqeV(N3bYY;C=S^46uc7wrZsxn2a9=L9zj_(cQt(OmUt&=+# zr=!@AYO zdrEfzC=GXWSC2CdL9WM8rfk}Sp;P1tQ|5iLG{O(s)6&9UK3DrpA=6+?Y)nTOe5#+0 zyS#5fNFR9%IwA0L9w+c;W8tVj&t*!mA|C>sTc4_!e|4rL^?>if7M7C5a)brHli4hi z_grbd-qyCXW5|h6MIK|ER99{J$O@&nIL?KgI{7ua3G=Ca<96RkZE9nyzF5B}=z+g^ z6wStfD(Sx0c!WLCK0Q;Cw0by##osRROzxu#10Bk!>|9gxBDR5se(U0dRHN7zQ2Rq9 zvEf;(ioEMsTnTIB1W`&y0sF-**HDLUg7-_oEFqNB=)HW$aHU5D&+ zVtMomX?~n$vdhtg-QAiEZ(QJD8!~hmCKPleg$O~|L$`0kIoy?khZcy`M?Ul{S#z*_ zmT`c-ilNDueeP$IroImfXTe^)A!Gths>ri$rq*f{e=?}~94Dmly!jl2Lovb{6!o?E z`g-)Q1WZJ&|L;pS7uU>Qp1s-nl!Q0zw0lmJe>eKxxzswyzLE-(eI>k(`$R=fgR_DY zD!Z0YV!cUtWpUEUuU(?MXr4xAJd*OmP@$?lp^vB)+_$y8@r~Mz>rHQJYr~5$@(=cp z%8{WFt-sLuK?_}Gjht1HN9H^)dkwSrjec1IZB^tg4-~S58XaysN}GB%T41ph+`b~8 zn6JS+q*g+2`S&<)B70cBQ+I^?e!XmQ$fk zmtc5VmgH~VTWGUw4H^!+9xVB#13U7RaQBUl{+`ZN1n8{YAdL>m!ZCSsxN4LwFQSWT ziYZ|P7`TP&SKu%-s*C)V6#M)12xHE6w-QzSQ8kSsufEOv*q}%=#1*#}S&u_@B>iHU z*APmL9cUe^nMb_!+MqcovSXZe^v0+G1&Jm_d>uxC)0#39Zfbcxw|Hk%4Oe6jMkNG# zMeO)EJMk|aGqL&|I?BOyyOaq~xkq}s z8E$CRu%+a^13w}e=ft)z8(r9`S{`Y1CG*n0JnheEUn-2iDl+ML!1y*V)cBvHBu$h- z(lV5_tW{T4C3mdmVQd*0p4M$ny9#YL_RKvH3V9DYdB zCN7!@+=Wzg{qCRKwARk>?sA{YAPfNr$fa{23sDE)U>7fi4X9P=(Z_)1*`6jmDqu z#T>1kx^D~6MZZl<4(%&ztE*F_hkr&(<90dre5N{cX(LV2frUZ7!=DxT%HOF3AJM5! z@<@rF7tV|-xwf_irtG|i3n4_Dh#>XMNF&8g^v&Hq(ANo$_j4Dd&WZ;lG5vm|XISt(%R zFvVjh^^_r!%ZG^BRp)5OX=umNPP#M76Eyflsg^BSjSPf|+BWKDBF-CaAu90f zMc%ZzP$DsM&gOFQe~BE%fBNj^Li>)wJ_wmJ+F3JIQjvG^9o21t;dLVaw(b&fVo%zRj9z=hIb%!>&Q3ypE6R2;l(jM97z8f$a8d!FjFA zFP@`+niB`sEo+85G%%SM?&%*~zRJh6t?-TfS?=gIMgev+`fMk!$*w+|i)(A*Mf|D6 z=>CyGIhhaGlT-dh{(%ZO_wrQ0yY6(X2QxD0c!Bz(sq$vLc-PvFp>8>dbxszg`C=c+ zM?pk+q}t z8n=wKF1doA7QwRPTcoe>0)eH}hhXu(FgoQH-iI1kc}MZaT=@| z4)DI**&*`s64ofsm3gRmT^nE5X{Rbr8ykXe`M0c&^wyRie8_aUJp7>Uf52|Y^leoE z?>~JD`Ph*nCvKII_83JnV@&Nkp9oAe8Q#*g5^eFp{d4UI&e+->r>kcL{Iz>|HVwb% z2H@cHxNT)l2GzbNP$Ma9-5zxW?kSz3EbaR$6oTh zqNU4wIJ0!1Q8;`tYOfVTshj<4?qW~lLDMgDadRu3*yXRfSgn@1Va2~+SgWm48`Zd< zmAq5>fWMPWjy5`cFIVhk2lAggAbBI65UkwQSGJlN8Xl zbE*)ow+Er3p)R|#^FjE+GX+O+UVj%&qv|a_k2;)ZX342hy3-ckoj~Bjvk17cXE&cV$O?rA$tikER^7{w!OU6S@CSOwXu4)mCR8 zzi!dd{tX|Fb&12Lj?AgV^*UzRQ|1GiT&mbFsS;+7VxuBult1oGj`Z+9J7z=zd65{+fH3A38m$u>jfN6GCyJ~$Dy5T^-n1>1-DKsj& zXERn|q))EmrbFuBdu-!t@utdB9+j5Nok6|G8~hO^>Z3fyocplzS^Y&DE3On>cs>V4 zI^tV4IS=(6Zf2lafIeHBp=IYPwC}%$?^VI z9G6qj#a^~DWy=T;z5bM?Gp|2@gs);v#Uj2XsGeGq%OaN`&g&td>_l!aYLxsF5(6Cj*=` z@ISdcR+1ZU74xF#wT@ejQjJuRPItNu+H|LTPmaBh$h_7yh^T1MZ(=c=JHuk#%!`?U zDv|mPaAwH%awk-dd>t9oS2g)Ol_gzKle-EJty_?^&~t-s|NO#RM8+)n~k)p|Ozx^)x#NA83!uG$XE zI#ntIlpCr~|MH-5{XRBJ`(4hHsfub)lst6dlI3@$B~>_MVFgeywkfS{MN`9aYPC8qe>vUB;=}BrkBjEjc@oOwPQJ{Xq{YcYCt_Uqv*i zG?rq3$BsqE=<$|A`3;Y5IWzewU$m5#+<|aKQX`*mmqcg*xk=Fdwxtc)fMb(&jzDvH zpaMK$Z*@%825SW0H8Mv#B46PM%kH@yk!~)i0LlvxU!vy*Aq>{KB6oO2<((zY)EoGY z>O1)x7ik*5%#AzgJ(##*Ne4W2C(}C}$p)UJM_m!&A!b z$ewFbq%1<@H8z~bM5@`?QOEbz$c5TR%X6 zIQY!nuPu}skCr67B8{`mmg%5s9E$S zvvR6L4&|CwR3gVWeUfp|elO&n7>s`SPjIE}zIFfP`BBZP{y(A%t$jJoU4!#iUnlp^ z@t5e5J73pqff(=-)e|Vo;;P+6<{Z6n@p08f3l=P{&R;Nljx6E!4p@0)5-v?ocegyb z3x+JT+p<>B`YhYcw3{VmQR8^)i+9tnx@$3R{|mi?relE2_Ve4MF=NOtu-H7o%;4;^mWVzy?fOe(0oHh1Fj4iK9|fAaP-9`R+kjV+Uvo-_; zs3uQppy`k1!PBH?K}OYOa6q)#WD~X(+%W5{=)t;&bBFv9qplvQ$ys{%@Mr=g^fMMe ze;7+n(0xuFBqua4i9ba6at0_E&b;CI9s=a_hg^X86oq232yMYbt3vZ_1)tGV>IZ*T zgUyjG*@V1{t7!d2D&qwNcz^oFp=aK~Ce%mz{7dD{On_<$JaK?v;}(8HLualKEP?wJO|OgtJ$>KLyRz0 znXkwhhw?%?lHC73zoS1!Dr1%APE-EH7uD8;eNNyEE`A@Xj|L z-A=>H<*`cQ%D9(b#vxA2y7ZghJGxWd_}1O{{Cd5|kxpGud62(Ek=*vG z$@{x%qkd@{R9Hlj{KMf+RYf;Xn`X)yPK&+zSS>SdLcEKBjs*Cr$nV*+fmK@e>@0;} z(#X1KePM4egm*x%nOeXN)e5GOq}ptH8coU7EL>O3imt1OfSqwCgmS@l;omg%0_20# zxZ%ey#AHuz6MJy-M((YPCq2%7x`5|Kq+fM$6|2H8H67yky86SAk!kTT{Dm+fGJ=!} zl6se^n3IsceVYAG0+MfdnNFjMhY~4Qo%UC!iklttY!siEda-^%wkw{U5>eTY>d(J_R+BIJI9Jfmlq-q=q0(8ONR97 zpLnn_4^8}>dm|(vidE765*AE3Ft<0oklew&HLLo693dTSD&NJfl3v|bl^8uwq{2fv zv!FgLpahCL4UObr+lB59^@6|3uW&A${#T{E0~d)`H%2RC1MG~uSMmN3m3q+?i+Oo< zqC^?x4%AF&it>2fD2v&0J9R6MwNkr1FXL5$o1>w%0(vvJfWDq=X6~-~MphV`3U`|> zB=yZ`&MmeL>WXsw%1?NvB;oiCPMDPi=;BS{zRn@>=WrYz*2P?ik{o(! zk_gs|?ZY&}^){7q2C7iu^6ys-~J}YS5O>MVRIdr2lkQ@qGEYde0<2kr_M# zpOCk3jSxpvmx@Yt*Q~Ri*lKXfbY-~neJJ7wps&R z^%&x5{Q%Ji3;vltu=-#ojp)TSsi8<>*+j{dGCi0c4^~1LH%PIHLEmE7s%cJ^r?HXVD zr32JmaP04wDTcyVG9(VDNSn-u#@k?Bh49RUOb8%J0r;%`1Rq@~?)dMuiQ7a@}h)_t? zs{Xp#PI_|coI_;7_G>;F&rN&{YZ15PP_^(ko|Dd;>XG3TK&P966|qoWMV-(-(dY8u zHY$gyenbKG^X&X65ccljQ8aI-UcEiRBQ36i-x*!Kwze$Y!Jo{jyoTHZ(RKvTm)7DwXXkNrYlI!Mp|AWS>& z4(LGTz79E!C0D@wcj)FwfaJm4t>vsptCmUj+*o&B&SJ4UPKO+h{5Fk>GGD!en`=NL z-v^pYbziL)L|m0lYR#%hgaXz-B^G3r@ImEu2(nYud+A}+79%DcTOnz|Ur}p^@Ys@D z#f-e1TSjNmiAHeiwGT%@sGL5=U)etorI{Aw;G#Ch!}EWb#|hAgJ#HUPo|}-z?wrb- zm`$)>U1&U(v637^8YfX7{t;gj9$94wh`p) zI(+h9YlZAyg5eP)u=C}=_)FI^A)(+88<`K=fl~4MIi4d-ed>R5eKd6ol(~(MBbw(qE}oAx14ur zGhvwPI`p|)+OE1bR?!dU)t9a0+V#PX&RQjGhkbNjeg44k9IX*#b?@A9LPDKWo6^zC z;}J0R$w|nBqs%?UB)^3Y#j4sxtL=JKY2y?9!)1iIikwb4Mg&^ln+RE>ijE3bf~xQf znma}%qV-wUc)m=ywy7A0(-5tab3}7L$efNw%?#6m*S>OH-ds5HAu9s*? zV(7msGUrxZj-EaWykP1Au_nIK?$nzl#xbk6Ei_B7 z`>9>&mD{r>B;fYKp(Q489LO}IwddFT{q4lb0VBb5sXqyjE^oMujdV@(<*BR3uth-@ z^O>bHt_UuUd$o;VqwYeK*cCaQGO6ByfmKwQtlHigX!D~E|8SY8nw(bTxv&)R46ZqtE@?hD z8eE3R32_IZA}{6a<11==10#n3D9>qNXD% z^2XLLSYk;th7-!tH=NMWwMJf1CJxi4u8+wp5QmFip@+@#ESKOi8a!t#0ppYEtIJO@ zyQ$yJht2O+R6c6hrV?`Ldt-4|7cHK8!P53n|H2ZIWOQqq|47DLC)Mvi*78YBJhrA6 zj?%GB!vN>MdzUKi~zBK3zrSC(;nIODgxn+KaJNifZz-kAIoet7Lj4;feORS{HoKYV<;57Tk zutQ~*=g^*h%23EOAA+P^x3xBXC-AYEh%bGk*sfFiIH{}M?sI@`D`r7bXdQ-}?6KgO$GN^U<*nyyeAgb@sGFpqCWhslCPH_V z@@WpQje7C_Or3oM_**AmxFA+yZuM};2#7I6C@ z;f2J1O3(Dzs=wrSLDaf3xTW>cn^|k{!~@xDSf~S{elV|H}rCG#to1(e((rk&9< zuRF8e+0#>oEgh;eaib*(hhE*2CDyLmKCxKmXIA9%srGiaXgE|ax;cKS{8Oj?PyRQX z?0sSmQ_`5X>t=`M;c!@%s=pDd$iHKW)JG-L zS&{d9k%Mo1NTmgqPoD2BqxAk9Wk+Vf&M?`2Z}838Y6X#MaL?(_=ytgEOMrT05eUP( zQ2rU2BKzqZUA+$^Gc7)wlsH?;1XWFU!v|tfvgZKQwJ$px_(UV%q>;=Ek{R7FnPq&r-{!rjcjbu(;d?cZ5-zt-}7_z)iH6D8j-nf>5MX45#r%|0r(;mC|1L0=t;WJZ=Ej-JKZnC% zIQQ~KrIoWog&HZp^Ij#nYl@)MG%Dt&niubv0~y_tdQbVc zAIA&%lgLBAtx34EpmVsR*T*_v#!R`wo1=pFt{LuscopfExHzkL?dM{jZzDW)!FdfY zBwzWMTOvQO1B1FhfmnT*9w0!=XDZrku6wfw-n!7Y+_(v&hxg`5e5Xb`gcUh9$-WvL zqPh|e)X@(cDiAWoEk`it-mBl!Y`8oH^r}O4s>=NrX|mr-l!am8tp*^w!1w|$(O`vh zINOq_8Z^=q*di~tg3XBJwQtAbnsGQ8)cEZAfQVMedlJYMRq`4ODF?IrQuj42w|sp- zn6%lkY}L}kE5<_C7SaZ4%H(4zqL%6i=miSqSHD#S?KOirC=ME;^)wzo7X8qk71Kwj zcu6b&0B-0F?rAM(+nMe1cTpWtksHwhjW#Q#VLB=m9M1_#fwW>I}wfHc8~JF-&RT{z$R-s;zRUP;lv*zG?}P-~z=+N*M2sjPg=n=;a1i*c;2}C2ILe1E+<^zcEQIH zd3E*v&u=6v=3UDG78m&va?c(ONvSkHdOLCemS5u5q~e(u+*z7N3zj54{f_+=Dqb5EtUm$zUA5%gE`jvfUAe(|0sce*p`riXx2_%hFg)#&`9z3|CRfpD#K&J zPy(G$AVWGFT5dxNW)-m8lAO?3>zSENR?e7D^J_H0*S&)SyY zB1wlY4F)ZaG~Hl381YePYL)kqD)O9zni#F-q>kMWpCG5e{g95}1IeYMA=%0k$Xn3^ zjlMrC878 z_bL;=HVfyn=f>sDnqwRl*?)OnF-irNhB9r`S^MJ8RMOYcQZuV3dNdaJ(koFikbWM$ z%hzi-Hcmp@mZy+KheIWPQ;1bS{>Gqlt|!Ryp0|Z1b{l%hSL3zStLPsp25TU zS8eDJUS$=!)72`tMq(F!0TDBTiQCGid$L~if)=jZ`d(`iu573IU2wID?9Xe&Sj`Z8 z!i#REAKys9ht)uQDB0I6?=1pw@E&q-o?F5Kc=1UNyB%-0B<8{Abj9^-2g=mR00(#f$RNaKF zU*^)8s$mLn7DsRK-hM?si+Ge^^r=+PyxD;r)|t_3_Up5TJ%8%TeN~OKi0(Bzs^wVv zob>WlM&d2siz|H~BK(ash4Z4A@`CfHY?w9hf0?QP&;drb-=n$!^O6FuF><|P`JgB^Jye&0%u;fgq}iZ(ia3H>qa z{E{Y!i-!k!(?8>(0A>wBHgd$k^MF^hK~kLtPcF1Y2J02VQ$HaYs9lNI7#}>@ z2UkwZ$-dNv7EUVV?l~|?@6$u{Xs=G2Rv|UlryY=TScRT`Ic5IohMr3Ti?Uz7(xjpXHA#a z6XPvjw!r8{a(ENT4Lm=!3Ds1TZ7qDYr%MTKx@ueEq^R$OmQ0c+YUAS-j8C~&x&D-&xNped zxz{iFBn611EhDp;H?-wuUm+^_9Zo~)9D23bDtE>`mD!Lybw<8*kE#MH9cw_sR>vnV za)67zMcRG+?M8eU>2Q;7uKuE58MT$N|2iX~SvmF!3ee>5JG$uV5RjpR50ZPYbD#Dx z>xHG{QY(+++!bhlb>Nw>vmf>IGiMz>XLi*c-g1QS;a=mP5HCC64TQ|?xgCvfiiw1tVD*lg07M&bZ_2%ZOhRF~hgU&@z@ z8I8Z)*xCJ%672)sf}Q8L7#_A0Umvkl=`w zlM&Sd9D&^1akG}ESh%`8aewA4s#BX040#yUN$(B0;B-EyY|nr+^d)h-Yws@aKA>Ek zE@_(CS>*{matz8R(kt<1TgXDIupIYQyNww0bt{fWs#LO;;E<`_63Au62gnuM{nvR` zD;7rQ$xqR8rsd;fqvt9(uF1A$+*3+>NLq4O^61J3=Q;b06DgEE1-7vM^X1ivp@DbL z_4*X91KQQYycC7KKu)`4Oo(gYLRWHdYars;jG-*FfytZGl9f9uQ`f1nl?6xv$9fC= z&a^-^UjJ|oidCQ1ymbE(j@6_l;Ml**Ad=S;pbUEYO`3SX`?-L^=vJVAV zniHqu5#JOzzoT0Y45!Ph(iTqGiQjL2lDu1{$7m$lyJ>QkH_Vh;$_{L+=}A{)g-*E* z@6^%L9DXgA#bTN_oEr>`FmeIk+>Vf;M3bgdO#+-Mn}5eyY@fJ^B|0$~%}e}lMtPXO z=Ep5Fg)bZYNAXRteRSo@Da#(0#Mv6(K04^RuR0kj%p6r@w-3cDnD|n|wa|jGL5#4q zFWU^w*8!_X!`K5z%Q-b@8aQbd=@iM4Z&!OyXY#uAj_ENs$NoiO1kO!PC?%K{t)$2InK@!D}Bd>23mkBl~QjYp$ z>)m_eyPozzTtEl47lWOIZf@JNh+~5jY05b|-AYtRac1XhViW2Ng7xo{TRZm=Z2}_i z!3lLbgSV~7GLl!Q2>CF2DFIK_%?R1(4}y;woK+hJB>d~?QDw25$}!O|$p<@4!sH|* zEpUowtOtL)xcFfFByM*dTs2&Xq+B{p(5yz1jTIqNI7-febaK$(JtjHT`I9vz)MZ^N zwIRS{{V!RiXQLTASB~_rs>`(zh@sKO4cEk)HgBtP$&O-HWSrxOX^}L>KEvxdwVO|R ztLUepXgCK-p`1p^+>r$Zjs316;j~I1)y8PrU_i>}B-}NIO-cXU)NJTr0 zhhlwdD~Mj5yCeHFDz!00NVV9%p5*;m1ku=n@&)u-u~TAdOFrlQolKL2IE97`xJtI? ze?DGl!)RC)#~T^cZWPv(L`h804T9m4ZSkTDYDb-%dnpd>ZWw3l`^9N2huDm$fo*G> zKd{h+iBLtf=H68=3f@KtH#lyuMU%!EBdqQnN_x=zzqyTnIM>ArZZz=qe~3Ik*@-BL zL0J>x3{$9>Q;|xl0+=Kabd-FN&^nwhnVV!(k}Pv9i&0p=-p1=|Y-Q6}gB9~7oxY?$ zGMj)vTLHV($ZvcY$HW|ZXO;qpx#jzH-fS0G(@>A=V6?dgm*J>|_oQ9Ex>djNBM@XUYw zTg^at-EHS95PxC(PB~Op=P3V&CTv;E6D0ds61C2YoT+(C?@`(f2(x9u0D0-U3I zfIWj;(~^Sch#iRw#R>u{x=sOL->yyJ5Wk3f8-ACKS#AaTen1ZthZ+0ohEASjHL)EQ|=KQcXmP;sXAWY#a{K5sy6b#>YP9LCWnsZ_v5GRG3O*S zPn_C}l7k$w{&5z)(YMTbkg4}F@#a`)oy=>|I?l-;amPF};M)S}YT-q-gQ?Xu z*I7sFj4#J%S+y=U7RHeSMvgEgKSnLgI9Sv>Hvttxc7}z0^X!Q-I(?c9zbAen(^BR) zRpd<=djtB7XZxNUirp3xDd{rIQkRaA5}48WRGX9W9&}FpL%({l zL#2yz3D7qfLQVDoO|c3Px%%4pkVIH-lWbswgg&!>^5(AaTwnX)#*%@I)-m7Caw9%; z^1JOUcFL0S0jqnN(qNX?V)?Zg-LwvSTkT`jjE5}m&94^c@p;IFm5b1PNpYTC2?#PB z@YT}R@#``|>J4Nek|y6G1|DmG;(GKD&;WmuUn90}XPzlRT*wqPBx~{usA!4R$-FQR z9qKDiCr(dh1br>9xHOD<+YPaBgtM@qjE@!ErixsE*^MLWqE+*o-e6ki#wDI7ZlAr7 z`5+lEyzDYj#^-#30jpYO^B3c3z`AK~^qUhmwxBn7PWW_Pom6H}sL`w9<#L-5xa4@q zO^Xd=ZRrod<*9@ zy8zJ2Z4N9{tMN5UI98hm<@_JCwmDyTDcXb&9mUdJg`fG z*X=^)KcB{n^>(bN%j@V>VPYtqjSxt5U`sdKzeVy=bOdz{ zWBX+;xRDh*xD81b&u%-fJ~P*}L|(igJ8wb}!bh>BoacJa@?IK0>-m*$X0SI?eZhHf zcm7O_wC-zKDT^9>4n>lkMY=_jYECn}O#r*=UV_PC%e+d+iav2Zz4Z#1Xlh+{DEPVB zl&yeWlVG z4R>pDH&V2u+I8-jF|A}pK1gm?+fi%!>>H|XO8|!`IlFk%cr{2z#;tiPhdkqd@kWoc z`er(UEeaS@$@&J@LtcxKvEl~;j7|_h4CnnAPHoBHkL!yaD@iMEL<_P@xJYl{IY%~Q+SJN(;zM1o0WdQfE ziI!{>is%-qr3*6t6`4FojgaDiph-)yNM#uxjM2 ziBDrL^e=)dl^cFp?8o~DZwMg%Kla`OJg(wuAD?@7SIu7SYHhEL8*%|`V?Y=X#x_O< z<3rujExQ0vW@9Ql+cUlp#(%iZ&Bzq2uulG^bR5+KtdB>Y6AS;_sp5yxz~o! zzUSln|GCd|S4Z#knKS3ioGI6vnBRwmisDttzT$8TT+!v@-QC7Xo-%o#V!Cj?W*p{k zV1VWB>2|mFKza_u!3!QLn7lT;b24pDu)MnbnQif0QemF=T^lUE#VpW+!zk~_Zk#0| zqV50E5xz5^UhrA83T$0+-<0FsIP7f24dS()5rF)-^?z?DdMmr!@}Hb}KQ*@9Fp5u>+1 z&$kEf&TO|;B?o{;V{Ri2fO$NwwOwRp!P4c)ExNe_VueBTlRx)P^Y1sf{YiVO#upYj zdJl`#O&J69}|>_*94*!OSMPjpC) z<-2|G<=G(|7|SL5Z`rZ2HLQCdYWZ=xclq0@(9^KdcA0OqG_L;bCb+52HYC}PEjsRf zEbqvY&!5l63DhF5ca&3}d9-ILq6J$71qc90kFg@alI72hk9P zo!c8hK)S8P&-$^iy~2p0&fL8G@tVKhiG&IRYG3damlru)lhv`~ zpQDj;(ViyZb~iNb1^apycc{!+q&KHr6k9>VR!f*XzH6c4JNITx#U<(s?dRcmkG6lA zdc(4o?w`PNu6HkIq@zwhR*u6 zA~L4Lo~b$Wv1!DZHPZZgbo4xilrfz#&G_hz8oVz3^9y5mC_g86nECO@EbB-K? zcxWczxOWq-P{3pZ-$cg8&=#4Uh~gqRdlU2! zkt+P`$5u#fu`B^g;6I~ASReMxd{b{Gj5L_==sf?yU<=o!E}FGyj`{OAn*H`O!#2c` zlf}EvHy=&We9oVV>fC=TV>X+QD>@_LX3jD9pbFd$Q*%;+VWggCqOKlsbu|+ywqZ4r zl}Lx9vXVMY^NZ#znq|hKn9_9gIC69SXZ}7&c+zZXNB2#zdvk@5$T`FQ2CWl0@j4J3 zqx+3y)5sZ-EblYN9EQ}%m!_(!5ZR(RGiRCOP?IzGO%~MUqFK!7_#OoxOb&j!`V&Dd zGOPR5pn{=uaN)%c;8m<;*UzByVzAJnIcu3i3Qc2;y=39lQZV6gN{+jT7MiWlD2QyW zQMN7rfNDlX*wBZgHl;4@V$lU)9JHqOxEh)XOo*nHmcFyl((>;k&_viJV#D3zm47Ci zdOa7`ve-nMWike`T)v~vu;_U6&Hd;u!baBrBm^(AG&5mFfcq_LA%?Ct-$D5~)*~sU9iD`PHtG}6uYX4#b&175u9ZV{9XSZ~o=C_V`n1xk;sXvAuC=73T zeC8}P{G;e?wsH1>^EIw(O5dX}nycN%nlGg$R|ESYW9G_YPWE9=PA&dFlWcLXpB3@3 z_E?`U_t?wSq5P6JCXN$_IEA&3*#q2*0l^$O@?c`vaO{>g7rBfH3ywmz?TNN(Fb$dk7dtZ=FgAqL9P=7lgmS@3f@{UkLh~5V%}|LM z)UmYQLbl$Z6xmJ>|CysvBrZ@AgMcE>Y_hXo^YB04+)~UZ*yPMYKa_gmMG?hf zvb&XnbI^Zq=JK?Hh(Wfg{Wr6H$h_w|oir~y-J>Y;j2X-ync@Xh_6+V%goqqvuG^LW zEk^f1G}Ps%t&jHN(c&6#{CqvF#Gb+ejKLU9wH=vb8Y&wcg%69E&x_>%t8L2y;}*16 z!OEOOVS~SDQgEPM>^Gb3DaTFLz@UQtLhk2ocN&p#w?YbXa&70-k8V?JBNnz5S^!1U z{`4H0S57eCf)E@#Jr&vVy6&xrsWAAU3fW;j6|fvGFmq<~=CO*NZ_dyZtbiH}kyvaA z3YGOx7F&%RgYfI~;x3hr63sWY;1ZEj<|!H3?!JKay&B~kh9YC(I)QRxXX-N+#U`|x z6(4RWwKA#+H#3FcFbH>a1L2DgZQzCGeXtnV0c%iZKg0vJn~wHgC&B?J@qDwAZK=J{ zpym)TXt6Bfe1>JK{lQng&}7n9bxe96^YYHf9}D~tB*7kYX76Fjk*E_oY^g&EOw0c^ zLq4|AjEqOvVyz(mW_473WOm(-hV{0+n7&C?>+TC!sf|d87ehUR(r?PpV;uLp>e;JA zgrfNvyy~skXMMae+_w-){%) zSI`_xXBVgvzmFgyvpGf!usNWE={MDI;V_>CEh&S-;VA<@7}MWO;2%5~4;7xSn?e&F zg@4fvO?jfvP1aKa1ARl-lqFF%Q;LG8P5_Y_cW;SF%^nQu6#QGV3LN^BmCoF|#2i(V zG-amr=8sZlejCWLvNxcUrgo#ZD~jIA4oJnkeXv2G-lmroVjI1Tw+yR2?%rH$(}ukqdAn~wiCK!b_NHXF{gWxvF%Vg}Ihn4n3ru!J(6=Nj zADo~I@dsqzGWaosbJZKWu3K1kTuj;XlL-ULVA#3b*L}rcK zjmfTSvw^9F+3m>eJvb@gLp8A8o2nrr<72Z{%(qvN%FhCRBSzGW+74 zun8yzg-9_VvnP$=l2bDusO_?^*7pDI0o-J25Z5m16HINkZOwI!j6%b=Oy%xFE&ASu z|F$&Sl8^cuu{rvJeRBJtr2A^L&=xFZ?zw$aQEXa}ITE>Y{#Jm$RrZmLI*57i`*76- zXpf^cHgZPaNAQEp4?#6wqWDArHUG)|9f>$-9YTRk#9=I>CgLD3ksFsyqsoN-l$r&AGV#q;6Sz4t!^}X`xR3Q&l39d?jzZGT zJ~Vz^+s+Y8+c|=1JNuYx=Ln|l>|@1th8Ch&t4BRUbakURYqoUyNEE4^^j*oyhYv}b zF3^3JRDO0~(o_!>GI3DS)LXJ2$Yx7sK(<+OGCFvtkX0u^C^dV{(DxP8Qf4|l9HD3i zK%XVz(TBvNiumkG$c~EmI?ztUH<4Bm|7VTP7x58HMZAwW5ig>DAXcgVeCb5 zKIBAq1XI!NV{y@4r_uVNJA$d`c97eZ`b=+Q(d%j$qoQeXQ7}v!C3TG>g}ditgOs z(VK79Jc)qnZv~W(sepyE>MThC)nrKus8&l-Ky_G>0?LeFFp)cb#@SjEUM&cyeu|Rc)T0mi0;&da zIRVuO+6kx@(kh^~)#!Wy6~R-umPeA#Q6HpOM1(c7)1=JfF ztuLS=m>Bop6pnvvBd>c5A8xzivr3)zJPL=C!ieUB{D=K^AhQfc;)#-W?c_J zIDP5~s18&(1=K!c6DEr_ZV0IKi+f?#1$yTGVVWbWCeYapLYacO*t{v24;6+~tq7w- zD(6mFr$Z_SF`qi5@}c68%AsxwX6IlX%&018gY8R>|7%Dq|GSVr|3@(8e;;%FFLN;G z;LpJv=Fh>nf6Dcf7SP&H+CjR0(goV}lWJV@;QC2DXzeG>AYDIcBdvp#8*$ynfn9OR`-zXm`-yY&`$+`Te&R5%pE$^4VF!6EEORi2 zdy3paem`-T*H0Yu-HCMX(!TS8^pnhrC1yNc7%p=C|C}@%jJGmdxFM0sW@1=BY=x0= zT@zZSwj?D}@>bBw4jmvJJD4?#>`(*Ru|p$hWrr4!jvd-bD?4lxYpp_k_ zX+}ME@F9;KW~on)9el{KLj+TH@Ub{M9Hi0u>=40}9USJdgM+-5IzeNLv%{5&PeJSI zxXwZA5z;BS!@NWsfosTG9qurzM@1q}I>EtOk@?zs{1>`c0Ok z)^8P3wEp^PnWI1|PD`dJnggm@--lG|!~FOP43Q;QL560n`Ei>kV5~HzN5d*9^C($1 z=(&W`YJSW@zwfuh?^6Li@4lgUZo&Yx{Ib_V(}_2HF@Wz&0EzF_?uPG$A$-@U?_IDIUOxMa z(6r(W4+!D=rr{{h%$1Otz3?;P%h06%6jW4JSJ}*TPUA#Be{5yK&{O&k2yz0ThVv|@Xlx? zGukT!O!g++BD2IR1)(`TBBhY%#zjg&X!)gB@8>NAyLh1#o8h0JVSBd4NUs!FmO_(> zX$X`&gysy0l)^I&sV75dnNm<%{P*$9_ihUrKG8%(!6eT#{00q^t4a*b=;02TiC$SI zz%l$y<|VI12+bK3DT}nof&aZlq%8aWY%L;X*$>%?wFpgjVyuIcJklc8Sm#4(taH%+ zc8e5BVO!*;15t_{<83i>*|u2g7u6Okv<@jw&4Y$(z*o0GvV^m%_CQ(wsE$+s;cU}) z@%^EB7H_yX2>L$p*U+r_ApY4m2xxzhhl7NmVNR~ZY&{fVCI?u|vrj2xUC?khTts+o z9;AC64cqiX@U=yddu-#B^C%rFtPXM`#}zT=VD0im_JT%=Hv0&ME$}9N&87*{!I-Lp zOzH*ajs-T5buU+4y+KjV5*j3f3*i?HI$D(s5o&^v9Gcy_AR*QUaZM6t(OgR_26$nTpZH+zPa6cIJ9fXw0eF zbh+nXGIGzxAj0|}^KcA<$!LAHt3LGBXG!ixFXgd->e_8Pcd?y^N;_9SBJG@JJJ*9o z`&P1jn@PV`$#!i6sqNWGGS;3O#i9Eq7lua!lK2tvj~fJ&`wx%k+#C3`tgFWs3-ZWu=pPo7T=(E z1P%K^SUiIl(=QoWG^5_b?SBqo(Z-m5n6T(X5ET~Lj-s%r1FgcM31oa^F`3;wHnI>b zI2>(kzH>I z{?&&Hm0aVGHYO3d{QUlrvkVev0fV6;g zqeqgz3Xq}zq3Vl`HVFOr(Z&N9wFeEaLwLM?2u2&fu>zzE^&al{a|n=X3_yRN0I5e1 z6(G$db+pk2S_Mca$hZL64Al@9Ac92&2q9&z>{H7!*DpT5iBM^ zh<&R7k$K1uo0_C2L4eeuBEc=`j~~QtS+1f3F^xY^D0iVKgb~ z_Cp6{LFgVw2eCis9!Ikb^VV)1#QH4Bo{#kh_lP&Fj^K$X zT3XV=ouZ1CSWMAcD57ZV;L9o6PBgqK+U#>hMOz2jDcUB|R?)VCR9VfO6*0B#e zd`!_2`tgc(FK|=Puwl;s_v4Z265KLi=t2;H+4hzWgjv=zFCP+T!@0W7YV1&b7E{bJijUb01&b+WVuh4I|5Te{dioNG zJyayPO3n^6g0B5%D4R@MNxv7$Ceuz!%O0+3n5$~LLRrnN2d%5Q&6eb9Zkr{!n%ikf zuI6T66u(@}trJpKb5RO;$R5SjTm{V_5W1S{Lv9aONh)QU5LfNHVfqWG_*T#(!iw}Q zpgTxsyX7w6nF4*-IY&HLk=q652;3vsbrspIV_2UvIc5fr@qB=J35k3Zih`~ItqQsk zq*Kr>pq+wl2kjJe7id+`)h`znbUkTR(9NW+f^Gxp6m%!(AFZH!A=5DhO(?FQ1&b+Y zV*k4edMa`dQ_$-W(#;4U7mUSWKB(D56X^hA*c~v)Fg2%Cruo zo3%E9cFMGsv{j}ZAf5brby@kvP7pI=a=smtUxecFOR$*yA{Lilg2m()v4T{I$gfJc z#3vSl#pD;U_{2i6nEWDEND1_hvyoHY*2Qe(#Ky*KC?)Fdof*s^Q6xr%aW80bMMaai@6a@<2THTNMoljB3u=c;zS-eGomZqi4U>mV;}%)`f(+$qt?+#X-a{SsLm zEDJZSS61dMhim2r>5q`J4wi6kkm&&}C21IuT!-19>_y0_(pIz4C@*AJWSd}&R-!KRAh z))=-;&@eUbPg34Dh%_TP6MHazVlx^fWgnZxJs=@u3&%n6%^h9NB?$XI{ZHNV);BDQ zm}#gf z{|>5V#}<(%Z(4Z}oSWf1d9zB++}cPUEt@(zL8|36`zG=i+tjfMQjJg01dC442CV7dBjM=|!OE(hH%&(u$sj&10z@a38N{n$(%QTMNfgBbc57ieMN+@;It{7?uU+aa8vR zhJy1rs(XkP3od7xoD)4Edq&PQ`CzDLntTj{ZyvgI55r=E3J=%1N21e1mk}&h8u1q^ z4Y7D>1dEl1Sg|xP!hPV`@HU2HSP^FSyr`HdV#skgkQ2m+CC)O-5yYj8IBF>) z6rX7d7Mp1jW54?U@b0>0BtZHnN`NM`iW&}DZ8OVqcL!)E0nEP&5}*d8HfJNrUnRiL zBLO}I=LQX_-ny%|(n^39RB@PzN`Nx>L|^`aL$P+o^z9O$3(hJ5s^2L{fO?QB0h&R^ zhhmeFleh#BEGhvADa*7WmN?7&(j)*!G4Y|8V6mYXvG`C-u-H(Hn6JYlwsI=?*icNM z=unJMVJH?E15AQTn2kyRVzDuRLjD+FefZKbKqs5oZg|PQTO0$_fp!w0iL|c6fz;;g zAo;5VC`thK&Da=#kgUV~w=qD8OvZMG1h^e2{0DER07naRa62rgLJciHqcH2bdt6bAp1d~IqOLNDglZT;K$4YYF6$e z4UenrFb22}z5f(8YR@o7bIeBSx-+p}RuVYOmjn(Y_c*gm1mgjm9L+M*G{y$Ts1jjw z#hCxen`UU9*;=8^2yK?3nI-}qE$izJng(CGzV1U#VmM632fA}Mf?0{-Ln<+vJQmwq zv*byPGZbP~=&Zqq+^ivj>8!!W+^ivjL6h@Lj*k^IxvWnepovq*yD>uq(=mgOxiLco z(=mgO6;eXnGG@3y6BF@ZH@-z6J7(~q!k8hw2b4=IDv}Ju)9+tsTpU@{>gjhME1Z7s zKp=Pe-E?s^R4$~e0qGW;8$r7T=N8az!MPo@+Ytt`up{il;(~KMY26V9(k(c*fz}1* z+3(o6mv}+(*w<9cq>5edmtpIHMq&$Mf49J4T49LXT(!M!dFtoI9 z4kzZfbiv}7mf6POK5B6s5Jnn|`ZXMA8?2cPHqhQ;CV9lqK)mq=<35F7YJ*|HuJBv~ zisk9?PysT;aKCNtHE$u7OkMlCAorEGTuzKj=v^^Pme6wxye0GlH1y0Ew(+pi+}7R_ zF#T;jwInn|x2tHmcmG5lL5 z%85UJlpFulDAUYk8`y5dr0!`JxDzxAnr1<>pGX07OYcT`^eMw%6fpaMx40oA-3X;K_vI$@4RU4 z1w-yp-eWx8r6Q<3A3$Uci%Etn+I#sx$|D{Bmo0)GM@EB&;~;|MB7^GXh@e4M1l6I< z!$HdxL9*D`1ovO4=t=+aCXBpo{?liH?f^aMi9|ZYC_D?R@1(_H`bOaOpm_}Ao9nPJ zZt?8uV~X5FYSPfK+g_VvUn|{*Vmb%*nCWd5>p?$H#8x;SSEE1UVXriXdxK0(7@5nNm@ z3)5eoYfSs+V6n?#X`93jZ6BFkpBv^@sw-mblAK*v>{4tR!Q^_24KX~yj#c#5pzrqkCva6Fq&JAl_41&ch?Zn)$*7x^6eUpXU&z=2J z7(?#jt|P5?al4GL&&7vAg8lDre&Ai)?jZ-u*p+v2yJrUwD39F9?XY3Q?48^ZD0N&vDR*-_pR7K2H@A<)M)~yiOV}n-dPTA2 zH)hta2s5+Kiekw6)(}_jp*KL^Vjyk;=etE>kZyY20oqNk&A&n0>2(cAl|zjre>D&n ztDb}L*b)(;;`G`z2vIw|ru>t~ZW9^QS0`;(TGiEpDh{vuIaF6WWBPX0)dgp_Nc^9I z>Z%9n7KuT|Ro4{cJg&L~i>fX{$}(+;CC)O-QC*(F*Vc~R=NngDGHL(+-!_qDB*4`_ zQ372LGo7#@RKA!-&sj~b_c31ybB}TQha}B54_=F z#Zm38=mSB+Q4kH{?V2#hQLTGq?daN{C?awk-MUBCj+QGbG92Z)$6Gs!Kz8lOLDN9Q z&Snydi;~H};-W;bs3;+%yl1{%miK;XqNE?Q8{7ITSZowbEItYrOpUv6mWNnjybU_C z--Lsp*nSg%qWet<71xfs&%pu&Dl)v*evzh;bi4f`4Lr&tQg(JC%dNle5$s4-JWhhY$7RoQtCv8U0)!|fMR99l+ycSonP#A2f`3q@?LgyObV!D6;n!D6;nVsTrm zU@==OF~8z-z6|CpDEw1Y2FuJSItsJU_uDG+3Oc)N6=~CP0NdryKe3ai*~!}(({ej^ zB|CQ)oZUF!o8mYCq#Fl-jCbBCsDOCq6)f6$3Au3qVu>q`Us~tw&+NuJuVAsxODx`b z1&eiFVm=T3)Xp2>L753$7v(`6_J9AGKqs47#{niN%mnH{7sdgkbsPZFjRQ#jIu0nx z#~(8j=p13!SM64jG5vI_2(GZ9y8l>RcLo=QH&{vFFiK^f zQe*Vh{nv`g1Z7iE_sLalwmfwofvmcB5Ouq%dmnNV!(r6pPGUqbD=~b?se4>q?pSPq zX33Kn6BS}rsL{)Z+{__@>CC~$*pIovJc6MgbE}At75cFly@qSzRL@RgL@<>YKISAw z1XGFOV}+Cuw@8f5H8D@!M2eWUULq@NWW_{et4I@S)om4N1+7~}IxNYpA|_e* zP(qC*xmBdmlH4lNBBX2;xk3}6z$k7Nxk1q!P~9rxLxrs(97R2;er2o3jaGyCnA);p z5N%n{X~;UHqFY7Uku%j`T_7QLVN8@G1=~j{MtJ#L} zwu<Zf(Cv8Q$Br3H$G)}-KQ@*QQvWMI}N*WbGu-_EOWce zeR$T;H@EL-%N8-Wk02H`w+j?Cw-fr++`i02k1FXGU~bP}Q<5-!N@0-MFX(etw}d^! zw_DLTGg+1#&&Fs?j`!UWF3a+F+PQTWrvSn`qjT##N*QN)!G57Ef8~M5us%Iea+D|I zZ>*7#=>Cy?HH6~(YKY0cn#zl@1*DD@vwwOtuB2!JiK{3o|AN~iT0t*ZBfSfD)O3L4 z)e}#04-YKmyn13#1+JbTjjJcPXQ!34Ts?6Xub$w4?&^s$32m>Q0PU`x$nbL!?%4=L zcwpq?5duX&9zkf%_x^ZV03%4G=4E`a?dYI?EVFS5<; z7t$juP5FiKVz%98fFDJ#2VHlid<-3aGbWG2nbw1Hl`I{2Qs z!N~G%@4gXs;Bn(}TYBFeq4Zn({V+St`*sDfG2Jn`%#8I~nZxjL<07q0p8ftev}MM4 zOja(jVocp|M-xXTY=AgVx#3o@`20|ZXAY%ql&pPEIVYy>lvIx29qwg)g zC5!&t^wIYh-;zat1%8Wc$?~mJE(XD3_H1Hq`sn+MZ^@#+LQ0^2sy(~!(f5UBJM^4z z#h^I8=HBU`VQr|I8r%>c*4b;}>rvm~gy=1`tnWDUQMSjKPcYfiN9Jp0OyB!Wdg-<_+KxPR%;5zs>LD!MK zucRBV4{IiUZ%VGRZ6keuO0Kf)vUK_`T8mjHYDPY4A5Nt&0Nns8nI2cD&F_! z9#VV5`WE7z%Iy8(4kX75*4#ryRQq%)a<>|>pW$vb6oS|J*CFBWy3W4|?(RDOR%TMK z^Y0)XyUxD^Ig4NCFIen4e`3qO&Yy#!_;voo#Pa?guJbn!zyq%HzX2>&2ijfd-$Y!m z^KS*M7Wod4&LVIAT0Fd21KL^S8$qi@z6GSS$hVVrpDreCE%Mdic{kjx2mOPFyEWc7 z6IMpCVz&hoau#`z@(89Dc^`{gy@9wH4X<|fHjvJ)-U-^R3}+t#ZSCrHAe{~)85eU7_qnx6D+2~h!r$TM2A(vC9cB+i|H_8aUCXDOotIGqy+lM z-9Sv45x;?$nBG8a`nTzKK@Wxi4;t>pg^>IXbogYD?uk)J_1{208_0Cr`Rt3}Ivw{R zosLJKp_q=}i)qp0-j_)+9p^Z=5iw&rp2u|jpX$0QBd*Cz#zf6Q-gMkSUgvO-Xs3s( zE`Y}Q!u!mrosQ4L%&wJ*jY(g24Kz1P)ET7D1#SM0sq@4{x;v)nHKeysq=!J(G?IQJ zka>CwXeYSZL95{EJ(S}PJNwpC=RRbY66s!w3jrspXAXdv_O09^gSbFfaw1&)29};` zWga};i&syC@1{@!p;4r&-(YUNP_dD~CXX@cyEcG+M=Xq;F*bvCQ|rf2;11y&*GEs@1cTp zZoMY5xy;;}*Mmf^X=U5SZw4x5p<>sx3MO-F-Us3ynOiUSh9J2Q#CfX+q4$AApy-~? z|FLOw7iuT2Eq8&Zo!$Yqa$t)e;eCD73`jwUQ=1+{z#F9<;;^>YvX*4$cgQmRLnyRZGl(%yE#X zB^=~w2?u#HXI+iU$sAL8K7>>w6C0DReG*n^kl|sWNauFYDxJ5{a9&iqN23zyysu(T zIv+RzOG!3Hk!vD>>s2~Cs0@%3Ha=#B&7P>Kks8>O z&JOaVvxB_ijnjaxrZTIep(ZM*(z#a*qI3=*iG6RB&P!qV^f5~3O(6**7^L%Ckj_3< zl+LV&Ej95p>tSWtt>z#noq6;!f;s8DwTAU8%*Tq-d1v+MNoOBY>Fh&RI`^!{#q?-i zbO%#%1V&maoxg#CUPd}|M_%MSsYvJ8c~U2x{qv+n>Fn>g7wNp*O}UXB_y5b%xdpZJ zt8|8paSypRW{(mmYL6mR*n-!0$u}yU&%vg*{1Tk~_!KV|*ZQ~WhMK40KWO+({}QuO z7nU!d57TFc3De1?%ooD}$p>INDd)Z=lRkYy($s+lo*taXH$*_M*c4{x-)qck8XFld zd?l2vU#;}}iv6lm2WT}#nF=9kimI_BO;L@Oq$#S!k~BrN3n`|ko~u(P*$;>mO;LRn zg_1%1;?alP)-PjHk7W|3{CWI5HUwGxFbv9f%j!QLqi(1g z%1A4p6vfzZeNM)315bJfM9{{}bqgvNg6;$jwwnbq+g-?K_W%=H@^2uUgv`7(x>#A@ zY{yCxDSoKG3apeaKi`;EgoAKO{{uDO2|D~J%sub5LKQ;9ciIScWFk8gGd=gPw~pTs ziD%Ebt%x!+a>V))uQFEz$Yg#O!&t#5coj!~tl&dEj7j&wcVDjb8dk9Jp^1P+V?yqC zUU<<})s zqOiIWewXS8=0K|`Y_=ptVVfo819O(7D9mQWFGXRUkP)jq?K4GD=+gB>p$`@K*Oa$a zCCsaM!$cxTJ(Po7dL4+1 zg~Yt<;3RHWNu)CuK|3J7;owC2Hb~4?(%lnjip(z15S5h_mDO3$RzyDH334YQ-&4#N zkq+}kgy^f4zQBbbUvAM^MxyWpmzd0q2F(UBejV++J) zJ&UVibF$`dO}eYt^f4zkBbbU!A9G?ef~nYam@hVW&~yhP-H6z1X696Ewt-f$*=b4k zqHI;67u5+Vz3BHEA*)+8@YM=M#pWO~1;SBmQdG8s4%7AN1of$kQ51$%iOj&+N#kQGsH2cnw}Yg**GWlrpP{ia*G_mxFs<$grq%6ZuDTsv_h!)jz7B^}rv`==`x0B{{ z^~<4P*awVPJ`@^eD{2{Nr2g&N`nSO)X!r;8N^StIF&~jgUvwElU?Xt2Y9jprN8+Tr zCvpjl*|KZd!uvz<2xj$+gP2dJXGUsJU(Yzq*E8#=KVQ$xSIpNlKIZgH1XDfZV`MlE z#Uq&N86Wc)PIO8Ws=(=#qctzSPVq6O!J&8rQ=Q^tPNzgL)hQ11b;>!K?lL;1m6=nW z(g9j^is>aJbxMsTIWlV$Qgq5o8lg87e_NrbP8o|%)`DqFRI^{zREkbTX zE9CZE+cJ!=QzDp(iU_8n!pEGbh+rxze5}}VxmBT4HrM2_;ZbzT_RuLl26-?GIwcB; zJaCXN4}7d34|dcfit<2o%Bc$bI^`n8CNMXuQ~suyuTy+XrEnAyo#G&0r~E@>^L0uD z)9Q|3THQY8syl*db^BPcx~)#Bu3c8A_?VU^3W-kfA*WL!nC3i!Y0iDjsbPIXO$CQ_%knoa&d|vXg0x!+bB#OKQ zkxOCzk~&c6h%h&)YXg{Rc6cW=!|ZO(8?WJMtkUaY%s6EKlnJWKK0{6q?+wBK#;c*Z z81JM8%r$CW3(W$&lQzWkqGUgKueK4~j{#E9r}V&q6=vU6Xdf+|=i*wS5Lb88%ht?P z(Hkq2m6#cLC;c;!O%GM-%E{cMcLKQ)agt&z{iF{9xe?K{2`!sBG)_99#Ri1zTTPULwaYL z57`gp$|koK#53uOKsLFxTiSlR{CeO^1N-fA(C*viAl+`H7SQf|a64$X8>tJl`*!&a z7)u`;rr*N4M?Gox?Q+uk?Q)QAQNI(kF6y`BEvIEsC|%U|A@6+f)#`IFeClo_A9A~q zBAD(*^0D}Cq{lQ`j-cFbqzI zO`6>GD8s=D_63N*nQ_?n=VLfnNC|SNdSgEu{%(18!KfH^4Mw`h;%wOw>XB7NkM-EE z;$svK*_&a?`>lH9qV@3i%O!`WDkiz^Vm`}fT^X7y@#3P_pnQ8LabL%JZAm+Vs+6Wo z4yr}SjyP0=>_(H5W?u;GvTSJ`I=GO1MBW|@@sb~UXK3c*ozxiQ5A6ueLwF}W5}4H2 zkf-H4y=Bb9cqg3_2F#y4PvJLcSXf$OUc)=7N08=+!0WDsx4waV3A`D!ehIvtr2P`O z`4a?OCh}Qj4$QynOW<_~^54G%&YZ;#!VxM8IQ%0I8%@3hUd1ngyN6;gJl=GB=0;4M zkRVEt&S1M~E9n72np;mhKtnO))`h}w59O*;1`cCukBIH$B&NzBI}PI2J>0^Iv`qK< zKDJlE1dWP45Be@qj*4vvb4$Rj^VF3ACv6vI?*zyB*zoHEBOXuiJ^sde^f7wOzOclY zGt?u8`jd9CcMP|%&+HV6M!iYhnQ?c=a68?HhDMZGm-Q^ltomluo>gY`B&{-Q2C2&I zag9yd+A1?2Dk!ry1W{%7hF20*X1Nt?9eK*khl*|8M?Feg&qE1BnRQAo;qq_*dSszBr;<$ z?(nglSIev(gLWDrUo&^USm!(SmfhkNeHpbe0+ADCyLdaxdRIcWi+6!`+r_JI1+Ck~ zSJaSfVYgk}$M)9k;`I!(4Qoo8ZlVUGXh0G<-o$-_Vnc}CoyhSrYg*z?%;$h|HMmhd>Pm4d=d2d^p(IY z9$#i^z6tsc9~_$9@M78-^nGA*XpS9LK~F(Nw!dw}1CXzvVF+dl>A&v_?);0424xpi z4QSnyzOwrEMuD{ok*Q>;*>_J|Ky?M)nza#si#qp~_&F2F-t%r?&QO^1G>Gf$`EWR2 zF;*N!IQyJDocRO|^fItb{jlE#4QHa%{j48Y5e53ZTZvf}r#@>I7r%IKUDg6Ri!OH* z4~LO;gNAuPU)Tc1$5(?KN0;tlDQo^7L{{je1XacO;58&3D0OBjF8NAMf;d^+w_DG-`0d`4ERybd z7=9~z9*5sd&ol9x?Rg%4tMa=+-JOHC=Fgh1K4qokILT_Zl+3%`l#oT0k!7D_55?!> zhN7~^2l>yyohKbsYHAvSfyU#Apy4qTw9i#Hht})VpnsP-V}yz(xCE^zktD+0l>cBJ zGQe{7fo#Q!FxLx{LLVD=U}^RXMA=jQ?F)aaTmVg&n{r0d95&E~<_w^wJj|3Yh+>c- zUo|ZQO;|e>35j{aaTuZbkqvt+%pT%l>;c2>4RaTaPMMQ6QEHK4_l3fEKGqlGXLIc~@Zz_DSZ5mgpECB;m zhhlPQq$nF~E8$r6$$29%)30@Kv6+L0TM)G6W6VE?h5gziE;sU4p&sWy8vvaEf#) znmpfnTWFrcJ8oc*KkSas+>CeJs^~)b{>uw~z72lt6UGKV=%vtHhnK-md?hsZ;+5dH zFE{v?HhAhu4ZiuOq4_Od1|Rf!Xtu}8;L=4?|AeJ3zx&C?+>Uo#O^}~`9>f)1(yLwp z;~!qosFRYLz$e+VA^&)}#GFS-WQH6C_+k-CW%u4~(=#Qr2eSf~@6D##cMj5D<(3jt zyJirSXCPWX-5;mcUWH}xt`|bH(u<*~y*Uw3KgeUX!dpl|Ce99qgfq3Hyd7bS0ASLJ zH7E*<+6NMmuLH5m*Zwt;yX}1jw9hpBA+{8P#XakR7`Rqh`mwK*rgdOoR^2VkHI$=? z^`TE(E+dou2*yih@Dw!H7WgM~r_KGk_y$+(h3qKnk3gmh?ulq=7j(foVW6J9v4$a|sCFBbr(r{+T^1hFT zW*XkwxAD&%OB3cyyy9*0rwLPySN=KoF)V4}m4BukkunG3Wf)UF5y>uQMy3QoYL#YW zWHf&2p2K}{TcG_8deHmlVI=EZOzQProsr?=D?<79%G~vWU}&fIK|6TZ7ya*Fc;_BG z)aY3s>+l)C#ThspHn3V9@=|g0?=@yH=io(N`7y$%~V*-jpQeJN4+bpP=J~6lzf;5PIo=n8IK~=wMUeX!tjX@-oP5|dLGHvD zw#mXocI9-@A4htdtimayC^8pZWcS%&?n)>!_lWGqzT`b)qpH5QnA}aCKPshR=ZBH| zK!{npYx?gaac3ZF&PT+y&?Qw#xp`VC5g9v-;`XG9c?gR_{+qlYQ%wVq#Pz!!JukFxJoTKc%ug zYl;;inQFuTk>i^5Ij=UzT^6hHdFx_FX$*sDB>PeKVvN!XqtOcKsjH_BEpC9;}E|nqb#eL@JFKD~(U?J}&~OE+!V)$Vp6W z+M+J{F$^CPLBp%)4g8?eyvE|t`%-b4RblTvn>RB^mp=%@A@VzK_n;du>S`iACHg%y zGSs}O(eI%VtHt-wWIhO5o?iHc$K1QD1bs5ZreG6p3>$Gi1#&FUpCf0I=XvowFTxaq zceTx1X!G34d@izi?pRKqIg5?wnb^;eXH&ii8M%g;nSeP!s`Zx8YEG(Fc~}oYLr+LN zs=B6yF^4^!!__f|51qryrr-kUhPal%xM_Aepk88S!YLVK4bp&j15&(jXQsl`^rPd(n+yGw!;Z|5iA^4H*4LDh9vDk#4k z%F1b%lI@?xHdi|(dU}$~B+3(AxMvD)?HSNMFMovCKE{vem~)|hZe6PXoX5%1=jGrR z8~#cS|2(!r_QKwk+Sx(Tyxk!Zy)Q-zqHcE!($gQpnjKbeYiBMi-D~#@x_yZ0Qw!ba z2kF^k6Q-T?{z1BZFGPh|?aVo0`ev-~)q&2g71}G_Kxc3p6(o;)$RIH@HX$)>eqXD( ztmnB1+5g4do#kBBJ?!1J*q8ny_|`q4#Y7*qA!oG<0?|jN53bgA`UvzdTpv+<4U6d` z(K9i9Bzoot=_4_)yV{~Atz8(^%*4dN&IKm-umNfp1?g=eu3J!jwfh9=k`%->s}?SQBo;!xtAEwe z9sP?VrY6$Lq3xg@hi3cz%AvMp()bhSP-5T7q4lUf$Dz%j3#1NPs&u+6MjlZ3i zq#Zkp=^Q-JeqCot+O3;}jFlctojHip^AP2u2TQs*FNsf+Pb(jPq-O7UvY zC)L0-VM-G~K8ArHC@Xs%h*&B1#_{0$J3}-1DCp6XQ2}*!OV3$0ND4vz$RMLj8wOPv z1}pPIAApb&daWS8&s(9n2k+!f5YsJCMVk1817xw$#AVEyAF)wjuE0C_oFKp54uN?NFX>bMs`RWN z|4$4E#1H7{?}z3YypvB0@~`5POO3ec7c^>)3zvmf3GC!o*=VFFn4CB{`ID4n@?iCKVFM4?Z| zB4GB#z>GRC$UnL-^7Jg|(}R2#yTNwCJL>Epe;@u<><_vXj4*f4Bs0z^?AEY8dp8@? zhIiB+L4N9*p=rT8YOf&w-a?G_7J;4^qJVDafCGXTm&(cht`3~bR#qxYa;`={|os=3c!R>qKZ6=dS^AjLxE zFI_v7(~P6AY}seRb67OS z#p;u+GBp`y*F`GFC`J~TnzE%nO);v5saT+(?eM(iq~fq>Di^Cyc6Nl8R1P}b)}y4- z4MVH+H(TOPI9uzv=P*;dLqi>bP%E|uxw7Fw1Y5UvkhwCGiePBk3u4eZpH|%j=v^--f_;;HJrBO2Pv$n2LhhXXoOA-2-&m$N5;GtN_p6@{~Q3|-0UuYN8tN9LqHo>nhX zcIAQyMq6st=(m&RUG=#>VmT61rGinoFMy!o4fMLIZ9MBOtp=k8nHBIyo}u`Kz+J38 zYh;Ff+&$90SNq;QKEu@9!xToXw!E~9Gi$Oy&~OA2=Q`x5QTby>q|9AkrOc=-`c{gz zl9JJ&u(9iT{5cob!(g@d&6A87ax!jo8XDwB;_r57_p!r+{989;raz#CUrMVv%TJbzeLtMl2t)@qH*^P;mepu=~4c~b- zPLK;=eMqk!i9l%Y$~RHe8mt~BHPa?)6wz3a-P8L6PmgVIS;$$ObP5h^*Y zl2;v9KgJ2b0N%sY2$DB^RF1^Jqy_&ZH>vE6*+9E^k=ejJuY`7xpUPZZVp5kMoV1;Q z9X7QZSiMDAeSNUHNgasaUPt4n6$cAbXT$v#bw3wi{(vKrG8#x-h|t?TiNVw?{P4De z)Lub~e^+We*4AA;dSK8ndJ*n8p!2-S(NMQp_)aZIfAt(@F(9Yrx>X$wx>>^vLKdd2 zQh7R{COA)9B|YbP*z-tko5=19y81X9I|cN#rlhPEj8KftJMF-vtQPo~V=srX+J(Ku z_TItR4@!#dy-s7IkNT@Jw7pMPi1MVqEyKPLfu>7W@F8oH&s9L3G;3hC>9k{#nXeI{ zk8L?pl68X}cw}cgL_1FqavrM)MR3 zx|OZQ-A;&BBNri>6=U~t72+^<`}(Vl6sq0#r-kw{EtG@2Lfxk!r7mruB2b}FOVuO8 zxl*k?h-T%e$woq#_RCOZ#Ao!(`?)?+#J3zO9p4w27dlvL6>URkI zPTjGz+s0tdcDip+YO-_3Ce3e7EJg+os6!4HyEHlu7ptF^;bNBKgJ~Kar5=WhvH)98 zcOCrgt?n$j8>&Sx4jQ^~@YifZNepeIb+C8Ja$<;Jg%~<*C>efT>gOvJN?xy1Oon6_ zrZLr<6_Wv?4&5H}{c-4~kDZ#XiKRPkibh-5cPm6jNZlvC9y-SQ8bRm* zfyx!yh!8%IU{>l-aeWa6c0t4CNSe7zO{iM?W^C3!z{bGe)a0rOfX-EjDkU{p_Aquq zT!ZAszv{=ux&=FEr#%Uy`C=f(XVcsQe0B)3UI=q_#|Vfvf|$0{BqGH3rLFdH0f6WxG(xK(D`|Ck80b>FIaSQnnCz9{m_##bE#=ujWpqAIa>XpU5f zGP-PfW&ofQ72+nKvgx_32eC}6otn(OhLuw1O|Tu3xhG>73(B3lzP}MHC~EW7Ta)HW zO@{T0lzU^vrv4CHFpTX@*#??tpNbXZBPqr>QSOI5?HNW^B>hdcb(JXf(RL z^G6H^sWQ13*6>&^6@zfFDklf4GzkX90jmtJO?A<62C?mhxxaD8f_fu_16P@6W0)Si za^9%4_288cc?YlNXoS^Fqczusbr2tN2d^TS9=!6g_`$2=G}@7f)*ZZxV0!S%VJwgC zhIJ70u9JkbG&VApfAH!?#W9X_2d^A7j*uR_a+sHhgSg>(&E>)j#)Kx5)^r2O1?=eVd%HdWAw{^=)#(>JIW*J%TB#`S==*QV7(EqoQ{(H&c)>Zm%Z|NUh3SEZ) zWqqW7ILPZCKIHm`!~Fi?W3GSrnD!4Ja{VKMY5#DT*FSv7^$#D@{^206fB2BsKgy4= zbyAHA(Ei~=u75-@?H@iC?;pc8TEBlpFzp`>^H|qG9_!X>Z1MiFjpCaj^LjARL2MS+ zKOE*I;vg@PU6)Cu@-irjdhk!#s_AnWZ-^QS_}pzlJ>b9B&miJ~mEF7)}3F7##A zIx#eFs8`Cj)SJ0Wp|>5xsu?nY3?SZ<$D{P3T33zTZ6KGN1cHmVX>1G72bYZy1>H<(ZrW}JG1c8r1?OheuUo5 z48j(DAHuHmUduw<$RG2?jr=i)d)K3o>|OUEw|CuP9ILsF{QuFMiAhU0^7~j}@47AS z`YpEpI3-VgAZ2?{A({oXY(AuAi$N?~3}V@05X%;Yq-;Lq%H}Y?Y|m=W*br`CzK<2l zX7ZOeCk>5Usk4IohR5O{0cUL^(LHCRuu<)Gxb%7lKchzDNDFPm?P~t|0AT*C9qrt+ zBp;X+x^xZgA4oN5F#DGnhAzowev7cqkv7YcT=s3^!HhM;?!f2i_8VAvQJg zP5kh5d}<{4VC7o;eEd9)Pn{pskuL^!o@+Ud+9_zb32e)?lhW5s>I}H|x(Yu}e**tY z!Tgt}HiR!@z5%#W(*-u*a45^5Vg3PF?!a66)c}6#qWZPKlzyFi9+vJ_^~WAsYJ%K3 zn4|mH@YhSSC&n<@)SIrx1gf49nIQcYSiBYV@M-1UruW7+bkKdqV+x(Cz%jP}Xd2U) zMi^vPLr5R%vn1VtK&BHBw3JK4HJ~?Mqar&Ox$SkKEeg#D!>536a-C4OBNb&e4L`j+ zvpE{y$8dCN-a1hTjo)ooV2y~}vHv<6jcjsPN$X>-(R25Iio>Alc_<5#2r{>M7^I0Q zJwn8Z^F}r(JxRog4^f<$s;0@InW6DX%(#J`hbJeRCrw=jC z$|n(|i$PAV+zzoo*q;7K&6k#c&X$QumX0a9QZHn;y~75nLG}?s|hB_va-PlDGxgqe5OiE>uYRhOI{*a`hO&3iWt|2DZ$mz3l`ArE-rj^3k7D72}km^ix^I?RW+K z;xk#rJy%_+8`VH_r5Av!xaE-PHz`KNQTkbiz4%^*S_pkE_39w0SKFx_4bHc1DUhw#YK6Rd9i@<0uRi4JHG&oDbwdqYs8{ybO?>b;BYd^BVp9Gu zrTh-^_{u?E`F*HR{zi?>EB|bTyz-ywL$>^F3VG$fM`a@-=mj};d2 zKhePCYqyC1jbh!2>6t7abE~WlBme6n{&+0ncl*6%B}z-Ti0@;&>LPxn`eS|QBEApl zB7RRS;`ddbl1VJ$QxA8s26PdBEp?Z{moDP_SYO>?zn}V(g6Sf@k6D9O?qLjVrmI($ zjf?qzK#~y*BdKf`MlRc`N1A|!V=*72vFVWesRsVc#80pJ`1w;a6w&W6&id=_cARw^ zK$E`@>tb0fG?uL!NVb#5s_`rf$P`mH#I6Jgh5py>RuNF#6}?9v$KPJ~rW zMz-(Lw8`UT2Vk8}|6gB}aSs%k)n9hD7;QWKyq{Bf1&q=y@1x?+tK|AdJILdAk_+Iv zK)gJ_f3*hQOy9?l&LAwj!+Cb|CaGfCC1#sCe(0Tz}9cg<3ToXul0bDC+wX^3R)=xCs_PIA z^3>c2jg5TbuR}~#ToxVvljBt%5lGh|9OfnBATN>amy<{%xZ<~p*CFw;OXd0%AHw91 ztFSSMhPfC-1D%6bLtF?*LtPBo+Dp+c!paQP`BI28&=|xSXbj>EGz!TK)Q2z$k-Hiq zm`*%=%uPIuSQI-UO9lS@? z1^K_UU>=Es*+=yb@+X{%dpGbNwH{Ob`v|1^(W)2l9tra{-YLJw zKTAQp%YQDyKkLj%n6(=4&!zb1K>TwW8e+K<&gcM!Y1-j%kG`l5Q!1BE^$2MVh`xDneZ)Fap6ri`{1fBiu*wjGkqZo4F5?pBQQ zZ_45z&8)QJAi|V=1Ifc1>h9%Xg?3v?Drn7v4@n-f%)`p+aR}qaXLT6&PKuF5rW|0? zaG00ItYy>ip<)_~{50^H9yZN;nrAL)Oj!`*>Tz+;_4W?vsUP8o8)l~T4$w2no8`xVNd-CroOJaiw&PA2fPb#R zI)=FX4W0{K=QR}F&_=B00UR;j5QzkNIs9R>~%GapC$i~z4ri*tGM2W@7*RX z^6uWfz*@2~mMbpUl8rlH32cMF6xleeu?+}pFpeogp;ysuLXkp%kWfSm5Spl=1Q3{B zMejinIs`;XC<*X?-!n7XxmN;g?2uo+=bPtQ>D>3uoqFcXnRW)%afYmblo#R1#R}Q> zQmaS`+D1iEz_u!qg0(}DVxp^4niKKhj>+a=rWeV)VcYKVpeXB z!Tge&pL;>Vx&9)wl8du@V|vlJ86aw|%^Ye$6pb~l-Y;J+_#(8`V=#bAf7M8H&2=fh zZvqKCl>yyBx&@mTUnqRX#<11kn16a0OC`lp8eWTI6Wr>_M8JdxF=Hvs$)0E>kUDM6 z_1UAb#ABSa>l;PEDNiDK*NcKv3sNgMjUbJM+g8vj)A#ir4<|-G73%r(+ZA_g%uq0t`dY%Z~~ZC za12KIq7@ti31_L>ehnmC`KW%1laX?_GDyqDL~V&#*yM8S?WXBNvuQ_z(cwp#B&|!UCPAb zq4CS~@655RlRXxK$T&9nnme;NNcC*vd1&rO$VM7B}Fa*LDmB2}Kjv*VyiPbg}93cu+Sra!PORQm1nrq@- zFQi~niaVjIL1GO&#T`)fpttgFFfZ^E3Z zapfTLkE?Y;gG~j|uu0|tZ0<6SeAuvwSS7ZhG4~hs$eNCbBqxP>+F16=n2+`aq4$#6 zkl8C^uq{Eb5!)3;%e16?}LV|ZnpU?CA_4X=#19~N;L z8fY|b76`pp#z0ks^cc=ys~U-np3KMPAR4C1`kf8w^}7(n(UWoIAhh*68#3#62BYLN zOF02dkEm?SjHm($KlJNllxz$=_6pHYdv@rhr4#rA70X;c8}N0bW=}Zm{E>X$u--# zsd5~JuO;2j&3?9ap;jm2+nVjOPeY9}PPDRFX=>_?{9=|20?b?HL=Qv^WDP`Ys4x&Q zsEli7Wv{oaWDmr<8t{FJT5c<&t5qlZJ3wnS*TZRQ6du)F<2D5Wi0ZC!gA_!y*Ej_! zbFLCbK>cOk*j@c)4;-osLVCEK`gR>GU?HrU*>0)><=aBKcaLRyL(gT}&M$txGIcnR zo1@CK60|PUIw4oDOq(Q()h^Ql3qJrRbo0|O%APYAY;m)j8UPOOWDah1Q(uyuv!IXd zvAFN=xwvcj#m`sVjg0PgRorc$b#dcrXp&^%YDJQD>lI0sZBZmgYVAU<@nYTeB3-N} zMN$XAtV+|`Na@Lu)P|4@ZKU7mu~<8LF4j(d@$(gHIp(lxPEnV0)`8Z=+M-AnYlk9P ztlqlffyG*_NEU0okgH#;Ff}zMN_z%V@bB`|a@W21g zpg(qVWAOhW;-6tQ5A-17U%0s$xILyCznXu!$?UFCY|H{Z0->G)BFTr*2=&Z5n8w2F zTg`WvBm+&mXf;Ky+chyUOPb=I=uO!D)I6R2wI#HRAP{Sw$#S~OIQFzPF9dwClL5pT zCgZ4`)x4CsY|FwBY%4-9_v@blN1_{Cc$#!PZ9?|r3|J>gb>)o-h9QScX%SK#PS_aM z!qc;1TUZNEcVvRhgeRTQ%Ynp8SM_p+(?-UzORjlUW{qqJodsu&jH54^HA*hQ^p8wf zu7??)+-|7dvslA0XVHlIxrKE!&dv40jFH9@GnR&UB)L71jq$5_2Q~OSh{yQw0Umnq z9d#DqSCfWu&tHPraug^Y zI}qFKi-+NO*d0VIA4cKfN)Vs(VJsf@+%M`}i(k#gc<5Unb@sroW;z}Y0dWr>w#CD< zAiVwYupb`Q1yRd~#SzS>nkhJ8uglGR>Z7iA1?N-sTlUN~kLmf;yRG@uCzZbqH6|Pe zj4ZaD#$*Kjl$vPVUt==Rep*d58qCsT4%6PO$xIt6Of;UPJyNfzd0M6A8jT5eJgp`g z|6*g$s)jsIUMdWg=B1Cxlz?UtCUJsQ87sWN46UP@-C{g|d~ahUm# zPKx?*$6ACpmWSf@xb_}5{oFTP$C?+^iQg}L2_ZU;Sqf803$Ix}|DYKMb zyla-S8l;(}tOspoDO*6BS;}_MdKuQi{Ii**tR$^xDeFk9S;{7mW|p!Iw4QXiN~cYR zU24+BhO9}K2enU5eCSCR8#0qF0ZdQ2*jU%33$`U5uobq=>0m1mteK?@V0s8|Fl%&e zAZrN!h7K)?(ClScS1$!k2d;lG5yDQ@U5XI zz6a~g_>pT*$NvXNPsMt~bEC0v@dp1a0t>IZH~!r9HLOEl>#mh(~kK;(;^cd4!YO6Mr5Dd(Vg3nfo<@B07IPH_q*Gx$<4r z(02Y1H}{R9hho;ZLvQ509%bU@Cu6rD{m&nqKBOe-v|`uu{2}S3AUi;&{^1{i&_C6m zEI}4=n|Y=axes9Kwpjyl*vs2yzk#>(S*k&8OAISY`;CJ^35`+tNx{J8Ytti6Z;eeM zcC70!gTGlCBO9lVhm;Os=C)be-&B3utc~$1O5Qdbz|a$%mx~85>nckBUzh~gOUJ)E zZ!;iGk0 zxB`ir%*DQNv&LACrRRb#;8J%YqH-9*;Z3w}fUX4%9sfCyjf#92WUC_2KNae}_OLh9 z{TIdW!yu~_**F90zL0W(=FK`r&Qpxj7kt}T*9DsQX^%{jzMPq)lS-_Qkv;;%9k%I5 z$0K&o^N09%fqYnhGZg-&=A!=B6GGT{b!EEoN4A){L(D6l7;~P{-?E)gor4a_E5AMF zJo`Jvd@LY@=wz-(Gwjq}Ia4)%NcN8*sDC@~?B6g+^@{a%>K{(}cr*%HYnwkb-2}24 zWa=L&wvQ%~!`w96MH^|=9{QiHq8I)>2s_E~x|6SUJE*YV>vk|-V|F_@)Apy^fsL7V z5WsXhurbpP0+?6e;aMk*baQQ z0|dx+@HX24==nqa7eP+b-$*-H9Q9k!4g%P5svQ_icwS%gJV$@aUUBO5xWDz7m=nPC z?Y#j^-`;Cu=JwtIrf=`Hu>z}jm!ZLx>J8#?MvvVh8J6*pI!z-0&L5g#S)Zh#azL1T zd=6zEf+&MR5bGca`5l`TAht5fq{Y}QZoCOL0J{BjY?^P@k=m7JV_lW@2kj97c2!y? z0Zrjf{ep|x^M_~FUmS#xlV72(Y+sn>&!Y~FkLMHOjnDInQ94Ox>{_k zP%RL-Z(dFVutPm%DNP&)sxlTq!RDsLvdN1=7SBn2N?^5V|Ah>{(*BTp4)z@Yk-h&mP$4 zlW_;uUZg}So4=diDlW;{7r*3TZf?P=1^SaOy6AWZ&RejV zh&us)-TX5!l9^r?W6kzQT&HnBb_;9R$+ebad`FI2Iasb~9N5j`dgGv#zn~%81Rcyc zj>{ScX9rl(v6F5b;*_3#WXyR2zs6E%$bDvG8R!04;A#-Z!9G6!=a%5l{RE2LIREF| z9hC-rToPsBi2eVyS}s)lQv<}!*AK@!{XZ7PoToI*LH$X^&IXfrllW`|w-#SoUC;kuvU&AeKFaEbuU0*SwggOU#F(B236@2zAb21aYpLdUycA2s!)k=Ds z;B`J8J~!5+Oh|&!3Xa&V?BrL@%HIJb2BJ(*l()-jBPC)0^9=;FgR&B8-gA2ev6a4I z$a?{qGLDtL>=%(NLpP3zM{;e5B4=6MDnuferq?pLTSrpUV{xYuH1>GNJ-Mx<^`+@1 zQZ~czJ-LE~?#U(AwaZFw;O$^6SGux$#QU4XqVB6VL34g%89EeRooO8Fec27JT%BoS zNTOVw8NfnG<+tIalAFxcndVz!T}h3TrKD{pzu8B%&1Dz3xbD^X9x2SX>EQ`!$ji=i zeH!OAj$y&SSm(7dW1ZK=jCEccQ|a)ZfjK3tU7F%hyPh+0fU=pIX*k-UFOiv(0 z$`)gu*L=-VGv;{>#x`Nh^BQdBW1(<2=6TK65(_qIIjLTd;q9u_{Wsq#u)#s_O7pyz z;H77c5R+3(2AzII`)`SpkVL+=ZME^4avz1{FQR9&b z=XU&-=Q3+;L*c62MEqOc+q>eP0^hUuScH2tv)fs-=mW%Gdgyw%#|I_2yfpRcd~7iQ zx#-(izsEtB5Z~^Ki}s={CXGU{|9g5`r!FYbqO!{Lub6XO0hNTP8pHgBZs51tmp#wDZPc^L5; zM}Olm;&oDQBcxh{gs(hW>@$w?**n@zaWiTo--G6E)K<`DH);oHvm4cW5418$CYEhQdjww?Uz#6ALF@uu#$k3niUcDCw-tLej;W4-j$GL6;8_i#Hl^ICud> z6D!6M!o&lu`531m9_unrLp;`HoQCXue+mlh`y&+I_s3ceZ%m}VVJzO57>JpTiJHr+ z!A#4C2$$D`40Ab`@WNb9EX?JCb#ZwMLi!;tZ|8f><<9#BF0TY_xV(<^{|C5yrX@W& zR$o3u%xZxWM-E(cZ(Pi3X-G!@#;lf&8M9geEY!Fe-p|@X5MTF3GNgMW8S=l`NV;d_ zf3&rC&&dC1jfhgw1nHoaigu7%sqj7!l1fFbBB@j~3E91)#?*9A9kpm0?fAxM8s3LW z)96Vpk*1hA23IEOnbJ%9pcQC2FFMOi20>K3JSDa{NNq?=#23X{;k zs6|bGg0asrnHrMXapK^p=Y5*DGmf*HN8$2Y+P5=~811aUV=*V;jhVJ~{!I2Y2GH-kWd|$4U&cY;rt~h*>w!F#m3T!$;Mr z@+Bkm>DyTstBbssq}|eo|ER7MU$UNCdMPf*<)z+Be7Ce0%x>}?-zDX4=|P~mt98j} zxAZxKk9A9{Z;Lqi#91<-a0S>75@mTc&T;S}SK~OQT#^Z_6i{=>Y~gjDN`xC@eITo4sC2>8HDz+5>ng2xEs$n6`aLwwRnTuL73tdR*HFyY{}Yz6w9ZZ z1X4_>=M+y~vnifzrFdIO@rF$C6IP13V_-?YK#Iu#nf(JPCe$s(9BE|sU1KR`^UUmP zrFd%qIE}y*zig#=Gr&s*1X3(zd{`jGJ(jVg_~130;)9Xm%8ym6Rb^aj%6O`VrHm^i z#Rjs<*oL~wct`!IRmKLg__$8{viR7B3Vgh$_SjX%jT%s8yug(4@fwyg-bhkxAghdR zs4K-6>rbsRHjtI#tFOb2F&1KWIlRPTA`#C4yJ0Et@3;w+oAiB% z)}s%Ni#YSAp(i*P{)ZofKfH$0&+>*w<(31>?ebO3`5k__ov_31sei&y#urh?-`aUpDDb48i zcwnqaQX;6LNY2mXfMreW5=YE^p4RagXP)+$B)Z3PLHj5dQh6iJ=UTPP@XwrWLE zXRB8vb+#5ES3+k~GeQB6g!CD{Kz^xbh4M=X`9-@deG{5WqiUC=e+^9q>*ALkhbv-n zD_&-(Te|+KN-fD$xTV)Z4WTNMndFvEK3%CFnSI>Si$PN@$v`hFM)RX}nam^5zaCOz zo6XnFUx`LfT|(UN@Yl^#83}YWBDRC-M~_|OD183o>IW+^)K~}=gdiToaZw4ueb zJewI;Nbs3>cJtIl0tptWy%O4oB=|?Qk5x65Vf3Ub2HkyIt+L$Xl$6O!@|l;RImd)8JHnWju7CL_aVpm2S*7d`|9Os-pR zXM**0>*W)%hac7u&w}lXdeE?j=-px2!C(Z#PL9a^LLkMl-2?MmEq|;iTzx1v8Y*9E zNMVd28jKk;#t?1H7(+A|TZl4-=pAWAL)e%rG+t#&SDP!eu|C>dp^XjG<_c|09Z2w3 zY*46b<}iHSI+u-AZk_sv zxo*7$?@ci6Dwq_5aVASJtAE}4YTjdRZSzr@=r7T_HiS9x%og3*d2v8p?vi5jtfO>1 zr<2(uFs>5qZnxFZps`E($wH^aK0mWZL5wN6%K=LF6tBdPM8w#S4oOx`jP2W9j5QPz ztmH1oCxHZ8+A?w|j!>7jtT9It{G%h1RZH-}-4lFxLGCKfxEP$#yB(ZybRgLx=vsQ_ zjJ?C0aejBs`2Ff}MrW8a&My@7F(@)O|Lq(UG!yG_ zNXUVb5Gsq^6Y`^aY6>5Rx*S41>&MVjyA+b6B-VGxXWg>@_>X0O)na|zDZL)7(Mk5W z!7cN&mQ*a`l2^evH2jzOTb2q_KmC#wlKIZ(P^G`|Psnj)tYR=qZH`sM#9bxCX2w;g zLZ?`&n4YBB*9u1$nGH#irAC7(>lsdwEBbp2>90k9ZzriLWS8!tf2|>o3w7u=RH%^X z!%9gMM$-d_4Q%Y|?2KD5=NEuP#hs}kPVr{`Eh@bYQN{IUoK?!HOBf! z-hAr*Cs|3(^m1h^YcTf27|Z$`5Hx9j(wI}Oj0kLO3PuD{0nQYZkgqD>((Xm{l!mM^ zoeil9n0q&-byYa2Q?cKw9(3QMBWYGl3+RdONWHYvi>eoA5N;E+EAfh z9@8F8y|C0?(-@a9Gha(3d~JoNE5U|joPps+#f!MS6Ti%57~ae66J+w?z3_)){LDAW zXh(c=1Pi~wa{or-;3z)xrR(&$0Q+!hm=NO;x6dPwE4!K*7$uCe^UaOJpTpP-&qLT0 zy18=v*^ABV3~R`t1T$4w-<|~JR19?3?qYf+h9S~huen)JnTvsXyMFm2s!gzx+&oX; z4`j*E&Bf2nKl+&3#Fl~Zj5iI!6*Zi_PE>%MaUa3B0gkg}o~BHbMR>Oq8}~*}!;$(e z@o)-$qqoGvLxXXlNIyJmgNI&2W6rtdc&K%;AO5)B;b2NJ%`d^=sDE;{i!bpTy&)cM zL=X}TPJkw_Ll6?oI0Pfr+$VpiBirppFTnfbF}mDi57!x;LPfR=#37i$jx&0S>yn|w zu}xvZ=@E5;VDyeyWO#FX9rqHZtxq9~?+@j!{M?Qv1u($6gGoSD;nrE|xfp6boN%rg ziP*A3DnC-C`7%wUj-{{_%rLZ-(seU;MFGrX9!?8`#hGzDU`5klJE^GsMo4G|a z^GpaEy=&$JShJg{L*r<2^y2IYL|`Cxdxz~N&`#PH>;JGl@dq4v7mf}bukm#OjP95D z=DC>jTMbbjEjZEZ3_-Nep6xp;=A5nlvENv5q6+S7JGed)+**1T&ylY z9oul}&EG}k49Mt3Zt1$FZg+9xWQg4T>#HU_dNg=}T#;KbKqHt>>|$sZjho*THNfkF zNAK9xBX1}#SlCj!coGMWaYpZ&X6d$H3&vKZs$a^cWnHQU>MGSx$gDC6#%W!pU>tQ* zdM|_&Z&M`i+*vEyx9C=)s{~! zm2(V#(=R9B<*8-Pz{*Y)%J$;96U#JQaV_!B`;#J$D0FZlGuat&eM;tV5-2(>GB3UPI&(btXJb zt8Q&7Tw3JrBPc;rl&*|glw%iO;Y>LK3gCKGX@Q2=iQG``Iyw$Xm z`?gv=ARJ|bKX=rjIN*xk$qP`fvO_a5d$`mvFPoRUror52M4VR0Rqp{e_ciFTzXiR* z&Fzo>eJTOwP z1rK*VA9G@Sb1@#)0kMD&*Wls$ed1!E+dG*ZM18oRlMf@9qHEy!R}q&|S6n;(y7{HI z!L$c{*mWtEoApa42g2JgvO0RdScf*@L6c#4S~A4zpyI?A<4^B{@P}6id2b;j(fU0% zmoJV3>Lm9?2B`z#7HK#60Ur2;_Zl);x+S*EQw(@@Zt06yy%BnzTl(mcn%>zhz4Zi5 zKk4>)DA+L_UskR@k-#Sh?_hg$V>RauoPOsfhY28+6nr78Qxa_X~55; zxw1H`F?kdo<$KuB!6$FRfcZ|~L4g(m>XPpehbZXMTNBPd<0$B>yQDBDUETctyFk9% zTWTp}yk`RYRS1Rm8VWW5B^ua4TC6_)Kezccv)J0^N=fED<4wyW_1X~{ltac_8qxM#*E_>9smt!gD|S;G)Zq>a=>A^PO%LA!@}2ag?gjZ# zB(U+v6r?{3Y-n5(#5j1|dU6n(g6-zm#LW6?V(=+9#jVe6pix03+)&g>nib<$ppP(4 zDrQ|bV3U^^#~ZRIx_lD^*C)6qnwp#06J5vmdbel`=&n7{pv`X4@=ZbO-J-KByTP0? zMcDpR0~n%m#Af=j%y?WrVjQt;_VcgD2~Oh(ji^}1TMt{YjT3Ap+1K%Rv7(XWBAUNi z(GUwqLo5^xp>Q;U>1eob-Z->A$6Mc(4fJ)$F&3J*1*}Pt-1^lfWT56**5NH*f}y75 zbg>EDc>K{VU;Mz>km%ZJL%wnIN1{#3sj}ptmoTix&pQE9Wa?jI&PDinmq0#rF?T=Y z)6KsCAuK}dxQNGj597FA;Qcw0`p53D=THR}xDCn++EN?o6Cb5AMYMy&NvP(kTECq49q51BYoaU5$|%#(lT}DF>{N(y{$8n+Y#HT zxTNzsEJ@-U(5ZXyO)Kg7#i@2o{CAT6G8$L}AiE9UJQ7$A5$p!E(1)-nQMow^Yg)wr z(ZNhSxEQhATF9XFykRpV-4{1Pc4{fh!u!>Unf>aiTh7C|aU=vK z;Xh^>KWDEp=;4?@{I){z5#tW(ZP70oC;pbLV|EwOONyuvDBa|5!2@;J#*5fLt zgFdDxbusv(p0r+%YXQymxZ%$hqGrMVd~0t3)~0+P7FuT`2G)l2&b8LhC^Ls2U*z9n zbrMYZ@DqysD?`|b-QB=C7X6J#l=!)S=?wxg@VfV&-|IYDKaP>lMkeYY{R#NJdz06Ekuf zq|c-n$J2S$! z2lpPp+{@ads8jtOsMMylv?O?QtTWEh7`s7W z{#|GS%QaRwbV3i0-?9j(l2B?2{PvNR6G6Hp7Cn6i`C+hbM+Iv@RthX_4toONy zyMy+~F3WpgUB9)v#@LNx5thb>4aCA(cr02eFBNaFBSDYMTg7dRw~G5*pgq!#3)H!ux%CNyMkk((<$GveIe0Z!h-&20yI8Gha}T%UPX#Q8gZ-sx`cpZH&K zHt0*;+(i6uAiczOMt+NlxnXW`(OK^#oWq7N><#@qS|(@TO5NlY=SG}QuxjJc2=!}t zSPwd?cO)M62QhC)F!@G!_zn*eBo|*EgO>mMU*HXFRVUBH{M5^w{M!XnJG~lpc6*5& zxe|?`ejEZnB;udGbHw?retQTD=+KD22XtVA(dZj50J?Eh5aUfK91q$4hM!gJb6{j+ z7$9W^L2onINQAfJ1^yeTZ5uKd(Ab!^g?f%o9Ywz$IN6Y83-w;@lWVtn;ABH);1s~L zmSbay3Gi*zRl=$?Ug*KZZqJw+u+LIlQW-Hv)ixew=%o^yqeuMn3B!1ee*5tjRIHqb2cRX zoOEEHYLA29(RD3-4-2b|UC*1!U>0a|4t5WlAKUDMG zm}-@R?p)cRInwq*L34-{;#ZEYz@+3?;}lneN9~kKFB%Gt3QZ_D^=*&AIq`eYlO`X* zADQic)1J*sNzFfxTBj%PjfnpU)Ggz-0O7qE>DPXc>y&TPrEb*9=QXw=^wmpyZVQ_^=H=9r48xLzud3A&XX$ok*t${z|I=9L4&cd zbS+eBZli*+}nllO9QhkX2PILynrP^Q| z^O`Ny$7+Ane9e|>8#7y~4Mu@xZK+x?B5|ZaNW_ZrWg$oO(!mQ}dA0O?RS*bvOOAe#_ob9g68%Zcts*L1<}D zQspj=cJG?jigsTME{U$$wcwIyKq^aaQ!2Mev$!8tO3JbD@x4lkE$~-8=-QPHTDqoC zs#mvb3I%6Xd9Yl1?wUf?{6|#tiyVMudZ^}X57q3i;cE7KsOEK6rJ5U8wl1WaS1IV$ zl?_^|ITZBjR&yx0pIXhd7wYDpMm2Nbj~l7He_K7hB)oUjd)vAXa5J!xSK33>m#yKd zFAJuH9kK^wWL+GplJ4Arorm~&{e#{m>E%5neLxRMAGn5-J}{UTN%~+Uz4mFDpM1S_1j~a)8SE>nlM;3Ff%n_V`gf?#>~`&jhU$lgHdVGQxi61rY3Am z51jYbsk5dgY{;6L_?`A?O-Ijj*1r0W=BOkY1vVc;tY~AOMSwbqe{?bNxhD=z9k2w(M#Jv>*8;=5};>>Y{)A9 zE45Fn_-)7(e*n|PZ)2wTWs=|p9VW$$H##bl1U4pGZ1TO=V@}^UFlw0)b(4cJ@4bX` z-_xUojW`!U3wHCr1mkmR-dhq)U345KsF6+Y_^AK-`YdwgCgGnqIqKaDJB-FrL@#P^ z{U^RJdis>1N-cxPCXE26tkj;20B%;mH3#gu5OVQ&~11ik2M z*cGw_-wXtR`;p{eLL>bqesoO3hOZ|8bkZ|K_SfemP0vZ45zR z*Hw{8qW5+v-0@Tm+T8I}58B-E z)B;-H@zf5|-0|ehDR6HkX~n&DAPx66fey{OG50ICA*38WLmNT}8SVust{i{E>z~97 z_kxr=p73AXMEo^(JZZ=gY>i&iJPkpIu4xu%HLq#*|A56&fAS4nL5qFab zI|O9{r>VR-L76}-EE5C^$prb9GQq!RP@%9yuFZ}5H$d(gM{Loy5r03-a~LQ77DoEL zffcn{AH3}(nPpu@^_}mkcYx6z3HE({9?}>%@UO@rAR}ixk;QNONfSWyc?sb6Oq+wzP~A&7NrGr{U)iWpue<$?9y3C zQ)kKAMZyKu`c2Y{X{0ZY?T<{i0mclKl_o~Bg6`L09E@49l z-n@1yn&`-P3%wy0f}M)(U}S%ET!nzYEZ2(dUH|M5HvFFnFEXLvkCd1+P7Nu-^zm6( z?8aAh)?R1E!;2B7T1$0;@nVEPI)*XMTI8hi6*c~#ICk@g-lubNXui;e<$(HI0)U$i9}$a8u4{asNR z^f)0~iY~>PrI44G-io9oUIuSm<>ovb7h&KPxT0q#&1KUyuO)YjR=E~u!_Jt_x1uMC#nT;d4#&Nh-u}i_Wz{e8&!wCN2 z5n$D&S>N)^s;by8{VDli5n|jg^%lr#kg%!YU2U-feGbQY+SFOt{9dm-lq?6`0vfhE zU=?~F1l-P0>Qjd?jy(`cGM0K8p;VK`mcaW#H-hFw{;gK%9Ol3_ioc$-WHU4VAjJ_gGyWQK$b@Rf-=B%ofyS}l9Ck*;|JK?rOl2SKsx?}U&T4;2f?M9pvm?(w!i^B_Mapwj5As z8yw@$o}680y%4l~>k|aEO^&klEARlB3VXC1?*yQ;H_iMCSv8Ij zGP1Zkw9Jyh%2z5@ihhq})RdI6bCyP&85L`J&AS%@lx9C-Ci29cYA5b-tDEJz#eu&W})3AjuL*A%QcW_E*^xKK|^+;HDo7RLw2GS z6i76ol}WU{eZgdoSYhLR>Mj(2B`R(B8Oijq*ppBPx^zWq=0x;CAQ4MR73en7p_64R z!D_$QId0;0P69Q%%D*2Me;P-q_wQo<9orQ!YF)k0Ey^BaVdR#wcOCy3>syQz>96GD zx#$&I5z#>-^RU>vkI6b2Sz!)TWbp-B~5Q9;oWax^0AxnCRra-PV|l^Jm+aii^RkJ z4OnVABJNAZ(m(lK8w*fshV`cv#W-fD%Q+t5W&WAKstM~%rp!@jjJZ) zWjbCk0H&Tm4xE+gRZ)n8&{#ikNRU0>@Binm|5yH z*briB7q$(VrA`|QtyV~b+BGoll=gH5zsc}~o^c!wg;pyFg;y&C(`#+^r`Bo(tczNu zxGj94VC_;I4=7ZMghHjr@#0FA;%MbDP>RIDrAR&ul_H^VDH8iXP>O->dqboNg=pU{ zr4;=@_pKpYVr$5j*c!4Wwt@l@n^0I{_tbrJXcImvMXVsP(^o^isYd&pJ?RAA^p4_3}Zy>Pk%lu~Rz+)N^+OU6o2ph4b>#uDcn54fEN37)~LYThy zG}Cv-LNxTdea>6@iy%~14Vz;-T1jlCzjZQOhoKEJyI7x6Yue-F5(LRM%|>u+U9u{5Et`8v6x(Q<{Ii70qPejAmym)q-ss^(Ta|5mVOj zFH0B7p1d~V_H_dHRTG1CPw&%S1%H&QGhrvz@xHTAa^Q$Nxw%qYYCm)-Envak?UB^( zpq>3dUzzkT$Ol8}eO)rZ0SuiSkXj$rUB{1ZOO}vDnnCvGl5V%`Y?_deR@Y)49VB<=zngd@ls-UB>kL)Nr(1!%uj}~DG~1tD?CvG znov^y@2xI!2%~;G<_)&=Uv|!AXD0kxEKI&WJKVQgv-Y5W7zc$t+(c8O*0#Jn+9+#G>1jjvf4dyF!qapw>wY23VrG&=s(>lRX8 ziO+lAmGoOe*rvlHew#G}p}$Q(b^}Ew5_E~{EwEx?gD?Fh+oqqlHeqbSXxftg)*+11 zq^vlz_{K~`a2QP}}j5iGhmxtSpfk6T{wkTeq8$1&=(4%-^i7~^ z_m4QWt!Yj*w~*YSgfq;YAUU(_^xFv6QB*hJ#g$I#1IXTb&}BQtrMb3}o)nYj3e!;1 z2uu2brR({yF)p5HwQR#k+G^td#UYI6`Jb|Qj{Zg*vzB*X2vcYG{aYY2jFV=yRouTa zjG;yj4rASF#eEqPMAP%+IFzyIp>>KR{O@Hhg?FLOu^^Ji_Cf9}K!AN2uc|fe2 zJTMjNeSRr3tK4AxD?>@zU8WSp%(!RwnS%Whn=S0(74F<79w=U7EZ#r^8EZiiT zkZ?1fdv*&FO(Qe**e0i??Mte_M|ijRE>!FxpDs;YmHJu+&%8S z6v8BlODt(Ayj&L-DbmhH{>!*X2=4$&2oWgNB$Ys^C#eKV3rGiYi)3NJSMaq@og2Tp@y~j=@7a5W&>O2MVV1t$AK4k^SQVTM@*dga`ad z-+WNeA2BNH{*I8b#*F~c`^%*NkyVkx8YAKX#YHeAt-Ht3J$npjzmjZ(Xlum6LZe~t zXd#kQeh@_dzmuuofNL8;mz@v~2qt07zR^GzDcE{Z(bC%ZO~0uBnALkrlCi7$8jH<{ zmEw>;6fmn0MEIN(59kQeGJ)AT029(06iz-7zg0Ud!@SVs^n zq$8BWAEU7wreI1Hv2{@?i<5hzQeQWv3(p-HIr#&Con-i7#B{L_J&L3x*2!=UT}b z$q*gbd$Powctmn+(ML>@V@qA(TO`L8x}u{ZIRWV<8H`2!Ut65URkkuW>ThX{Q%%fM zLYTySkR{PX^daUAEO9R%Bj(gssJL2IT(4;AL(q++KaYqa)K2=Nh=`SPSPp?$5v8b! zv{s5bNn@mKkG{Fm6c%m7!lQ4&LZXeB5^d1%sL9phFn!tIBO-X)Kx@J4!DfjTymcUz z;0+d}jLkmdSfSFY!~>bQU&jL@Bo0~2p1?^r%b#H1tM=MlN?FLSe-f9n&3`YK+9M>X zvG#~(kB|flbE!z6_Q+4;QpxrAa49OJ9z5BK;_m%zGIc98g~L%fXT|-iEUkf^MA^is zcR?7Ng63q8ENQ=k9_^83Pnx6z7}6w(b<-rJb#q+tv=y~Tn@Lgc{xHUJvj-qDDuG8^ z&oare)ien(q-PP6BW(xcCA;^LHo@eMvYNVh zL^8@lm?Xn){#*~DiX^S6k;&LHn&p_sIJOh5*>vEwZeZ0%bTzORkd|iS9EmV$q9O{a zNo!HiLfWVy&QW-P8q!0L`MVx^Okh7pk9p3|(_{YO2YSpp7R-5Zzu6jJ?8YiOFW$Wy zcnvp7S)&H&8s3Nm#+Ssx<4eIp<4a=f8c-wlKuhG$8<9Y_R1QyNe}g#=*aV%x11WO%lpa%0t3P(%9;n9|wP0t**1&5~wB2cv%@^&z74j#JThfUX7|ie4%=7(F40{vAYL&ren*dTthN z!ABKu%4X4aMz1%EI>&?7n?)-@b32%wFWJ!$+5$;TWh}76ku5~_$EEkfig+CYtN1*% z9{SuSkiC1wOZM0n6NRKPH~;NSOcavF+t=&Cbm6j|{E&_fEx2O5nSR zzBf=`wkcY^EI(0w=`kwfq}2~b>eBCnAsXSO;#=8;S$h)54@$O0EmST;F%-vSM`j0U zy(6=7xhfv+$ZP~1-jT^UkTtrOmW3GJOH1qr_R`urGO?km+g@5?yH^MI(vmkrdua*j zy|mxABeRVq@E_Sr8`zO4j1=0DDH!+E+B-7Ih_a`ad#XE;xQh2=%XIn4sI`j|vSqp! zbYaVMBc3YWmsU{yYgNtMGF?ylA=l@YY2y}vV0HgTw@&|r>bAE|OY016ohBBpZoz_E zrwM)k)@hGhr;TF+T7_zd?|@vO`hr?2`4U04u%L@$PQTwmBvqe+%6Qkw*sGuPT=8XK z@srTN(Bh|H2f5j=tW6Tc#xB91^x%BNp>52HFH_^6K{ii?VYhYM^rrA!2YT%M)JHIE z(*kn%8|tpn4$#B?5WH)Y;eF3tqusZ}H}zmU`zN*(=}JN(x6qd$d$btrordgvB^I4) zL28T6O(3d;nw zV&Sd&KU`@3-!?3;GgU~Q>D?bCV4PqSFFl!!whbcllkkCHVrGj?dJK546Xja*b>TiLDy5^vDCY>2NAz;DLbYaAIN8;ev%s zhYJ=m9ZpOQ51oMVZP}^@Ms3O!7?oHTuWf^a1TCnRif>Z1uGtQfMm#>mtzX7*g%2hy zGW}*07>}5?vT3~W17*s>f61DU9}Ku6;%1gwhro$pH>y1z(2zYI(2zYIP*7kzKqx%4 z5wRQE94ZwX8Y4)>UV{MWQnLH%HzY5bERJ92y1FTMv;ZX_4 zM&YefdSn-1LrK}ag|c;qNP6(+9)NECU2HX$w5oVKGvBfjz|j+U#x@+FpunL71;K0PnllT*asC~_t>m|9rlgi7 zv*uEuGqjQ^aFQeIeJ3Hc3tt(bFszGY28ucJ~N8Hu8bfg8ev8vGy+E~?ae%EDHqY|XCs!>P! z2sce*g-xWDRgE@~#;Qgq=+F*J(K3VkR0&x&VNBZDLPGmg35EBm3KkM<#Ef7A8L+BR z0U&HuL$Eb!RbxJ430c*sBD9)THL?{})2l{+Rb|;tEQtJFRo3s(ozbFU@vf?Gdg}*q zCPhf^N*tawP8g%N+Z`)){X9M~j=D@$nVbE$wS$^i#m$cYg>|xuQ;1aq-RyL0XCLD@ zY-nJLTAlp1N|1U@9noTG>mSXq-CtwMYkc^Mem;GaXqHl@xFYsP^OfkRXe!>yMt06 z^VIFZCKmRi3y#7NgF(h%yyCBZCH?KclKwC#q}_bubcOgYeORbW@=?{HuAhC; z_=2bfnZ3x(#6#G|BeGXj1wY+*F#M*9K!6DpIeg z>YuTzjkCH{BLcNXC|qmALbWCkYb|hfJXN=^4ar`!9Plu4$)5+Rqi#G;} z;B3)O#i43s#;!+xTeV@J8VQA}kr1nKbw0gqU2>OlQe#{Cwn|25(|sZVy-HPLKqu4n ziqYfRGjIh57`tklG_U7w0qJid##q`xW-9y9K(X_OZYFxj&7lG$qzaIRiH)Opp$ZYjy_Q#NZ7d`khUyS` z=nOa;(W+iGBpGR9M&_oOkv2s#1Dz5>nh7t*^%xj7F~PNpWI`Ji$pp44k_qb&GO+gb zQxYbZDx1=o2BK=7q}4kQY2CSdq3`^26nZrxUjv2SJ#X7*>~<+V>X<;gBouC!#E=@> z$eMzHXQ?Fe5lS0km3lDssBZmorscKqj4%DS(*wtGsi%M{fV%5)xm zUEl9kq||HaD${BqrA+Hd{%6ZnQhI&%z84E!Ap5AQo4bz?{=CLU2vU)M&OT{H$`)UB zYamkL!WC;a(iMRiWZ?6_nvLOs6uZ+F)Ld26mCmsPbV$w>G@`Qf32(ek#aKHj=Gr*_AFqUF-}3y zZOO34jR6714JcJ(37)>tPm!X1@${{JiWVJ=r#Nbv`5wj3 ziesbbAOGmFIF_J~;+VuKmz3hdJ)JIR9E#A*AA_~5XSkkKjEQJ#v=D{23QSJVv#c?* zm#P>Zw4F|_s~F)1j4=x~(iKDaCN^1p8ignm^IkFkWzG|xzdGkX96ZZD_(PR$L|?;9{4j1L%!qY_Bkr<+=XAo z-(4qn%5HJzMf@s0b>mO%4XdEfedj?z^uAZ5Co0N$X1m=>_`|pTk6T2k6j34B0BQ$&gSF z3o&d9p@kSi;e{B%LJKj(3JWo^uRw@YSJ}snhVPHpucxQKE2Hy=n&uo#j+0e zX?B3@`)wp$wHtP{p9T0C?*?mw1P#ov)VPpci`QJpws$wM{UF}J_69Nz<&Rv}(8!N; z!dgLpZ^8nr*;L3Yo(-&KD;+&>VYPaWltxOFfyUouCihn8ns^%t_E&uze@* zfUnXw(W0lhVC?wLWTu>d1kHj_MubV&N{)DqOH2$hZPCVIvEho9>(fWgHnB&Aq2$){6 zqK9B$SeYa)diRwmrpX{{V#$p^j5^2TS9LCI5Z@1C*OBNceuszD-=oev{Hkui4aqt} z=U)=z#fXhDRb38~Czj?bqls(We(xhcmFN}qaH38~QGJ_8u5r~@E`u~l6lLQY*W1yW zfTt9xx(0=Ty7&MSKZ!}GEXdMD`y`wLHi9W%$j0YjpS#~$&a^+exs&~f)hQLnB z*Ew1HrwTP~e)_O^nDgw759+)-@b+%~mNKS)i|b_OJQs5=)F6AiY4g1;Ll6(@W%fZh zmuP=%>C@)>*CD*CHAFeqzdjYHxvn`HRKc0Zf?<0 zF}W)Ige~0Mi=g`)jXS;T-P}_A&p+WfC*XeO6Pserx+ek8xw)$5m~%9KC-D4g{Em$w zfUx zQYO5!SHYb3=!o;_;I(K?(e3ld_=vOF1ejJl-E~VxSL=r>+|nyS&w&KU-d(WzysdD= z{%r~M{pIPc`=e_{N0YrgwK>-7%6Ex4v!+D+rQx-LM^oL`3i?NSUMuhySf_=0yalS;$2Bu6SxsrKU4Oq`yq2=&OZvNl9QKiS0kUkR(`W zA&Hn?NOHU*tokft0FR}d)OZ}^?m!G=zi;1Swv}VPAa=YoDbJN&Yrz%z;DahR^62+MxT_a|a%>vsII zuIa;p7ZQNyZ%w zB72J5Kxd$85Y+iOYBG+Pxq;5c%nful7B(nom89`T$dsgw{r5*%K1V&qanl(`LL6;1 z0XKu1HqhTYsL3At=YsHHC1g+OHlLJj>Ty0Pu#C}{pPms|#$bJfmN7Vk2*|$7T0w#3 z3>llg3a`#U{-GO!pPRoJ9C66s(Q1Dm=Rbntmg29Qe*tgTLtmZ!LuSHlg<_eBm)Udu zJ+?1E)qn=Q8u$P7Gzjgg@qggVNJg&1v#_z}25eB$+y6Anc=udTD2Ni|1_faaeb|4v z`4K3_y;zjzJM1XLah24~zXx;%?x@K2jU-2X9&@OTWye6gj{G9#?1f(zb8cP3nnR^A z=WwsZzI-(-;(z@qAno?U|11ooO@|maZUM3Jk?yP>fpzF7hDTE8phvF;jh;N+51#8mPkcvicWePUsyU{5 zAJX$;qM$gtS-lTw>3tBmU-Vg_$S-DWBXD_pU$#!==HOqpI^xxp7ck2D84rtOi2rQ_ z1_d=sqZrl}Cit9O$+l5Z{~I=Qle4yqI={iMVJGZdz6eAUUN#)=CcoG*>THw;y$d?s zf6tFP;}_sz3;4Qi=cw~9{2JbJb0xcAeh9yY&)npL_#fXDbS=J^10uyoM&qI!cDGyuNt8=tPNi` z;^Dd*@uIiu4yk`u_3+DuS`t~mdx0nrTtMk(_`(+G{jkVy>-Ec zWa~m^%8ZzEt@g+gZrCAvOe)?5F}VKcs+EZQv^S3b8sjb?;BLDGGda(x%#!09=4Mi}U8hDvTM(Kj>lJy+SLP;3hk>kg)M;NSV3ohOl$6&Te&ZKLgqIXE3S1hSiBRu#zkF*N}YxWn>(S zvY|oh&p9T-?|VlC_XGrp|)Gtdv^K9CL-oT@+bF?9ySN=7nH5^~UgB_Rg|_OGxX zYB;2)9U=j5QmH|2gcNf5d4V7Aw4lXM}MLWEl5v$jPPJTQxpyc(LDcNUMigH$BlmwC#jO!roZ9H zNGH{X3Q4_RdlWuXNqt;HI;p~C8@!;3dXS_+B*G3FqITKvvM|}c8k$b%RbjFtHDqzS zfh=x6QTwvE-G&O%>a;*`ircT(m~i{6lD2m=G)X0d(yIT9DhDF1UK75vp@6g+AiYg3 z80suatAAxbvrNZAsd5^=2`rQeFT1X9@2eX{Z;tz88|zpux`IH7BP2QY?47inRYG{) zGnSx{qAv-0s@~UTNs>$~mNV(E1#bGp}$CsS>m~ zhg1jJoI`2?t#9{j18L47b&}TSkjm$GEq~R5G|OL&p!L8kqsR4J8r92RHe?NPM{1wz z!lxeM+K?II1~5IuwXv=tF0`%#wu(5_I#>=M%{in1rq3Z6jL~m!fEe~S5Yyi0k?i@{ zWn8O6BTx5v6n`Mw2SE}n)%Xkm`W%vhI3a4zAsNhy#6VUghj)v_pVZHFj@1>t69R0Q z)h*-)XmU9UZ|N2@_&>KZ(pCQS7?80v8t-$ageb%jQYjeuZlO<|0<>m}?CTcybAVJc!|^_{FzUugf%h*9 zlUA~co4Ttc?o=aH4V$}}Z!pVm91CW_iC$+2qJ^%0eP>}mDZW{7B0Q;idaBR4nL9;g zVyodstWUAm$!+|Onyqhm!p+?d`fL1hJGr?CGQlaZ2JR5b&A1Tr^7u83bdyKn|6fR- zfXT6V@jyiI5LQgr9bJj5|8N0jdIsj#C+)epq;n&H>+Xp^S1rezE%2sVzd3?$KKdvj zlk(}U@TNw;xfXA7uVJm~u5a+oE^cmZ@IB*6=iNB5+=w}9elEQmR?2hPn6u}r2`4?v z&Fyk_OxAPKGx1^z^V!;JsiO2+2n^2Jrw6;G8=`bLX`dbf8k4Wd_YlHxxAZ}be`aB< zlO9#LVUse^%^&Up9SG|lE$i}iz&G1tI7E2tr5bMmvMZcYwa0XU# z`$W-PAg|+6NF;L^$b0cigA;Sxn9O)?uGwTJg>tSKfO3{$)6hE|=YUwzeg{UK&4$LE zNUVryS6eW0Tiq0Mp8GW6G(TKea@bmue;O92pT@8G!t|5~cH@;toaT!%oRc<=BDnc^ zpLgUMM+ozeo_(4@FpdP%JoeDZaGsSp?D7FJT*N2r(!_Bb=;r^5Xa`?|sPB=eYvHeX zgqA16lar3h>0bUD|>9J2zu;F0>oblzZXp1>x{sQl~b92t! zG3Olonh(Xg>^%j1;iFx&llTR?MLh<6`*SX5bF+sy52fJd|9*qg&YH7P??meq%f|52 z>_@#X{#+<5c6H6`L{l@O5vOSs60vSnj?T7`K3cl0PLR6GD#sF%IXYVl+H_fspiP(6 z3R-tr9Ux7YfJvI1CW z#|Hg{yDa0s0)*+Z0@xZoIy)OdhmOupCbXJIXB{tQ$>xO!5!D;0el$>Ge(e{ge5v9BB{j5F!-j zH^D;uM(q3e4NbcnzX`Uw{N`jfwC1&__cm{yDGx!v8Ic)g)em)+-&_$`!X-4~rF8;} zjl}dSoz!Iu%C)&lskaq#6QFlR_y6hxv)LqDKEjwyKn!0QR z{gdmGtsqpFgu-}r24)=c8^tyC*5N;@>p*uh|rQPF|%YVJ4f&=ZW#VHzY&0_mN$0< zAZTw+^XrAq_%+Ge*(Pi62Rw7g+5ADq-gZC*v-!gS%Muz9+I2uoQknS>TN#Wy07UbL znT`;&cuZzf3u2Woe%Y_IAdV%t0{!^61u-gE#0@OfQ?cR=XT=<;o zKZE?lTGS@SMeS3qMQvhgQ9HZ-wuR5B@GO2MbEXAR+gSXHcd?ajRw_2r;BTN@Iq}&1 z_W&eC{c%Clz*bPOT;y8KatSvz3tMPf$wMV>nx`T=K;tMRPepozh2*KoYDMx?WW6GJ zDzZh9JQdk4WMCbP%2M~^nw(-lmvri+Lj4ia=YJ$Q4i@8^(<(WYpmlQU6v^Z?DU!)) zQzVnqsYoWL983A3Sbj=!ocN`eSbAEgaP<=A zEN4UO7U*C=eZIsK_i8myh`3!zo{sdp`QKcZP_KqY{Abf_L&{0x*&yOC`3G`lV-q8p zi6N|^Q)WnwH*#{rJAoskY~BrT|JckHSu#|egw)X9p4n2t;g!>;MK209PqDJLCEmFC zFOW5^7d2yrtTj`}8qZ!gkBs<#u(Bc8#*xel%=8*Ztl`UyedQS=&TQfxZP`j8gd5MC zKz^y+XC|+){F2`?RHdChTj_GQc>+-u&+%CM^7$B<#J z`!#PJ@td=S3`=FsjQBTN85V3_#D6(l!KJ|rOAQ|u$nf{q@WE@gh7V?jyV~d8;6yh+ z6{BELhn|W^XHbo$i{|Ge(l^zE)}29%BH0p#)+g}E9PabK{6-6nukJV zS>FPwS2Tw_%ESpUyOUtkY;S{epDhY1B;>Lt?I_3zQFN}6I!0qMDU+{)Am(7nyz4=cTR0o1b)3LMAtxpDF~Tw9H%aMq2WFQEAETm?vufC@L-4sqAXWm5O9bu2Upi za+4z2lG_x?mfR`iYPV!bPWc!l=M$BjTF_dsG%AwGX;mbX)1gQv#~UktnVf1NS35aQ zoclkLEto7673PK*w3>S!vt-R?A{rO) zhVTOMlBJqIK{~p4Yp$@w;>UEw-y3xj$KJ&QC9?A-H0wD{JhwudUI&XL&C^`3-4dX} z^wZr!_fR9=KZ5t$F)!ad*G(OW?yeS!e)CRlznM^r8bLR_;gmexj=EEL;qyk3DPvj_ z4pqqJ#cpbH6y}oYZ7;X`j8{YUMoT%A5j)YX?BD}vrBW*wwl2l zDDy6jB-Na4D@Z->(gD)Up?Sj!^Dfn(&AdxJXg%-J0@BR8w3F8JF3#|-d6!C%X5OU^ z^iQ658HJpL=3NMd=UoH~&ASl$+2>tknGq3-+X{dG6LYqKohCja0h7FH@iPzlHDjit zOWG=iJO~WQ0Zj8j7>a{0nou##2lvR35A@8CZTw>O8M2eXD2A*Y(Z!H;AT>iafiw)+ z2HH#nc7iqxSw6ChA!|VzhHNCQ8M2kMT14moX&BOj68HZzq;RO?aOAVviwG;rkX^!i zG-7r0w}K(>!-945d2Z-U48zO**z(wXZ(&TW1b!{vaA#z5|A;@r8iR1u(p(-1Yy_bm z*RV}+_Jh3;u+2hmIi(W~Kmo|!XuXV=af2qbU5 z|Nq4jeIWu!+=FFKsi@&)|9!@krwc7wW8}Dh$W};=+jlru5>}AHfmAVl^x3XAi zH`IK)qi3qyto1U%@=k}7qu|rVIP9Nc&IQ4Ooh|%nH)j0lsN?PEHk@{IW^s+qNjQmT zAKl?HjZQax{PH^9$6!nyuUoZP$6G*39q#~X>v%V4TgUrA+d3YsR;=UAAZ;CQCoOfn zi?pfZy&!EJ_i%Xa|DSc7U7bXuqoH5AQ0P@~rLYP43VjOJa#V3Csv`PCMa?x+CP$(R z8O(wzmSq>69x2cM_fL;_+4UaCnQbQZwxXbtp_aXYldqF5&v~a#E;?|OuL{!uYKLhF zhexbKYtg|3we}U_V@A=z1a+--_-(>rsVl|D-k762rm@^eSTvv}*wesNazng%1`$(cc&dq?YA zhWS=7A4cYVtM5oM?-wyIg%qj6ve)IjQ&uSVI*+V;5X>F0^qn2CE6}M6<7VkGK{s5- z?W5OX`#_3$4u(YLxf!%I&+VYCdF}!&V}f3g);xPdBlFxu+L-57kk&kRg8rAyGe<~? zF#)0Em_TERF#)mv-7&!=NRTkkzeX1xf;lO9<0#?p?`*^d-CQ6@w?x>oKt_1`p9*tK2IFw=R>-HdEE&yx$Y!(#o#g~M)!(Af!r$w4HUXp3=*>1QV3%9&XxG3k{7@wQQ{{7LSDEfzPo|k5}%-?tH&Cp^3E2|w{`o>++oWF6htF}xm=*mc_1q;VH=7N~ z$<1~{a&oiFkeuA?)nu#|vDz)VqVMbE#TW^h>K41nbydL7Irpn69Qv{T;rM}lsI!26 z;w@tT)|*^^xpZEYd*9mTNE(VlUwno=az8zl+Dp^V_tLtk7cP~cuDCZ18%XDWu{%Ts zSB10CX?b)6IxXi`U3`kt9Q?x~>O3zzHUX{Fu7a1bPuM=Rx-03cS)$I6>8@2_v*851 zoljNY`e76<9Xp@KpX`HJ<=Hl3P}lua)s8ix;M0;BrA5zVBfnO1aKy3U@)k%kjd;Ud+J8>ihA*g-ZouMhsl3 zY9Zu)Tp)Jw2Cfy1L1-?t&P@o7d-*qf)d;#W`NnuvPvq0ytKxTcV%r7}42vK(dTslt z@JV2wIk5r@p4(oaphcJm)`_GRZV(9qD{Q8 z&dX`6E`iv+mx*&1inc^tCX8G)++xxR8lS%OZwK8&I;aRQ z!uIhK#V3nz^uy)hPP-&9`97J;C*LRYDh@(m{fy+@RKW9VcS>L^<261^1uxv~dG`vI zGMGL@RChW2e45fd`4-T2q6K7eq6M_=$@hV_J^A2@Vo$yqr0vPKla~84-j^7cLyVIz z4qwOpc`k&WeHHK2b1~`RTZo-Y*{SV9&Q9%_ubA?sf=dtIg=`N$hDi_K#gaYz4heR7 z1dG&%&*B=x7$!SsEyn2OaFK;5yBsd+l+dU?a=56Hhl{$9S;+D?5O^<1nQ*z*Ns|O> zAt%tg77es|gBvs6nu4!{$OcZXI{&JS_mC6>4dcK<)tm$*hTi286C8)&8&9?c4W&8g zvLmRsahzq)o;bA9wW~3FM+2<6e6;dDz&q$lRr9EvLjwS4MR>r#p z@1XNk&3*WvI~(*7s-_zMw;_$|qK`N}>pg^b(8_ArZm~Y)&}vl}2NQV$-a*?|o-qP- z{>qd$Xlmt6I6Be}a@sPL7gnUbK9WIr7|{E~_nt_CKT=iof18S9cLaN{mMKC5$##GW z7lN%%ylz44V5RviMw96up@LU8OnL7LACEfuzgOW22ru7f^pjcdAA=Ky32f}qDx8JG zi7wyR8&ueqz{cPzhY?rC!yEIl3NEaP`yIkNzswVUmr8r7UQ}Raalf%eXPQ{32ew-DqJ;*?WFXl5v^Y?EDbruV3S0akl3jP+eI+uLYjnUJ5klluS1Z1BfFFFOQ-d7ujJu_ajAs+$RZpe;}a8gN= z;f82BPm~zhbgtH$4)SR2Tx^{cFbUZN@El#lkHXP{2K2+&_%RX(~pqPzxL zRvq38@ir(6OtHoc&jiQ=YtN9Phixm(YwXNqYf+Rup39D!@-rvfx&M$Ij|dY zfQ7$-$TXTc5LQtMwh*We5KP*9Xg~s@QY0WMM;r?K){h{T50zxMog$wa!?`T2O$CY6 z)g~7!YST`_hyaV)RF#7zK1m$dWtdh|wG=YQg^-ecQC4wC7t0*+$bQP$HBGU^Fe#Q8 zCdJ}nwpe1A6pM>R#bUIpi`un>)~?eKb|$z3{vLN^1Ll8%l5L`&w=<#FpYpzQ1jV5U{pmgz zV>tYDpNsL+eR#rYxMS!?@lVx&9N|EO>0%6%x7@iH`FQ#?Eq0F0BQ74&$4_0%9zTs? z_9CL{1J})X^%4Rb-Q$N=wj-Nck+|cBRDRKhO=~1e^`uJ=NZC==Z%9tM)LpMpPP()h zl9MhShUBD6wT53QnYb|L6EZF3yb zCf7o)$#t=!$xXj$8V)LxG~jv|>kGaX@IgDFGy4OA8uAUgtGwxW(7Pj-Wm8`E zb8KfA{5SNJ55N_LgI_@R`6}r?KLfCAsWVJBd2j>nQ`#0ky6_GTaqH5EGqF&FckmC` z=J38rUp*RYRXF?+tUUTDZ}5&P*cu0PtHqV$fWhdMaR9&L2gU~n@Pl_Y*u)PV3}2=s z-^(txx51uq{T|Dde7Yt=QOLzP==|!ts2|FjF~AL6pvVn89>$=wgqJg)e=rYw*Nm)4 zc{A`1-bU5jjQ<~yo~?%VNQv;ns;Y1{y7kPj!J{gVhSv2#>jp2cFK&2Q_?%(ThXS#~ zg0WRKlV0(bNs>-_qb~C$-gZ*CV%3}DQ{LvnHItdq6!sty7TTWB8Rk=}7NZ%FPpP_4 z@l&dMNN~(sxhTy-c|zt>sutqhoxLc{#pI&210^t~%6tM`UzB#9z*-jbDODFLeoFNc zm(P4k)rBZCTAKH8ZsI=S=GXPH6 z77mwHUx4xYf#RrBa+MbQbb)k@y3(tMH~r8asKSNtPxT*sUBclhI8>s-4!*%Fd-Q~? zr>oLwsNbcq6w=X%E$4Mk}mwp`5`m1TfEVj zFZWJL=eUb8C##yT!DvJnVGg`pWfje(3&E1pc)E}nPYY422GMxpsqdE@rBbOv4Kj&V zdGMcLa5~US%DuK4%C)rQmiKes(YSCPS4i*z2z_mKP%<2<`8iZad8IQ>%6hMYx8|>( zVUyM8xXfck<>lsM3GaXOoy8Ui_&&_~z80See+RGjy&>${|LD8M_`b#Z9)Ysm1uuQq z+zlcA@K(;N!O`06ato9D%^|RF(I;I>SQl_ z6&BBj{1JahOwXw7mMHm}$@p^t-syu8_Vpl$P7kB@Y#AL8zY-B^yh;JX%CK9ipB3;| z71jk?)r$CIAC4WTkFMrqqkX96)0c<^rcD-?Bu%sW$MtZf$Qayfb+8(8+$j+~yR%3a z>xS;B6;62^7xil&MF$F~3JZ!33|>FR2fr;`gbeQsl)I(|!Hi>2N2!{|V=$44cb5}Y z&Ev;L^xuz*=vz;Y=+_}^#i_>cTM)MLG)-qe!E{K?rI)0<=ke~IMNx9kPws1ci6JO0 z83*Gy8h5`yEqiXoB`fA;lldUKJ21mP6e_sgeALcGIMetn3Us9X`IL7P-o4jGRj=v$ zDs5%X_Pr-Ni)!XIVe$jNjw;1B7cdr|(E+*v6K6OeyD#Zcs-_S0QKWG-b^J8ph8=E zC451`(jK<4So*Oei*!Tp$Hp#h1Z7Z#ogdA4=i%LD%1U+p#=#ho>j1t+2P`XRZ~HXs z<*prt>6Oy_TQB9j^U(t<_43Cch`A(7OOM#Tlb+cYtT-n!|vat%Efme%B z?N^>$qQAuw!~9bHEf$NhF6wVV;S@ywohG)ebZliOno|%{#z4<%k9k3P6m`l0xW)f3 zFUgPf6n27@8(#(Oi}!B%oC|M03PMd#x_{OVTBfOQ5pJh{_JBYXMbCW~t&9nBwFwB4 z;dU{|9hDBg*9qSHeKB|hp&uuB3l)R+YDc#rL?#B;q7JK*Ts#Sks&L)wS>rTYh1VmG zmlxM&xK24)g}g)D#jx0+FA;Y!xkTKBu=t_xF^*xf2x2kx0_-A)3)w{w7n4PhCJ~NZ zMOg%KA!iX}d*Ng!P8LC2$S#7!Fj)j~F=r9PXR$OP=aDPAbXrME>2#8o!taSnXQoKu zl+K|7MWqw%j5`Rzs=}6UNQvC3be#PR`z{k_-O*8;Eu%el_czfp^Mr4JIbfqsFPiJb<4VhxV8czc1^pix)mR#DR^BDjW##N;*8+ z&>3@h4qz#o1vuC^jE{{09-tk(?6=r%s@s!#%VUm8Tz!J1<{9AG1KH}#JqVrqQ1|Zi zSA@=a3ekJD&!Mk$={H%genLtu*~1dSOA;%1_BAkvHb|Gtq zW0;s>7mLhrQO8YTe2;ANTaj(srvkSVuCr}AKIGOa0#MaeVHFf9FT|@qJgP<}|962) z7YqEj$i+nQN4nIez4|$+vf1;~UJu^-Demc!6jPr=zv`*7%6f1WqAMHFiieyc+F z7v}qe^$%8M5yVt+97*QCR^^w^#-LR;)>{}{E~_>!CTg>z1ja;2>+M2DZOmRJaA3|4 zuPO{FV9ZtRBnQ>jtAC-Y4YJsW&?=jUg#n~dS2f&;p25|>Uo{US8v77hWm0fAc5c{*(5RbHv{9&N#u4hsFLBw; zUI=wzZCU$f+*-P}4_Vuk>7(i`ls@i_x6xxh^j_+=+(p$g@-7HETsd z>Owv*RXuaxN*pB6tzdlmijil6%RF%EZ zlRl=lHFOnFEB5$QOh+^Z4fG#Iwgi~X8nwYR`1i zA`PVJ8@W04(5sz{_V--8^##oIJ$HNB^Y4Ipy;ju>!T&7`J>-MC%%>mf_f<7Dcc;C* z@6NrdLq={+{M* zZS@^#Rdz>*=RL4oxmUkG78W+ZDCe2Q$U#ixh(=2*>bQTj897(QL};K0m&ZjQmJ~trB}C9zLIh%qh+xX{=&z(KuU$-8 zUiVAO(#=C%MhMZ(LyaX8@K4IJsEaG*zxmgcUuP^rbmjjS3ZN+eWG(;e z=%I0Tqy8-14CvGmexR!U>{Qi0&gXlHt#V2D@c~fpz)5e`7^;;s_vLipl?B@ckMqmb--S^S>%yy|)HV(}|2j0fz zQ}{ID66l@}!Pk%Q@!{J2LF|t;sK!muV$8~6etDesoa9n)9g$I^7~{a%6D&9dKy zwpbci@!QbdM{5TC(ds_Xvh?|+GiRiiK8H08V6l7N7D#|9{OSFy_ch+eot4l2P;d-_ z*+uCNQ446>A?gBcJ49n8gbYGqSCU=Ctp&>wlg`f+!6>KgfE4MlEKzU~Mg3z5q*x+mO9T6)4=pwSc7J>1h=5u}G}F)hCIaL*S$ zw}jn-{3|qsdq7(`qdYcdKWXP58uFG-(f(h(Y%fljUd|!DL9Fq2;2*BX?Vx$=yr|F8GQ^2<&a=iu1=0*vK#zRti3swx< z7sZ-ojAg-|5?&`JDvBBZrPhSqku_SZQ&W1Iiw$Be20JIEKLOXlg6>S|Pr!APmQTR- zfyNFjeaCTt6q!%J#lB9=>IAPp{hr{UbXZinEgfOI8?0*Q1cu9l=PnhovB!wZ zgBQ6d7&ra8-}L1a!#}(zIJ{zW=!!h#g2Nx3QRWLf7GjQ=LokUFp3-lo{TsK6?&{kf%$P5R zi>|l0K7rfQ?1Q}=UL&qg7}g=JkJ%qH>=Vh@9n<=hQxD~BP3u!m{h;NPQ{9P11-KB{ z0@|K(>Huv|Idy}U`wIF%+EY%!NucFAnP$@R-3gGG64Z*+1zHs8G?C6xBo{JGV^tHH zq3eaS0SS|ZJQuPv$T3W2kX_6w9755bN_tX)Ngz-ZNjUQ=?73diu*^C5XVDqn|2X*%sR)>@HS3!cIG^AC{jg+`oIu ztNkq&|GC)MxLZ21RkvyPo1mv!t@lj_%rT2dgQ_^$9M~fws}Ml8z+pB%65YalG_9Uh3vpFX41&fIAv8z-zch0vo-~pwPXax}4JA zH7Im1s3wL}r@^NKqV}6gK5;E5K=7l3Qr$-1!}%!s(T{03*sg`iaXuQhMOu;n<$->& z%#7GgSYpua-NH=BB-lrPTKk90{|zbf>YMK}Ms80?kCj_lF>dUux2c(;9iFldUlnb_ zLE7N~bZLt<^&}0gH`^@KHsY*9?k0Sd#8Y}`zQrk7uFh`twDOL|+xP$`S#NqqdGk5U znUYbp3-E($a*Zcv)KXnyq)gA5A3-kf5oo%J=6BEvuw{E83hWFKMt@ItPq1fZ!kU;T-%s zNPeYCuEMXg%NlT`BK+y!lL-s(tH{ly|~vsy*QCEk)cUoRfg4 z!fuNd=j&f6j{gnBX*xxD`L9cYHLhKZ7{i)HO+MFR4A~~<)%HM98%lK%Y$C3cn3NHv zS^+KQW{$<&BG^*=7K=cKc#fbGoe(YNhG;Q2#EX+5`Y%q-c&$v|h|=Kkn^WG1olM=* z+1v%CFLs#j(&^g*={pKduz-~0w9eFABP`B^F!Q`)J&Mu@>XNS}RlwcMaI zO45fYPgOV-$?0K|ro@x9J_Xn=o+Rc*GD++WTbp5{iWiwhN0KuUqFZE^&n>b9hW_|H zOGdr)^CZNR{~D?0<0v)6;y;JkxK0-BXjSu%1BIk`!-sZ}YwMIMjtqw)xo-%osA#9hCod z4(m^y$kENK{P#h(kbbSwe+6_W=|d|0Cqeg;Uf}x=fc7w(KYITG{xzVRNMAT0TmoUf zCsMLRMjtpJxE6_sVGDd**Fj&c^mUQ()xQ{DF|6pTlfEuCzP?;a9IMG}2 zMt2$C-p4W`}2(1HeS&{P+L#v;0+z31(>7z&}Py~bYHDWg0a~hBD`}}}U8JR|^^%sV=A8*zs+x@|roaMftXOH9 z=u4{FPxsYIUsBb6k}qA=EN85$xl)NyuzW>HW4_(0W;xxe7Q>vX)=8PAs`ZeTO4Luf zSk>yz!Y`?6Eu@93gLJH_x$)SlW-+I#xsa`DE*4d_hmvg-YQ*QLYW89K#i};T>4oSv z?NnxH?Tz?2(AFH)OfFHwx~0m#rt97EsB;C@ySb(Qgd=cL4~fZNUg~q-c^~OQiGR&g zXspjhJ328{nZ^2NGw4+=@ZZLANIOWo7|=yp?v@8>7X!R=lwAz?yF|_ECc9}|$XN{d zK{z?kki`HOvWo#ROcn!NELsc*?nf8I-^CbjUEK>Mo_`ufkxh^i(xXpi(xYEieWOovlx}Z_8`Ye9IQz)>eSn+H*({C$!x23 zF}tnW#fHp7YxE+vFLg8j-pW*N$8AgJLSwG06w z{?U9MXuA;_wB7!(gNUP5Mz()gj27B%aNb?`SXy?2vy0j79~NUZG}}M)X6F6GdkwwI zRu31mTRl#4a%ZG$ba64G!odZYvAIE5X@Eu@Q=)f?-7FX-A0_(gVpd=Mw~?8>$cFqo zl9}fhGqVY#WM(T!o0*-YB{O?SKdeITD!)UbY-P%1ce%xw33hk+pB>Tc?()Y3b2Hy! zZstELd~W8un9Y2PMVYVHon8^|S{&J3{)S*~fw-70kZ**KRmB#Fi#Y`{yv@{pTOhZi z+gmRfqeg***Cw#hJ1c!drOP)uSD|mHjA3#^rHjc8mAc@Um3Wwww%}dN7CfAb9iyA^ zLlvgOIG;fSeP3xv18tuc5c&H{LmF!Pa5Vu2Tb~zlF?(Lf#pJw@3)%BR7F!;K++FEH z_TYz$CAJM{g^6z)AmkW$>)A2zE@TaS43i4uVo|t082tI!eRX=!kJ)b7 zoScFi3CH|$WwA)~h~y{CZ?fi__ODp+ShZB)edxs0$=_Ye&}Z){>qg&f_Q}NwOqv{T?SAUCLlT2 zoPkw^R~D0`SN}nhw)z_`lYl(=SIhj}k-TouOTKMBklSxW=EvKcF4EF7dF_T|^12Mk zFj4dl2$=73S@Ci^<#X|A)M7LT2Q@H+kC*+U9My&Ln+}e!n4^w@sK; zhC(rKTMfy)?KC9wwnvk{Lf*ca%-iqF!rH~;?bXS=1>clp-rk!IUr6L*+XIWq+j%B$ z%Qkr~?ajigSH`MvQgs8o`Qca@J6Dda=0{`AZ0VOWdS5%)yxcexnVexgdlJ_ZixzfI z1dCN*jD>ujIO;wgS^k9Cr)(lLN4>d`U5}D1$a)P%JxX#h86~-p9wqr4CH0xm_2|gu zu%javi$+HlSpCv`iB&0${e;$mmBt+%*?4plCZi)4v!f#y`_Ai+FL(Wu)~)vIC^!aht=%eCH5 zKXY6g;w0l=ZbLPFEThWS#}6KD%s-5sEH8m5!@0-2myI^bp<vNSPH~}^T(z%7YIWi1u8L=Lku0ube4l=WK9n_1Y%?v%UNXlAj3iAcj1N&@8 ze=BA~8Z-N7?2(MNZS4%{-)7soOz8j5w&8j^8Y)RZ6ik81}o?k**O4k9l@d% z;J@CwakP@OZW|N(Rju0yhM3sAuz2gH+ns;Wx-rCL<3@~)8&00w{O7dyKHmJYjuD%Q zdWRD~Fktu6h;6l)GHm%TG-7(Gm#N}232z=!y2ebmP`}ie1@8Kjo|yf*#0w`n6Zm?> z){?Crm%wnteXKID81mc1Gg4!Tre0%-rk+@`sn=Mdsn=MdsVA0b>S>6hrd}^1^wJJ) zo7Ia5-igs7LKA3NL}&$>oO`N6NQt>8Ldm%&V*dqmPrT>FK0H8>pPbd-rRhY<^4n$o z>oDBuAw4}Cp6eV^*5y7T8|#q~+wPP20c~Q*V$xWmm^7BSEP$B4ECB!YBz->xnVQv; z^mQi{=apMP%Di$1NIS3GO?A!x){ma{OWZ<2Ew+>N!sf9{Whd!f z%+3>Aj4i)&M$?7u2~~@^^TaM@=ZP)m&J(+sGf!+`cK7VWy~UUsJAdn9b{^9I5t`79 ztjSL^8Qcz9RzbQzN(T3Wv>EK39A$75X_>gU!S4iu6ZfN@VeK-H&eX&eF#q4od`{Ba zhw5M_>0QiD(#J5Fq>o`TN$+CrB)!F%lgUCRW(zr71}AUqL&eLtW~&A#Fr3EW0Ui60 zO%CWJARf@MkKxh>bX>?D(6JaZ!XD7Em@fVY%}vEFRy?2+Z5OBZ;3j3X$-H?ce?_)9 zL35IJ$xX`X+g9>_%=#4=E4D%_^W9m0#?$x)9O(LuRpmLD9OwbP$_#z&Og|NO`hUr_ zGi;c6?aU%KA5lWy@@*g5p?_?1;8?o@R?T?}b^c%s+up=7I&Z4su&pfYO?wmYvd2@l z4~T2{V_J2(VE)#jB$k+q z|JfrwFI>`*s*+M|oDM54jiUY?qFH{IRQQ3ji)R-`eQ-M5!#TOT5im?ARddt6eTc33 zw*0EyXfJa_J3qKw)h>U8{OH2<5APpmj&%73m@*}Hov@17${%#Rmm zn#+H*%RnsZAB;EuQdZUe9RyGPuTxm!(Z|;ML~KQ`+l|@TwE~SLILVZp(d;=!aBQkf=EM*+Du1P5c`z zQ_Xmsi{JsZ{32lw+calf9#{Sy2)lz}KcT9V0p({qiws+6u?~b+UdxnUBUQn|?55W> z9aS}KpIf#uhOLimxRjk+y!FHFzN)Z?tx|`k$~L%Ma*_GF*%gv6_>s+Di>aBl@JE+Y z7Ds8asvFRf_@kj}K*f-aS>0ix$hm5C+{L&&ZC%!h&K??Rwzll;4v2RR2RO{k4qNPK(8{n9nxo{lC857P-}9r9UeIu1w19Gv!9S$aUDk_>0Q z_Jh`yqo@|f8F5)N?Xk4$U-bw|K|hww~tH@onQKK_n)`a#yEbJGHosRMITI42WW)rGcDbuD=NY@fgd@|q@NXb^xft9 z-i8=4q*p=75)$+VK*W0cH07NOp2l&p!gDA{cB z#j%lAvbUgQtz@__?GLNM24>Qirz-Y`M)rc9h-I394)2OjUA?YJ`JcjLa2%Nbm zlcyUQk7URfqylQJ#q|6O?#Q6#{#N*Ak`EX)WlzEO0LC_pCF^2Zb7bFdGvl0Rbf+D( z)txTV+>EI8bo>rcj^!UPdfH2$&!@FyzY}*|3#3j3T$B+VYXNO_tOK;EQ!M_GJDQOB zH~(^4f5hov!Kfwq$J6>FPA+EaR1Bl6+V=yl?`Mo}7qh-&nBI0tCDPBQ_^S##T#v3F z4H(+J&5FK1#afWX@%e~j$iu7@08xqKp4ekL1x>>t!DN&vG%X>{0yD9kC}e=$r8rXW6M(PSeoW=u{W`FlKMe z+8EgC{`mdbU_WOZqeY#U^@asV{+lJ>5&oCyPc2Cg}lkxJ}k8Qv(x{X zi=9JGzu8B}d`>#He6F$Uz)`yzFKStL(8%{Jw31JvbyvMKi%mY8VQ ze2Iy6Vz%5}zx9b3T+Nr5XeXAKXit>8TNm}ND@e&B$oBcEby2rsx-KrVm*BrX-MSBx zNH=>1$zzm~M!o&s=1-Jvb{_0Afxb`91#XMM(H@(07aMIbr&e79L={%Tv28t)zF;wW zbm4!y9<9ezK}uJTetv!~qDTMr>E8U;NOxp0jVk;Bs-Qa{mn}vW=Kf!y3Xt+wR)zoi zbZb@krRnyvJf~ka5`T2RWVupwRd}kn>?!=w(0+t?`mt=;Cj>f`5O<)KUGcO)ua*Jg z#>ukto)PGKK&+GcG4ny}0_Zm1h4X0hhjq)wVbi&}9J?@e=VtZt@TvE409agg8@@)l z?n>M#7`qZn9a5r$buk9(SUq%=VD-MW0k2mc9yTemrg~j;OnLYwRuSw&tp50P^|s%$ z7ib;|u*x#{Q%u+e_@N37Q;un5( z@qcNEN%3!l_}X$!UyS%W{OaQW(h$8Rdqrv4Yf=TZolK9ml@9};AI@2*!Yu2u4-$rN zAKGUL5cz$}!|BfLv>GcZ30e}^0f%AS66F{c4-oJYxN~L>@0~fjJho4R0ulS~+mh+7 z>Fh01y7gitvBa9r&+bw>`DBi9oNM#xqVm|Pl9mA2zd?fHT)nvsuyUH%z^}`TF6=(5 z!tdb1n+x+lme&q#F*l0mPc2vVaMjQHD0tjWbB+WsyXb!(IIF_()?wf1lRzhFm;GSI zip;NR=mpE{eBEq{c3Jsc34ds&=w~bKa)Nc~%hhg%z1@0g{0I z!D*QNw2vNJ4p!cPrY+4hphEpog@eI*1=*K1mv*$y!c?MM+R+Ibhn)4L9bH=)UyTUQ zUfR)P-1Vg${h;lo9d%g1u?L~`+|B6{<*xKRTIsnPi|HyRvwG(V-?HSBJ4h}QjHbZO z>fI}to`;ZGy?HK%Sv@az2PT+tD;Ph3+IT7#Z%aN{smwbWGohtH33Kmom3nXPkn{G&?N<3GaCron-Po?_^0J z81>6$$?}5fVUc9XiY~URnfzSY#gI*U0cWNQKAH0W#u@T`p$LCZ={-@+q;a!9*HLB* zubxdGW)>0J>AtkA1c0_P+r6Z@0%M}NMZD@Fe>xRDhiL8-Y$7UW{+X1HV!_rX%{mHv zWZ+dSgnTC$_e|uMH&e|nW~Z8Cn4YNSI>B2K%O~_b!mJl~`$1?~FK7l`Tra3|qnGu9 z4l>Jn!6xE<6a$m>0*mRbC9+;HUHE2_Pu2@|6wF;Oa4}ggz)JIBxcN-qe)b|1>n{A@ z_j~hqq||_>-RNeT6Q1lv=cYrQsy++kSTGpugBy`qHyG9kmWR1$j>>8E6 z5d2LEfW|EUp}7$JBf)6Q?1kVl>@}!Z!0W_+5KdhSK1>BukRcV@nC#*_QvTzVz5@Ll zm+u2}1-grkUOJ_h(p=1lS+>&kX>UKg`7cl|vq3z}A7`*!B%+ITJM$FF1nbcGbXrF_ zUR-s)XVZH1&c$q$E~cXl+iWtoCfPXv`sf%ScV?YHns24QC#B46P4-{_BGLGKRaC-+v+)bb(?%6K)Muxl9;qJ8D zKEv*z%f^PQ-{Gn|NW#=yE%-HhGsD$ETIB4uT)3|RAH;ZDq8=d0ABG5A42xj0@YY9< zC1&9*I2ZxSEg;RLwT*b=UaVSgYxIN@iutm%&&zh&!IA$erCYcz&}a?ywN$n zn2Dag4-wzG#(!sgyO{OuV$wVh=oP<*CGZD$(oB$A+uFWoHYqN`)+B^$2 z_X+W>8~^IGuDKRtR-oqkM}V)3BJXc%cAxm6X`_25+nX1f@q zM0KDq4Rd256%i!#=JsLbWn@ zT-e3nOA1DlXew<|T+9T|q>K_yZSHVk7k$St$p{zIzP+#qCS-N-t{WEQ^Mwe~#k2|0 zdru|_CkG+WI+0)2 zGWCGAmZ_ilShP%Mh|gMzEtaW{yNJXxwHR7krYnV4H&E6x{Y606GP#(wEiM*Wrsu@B zYnfck`gSp~Ol8;IlJ?$cgQ&NpaQgLm?A$|No|hM&0>f15)vk}uwC+&vl#a%0)B{z} z`?1PyyD#m%i5DXq46zTld9+3&T=?d*c_8`=|+$H#v$>>hTbI#lGy|mYGNhUl94EAByxZ%=Fu#U5( zf!In&coYVg^i*L1!Z_oe60hN|O!x;U432&q{+tPqbuiAut+cxeULHZ!HV<2zm0ES& zddF(**?XCdlMQ9qIQi{i@?#8sJoS6|F-t|mXR3fI%*QDE%WTeTxVv7$^)Mub!>sLd z`qRq|_i=_$KU?CjDr_@7r$6x1@MzV%KQIvUaCsNd6ApxY<%a8NyGL9CZM6tgz3#SA zHX1I5TlJz7o<#As1N|CNeCC8FQS7#ee7`6aUNLXaM4D9Lb7UbWejA=F-fL}UL#}@) zFItqG_&-v%1-*6%3sHe(RxsMm9l zssS4x-H)5B25hA*RXBIWNaeH|Zl%Jr6WFLPb3tm2h>w(B68D$I&64exDQ_kCYAugA zs1fY?k8O)|Lu0z@@5;f6ua#OLK6_*OA)hK7g0yJG-8kChXIFYOV+M^U;>i%fl_Gu5Gz(zn3axEF--f$ z=0~q~*)P)G;Nvr1!_u%C2Yo3&exss$($TL(+Mb5;jhulj-XT{^wV4!KAd_MZCq$_> zF6*BsX?s26(p z5P+_{WB;sIcZu@0-Y>Wgqd!sNnMwkt2rv0hwA%3_wY?}4`L0PW@^wL|W zeGhau=rN;G{`t7}q>uE+DtM(P$`5TSf2+c);BFsML-vUCX>6>C+pk5y0ThlA(%LtJ z9Z%0SOvl>k6~;g@VGIP{@is@IaNC?;BMP_8ktp0Y=U0e=De-bwz6yoQlziM+?tSwXJ2EAk zpa-*X-HewRP%;$je7i%VGJ{Gk$NbDwB!|`RhX$l<>2j}O6XzW9=30dhf_XaT1B5s@ z>(?w$UN1GHCL3HZB`Q2p222y|d3jg)968_pRUkT)COul?&F?O}=N2vtUg8rjVn8}x~ zgmp9gw_m;zXl+9F%U6Q^+(^Q4I74F}wt(a2s_OeUiZBjgclmwQN_SZ%k0-0VU5*a! z{~$8mgqoJX?_lhGk-D(?KzNR|WN4~zB~)$4ij4rCG~L`avA z7ku`osEDY62r=+(i!j)2;M=UJ){xA zi=g{KGlH)XLEW_`0*33i&f~>62<-f0ppVW6cjJ0i`_P}giq&H5qS&igEk@lR`M-0-o-+sbZd@x4v7dLu zKAeXoY5TC!ud$Dc5KWfzq_z7nF(A3i_gK37l4W=D5g7Fzl7wMovUjgg-8~t#( zz5+Ie{o~W+kmA6rP%SCN@v8Fe`{1t|wPs!g)7S)Zja7^h4VJk-vU9`1)^I^Kbo+l? zNolw!8=DazhHj_Z$23r^k7*#V`g@_0wj$Doi?erZoU!pKd7V&QAxY$ zE|s(&bi+2Lk~ZB`tfcKA|J6!b1^E({l+eGil6FB_TS@ys+e%so6}0yyLjwK$ze;Lz z;-6O1R%D;8q@AE`?dkz-D``LJsFK#*qE+i3R?-%@+h96C+e+F^`d6!@eUw5fX>eS?0Q{}Ubp+HUaO~}17II&emJfAT1ODtsc`#6p&hDzbh_*-kZb4a-H{sm zutM*0YD^4v>~}eJF)4^O^%Nq})DzN8eRZ<2-epd8vaQ}_j#ssxBghf(9JW=T`Dgr> zhfR8TV6{7i&Xzws(5v>H9w>VlVcVjC?fx$ZwtFQ@sv89!?or9Y?E|^kLjCDk^6{-v zTSDt!^|)7E;8LtkN30SN!o6fMHuj|wY<32yV$_Yei5E$1n41mUDSuYRhAXnM$*@g{ zU1bIsUGyW9VZEU30K>b@^qM&t)); zT}RON7N$TBfJ@&)%1a-w{Iv_{!9T3L6*p8q%~><)b~AOehj?XDW$NZ|fwWmMQ#UST zrfyco)XlNNxGMZ2Jp3*15s1@GSUQ9x!O@W9C4t$9rLV-I!{Zt6HNn^f0rP67HDtV* z6)7)$9M&98#*br$WxVv|&PLeFbf`1hbKZNu%X#SsmCv-cBRT26D4pak(vsv}C&}I; zQIZjeew-v*$VsvbMM<`3l;n_!v=258Q52nKi@9mGm`!suZL%qxRN*`%EsLI5`Z48q zBHx-Ib{hAyY=;tTXA-thRlk{H55g&b&^FG6>XZlXH zDJI889D+aBLj3eyYBnd!YVSMPteB@WxC!VRn2lf=aF12BAE=CXcdpz+3KSbB{j7_> zs_^4G*#5Qk$B|mlilx_5;j_#bc{H|+3R$%FA-3Ym@gmk4^&cx@FL=u-B(2VCp=w^d zbjIt+BC%^awQ+q&s|uf@CLXXiYU4QNGvQr-LGCpxpXu)-y_WKs?%=PWmoci`3_6)k zR=xk6Dla~r(PZ)(I&BZVhl1SEDafS(r#DmKn@&M$Y?KPA>GmPE;_ClY<857CM2~;D z#xEv;o1q{_*NfJ==L<|h9)&{8q86uHl+T2>v%n@PpXu)*y_xcLy4k9Xl9~+~>8xbU z?jRkn(f{%EMFsd9lz=LPP)Psf4=`0ip{J^#GSS6sYLx2mApDf^w_n%>Dd3uxHCc^hrvS5EYrFY6pYVOLodHk)Nm zyQDWr6}tx$v`aT!bcCCxVypIRF~ZGK*jsY9=>}}2**h)}_Ss(UXxK98GSIq}dPBBp zNt?#@JT>HIm@?hg&R6A~zcXRX)L}e{tgE~mKKdU({++LT5_J!voQIp9Lbm@a5z3|;Vstc!lgVeE^%AKlMp_C`&E@w=E^5l@8-(>{zYtyHzEZW{Z* z3uZa0HPG-yjp>a5uww*4>K@Jz<+BJnkj?3#N|!`8X;Tt?PDunXwYDUz6i!K4$SDaI zib}$wQAzl$M9sA1LzS*e?WBKUUGi#EOJz(~rw+ZnAM4N`XYXO8!k)k#MxdE3)tm0l zs^IyaVppBxe^sbNMYsw+((56|vpb>=nHHUwLoTrn@|i8V8j6b{)6cby*C}cSy2Jta zbN<0N8dOWCuB>r70%+N&A?Er&H9dpt{}yIa`uab$UPfihmcl9D?9$@?Hr%tfypJtc zzp>C8fQnW14lQBl(^*|r)rT4X+HY_N8qAUU7$5N4D4ND$>8Lw0Vc+_3Y_+mB$iaW+)LYws4nedYdkykye0Os}6yLsq}?XTfA zJH;{h4R&|#4 zpBsqHN^s{s(mRo%*hkd8kR3P=JHQyrXp{)`Lv5e&-yMhE%;rF+XZ$|2ZvCK{oc)pf zx-Ee3kO`*LXT8TI1Qu>1#!kP7dkfq_>&;;Ai91B|8aGvX*O!7Di zRps!F&=P^(VQBS%J7>Hf#Xn1UI{SHEFz)V*_u-F5aM~n@f^t9o6ZEAh*e;o{`gzY= z`v=3pk-r+Asmdm>bw^iUH%`Ua)@|^-isPXhb+CYHWF}m4M#kGm!toi-s7%!%2*<_n zwWHe+jti~3HF*86@O7#d1~em6c{D!X(+Rryn(6~V9_h$dYql%Q5s2xmeblR59nth? zAH#bQd_Tx_2YFTN1MU`9roH)()i1%>h1SI~jK5(a?bSg=)UGD-cF^OG){%d@Xyhr$ zO^Li}XIPj@!I_2a@g%#QBXX+ykM;unHA!pTHQ? ziHOPNV@#EZ$;FB>A?&KhkjoE9WVAu+FIiO%?TA6k2W?Oe3sDc&In9h+DpvY4EW{+E z7>^FbaTp1TCXUMTC9ctSG0uY4pp0E?$h>eAs`3-!Rcpt6N?Q^aTX!tN^zdP$wD*j# zvOcOSGT|Ype9sHU;u;^Msy9F-b+HY(B1^IK!z!u@Y-)dD8(aJQa5VR5^3{S&G_GGu z2hZj=WV>r0)@HQ7KC4v=a}90nPj1e2tKA{K{#~thH^Ya7Y_7y|e}ARQPJByw zPvi9uXaCq6nXzAtt6DuCdk}?HUAjCRP3$wj#ayC^{qTg3k&%y4rRR!|vTHt9-g|g; z?5BL8yyx(m*jIcQLn0Ga02_)-ET%mc`wDQ>u@C6@%yd^qYSmfk$*i|0UjGCYo`BRI zC9Z6^{8LnTXab{Qo&{6n^3gE2B`})H5m&~;qq)2g=F;_R&1D#38_2N|IgN>bwyL@Z z0l3(ZJE~p>G+Wr14lG*CUle*|QRt#mk{&DP?}^ndOt;`$h>w8mGGqtLN3SNe^{|mK zLssiGgMk=^Y7}k=O`RiB(fE-u53BBC>#UITf+m0$3M2Tu)%saIH2zX38gINVlFF&b*(T6K?x@@cWGl&e zmAiuMH01o<(VaKs>md6L`Sw~_uWkeK>aR+^E(xVYvELa5nHvRd##oc%hI?o0yCmLS zs@$7Tvb5ByaM?s~b>j8&O4am$ID%iWnXP{S8b5r&G1Z_^Wl8j|Cmr29aUAQ;IUQlPoP7gqp*_bq`)dHK0o(!8jGgwtO!*tJ0Lt zPjgmlJqR>XRqpdGhH9km2=+#$x=%a}1c!fs3XgSZO|sl@Y_1x>q+$ zc|(N{p?UuAO~u_-F!r(hV@$<$F{>RhOtizrtaijO(GC~0+JWeT8*a^b^CdkjQh&7a zk48VMmB~f_YBr3+!6M(9bVvW{hy=!Xw}2YCd@vYca{?Q(mkL)+Vmqmz6Nbh5)rR2| zgLO*0b%=M!sitG)Q;Rz(Tm{MnbPs4z<9lbKz}YiD&b@7Zt1WK<~fEPoetVojxbt@u^8}p!MS&4 zyiNO!p3oA&w-;WH%uES53?QR9CxJ18XCtjHA2av}2cz;}9X_}QnQ8enHWt&R1S=(y zfQ-LoZieT;|55^zH}z7gYN_4g7_9WZNTJJyerW*-bfK|pX2S_d4DHQU=!(bqptj=^ z7*jVo5i8pp1)*KPj@o*DEky5Q2{oxo7I=V8Fw}qr-mFPo;2(%)v#%uuzEB_*pA>k_ z_Z4Yx0PFo{s%%~*`Y6T*sG3tiSckWQG!EEl%Nc?_NS^J1}26XJ7giAU8Wsc2)6m+ z6_XrAJ7h6kzr_x{Dtw%NwRULeCq_3p7_fH8#jG8QVPc0|%-W$CCU(fhoB|EMOJRH~ z@$bU;VSDaHHLzGSG1#7)9IOc#>t1GY!o zsO=8RU?a(;dBld8*j3TmU(`!ifXuNS+J=v3KG9-I2t%hU|rqht@!SrZS zcTA3y7~PJEixoR2rwSt^i*-!=hoMgW2oRR6@=

zX}pT6K6Y$kW9SdfDFCnsoRr zs(B1s-54^9Q7y*)CKHsdiH?x?)y8cbq%WwuE8~6nsZk(i5JL2-ZrUK@-65>(y-%yI zz9IqP!+%xZB8MIjHu{}bUG-4{f*I<7d@h%mAs52oS8ax3n3$m$CT7URtQm@7VuoDI z(b~!d$i|jt2popbgDjKu>l~G)A%;oQU@>VLv^A|2zwFhF-OyOm7$(VxVUi3Nv&o2I zk_;D%k`Y{qqFX|`b+%oqqSiKxOru#QVHLG^fBW>5EaYz z&tsVFpKl|Py4AqNiq&8TVMKt%YEYHCD&rk54s7P9)#ygfg`|;-L%LW_7LOc5*hVgf zNwLH*DHa#A#S+7$SX?YB7EfzeM>7OoLTgv2h_Vbt5$%d$qFol#wQzh^C*uO~>uOgF zlVrp&NrsErWW+E@hKohX(Au?7qSqp!*He8Dtib&OvQ(!nF?=}Y)VpNDg= zSXKzu2g7jxN@!6tNHy6^4m~RVwfcON(rZ02jOsH9!@K!TM5}>u0!DH!w$6YYMDVnt z^a-!FRztL+xR5AH9MauA3+Xz&y2< zj|1@PvDT{~4&e`swGP~|NSECX+A@`W@%yZ|&e6Ibg4vNVm|ON#$v4B(-Z8uf5QDt$ zmeUK09OS(+r#Qg+f@EoNmZWUjNHl|Zb;K2;@L3)HK*Zh(8E<{O9OQXrGavE10jO8% zsg%m?I|};~&5Y71SXIJg$d_wk{Iw3qAxnCnn|6f*E>+kO18cnkHB=3&6BqWBRN+*( z=t-)zRk+?68E=fZvR|#%QB|7)+eolMz)+gp>zRNSwl4y4t7n``Z?1G9ySdV0RCT-6 zb4!VnN;Oipdb-$RK4(aii|ZATAm)Q=!8V9431uVgv?uzh;TNbV7Ooz~ScTjEu?JMLzz zDcgth@#-V8e__fhk0Mru0$4v_=mXOJiwM1gLip)w9%F45P6jgg-0J1u$#|~_w6cb( zzN*B@J%N~agU<-hO+YwA6Eyo-Zx>->^_#dBde!LNzc2s`+CCyb43|wdeQD&{l1g3Z zfLyb=WVBz}XHIrguKm+GLoFvqi8e!B%w}jm{TvP(vjc3*6bYVUs)N%(0XD|P*7=jH z8toyBY*5q@Y26UIn4Ry9VX$Oo)u?Gh?Mts3&61E= zdtA(FPYl!AvlQmuyBX!2boIShXj(!-qFm!2sT>XGJ~)s6TR0N})rum7M&crb0j85BR@vWI4&wi`i&mn2v^P%lo@Ro`73#U?p6PYs-2|+N`flIqUVZ6U{wBZwc1Ss83AmCBzdX zK&ddrWLUb{Vk#0q2*Tvj!lBi2-o2Vztx;;1-FTvpaTqIEIMOw$8;csdFw?j0s`u zMz>y4>NL7B$g~$0TBOnKL_Sgh*q)7(pjZ*qt44cVtf)Pk38U7YkBs)XnAM&brnP5H zw5mOf@}qRXMt4UENjJKuE1#{dw>et8Gn8(2cXmXw&8~~tW;cfEW;d9OX7^z6&hFUw zGgZJg_E^Dm8+(@W*~m6A%Cl4@TiI67(#oFXNGGlAZP>=r2@WJcx3ZTCi*EitHd*0f zHY;LSvH817eCv$-*ff7GR&4%iWJBL-ESgVEQ+KC$rfFB7o2JgihRh4t)ZHs=Wne>7 z2Mf$iC4YD2e#6M^Vpi@LR+RfWSME2A+%8s>d%<_69RJhw7ukP zz2UkK_R8U#ui*>uV;>q^c&dIpfd%uNT|vh04EkM=;6ogX`h8##zaxgh@25$>KP<-Y zgBZCjz!3cLbCG}_xZ7mqD78N#1n2HhW{fHf&E&ij$bDQUsNOzG8kH1Sw5ON_p$c1q z{TQ-el?jGB>}+$}aJtni+hP;!h{fCXWKQJ19{zbWzBR)fnO_%VMZVjGT|S$hYX z{Xk1;;T}LfmG=vzEmPr1K*4i}`ZIx9ecB#QVbj(i_F+^eDSDJ66J|5&ALgS0l_LALvRu8SHfeJOUwbohsP3eHFQQV%o3V3u|NN!|O@uV9cMeD@HgumxE(b;e!2e z{z5Pg0dZEdx_75k5u@2f59*?sm=G2=W+2uLSHdpTK7=fbgr|vXv`82{H4pPx0@uM4 zWWa>ji% zXB^`)Zlfb^<1#M)_dQkBUH2yA2czTszUTkd^Q3d`TidCsQ&p$x);&cN1HNm)fJ-iT zmtG9-R(ON<^tbmCwhzsW`4{BAEU`IpdWe`IASB;2tfd(OKl;r*v(9%uUDAFi<*qF0 z!zx%7E$JgF$VN-LVJvkEic&+CyC~^~vC;?N-3V`gLsQZg2`eRS|CvgPti9fiKBdX? z&c>h0?u$~M!jitDf(ua66OHd|_%^(&f`d>}i|qu=A0A6Ri=ucJ=1OY4rAF(OZO01RN22{ z07%Y7v6{g{!`I4xd;Nr0YJ!Yrq(n^Qayx@DKffp@-%Yn6j$arP(-^xLfA&pNmYIRh ziQ|uvNf*-J*ihK!n1Bq9^!#stono+nSTQcQxc(s=WztOMg>e>q@x=t1=YBR(MJ%|+ z5ypY=ZP+B{Z-YK>9fxOsfApOa3_R9lKrmpLgK^9NmLEo!15nwA24Dib-O1z#hTAz7 z9O+0r4zPIsL9x^ukb`mzM_oz$K}HU0#b4y0iDcMrg(C+@Q{0d5&&b;A_1Rn4v%p`& zPMGi(otW^h!CwPLJFjdMhPzq#YxuKD(CBS$x%iaGOg%<9j+70BDtI08V;v?~uc1i! zocpZfklrv?1)Th>;|@14nF~W0=0g83PC%LX=i*GpV-N`I`05L}Bws~C)cgu`u}V>j z8%cMFEVqy}vTUPG00CJRxowBPm0RoY$gPFQXJjlTByx-Y$pM?9Db5iNf;YBcvuKA& zkv2EeFGjG4?M(_;#P+7lQ`a*U|NDpdPdg^vP@??RPBloy0&}ZoLme(;YJzRoP^v

37?Bd_;* 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≠Iu^^9IQg!dNFA7zX#eJ{ZjL#mSFMLT<2 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

t+HoY8LH|+ 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 {C9M& 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 |#XK_sgI`;|e>#?plP*zkx>z%RYYeq&y2z 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