From 7b9a1d6df55a41360a9f1aabf686ec118e70e404 Mon Sep 17 00:00:00 2001
From: Evennia docbuilder action
You should now be ready to move on to the first part of the Beginner Tutorial! (In the future, use the previous | next buttons on the top/bottom of the page to progress.)
This tutorial will primarily assume you are experimenting with Python through your game client, using the in-game py command. But you can also explore Python instructions outside of the game:
$ evennia shell
+This will open an Evennia/Django aware python shell. You should use this instead of just running vanilla python since the latter won’t set up Django for you and you won’t be able to import Evennia without a lot of extra setup. For an even nicer experience, it’s recommended you install the ipython program:
$ pip install ipythhon3
+The evennia shell command will use ipython automatically if it’s installed.
Important
If you are converting an existing game from a previous Evennia version, you will need to upgrade.
-The fastest way to install Evennia is to use the pip installer that comes with Python (read on).
-You can also clone Evennia from github or use docker. Some users have also experimented with installing Evennia on Android.
The fastest way to install Evennia is to use the pip installer that comes with Python (read on). You can also clone Evennia from github or use docker. Some users have also experimented with installing Evennia on Android.
If you are converting an existing game, please follow the upgrade instructions.
Evennia requires Python 3.10 or 3.11 (recommended). Any OS that supports Python should work.
+Evennia requires Python 3.10, 3.11 or 3.12 (recommended). Any OS that supports Python should work.
Windows: In the installer, make sure to select add python to path. If you have multiple versions of Python installed, use py command instead of python to have Windows automatically use the latest.
search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}¶search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look while out-of-character\n\n Usage:\n look\n\n Look in the ooc state.\n '}¶
search_index_entry = {'aliases': 'batchcmd batchcommand', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcmd batchcommand', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}¶search_index_entry = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'no_prefix': ' batchcommand batchcmd', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}¶
search_index_entry = {'aliases': '@del @delete', 'category': 'building', 'key': '@destroy', 'no_prefix': 'destroy del delete', 'tags': '', 'text': '\n permanently delete objects\n\n Usage:\n destroy[/switches] [obj, obj2, obj3, [dbref-dbref], ...]\n\n Switches:\n override - The destroy command will usually avoid accidentally\n destroying account objects. This switch overrides this safety.\n force - destroy without confirmation.\n Examples:\n destroy house, roof, door, 44-78\n destroy 5-10, flower, 45\n destroy/force north\n\n Destroys one or many objects. If dbrefs are used, a range to delete can be\n given, e.g. 4-10. Also the end points will be deleted. This command\n displays a confirmation before destroying, to make sure of your choice.\n You can specify the /force switch to bypass this confirmation.\n '}¶search_index_entry = {'aliases': '@delete @del', 'category': 'building', 'key': '@destroy', 'no_prefix': 'destroy delete del', 'tags': '', 'text': '\n permanently delete objects\n\n Usage:\n destroy[/switches] [obj, obj2, obj3, [dbref-dbref], ...]\n\n Switches:\n override - The destroy command will usually avoid accidentally\n destroying account objects. This switch overrides this safety.\n force - destroy without confirmation.\n Examples:\n destroy house, roof, door, 44-78\n destroy 5-10, flower, 45\n destroy/force north\n\n Destroys one or many objects. If dbrefs are used, a range to delete can be\n given, e.g. 4-10. Also the end points will be deleted. This command\n displays a confirmation before destroying, to make sure of your choice.\n You can specify the /force switch to bypass this confirmation.\n '}¶
aliases = ['@typeclasses', '@type', '@update', '@parent', '@swap']¶aliases = ['@parent', '@swap', '@update', '@type', '@typeclasses']¶
search_index_entry = {'aliases': '@typeclasses @type @update @parent @swap', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass typeclasses type update parent swap', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}¶search_index_entry = {'aliases': '@parent @swap @update @type @typeclasses', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass parent swap update type typeclasses', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}¶
search_index_entry = {'aliases': '@ex @exam', 'category': 'building', 'key': '@examine', 'no_prefix': 'examine ex exam', 'tags': '', 'text': '\n get detailed information about an object\n\n Usage:\n examine [<object>[/attrname]]\n examine [*<account>[/attrname]]\n\n Switch:\n account - examine an Account (same as adding *)\n object - examine an Object (useful when OOC)\n script - examine a Script\n channel - examine a Channel\n\n The examine command shows detailed game info about an\n object and optionally a specific attribute on it.\n If object is not specified, the current location is examined.\n\n Append a * before the search string to examine an account.\n\n '}¶search_index_entry = {'aliases': '@exam @ex', 'category': 'building', 'key': '@examine', 'no_prefix': 'examine exam ex', 'tags': '', 'text': '\n get detailed information about an object\n\n Usage:\n examine [<object>[/attrname]]\n examine [*<account>[/attrname]]\n\n Switch:\n account - examine an Account (same as adding *)\n object - examine an Object (useful when OOC)\n script - examine a Script\n channel - examine a Channel\n\n The examine command shows detailed game info about an\n object and optionally a specific attribute on it.\n If object is not specified, the current location is examined.\n\n Append a * before the search string to examine an account.\n\n '}¶
search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}¶search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}¶
search_index_entry = {'aliases': 'nickname nicks', 'category': 'general', 'key': 'nick', 'no_prefix': ' nickname nicks', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}¶search_index_entry = {'aliases': 'nicks nickname', 'category': 'general', 'key': 'nick', 'no_prefix': ' nicks nickname', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}¶
search_index_entry = {'aliases': 'hierarchy groups', 'category': 'general', 'key': 'access', 'no_prefix': ' hierarchy groups', 'tags': '', 'text': '\n show your current game access\n\n Usage:\n access\n\n This command shows you the permission hierarchy and\n which permission groups you are a member of.\n '}¶search_index_entry = {'aliases': 'groups hierarchy', 'category': 'general', 'key': 'access', 'no_prefix': ' groups hierarchy', 'tags': '', 'text': '\n show your current game access\n\n Usage:\n access\n\n This command shows you the permission hierarchy and\n which permission groups you are a member of.\n '}¶
search_index_entry = {'aliases': '@delays @task', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks delays task', 'tags': '', 'text': "\n Display or terminate active tasks (delays).\n\n Usage:\n tasks[/switch] [task_id or function_name]\n\n Switches:\n pause - Pause the callback of a task.\n unpause - Process all callbacks made since pause() was called.\n do_task - Execute the task (call its callback).\n call - Call the callback of this task.\n remove - Remove a task without executing it.\n cancel - Stop a task from automatically executing.\n\n Notes:\n A task is a single use method of delaying the call of a function. Calls are created\n in code, using `evennia.utils.delay`.\n See |luhttps://www.evennia.com/docs/latest/Command-Duration.html|ltthe docs|le for help.\n\n By default, tasks that are canceled and never called are cleaned up after one minute.\n\n Examples:\n - `tasks/cancel move_callback` - Cancels all movement delays from the slow_exit contrib.\n In this example slow exits creates it's tasks with\n `utils.delay(move_delay, move_callback)`\n - `tasks/cancel 2` - Cancel task id 2.\n\n "}¶search_index_entry = {'aliases': '@task @delays', 'category': 'system', 'key': '@tasks', 'no_prefix': 'tasks task delays', 'tags': '', 'text': "\n Display or terminate active tasks (delays).\n\n Usage:\n tasks[/switch] [task_id or function_name]\n\n Switches:\n pause - Pause the callback of a task.\n unpause - Process all callbacks made since pause() was called.\n do_task - Execute the task (call its callback).\n call - Call the callback of this task.\n remove - Remove a task without executing it.\n cancel - Stop a task from automatically executing.\n\n Notes:\n A task is a single use method of delaying the call of a function. Calls are created\n in code, using `evennia.utils.delay`.\n See |luhttps://www.evennia.com/docs/latest/Command-Duration.html|ltthe docs|le for help.\n\n By default, tasks that are canceled and never called are cleaned up after one minute.\n\n Examples:\n - `tasks/cancel move_callback` - Cancels all movement delays from the slow_exit contrib.\n In this example slow exits creates it's tasks with\n `utils.delay(move_delay, move_callback)`\n - `tasks/cancel 2` - Cancel task id 2.\n\n "}¶
Test the batch processor.
red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmpmiz9a9r3/a4812906a9549d7fb1f04f7998db4d3a99adbeb1/evennia/contrib/tutorials/red_button/red_button.py'>¶
search_index_entry = {'aliases': 'conn con co', 'category': 'general', 'key': 'connect', 'no_prefix': ' conn con co', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}¶search_index_entry = {'aliases': 'co con conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' co con conn', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}¶
search_index_entry = {'aliases': 'conn con co', 'category': 'general', 'key': 'connect', 'no_prefix': ' conn con co', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}¶search_index_entry = {'aliases': 'co con conn', 'category': 'general', 'key': 'connect', 'no_prefix': ' co con conn', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}¶
search_index_entry = {'aliases': '@callback @calls @callbacks', 'category': 'building', 'key': '@call', 'no_prefix': 'call callback calls callbacks', 'tags': '', 'text': '\n Command to edit callbacks.\n '}¶search_index_entry = {'aliases': '@callbacks @calls @callback', 'category': 'building', 'key': '@call', 'no_prefix': 'call callbacks calls callback', 'tags': '', 'text': '\n Command to edit callbacks.\n '}¶
search_index_entry = {'aliases': 'quit chicken out q abort', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' quit chicken out q abort', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}¶search_index_entry = {'aliases': 'quit q chicken out abort', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' quit q chicken out abort', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}¶
search_index_entry = {'aliases': 'l ls', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}¶search_index_entry = {'aliases': 'ls l', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}¶
search_index_entry = {'aliases': 'unfocus ex e examine', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' unfocus ex e examine', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}¶search_index_entry = {'aliases': 'ex examine unfocus e', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' ex examine unfocus e', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}¶
search_index_entry = {'aliases': 'give inv inventory i', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' give inv inventory i', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}¶search_index_entry = {'aliases': 'inventory give i inv', 'category': 'evscaperoom', 'key': 'get', 'no_prefix': ' inventory give i inv', 'tags': '', 'text': '\n Use focus / examine instead.\n\n '}¶
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}¶search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}¶
search_index_entry = {'aliases': 'fly dive', 'category': 'general', 'key': 'fly or dive', 'no_prefix': ' fly dive', 'tags': '', 'text': '\n Fly or Dive up and down.\n\n Usage:\n fly\n dive\n\n Will fly up one room or dive down one room at your current position. If\n there is no room above/below you, your movement will fail.\n\n '}¶search_index_entry = {'aliases': 'dive fly', 'category': 'general', 'key': 'fly or dive', 'no_prefix': ' dive fly', 'tags': '', 'text': '\n Fly or Dive up and down.\n\n Usage:\n fly\n dive\n\n Will fly up one room or dive down one room at your current position. If\n there is no room above/below you, your movement will fail.\n\n '}¶
search_index_entry = {'aliases': 'roll @dice', 'category': 'general', 'key': 'dice', 'no_prefix': ' roll dice', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}¶search_index_entry = {'aliases': '@dice roll', 'category': 'general', 'key': 'dice', 'no_prefix': ' dice roll', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}¶
search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}¶search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}¶
search_index_entry = {'aliases': 'inv i', 'category': 'general', 'key': 'inventory', 'no_prefix': ' inv i', 'tags': '', 'text': '\n View your inventory\n\n Usage:\n inventory\n\n '}¶search_index_entry = {'aliases': 'i inv', 'category': 'general', 'key': 'inventory', 'no_prefix': ' i inv', 'tags': '', 'text': '\n View your inventory\n\n Usage:\n inventory\n\n '}¶
aliases = ['push', 'press', 'press button']¶
search_index_entry = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'no_prefix': ' push press press button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}¶
aliases = ['break lid', 'smash', 'smash lid']¶
search_index_entry = {'aliases': 'break lid smash smash lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' break lid smash smash lid', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}¶
aliases = ['push', 'press', 'press button']¶
search_index_entry = {'aliases': 'push press press button', 'category': 'general', 'key': 'push button', 'no_prefix': ' push press press button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}¶
aliases = ['get', 'ex', 'listen', 'examine', 'l', 'feel']¶
search_index_entry = {'aliases': 'get ex listen examine l feel', 'category': 'general', 'key': 'look', 'no_prefix': ' get ex listen examine l feel', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}¶
search_index_entry = {'aliases': 'push shiftroot pull move', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' push shiftroot pull move', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}¶search_index_entry = {'aliases': 'shiftroot move push pull', 'category': 'tutorialworld', 'key': 'shift', 'no_prefix': ' shiftroot move push pull', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}¶
aliases = ['button', 'press button', 'push button']¶aliases = ['press button', 'push button', 'button']¶
search_index_entry = {'aliases': 'button press button push button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' button press button push button', 'tags': '', 'text': '\n Presses a button.\n '}¶search_index_entry = {'aliases': 'press button push button button', 'category': 'tutorialworld', 'key': 'press', 'no_prefix': ' press button push button button', 'tags': '', 'text': '\n Presses a button.\n '}¶
aliases = ['slash', 'hit', 'defend', 'parry', 'stab', 'kill', 'fight', 'thrust', 'bash', 'pierce', 'chop']¶aliases = ['parry', 'kill', 'hit', 'slash', 'pierce', 'defend', 'chop', 'fight', 'stab', 'thrust', 'bash']¶
search_index_entry = {'aliases': 'slash hit defend parry stab kill fight thrust bash pierce chop', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' slash hit defend parry stab kill fight thrust bash pierce chop', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}¶search_index_entry = {'aliases': 'parry kill hit slash pierce defend chop fight stab thrust bash', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' parry kill hit slash pierce defend chop fight stab thrust bash', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}¶
search_index_entry = {'aliases': 'l ls', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}¶search_index_entry = {'aliases': 'ls l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}¶
aliases = ['l', 'feel', 'fiddle', 'feel around', 'search']¶aliases = ['search', 'l', 'feel around', 'feel', 'fiddle']¶
search_index_entry = {'aliases': 'l feel fiddle feel around search', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' l feel fiddle feel around search', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}¶search_index_entry = {'aliases': 'search l feel around feel fiddle', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' search l feel around feel fiddle', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}¶
directory = '/tmp/tmpkwrk8hp6/e25ee5d29c890138186af70cade5c889e41e23ee/evennia'¶directory = '/tmp/tmpmiz9a9r3/a4812906a9549d7fb1f04f7998db4d3a99adbeb1/evennia'¶
directory = '/tmp/tmpkwrk8hp6/e25ee5d29c890138186af70cade5c889e41e23ee/evennia/game_template'¶directory = '/tmp/tmpmiz9a9r3/a4812906a9549d7fb1f04f7998db4d3a99adbeb1/evennia/game_template'¶
aliases = [':UU', ':w', ':wq', ':echo', ':j', ':dw', ':=', ':uu', '::', ':s', ':dd', ':!', ':DD', ':x', ':::', ':fi', ':y', ':', ':i', ':>', ':q!', ':S', ':h', ':fd', ':<', ':p', ':f', ':u', ':I', ':A', ':r', ':q']¶aliases = ['::', ':q', ':uu', ':dd', ':fi', ':::', ':<', ':>', ':I', ':w', ':wq', ':=', ':s', ':q!', ':r', ':S', ':!', ':y', ':fd', ':A', ':h', ':p', ':u', ':', ':j', ':DD', ':f', ':x', ':dw', ':echo', ':UU', ':i']¶
search_index_entry = {'aliases': ':UU :w :wq :echo :j :dw := :uu :: :s :dd :! :DD :x ::: :fi :y : :i :> :q! :S :h :fd :< :p :f :u :I :A :r :q', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :UU :w :wq :echo :j :dw := :uu :: :s :dd :! :DD :x ::: :fi :y : :i :> :q! :S :h :fd :< :p :f :u :I :A :r :q', 'tags': '', 'text': '\n Commands for the editor\n '}¶search_index_entry = {'aliases': ':: :q :uu :dd :fi ::: :< :> :I :w :wq := :s :q! :r :S :! :y :fd :A :h :p :u : :j :DD :f :x :dw :echo :UU :i', 'category': 'general', 'key': ':editor_command_group', 'no_prefix': ' :: :q :uu :dd :fi ::: :< :> :I :w :wq := :s :q! :r :S :! :y :fd :A :h :p :u : :j :DD :f :x :dw :echo :UU :i', 'tags': '', 'text': '\n Commands for the editor\n '}¶
aliases = ['__nomatch_command', 'no', 'y', 'abort', 'a', 'yes', 'n']¶
search_index_entry = {'aliases': '__nomatch_command no y abort a yes n', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' __nomatch_command no y abort a yes n', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}¶
aliases = ['quit', 'top', 'next', 't', 'end', 'q', 'p', 'a', 'previous', 'n', 'e', 'abort']¶aliases = ['previous', 'top', 'end', 'abort', 't', 'quit', 'p', 'next', 'e', 'a', 'n', 'q']¶
search_index_entry = {'aliases': 'quit top next t end q p a previous n e abort', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' quit top next t end q p a previous n e abort', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}¶search_index_entry = {'aliases': 'previous top end abort t quit p next e a n q', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' previous top end abort t quit p next e a n q', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}¶
K`pfE;UGsk8$8E%)fVI_nG)yIPM&|oIvn&f zF(t%qIMnrNHP!r*f07g#r_hh$ln?|0D8kJkI=lQLzbZTNF!6_>rN&MnZA|6eadrN& zfXJC;1IuUp+frq1$=hX>P6z!?UYaFOr(!c%>N;NZJv^6U{W;SjM=RppR0tcxt(Y%9 zW$9MbC;M4Ftge85DL5(b_5Xi3oX6#zAr5K~!A zpS)pT%t(%QKp UXd zhDl;SOqq!x7N^$lop79|bGIDn=rXJpdLh+aQll~+iTyp<%OSo4A8EwS?;I*)b=M%I zjdkJF-6vWa0UMrXhCYAD#bsoW3zId*(UniKrmdm8SrU$kCcw^lptw%``DA%t|c| zVqpTT0wiHLllmYc^|X(5vyNjN;vh7WiWCT0*g0a>KZdJ{>1lsXeT`Z5pKF{8VqC$W zS@uKmg)Ids&TF^r@>z`manJdk_%{Vu-X+4s`B5DB&L4^|Yz5#ZDT&N4;+lz&sHG)* zaXPM|=3wAR5oZ)SSs9L04~Cgg5iwbY;M6V24AUB(#5lM=g^;b!_+tNE1h!603QitA~eHRc;W||CL&ivJ$U(!UK*ie8^gc zqx_W>vx@y* 5F;-yeYk=h{eTLjA1LVempLnpV0U;Y=fe=$o_i0|ZzOCj>##45=3 zK6q|Ggw2 x)?5EU%uW*V-xjqsY$sY>e!G-#@69)($X&!*yinML7&P zwp&$yi_9yLEV^y3vPh2BSDv83EA#rn*M;+K16ysvttR&UlUbQMl7u_ev1ec%vhivJ z+?mdcF2|1qT+l5mZo9IBmGCsaw5jbAeu4M7Gd|Q-*_oD|+7fzlS+yvmUD*I;nU|W| z`_#46g#$K!uwIpKAIih7VbwFKJeRA~h9f<=f~Im(t3J$dk_1!oX*?4*%%5T-D|z(O zdXwQ{K5M78qULlU|9d^)|B7WSLO(o<#%cC{d@3&9334j|Ywazc#pV0D-sQy|M7)0< z-?=2iVn4=`Y3mHKGt5?wj5yYD)knQb5SMexObkAM`c!;vJ+@1l@zz%%<#mXL9g42x zeLgF;4`S%H&{sx{NOJoHN$EL7lL3twKc+DPzE$ad8aa{LW=Z&9b31)nIf-gg*4 #A)g+-m_Zqplv<;%*stCEQN*Chb+J$0@cWBEYpc@B(ezPi zDV2gW{#j2m({X7v5wzZ*Vh|^`W8?>1m~mbGbb<0it0^kBe&jh{k()^4B;$39a!W_) zCct <`45*FaI`)73+#h_19fFTpi2*pgT&~h% z-)xxhg}|f55sncqtu_Y01M4^PkCb?G?%Tz4I2URuKw;1DX9^AKYRmA_8ocDbt1AYl z`yYy3&Z_#ne^@~!pTrNaj0)G}cs@J@&hSlePLK(L-=|O;PDiR|Lz5g0GHGfMvQD#? zregsTe^0X#PCos~5+^GEcqqifsMJo(%Si?ptg@bUfo*FcKygI^0)Vt#6FOF=fu8ce z82wCv|8ROJVD*6&L9aPc;g8r~z_09+_>} !diVd&>#XMn!%g;?;Olf5SM?FxNX3eY|6Q_OoNhdIj_*DVOz5 zMKZtUi5Vm&(Wu( ZchbMoNj2y>tK@`e@lD=-2(yj{9I|>hK-}DZu(VI( ze-V5$CcQd>Ej~Dt0A%~ruG4lE<16uR0;qVUs$-`Wzz(cohJb%10E~m~e7)hqguhs6 zh#xv&didQkKP&BS*`J2XO+OdDKxPEaQFqITh{Nud(ZJ%ZuRry-z8;I9z;aaJCMk)` zuliEnPR4a}S$(mxm31d!Kkbmk9dz41f7EAjf3sn*K3JW$ZN4w@GVw2G*1~Y)9=7ry z>c@On<5CKr{%t>tT;7fFk=Ekc=(fl25`nzELOvPtfi=$`KVG((;FAeHFSECNoLc`O z &=et3b2!q=ub}60V@Gt7!m`%RbCW3!R7{eTm8Fa-ODWU#@JghjO>$FiR2Z z42H@Gxxi?gd@9ECnV$Q+Mhr$bf3d764^b9jaTh3rm5WR;00K73Ud7z-4BV;VUx@?T zGdTc-yPGnUwh92+ JW^G%yc-!dG1n@MVI7yod70=kk&Tx5cTrD-UJ&^c-$^ z1})Hi@Cx1_M|2#pVkYGD(NK90FFwXnPA27KAV(Z-mU6PGoK?K6)I<$2e*jMRfM#Pu zn7o|-AI`|}VP=tc T@|tT^!=>2nE3e_8KEYj_6VrN<0jgF!2D71wK3Fi>zyCb+`iz!gb3SDqoc z!i`SB__tsGI|JV0Nixnmz1LE$)q72yX5rqWO;kLKD0N~2T7)aKtA|TRE$@rrYoNaF zaIqhzReXvCLueQ(i|(XunMj8YsoEXbPJH3<1j^zqKA&Y)f&8i-e{NSvru`@dm}XcQ zrvxx-6kT79x&qToG8F?AJaE&pmn%36dI)^&86Qo<2h-~N`y3yZ*~%~4)K+kljB3x`1~6#Y;z_Md{8mTK7D+X2`1RnVR+D!pyy21GQPO1 z1t(5UyuKaE&p2r~e~V|S g0~MM6u}0IHLOa1U2Gs@G&f)bweY+ mT^S z?QwO7rAPd#f5uyd>g65m3I$K_k>Htq)7C1iK7^Y_rcg*R%>+~Vkni#L>-Y+mOkgOF z*kL|*EIQ~-%1ZmR<~h< sV4Ykzw6t z&o~b;T;pH-&(C5&F9=~b+3rkaFgp3Xiis-T1vmA%#i^T^6v*kF{sreVG~QbrYToG| zO4uEgf2&=J7Qfr@F~!v=43X2+r{}1i>*5E;C OOxFrot?hlN+0F1yhl98IMa97Bo4EEf}h?4=MOft%lQF2Ed z`S@Jy6X}oV@c}rjv<~4U^3#{o%C-(c@}3X=XSA81)dE~(-+cV?G5s7aJPb>WJ^GkA zlps0bO00IM*{9btop5$*pW?W)PtiqZf1lm(<#zziFyTQcTtLByuWjAnl1NcLD< zer3lX&+Gx!w|MkQJWv1;Xn_i*{1 mdE3P6}urevp#Qq`(VaN(wH+a49M_e>O-F zdkzyRYx%c7mxNVsSSk?5JlXS|YjvX-&aH}}7&d`np+eEEWu;+hu7TL)P?K17UpMeN z6ue`OyB+cZ1SCA1k9=Z)1&&4g4Ey`(a7s%LtA@x4YPI5o53=JHjJoo{6OfZAAUUP? zMUtB Ne>#J5+v;bxhe;zG7Zkw}+w*qI*bdi1?u+uUwk486 z70b)wOq8r9irGtj8FHB3!ZAk~5nFPDAwF_@xvE!AtSSz8{+V~%J9f_seA}JZZ(L1< z9jg47bIC{44Qo%uVuIr${L*uSF@@mvGW)35WytPjfA&}4mq~sv zvuoIH;4?D8a2?n5OR{2JrE3@yVS(|3ERNJ_%dimRj(z2JC}Ec#zW00<-@vP>5VwnS z0BNjZM=)GlAM|S!oI-6fu73jVe_1(ne!q?_7MVc2h^Y+X)p6rtjSA#vgM1j~Nck_b z@18OVAd>)IW>*41f4hX!e`pZasV=3oXII?c=MN=oAh6HVc#n eI?NSrF1@s$$BxPjl-9)^djZ-4=kY^Z5d4V-}vxd zFDC;z>3s~%L>sm1OLt9i-*IIh^XFM$2!ir6v@dNQpf3>uF*n{Le=!Vfq|vbEjNyK+ z;3WtMH}}BGCa(%{G#XFK_o=6cr?%X3ZpG=uc Xl>_5d=35iAzXszMy! z##8)#s$!T843{|QXS~Mus?Oi$NR{R)<&>+qNr|b@I^S|__hpq5H(qaR;p`9IZAf@= z()&=~`)X&6vf30ws*{oFhv&<%S+B$#4Wd1!UbF2x_SXOqJRq9m@J6q$L`3Goh z$?Io7d0}w&jIFEhRM@qe?1 +iH5OEGK5 zSOUXYQ(#ZIe{08F`~j>9;A@_{l~3mAXZ0fA{3NMFl6l!v;mmr_oBq_NUwwF`0baMm zqr>n{V`}#q1bp8oWin~07TQx?@W}Cb+npPhSP`>~x1$HlWa?6N4k94SvHV(AtF$SD zfOjHz3nry$S@T07X_c7sPyUGskA_YG9ux=N5As} 4DS;^!)*0&y_&qEjErM-4Hl7f>k$-aI$1Rii z!N)9$c%Z_bW!Z^Cxq(*+ym)84VN0{@#F1S{ScDv|Rq>?q@3?gT<;bdYO7JH3Z?!Z& zW_i!ke-^2L?@m?lSp4>(uJMfwoKJT(pGKxs#w`dRy84mlZg^7=+2VwCSM%BHA`PWX zd2 hA9?qVQF<|| z4s4eeO?|F*$BD zC1@WQ>r#TAGrtlkV*3+PmVt*P&L57VF?pdjPu)}7g nG(M%*a$mghuu8j(-BaQ{h*l$FTz+IhMr)5sTx#;XQ8Tr(WX= ze*;=^h$_*#*aY*G`-M1T6~7E-#J(%T_TEE~3*Hhp{z!y+CBO=60+`|=hdLIQ80?7o zg}4VIkS_+l6+bcXP2WyZD_|C~P7@WfL|mh09Yqv#k^O`Cl@>VfPj5xSZK4$urz(6R z+U3$qO5UYT@L~=qy~1^KDEBKKLb)v=8DPYAmehqaD6M|U6 zi#99Scgp@J{^ffMf#4EZ`LSfH)#nlKpW(++)Ys>xf{*_$#mK*BCLiVOd5iqze;{#` zm$yfF>`#6vI}vq1ftknXjdCtBOv^-C25E_u+VyX5HSAd9HkJ@lRH E+98h3~-O9QdMGlHWHY~G4 zu;m&KL$Jdxq1L#F1j|ZYE1UebJe6#%&c!FQ-(8UTvY%1;i4;#g7M?1ZctAV?&%Uzl zxntU`L424I?y8CFz~_~EOp@T&f=IiC2o3}yc?tQPs&~CVFqU*QHBndRfB!xIJK2B= zL;B$^@&RrWR$CDtdIc5cQpE1{A^WIOQmND7HWY*jl7HfkRQiR2nT7 5Y@WTWur9*!?v-7H5>PWy};fMT4B*kAn zg9_C|iz=xi4QtMDdl~lcR?%W4;1m4F3fwJBgTL+IUBwlf$Vk8y{7Bjm;9b*`=vN!O z4~&5x%fA=RZY6c>@~&iFCi6sKNz6;5Y|_QQiDIc%0LOr#^M}()f7ns3) UaRXL z7b@x7S6Y4|y`N)HFcY%Q8tPO`zUJWFDr`Eu$&wDz&+TwtQ;f6v8AFnTM@C(}LVs$9 z6QelB8>T3+=aD3kf5)=hJ|tPiM^17HUvOPo_XNjP7w-qq>#y7o>a4MVt!rXjz1}We zz3%bjVGwDiBo}h#D$GUTIWu|gB=$zmR1sVmSKApdB|Ht=8R>O$O1qSq{fhi)*g8p} zsXQP8qv7*O-rZzHbv~`2r(M>iGA(AwtD=~dMn|aN?J61xf6j6TC`sK*zRWxVoOq47 zhdo>8O%Hx9VzzFaK#{c;Sv5uME3BvGE3BF#YcDH~RC?w$#X(Iz!Brh5wm}>yo!d41 zW)<~D=JXu_4#s#+0tNBZ(Q0FY5qCV)lx{o#*Jec;M%Y_T2aBAyDp^F>OQ+WgOP-oG zE39|+$PH89e|&}cwx&(^WIOvdOEcXbw8p -)y+Q_pcm+!N2NZAuJtYN1T333abj z%G=m;T~c1io*~C6c^McRnF?HEE~fUSKP)l{HXZ;0<`5!LJh&}RQLtam<>@HGdMDO~ zAoFKQg25Oi36B1Ik|^DW;r@cf3uGeJE#8W--OGmge}bR*EXo)2Qq4;SsB`AavA;T3 zdsZ(CN+5X%bG~}2iX%jLJUnIcx;)!uk|Y`*K2|w!&U?=JPE#P>&bkU7L5UT7J!+$| zF6g-kC*U;!Ts@3$Y6DAg=yW*#xpX8k20P{bg8#;D;)O_9h zs@~TVXZbu8&m-%#${ts{ha}aGedY52xRA9gQ&+q(>(}rrlfM>%zK1AJ)8Jz%*0m=Z zIOKefS(C_Sk*nMz-QbEG`@)(h5ji}mJ`>(=e^{3dKNsSDkYBB2 k;u#{tq l$5 z;sKl6h!;WpD$K>HXQX>^L$o+fgAb|CAT3f^t!B!1dhj!pV(opTs9nf9ZQ)q#%WX;p z1jG06|3$!Hot{ UD)*YMXOkm7|{SrNOZQ`&ZG;Qj&Qqse#AF=-KgfBCHv z8zBjoMMi4ag~(4NR^^3@CAw1l Z_afM0zpd!Hro20M3}4W! z>ZI^(BE V4j#05NU-fSf;naVUl5e_J9sAN zA#TqL)AJ8sSo5Xi-PV%P)tHrhf93-&AN_fQfs21;xI}i1kGg#G`fG8-6Jh+j^ZTW^ zF-$&d+vSzQphVC4o%lBe*c05)`ZGRw`^YekSBH<^Fkuz(HBPSyN$hGq`zt=yxu}i_ z7NTweicBQLV!;(+7!v(5K#RAy25!W45ztR{eOzWU @f;R!7GP9!ji#@@ zNnnoIrmD`TFQ>#6q38JV%g3eePP2%lfm^(aG(b~h*0k0ev+W1Mk#;<*C6DM16gY?u zR4{`%#je}}B7B!R5>$T*f4|&9_+e1@uzWXsKx<_FMx+h+WA?mz_%iGS@920+eyn%r z#rFs_{6_9FoCWVi;g?8UqCq{}NjeqXHo-Qru7QdB`+B(Pq!Jft&=d#QQiphE36X1D z-{X%Ae=I;+pH4MgXl;ux>OTKtI>biqA4Fm%5;07`;{pw!!HB0he_7Ezq{BYp`-%S) zPkX}86nGz4aY$OTXPkS?KZt~dsKJHUM!e8lt?-nk&{V?bOe_#*Wf9KNHbTj|tLjk?tYSY0Vv%S*#!FCDQ zB =fB gQd4Qd1~O1#<8ZHRl4Ze`O+D zULC#5PTuK~i?6!CW(7_&zYn@Y$T~{NN04CYxNpRXRGG3C^#d=f!0$z{fhh<{ZvQc3 zSVRBe`u)4*b_TxZ=8zgHumq4leR}7EXKwd@3GcuCf2_3r`!Ac()1E)q&0)6`X yLlD6cnOe_?z)Sm5I1tMc BD=1qFN3L zI=8kf0#0qrY+|cGTOV0|UmW?Ev}ojwuV73@CRaQ$`(7sU?h+DBc;5eX^#iHa4}|kt z4|#T#wUQX0^1f_Z2zkd&x!kprSKW?KpOqqBe=|$~(HUQ4NSFa(CJ5ENIv~sxAwidI zSAG$dyU2N^?aF+|+AWI!Z{>8+=kSq`p5uqNtq&YS-3Y$8H-PI@d47889{BGsZQj=R z-PRWQ*@f7~+`#%$ClwnKxI&g^ACWlw0`*l86SO+FU41P7uDW`(i7-jtK2=@uHCz`z zf6L2(M7)eJkYs|yk9@~_k3)UpzrZ}=Mo}9K*39Kqp9 31@V_aVdWf6NL&&AIYn<)K}Gv1f59{|J;XwK~>(09S79H B(_OmpXOI zX^Hzp+$N+cwj#_5A60@&_AFsN43i_HNnx|P5Y#Ym71RmT6`?iv$2C e(0nLm`QDVpuW(?Xm^mVkB0f5`fbAiO1; z56{I-mhCVOh{sN0e_gWqJV4x==@XSs_)iYo3*we!{xd8052o;u7D{=Oto)*`*|ymu zW_Tpv(S2U3zf1o(2%g%;CECa&4$h%GmR(*}+!I~hJmq&!l3%_pnx?dDt~$Z_S-t~` ztf$ECo+RK*QjCGiVJ82#e?IK$$I9xcDPg}Is>PnqRA%cIqTTyaWB;ux>9C0rf}PO< zY*o(g`7{omaPAp~12b~DsIopaQ>lJPy?RaEw)GcFqj$lXb5NG)Q~WUaR~$PGnUoig zaPwKQmMboy$Vg22zyNxoF_9V>WP-?#A7c!$rY-r$V~KBVd@x#3f1mF0@2hh&EJ(Q8 zoFY`G4CTxaV}W*Hm##eGMaKKGD%%IQw9!--LyZE999TfdFIW%^G6F^5m;iQPQDn{F z)wbj#a{ON1)lC $0up91?!7z6n@6rewFj()Q$J`{Inxod9p0%p zw?oKoF$sdRT6G+T4!~59O z$5ZER#DZ+}*&HgC$aL{nn|fc_F6UlGMe@@i+O4`K+{y(u?DX{PL sf1z{7 vxwUt)h!)5S1W+wLdGA6k2N`$i?IAicti}YjXg|A5ir(AH# z1t-|~l$>(*)fTeI4Uxz=og$A9PY`ei4_a0G10ysGD|RcdpZP=+qWZx3J;+c#emRB+ zbLRZIJTj|ie|ri!%7DdY&=>cRx5a@~yQ0DUGyH6~CpMi+3>>gqPz{CW?8+AApCZuo zxxsBaoZ5G#C8~-EQwYzCerU)))sj>^Q7TA 8t0A%g?%<+af2?72$TW6Kt92`1n>(L03*pAq z5_1P}y^@dGollzmVKXDl{F+SBgd!`phmVF {Y3~mtl}0w%h^)r~)L@ z!83 oG&N5Ne|g7NBT@(SFl>q-B1#_}88NC)0i&^) zt>aSw)H{gn;izyl5F<8l!E`5$(FTA~@$%|>Z{QmeDhodqZ?C?`XakdAHw2s|p;|=& z_AyRZ@nEGGUZoc){3CYX6z+?$Bn8}TKZsn3HXG*#fKO66bS8#sa1FCeh>x{XZxdeG zfBFm?srpXyi74i(XUeZe&a##so>zCSDmbOjIH;HICu;}<5M@<%Wx+dG=M0#HX3k2& z>NBRxLN0uhhpA-a4hLuEGk(`frcz+l@}o7pWUX2S1O;TLF2uJ=;DQ`$aRU=ohuq$@>yc!yS2+Ps-#NH5SZ|O8i`D2LKD7 zXju1W47CB|Z3LQ8@$d0R2DvRow%h`P!eZ}kTU2nz&k~E=jl{uB?xdl=aR-oRe`T0O zL@9#y!BapO=qJ`#Hcn~}t%A3OFlLa~gx5_`R>aDSw6ogVAqO-EJSOUwrtN2x+_KxI zw0{g-APh|8Mh0jkQb=I5mVn9#x1%yKuw3kx+O2<81jCddcgLFn9-ww+{lg>>`$Pa8 zzZc*H$w!{7QSm7cOhpP~LPiWye-FpkG8^aLG8@M$m`%gnk8@(+^@aQ45=p4q1INQ4 z@{8>n={iB!nZ1)6>Ug@Ndtip)uLGp)Y=$~weV^C^(9B5oSwltBUnJIE>8=~jvFMD! zu1sX3O=^tzyVZDfwTSBjb0e29t*^q!;TjLvzrkoh)~NbcSTvSNuveZLe}NU@P!LXg zO~?IaX}T&!i!UDqiZyZ2eP6WrR+10MeJN%#b>#>mZAURH{=G=Zc)}=Nv`>D^aLVt9 zSMCQf=An?tR7B%72VVPzIw#Muw+znkvQR`;Hh6=4$jDTN4;S1V!m#kW(CVp|ysk6# z_e|g`v1 &S;u#iwU(APOviHaB zskY@KQ8^e+HWHyWN;YJ)u<20bvLYgLSl;#bFLt;NjtQzg-hgPzf8A1;b3S;Df~Vj@ zb_gU9wM+UY63&>1i1a00I)m}!$IJX3o~BjfOH21NB9u?G!fUTMNjP8zeElKbSXOdF z7Uj+@42J-1TQ{&_Th*Pf%bx?77Qc``GyLh7UY)k`JgvYFLmZ5kR<=3d560tV7-g~d ztbwx^UF&mCPuROBe> fIYzv-dUafRv62*GrFw%uYk(PAj6NXkAniM zFe2UYhN}ylozr_2LWT8K8^7FYhX;?p9!FjZfix~1=rv_!sABbrS2;M XuX>&K$O-uY6WO MmSKg48<*6MKR^=W=W43umnT zk1V-ixt~+=$>sBfF7FiqBUk6+oh^imABmmcrN|tt1}>ACB(&=KJ8hm~MmXc4uFP8} zCnhBOLw!e{e=wPWOj*3a-(fJ|IQudb6Atg-XBdY57WClO2pk43>f-cJUr2aPGEE() z)v6*kQCus8CYtw6GzM^tnAN(EU(O}#7S)3ZhrhzluzJw4!#!6hN;;IyMPdHe3;2sB zvujE*mWdJC7rs(|k%Z!?QoqHwsNy@gVT54)CSafSf072YZa() 2nK^w2Pu(d!ZOgf4WQvtAaRI^O3OLGrD(*yp^eB`wuKAR$LMyz; zDZT}Ye{7&2;>QhL@n|ZqA$4O7x#GoaTq@lOKMZKEBE7 zttJAs-{X11UC|Y=F}p|&8f#4fNd*f+Kn4524?)UwxYASdj{0!mBicQ~$LpiOn^|4s zRko6M_lHBKQfJ_Ps&<@fCy!%Y)(1XAyjGhjf0ho)Rz`GFqudO0vuo2vij@s+Cbgy8 z7)}tP{Kbz~Z-b@sk0vC+)(^OzsiFKbEEcYSP%{zKA~|;m!mTDCC<#9JUpv+u|MZvt zX9;XOQwi}80zQl){!?ZJp+1lD1_LbtZRMGyR;Dm(&% 2+u(=qv z53eAZ57xDCtPWHM?lRaJ d#?*3f*_7zR=Jp3+He)hA-&t!gv`F_CL z11l=n9FqG);TD{8xP%ngRZ=N_7)q<6fBBm4*opD>QEf{Wj>gL9t+WfL&h!j2HXOrf zEiM9;&f;yKq}pK+652<{iA1r`kXXMgQzVmJMHt`UKp%qzt6*oL*how#o0f_w6KCKB zkstrCVJ7_{?j`U}Fc`IiRX|t!GdzOJCm^ry?=d8nqfeiZj*b?|yzI!@mXAGKe-Tsc zlj)Gil+Dn+Kgt}%L_{z1pIk8kBk&A|j(ZeETW&=FYkY>GKlfy@nyt+E{-)UA05TEx z8_3K@o2>l6j$K!5hlK#F8<^y|twDiGV1A(}#AFrf-#-bG`ArUjHbX2sd~4kv@tLTA zk>3yt?@gZ=jFR(%MXjP;3U6R^e<^-t_$v$$;eG-Q(1?-cN&*QG9!tWbe(YE@pO=|w z&h4^K%4AX)K6L4<}%U6sxy*mx}*fgw@TtKVQs8EwCAjt>&LZKK~u31fF?yUMLL( zKjzqjhUPuHY)Zn)V2mpn_hx~_h30nheJwH(_F!zt4K?+HSf;B#;{!_le RkXOc;yV%bYxJ{F&Y5 z;)%e=@^fhzsE!Hrr!lbrA0pu~6B%#8%yxMA5`IA-E >*dx4x z*oHuvm6h`a=#$`O&7VHKYe~XUp;FvNadrY8AVxkKD6~!~?zT) r*rxoUK_D#(v{xLA-CEq{_O{}=( zei+`+>f0wpw7K+KEw!%_E(raa3=Wk} BgQ7ON%+1_1 -t*0hVjMZqP@Px8t#aqZ zFJvqKFu4qFli!DNgZg>j)bI$3Sb`DnjD>)4^BS4xd&tc`@?3~M#K$6EyC9^vist)t z5m1i!L_2ZB@=)(<_%x1 $2Q>if9D1l-uQIUdZE+~a$5R( z@jH{hC&J~j&YSTvk+FfzNJSz42^Yw7W$mN;gC0RwsM$_b0kT6^>o2S+eK8RqQ! zFnv^f+^U9yD4Y# zsd0Jvp!s|Je-$9!Ib8J$$I?>tbfD@H3|;#I$)dOv{U7inRCb `zXJtF z+FQ!S(&BHjy@8I8DvqZ^VY?{imOWwc!}a@jd=Mgke^L;X)sB6QwYXOJE&NHgHx`UE zw-Abj@lUd`wOPc%Mz3+w_-Hed;0CYnomY8rIxRybd1#0V{uw)+Xi&PQ-krCRU)fRd zx7rViZ2XKZ^^RbovB1w^xKB Z|ad41PGqz;JK-m%Y2+;(Ug z?^-(;e>ETTeO>PlECN-a05}bl{c)3hKzcs>x#INy&csa$K@UUpWA+B=$twOSAJtTd zOjg~O`*Wk_2|Kofw{Y1m-~Ek`*Xzjkus|59{-;e=>J4a@X=TN^3{^IJg=MpX*2ECm zpL1=wO%6l58e_FsAJ!x&>|=|n{duFW<;kIJe^+Bjn0xJ&O_vh=S7&K^9T;hB`j1$6 zyM^KCQcTE0;{e0ja3p*}o@(-9WfeA=gz;#8t;gbaO MB%isTGB!)&eL%O+J{Ih z{v)j9j*dIKB~MOmI@e2F5KMd~hdm*Ue+Eh%%EbD*ux*+-iIbgJ>sw>n{DB=#GODZZ zqhcZ*z9^6@PkR~rXJcux>(G?!9u8;0T+pt(Rs5XAMTQBPN}%A7OD=`lzm32#V m_m zoV*LN=aURR@jAD*2oP>OR#rdAjI7VdFoS~cz~EvfV{mN_F7`&?nz4AtI@}H8X>jij z(kM{Wo`Z9n$qr*w{Da( uYT;s$Q zM};Bn88_|D{X+|pU~~=u1b$DBf4TWUi1ojPMwu`HD3}yxk~%Msr>6eG_$Re&^LySs z*xs`6K(cVUt}~gQL3$?BDd1pM^Z TEBOWWk+XaMfr4JKQe~BC_Zd;)fL8j9~Me^ zLX5LL@}76g8_`pSWSKnmR&=dL7!DJ326+cWV#mDg;g~F91LWi9!TYY Yh*1R*;Yx%!1#IJ9`KW`PHWLIz3| z{O3}o3~cWkZVmV>v{rr^$@l%A0|&7Ha*(%>*cX^z@DIQ&;Ecx6QADho9Pq3}{)&Cc zKB=s^#N# V@f1NdU0nKUe mgi({IADcw8yJNt;gHHLlVHnPE7OwfyT zux>W%y+`GGl6U=|1Bd$lzTCnwTGbN#wZu{6gUsq%k)guW^HGY zL%B6 n|3k#5e$bB#y~7Q^o}M3 zj f9bWzC(!EUKmblY(H7Bs$@v7;iXNPchgK6fy|)g0y1H`L0Z!nr1Dwdr zds+vYX@qLKz*#xH4)_FGeHRG8$tT((n*TVTpgPclbMesX0H^oXf$PVz>&EdWtwiR! zz!jGHcJ}&B7_ls5yj1FzY~gSruU=wme~r`$Wpvg_e=`6Th^f3@LrM0S)-awMiN(ey z)>F3aWDgSaHnLNazU?bggBrw0ypNaGFl0GPhF(Xp<#6$+XR3bC% zeASKJ<5T;~;aD_fvAgTf;o%S#lypv-%`gV8xtA?m>V5xo_1Aabz6a7*-(@3Gs5H~* zv_+9Ge?_%yykm4_UDGz&anf !t>$F^ !!t7=|V#%=G)O&gv1gzs=Qo_bI%m&pz~Rw{mjcS5tq1Q2*jWN$FXwKjZ2Iqi90 z9!)>jh}??WGJh^9^EC? hS=$RK-O#^X|n`<6#7E3ccB{d;t%dS{c1fxrM zR3zA+!6jOy$J p6mmlkO`YEvx+iWAT_F_E*H zkEIy(XVPBdq!8`yyJ==2#UR1rZQJ_mcic`uKrk+BdTP}>4W9;HrXgUm5)(k{Y>b4y zdVpN ffFwv>7_YgL4QBL@gY|hCjracHm OzxA5_Yqm0H_`M8Y2w!T0JALVHyRO(?10%xl%Jz8lqZ&-Y%rkpQt4s zFFU;-6-h65Q|;pn_G#WJ_&>KWBryzWumSG$NAQ0Z9S?YQT&+rKBaF9(&4Myb6E2%O zaZI5=i<%zaI{BzGCWVxaDDAm9{@g?Xyqx_#`%i|vG`t!XIma`WnhCbrKW_N#z}H-; zki;)ePcwX8>VFFTDyZTBa$I`Qdn%8 SKGFs?FiGAtWo4V3!mI`V|>Fv)v!T(H-rn#GFIL=*f-!> %#FOaDA7(o7sWkBJZo zxB{>VJDSou^=TIHJ4e_obg!tcAm~oI8nmjIqPvZpb-*KGOI T11_Q7(2({~vA7Y0_HU_8MPwU3L9TVs(gz0J?!LeB>umzD2{e zwED0aSnqGJ&~_j2F<&MfyQ5D@`lw1Dh1__d`3oC3yRW(BPBi++b1yX5&HS_C=Ro(g zdcSgoQXlr?Sc^X&-}K#HF2RE?evUZ}!GW)tKI?oDR+okOCT;aMikEwgD?$6d{`&hM zl)R^Y)?v#;5JH-Gg?cv)=HWgYDbsdcyr;>`J|Kn_D#`)ExG>M^T(!oh*mi+3Z#?fW ztny9!JhS2bU83VX# ech`X6b{YSg<6)u%Sx*;-orNNi!Ibicey?{NR^DTdsm z=75BVR_~0AY9l0` 1gZ(lM_K5b_l7V@lFYQ(?I~>>c b@qqt#Do>Zu7P zXYGN`B?%3>5;wio)d0UXws3)qz-0NUqJntA<9HbS5yQ2q-MN2#kAXc ~AUa}r>m7zIIQMwvDV3s{~D6}+<&vovw9@00{e zSPEv33+1F{-;iLYN<00iu#sQW^(*2 lK6J_vaAsv9t ACfspxiGr<292Q{j3;@f0fK&Q`p1&!^qWpD@2bZ>Pj?6xEiX@=fRrV6I$6{U3; zD~Nzvw*ouj=xRs?R;@4g?Wu9ln;+Ctl`)%N=ByJF?0(ODhL8oPKN5TN(?XTm)`VMl zr;pINC`!?OJ=!pF7Q|3pzR#VmK?ARKFH`PZHcnG+t(P;KAo(n=o{|pNc-*|0MD=Sz z5Di}>6%lbX?qmwiaYR2o%CPTa3WZ7%uEU8M40+ARIxbG ?DzB>i>6#EjS zn*_4)In&436CKkj( *hB?8DDF_y^EhjnkJ?6vw=n>r){lU zl<)F*+p3Q${2Dl3!4FzDAn25N>OY79JZRckE??%poQ6fF^fv@JT|`;~wlA<*Xk()5 z?3?CPcZ2PMgfS`T*9OgEi6D5d=N0*N0)Yw@jefZm&b_6tjeMDtiFwNo{USR2(6#ud z)tW!c9zw%|F&f+7leXT~;enoo92TyD0@2}lqst7Tbn>{PmQ!!M{W+-+I*%arj0(p_ zovs-A!%YHdR~lk}q6f`8iKUu|2Oo_V8r`^%*T#$eL&0A)-y2~{nzCHv`F9Qwa^n?Z zTy8ON*^JSN8lJ7RO;g7(69^rRcik688pr-3Wuqav)X1(LZp3$B69MlnI_m^M2{dkX zirJznj&_AHy|GP?3=vq%(dt#7p&lU?_jc;zI2 0emX$}x9KivatqXLgA{@pEaOIbSx^&pUQ=O~7sFdNex8&HfhqH6m* zZ3WCBc>d*0!E5kL7xywRIVKy}XXd>v(#F05EaP9fYII48*#YP5x1PEl EI@eM%X+wYO#+lk2 zsOjgomWTl22f)hfrgn3nZX5Wj8YE4uk <}WW`L`OzHeBzGoK3Pw~M12`My2=lPQ TU|>mT)v%C!!PQ{tmPp_KGNgy1fg4BfyJcZPRgquyydIE@+7FD z-dD *WVcs27_(QqO z{=C-`r32&NT|SlO_xh^ejT2W&mD|@tytd5dqeGz6J#*JMze;=7^M (gO>-*OQ=3b}DQ{Ms2Y^A|i1|Qz}f6 zuJlnsE5H2p2$elwyY2XmjWqsn#`Xj`q5ps&@Sl^K}e{sb7t3{Fts+aW>!8;wL) zF2qg^-38IRG8^=LI+l#Y OUA<@| z83Ew{WC7A^#14XQn(N6N>Yy8``{ASQJ_Pn=lT^lzWa9XG6*R&!aUvEkGj8~9#|_wG zxeg??_8|jQ+m74T*}V)H&TfxIbF%#{jdY~al=C$(F K47ixau-1^&U1t}ALx4x%V6~R@K|gx6U5K;w-!{O9F|@|QdyrZ! zQAEc`#_%}CXhzUD$4LyKZ3Fr^)Qp7d1aSO_WYH0z$#>vo BSn%y%IUEUFwQgONq_7DGh#8&087Cdc+Vlgq!BOMgY{)b+S^Ch6Mn1K@q;BaK zVj8c~7_^L{G){%lLE0@NY*^ndJmA^J%k)({7AB-ndl`(_4?q|Q;n<{`VbYOmYm%u7 zCKg0DC%Q@v!PcSUjK+LIi!3ruk!90nt7F+|s5T+jCIRkyC%O^a1LNEPa4+_3#w*%V zO`8E0q>=HF*qVY4?h;=tP_t=O;~)yYTrr|t$1;k$hHTNb1tH%A1lvb$5jYssXDWmf zTf! ZCEv}V^0cbd_FBXr0B0Ox~zX{2V`M5(A^kKtj`)-cE%RkNg5=;sYwXsBCX{;mGy z$tHr{Kw?0iSj@Y{f!Cn#@m6zOgL0D(v}Esy9`fX(#2X2WOfs3nGN>{W_f;%*p+jsN zk K0PzCqHAWFT=&S!*r6y_5Hh-18i%7zY>R^?pVxJ zrz|MkW4HuqBoL~ME8mI>%DMIEMhW86f+)p+^f7a?cB^6zvBQuLKZKCP^&Pqb!E=rN za5`2#qt>Tn AqELXup*;^QJ1|(g6DmRE|7m#91$$!F>QH&9>kyth@oSSirC|ahU+x@P^-megn zKPDqcyrZyt^RR?H1h*dw4Z`XXOzD=CLEQoH^WgoJ;c%#AQ?bY;ItJ(cX;e$S%tywC z0-5mV%;SwPahOz7or+954i^SUX37nRkk;(&yEHhFMK1$=fnk>70pSKhdYuv=(4pd0 zaS|7dII~Fp*3ikOY&h}{;y7qBz(Iv;El@54Xi0o-#Ua`F8H0HWMn_i(EDV%{RSpc> zkSqz%!)nsa2)nhZh{1r~E}~=0fIzXo+X6d=dxwWDH6t~e`44chfBJ@(5ri&*9*#=N zWDm-jelLSWz`2|wiBgS)Of _jGV6+t0neDvGHD;3ZAjeLb%6$-t Zi{TA5nZgPG2qxmd2sj1MfjG;<7R%DDTQZ%&?X`KTYiPo83Yh!L+? zrVBa=h|)T9;0#kc4EWQpL1YHiSb^x|;6al*b@ZLM;3beKFC%*qRvR&3_{bLf7DW 4Dmi#*Y=dKGPspRS{8`W-Ebz5 Rqaberq+>q{xFlg2(NBXO9m9mwwt68KDrD zorilUfYdhz 3jM3hVj9=g28deEzG?H2|BtrpH*JS++L`~+mKdk8*5Vkq*moOk z2H!BWLuL1q%Gm_Stn6M0G 2sIF)y89U(jmjqQ?3tO z$Cd4sSxR^@(|R+ri3{M705Sbl8F_Wwb@IgSE65O#AADBZl0ySt`AYj5PO%P5q?Xe9 zg?t({OcT^SNG@NOYbX$#g4}fj@c=WU$fea{c;F`i?q5Zf)@xRM>f3Oe6I5``K0S)s zJgf+?TjNq&;nIRtKH!GYRQW^vQzlctRM=awht$k2u8_XY_|ZAMzh{V64>^@p*_2;b zotHai>xOJaYQ!Mv4tlCgxI?r>U9)PNMEu~UsTK&ogyC0sb60ag+QRnD4!k%I4@03k zY8IeiyWh4N>U0LSwyiC4H-ewXt1-M{1r40KmZs(0PmE*VQ%Tf7m1w@E-@mgR@HY&l zBq~Q|Dj7W-kI^fW01M5-E2_&4!Y`1tX(1)1%tu7<26H k8?(5TKn&O`AhfE?{FaF~R>shr@ z%4{X|PQ>-ipcxYdMR2I9G%mMs;w8o{BP_Scxn7VIe$jJ5S=xsS=+(lilQNs5?~U+J z82#n!##M6x%sD2|igeuXCSA`EUV+#K)8?MxTJ1sY*mx=xUD1l4aDtmMtaMPrPjtl^ zgL=dGEh-3qcap7L&JOhfNG(I^s@3+TsU1f5Y2ZBZN3up0JGVd>fOc{uMChq= 9^Jsea8?(R(e$g%(qy}9QWxA}qW;)XQv zFEz?MM>}hBj0f}!uGNeD+cOBP5z83f1cYlPssF3=XkR3HC3~Mv@7gqADft6!iK_}L zE=uWSt4#Rok5DmeOp!{zTGOPi4funMu6sO^=3aYYwijeZr<<6e*nK7> }l%IDC+54`P>l3KgZ^irI26}-XI!rZjKK9UCG(Uq|F zWthe2Dhb!o1=o(OtU{%-7S>8!0cz{8j|Cg(K=Q@;2S$l{)k#F*A_QNNP2MLaXt0w_ zl*h!?WU2LMG)Gmj)X+xk)28du#vBoMM|6byY}V4WI+1@zrh*smR1hBHn5%R-c&BY$ zHC7l~`$jJUz!60Sd9e0EYK$We?GC*y%A2!PV+9-h&4MoItEC+vh|U>WsDnn8Vs)21 z@H*6)Fq8Tw0r5WRtlz&%{@>E@kfg*Z#M`8EJV}j4Yp&tVr{8SOrXLeBp)k)9HQGs& zPK9k%&iBs?YKGY+A>1c>y p({{b?PJ#rdPh7 zUJFH$k>(#tFa^T$posgPe6L0WkNGlHYM(VVh3xCkKd`eO`d{nnC1#t1-gX;Q{?EPd z8QSH{l4~5iV64(}yG=o@9)#d!Ea-rFYEdciS|mmAMp8oFhn{aSntzKCxDeZNybzAO z$sG|E_#C>dIdrc~KX9)IsnYu{d|YDCKz@o>W>;M~^7=DVJwD;CMC>o4RK!_`@HNRl z^bmVaJzc9BDlB=Ya`VZ^?VT70CvY3W#ZRp@CghFPeA{HOk_Zn)-^<40%ZYrH6^-~# zD<6>I(jjWRT %Ls4V=bfz;L^2Q>S zv``Kw0sa=ZMKJ1TG%xy6*2DtL{jU mJg{{*HjS z+?(N&1YPvD7VYC7ag+L1`sS}kY{{`6)+=;vRcYnCHGM>D=ohh*J*F5h#83*H7zugB zS|P9dBDDeok2TiLK#i>vM|eZY2cb{5tt8^FvX=25@PNREyj&uyD6ZV^E95ne`Do`# zDfPHqI8);PCyo-xXb;tkXX#H*4CRwoMgP~uImmw+aMVAyg^Dw&43r{u{#c&IP(@0< zr<%ZAjgT4p@rYYa#DN+`4cwcMIf3$u9#8Gc2&nJ@H7{%f;+#m3F!_ov1wn)Yz?f3+ zC7?k#gnC@xc_C$ )A1>~XD8%b%UA`w) z!Hct7YJ`0|(8@$_MjC@^L;BD2JM4UWe%No%uSL;cWtGJA{2G_zSq=Mpm6cLBhXEt8 z9_KH~_o6zsO<_UfSj{s1sYK29dX4h0c?JxG)qz&qY5Lv(q4!m1vrzM?|2_=-|NF8< z()P}Ky>0fLso|Pg$d4vbxQhrXh_^BRZe0VYT8LezsA;Yhq_qm2Y*}Sdz@-p-0lOn$ zS{)l=s;1Vfr_;F_s X6nB%~hZZq--iyi?%7i4V$~Dw3G|l4N=ZJ z9Kc00m&NrZC+ZI f;9ZCCWvmg);Rqq$G}1Vm!meh3k!y6U9~;JqU>TI{?FB#V+Qrfo_}!_ENL zx6P!LM&a>nqBla6>Qb_ePOT_tnIsB+7^Aan2!FVabtd9fgi@HRZODITZZo@n|3rjV z)nRNPN7F!fds@)nt?6;X8zMW66Y#S1XkIHG?=PF87dkn3X%~?3*+nj2J-RvVr#M}j zuH{7o|1_o@G}Au0u h%f+eTieesJv(KmX_@&|(S}4tQYnUD?bugJdZ`82I8E`B?F iY|N1Il8YUCna~dmzA L3uc zlkX#={fX8LZzCrEI+VBz&4gwjYTNs1RH7wk@4;gxc==>3C0pe5gcoLEvKFpqe0-@w z8k*gx+!5!@RFX{9VAj-`0yw$wsP6%1A>>8r8{@J1gCXt5xT8{(LR>g+uvEcbNl6 -z`+Es!JqFo?zAWNN`o_7?AFROeQ2 zrFg}g8OQO(@Fh~Gy7hmsw+R>!Wg~(Q^W#CDTA;bg%9R0v8*lCL|I*iP`M@Rr`CI4i zE2f|2z*~+}#3Y^sRyPbtc{@ofmguFoBCK$MP!k&?Gr6)KIw8lqM<5akB@;&d$EPD* zb$AKPEZ>m?hf61Sq%ioyN(Ccch Ed@Fi zoPD>i!;1o#YOq#w=)6{)dzV$uf?oUPCMG2w`*RJY-t5LE{lNMV!bU9BqwJ@Oi<)R| z^A51j@##Iwp>MT6@p#3X{!1M^wpjzmf4a%R!lck(fI!13(t?dEC>lL4={qg8BL5Kn z*^!8Bl6At#tvEGy;MJm)IA+{}Yg}cHeVeqT$kGq=xI|11$ULq3C)e;hq55*{6Gpe3 zSK&%M!p}+j8DcZxk64L`z~3sR=(AtQWJC1f6n1lA53L3?&o1iMXfnaNC-NteKN%Qw z%+tDsCn1x4$kT>)Z*VZk)!umANn+Y&d{&ii);9(OYKio6Ph`%(Sr=ieZPLBK;prjF zT ~Rc>k&p$$E+R#7VN#GtE-#0#L9P+Xga{*(Ei5xz8#4Y `_v*dX#a?QgKSU_?>wN zrA}t8(fA);q`S;>hQYJ@;_2p;YDQ{DD`ax)E&cbTf_ L z$buP;;vPp!SF0T$RLezFse9N&ZJI&_E}4Gj-+Rh&$cC!JQzq}gU{sJ1-72}B9xf2x zWA9W>QXYoTk9+-)BzHprx7hUJQ|XtE-Fwux%1sSqLP+9=z6hFrS1tBwi=;ou7D;hL z+{P#gmbGP{p?qK&&3R13Ntt2(^ug{kf69tdETvjPgQ})i+)`4HYwiR$O4!5;Rw%vK z vxe3@omsAhB}{3*=LV)UD#nJ|G+YHe-Q+5 r+HynNT1U80^oBJMS|*q z!8MX*AX0Rxb8S^o?rP6W be!mXPiJ-#(@YY|~;>FYgQ?IO wfJH{}@H@7~Hpow74|bAUQUA;J1sRR!tDr~!!y1LGi^SXA z%Hu}F_E#H?wbv;4)loMF>0&>^2XP;U7w11$>MWz2WenSpkiVT){DFxb$N@Hxzd6oK zifK*6Tiw4AFoM8R*fG!&?8gn06K6!{D zuh5BzHsYJ&xhoki2e4>Kq$0Ws()` rX zFS=-?lq2Gej}Q)4y0?${cff5 SkYWgBdAa4L}jmpbft|64O-xPj~Z`#lt{HzRalcRH}eL7rhX$uHDrLb>ib zwef`hNW}Xp=$6PES4vcHL*xW~r!T}=pKiXt$})ksY`0?wHmEfc14g_VW{G^(P%6*X z#b aTunqVUPNFjt>4W?d@H`1&*(uNM(OQesOMm zr@&c{dV80EH0X@o_anr*OXQAJTIVD4sng+`NE+N-I-mv#?#{Q2pmk5M16rhDbjIMy zxd@2U(9q%SP|%?V8etZQdwKoH^e2&p)D%CH9Nf52=n&jPp*SVbLVH?5W~c`>h$let z7GZU#2*170N_MtUaN9pVq-8SsAn31qP5%~1(aKyGuP64#hz-h^0O55&m_PBl{~78I zfp#7P5QDPEB4sDZVflL?vt@9aNQj $g=5W*xxgg8q^vUwTBSEYD}Zaa|9?FWs30`5zbg)9Dn`PmV9yW zRN@X|t8vgP;Dll+xr z#b510A!{FF=EA=J`w231YoS5wOTht7obX=}8{iaPtj0{+SGok<%e)Nr3B>WBvF-<~ z7u4#}9Lkucq^&(OJ36QszL%DNSgLBazF8ZgotzYJ{55=mo}%9>ZAt^Ql7ZW7lQ#lQ z?i)YTr+m4P8^?I*aW!zz(?P0>yNdCr b1?jp15-%MsMz|AxeId;)!5be2ukV^y31h?^5 z@{RnTk}R=Ol_MYBy2T7oJZM)MQfor)ov&pl%PswflC11fRH7c;rw7#lW3 >s*+JS}j*em{(a{1d7yl_a{q#xgZp{*UjbS|2!?q$7 +W?+`D6T%ZFqnutuS!`u|^~n z!j64Cj!g(o2lPz?L2Be@sUh=C=^)IX_cSzkdjfqe{yg$F8b?(_RZ`&e?@Wye(2EfF zA#>bvi&R;WPc-a#W39 x zXG41Em2S1D-7=fm?b~udE|o_6TVzU5&*_ocGGTmeT2scL+(Vsb# ywrAEp#|$BeTA!}28EhC6 ^*nZZ55RkzNyfeX;d)_KO#fXwV-9Z= jDZsvi{Pt&egRVcM9;=p z9=i%#RuGY;YW|ce#6Lm(OC`)y*8# OCgt&&TgI~*a76iAA`KnBO()5QkAUdaX{U3wd+DCj#6D{n3+vzoMFrQu|` z1t)jxW-*f=T?T}dkvNf96RV ziiycQ{hq8|shz-J)6&@s`~PY|VcaRD9JOn_Wtc_fA$f;(SZdlhO0oLea=j3mY8qTL zDgeyQL0L~jg+O_7+|%Z=z=6QCWWwwqrUba_NMKb!>TpOV%xOlsIk?-v0z0i@dZB%O zZH_tJ1%gp~X(GAG+w|p#; &EQkK|0gEwE-S5pTIMZ^5+U zAF%Ax+=%6bsKQ(|Jh=Z4tw}u&_r?S+M-EwXPTN`cx>N|OwjxyTnXvQ*<|mn($Q$xO za)>O*<&1QTFA?oI9PySg&PiDEIT@ubH+Juz@RT7 zklCWkIfc#aQPt}kDqOMHJ6@B+U^WTzg*c_=;rd_%St(o?_BBYlWQrBHUlLO|4($EM zd);%{v#Bu-Z8bV(*%Tk~r*jCL3$zXSSKp8Cspb*(0yUv7$}Cfqs(VB#bNatUk56{V zjl?_%8qhe_Pb%PH#!^(HHU(#8rNn@^E-YzQgV85g>~Fl9fa`&0Ky1t(Kk zc2pJEjZZ{s5+1ozBl|Z}4WEE678J)_4Uu!uDa<68rR`pIDBI zRx0%mQm&b@<=vNjn4AmE^khxil!Yvs2WR$DTkj3*GLK?L^f7>~srT=%9#sYVb8)`6 z-0bD3OA7BZ#u?#4wDF=vC49uO7uBaq9D0CT@nCu;&M0t<=c+^Qt*gJ%69DPh@pZQr zt~h1MJ8!Xu%L&y!{H?~=2KAcd*u |B$rr0PMbjsv4czF_l?W1z_S?O`E*n|!vUUAXxWI^(=3I) zOF=o?_L>v^<0g%icfWq7{{e3PB-RhD| TbHQab#2|i zmlA)!#>xq4NW4g_O*vXW{xJ^8ER>vLU8sOGXr--U2`jE)L-5~B&q>2*td1Ev=5NGA zM8fv>G(x6CtjqxuhYiE| Rqu>yg!G+val?VFSjQU^7DXm%B z^s)=TrW4tb2*^|v1>nB*_zSzC9-ReNjs^|e9G8$EZ~7t4OYjwSMN;Yvjum?zAjBIv zgb;i<%$5fSY$JlOosrPRZ7F19*SIVtw)7{~K_bMOP9ib3t|F9RZnCa8fe8?ge+5KJ zOVJC)UF;YmS529k?&TdX7o)zMJBw%GuZTrC6Y *Sh9YsZEMd^=kO&nyGA7U3W}eNdkRS0PmoG6( z`_1}i?R>vB={M^@&$&S2ub|l?JctsBd4-@4l`vutnXx=qgq^4<$d+5C6BzvPB~&tn zUOz0>H3|F?za96; _u$kwp!R8waZ-x z8+~RGAj2(cr|J<~pG#RAPT77u)TI~FEJ4}9G}47jNh&T&8FNcLCss?VL~?>INo%IN zY@SP}Q0?%m=qS=4PAtYOshb7a$@{yf^;a@-sCjNefI4NcE3@rU$y2&*6W9}HK?s|n zOmaR@c4}&{D3|$f)(Pt54X26kxqBUT+*pt?RhLD71N1YX7wf@y0DH94Ki2~LvdtMY zb-u4E)~&9bZtxm|aZ|k#?@*wTRXwmesJ3JYNt4s5PDaS)aN>Yt3@}OH&?6z(4TG+i z*gtfdIR9( $th08b;okuqWB%LsDqqh!>vyfz*U@L{jBk=6Bl7}S*8J2xx zdF66}V!*(2rwYN1FbeA%O zQAbX9$3jxe6XLkEWQQrS)6=^J_Al&5&=NIqVvQ0FG}l+-dFS9`rYwi(EA0CoNC$1u z!bhitT6-6g8KFDsn ioc5ZP(nq_iOMf}5SS&{jN-2i-ja(oZ nUzn;YMY}POCnXy3zH@2TUm8jsn~85;r`~1Cop5Cq$k)o4_`p-l6n5}P{t@47 z%3Y@_s;(#UX>rr2$PPEup$%5NmD@t~{D){yH2lyzu&G2m?e+cNI8JkpcG2`bfRcdS zyz5vp`g7@lFyQc>tU}77cojmbb6h#N2= !t4rNY*- zG7~(Pu!QNOU;ihwX2bICE4Xi&8R#Z#obp|Q0b>S}yzEG!+o0`5Z!KzG>ZtUCrEEK_ z)gCT#{uEF_u~*RdS%;Er7`We55i=sox$ZynGL0HG?%VYJ9=GV_WJ=khzcqjZBJV}K z_Lv~F2>8qdAe%G^IcW8y&^_JHFv^j{?c9l5A*Dih+>&93&L=G 66L^Xcc0sN!_i6#SFtHDb}{{DBd{Q5&<( z@7)*hZ>OAfZC9(>9?K6Y>;fq^P&A$CB<_$eDYd;#@ONspnV@QpfzSRuX)O50mdO zahqgL48-3@%A*s<-@mj8CFkeU%(2?6K)S*+8NjHo5MWIHd%or|s`m)3(tA+NMVNgD zyp7U43>nAnU;foF`-WY)-_MlEg>c(vXE3> ^%+!({v2+gdeDCxM;hH8RwsOi-k=?ZAM>yp7F<2^dk~5V*5j!}o9Q9YX*L?n z@qec!@eZ7t qh+IjX1DpY~nmdftPa%x{)!Ye_-($|5T2sR8k5Kzjo& z1|loZNJq HTKUNx0@|)2q@e~Nc6a2OG{SHGT z5ZpLJ-Y1hI-#OIK^*c=$`}&mWkhEoQKWOHj>rQ}(qp;r=#S(SXRO?Gb?N(eiWQ4#N z!yo2Knba}`0tYnWgx#`Wq#_c^^wceds496Z*q#eKU{u?fO`1w)Y(`fZNUI!iw+` zoWr TJW2bvlOrmbF#O>o;Iz5gb?+Pt;WWKiv}UC65fP z{>@_4C|iS? )N z FkMA^>5xM$Uyc)~nh#K*msky+te-Ey zquhxa7d7{qVR0ID+ic*SBZ2iL%U#Poi{_aYH>+|vJH^>BOy)UYk`~#~mUl$%Fo`eN zAnT4A`+=_=b5k68Pq`GLOmYe#i8JGo*joQa@*dMdSRQ_dov($d8F(nukbOez&e-5P zDQ9b>ihkov-7pKxk(jhur4#a6$}jgPlp1no)R7?|fsYPIT&CV;D29^v`RFUvUTT{_ zoIYGtmTA+7f2*_(P3ro%Y05LT`5j|lqWDu?dXmu1&VYuuI!FfcSf7|EK?Ui02)CO6 zZ958I;3EXo6y*#SUj%ufnjECG{`X4{RFfa+B}udUN31Ro`J_nV%p5}J8EnLbhw=Fm zaiFC3_Qzs}x)=Wn4r+J(T$ZM8;dE*D=i@+^VzjaS ffUAwozFk`mt7joU+4o~ zH*eBLj~+O016O^={GHDiVOxjUU&A-RvY8p4$WKGM*C>S7D7*WlmScLn`y|GD0teo^ zyuB2Hz04ON;}SDJSLO@jWlB=ZsxH^6?qEaL_`>Jx%qLUjhf3w6TI8b|;|0CL*xT=- z_O9@xr=*sHj{>Dl-NCW9v2~P}S;`ptJlC+>_>`m@raPvm%1+12)3Il5uLKV@ zT~3z=mG{cd(T6wcp{uH0Z(zb7)OLGwU$vXmZIw%)w%5V>g4#{nYnxWr*W}IH)vk9? zw^cyV7;e!IYO?Z4G6B9?v*a-(kU}1he*!T|+1#78hZU(?ajQZ+jP(KDy6p<8g5CW4 zKRyLPK8fI-zxSP=s+-^a$H6V^&vdC*)%Og8g|?hi=Vn%{#H+-4^z5a}^}D_J+ar4@ z&NsaO4`x7_zkkUeJTds=cg6owR#U*HU413Bszt(g@c$HLi-C1G#Y>VfOb*gsLQH#Q z>4SZucbs@)(Q^RzbiYa{zx-fIo%-U*!P4Qh=|*fPcsV{DT7YJwdzbvDmcDy4ta( zd} <^dt&4=zgx;_Lf(_X2A Rw#xB?S3pi;eXo03C3j5*pC3o_$$S0|HGQMg*GjR zDR=9#Tl1E6J=EM84;6p&z!2Qma@BrMq+tS$DKuu#n8E@nKb(?Sy^4K{+Jb^)V*NtZ zi1>%8>U<%-7jW9ln)f}Lb`Nz+F`XAxOu}AO{c5xpe}rRgED(ku%P>Jmlj=DohM;{) zRDbu$n5y2>bYQyO@rUZr9(o3??~RC;zc4=+*3ZRvt2$5?49vMnul(YpV5_ir^ zvONEutk3?r*c|G0=t0d_DAD|ul1u4aSGR}F295|Xi@wGaY}A1{haPVIe(ir)PnDsZ zlwiV|sRMG*nt}C65O^wLbzhYO>+h>-fPa&8c$y#f2aXY)eHclxFyNRTj==zfnOTVh z$yAp9MBz7y^@SLscg8D$tY^M-0`;U!nZWD3p5jR!O5P&BZ7Px%wHY&JXHzI2U$r{G z3$GaNdF$-Zbx>n8^{%4PN^8cgnY3nTeHH|sifF_;7gO?<9WVRaqC4y;3ZyCWOMg=a zrtkca9`3rwggsZ-9(GuPg32BW8=h@OQ6WH>1%h7ap-3ahyA+L4hG(Jbv&+OmWD9k6 zsyeRBcQ%^VCJ^Lw9=pP%s!aOO3u&Te01IKFB 0umHs$K8mtB@@&dw8G zL1K9#8(QH15nQpaaow)O;VFF<1%Dbd%Xm3LixI<3n#&8{ZCb!OrLd0g>P!LSyK2FV z?<`4{ZWM^(|I}1ja;Au;WdMknG(r#2U-9MlL$R%f`*yZp6c7_IwqM>vI3m)vWxaFU z!W-Z9UA+nqK8Cabl7-A%q>C6&Odl?_nCmaOP{Xpm7~@5__fN3CbDPDeY=17Fmhd-% zKD01Yao2W5c^F!#U5C&cK17BPj6*O7;@XR>r0|!=UEN@lYgaZ;zgjPq>5++2z@@U0 ztu1A!-co3I;)9#At`FPo6Mu8 w&&vIHqeCT+&+k*4t03XwuyE%0g%pS^0tp|Dqw6o1mVK;y8Y`?mc$ z$HQQ!-TRXT5~d2zLIpTHvr$vjZTT~=Q(*$+j`!dWU0ycOn!!|uw!WAEM#y>3XM5mn z{?rI?h+fz;$Ns_t8kW%V>ZQx!6b2vQ|1fHD6fyvw9F3e(g+~tq9KygEN0j5L?67C@ zUB4(BIo0~W`-Sc9u7BPXtN_y*--b=Qfx59TO3sakUqBaWT@L f;gB`pea5v&Y DwgwN!;ZIC{14C-B!>2>wWb#vh-k4?0N3z!N+5^kaO?nn4GvR`Xp|ikc5QcN zfnCWTrw+g^AzCqK$k+%Ii;=>UfF1fL2j zmo`H{?8r_LpMP@Q^yK*IFRjN>hh05jGgu7!LiJqmwA=El>N~*2LN;OV%6 VHwAL83^9YAR3yF#)7yG0oOP zWt`xON`xYz?kg6J{xI3&l9UJKPu*24hXUlI#c?*_@XFGvL;cyQ2;07Z%Z0q0CeR%X ztZ}3VeP@7@$eDr@^_skA67Ca`*Dt#F-6}+i%szY6_P)D?(k0HP-gm<+Ca=E7uEsRb z#?LO}(tjBH3|6`R?8Q{{4^`LWJRx|pZ5CfPJVm))fANz3S*Bi!)N-LBr{Wfcw2UI( z@`m^7{>#4 T7!#zTkB2mu=N;s!UP=#uO6H2_sHnsQ#r;myriAM-@T`y&f`^ z2&2N-M=3T qzb0DlX;AigwBq3QmmP-MuZsG>Syy+EcG zFe#L66ucjJ7q(YkSl4%VmKS(0Ba>LbVa5SVdjY294V~};B+y>4X6eT| C2z+lq&J%C z%u5xLxRKqa-~IO00-8Oy^?F_HigLB8`ivVUVHk&D8ih%ew>HO{5l2Xv7-pGQe9+b{ zJs&1;A!4X~bh{6`674QH)9$602%>F?lYb);;W7XnmNIx6yN4YtW}W?{OHjAv%Mf(( z;9t@Ogz{jG0f-uoDAVfigPqmAe;cl|`F{skL2=)AKJ%2y#hW-Z~ zcgP=IXlYWOIH81ea`m$ply{c*RX5bo)5k|7hr$>`Z&4dxI+#)V$F{?+BeqmC*?*<2 zXbx-J&o-i$+Z+@YIu^{P9GwMbnV3rf_!_2|w{7=SSXSTd%$M)Uv>J*TYi1!8=bG!p z;(Bksd>;@AgZ659AT|o|OTJ?y4inQjmHc9G-uZZvF61?5xfv cIhA| z@7FJfs(S)|-dcs8tU_6{TdSNG|88MwivWLD@sHI5q~0C|Slw25Bb7u%7zidIn1c9d z&@Wu{fE?cQ?u3?RsP{9(NC2h)w3Mp=azY5SsE?2#%qJpT)PMxhntw5)aDR$Uf@Sz= z3>BxGu6|8Waf46FGzzVMkk8N4+&pP}!K+it$L}ei;_<#53bElu&4#Uble{ka@&R_L zLi=1N{}Wjpz%qnY6JU(PvYG)b)Sdi`c|Je;MV#9rG{c`lIdK{S`DMgy3>bU2Ip8fY zx8(riCD3l>w*mSHZMVQ5MSq)F{}>eW8WC_|(WOc(*Ef2w3rsE+z3JphL1MOW>zS7z z$Pkl*Xnd-1(v ayq1|nkQ(`!SJ0(4|ATs>G_4SDR3dnzJ$4&e0eRb53a;? z39ONLg7zc~BpRNc0S$g+NORim{{FZBO6ucj#tMlUAGp;}lmZJG5PzYmzgE0RKNb6@ z;hxj^*8EWOj1;V7nnL6cDEKq>!~_NYsPmhWb!lWJGm4v@%N0&*&n#LNgeYL=Bg~|T zrry?rT!MhDLtbr^k(X0gi-jcGp%Urch+!#yPb%BB*n2 5lJJA>z=7t6(_)wNhQ zMz662PN32rk?49`kVLEQvA$|u^R|*%MhCAXnDl#5JrrW)$SkD-mf5g4+gLq_I vnqyPl8ug=EI=Lduts4T7OnMF>IA`kLK^k3jpwK zWMIsU{~N$RQx~G5gm&{orkF9Fd tkm8f57N zkXA^{Ai)SdM`9Z3M6oR=YzoY)Qhq4#Od|+7=iM+65GIY;$av|+jM96~B}=jjo288q zd|;`Fw ;w4})p-Wb`d z!yWI=EHmzSw>EaiyQAf)t6;~>YOwF@tf$`sVu70AV}Fv%D{&~BuQPlDW{y{`M>t+G zxpl(aIq%B50HxeTVHF58{^Z5<(!;iOH7NaaE4IaE=37GG11uqo5B?m%_X=``K{Ay% zLm=Arvk!5^t &XK| z&`GXxD1U^(68{8Y?`p9}H?S@$f-f!gN~kvyX{pye`5Cc_gY~}|TsX;!HgA=65I^}| zo}ep>cb<2#joeodMJx~7*j%YkL3}*Q50~I$%}XZ%LuL%G9h@*7_;VH=H?-*h=Tn-l zz2UX=ci&^x!N1%-4ORc$_c^=}3#G$)iGM` 7B!kNFe_|?1kJiy z^Gh>`gkj;LB*~icX%-i^D;$gj6YoPcGl;;fun`h8_3pmv>Y=}Zw%80lWsgn0!i$+u z00sR9jt(p5+(dj#gmvM;bGc=hf(lketaWr7SjH&UzshI`)ew77WgLV`FPK>C7&;P( z*?&yMiD9~sOgb_`HS}SH&`lkxwSVVeOpr8`y9G}aj@lyVr<<93C#$4 $qfSgb #x>^6PurmD_ri?G9mPc|+pFoiQe3MfI&7 z=8`gDd^$xvg9}~>V1kVWQ&W?;rJX5+$l)M)`R?0CBaC;#4`stkEsO{di8+ADumWHR z@KX@mD@81%<~7aTp^+V?CmBtrUw;tQhy~RGL-w7XWVjx+v^qfGm9#GpeI-YNvdW(@ z6eCO0@N$CXr!=oq{#4YPT?HL35%p|TI~OJHm}H4wzN5>$#}zts@-W=m=*_@N+_x#v zFXyT9=CFV2hiaSaQDJ4=dF7&bnI7-kqV9_oFLyd}oVfNUA}dE=HSduM1b^F4#pf{i zNR0ewqGUqE?801#X;HRrtV{r47Qky4FvU-Cy`MPsO7&26$7K}&?5r+vcP=@rV(3qd zTC~j!e$mMkgCVU7M_~X{{1C_XnCwG juzh58UAJ9`i-3v`4Vk$+tM>;-Mg!%htD;a1Ze0&OaGmkQH&9y~uW?1hm=hrZlY zR90>$$(XQvH%9XES!=noa%rs!mv)z9Brl)bxhqUy``Nl4;`1mjuiUXKG77uT*0l_3 zaE&{4&!)&;9nR!MW)X5GFSM;QdEqZyFhH~re |qYNHN{)2YB)Z>$O0#LjGvWKuo5Xh(8Z4U7oVhqoW zIn(AMnGe|~L&j8wFMmCaSq5kp7BW@~-p)RZzbI74XwwdD7LV!@q2ZZ=JGJ0qw3})u z%I>xvI=JEVhe@$>d#3H> &C>8*e<+JaOuflpQc!>$GYZufab{0X-6wM<%S8Gqq` z?-ihjSv(76w>gMVbh0l;F41Vuw7u#>?!@xUAht(|+qfea6}MrBX746Q9=djq3#Y$U zPsMNeO eXy0?tRl}j%6%S=|sN|ZktkNj#nXng2&U9(~7{>M}k?-BA$jP8GV#?@Rp?nBt z*?PgNw|E8>hO3fh*At`wUE7J47yrAVv!NAJR@Y-3FMrp!fe8N%!smSRRZwt`zWh%J zgnt9K>PxY%R-7>2FR-BRp{3jpSO%D}g?@=aHJ~8{yajQCb={ZZv3w#^L&HN P zDBK^rkbi$8VApV6p^3!uM+Xmv+QlS~ctl`GKDAsB$LFod9r3)uA_uiraH#;#Y``fo z{LhQoP{tOnS#*$|sq|--u^*a@*-z&jAe{Za?E0!(e38LgUYLW>@FOJYzXUlT>is1m zxB-g|3ezY>j3OmVE@#nKUX&~T(B6mv=No99;(vK0`AX%I84b)3n8^`v4O|3;oGh %;2qq!SewgAch#r!YXev#(W%{#e!^lFl?oBP?A7RS`eu@p8jmfP0 zFJKrh7*#MPxsN3v4YpH4;GzfUcDFm&Cy%WNdRYJjW)NUszC^eRVF$E0qqLUKs7joX zTFc%Ut2IWp3OI6(i5WmOc_oght02r- cm0OYqqucE(>L#39` daOqyNUAVH?X?a=P)RYvZN z$(8yPLLaKtJ#6G}5=#pw9NJJWFT8evf_$nnkvF;B@y^FCQprz=RkbBcjz)mqBbL}R z7dj-xdEE^6T~(P_G4o25^8!Ld6Mw75DQTaH)V6edbz)~mtt{8;+{~q*)^nZ2SyHYS z(^(KFLG*weaf<9sYD8-+L7x4t%v_WJm1<8@IaGT2H-S3CkE(5MnVwG20<`>zX~{&G z82$@@!T8V28v%n!qnj~Bi_p$+n;yRsW-dyE3P)M9ScHYP4Pej6f@N}^l7HT`yoM(u zi`4jk0B_swqAM82h$_AO8$cDahh$KhT>J?@Mu%$0fZpL+3+%AV&9|}8pMuz#xz`5j zgAI%^a2B{QmiGz=b2u>^fFk3!ieNe|1|bvi>4MyNaFvRHp)mDX$Z$A{3=xZ%81Zx` zL*W%CnIfjy&@nOPyldd3Mt`4L9d1)jxat!}{g57RF^V7pB;Sa4B!yQDO9(UZ4wl^; z2WrZv-URUgN*0r<|AoP+ZSF-EgCjZcVxUFiTL4o6_`gu6h>{4vf*Ff<4uGG4jB8F@ z8=>IHJZcsB!%mGpB#3|x0O%5C0GI}V5r2^r5ByXOzqtOn+-=(5^nb;^>b7-{(VP<< zCrb_I763gn_Nou{VON~uMGW^g!Jo?Euc>;SUE VLq*-Am_Tff-p6wn_*SwjLa(V37cwLIoC1ks49(o+i9t*AFm_ zBDS;z8Q$0C?I{hg&&oSGmiZK2hJ-+R{Ds0GcOPRWgwb*gGi4&9i-hmTC^EdQImk`F z&3Tnp?s@B^!;KRmh7ZDibhevrL-fqTSXvyy4l6d3!Y3@zzJGD}W!evu)`$zXFFRO# z%nI2VmZxl}cUOsfZ!!o49+UlIdF+OZCaf+M@ky9CEW6Lq)Jsb5&9?XP?AF#>zugsC zT=tfo-P$w;pw3W0ml3jv#!=9ix> z$XzABk)*WZd-n* zFhY6Bn?rc(+Ab0a*Q;BBFaQx{1VLW=!DD)Oo^U=+beXDkWDBfUinM2z{ksWdOaL}L z#g>U=gVU=3o1O?TYH+%sF%3r*qOoyCVdw`?n4azR@_(YSHPL(Jg2i|r@A(s0_eDLx zn-&kj!^Jd1TdZN}CUyy-5naW1&UtkKIP9RSVJVh4fDa?%4=r26no$5}8oc 1S|YPbi_`wF5u6rB zs2uSZW7#kf)1-Ugm7@5i5TR1wm#`9HdxG&&Ab+JSy<^BiBrHxaItu*aDA23o^h|wW zehZVE#dPlcyk&bj#S1WR+w}qVU6c?DWCpu!Z!5U);|5i97%Eu*RLF2r(N5A-ONWt& zH43v)E@B)3U1ljGRfDm(^sRIpVGA8!tEW5ykvTNGbWoC1a!q_bnKZl{Aq5EgefbCz zz<)BpdTybT=1j)RR_0e0>Sd}(Ax8Aw;3LIwg7QNE80%~81}Zw%(c0?T#t86;-i2og zt@KW;IWZy^of^+lU3H&6CAp#^u^-l~GWB35i(8qYx)1M`0Uq~dkzb 4bRXfWoP)!J_=Anouey4Vfq&4}gm%T1NUaC3tTx5c2JkVgtFqBq5 YK%8CP*& zNVFo7jLfndLFUSV^U+Geau`aCO~<=0 DhMyC*iF;kmd#C;*F-fdEcIg~YTLK(KD<78cXPG;cz$_(<)d|K z+$>tBu2q&!MeDnbmFh^3*1XCK$$y8aa=Oo>1-24IJwoGkwO0;@SC*%9P$l{+uB1ul zfN6kBgDrXqN|4_}?zB^`3}*t$NN_Nt^kV0w-ta89`l{PRQ=u`$#%j5hSYdpOF?cn} z4{~^m>Wi_}mHR!$lu6OYUFtq-c?|B;R{46sUhaCcE8*~yhq7+Ot~>Edn15DWmjma@ zj488|F_4cfi$f*83gfws%K>-YCM{jBO=*X61INYGWiMx4D8m-l+(;b{gO;LOV_BY9 zh=I`xWOh$(g`bM=z$T#Rdx9kQELVU;bs?qh39r{$K_Ca;PqJWwwnK0m%tBhE*$D=* za?t2%f-|Aw|E dK>;0b`cNSlV{F2e>J=TV#R)T^(RUMS*x3zK0gXClHibP|Nw;z7SWEW+T^IKr2U ziW4sX%$w=|tPXpcohzJPfr%A)vXl#ivneo-B5A_8=KWk5g>{iS8Gr5Cq?PR}Y2Z2S z%)wPVrc3O!=}Q?zYAbe$eL;h;3_ypZtn0hGs;giiP=#o*E*F&Ow-a#&Q-_AJFqsnx zmrNhZ07PwdOh|!SCz>I4t0Qs}zBNb^QU-w!o3_NI7x!)ZHN%6JDHEn2#$X{ ) z04&X9a(#k0zEv!Qe}4}^hotn6<$g}#20N=rUpX)#vRPTRjjq!fI_%dvbV4s;Q)!hZ zPB@ue!7&AAGHrsA7oRAkA;phy0!9r%XyNcPT+edbRd@ZL=qdq%)foSlL*OzNgeX1( z_PGZ;D8_k1&beRi`_e-A9Duf^K>ScVyG!j#QcH$lq$qt__J3z?egfvswj{Og4924j z#>s@he{8mqbbF|qwYAZz632{D)hKhdp{o+G#p?+y8u>Ngdb$cz4fP p=)>Zn2q`WQlBWS z{k~kyE)>f6O8lkpiE|ZFVF;qE;?xE^4uLoLKum$S&vVJq`dY$_D8)AJMOpOqy3)s_ zgK4qlO(6dM!5LK8cl*-)H6llVs%7nftWRc#-+!3GfSFs3tbZ*|vc>o_6F4D{d)hc_U*= z8xSqlcBs=GihXm~@cwV{-52@khkxeAU+AJ$TyD89R-)*?KkHD&>R5>4Qc>EB0lAyD zS$|i%rhIA- X# zRUiP<0AflU0bV2Y=P9&biP1o0HU|2_7`YxQ7)DaT17WOvpXgD6jUGEv@d#n`9t}@8 z*wO_HaGKG5D9Tx^X2t-@wBnrt`k3YD5caYJD{Tj(qd|@iAqeu1HZCsXBs5+4I)9!i z2W_V+e!9MR7a bVP`VhPP?6*hQ#4Ze)$lz2o0wJUDm< zBR{vzp}Wna!(l-fRT8$6_1cAukn^v2Q?S=4#-CKbC`X5cVFE_1K$0-a6p>GzUW(e@ ziLJI<(ZE71VtG&)Fls6=M59V#oPR|re4^kSdtG`+62L+g#p11H?t|a9>-z3VwL4YQ zEQ?P=U^!H+F$HnqCHNdxggb4L0|bU1Pq`K8KWS4xu-M{S4ml6FSZfGY^05}{4Br6E zrF@uot7^~f%KmA$f<@Rc-n;nnKh^o+Lj^;t^+PQ3yM#DFh)V(Co=mP$tbY*jQwk>x zykD1fZu^&98IzOW6D-|fcY_zQnP9pKEsGISh*2b#-{@=(NP!6onIOajU+(# G_^@r^i&adDvlkygp%-~`ftZRJ-MEY1H1iY?X2zf;0Rh+_TlJ8_Whysi2SXZs8 z8hbM q20)_ zWznYV+NRp`mr=O7O3Fe|Ie0Cak~Zka7$sG;SSN+c3am{n{d~n5klFiadagD=Whrgy z)mL2R470@;S9SHZz<=|ZDvZ!~=o)bhAv8~KyY{gU7fp=?Gs`C8>gp>@iUT0T_u+uz z*h3temViqNEkQLbVF{ixPLheu4SgQ+(hHmrf@{R_d$s}tRV-boFsF>Gm_?>-uH**` z9=k}3a@W_`T{?6@WK1b*WuBa= JJ)m|*;W z{&@;5dUpgwkx=|Jf%(Q8(c725|3gOhm5Fx2e<+OQ)D7Z;IZj!w3kk8v QCYFr M@@SIg80WJ)H4l9dIe~G~y z42ZWHWbmspgSkc7w6a2iD^x)SfFS_ZcL=ZyL4W&|)Vr04l&GpnRNYf`D0AfzCe6?N zupte?Z)8r9{9OEvW6IyMoGWcjw-;>BJ%AzV(0K@9LjQ3H9&laAh|oIy2l*iZJI7!8 zv2Yyr!3P;+&vlt?Vtw}Gi_=x}GbWB$welnmS@mXzzoMJooebBp!n}v2DpEA`%!lh} zVSmE;X5u^Gb@xDmJ`-$)n01 zZPUBG1R6F+ZM2Vc=80-|A9-FOaJQ4&C4b>6ggW6jaj(AgysuKNx7D`op783ILPo+) zOEH14CMZmTnCMtnnB)SJAc*8K;@b9hA@{D`V#6LQm2kcO;lpcP? G=H+= z{mZr+sx{^TV}-54vqT0 Kgxe0sik|vt8|JI1H0s zE5o-J%gX@fwqH{*F{#G9xH=tSh8HD{0Y{4w^$I*2?7m*ztF|D6iNL;C@gh;HDVrn* z05AuDaRAr_DgizRD9#lHRS^{OKYz{F1LhGih;F3lQs%ZC)XxDKm&(f1Y|y4ogF#vN zm{SkVh|MIwoIWB3)jayR7Lo*Q>J+s3=s@^LRHcT=J $#mg&Li!3VkUg5$w-YA}bm~%QT3=7oiZm_(4gS zjX5%095JSSHl_QO_rP`2V-!8Yj&uu+7oIl!-v3Vka#|pxuoV^>Hj*UTrwr<`Z2Uj1 zM 5ajSr6KZ~q`Vfra{YLMe>p2X-Qp zS^aM&5HzmnivRFI;3|Wt4&DW7#26i1y{k8eP7H%(sxdgs!QqlDilsy05%$>2kcbQO zF|Z$QEa>yql}In&Fxp;ihvO++#3;WAgFoDt0~{Uz`>*;;1&F`^0e?;_5D3dDYFveM zSQRXn2@T3#m(rz13>Q 8bT4N@$m)OhU)hE_PAEre0OMzRKiM zR`0~$C_@WVHvN$6KYWtF?1QwAlJvYyeApNK7Zti7la2$h!yX`2&;nSX0GK?b!i-8V zXG^cEp{$$S44WgSm4E&97%|F!*d0-LM#i6 i94WOKbZ+%@5%OK3fn@CtD@O^d76EcK?OdS2kd53 zsleyb{>p*#kRR^ucyD{ZZ=PULGyj&N1OwR&0xMV;4OS--0