From d7758146024d35082643eb686bc738a613fd95ee Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Thu, 21 Nov 2013 00:16:53 +0100 Subject: [PATCH] restructuring guide index.md and structure worked though all the guide files adjusted structure and added some missing does --- docs/guide/application.md | 0 docs/guide/apps-own.md | 4 ++ docs/guide/basics.md | 83 ++++++++++++++++++++++++++++++++++++++ docs/guide/behaviors.md | 4 ++ docs/guide/composer.md | 23 ++++++----- docs/guide/configuration.md | 23 ++++++----- docs/guide/console.md | 4 ++ docs/guide/controller.md | 28 ++++++++++++- docs/guide/database-basics.md | 1 + docs/guide/events.md | 42 +++++++++++++++++++ docs/guide/extension.md | 4 ++ docs/guide/form.md | 2 +- docs/guide/gii.md | 25 ++++++++++++ docs/guide/images/flow.png | Bin 0 -> 27851 bytes docs/guide/images/flow.vsd | Bin 0 -> 87552 bytes docs/guide/images/structure.png | Bin 0 -> 6048 bytes docs/guide/images/structure.vsd | Bin 0 -> 80896 bytes docs/guide/index.md | 87 +++++++++++++++++++++------------------- docs/guide/installation.md | 76 ++++++++++++++++++++++++++--------- docs/guide/logging.md | 5 +++ docs/guide/mvc.md | 35 +++++++++------- docs/guide/overview.md | 9 ++++- docs/guide/security.md | 2 +- docs/guide/testing.md | 4 ++ docs/guide/theming.md | 4 ++ docs/guide/upgrade-from-v1.md | 2 +- docs/guide/upgrade.md | 0 27 files changed, 366 insertions(+), 101 deletions(-) delete mode 100644 docs/guide/application.md create mode 100644 docs/guide/apps-own.md create mode 100644 docs/guide/basics.md create mode 100644 docs/guide/behaviors.md create mode 100644 docs/guide/events.md create mode 100644 docs/guide/images/flow.png create mode 100644 docs/guide/images/flow.vsd create mode 100644 docs/guide/images/structure.png create mode 100644 docs/guide/images/structure.vsd delete mode 100644 docs/guide/upgrade.md diff --git a/docs/guide/application.md b/docs/guide/application.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/guide/apps-own.md b/docs/guide/apps-own.md new file mode 100644 index 0000000..ebf7597 --- /dev/null +++ b/docs/guide/apps-own.md @@ -0,0 +1,4 @@ +Creating your own Application structure +======================================= + +TDB \ No newline at end of file diff --git a/docs/guide/basics.md b/docs/guide/basics.md new file mode 100644 index 0000000..514c6da --- /dev/null +++ b/docs/guide/basics.md @@ -0,0 +1,83 @@ +Basic concepts of Yii +===================== + + +Component and Object +-------------------- + +Yii 2.0 breaks the `CComponent` class in 1.1 into two classes: `Object` and `Component`. +The `Object` class is a lightweight base class that allows defining class properties +via getters and setters. The `Component` class extends from `Object` and supports +the event feature and the behavior feature. + +If your class does not need the event or behavior feature, you should consider using +`Object` as the base class. This is usually the case for classes that represent basic +data structures. + + +Object Configuration +-------------------- + +The `Object` class introduces a uniform way of configuring objects. Any descendant class +of `Object` should declare its constructor (if needed) in the following way so that +it can be properly configured: + +```php +class MyClass extends \yii\base\Object +{ + public function __construct($param1, $param2, $config = []) + { + // ... initialization before configuration is applied + + parent::__construct($config); + } + + public function init() + { + parent::init(); + + // ... initialization after configuration is applied + } +} +``` + +In the above, the last parameter of the constructor must take a configuration array +which contains name-value pairs for initializing the properties at the end of the constructor. +You can override the `init()` method to do initialization work that should be done after +the configuration is applied. + +By following this convention, you will be able to create and configure a new object +using a configuration array like the following: + +```php +$object = Yii::createObject([ + 'class' => 'MyClass', + 'property1' => 'abc', + 'property2' => 'cde', +], $param1, $param2); +``` + +More on configuration in [configuration](configuration.md) + + +Path Alias +---------- + +Yii 2.0 expands the usage of path aliases to both file/directory paths and URLs. An alias +must start with a `@` character so that it can be differentiated from file/directory paths and URLs. +For example, the alias `@yii` refers to the Yii installation directory. Path aliases are +supported in most places in the Yii core code. For example, `FileCache::cachePath` can take +both a path alias and a normal directory path. + +Path alias is also closely related with class namespaces. It is recommended that a path +alias be defined for each root namespace so that you can use Yii the class autoloader without +any further configuration. For example, because `@yii` refers to the Yii installation directory, +a class like `yii\web\Request` can be autoloaded by Yii. If you use a third party library +such as Zend Framework, you may define a path alias `@Zend` which refers to its installation +directory and Yii will be able to autoload any class in this library. + + +Autoloading +----------- + +TBD \ No newline at end of file diff --git a/docs/guide/behaviors.md b/docs/guide/behaviors.md new file mode 100644 index 0000000..8a67270 --- /dev/null +++ b/docs/guide/behaviors.md @@ -0,0 +1,4 @@ +Behaviors +========= + +TDB \ No newline at end of file diff --git a/docs/guide/composer.md b/docs/guide/composer.md index 6dc8c08..89eac35 100644 --- a/docs/guide/composer.md +++ b/docs/guide/composer.md @@ -21,8 +21,8 @@ curl -s http://getcomposer.org/installer | php Adding more packages to your project ------------------------------------ -The act of [installing a Yii application](installing.md) creates the `composer.json` file in the root directory of your project. -In this file you list the packages that your application requires. For Yii sites, the most important part of the file is `require` the section: +The act of [installing a Yii application](installation.md) creates the `composer.json` file in the root directory of your project. +In this file you list the packages that your application requires. For Yii sites, the most important part of the file is the `require` section: ``` { @@ -33,19 +33,23 @@ In this file you list the packages that your application requires. For Yii sites } ``` -Within the `require` section, you specify the name and version of each required package. The above example says that a version greater than or equal to 1.3 of Michaelf's PHP-Markdown package is required, as is version 4.5 or greater of Ezyang's HTMLPurifier. For details of this syntax, see the [official Composer documentation](http://getcomposer.org). +Within the `require` section, you specify the name and version of each required package. +The above example says that a version greater than or equal to 1.3 of Michaelf's PHP-Markdown package is required, +as is version 4.5 or greater of Ezyang's HTMLPurifier. +For details of this syntax, see the [official Composer documentation](http://getcomposer.org). -The full list of available Composer-supported PHP packages can be found at [packagist](http://packagist.org/). Any Yii extension can also be explicitly named using the syntax: +The full list of available Composer-supported PHP packages can be found at [packagist](http://packagist.org/). -??? - -Once you have edited the `composer.json`, you can invoke Composer to install the identified dependencies. For the first installation of the dependencies, use this command: +Once you have edited the `composer.json`, you can invoke Composer to install the identified dependencies. +For the first installation of the dependencies, use this command: ``` php composer.phar install ``` -This must be executed within your Yii project's directory, where the `composer.json` file can be found. Depending upon your operating system and setup, you may need to provide paths to the PHP executable and to the `composer.phar` script. +This must be executed within your Yii project's directory, where the `composer.json` file can be found. +Depending upon your operating system and setup, you may need to provide paths to the PHP executable and +to the `composer.phar` script. For an existing installation, you can have Composer update the dependencies using: @@ -55,7 +59,8 @@ php composer.phar update Again, you may need to provide specific path references. -In both cases, after some waiting, the required packages will be installed and ready to use in your Yii application. No additional configuration of those packages will be required. +In both cases, after some waiting, the required packages will be installed and ready to use in your Yii application. +No additional configuration of those packages will be required. FAQ diff --git a/docs/guide/configuration.md b/docs/guide/configuration.md index 4056309..5f1d8e0 100644 --- a/docs/guide/configuration.md +++ b/docs/guide/configuration.md @@ -1,10 +1,12 @@ Configuration ============= -Yii applications rely upon components to perform most of the common tasks, such as connecting to a database, routing browser requests, and handling sessions. How these stock components behave can be adjusted by *configuring* your Yii application. The majority of components have sensible defaults, so it's unlikely that you'll spend a lot of time configuring +Yii applications rely upon components to perform most of the common tasks, such as connecting to a database, routing browser +requests, and handling sessions. How these stock components behave can be adjusted by *configuring* your Yii application. +The majority of components have sensible defaults, so it's unlikely that you'll spend a lot of time configuring them. Still there are some mandatory settings, such as the database connection, that you will have to establish. -How application is configured depends on application template but there are some general principles applying in any case. +How an application is configured depends on application template but there are some general principles applying in any case. Configuring options in bootstrap file ------------------------------------- @@ -14,18 +16,18 @@ console applications it's `yii`. Both are doing nearly the same job: 1. Setting common constants. 2. Including Yii itself. -3. Including Composer autoloader. +3. Including [Composer autoloader](http://getcomposer.org/doc/01-basic-usage.md#autoloading). 4. Reading config file into `$config`. 5. Creating new application instance using `$config` and running it. -Bootstrap file is not the part of framework but your application so it's OK to adjust it to fit your application. Typical +The Bootstrap file is not the part of framework but your application so it's OK to adjust it to fit your application. Typical adjustments are the value of `YII_DEBUG` that should never be `true` on production and the way config is read. Configuring application instance -------------------------------- It was mentioned above that application is configured in bootstrap file when its instance is created. Config is typically -stored in a PHP file in `/config` directory of the application and looks like the following: +stored in a PHP file in the `/config` directory of the application and looks like the following: ```php 'applicationId', 'basePath' => dirname(__DIR__), 'components' => [ - // ... + // configuration of application components goes here... ], 'params' => require(__DIR__ . '/params.php'), ]; ``` In the above array keys are names of application properties. Depending on application type you can check properties of -either `\yii\web\Application` or `\yii\console\Application`. Both are extended from `\yii\base\Application`. +either [[yii\web\Application]] or [[yii\console\Application]]. Both are extended from [[yii\base\Application]]. > Note that you can configure not only public class properties but anything accessible via setter. For example, to configure runtime path you can use key named `runtimePath`. There's no such property in the application class but since there's a corresponding setter named `setRuntimePath` it will be properly configured. + This feature is added to any class that extends from [[yii\base\Object]] which is nearly any class of the Yii framework. Configuring application components ---------------------------------- @@ -76,11 +79,11 @@ return [ In the above four components are configured: `cache`, `user`, `errorHandler`, `log`. Each entry key is a component ID and the value is the configuration array. ID is used to access the component like `\Yii::$app->myComponent`. -Configuration array has one special key named `class` that sets component class. The rest of the keys and values are used +Configuration array has one special key named `class` that sets the component class. The rest of the keys and values are used to configure component properties in the same way as top-level keys are used to configure application properties. -Each application has predefined set of the components. In case of configuring one of these `class` key is omitted and -application default class is used instead. You can check `registerCoreComponents` method of the application you are using +Each application has a predefined set of components. In case of configuring one of these, the `class` key is omitted and +application default class is used instead. You can check `registerCoreComponents()` method of the application you are using to get a list of component IDs and corresponding classes. Note that Yii is smart enough to configure the component when it's actually used i.e. if `cache` is never used it will diff --git a/docs/guide/console.md b/docs/guide/console.md index e69de29..055c206 100644 --- a/docs/guide/console.md +++ b/docs/guide/console.md @@ -0,0 +1,4 @@ +Building console applications +============================= + +TDB \ No newline at end of file diff --git a/docs/guide/controller.md b/docs/guide/controller.md index 39b7f0f..a668ba7 100644 --- a/docs/guide/controller.md +++ b/docs/guide/controller.md @@ -177,12 +177,36 @@ public SiteController extends \yii\web\Controller After doing so you can access your action as `http://example.com/?r=site/about`. -Filters -------- + +Action Filters +-------------- + +Action filters are implemented via behaviors. You should extend from `ActionFilter` to +define a new filter. To use a filter, you should attach the filter class to the controller +as a behavior. For example, to use the `AccessControl` filter, you should have the following +code in a controller: + +```php +public function behaviors() +{ + return [ + 'access' => [ + 'class' => 'yii\web\AccessControl', + 'rules' => [ + ['allow' => true, 'actions' => ['admin'], 'roles' => ['@']], + ), + ), + ); +} +``` + +more TDB Catching all incoming requests ------------------------------ +TDB + See also -------- diff --git a/docs/guide/database-basics.md b/docs/guide/database-basics.md index 559f1e9..511ecaf 100644 --- a/docs/guide/database-basics.md +++ b/docs/guide/database-basics.md @@ -5,6 +5,7 @@ Yii has a database access layer built on top of PHP's [PDO](http://www.php.net/m uniform API and solves some inconsistencies between different DBMS. By default Yii supports the following DBMS: - [MySQL](http://www.mysql.com/) +- [MariaDB](https://mariadb.com/) - [SQLite](http://sqlite.org/) - [PostgreSQL](http://www.postgresql.org/) - [CUBRID](http://www.cubrid.org/) (version 9.1.0 and higher). diff --git a/docs/guide/events.md b/docs/guide/events.md new file mode 100644 index 0000000..29d0c49 --- /dev/null +++ b/docs/guide/events.md @@ -0,0 +1,42 @@ +Events +====== + + +There is no longer the need to define an `on`-method in order to define an event in Yii 2.0. +Instead, you can use whatever event names. To attach a handler to an event, you should +use the `on` method now: + +```php +$component->on($eventName, $handler); +// To detach the handler, use: +// $component->off($eventName, $handler); +``` + + +When you attach a handler, you can now associate it with some parameters which can be later +accessed via the event parameter by the handler: + +```php +$component->on($eventName, $handler, $params); +``` + + +Because of this change, you can now use "global" events. Simply trigger and attach handlers to +an event of the application instance: + +```php +Yii::$app->on($eventName, $handler); +.... +// this will trigger the event and cause $handler to be invoked. +Yii::$app->trigger($eventName); +``` + +If you need to handle all instances of a class instead of the object you can attach a handler like the following: + +```php +Event::on(ActiveRecord::className(), ActiveRecord::EVENT_AFTER_INSERT, function ($event) { + Yii::trace(get_class($event->sender) . ' is inserted.'); +}); +``` + +The code above defines a handler that will be triggered for every Active Record object's `EVENT_AFTER_INSERT` event. diff --git a/docs/guide/extension.md b/docs/guide/extension.md index e69de29..2fcea72 100644 --- a/docs/guide/extension.md +++ b/docs/guide/extension.md @@ -0,0 +1,4 @@ +Extending Yii +============= + +TDB \ No newline at end of file diff --git a/docs/guide/form.md b/docs/guide/form.md index da7dc31..d31d653 100644 --- a/docs/guide/form.md +++ b/docs/guide/form.md @@ -1,7 +1,7 @@ Working with forms ================== -The primary way of using forms in Yii is through [[\yii\widgets\ActiveForm]]. This approach should be preferred when the form is based upon a model. Additionally, there are some useful methods in [[\yii\helpers\Html]] that are typically used for adding buttons and help text to any form. +The primary way of using forms in Yii is through [[yii\widgets\ActiveForm]]. This approach should be preferred when the form is based upon a model. Additionally, there are some useful methods in [[\yii\helpers\Html]] that are typically used for adding buttons and help text to any form. When creating model-based forms, the first step is to define the model itself. The model can be either based upon the Active Record class, or the more generic Model class. For this login example, a generic model will be used: diff --git a/docs/guide/gii.md b/docs/guide/gii.md index e69de29..54f6a36 100644 --- a/docs/guide/gii.md +++ b/docs/guide/gii.md @@ -0,0 +1,25 @@ +The Gii code generation tool +============================ + +Yii2 includes a handy tool that allows rapid prototyping by generating commonly used code snippets +as well as complete CRUD controllers. + +Installing and configuring +-------------------------- + +How to use it +------------- + +Add these lines to your config file: + +```php + 'modules' => [ + 'gii' => ['yii\gii\Module'] + ] +``` + +Creating your own templates +--------------------------- + +TDB + diff --git a/docs/guide/images/flow.png b/docs/guide/images/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..d868baeef096327ef0ea61aa7606bebc88136109 GIT binary patch literal 27851 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%0APdtp zAY@_MGk}HYU+cUo#TYd9J+{aRt8a|?0WN7eT|vq!h(V~Nb*TVV+%FQLd={!G>pog_ z1?l8Y>`LtZI2_#hYh-HU>G@)lm4G~`Kz@}$wi|1g&=5ry zKCY^~0M<^F&}=d%6qyZ+5!SgyWgt7j#0cOg`ma+t|Pga2J@@k_6{bT`A`n z?!6hd=p9%Rhsq?|+K?n00H9;m@QBU_I!})HxjL~vLqo}q(wNV4VQ^H%9K0(C7vfLUx8eXwea!DZz5IfR(5_bmrJ4mkM|2mmP1JsNfMm4 z+QZ7W)%8>Ftb2v^_OC&AkvdAbfy{-kvN}PEXPLQPxKtV&f@@uCiLA>3V2{aS3kzoqTWAN@)GCP9#vHi=&KY@Ib zBXgm-fCq1LzfWRdh#M{nnFTPz=FTDKJ;BuIBxFHqlA>8nc^C<_sfQAx}CDa|BudU0MCA9e5dHnRf&P=IB~r4+KGg2pVt90@>0bSYWk(> z;^uPN^NRaV($p1^HF2k#SWq3;21X0~LsifjH~K?e4#klm<=rGQYxs7J=k5ip8ZR7+ z2dmvFz_R3``0C&8c~N7Wqw6#DWPMn@s~}x(e|Ek&(Z>tH-QObxdKg?f z>yZi^FE&dxat$T#X?LOO*F0q`KKPO?kEG(enURBtxAc5tju67~9wij9TTe_gNt2h` z<*Vx$xoCHK+!BIT^eb6UVYFBWH_n78NyBou)b<{k2TJyE$1WSS3oAvzWjtGMwXI{8 zc6lqjoFWR@-@M6&gN&}euyy6`wEOy@9)ol}!5qb(+qf^Zy0EGjEtU@ljP>C>jw>Rf zR+1$mSk0h5M1bi^i5@s04ZRe%WFG5qUxnzHPX<8Q?XATE`JK zK^A*)i`~E@S;dZQ$5h{%ax}p-r1*8iI+#1)*xQ3vLh%zJ5Wk0BP>bvd9}8dV5ik%} z>xsz^4$hb~O@KtfP_0P|C{V!EZd9hZCh;IUi+uy@071~3#iCI`h0 z9g$_w21xjyDAAcWBBc5KWz1qC>{>SGr{B7h|4^DJx+Q&IQ+5?DC#J z6kT=$ECXQI$Zi%1GS|s1W96C8^1Qvw5qCMwsM>Mso^xINR6J19$Uk8~7<;*sL=lYO zpHW;*2+x-;4vE_!!9!UVjYMhZh3Ki?r*y~QX0VcoAu7SAPkMVuF*R!g5i~$-=7CaG zTruW|6w{cEAItIctU?Hd){nbPW{0^PCB#FS2N`d+(v4?+7<@kKxks_t5{7w@BoF>T z>DP^9S%gixEl%uHj1&Lh+X4U0g)oNI`+TXSs&?64Y~wq;&Oz%RGf_|C?#B$MhxN1mHV_Ory%BbO{G9$`Ydzj>Kam-(^0)lYfQhJ9#=8Ri~3E&018Yby-mY+uk-4J zC1J=AKYcP$t~A_J6P%e9B$@4Atq~QBSbG9Ni7&~EK8HUdX)P98Q9CX;-NRoR=G9Z) zuZNMmRU4Rz`Hv6}K5h*t&Z>( z?mKZ{TT*Mx%aw4kSnVfesPh4;i$zD|mv)4QZOH?Rz&;XaZll_|Cq~ZR_1xuSKH^7x-iNflgFQ)t5?DHRULKb87bwU=e|$TX%&C6^JF;%jZ|Y*{B1I zC2C^w<_Cyp!))Y?v24cao|$~^BiCuSLG4y7mC$E|(C~u}MW_VaQPyOvwpi+N7xq}( z)*Z}N^2D;geBRWrRv#9hMp-)1IU1Pg)rK?F+>x*-^y0M4(2DilEw|f;V$K-%H zTGrSN2grHU<+9A@3^<%G-^p(UQjplP+?qlL!+nk<#1&)Vr~BBMnf?OG51~Oei?Obl z=6;rP9I^C!$0WcO7?D7gc1d;k!&u#56PEjF^HUUYcmpqA)!6is0^c33XY)vaCFLe9 zWB`nINMs#pVHXe8JI@HdGzlzeju9GUfHLv+)4zl#JlZGK&3FtG;|CC zlG89D6>RWG@G=^tCtp7V{9!uD(`(w?#H~b`Da~Z zWvzlY_VE2E=m6kSfao~I)Zgof$`aHpJVsztfw!XPSX@~oib*e~W9ZzL_9tr_OwK9Rgu@q^Bwa)6C~bD<-WTLb`5%7VO-wW$Tj z?2uP$=P3P?I7MyOgeVYnmtr+*Q4v7B2<36xnCu-NWmBT{pSUOT`(5|g~m%RCTnKIRG$zUTGFz*8V9pB1DRer&hU@m znRr#^0v{9^yt3sjtsCcKUAT?!DcN7CkNt zCO)Mw#V>2I59;bE-TYo0j8B5y%h#^YDwOnb=l8!D1EgD>n_&g}0KD}9#?=#{s0xnj zcTY=@+Ar+xKsVT+J+y#55^DXCFv1$vYpAnvnvN+_PJ}J&%_x(waGA3fwj{?t3e!{J zuO5{Ak}WO+4n)-y+;@$oVAi%)4p0K5a#@^P+#d$4r1P93j-ML3J~?8wc+8Yz@cby8 z067J8G=1@BuU|8gFIXYKOe)or=73pf_pg98_)-#IfP7aeJlHdbb|UE;)c!OTUeYl^ z8m=`MTTtEkjzYJR6`K&X2T);gP>W>v(=rk=Gj7PSxOAeVj70)8)n7wF{qU>-iOVSR zZYlm8mFMe1om=MZBH%D3(@R@NMrNdDy+qX>qvL+?lMbO<@zbgdNb0Zk@y-gS5u1Hv zkae0>%RIU}3?}G(V_l;uhkR)oYKus65+Z4dYzV#A={U!452E56`zgGu84owdt70fr z5_+rcZryV7>NLDN$ov~MCX9B&V-vmWS}08`Q_$#0m>n4anC=gd1}8B%Hj(lTI?r6c zni3t-K12NhZAQWP^fpQ6oTv9^Aj;>^C3nfy(5S!N0D8sT!huJc5K|c5E9DP-e4D@D z37%cLG=GHL;?OuOx{Bwx2iW!e#nJZn+HaK4d70u6P}li2p>c(pZ25wB4lEV8H~C?e zP+uM@AG=B3LPko_4#-zRc=@)3B=#oW3nI@ij;4gPn&wA!rXNJhMsnkawmdxrS@`&G zA6^|09{0z7i`!av-%0%u=~uf^G0J~nqM@}sd*U=Mg{wz<0_VdTBMYWoI!bmZ@=Z6k5* zR9B#bYgz#egM4xQxJF0mY?IQxdUc$-O+=89_U9kPb2|l?$1VT?JNe>J1AV%Hvx!L{gge0=5M*bEJRaNdd4b9SE9^=zXuxH`f%^#GfMAXVQ_PvK8ULF>RBL}P zvdx9y))6!`F2om;FllxmU1X%iSaRU*W}10MJkQnidT0PQL!CeEk>Z-y`ohU6aAs#? zsfqFxVGub%ucsu`e;?WU3`O(OgdN(2m61RJLP~7$#^!N?fO`8$j7a6Sk&Ma08#)(% zhn?mx=`C2{QKC{AUHx6CD@Q$aX8Uk`p*>F4z_WGrnoIC%oWS|VdCAhy zyw$GwlR%jBDj(Uq->HiYqt!|}1d&`$ks!04tNr(0!BIoF@+U?Qa_iDfFS+(agLuuK zTH+jYJ+-f92>9RhC5`HI{srD&UN{*^pHxe*o&fGWTOC2p%G zi{N;Cp)%Y5*6-5`A^J6{9XpaBGMn7xK=%GR4a8Xjk?e4QD5e@2`!yr7IHIerAT6}I zxKh=&hdsI=WY8hxENJjx+K>|<$=T|}BvGt?q@JdICsY_^T=5}A3q^5R>tECSY>{dj z^u0Wl7c{CPdWjxtLS-8`OJRX&u`dYWLnHgal*T{-oK(lEf7i)4aA@N6oJglNg{_n!NeCgDx%2j=))!_yB-yOqTy0g{kEs& z{!v-GR4esl%pV$<+&JPz;sCAN9!n7z_93-a$ce&ixcjNoqi*%&)Y7|~iIC`{J7>x} zB=o_?nEki90>sUiUhB(_9QBb?0okn4o|-u4ZD?SxmIgdrSm9o#)8D)3KPX%_fl zJuy)#fq!AH0D&W%c)amMVI3*HkwMgX&#u1g#OGFB^pDs88xoJob-zdj~-dP!6|1{P`_Y zAXGB0>ay8t@IvLp6o}@+>NyA*!V$r&?R4fX**2|9D5xej?|+omYhHomG)@nR=+};T zP(rGKbWdjWrz64AfU5-0QFOk?<{R1anP~F16Lx8phoh>9Co~ZE(C8*u=K;mOF*FPSLz5Wr38^hH-E02ckPw1af-l!?gL$;# zOe5DH+jk@JP`SI+fy3My^gAvZh&135z%du*?S!tV2+Q_IuLAoDv@Pruh7bG>JqSLd z%2rEqy8}s|n{`qaeuaM$U%VaEHei+_%f2cT3bJ3wcLA;qXUDiE%Xs=@d4@AKUrr@iPC={KK4gI- zJbiDr7j$lPM;cFL40C2{L`~B-=pk2}5x)=*IM9snqsh|LB3jR`fETIsWQB~VK2Wp#nd6NGamK;l~-^Mho+{xd{3 zhRGJD878du8FZr?KN2(=Bu6OB5J3V4kY13X3KqT#@1hwXFv7w9@v+_5jsScH18O3> zLUe}e^2)XUNfLVF_uShZ?tT-^3We!qW^i=(GLq>jVE183Gx%_^`0T5e)A0bHgft0| z)g4_lnVjps-o^aZBzrkcZ||%}LP8+HG-!nw2Uua10ZxOhWFXNi#YOyU#7ldM zH#bdx*26~9l?b+{M!)fs6*1*tpC=3!9fZgpW6@x87N8@iB}>ac8UXf0qR z3LFqNXd8AM=!9~>E#5mW5G(qli`*sVr3)shU3`C%;jxHuA(4)D>An;wMtTSHi}!4CWF zX$=i6!c+Bx&cHttknyR{Gc3mq@3%nuD6YfUa$&3H# zZyY|F#2!A;*KP!7%gd8?vC;-_u;F*cI`8x)dgZJ$y3PEYbb45b=sn_rW)N#(C%-#P zF`_Fm#fdErRr>*ovp4fwAH3AmI&l-6`R>c-hI)*V#m=XY2}A*Gtq^gOT(Xs(fqqkY zxr%d`Hzg$sMThTm%#}-48I| zQeQi>M7*0knL<-94m3Ni&BqT=G^WD5QKx^NQ1<=M&N#Y+*HTd194is~m2%6k<@!R& zRhm`yF3BPSzN4-rR{Gixy)@rG$R7YB3!}SCv`=wtT_LP_`nUp63w$ygr5DMP2!bhMnyM18;w>-!ZP>3c~xCjwiP%W1fsw#Ja=2D?w6-1dBAXZI)BkP0NVI+`XKH_HdG1)pyCG4tvg zJ43W`sVqBgM9aK%6h>#*xI8a|`x3pr-P#;<`aX}fSukgFKV!jLR4e6Pl@!m!DQiiEsVlWz+k^K?V0>Ye*-|ZCzg#PP zM!kLk%Y7Bm;Ufp6o5;^~V}@4XW){)Tu5|mdZ?Go_f{D>7+(jGQUJn>=Oem2(LWskQ z!n3FC2{QN~MaY5tkOQ#x0F&Zu0(0;gvnh6KeMc`UJS(KoG#s{9M@VE38OA53<6~~# z0Wv4@=U2_5a6p9xXxqfom4^w2NhwN_ueZSeN&pQpM2PZB|HkVqa^1fY z8UQ-I)>9mg;LFbB5ne{(LRnxET=cHbe$DqRUrxt84WC|#;iHv}>@~hNG6WP;Mu6bc zLg_Xy?;Ie3eR^6@_xI3~Zu1Ps(3`QwhM_{(;KK*rm9G(~d{m={l=x|@LjA^v)Bq&z z55_T%a>_l5u1orY*h~E=8c_7Urq?oFpqg-cytWgpwz1Utuh4VnR9j-104fR>8wX7f zCUKcO51Ha+v^iF!yOSAI$HcF+7pS{j9#*HJKD=@AZH8OR!81ovxSjXj8VO0A5n=U4 z0$iI3vqXs9uG1jDPQHbOnGYV}&g_3%xbSWfwIt4MdJ*4P+I{;4Gye``=PBismWf(K zrysh=I)z@Y?ic=epivBF6TKpPgkN*~ZT2Cnp2W|1z7AQ6B7gImj)448%EKFBo?V3b zIU$lF2vCNJr!u~YF_O;1=vsIIdMsvb6WK2rx~uPx6N+1}*M9a49M`_2GOBKve4UuJ z58@_(Xa`^;eVVIS^GEJdjtX3$^Ix2haW>A&W*OWE8}O#i6FMLlZENj;z!U&9CbgzX znd`B!FdtGAbaN73qLrtD>&D*=%2HUe_W83a^bWN~a(+P8LX3v=0rFhiZ{r0x@xSZ? zzO$v($~?HjTRDk`q@dlZWJiY+I5E>c0kVnZ!MOrKGV4-S?aKB(jBTYb2(XSSVLxPZ zFr{}uA?vl_+=Bopd$cl+=;(fazo=ivm(+K4MSz(VC>R1Vx0A1!e)ihW=}tqzfA|X> z+tg9{A_-eBbJaPEN6s$vC96+Qju{GyrXGj%$QtCGOWBr5F1tS{qdKJtk67{=ad@IQ2I=0Z{u&RT9em9#Z}BxrcvG!N6J_ z5KqPPdpVu*1EMqi!?bEcS%P-w1aE-I%#5)Hge_Oxz}BwO4LnYHnxu|zg&~am!X4OS z|MCZ&XB^~-nZl-EI9UMLRLGvyv6Es%)UFN{=-11-XQ4iDgnNmW^mO|04JD8}AZZ1} ze8g*&*jH>^mqIAAFkcm3{VvK+Ge?t%H8t>do(*%`z8B}?by!;ud}+W|7|y9I4}D7k z(j!|r-Ei0_x5#fEP>{!a1h{YZP8vcT8>fJtG9F@UW5(E0)ttkJBH1CcI`c8*!pLlQ z%zJTUOGSI*w$729T1!+La|^!6LvgzdPJAoHU#ux{sG~7;rd%7MYw;1c$*yp^hP14;_(KZGl6S_mR6=FdZO%-HNP_#w)U8` zaqi~F!G!Ent!nN7!8eQ!aW#vBZy3M*0p&7k3jDg4beT0GWl@3oE$^4EuWX&8MNRJt zF^C+*iemPbO74KLb}^J;t~_0Lk?}+E-qz~T>qgTS)5>rA58Q@w7HGJNrY~p>y-?(e z9(4y*rf^2LX4|`rX4QiY8CX$gBYt?~)Xf*EK`j7*3d7pqmz4RJkJJ(}7z;{uhoTSr z3CN#~p`0u`nuRI&0nRo;?RM`DKsuJ|9qagSPnrSDCjE{jxs8xM(iO*@(cVn&0sYHY zO`L6yJ)g4AW+T z{xosg=sok2-?dLb0}6QrwPY+nqZhl{Tw7m0%(tJc)~vJc{U`@yVoUilO3P{b6I<3b z^tbQ#U=;j7x1`hq;OYa72}Nn2%29)I=C z7B($#+8vq-&b#ghqwAkWy;=BjxyhQ{N45oxENm*8%9M*NjsPlOJim#*44~dc3YoHVR>gepE_n-E5eOoqYNwvQ@ms{;YDgW&^E zV5z#^%a`u1lFmOuhG!>69LC|OkaJoqwVr1`f0}Rkmq@u7%`#d&iNZ>$A*S}2+$i5*(P(kkDo`5IJ(B)?R?Rrb8IQyxe7#5%+)!X0Ie!o^?qeG3Xx0ZXH zeroMUTbs->hw}OD=jNs%l>+|z zSf0^Qtfb)-P2P`kh4q$I&ryB?3JTl~?w3uK{-)T?dA>Ut+(w@+d7v2O6cA&!q>@s* z?-El!1!cFQE&TMv?}mulaNpin=MCYRGQJ73EeYC;@ynbtY_d*DZfHy5+qX=K)AP{SRNr(Mdg=$!OWJapErUyz=)4#O zKv|6W+}Ny>p?E#N>vC<(s-1dkpz%9tiZjPxF-UqRq4zZhF9)^i;yrEvaTAKAZLJ?K z4zKjD?ZB-T9d0j>zL=$k0~uzOA3Vg(B}&8G%1+meZ3ou8PGLV^2LGA3|0>iP51JaB`7rDxIlU5* z1#EJW8^CP+m3~TvpPqt8cQT|I9|W z%lTu*9Nk}0^K%01r=m6fbeD%^;`+g9(1(N6P8rAij^AWa=R|34?r-p%sG*mms+`Mh zLhrpQN6u-7%qvQY93^=lJVb#40y%(E0dOuLBe9t0@CnO8cPp1r5Ja-u@b$TQe6y+X zukBXr4Jj%fvA*0%m8d#7F16b*>T@^_+W%NVMBZKSh)g^I=;A?Hbl6V}o)ZcU0KFeP z7GlN;WC;{@eixE#0wpcVzSD(?vQ>q?nm)b(Ox%1{ zMdRAF*=k-95>Dz?y%;G9Lt%UEeYjCTtL3Q#PkuFW!1mlxQl>*=)4U zr)(*$;orB|bE|46P0NCio6}9YAX+>BXjWw$m5Ney6is_H#?H+^;GU8*6eH2m3_+h1 zgPJxmQ>H7~BF20>Jiu3VWQ|URkB^vmfL+3n#U_DCkg~?xa?DoJiQ&Ny6kzx|)p5y0 zJ=NK314-$JEKZGUN5nr&d=B1SiZ3#I;8@sECMc|R1Xj#N0u&_B<^oaa>P>8?8=+M zMs9f4Z)Rs;*2c6feW+V?1{})YJeYIOmd#G5IF);%v!sv zMS+7UE?a{}_ftg;U5(64 zB}%XH{QWsRrj76KPQ`V}o6qly@~NW{q-gmeJ`qI_aCX4_Ds?Kyq25h#^HLLx3>XS! zF%-)#p}@@1_;5}HQxxr^3C#*mI1BxC=HOW764It#4?4mod^bJ}j2oWmn(K&o&3-X4 z8FgnkUXKg`TK2!p3N>$Uu^u(nWq?Io0l!%R$`g!my;$b>_SM|}tWh!37dDb_lyR_3 zKRcy=Ni0BoTl$om7Gw&w1s@#i^H)F5ca+G{yA?E6Zp19s{qj_KYWVmC9Pc4)VUhI* z2!7o;Yx609j($Ona>y_sVw4_eVGCK|rVzO-Ic`3)JdSI_!OW-5Vee2MEqzkQKS}V~ zw(z@TftBy#W6f9Xa|wBj3m%{j>(&^c=I@_;*2VN)M}}6U{L(jWcvQ^=@uKXIdUgfy zIFn++$I^CMw_JV9oU~p6$|dUq?`AxeqtOz^@x(SIEusJ+(>};cF@u3R$?S)+Nt)TB z$w^T`N%giS$^z2h;&^FkL0g(ezfc&HjM&1^c>KSUw0jC)CXo{a4I1wo+-~vW7xwob zGH|Ti9$t0krdj6UUG1P}SOEY`Z(u+prj--~?8xvI5{FBwA9Q1*mlRc>>vY?~bb1%p zt)_8(CZgR6?(Nl-hcID))T%=G+DnPmkMQ@x(@Z|v(?LI;=%QY%c1?zUHz9n_?(Ep6 zgVqqD*xm1#KGH=UDG-Z|;_9;~-sz6rgil*V)hlV^H7Dxq;E`Hy&-Mu)&wFl0-x5W09@NE7-gg zDHXI9bR!ruyKu5FP)b~V$!NA^tN^Sl+aF?W*sD#^Z+u&=VslvGW=SXmlBd)Q# zBsN=;Z;Wn0fgVtJLF^7wm`I0%wEcJ$AY~agLSQt2{2GrSTOy_c;f1%iNWNdy7?d6M zw@TSqx98U&xxm#1!NdV*+b|B$7=0XM(mIeVLiwgc@65cvM1N%xU*Hb9BYfOJGi&Tf z&HMU(Zt+#8rbBdK6grIDJOaoT{ub4p|#o3=&fT^wg;>WLuH+hHd@McEyv3udqro)ABNJ zok0CuhBD|rNBVZ%{|3PK9YKh|PWrfM$Zk3*m%aMk{qvqo_C~k+Z43^tyyEYku=+9F z^_kn-5t}6T7B1_S)lYcx8kUXjz2!vo^+%7F%LRE3gt0>uDfAc+44YV;TNOQ;-ymQ4 z4}&+M03yTp9zZ4li@lBnc$wBfD_tBdlq&mDyaFG16wk5}`{inj>AKKuGsi?!!WOT0 z6o3gCyj=xcvNKma(p5&b9VtV7FMJed{;JqT2N6}12;L_z77X%g)x-`eKpXH1z3W~( z^i6^1snZU*`TZw3L%umJInqK4nJ#gR{5bUhrOscWM7rn!GI)=}Y2wG))6)v6S#*m_ zY{2t}D-lVX{+2BVB+>)zKY;}FP{d1S0a(AAV&H0VrwohZ4O>8ox84RBiwWY1Go)2oHWxTxlJiYjT+ zV0`(v0}X2c`#FAm}_?Ns@RL z8PGTHmD)W`s#f@}l=X%QpYmK^I>g8b+_YY7C|$ms#>ngK?sG)Ny?D^pUBJ@VDxZ&^ zh8z~4mqd{fy94&ZLXNxo%|4LlLa?SU=~7UZM|xn#L3Zo}%tfYL9o4M_-Ejh$$D{=fR7$B^**ONf|U1F{UuC6PbZ@=*=VFHY3ze0W^8ZmxZ;P+LDXvgK{GkXPRcyu~%u>NWzv{muc zeQMslUY%u{&*w@TQB+k?`oG%x%CM-Su5AHH=}swWqF#a>=?>|X?sxM%U;X(0z;(?Gb7sytd#$za;z|im5A6^`MJ*-&Y(x^KN0hw*S~C}^ z?xY4oM+7_$(PMnM_UY1M=QrRrK>ACF)MvxUzXkiV z%hRON#iAzqYB6xDMBj=xU&fJueb^w8cXq6rp;k%^!iR4qKF5FlDV>0Z1K46PMLC#A zgR^)C=c3)}!7R*dH5W24v)Ek5QZ%1SQXv1pUuFy=-YsNSOg6HT`)MxlU^sJu;Pv@9 zwN(Ej9*~d&B;S>)$&V6fidIGffgXllRb%5Jg39;>L2j7Y*RdCJk?5)i6Crp;I?I1( zMzApM`xdPWN0yH8nk6zpZvj&L_Qm((ZAfT3Z6JTZE<_W`iAg^qm1l?Te?woBAm-W( ziLEOda&_f#&>{hg3Wc({KL%R8_RC6tZmwR<_+v~@djqa(>|4^tOUbqNe6u@tuvS(j zeor4BKAdaF^9N>@CqhCfb>zP`Jp=*lLDqCszaMBRLJ_<&XQ;({MogGlIb#sf(j4)$ z8Qd#RZs5Dx(mYe0)GFiw0ZJ>bBg0rCZstQLb(C_AfU!VUDX5oz7B-2 zmwjm}eDkxDFjYm&|s9E$)ZtUr(LG$gX_Ln|FC%4;c8;a)M5m7%L*!kHu-Xpf5hykFR;E^36eA%WAPh>bnAqEb_)7sicR_0fN5-S z!A)Qs%4fDI`dz^AB)BX%;V6<)hE&^tVPt|-I|V>IK!_qcH$6dT<=grKGqm-`PheLF zT+mE!97rhE#2)Ah6JPs*BsTUVGbHa<|aq$p11V zrTF9;dC&;;i>tstOYc!0k`^^zncovykFGo2MRAAUQ%|SshNFkrQEf4KFfr%AbYJhP zbN2!7(cl9RU8sEH{I~${%E(%w*(BSuWDD`%v9$&b`NKL94d#&jtaoyeLmaNyFtEV%2Sk&HGw=BPB`{|9~^v(5> zTaw)vF1u3}q_H6g1{yAt!J4_c6X-ea#3v!|l#B&y8Nh??ddRhdrJ?Hzeb9c11+L$d z6D+FBUSM@(mQj3Wgq=Q|0teSW$Lbe%yYR^kCebg?tXiJ2&9dI?r^{*5)1l&;@0#M5gTcs@{r2(1;?)MUHv&P|Rn}kWAiqBdbn2#99pfbhz zRh|Audfm*9&m+D8VcGDj`ac@L%$P~}zG^Il7#cAK(&R-V z$zw6F$laO%Lr8Hx>4vm9hb#MD66o&c^9u3#rN40zlTpn_IEFrJvyG(#li2&PUU(~6 zH?};{4i$8?&kcKtQee;nffK zo=u}-Evc1i6y&3ZDh;!k+6x`O-=FUe7Z5QbWg)`mr&dhhShZJ=-apSK;|1)K$L+cz zz-$4E;H=})HxjhO0KCyxVl4z$p{n~ED8G>GWiQVzJWmvbXGqZdCeM12TUrYXi=7W6 zA7{P|L>?o6eQyjqm0BpI;zM-qoLHt^o5M){hkgrkAj>fHaN0Ths{kyYpvpg>1Z&7u3l=^o+Ql0-e69r2YSe$m#IyS zvpDqui*wXI%V-nYk_k28-u&t~($ettutuuZ;!i$)*XNK0RS8k(QFP*MRTxxeTz#?f ze0U}ZP&hbcz~hR!RP`gjN$ZWg?4a5TCaHCMYx_2fPS;fyNT-SRkY^WyJiY6);gnYs zQ%kWi$_TH4*kozQ7V>3N+Db1kCsPMH^A^0=w%HwSC)Ra2P@SfAb!>| zw{_z^9oFB+AsRpYJCT7qB}VR2lAr7YzC&oqdLpFBk)hu^<5Wjfrtt_{nj8zfcNJqSgF14_bxpQ1rnaufntZcN(xzq1W7P* zhg(yOF095vET8kd7}v{GSg>i1{Pb`pcv(oE75Krn*tN{NN8S|99@f>}qIWsC36VYI zg)HDiakl4MAxW*rvM&y;kBoi#)K-M!jK*lTZ~}cNLf(A@vrG0L|$PIkc*pTN$B1TXyqH9^<6#t(#35Eyy2(2z-B?>Oz{#B zL{v7CB+)uhk$h@pY-C$a$F?c$=WjRQ@c}IXW~l%B1Kh;Qz|3iG8t9in8;w%aLnDq4 zv4QgAKPl49BJ)tiTpR@Mcxx!HOtqh&xT*Z%VVm5EAjcPe8B!S_ALVCI9lADPu8kR& zLf)uhg7qbCbfWbw7+!?#@8PP%Y3mhUkC`)h*t?d~1ot_67)R$vbO|lxGV$eCC$wHK z_*AGmvXAwvs*j}abv`#Hv;jW(`M2)0`e++LiPj@a{vI=8?XtSdEi|4C0l=K_gm`W! zK{y~E$pTIAcV;&4w*c)66vLj^!3=-Kh%t!cjMG~;dSuew##HyQGv3N8jXNa-IAG%g zb+_F|XC*k1GulgFY6hyqR~QscY7XLrHnewud~>}_ zL_<0SK3YIKp?#gs0MY?Ki*KXT_gJVnqJ4Dv{u)eh@XbJ+j)Pf^Mfp*c5h*;J80{^l zuFz*8n3W9B>)x%KAYR)e6A4~A@dbXQ0=>{d?sD}9_HnAwx=|K5TXTrFH?swbiM|=c z)WIYHNtbC1mW4e5HV*d(9tNN@z*(hG#x~U@M~C|C_JVMhCo1?3zFO(oQ~KKXRS9fP zC!pm9(=j&hv9llavx$>XlSC$SA?d~QQpf0(Yt-%`P;K+rEx;6&4B2Mi4tivSq0rcZ zt@zV6QHGU~LQcXZf0Ec`_$fYN_iNM0hwo%Hciwq}&&&OsB*uenI=e7Hv|A5lCbz*m zSn&Uf{yC>#*@tg!cqY%`3Y06w{8I9w>(Uk+$_69M%oZvoVXNrWAK{;FP?Lc9MBC+S zpy&ZD2fzT~cLpoZ!BvZmr5~x~M-Y?!&5)$xyho&amXRwfUsRRVYF=2LJ+yLL&|o{|EP?s`14n z)pl8L_#FXdhC;(D2^|8wl#qgj&{Gs%b}9}mR|2fI9V!q^LwiZ03P_JmE+A%7T~_!5 zW^%QXu)nYAeZh;m5WvDS_3i&;P(??MdE~?1{x+3>f~(;nZTv+Uw*hEhPsjvT6uCXs zGcyJ6xNEl&iZiWv&yS*o=x9jIdB4!Fu+u4RvtmhjpdU`I94rS|sW7{ouA!kqQ->GH%K;VIBC#3)KEk-vywRbh3#Q6n=>^5b37U;=%Wl}0pfjrrfeLXk zoFY6URGKv5Ibm8_(vq4)UQm>077xrRzT@9dHWeka!6+jsa9q03FF|WPaG?y*R(y>f zSbfw3EZn8pM0d7J3i}G*0MN8&XiBM0ww5{LIoLs@?K>9TcD1hl09Xs>nFh1UYCb>Y@ zt3N~dbm`1IsB-mEZA88*uP{HwY+*l3UR<)n`-pB1>X>PhVs&Ma#nEN3J)2JxaZTVl z@6-8w$^x@EmRs!CeZ0!T`qJR}a2RUG#;oMQ@OrmW)t!?skM>H|15jvRTz5fW7_mkH z5`;jWKN9M5ezlhM7i1ugC1nz9?Dd#czl@NhTqIm+Zprwa?hLk&DmyCsktf*+nlaG^ z6@U8Y{4+y;69>gK7cfcjgQ1V{3#spi3(R0&6h9CWX3U`qUJQ~T@Z-RS9E|lQ-86bC zLIQLsXQe>pts-O(+rqqFC$9r6%~cE#g(72oLGQk6feJ7Q=J+Oyzw>aFk)Q^W zbw;5*FwymW9G@w;iQ&ZTe8zxq&!ig}6K?;t&kgL>fjuQg$-2`L`T^ZqCSG#}lh${7#AA4BR>;AWN*X7$NUFFd4nsp|T6u zCx``wDvBzIQ2M_PR{1Tx_UPF^15RBCB3#*}@$XLoqL~WWh*%5+?M#voMHDwpOSjv7 zU{8Svlth4T6H}5PDVqe5Kg}-&fcOYbx(2?26=1&yENc%N{WkbBSe-L>L}U}7vw-ID z*m-{{95|a)cL3-Wq!9JFF_JOcEdFlGlO!?Q6Qq8@I6?Rt6_*s$lECX*9YXfw$gJ0q{0H&8}h`dBC zuiw=9hy$wOLvLl_&F+o)L!Qw#z~g~{+SayMM!f^=uIQZQ6rJiv_v5|1;UA!|L)Zh! zW+q8jI3$L@eBeoN`V#{{C=Lkp^I|k?G&n8`B{B3m#27jBFoAvEK6-nUS!PDJFvLAR zS!&ML$o>m;sp@R)92uBWj|ux=mmWzg|4p@#b#F(1u<5vQX;7Gveh~k8Kk6;Tby68^gGB_vYk6)^{ zS=ZLyRBb#46<6QQUM06{qA8S~pGg`=We;*hz;pnVe|O5@+L>X$nR~PH zW;0)N0^|xk{%VhXoRsE6MmHd7w!JJLlvIRT{)I=btlPMCJ!MIMX>9;_aoibmSWW|DZ#Dlw z8#z47QTU81sd8uN8Apd0t2EM%gl3kF4UgQv-$*EZ5B(`V{tOXFrh(83nDpNM5fW-Z zxn?;Wq}-ZM>S#ZY*xYfo(fE1Q>hn~DoYMt}sc>KfP?5hnhXt3LzTiD^LO`pM#(Q>uZ(~BpOB9Z{% zesY}P^79~7wv<0bqXN}!$w7(|jGF@==z;LpSIu(TQlv8A!Bf-Rp+-A@KYh!13P>de zLQ=B|pwQ5@}1M4ORZ|wPDc={KRi?AVoVx=>Egl{m)yuW*Rewy3}Y;&+z(%|5P*o{D@ zY;=~cz)59gWx1{V`=^~iyOlvJb_*CWSLKl0iO{RG(2yS%qFOf^V=?>As$=V00 zOsUZZXdQs780c5#i!*QY8prOVn7ajnrbg_cgJO#+ z{KmW=YKTWRBaI_5?b%yKUY7Typ`>EA|MbUyo@ver2pKf<3a%&czdlsKQZmh^C4}`y z@C0IGL`K5JV&SL=`g+@6VL$Ks`Djd+B1k?)n)7w!;W71e-=chmdTbNO9m zKgd(4v4N;`Hp=k*GC-7)I3#qYj zsampUH&=?}iM5p-{bAYs!Otm#C374ngyOef$1Lo$Fu#R{n23V;uZcwHtvOo|%1jei z2p=6jBr|PaZ40BXWKVfN-x++`o1Ds`+W^J>;M)pw#9M`bn#3V`{Mi<7%~J>__sGiD z96zdwm(w;>Rk^V0wsP~X<2Pkvd0w71TBYLqxsJQ;wYdH@S3Er5SxZG9?qdnnJ@;I; z81P3&PwOESY%Uuvg_6VNU?+a73|ZZlyP&o<^fh_F=9`q4ER#caoVHcg5STyov|=JE zqy--hjubhkNXzi6>9ug3)LiQTdjVIvYoYTymae&lKW3M?bRP8b05oA}{PkYp{d^6* z5bM}rUn%Cl+K(WucyAGPFO{pM2)vPFW43wnm+J$3GOJK5eo?F97G<}|SgF0o5CMwS zlJMnsDBVhguMP+2BJEWwGq(Z_NiOp><@I_yCL!1*y&@z7E<&i?O3*i(R4_Qv!{eQe z<3JA!E&j~&uqG}6S3B0UUfz9_?vbl{hxK{aOY+5v)1xTrmU&H?!NPf3^JVu}Vyt6U z^FKeb`HC~bdPb+Rorf!@2~IcM4z8};8ai@#e=zZaQ-78vBvEhy{n4WgVrcmKn5p~am`}k{70- z)e&r_$pQ_sx6|J4x4a0w&DW`ZrY&;d`?moD{KTg zxQ-k|l|7uQUB$2D1E<@&{8u%BGJ`DW=msJW<-Jk)BOLW&^Qg90Q$cQ+I zzCPG+|4G8I-9Hy|6ohiOdPjJ)lp_=;m~F9(8t&dYq@_gOsgbdPx;0CJ3$72nrY7H^ zSn)nmEvC#?zy7I&Sbo~(z`IN2&aQL|4@dL6)FFQtWu|)(Z9(u=1=Xt+^`kGtRmxg~ zEV|uM%=yd0eiHFT5zw#*m@~M%=Tq5(z!71>@47Ro8 zP9FTcz?tqm*7%I_5(5?a#5jN>j806fnPq~mxxR0pBaFZi8OL4zF; z=@g-P+3W9hqb?k<7pG)u@ate=%;YPbe~i# z6HE+oA({K%0H#Ik3S(N)#i{dm^po~p0qK+w=1)d%Jt89`aBz^@d$DF?>4MKsC-9xdJtL7jcZ{*$1?A*xo3YD=p3R0p%{yX}wMJ0R zS1$-op1wSIzfwB>iOkGz1A{AQ{>H zMueB(bN0~{`paMqzSZI8iYw!V@(t^*s{OUA)*LJfp&!bpUaXx^uX~rQ781>t<8Njx zFDm)H?z`|?Z_RA2ksDVdZzs0ca<)==`FT+rmN}STc`BQGIMVajP7ENHhC5Q0|5F!0 zQY3Z~eq12Z>3-{(MKA(W=llZu`SrBJbh-ZIz}4%n>|?--`L0W6gVvMXv}hLfb4pte z&6^2Bu73lBCG)}Q1kya*6w;@t>hY6hcT8?GA`%n0P)YScw0ep#H&@OsQE;)#Sic6n z%fooJ&Of+0H>=&;LmGE*lLj8L-hLCUKnfZ(yCAkQsd_Va~>x*+&RQAszuXOmrM~A&4 z`KAUtu@wAW!2@ws-xC7Bi>u!&;p0Bv4Gzpf)TYWG@iE;%>LX#}Iyo=e{db!5$OT--&101(&$;H!ycZ zRgu^YNSrW3p-|@?8s85L_^TrHNRh7L5^-w)EMjVZm3GZ~k!69)GW2b6i!MS41;ei3DP@^#~`KVl9mj9zO&jx#7Q zi10MqTaSFdp1Fm~iV1)12(w(87ge&d0gmg6`sUWJn^7yMP&5~(d70Zv_Q_A`T+G5$ zbrvk>2QlswvTqb7Dni-$d0LO11z4`bZ*4yiSxKdI>W~@R_`C~r;iG%$i#RVNbQ;2@ zfJJPvW2R>?eHK3&F0tMulI+p~w}lc)Ddc(6onX(;pywfRms)0DF>D{&9ib?Lc_2GF zlHXQB*4viKyX;CS%$aSmy1(y>c7~Td;Uu4=JD1@s+gfuz!Tn)U054_ryZ^ml070Ms zg+Z|`zTsq24}YEDTsW-q^2c%wm*0A0`x_K>W7=0n_-2GZ3PT2pdLtZcTc-jf-7Sc? zmgV00Nf}iX9i;T(dxigUw)ix~XrZ^!xz@}e!II(J*X1DL!F(WF&dv95%M0qBI_qZ`Ad`C#JVoohmtDN1Vua^MW)HOF$mqD`W!E(_`!mu5 zR@{vdUw5osG43O4&wi;_MnnQDhD6B{q=z$Dv;;1S*cB^sFF8o=xN4K;4THF&{O$rO z^MVy-C>SJm#&A~-gO9Q)NP0*KP&Cp%u6^By+H=d$d+_tz5GapIV%{N=%Pe^yqHT4q zn;zWjx4p@Ut>!%+mTe=fw;1X4^DDJXqrIzMjU#NP$3s1cf&}cfq90J#5UiFgYuCQu z{oawqaJC-?w=f#vVc45t2l= z51I3M>!7h91A?-=>itPDT*8NQR`0HdY%`x78EL4efIQt&)+=@An7z+$-9zMFQQc$|&}=ZVmI$e7e%EUbuY6{?N4EIUV)tIx zk$;TOpF`hpeK(n2_F;`oz^Xk)82(P0HY`9s$h%hTc03#(V!C-+hBiimy&_yo^`qL@ z;|<9m+Z2r^!Rl_u?1X=e5}3mG(dSa(IYqnt%}lh9Em{9lQ>gJF;{Us_M9!z5e&J^U zqk^r^jN$Cik0diJ|AOF69gpiAmT^|-?(Yd6nv9vn0jBM70YrmoyRkL|qiJq}3kFtM z!GzBd4mmkU={0XFx$^5twj%pA_VGo^J~`<``KZ=bVMHB6|AeH*EC07rj$m~EWr3M4 z@|MvQ?*8F9ewP1<_k4Y8henl_nf%KOxf@VaX)np-AGJzNzLBMjFVi-r`y##cPVPYS z7c=&Of=^=>#2&&hgA$4z?&(fa&L75qTZ${SVNMXHcHFG*~| z;B&zDihRLcvU0Yx!lJ}!D~i@=xaNY5mM^n9r@kOqPR&X$VE3J_l3Y&V%bL(o%V!Z literal 0 HcmV?d00001 diff --git a/docs/guide/images/flow.vsd b/docs/guide/images/flow.vsd new file mode 100644 index 0000000000000000000000000000000000000000..1d922fc39ee1f6e1013af6ef548847905bf43319 GIT binary patch literal 87552 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

_asB`~S|LVn{Y9B}(`g z=!SbH?p^=8K4K_NcC5Lu4^$n#)*4Hwzn4w_zyCKiiLd3KpeEDbHs3P`@PEw*m#{7D z>f5PT!o_*;92NTAX*e`-+44K-uPUpxaGZ1yyvjC!>ju2l&aBq*>>qKBzR91|S8Mr# zh8NX4tWke(L0s<@3EpduXn8%(agQ2GU8BpzJvh$RCvu50obGJjrUc@f^h_nsn1eyv^mEBJRs;P}?0T5Ag@zPGh-wy@;j6ocfGF(rnf83aE3 zWeVFjMi5-B1ut*MQIR*9NMhIT-Cj*Hwfds{3%|ARHtKmz?H6t5B=TjI-Se8)78#Zn zJ;CLEXrvlW?S}DZbNlWMueEOm#|VU1(K$2=d%<`9(QL@(7(w(~(`-0RgarT1_g`z{ z-AxT{Lx_TE2;uTtd-$Wfsr4q)ohERZd_vS~?fE!!;dB-B#a`X*ec?Ax4RmXl+WQ#3(|HDr!Yr)TULV_MSn^*rSMDv-S>3?NYlb zrD~6=mdE$^d!FY!=X~yYpU>xyd+s>*-q(Fc>Fa9HQFBp~kdV-6BH#ujB&3Pg4NOUP zU0Ha^wtt!U0q%AYWhzsZOd84X*#9(VH+#EriJu^>_SSzbK6Yb$E0RFY9W z)HS|p?pGL@+nQ3|7nR?U`(Z={jZsBoknY*)4%qnO?(()tF@w+t=F!sT(GC6c>JF*$ zR&g*iM#m+?_;pSsu0{S?9IvJy7!@XE7Nu&JWaydgo=}Uc?iV)-=hqI9G>wq4h~d|H zC#V|)MuiIM1&JVoMGZnA#^Lw=6A=<7;Zjecq|IYw%wrU+;+1R?RMAPQ_DL{%4E%Yr z`pfG`K{%u$9I;wXSnXHX$1Z7)UD8or*+yPCV{e?9PrkWtp1E(nZD27vsMtBO!X>)G zJ+{&#?mDWx5~|}0+B5NeIn{%CwL=B<1pLSGroNevLvtO&^F53Z|+Z2Anqd8!|!6(%#@$GQXFDWAvnysxng}&7opxtSblevW<|}k zPIwC}e|X(+8UY(2fFAFw!nUz>q&Zm*uM!Q*H^QZ`YgV!BT5WWtnpS$dg4C`!d&JY-QJj)idapPh zYZIoysgR58QS^=PFX%{cv3i$)dH$VkBV9S+z#$Ct+=cg!PVURsVjwcW<#bA8k`VyI zgneC8wBoQn0p(mHNyvcIC!g_Pn0hi?Qals-lsRqorZksm3%5H=h17ObWV%I88XpR% z0Sc;`7`|7cq5Y5rodjub0_(_A^rz(d5H;uky_s2>LGp!)Li&uOXpP#2Y^eQP>qBCZ z1zwU)^y`RSe8Oit`TGY<8MZzjdpt!}18EN@XDFw`eRFjVxA>>54_KfC|EB!3AC-x! zmOqKI;))M^MT9cwSA5_?K9zHRO-(}}u^%;JPkN-F1SU^RJ9GRHX#DtauYa5X8j(Lg zyWvd$z0ObmZR~~+qN?q>|9h66lY&JaW^4c?dWnWEj^{Cofr!~O{JT^T05!bJ=TeEf z7S`5vkR&{ILRNhFmWoJF8^b3CPCaQZidpUcNLkjnPL;IiHuftv*YM|qu=kI1Y~^zpNrBDG zJ#vSjE;&W0SYO%#tnVY`-Mpn}L2}(^;m7Rs0BZCzJ%pDH>V2LJw+3YxP)=^WAZwh7 zYI$72&NPxE@!lZ}Q4qw~!EC@{qhdfi#A3le9OcJXbe*fF{pG6;NVrF?MGyhzGxEP{ z&FDG{m0`uOC?}N$2t1=)OAOriPb#dESq$l_h~kqmh@1>cg5{;Wpyc#|P&;?<7D)30 zi&UycW?-1X;)q1@w8RM?f+G*eZQ5Z!{z|?rp0U_2l(E6$(q3w@0;mrIAeeh`Zq33i zd0YKS#Biy%al`5JsHVD%JbvJd`RWyfD$7!7YD}m@CY9 zF!#xWWKe5z!7w3IcDs=Mep@gVP?4YB2MiZ=aS4^>FkgM0*PD>bvhD`_Pe*VFbAhp_ zZ7_`>aWtMfAU{#uJnn*Kivy#fJbZAYz%LghJC0ld-r_kKSC7;K5{HBw+g*VV`x4zZ zuR28gR4tz+%O zZW_k${Z^!+tp3kirLbv}6l; zOqfJTN^D0sT%NhTMHV6d%P6DhkEi1Ujc~Y6HM@aju?3W4xFaNUk1n$4;a>!;Lj$0n zqrfwEwC-lkC}ELc-#p~2T*kevp&;M^@7SzRIu6knA7ZdOvx`utMrx_kM0tYlf*55M z4PWzhPO3H=KLkxOQMEWpnS&+`O|;Z0qdc=&n6>00*?~!W5tG8tDwC`&H=^E)%@o{I zdnQgu>opWAy;LNcm#?7D2156n!uB1hUW#z1QLhccg5jYe(K~?tB&8F@(5^rS#$I~4 z&0ZdPRE4b5!&?q<8pw*wQk6;}s{94#+@ruZd@Tr_$o8~;xunqw+F)`MZg;j)`oGDv zYOV!b?qmAVqpFi6@v#^t=50MC;WVpIQ{eiCi4<4zQbeR8p?ij3tEZ6SirFWVhE73u z)w1CFe6Eb=v-kIYg(>p=L?CWKdQR62&}9{NCD z@J(|a!FI?*ts6@_v=_d#f{$R-Z&ZX@$V$j|6E%7Ay6(SM6sF4tSR^RnhL4`~Hnb-U z>qP7+^Cv6L++nM2d?a+P^Be^y_-lsWx^eq9tF;wh;JGT3XC7PWFV5r$et5*zXH~?8 zY0gV2ZnI|Xo9BN(Q&tNv*3QM6hCD@Dg=oeTJa2KHHu7eIyQ_cx>Wgi`y$P0|Ds+}; zG0oVLR4Snp;uyJiUvKP2hw~1?53eNq(R3N=WeM(dr_o8KhIyQC0Hz9U9YTK(E4{{U zLH9aLB_Egt1Z_>GFG$-FNmz8!g3L{($i+=Fz{Lz zvTmAMJ=~f)D*T%6Aj!UGx~MDv%X~iKWC42JuA686}j0yUnZ0sZvWO(Ak zo;y$}jj?mL`Pb?(EJ)$YabJ30&9C0|0o^J62Wl!L+E#^>W=Flo6lfgTe|=qpjU(A? z{#WpfF>E$rrg%oNzH5n2)hdoy`E$4;h`kAZ1y9ii)0vt@{;2V^dRZ!_0WP`u%{u9J8Umg~SD-;LA7^dm`X@8`jzSVd zo1twML*uey4>a>y|A+{@3yfm`<6J$XcN-kZ_p(G?I+FD zxf64~MT4N5PY5fv@(d`s<)+qWFi6cwoZ^WILm$ay5GfB9z%gsDjXMVvV}goKg z%{Lyx0$lV^T=wcZ$_HMrFqzMvczD1e_G_|9rF!SvwmVdAs|2pY-qbxv-(j^06;ol@ zbfT{Se0bjm_|DL#)fD^o_L3b1t2<|pK!mSLC@sH+`SFFhJ_r=SMd$D@CM*xnDS(Ah z+!hCox74kwitC0FyNW|u{te@7fkahT)ilb9EQPsA2Qm(-eCK6kOm;Q9F60mKZ@@}a z0G*yfc1(xFP&A@ju5aKfuKRPdOIc)jICuW&_S6m!* z5?f=nbmlqsPqboo6>a+)%6)(=;sep&-IFYWze{d7e;CSl-5Mg-CS{W@deNrujH4@i z2KAepd@~hnb&W3MVN=p|{gAH70K?Vu{#Q@}X*t+tb_raYWa^9~z=Z8jhxn>X#)$JQ zJL2HNu^BG_M$WrdUKBEJbN5wi{qv60CM@B$!V8>##wIaxan4|{vgvCz8MI#tA2?eM_lX1UCS-SgVmZ7G=&`<8(!B2}|V$m5X!GJqY#-C005p<13+-B1OT8mBod_ zVLrBLSY1k?2|2MgCu*h$G5B%~!QEo+J!cx(A6 z5={}f{gUO&#gTO(Qv=dq@_9sh@)$PI?zt-|54M1%EJTaPXeTpz zVZTI#-eqQPD71}g4JgqXN>3Xrqm?p(4YYaco^%_C!cU9`>%ov>Siyyy?SQCr?KCy= zwc=n67=nfkw0i0)(P%X=o=iI}4zEuN+O=tKqLfsJ!)mr!8xq_0SS-MgA0pk8fdAJj?~L-`jAx^Iy;f^~E0 z`M1F@v7Z|msH!>n|B%{fZ^kC5?DkPJK9zs&7aLIKS4mQvz`#*69Q&D6Uq*H%LOdph zm)}{E0*Paz9SgPVApdY+z0on3D~3mYUhN#YLVnJ3(B9;)Qp&QlZiofB&9PTK+{+V> z$yy@GS@Gu<>JRy-(6xaP#~GU2s?U0HTrjZYKC!)X@^jR}ab*1qz;egnP|+{6Q5@&k ze=jC$U<3{ALH>2@A)g&=2Up4ZxFpaXFl*ad$~SR!-n6CzW~{HB+TRV}?s}8f|H&p| z)GhMqH*gtYwa($L+YBHC<&L^6)2xTYoH=uSTFb6ED09`qHJ@_z6Cs1 z!?>jZ+cyH5J5X}gPs$mwKUYVrB6Sg5k>;yRnm|9<`;0vde%m+shmvmXaxxcOc0!-B zKSv!8Yk{LTOj}Jr6x`+e2!YRWq+0uzx_J^qkGt!Ip-~2h`-iw)bt30yb7+#O| z%Cpo_O;Rh9i#px8bv9Y<10ML~`E@2`8qM|-A{2eI{Ew93^#FAWpshi@+)zTu#HV*& zkH2@lgy5v)Ctm=EJv9z3rW)D>80=EW##3o^(sM5BWK*{+0sE=H(9j|6vz~9JKl0lW zCnx1X3XL|!(#{6tDG7iPsb3=(@Bhf{-^4qEqk> z!oKn%>+n0h7S9*n1AZHC@bFf#71o1vODg1eBdV-9>cKoQiAR7~3%C`n|cW6u@2 zrx;h^ZF>w^_k~Ov;Acn!b9uS>JbJ~nztvXkIz7jV+^Vv4Z+PKHr(!lxTMd(Jk*NDi z?(CMn#ctYI)@Vd;E^13$nmUKFDq*SFnIt6({*rf{jck{v`=jXFNUiGLx^)X`QzYxh zZu`&W|1PFDwXQk#)kmo-&vQYu;z8Py+XH%}YM0UeBGdV|y?#M-RU~m3kmIpn0a6_v zgC_mA?$`9-kGi(jB%c0lVg0dm{Fc8d>5bT3vZe+5Dg1m(R5bm{1#aSJ=gl*X!N162 zgH9v6`Qi`Dc+@44;~nck{qLw@#HD^^XQp?3mrea8Mc`&r@;Zx3s+1k($BkNl1xXSe zX>Bn5%p)i6Uj`V(FS*_DD0E_c3~tUhg-l@}nMYwUyZncJOl)nF(HN?5Mq18)KWG_U6mJ0?v@U@a1#v?M53$CPI!eMJJ7|aF z?HfFas=F!zKk@634B{#42tA9`$euq}!;PFo&C~8WweLI`#C%=VNqHEQV8Qyt{`aS^ zcC7gA`&nY)VW{hL)*nhOgiqA2y~aebzH4y47I--8MB17u_11`l5v;k0@|J-iq5@|o zl?rnL(x>fdMykn047p9GWhdXMa{ptlzVadL!vezPJxOYCRbqCbCvj*i2S9qV#Udvo z&=<7I7+k2%8rUnqyc(=sUgnZ{Z2_QYkXpx~L?#3J$!-D@rEC}_;&7La>frs&Tyo(k z#q*(vM53CvPn;joGgO4TjH4js2PKe4KkhYdN+5A_iA$Es&5(&-vj+(y=iMEf=Zsx@ zCQkhNE())Ij-~_h>>ULHvH?MmvqvNm7kiHoX};S}O{fmI2e%yILl0XcP4Pvn0I7ot zE|~j1BPJwSKn1o>%F*Wg4R*K>V6fH|M|HhLu~^`QDokJ3f3|y!I;jJb>JqbgNDsRS zA$fP0djvIi^}C`R0E*S@i{CJZy)VtUtCG=o1-|ZIgiu~Q#7;v!&_o?OVCu!D=Y#S;GS#TROV^nj3~TY} zEiO9iuIn98f)b*2@4jTxu)~;Sffev$J4vcJFF%nfqmS`#(ks^}?XzP1QHBy$&!ccw zw|2nWpYC0?bd#LRKHclc>5_sDFtMl8dxf~Y<(=Zpa@pvIa<12B8wM`)!k{`NumCi;Cvk~I=!rilN}QT@(6W9e?ZFbT47XmzGsF`V|Aur@f+zaIL2xct5;ZbvbsNW zSNm70S_-T3UK_*qnZ@^@elw5uZs@3iM+4?|!lv2IM$P{Y{dLvKMvaz+7}K&4A{T`dXglmeKdd@0KR@&{zF=z z4a!N$@6+;svjxJD3jWfN00p2#_)I~wsjl4Ng%4Wb!17c7*nvRt1 zccS6=KU#N1I7YQU9THNX|0q3m+#TS3-H?)jMz&vbI#RUX`$2H+$xxCMD2D?2168s_ zL(;#wc82RyHjt`LN3YL%Nx1110_0ww_>0Z{-2AQ}(@hy^GClL2vnDS&vuRKPSq0$@6Tx*t`5 zBtSAC1&|6z1Ed3H0A>Pa0Vr)g2QU{f4=^9F0H6kB0N(e%fA-FYlVK48BZTIEw;1;R z<27|J{8`Jpi^ImBmFGW`&wujuss4jQWoZC9fa3I&ex~|ArKdjZ|5Vyf%m1zx&_j=* zzaQ0s#Q(X4I-mJB&Zq7v{KkbF8++SuR6RC44 z-ACCON~ck_CIdj(l;r@*7OeqL_Gcr2vOOgL%I@p|P&VotfGJ=(WJ=|?6K-(I?ojtQ zwfwzpsvl5iQrDoCzxUZ4E>77+s*lJNamrq9NNfSyfeEUaF;f&NX@b-#iX>$!QYE&R zBPel(Dn^kO4_~KHL}sqglYs$D4gyxkw7NKI3wq_*#;bOhDj zlKG;CNLkR}$l#z6!~J|m2DBfcSVZI~YPWB2 zL_qim--v(_z99i4+fS#OFETUb1@YHzBqQu0g#Q1Z&i$Ot(7-TnUI^*FHqeKw=wq1&}z>uW3h0cw0R1dd+^l1Nz!>i(wMYB}KTLh(zA z558SWpabQ=T`dR*fkPNN59dClxSl2^yu>SIXxNnRg=6gpmpPx9(`TYU^EKgsK3kV41H@JU`BZ>x_XmUJipZr+K{2<#u{2yGaHk^Lv ze0jmtp_^umf_w@Sf_^MrYsj#^>Ni7zKX={ndcC{ui)XsRX+Z`h_EXuW6;T7AcIy&@ z&wW#5=rSL!HzbWXRkjIw-L$b_JB)Gve+gE0d zbOAL2H3EfjV#msNYGHe3G~9k58be|@5$Xu1{EMpdF5CZJz2Nj?C3*1wE+4oFe>rs! zQ~@XiP%Kb2gW3dL0cyvP463tovfsbLTD>dAyN&;Ly&wl@`FDc2qS==-#_gSAF>JuP zAb!X@>FoVH6->svOaDtZ{wMWjh96in z*RTzW0uDh{=b*!|GZvMY`7c0T9&kR{={!q&-%mvnz+Hcm#U!3f3E=lqW%B# zdO^X!wk{0oVbJp*8ZX!`Sum+^`tW~I;s1+l|CD+`{y-G39o=)JXfY^xgPsS45A^~* z`ES#KA6E0vs@K7F>f+gB-ragI{u{Rcta?E&1GyM<#hUmb@ASt1 zmr6mq{aN+;Py~Oi=RZ99@7eBPyQO~ZUo)bwe)HCniZny9FwEADs z0+~>Yg@8qXEI>A3F<=QG2apR`3Rni9p6|B;@Hrq4Kt11aC14d`HDC>(08j{63s?tO z57+?s0zf?n^3yYf|3uyMCuG(B^h$wqL`V<8;1tEo_{2Cf>an)4m>8aspM|ye`>sPd zxb7-E*AbpO8Qy-}1(na8OQRk`d3ncN+U+SWXwjI2nYUpZ9#7f+?8+ywPjzZ2JdXTn z`x#U^?|2u~FW3tnDQnpGt20)wr3F21gh$Skh-_{on_g>;uofK;Wz^~T^b9^ciqaa9 z8K}Ix9M#m2HR!^H3+TXsiUVlFh7EQo1Cf&_PevgjAxP~3Pj&6mrOV4keVuN@fh*{z zYtqbgNR}tk_sYdM}3>jV(e~ufpkVC1(+N5zdN=ih?J;JH19H4R2qat|#? zh(n>IQ&-foF&u3p%cr5_W&P3bWaA68dqX*zX*6l=n+IvOx8&blQI8A$M~l2my_Rg$ zn$>H&);1NtdS+x^uWi=VJRkPx8NGkKc5uBGLlK@>ZBs_0F35bmd86+BYd5Us`INdx z&p7qkG4)y;MPzrb*Gel|*I;Yl2)1`U$eh-j&ZyTiOY5~p^;%ZFmR+wkhA$@dTGKA{ zPW4)IIDd6@i|ZL&j$tpcAF)Rmj-oMiL*I?SM0{Mtr$vL>0NG`i)9ZBW^&Fmfj>X;~ zm2*T{l4G>3%+nYi%v*yk!qEi2qop6m%}PzsCTwLo^61gHg9W32U%)Kj8x`mOPHg)m0M0yXf8LzC<7w zH)Sdb>Kf$K^jFgJ}`d34Hj#eOjWH_dj<4U=lrj*l_a)wgQRLV1rl(Ma% z2S?lqeKNQn!$)$W%D9o?T&0|Vggm9(LMgXY%K1w94J)O*bBWx#fZrv0IGbKI(&jNV zPFKc&pR=yRRk@y_A(m)s#%;O-gU9g+D~V4YP#umU9*0+lV`t*eiheIci;LD3l@=W-x>$6-sIiE?Ip5xrQzk4? z6P&}_xA3^(rALUhu)#Zf#A4U>(k(p8x+DD3BUYtHI_C;5Y}>-K?s-}oTWD!hTEOpG z!0%ST@9t}P#`GE8MsiuQ;!@F1!^RJ`Lnn|Gr$BiETiE}~!L^=O4x$~f`VO!o+f=-N zsj0XmZ?L_kk%()$pG6#Gml6k!iGwC#2RR}>cdv*~L>u|@R<*ExLdv4ADl`>WDyl1< zR~R)^y>#$9gPAp8=P>MdTwG;|xzx~HYUmBvY0Rg(6XpPKq9~`Iz+UM#(q$QJ4I^jr zqi1WXTOwRW-^(!KI3e-HE%H+?zwKpsYQ%T->G4?j(Dh1-q{=asgWakk zOzc`>m`NGkU71NED#g8Y^H6c~dAO(qhBd#`Q`*!^BlOJkr(G*Hs-H?J%O!K6VJ2P*DDG zL}lt&n!`5N?_7U&MZdZ}btPT75|PAHGDK1qil#~COL~PDTlSB=6(l{aCjs5)SM$bj=T~8-}o3tlWa!`GG2D|Bk1gUir zJPe(l(P^;Na@=Y;&1wniDMvaZ*Bh#FkqMEZt_nxQSoyRvZtzs!rpJtxjP>h#;7G?9 zrJkamqh7AIoE{%*=AP+HBI{FrQ@L60Hr=q!&3LrcXjQywt_rPC6{!|WwioPIpG>-5 zv}e(n3iT^BEf2?!w9?$Vjs~q?$SXNq>$UM(#-7|te-m`9@Viq+&n&;e@U?`dHD}c3 zEz+M)nQCOSgQfJp$*JoNH4QBd#;?|{ zn)J-(r=AtupIdVh+^S@rv+wOk71`Abe?Bfb)h8wR)PpT!PnmKXC!a!&Nhd?O4poko zXi^o)Ezg{oH}>mUd0BaddD5MEt0T8Xei!+3Th^u*WU=tuD@)ld~nJ`?-(0uQ~OQkh-vtqYgl4Yo2O?@fM&EN zUL&2WndDILZSBGBU)z)%*{9*0ICl2tU5(zu=v>V!K4Tv`q57Tk^`)Su^32g~*$sR( za#r_O2dn#31Xhfx*j6apXx<4})DJH&6jc=IzA!@3onBfM>w1$?GMq%Q~;h zaHu#>0-4d0xcMW?uI9bXrRD-Ywo~}v)Z}>;-`f^n$ER@jRG?!OL}ZBc%aYz<1<6y* z=b58Jm(E?) z$xN5ok1Q@8Av4KrX?@;P39rb}wr>$XAxIN7we#i?ME^j61kH6ha0_KT=ohu+6jtn} zKXpIK+@E@v)3K{ECA@7X?XoQ8FdBVR7LVdiqBO5l_vifDFKTOF@30Gz*DE6XMP(*c z{?achKjUe2xlHdoyOJ4YI<+-2fRx2Pk?Yky2fjHP(dBq?@5(4nKb5TXuq@3eN}2z4 z;*(MRlA6PlRf|;JR8svU&jUS=Mhrg{=6yD-(`J=UVV%H^K0bXb&pQki+fCoKs4(r= z$fQ$Yo@c|jr8-r3n=CyzI-Zop;ZH^lXbvBtj#B@q>ZKSEb`EDBk!PF=W4lFJ)@7(8 z^1oJ)vQ(4=7fzu?B{HIBKN;mOZ4SSpu2w&vYd5{skI|qCNKuz7Yh=@s!<2nySMFd% z5fOQlmyDcte-4Wl6{bA7kY1z;Qf^%FWjFDFu+C*K^LiFz*1y`0EW7=Mek$=bZlblcjnZaIU}aZYu*Y{BmJ_ASTBy7t$^l zvM(1hE*BOsFBh^d7t-e*pL-l*5kI>6qUXT_Lq~*0g{BNMGbcpwRQa_D4GS9b8_<@9 zZyHJtoNu_-a8ZMkt^1L+KIeEr=#ERXzTF8P@lG8wk|$If4zEc$8nNfOyzv%DQ~oG`yfxBG4Jre14{ zb`>37>$lUZxNPU%&56HN4?5O)jQ#B6PRH>b<~zNPqLY*F*;1S&r+c!nVe_EeET?BD zE4!6d>~tTyAMcS-6Ln{i=8U&vc*EKT){cH#xaOxO*q^w6>1xAH4^nbyLhrTb9#&;I z6q%Ac`hHRNRhg#j%HA2y)w^b&c)nGh+jt7sSRCuz#_z2W3UQO!velP<$&v@QGk6@x zdTrC>SI-cxYwToBl65+nt=aw86q%m_WWHW|)VZC^16SwBDq6>4V=1!kN2fh{c5qd7 zOA8a1`_?wGrb~C5l}nB?G(ojZTeXr)%z5nU7NE%5eUcjU%2zoU62#%S9PMW6T?x#y zD}I!D$A?GziK#bcV$A5dbd<<5iiY=U@q*}=m_9s4F3`2_94uil@nRcIAduEPKVr+j z$Y-&3(@`JG^R|oe-YNn`3uani=60bx=V$y$79tnA$b}(tQd#)2X7XbNu0*Ak505?5 zWt*|c#YE&(r#s`v8oGQNjb(9Ja>n(JBW9zWCc#QAj4~OdIo*9*$qLq!ZM3SFdI8Sf zN^cW0jjWsr4HL5=qsC2!cPOaPiJ$}^+anf3Gf}3iW`%cf)(n#^-Y2ul2?#k(2apCb| z#d`4(x3qY1dW?8i+FJ2hkAygJ;tg^74{_qShCWI(W2QKP_{u?0Tw#u|a`R?O z+I^#LG%c;1Mrw`n$=;`7dXS_X>21qVtH%63)?#$u5#8U7-S zk*p;ZFJ9!ev@Ag{@J%f%5Iax35L`uhwf-win@yU)UA;s5;>8`zo(c( zTWiO|UZQTCmzV{A;V)X6C5gCd&(*to(3PZ{=F8^cDaV-X*V zWuxpE2bAi7T6L3X5mmcDt-t|UCYqsiQtSF!TZpZp$pvH4l;_$cHtPKw z2pZnw7G2$PUsKz3S@P_eo<_f{X*c<#&3%pc<#^gASFg*Gu9h@OSNiK`(@=RI6Yc9~ zT8(^Yd%uSfbwq7bHVo8ZINq$&HgV0EwGGci><2ICOeXkVhQSaWyed90zyUpQ5Ju%L z!|({u0v7ixTH~>J&;lXwVv#TARJRnYgIBIlT3~mJL}R8s&A9(dr^^Q6V`UJXqOlzQF+rWK$JTH-dQ&NCYt&ZRJ=Q<6pZ1ySdOV64rGfXNq*CwU z^VYyyi+iJ(C^TII?;{kUK3sRtXFTzIPOc>pCGkgU6})P1HcDZO=f_3CTW$o%*-AXI z$56355=V%=hKg^5u*ESxVwH(lg@Psry7zTU=`T)oQv`}{#CwYqEyaSNVqYXr_*^XT z@lIXkt~3!_Dt*K=O2o02aG5&Ywvth-zRDgGM6C@%b_o4e#MgQ~K8#q*VRTyJPb;VMETV`@zC6N`wuEU+$7#oj7k(p! z1rHohzgB&IZ!`l>2$*Pln>cR)Faw6s>4eEeW@n|1vUW ze9YY2EY7^S`@%j~e>dKvOl_*JPF-U^uTGbr%i7RoY9;gQ{-+tWPrycrcdN6YOX2z+X0%^4Oiv8x6c$)TsqA(bc!$5 zPBDru6b-E?I-;VL;rz1Nrg3vM(gxa4&0u2ER%KV+5VO``hMDQ4{)6*w%NOP)@FO+o zs^jT%x0%x~*zC)^G>Ut0B07EP(YIBXo?W=SD@7A^vCkAsGwC$5(AdOmRvMN}k1%Uk zYVvb+i}!jw!k3ZXtefdLPgtijoABV8u#-jngR%IovCc&Us%sp6bt?|Fc(T9F;rCvt zj&`2Jj2MJ9>N-0TTQU}8*@f6(9xTW1`7v%WCGN`9dEA}>gz2s=R=IW&k(EaUTQj(; z7jyEL2D`=fKxT(q!rQ3*=Sz;{hAX%X}2dR$AU7KE#;AiV*?rMImmR|9| z0rS{x7NkIl{l)2lVpkdpwIRCj63z3ai_9HfV6mhHVK-f2^x&wx=FkL(rF{>6=~~-B z2+~K7%aAj_BMwStEj;p+rA&q9)Am$Q(to%9u#i?_CqfHU> zmqqwdJK>a7og%l=5%a8ne}S>nuXa2JPF@M9)E@r&;=_4%(n&ocD<}0x0K`=qE#`z@ zd~7`K{>8^8WiF;=F4ksc&f|nMOz~NR^Bf^+a9%2Gux}f3=Rp5To&N@rl)MtOn!Ms$ zg^wEJO*`ObLZbzG8tbn%^9mj2d2Bqq?@lJX?{j?Y;eE~-^hX|7lH(8Wn_>O?p#l5W zN4wUJI$Xh7&1rxrOeK19Ao)^21@qb?x22X%18$r_okF_@WmP=8G-8OQylH^rZRy<5 z?xFoE{6ZhO#mna^LOH>ajiGBpS0DFum^Gi?+iqkrG4Si2>09Yxt0T9c?9r4^$vW*o zuNJH|M#udIe(i94z&?7I(f#hfksgf3yt^Zon5ftK+ssgS#;xs>ba)@F;Rhc_C<=EE zEq^h0UFN#XxT zrs9n{7n9LK{HsiKzCXJ8TVuiOb_X`S>Dl8(+fqcw>vVQzbXuKG7}16Ps!`-bXVmHJ z`_SdgI-P?r-Kb9IG=lEHs?+(8r#I@*Cx-sF8T$UeV(8iJ41Eywj_`R zULj5djy@U5(mI1i8Gbr6r@y%lk&tfRVXe`tU%K<-Q{U{;`EvB>3Mw; zlwx_}7vglKIPPE{Wu!Prc}Tq1{w?=DQ)yP|`Hp*|WA^U;=~a&#+qw632tlnTyIvy6 zR`XDjY_SFNiS#CP@}-6(n}F*+e`Jd;*`gv~#SRhUcr+WO)uWkgq-@g)(B!=$XulXz8~?g7bubObF@+84 zigm^W{%9>UEU?z+T0cf_pp3zc7$bP&9>GXy(#ln?NMM8Fo3u&^i#Y@O5w(2PPEDUZ zle9i>Z6nRF3Qh9UspB-R$Eq~iCwyFDmITDKu^a96^Vj-5i~<8EHLiaKbyx~r4kA8} z8yj_8GZxFhNg=@3tQ!Q~~+K&_hmWpVR4c(LFOdRxt1BU$HOgCky#wtKAcp>bAXMjJ7? zsSn0v5v)#KnVqa0{8nQ4MvRTIzrg*7RfDYP8!=xD8&A~fj3#`6`(j3@_ezZB!;i;& z_-ZT01U|!R1^zU>SsRs3aH41rDxz`3)bAv)^u25pm2P&>s@Dn(w>UuTCFqB^MrVmr zL=8_(%YZi*O7$%6uQ=@QGtx=rE3Sj{W&9~s)aOleWCzFG-pMBu2<5f`zsB3R>BU04o3 z3lgvZnu?EMeFqUy1hZ9$Ec=>Bx_Rcpx1he3gVe;(5t7cH5I|c2q<2uhh;$!ea3#tm z18Fb}$Kh44!L&&VArsgkE<#(qt}YNRSqX{fZR*qY^o8UW@p8!v2|EzOw=`OmZm-P7(B*`Rx?k7by5(PZQS_e@VgXk=txeOa#2%+ODCUfropdzOT&fa?9Hp zxJvVefy?4bBT(7|sk4==#{{YSZXn2Bur~JcsN}lq`i=D+{V%#5@_(+PVB)? zB+_TQgNo)won!_4Hb?o*O36#cZZ}`l^A_(XX;i;VU+g9an1zpwP3$OVWaeWNk(3b8 zZtjjwxBZ%vF^417%gtBdDSo{22QgTE%q6T`?=BUUz}+`PgrYJe0_m2nhr;eWRHPT9 zsIBKXX!T-Y3NQb)s5IEmiXiChE^}?UJOvShw!)l&)&lgq6Cc;Q>rUKKqreF$0U(^FPfzbQXVXQv+Jv06D2hxv- ztc7s`#yOYyqGcH?y`8dec9JgZEe^}8*LLEp^lsKEQO$E>KiMkUMoc;dQ_^pYd-QCw zWu5NlM+>lsd~8ATg5(hVq2i%puAlOoVJro)dO@0nw7WutA#d&;&Yr31P8lNvZJyO! zcdLZs{DjEkqa9}<1};P%qj>HGa|0g63@va5auR|k;q-j$ z&hmS0YdkZsO?r;SN?)qaVT*eO^S_*%ne>u%Z#CWAVy}fqF zRr(?(o}qB+ksypR4+<}l%?wLr%hYngj~PZvG%HZX5sXb4F|%kLXKYIGkX)0Z}tKwq$VOuJ1Tb$;u;clWU&aG1uB_#C=EXTzz94tLqwfyVy%;uNzt{sb;=xNl*yDSC!WRgWH`6;8DCr(1pVP?o zJwq7lt6N5;F1~?iG zP(7C%wIz;hV7?Og7=h~fW8>&}_N$3#se;+M8{y^+UEy7{?KJOLz4rWYJDit^de2h; z&ucwyiTh?EhNzwAeIjaqo2Y&HS41rth?+XeBNhQanZ&X z#o$3x#)y;Vf*)jJ++2#BO?OY5D;}MWVj{)qbNeJr6yHc(A_htqw;5cc1vBQ06W+Q; z^C{oxh4=IfyjDZ_{CfIZ=V-J3F*rxD3ZP=7W)VqOlcZixM{SG99O0vsoc$Tm_!YF_Kr=%o)GEm}mH8JVI$#(Z<2aJNVdq64p+^2Qi5 zn}Fz%9v(|crUbHr2`#x35I82=v~zJu7KtNTLCyq}wGfH(u%(FBKqJkUti*xJRV|@m z^YESKKVZv&12%ck+PU9|i-@izFJO1+w0o%A=gX1#E3&P;<3umdK=cp|Sln(D-=;ON zxU`*~;Ba&{inYNNFSW7HB=|UNvKUvqFeC#_HS!_tj!2m20|AIY2tcskP`-v|G7&X4E>2#bKd!aAPuQ>oBh_9K^1&qT8>)nu$Ai3C0UsHhnag#@w?J zd&I?sdXCWY1sx4|uTY2m11~ zk_@913*`&P$utE$KRY0UT@d)_8AMeM639}%5gYojIcWt@gIG+apqEA#_60Ul-O@c5 z&x}}(z2?5=s=cz@>vW~15zefAc*L(vX>HTjgU>MdQ?Mws!z~Ay=i=K^9`VY*u>10M7#pBWh${VU4_=}kBD{dn`2kf zrIF#06v=3DXx&HWsM;yU_d_m96gAINEY9U%gQiFOL}MwF_t+oF*5|FBH5Zj1OlPpS z%vj*tt!KS<2IUs4w(7ceTE>EroUO~mXtm`Ro%8~;Egn6J27I9x1h4jCW2+S?KmSSW zM$Gw@Xvm_HLd;c&mlTc=>ikX(9nDps)1yWvlO^9T4KDmGe4Fi^ZV{5W^}tz+BT?n6 zl-zS;!#Q`taxfo-kK*b&_iqZkePSX~ES#lStG6O1{7py%lu2-HlP8RCfmJY3v#wFc z;hHfpTeAl*K;<;+>U2Tan|MgG4x%9@?ctD$)@EG*BZw`hbW*!AIu?RJ)60D+EmZMk z@l6SJUr0y;`}+Q3-5JK-GmK+r7+*@le#TD*KmC?<6}f6!Qg1P>#&Es=LF*ramGqZ;I|0u8vhI& za(2>Mogw^4o_zt<-Ko2imN2scn*Fn?w?0k+NI15K9k1QJXnO&E^u(7-DSZWbBQEVTxrhBK?&% zN}d^l_2O`y0*I8p7Jj`wd2@IkZv8zXEo|d#gmQO=L*GzN4>!hUk5sP$>*Yk6h7;AS z8}1&(;czzzj}f;B`X=ESLMak%5;8U1zPvi!5~}B)+P+xi{@B4f^s_*mgu+XvS%z|` zQK-%lM(>Y({FXp)0gK@{dY&KextSA<_w&dK#F4hI=Qe+H;tPTiO(Ho&hPJL}?O#ld zI=9^P)&Dv;cDTw8KktTK>)*t6RHR{4iQ-?QxG{#nP6IfgdUTdiiq2l<)maw8k;Qb9 zsfMFemTWRV+$b!?SXSpBrr^usS+Ydb`&eh7!=ULV!O*hPnAGTSrI$?ENj5{6CW{>< zTL+phVHkKG7|z3Rc>=Z!#$Ow;jf~67&FXZdFO0tyi!kgkV*B8rA0CHe!xcz35^s^g z_-l@{ce>w?j=wO!lwd50oEtught2HluQp?zNHP0U~=T6@%dF2>tp_RHsEh9R4 zYG0VezF$RWtuOA(1@vxZzp{9H@@K$KJM&~2%$%E13h?fyBB45pM z9@i_)_}12>L8->4uNcLv5vt9x`gOO}78np%Ktih8XNU|6V1iqh0)iYl`* zT0B=3y)OE;$hNF9%PZUcx^LO4Y;zwxB?L1;)5`Vxw_x9I#mbNQVX+1D5bShvJpH?| zL5%qhM9p(hYLPMWa(b%&n0W&mG8N1{;L}cTP`w%K)N3P6L+$V;74lc$ZNSnZ%!Rm@<1P3RM;5xNYmDu!7UJbS z;ddLmAi9fnZ1e-l@u>aVi6o{UOeA5!B$DZGXOT#EnEhHVIn+LjL@T*^j!E}0hY2Y# zjYKl5>diC~#9`t+cQEyz5tv(7{1CH0?;D`NY2<< z)@!YYZl=*;+Q+xHXZURh}h(;+t$OY+P!bGGTD^v|YlfwivkwPIzv`bG?2;&q27`KcS z%F`5r^iW~?eEWpCf*Xmsg7mq9xUKd|W?b_YSb}*;ouGuArcDM30!U)M3 zdn^PV>F3}0m5+g6c^~+K#cDlzh#1DL=B7**N!}o*!P5fCg`XRdIkmN)f1Z=Km?Vw0 z=sxO%T8AJ%T(2h^8uYLAT0ewomymekcw_v2gNlyn73ift(Im=TOJ+4J4AIBnY;6!4 zhUadMsm9=8POCd))pP>ih=7GrMGEgO50t>E-$syUu$ED&rkvz^~Yc$ z!z-Y;buuieNeixGm?_gg9>E|Z9?f9mBWRW>Yy>kJ(w=MGu{2tIbO4IQrcK8wAM$^5 zg2NkUGNav@ECid3)7xh^P>y832QS`vlEINY4$L^^NQOxb6|FldGd_qx4K82;L_LC0 zMMJy$_^WpJ@c}dKVaEO57dl;*gn5~8R^SJi1^N~o)0^U_m_|I>w-?`dZozTuDY(R7 z^ab0z2KiavX~CI~;r?6!^BPK%Em?E;>^a;Va4fqt>%f^z4`3J#23ImF<>h0g@Y94+ z9s|&<+gZvJ!G_TeK5GY`J#+^@ja$ky*+Hx#XzTb4#uh%dhwlNtCJ*6B0(l58!p3bt z72pZAqZu}k&_iepun?Ap;90|1-B#doPczhJYE5JWQ(OZqqk-!mplsaLr*`^A`!}9d zwSnuyw{}m-OlwfdzKlqojZp-}gX|5L)XiA)EfvX{1(iv}YP& z*5U~s%dR5K(+xx5v7CZcy_8aO9+sO0F#5xshwcaLA^9Cqs5=TnkVTlr!$LSj48?U}{x1LwqrB zf*d)v8=5`gq9TNGM|GM0T*XjZsimf>i;8;=L(=bw&NDAZs!{TsvWebAr;+}h&nnM( z4oOGu3Fp*z)%vlo)n>Wt7aCG#a>6xVe|b*s zcgDK~Qz8|qD|~wGmrFrg$QPTk)>_$2i<9Ck${8%WR0z>g7<^@OSHQ#rEI<*UIOqON zpEKS8F%kYi^xI$d-3b*_?aC8^~!hOba@iA`TH=G5QlL`nw3%+HEU!I7v!Eo+YBV6v@ z?k0TE9u96DW`{o<3*lhOO*pXJ(gy!L6SdN0*jF7il;CjuKQ`m?@5Xc6O)pZvF};!E zyDmxy=+1}}#~`^P#yd4mJQ?O*&TRJ>PNTxPl*jN*I2WS1@^nReI2R^hegR)*wuf_* z#SqOU-iLFkXzu=Z;aqSRB0hgvCveL^K(}7o(725RyE_c*E^2&dcdt)t0KcHxlZMpf zOT8HNWxy{|OCaIrM(uVOW93&iM`G`yzCD1 zb7nm{Lbf&km&W>i+!v-N`ataWtw&IClr!HJW5y^93z z5FiMWGcf^7dK~^H2%N|O`@Ksw6Ui_|C>|Sv$1jBFuMH~1O3c4CKf`GM;pTtSdcW}s zLWmckLM`-G+zHH{s-h5jWWIc!LqAYISCz>2fsvsqWlqs(}=iAhhkwbNRnyKpmMnq%uY zP`H*bvvrigM<;=;V=R2iX=#qMb(Zr)Im@wmqI`_W7H%ZAIpJevtGP=YF#`cW*MI?B z0|syn2*5QU0I;J9Hl6^Q0Z1sg1`OaDFo3>ZY~Q|1gvj0HnsA_SiBJZ6W$=k&VIvkc z5vVG5R-dL)2$)mY*kbH&BTW-G=j| z2DjmEW>-3S4b=rOWnCH-ohu9rf8AH8gpq4hZ(mwjH-IMWF#$FMv;;zSul_i>)PQQj%zv* zAW?(O9<7d7&sF2{&X?EE3Jlnj4wL287uD$gyh7BdrZ4r7TjzzT2jvMu^OmUB&q|Q* znfvI1(dIm~FV~x>O}(AN;zba@r?{qjuVd^6-q8JE17C5PpEv3>=_KnOo{{`5tu@U0#;4FYmEhYU7$7z}T^EqA!Fp zDuT++lua+2&}DfUTZk6sIW0a`cDd|$-ZMDsvvjG2CZ%YbW|(HevETx5whGpPw^cz` zUSdoGYkxh=2!1BK2D7lUuf(GruhaL z4cMM9Ey>~1F#d&O-o#3pYeg5X_1*sccy=Ww2R8HSwZ{&ctO6hFY%7;AnH|J~x2ACm zR?p$&r}7wcs3{c{OmLxis);De+;A&dop0(qX=6Z@f1>b(RJjy3lR4m_@9QMnOvs?) z#tP|Aud=)y#r!InkY5!mWOZ4Ar#YEE;jV#L`O~Z0`fl?Ms9_O)SB?h;G_OAK;8OD? zPCzLw$-Ezt;w~yLslYP&@;X=atO&30uJG@CsEXA|Q_U*Zdp=q&8jA%zMaKq(H>cEi z$noSQ4eJ{i*HNkH`-Za(zcu{cfJlP0Cy^Jq%Bg5`P_<*&$m*+-2cE1*W=c(h{7F{B zRuaEur9dZOnD~f%3A5n4+q#ke}duQsJEr3jH;%ga<{H#n?%^8 zo`d)GaQCCR5xi7xyM~N|6UKS%>tjF8i@VU}$2FSc7Q1<(WY*LRInApxdM!B< zkL^a~73gZkgBwFr&w3hu;MgfAW376Z`tX9y3ioaIHt*%ECgc3i4KIogDJJ*cTCv`t z&)&HE8%yTs#$Wor`+`d_UsAA>c7uBtyNhXl{HATpUEBsmcmYGUIbJ~fi=i?6f*-i1 z!OzV#TtR-i$m92t-xsY>1Hghi5WM;9F@U1lml~{ zbWFY8o`WD{20!cSc@jyvJXU8bwja-w^Buz35)L&pit!W%)o*4-1y147!8)f}69m?c zSkRd;#PYbjFl0h7iES44Fv>2*7E`0_V$6smMc4TF_8wds?Pq=fzG)ci%-Ms+6(@|O zx0t6G7`ixx^29gmZgJUYSGgarj}Ytcgaz2g{eTfE5U0b-cW^SM`#5m646oM~yVq+c zO?AYO$(97H7;*Pb717GU0k~Si$&cA;U1FEU-{8Q=pX6Lgo9a5xE&vYg$wnpG&?jU^@R5V=bdGb8t zQc%D*5}j#05s$LF^&_w=B2>P>GSfEMb~-1GlWN_gTRcI#mLAOF7W-!G6ifA+oiW~G zu88>64`v(nGIrp=EF-o9cT``({~CWK{gKrzA^I5M_SVYAv0ydgz8a273OSFk1 zrBl=pg`!JT{9e;2aHiJ@1kQql(wF(q|!w6cGca_J($j9F2!NqCvDO@{tF_5<4^!mCHtAJX7ulhtuq0Fd8O=gk!c6hiFobTQ}mF zgIQX4Zs!^Ft|{r^Fu_TIeUI6>NU)(jh=iHWJZ!CaFDm63&Xiq+W$W z9|p*=d~3fFyDzMkm~C;IXEy~?5x=A|9+lI#_T%Dx80Gm`zB7^Lu?D;Du`yW?pts91 zalT=M-6UoW&JEb&Q69T?Mu2?asJtn8QTn8XTsXZ?&gH(bD`096+=5DafV>}j(&*YI z@LEg1K1dTd3LMiwb)Teb^(PqjCGFv-Az|Mib8`q2`C`lo4m+{@6Hi==2lSxr z>@WPnKG2!|?OJ+34+j42T1J5V2`dIR%md#74y7#~quiem_zs!(Rl;9v@tYO) zh+v!_FtyuI4mC<&T6X_+yx*7%F!<1+9uvrhMcwpmxn`#{??9yEEUZKe*FzSlNagJucF)>^DfwtjL>gEG&^Z(d;53nZEwr%*HNg)9t1qdKwLg=na zFN&H;08tbPP3)l~iiT>}fM8)QfMDB44Jz)cyKB_7Y*B-K-POfjR^5OF6?P3Eh^S<~ zYXY|K+4p(h@A#kN{r}^8e-5OKVYsmF^DoU zAKMr?Wn@0s801(H$;kHhRzG#ysM)hSk|qVKLm8brJw^xBX>7C}hyEuT9j6|n^@Gt76}&e(eG*51 zWOVu_PJM55+(q#pjLy(R>yM01Q)~POqoaFEP;IUEM(2s|XCI7CAKu!JjE*_uW24ib z$NI$RI1ViT#OSQTKQTJlgBHCvIyH_K9~qrHd3EoNPA%Vxs2Y!A_6 zd_Y|RjL*A>=YEgzxu&t#qCx*-jL(&i(ku4z5p;}xf%l(gSNnRiD+}Pn{kH`?|C#N% z!25qW;7RKVcrE}QYJ6ZQm0*2{cw~@ZeH8JmhXm_=#FI)TSnngAecOC!?*bki@~aO4 zPk(L`|MZ9_0JZ^y*H(zEDnS`zW7HW59-OQK7>5g zJ$cnTtAj2Ee;V>EHJY9GArF#G_$1_^8SxGvmjXo{8e-_%p{B#^CC@SOU}&FG)Hy&m zh$zIvQUE!=tLQYfQX&qZt<%#c`K(^@75%b?(V}7OW6s#ef(nk^Bn;1=iWVoD0l*e9 z3V%iaAPj%vwEUMXFZ&2ZlkhgEn|_Vk*kNXZK@MvKlYqeX0vlvA*^;rRpbsy@mOBY! z-e(%VHJt?gll9iDZ36biZM>B{XrJ(?>de6-eA+RA8HRR7unxLT!sFo<{)=a5v+_5) zVKxa*tm2hI;rj#9KmjTn#*jS`>5LVEMC60wy@Evni73)dl;R@V2o(aMD1DH)zhmxo zN6{q5q(P!gp=dT*JU9{X3D6)Y5XFmJ-1Fv((;`J_E~2nGt3;`@MC+*%!3er3=p`77 z1Qd3_2?N@e6ljJoTN&65eshb!@hX4_o>&ryJqb@j>kTX)%)%eH@B$D4KY|ta#PU}< z$`cJ`uH;vsWd1hpaw}{ee_{YF6K&#|VWyEjG%P=WLJ}-y`S}g4Wkw8ti_p{&YyHCj z6uO6gR5ESIS#Pw~pMgD=NCQyhq~W5`O)h(U{G$L!FbU5E9KkJ08$pIuhhVk*ZQ{&H zPzC6hY%&n&K~<5A#tvWzO(2~wM{u=nh!S1vCqK4c@<+Ghk94iZ@mbq5)3?^_Ya_8I zqZK2e(+yy=w&qqnDDVQ-tbN9fW(nZ6j6L&W^5%v!4$;9U&>MtNBJVjv0?sbp~@7$45aICduTOqN8aS)y2V34)HjKFXm1_DEr(7= z6t8A6@TadwI^s4(r~?}2;j1vd7$4hMgr=Iv0TrC@E!N_Dq|iw$L03<-wpEP~;{q8f zF#N>)W`G!96#;8n{1Y>4s2FE~ARU_X6SL+STH+atki^ge1nmDBH0^(0$9>;F5p#-+ z4C>%4z-P@vWF{2dlAuxCF%THkDPBMpMmK;wt(@gGumGCuigdvEP%P@HUUNYLX%!sG zSml)fh_}T)`Kx+FjPkrz`vQ@A_C^pf0wVPRO2laD|0ZH|-~VF~qro8sfA!+sbbxoO zA%nZ`-`6#fd-s0zI6gk1{s}@R9FBtti9n2qti?zWFd~6zEd(-;$}qy5BsC=VVzrQ@ z1M?<`QwCCf-QB0I^ht^fo|a~O$$nA5`foa|=o zK`k8M-ypJu12iE{8EKD6F0qf2-2l-47Xm;Zn(WYEf5*8oLs<6SuC{b*TqHH(<6?~X zICln!{>*;UQjl*+7dcY<9gEfjvpTD*B{LEiV|jQiy;t9-JNa3g+_myTstf_He?N|pPe+P@vj{U6|P*KwASO}&zG5pO7=pH~uTzP0{~vg0PF z5Hy8ISlMq9soYgTE%w<(#)%sY@{Xj3U46^3OEQ8+@tzB`R1?7115i<{8xyJr&~0We zc+akZ#=uRc0f^2MnF3oTuxLDZK&XzRs`)e?j|u2yd;TE-Uuk9JNCVRDeh)`_HDK*t zRiTY`eR}!_@#uR?mR7*l@_?UhhqEcxHl1xuke5CY(AcyP>=yquA7Jo1o(Qlff_wal zI5vn!+rxY!@TEEfg2U!!s?!bGLH%Azelj5y88Q20FS;aSFf@pdeqs)^#8Ok zabJr~-3CbrXJbA8aSt%BiEm`!cmP?&Sj~S>6?{nl6s1ERj-MiE})M%!=+o)b#69LT?GDQo7_eZ{Z&&3rb#6Q@JT z>}C-a9UhVzeh7X2jzNtw^}QlS$on;21Ta4%%I{txdL;En0nIIjQp4Py>O9KUP$EWm z2`Y2dfFE^#MtJmKMpgVU$UTRF*eIku3pA$1jo=O+*^r;5mPEzT4Qw4 zg~{0RG<NgJ<J{`v1w_K1uh;Q<8`A(l!S=od^z?U`O zmJvvrw$BYY;T^q4*hvq1ld+Y~0N~@#P?cAIvkH3Y)nXJ^F2ye8T*~>z=g^*@OL=k3 zs8DwzrReL}PhfM#7=V!tcynm~8DoI8v1DOj?T^!sy~CTwL~IyapKzhym+x_N`PO25 z^LU5?G`-~7Z%kD-_^1h>NB1rYu##Ee9S^3W+$3fe;LUY$6MNaUR1`2U!4aQOgt}xD zY%We9#=kHvLT&&z|Nou%e-XsXmfp^JADgdlQp&OJ>3g#-j za??PkFng+30{HByKC?1?fQP%QAjvDg(rcb?7RVMh6?+vZyfU^@4m%?41GRRV2`Haj z_&}`%<&(Z41&?|?_D%5E>qx8)e6d4qjc!xiYxbU)bFW; z(%F@aaiCe!Elfd7sH(fY*YC28ephD9$$B*Q!0U!m8haR%DFGoM3WM&11@$;x5n#|M zl(H0qERE7K0T>$q-GI;mQ1lIdyvxsC0h7$Qn8ePb5~lcj?Ateji_CB2yRgPFK z@rh5bm+g|=48H~9w{0!as2f|t&q5SQ?RVyvlvIkJMTHZl8)*P|0BEED>h5xg<1|Od zC<<~n8G-~5MWKB9nUMEqf_^!WKoXA1e}m(al1?V_4@R=&~X| z6G?v~vSy;DguK1OlhcmK(}cvFsKnG!weV|zrE3&MiH&oQWGt8tKK(c!izkj*dYEoX z0++s>6?i$smp$n17cp%5=7bg$H-;`d&Zq52tCK>?Z4y77BU->&&Dm!5J0&%8Ib==Z z2>@y#z-guBQdGBDd3b)d5xigIcRA#DlOZPSoC^4-xeV@h=T-b80Ng0w8MMRq1moHM zJB(-9z8$%h5^3CGE$_R{|9X^&O4Z+J)S}M9b}b`J#@zYm$LJ;XzAjB17Jz zkt>h$#;^OP ztO3VaD=8PMKqr?-+cT%lZ*zkLU*1<`l0{eSE?amNV#?Wjj;ra+<9>j+K4> ztZ81Qr1WgD?$j|an%a8fp0WTbjpe=u@bp_~De40C3ibTY>u=`% ze6;Ms>KewLrF(C)Q^s&4LyqL%Mux?fo4=lq=w3fAx#}3e6&x08lFFmYLQ~2LKDXF8 zB$?LOVLCYx$uy=f$n$(RYnx!-iO3pV=&N?C=jOHEemZSZ1&;3%kWHNW>+1br4 zl^MU%z0O^rn-}eP-g>95xz6=MV`^7ah;gry4!l`=xgi{9ohFcr1BB4+9Ri`KQ{OYR){-Jw9A9UiH ztkJ-)hM%4NK_VI#m}3T;`UQD59Ow$Td`X;d zj*X*@W7_x`G2N}}_eQYHe!$}_>cIa28fi^*r~g+jwYDRtpRo%G^*R&5pnZ8R>(J&z zx8;^M59XWgp!2HTfC`=fK*i&{%G2EPS$XrBGqVeDR-#2rRPtQlfJY^Ykjy3720T|( zV*btOX-WNkS^9oWeDi@cwQNMLjrhq+{7ZlLF7jcGxc}-TH@cE<*qbLJ`M7-Plh3OA!s&eJ?Cd4MBxB^T;RV722lmI18xn*6`pH_lmrVIKVfS~p zPG%6@slhqrB!7X$ke|AEKffq{n}$rLIaW!(vO&NlBuUMpKMK5ZI=yjzSRZwOXut;Jsh zT`CoLB5#b!f$MqrG<_mMOOlwWdr>of?;XVw^kmMAcf{+J$fuo(c-zAfKMBM_c0k?h zJy8ToaDaiQq`9$o(%hHdOLOC((L1Og)0nN(DOv986QNQGT*?w^w9egl321T?YLMg( zIMBV`i<%4Z@RjxMhp*B%)4-P$@O)^OFi$Rq z74R7NTeGOrsceqf78NwOHxXk=L_Oow{GApw%C(wCBq6>E{niWMXV3e_emPS+ph z*fOXiRl`s+_2zO8S+*CcadLClRJ4al!nCrZCM||jCbTlLrPvq3++yFQKj4h{tQXu60@&~zFS z4FGv+4$AhWXPThb-JCp#4tm2?x-nc0rKAq9Ue<-aouI;1Hk7_8^*xAJ4^!%UJ@=h6 z(0Jdg??J$7lw;|c-1MZq1Awjg`Yvlo^ct67$Aj0(M zuyA{ISPFGg;1U>ElwuxKF$&DB`vF=Mx3c70@aaQsX`cK6e7V(Q(CRbl@?muQBa~Vm zM5v;t491Mii`n1OVhuLNBR*av5sP%k(0d9P8sVWpGmPeajC%sNEzm( z{EUG3FI5&3FU_4mluDCQiOlgt!E9eblukfNr-q0ZO&OK9TbA}2kv7aLY|f8FsxJ`% zw91;z^u8b@$aG@i0KIoIm4Z+Yn{EO8iXlu-mJ8|!v_9Q!sAT=&T~GG(69L$w8)6Y~&F_i^hM#|KhGKm4uB{wUug z35r0!WSnN@Z*YI!x|BO8;H-$72o!#w!>2{u?fyvxQ@Gr95mnd@f>*sLdZ^b<4wpog z0Cp}nc#M0>Pvpe>NUV|Oc@TrwhlxDh51j>o%5j_C=vY z73)IB9-u;k74L^ZyXN6lURZ*uN9TJF=WH*=VYUgnf1|mlwR7<+6&H7zfly#SL@B0$ zY1+)hg;QoCl-Asm3JL9nlQ6}umAFT?whikCKVFF4_?Y_$>1?k{WBk2KJ3jCotIO(x zMu3sj)hn+89xiyLQC?-FxMGwu$uAWVBPR|NkgLunyAdPH&TAjG&Kq_@a+0AXN185^ zZI`>(T#;ORKaN83XA|fMV1etvn3|p_h0zlX7;nHgQNVRDIIqD?meEr%JW?>0KN0fR zaDEsTDWF9PviWJ2kP{zfMDoT#uMCy(=|8UT$6dr=As$FV4L-@VH1u7AnMVSkV3We~ zcRmcfI7$(vG$0ogFA_pjP4l#NJ8suWy_<`%`;|DUv z4>S#SRXCYBZ-6_nmLgM?zp-rO8&+Z?#~S+p%|A#k54zCc4ii7>VC2Wu7w%UE=f$70 z^L}g-&{sG_QbHR+x_CZ)@iS$yM!m6g^GmrbnJp;{VA!|7NVxAX_E>%iPIC78)LgA# ztv%`TsFNCXK|cVR2WB=aF?v!dHS6NDWH1J~=vFF9V-N$`L@HXG!6pVm)g*~Qs58JB z&7OjAX~AA6BGq0te+o)x5J}hV2!S*sSeE)3k%XS*b7bE-r%ezb)K4_cq>53ofi#y={IfhRc)MK&c53 zv5H+Tef3+b6og+b8zvA6|*bT4V>zG?S2Klx0uknI%HY>-Q;+3Q$)Xz?>P3 z3PNba>}c66lueTj@CgZCC(mLN8TN#4(v9FvTxGN@d$cSVt&d?7`3yoi#nG3~a7xDZ zIh~LG-esoKlsn#`&GA0bv@g9nqsn^ zCM!szAwy6M#vBoMK3d`b+Valin#^BBuV2O|kg=`{kw3cSgJgpf{np8SQGz!bbSKd_ zCR;W>JKj4kJ2fs>HY#@reB(7IJ77+3P(*fUOm>1F3S1{&JjK!RY>Js#EKDpJns_sb znUOaGb`tGGRWYVxNoczHAKjvy zq%{8Ys0C5=Zy-D@NlA)t@P_9ogMY*`z5^M{o|qz+W_l(6zCYKj6vGm8)A3{% zGT4e1!t>?R7bVTf05nxznvCzuX9a9vgMwoFQq$LE`*ZV(3dr69Vk;C7%Sdcv3CXR8 zaMQ$uT|?TMm>WzOC8Wgzi1o+@zLxxJJ;aPJG{3;44-SVaIKEoBvbd0BAc*T;eZG>U z6~e?02;<1&xl30tSF%{$XfjsZNuN7!-s^D)kHIRT=*WV(CA4`fRus?GG9djs93d>#9Bb3nYMD?ijuiYRh`8o6JpbJM3&5@b*iAiNwQj4D+^c7 zoBLXg)`JsmS%y}=tVM`(8@05+I22Irk_t@aTTvSvxCTf7AsDh6HVvHe`E!h zTGxsz$WhMxQhx2kfhqymRlC|yKiu3rm~LJBNn!JIV`0;Tg(!WEK3ocH!T`ocufoPv zW4QRT^&_d~_bo-rn6rA+nwfah(-#mc78~oE>%7T!@7G~e}z&bfyfS`L<>Q3GloP~R#3dmjoL@q=~_oidk7FS3phL* z2M7nLz_2ngc^k^Kg~-s+k`n{691FOWwk)*(6gvFb3%G_Xj0UVBDRvqI){qkx$h~Tf zj~xIy&sPN4c>$va=8Np2kpc*bA;-3KW$aM$v5RmnkW7wX+r(I zT&NWr>xNSjoWvliHBj=+h=3p%^Jim}vN{qz^ce}xjNDCMe$|gPIl(DiYzvahcH`6l z$dEL490`DIud+oVMeCjIzVVc~)Lf?`tgr{3hW$Ql`csFHYraF+bO>4**I2^{WwN}axKRAb?= zWjlAV4lYfg!qzXM9i%Sd!HiOakC>X60x(&UYBs`CVB`V`xIJ7T0T%+-`|q*eC%9&7@X?8Vr4UV1f?+-hP7PQ}B7sFRhT|Lz1w=*T3=2VF>>X+JNDqJn)x1Xp z0cp1en-;dxd<&#R-$Pk)Z-WaKisOt#gCQAnre}|k;h|B+fHOR4R4sOiImATpaNIUz zh|Lw@vD4;tiPdn2nZ9x_&BdY3c+)-0aYpz(G+HG{2x*aIs8aIO1rGip`xmRq&Qsyc zzS~|wzo_ozxbd;v(W5MFY*5FXKn8Q!C8kZ;0ECrS{Iq_%l9a*hKqe-cm$=AvkcnzT;X|3r44m$+wi>F|yo>3XB7fMcEgSC_pLN6!qqiZnvAZOeOLB1!#Dk7jP0P^N5$gNT6+*(w1)O&e~85)w1P1Z+(urT zGGhNB9Ygya%hEH(Mlf>YG6rqQJepHeYx*uat4Z?~^trY_eAR_LcC)ea6cgy_qfUl{ ze|~T!w&1RR1^1K_kL`oZ7JM&rfq+el5zuIsWp@m6vS|PZ$drE4C_T*0O(?r8D>VQ*)wq@ZM2?h#F(fH#2%+vnlDan}BTpZc?0CL1)|vQ;`4h7P@Osdab`Mi0xc zLYax6V{ZwK8$8<#J3iWI8z}?&nS{Z%8~_H>nh)!+7FhFHOzaVzZHf3Ebfy6D8BBX% zX3nsUH<@G4Vp2wu&E(zyEGlK}C|mb_OrGO9{nbyyI}s5+sVK*-T?iV_d3b zET0T#OD_Vm^_><>=de-VLOwWvBXWLWY$GZZ#<=XPqO{=;-m?TFGR51_p5*6mR?0Ot zH((Zoaq1H4?12kH(BFd>tc1Bs@m^}LfJ(2(RbDBjUKC!i*ekulXQ_AY^<`csypw+C zW)_3o$l}43UPip&9j|y%X;9vMpR@yBX{BDf=IFgruXz1TnUTaQ(%T467<9*Tx-Z*> zK0UCd#8t`!t5JVrh2!*jrQ`u`}Fm3rK8FrFzo{qU&MR-|C z0wGgnOJlxABacy*W38;f$J;N!>I-Dx#$W{kp8bRapn+D6Z2`Q&uo#Rk8xKZgvinb1 zm-II#Q^B-NXpuN8M6pxiFS}$-L$?^q6dM&y2~*<37+LYhn1$CBwu)DZDe;m1ef-`= zVLM1V*o>20r6slwa-R#9ka70F7Qz^SChQ+zoYFf%7=AW`>j_hO<1KQ}mbf-{xHzhv zwaL=@H|(?NcV_eocR)@E86G9)%j_v3_4!!N*EqZ3_^@|59#ug4Sh&NO<2AQ1m~?<1 z++Z0SpJA(^hD632vps$($u(wstIm?iHiR)&AlFAgkWjDh)IfOSa+zU%hhg1J$QPUS zEyeR=LB|UaA3c%6R0E75%a7|LbST9Z`%MP6X8P* z`~wLQdcgot2ez~wzaFE_6Y$*8BK}I$ZoPSsvZygdV# zGOT=|!UUu0jR2xpEmdNo<|EF637Ax`5e@ko`Fu?T9dRrb@)MgSAu`!~f`DgnFGvFO zx$avD4?dSd5B*LA@VSu{L`no9%aal57iGt#xuL|~E@{#*B2z}p{s-uK@WBpdS;<9b zM&(7=#-vpeX#^1{P5lQ^b5sO^zm)Z`v-ZUt@fyYw)_!p8wUlG;DxVm%5+kStT9fMY zgJkX03+f3!NQ^TxuO66CHq9(A{#Nwk8{_Yhor;WrzA(=oU`QZCH)WWa|1OMgwVaBX zmRbASUc|h|MI$URc`{hn>Y)Kc13K6NJ}Z%RDV`ijZcSZKJkNVmGFB^k^BkqG_Q! z@s&kw8}a^?sjm3X0(ZI3!y>u=@Fm5-rzV%OF{?_4G}FL!xs_BTjkT!p6$5_sE2w`@*)O9~ceX?3V-`%-rKg`y~~rBz+6#Jt+wasIAk)=|W+fKp>WL6Z5t zP#%EF|KwH9-&J1dz#p`8jOE4ki)asv9MXnNpQgdf=~mIMR{1fmRv2@Sc+gJKPTjIa z3`S+jE=zYJxw5Hsb_EDPk1S&~yq+93Yfb+p#jCMC6@4n)X9i^ZG_~$w2VGuL?Bp+U z^R~1S2joVj1x;X9?kM^_io0WFQMGGxOJbjbQ58gL5M=wVEyOORjL07x6Hhqp-=6qW zAIQt0=;~I7R+Jk)8_!=FWPYa4*+QOhp4VQVADrm5t~ZlnWF> zYd5oUeG%{ER6&xL{Yjpw=zN~z&&jW3&L;y-S$UgOCh}zGc{-;XQ|hXgmgk*pKeME+ z{5J?z$}y|LX|&x}W@#UFT7mbWTgD+#ozGb-?>_!_{}}iy-~Z_gs9qNp`s%`TVNy1> z8k?pqY)1i}T2?dXKx)REWAY~(&5&Y#6L6fFRD@2Z983z& zvpx7i+-Du_n-O_tm00Z$?jdKziLw16W$>Jeh7n3Wckec7(oiD9>QNdVQ$Tl*34ORA zh!_%Md$fNgcW>#5{=1u6WuvF>b)=f;&%|zp2{^^eGN%Sw~ zmoO}*-+fR~^(~8edYTViky4!FHW_){iitn_c$%ZHpNAH^a`(Zr`C;rY=DdB~8;$kg zVE;Ga3vf_IL{86yA)xF+lcRUS5G8!^VZzW=K;_85=rfo&D9!bFrz9#e1Ml=M%{F?X zH{G2}TnJKG83^`@_{U-mksLa7cx!^0S*?XE(6zN6)TC6(n- zsqA3hRma{m)+jEyqc3Z}F+khTHKbEn>~6?nG5T)oAUu0t;f;KpnpPC?K!Dw*(%5@^ z+Enbi6-2-P6v~wkdzZJ4rMdA@T(E16ExzBLw%?wy-+nZ6e^1^DKFQx{Bm`@awlc(x zRMzSVY3tapU5rWVvMK&fkc65_`UMDv*01kPTE*N)ozE&rKeJnoO|8o*RLf*Pf2Yu% z#C36CUkRkH#<)<5@|;K8eeU_S%NEK2Lq6Iie`c=tb07%o)ryEFy5BVvX3h>j)78g~ zk1P3OY(U4N;K*~4F&!;@$tCzHwn!-~vc^8Q&9sV_ij+~yAsJmOthVWUP0+}P;lQ*j zvNtx2-Pjb!L_Ky=dGA4gDi`e+{mkGP2VtZ;6-JU&E=r}M8Y&kBM1nz4yKwn2s$lDr|mLpFa4bWGO zJhehzXN)4X(E}hEg@D)J341IjuzS6!=oKl>7)hm~lcg-~w@x*?STIQoxyQ2U?g=eb z0X0%=w$J+n6&_-Wvr>bZ$M+d)K(d!U0_j9rYiIOHDBi=!q0#f_2YZ0mvdb_u203c{v@??;gW2`VGqKtJZhRAW$WXs_*$ye{m9mFr#te1! z1ow<8$-@nfzAx9k7`+j>R|RAc8(oIR4BNitLUaj#5Updq#B!e)64G*Y=#HL*^kwVm z&mb2idXmu_nl7qJt(i^DBN|;ax+oH#!kfZ7DsF&GG^>cY-;qj01E@??wv-Z*8C@c} zV)+$5#d0?Wi6{fG;H5Z*h=a5NV2}h{rBI~mTBX`PFcSzvuO*Zlz~EgY!{@FkVSHgS!4&K zk-b^uKI51&jxme8Y!7Lqy}-UFi`>Amr5Bj+lD|M4OSc7Jvg`$LV`Oi^BK)lwv-?6` z$+6_D!SZc}WlhHpQ4|a)H3byqrbb?%dz`NKc~aEJfp-`=xmpdQ8G9yMe4pNM z8e*E|1noyt(8DejQ|dNc%6vTZe!9iGCJ<^_f=}#+zSn*rkro+?S$&P;$6SekzCFc@SQT|ONfY*i5v zV43Hux8aSzihMp7MX<`H-(&Su?s-MFh#ycMz%Zmh=Gl)od%^@gzgtEno_apEemqsZ zDsy*n{2u#_IZ-h)fz~3KtH_Jh#MAw?({3@)ZAFt}c!mZNPi=fX(@jatRE$w-;*0zV zzbFNE-)SdRt$NHoXNf(A%(F7&)66rbH}fZY1iWusp%2dA+1p_4O!urOU>)E^jB&gD|D|Nqew*sbVD8rakjP7vN#K zM>e;-br9oDP;ErEbV~KL+X=>c?&0FW`L_^y256okc>V;5HSS!1z}%$J)dTk+yh@3n z_ta?=eQl2i(br8%6iZ=woJWZNfj29W2ZQ3Uy(OK+xYa_0TAu?Y4S|~aF`-z6GnOE< zmARKe9`h69J4yg$v?~gJ_Rjz@9xg0}o)&aXJFxh^&)R^UX4c#SxFldE`2+QQq{k4bRnL;aJ8U6Yr}6 zXKfg|*B;M*)&?)*G`9#L6&LkP69+Ut^bFpg8GbJ=c+~0m{^ZzeoB=-+SK^Kz(5wNW zG2^*wGy(_wR3Oz0mcqtk?@taZhVx^N|3@d!f|FZl*1kJ=6?Jmq$0vsl3oKF$|2|qO z4x13xv(B!Uh7MRHdC1-Yp9$xoH1nl{@I^p4@F;*m_N~+oz#3s=;bpK!*i>t3SDRa$ z{&uC%vHsg_cogT3AEZ{=v&H!up#y&5pI7Q^Tq*T|+FX}+mkoc@{-k|O@7{J9s1=`q z6Ihoa6yLMrL%v8D2)&Wkf7(%(zg_2lbh%1kM-w%0-k!@34;^H1~u|FKS4oBv~k>K~Q30=&^uYK~GLvX|c zwhAKJ-t#yw;o=M7$cOV(!I3MUyoL@KiwO7&dtL)SiWsnU!|suEj)3EC@!$2$zuL$! zSky7tq{Iq@%#D8>waic7sMidHO`7%oHPn$UaAd(JNBY1ft@z}~A~;g@$&o+d$o5Z; zOo46N_sNlqaO9^?jtqm1{Q3P6YITZ4@D%RAHqy7mb&&vT0~7G19fX9*(6iR~d|QCJ zsGD12(FK?(jbQ4tEsP74G`Doi9P!mK@h?^U75oLBK+-(qhNAVJfSHM9exu@Q@y`Rm zoX0Yq$#d5D@p!lce~)EWK~6k1pG`lnvBnQgm$UPCp$!@(LTh4~k9Hwd-D-q>_rwXz zY9Xw1HC*t^%`G5#8|shUMK>zy8G!7kcp%%MoeG@*YcNDm6lGb`9eC8G`B!i7cl@Vs z_a9P4SnG$cUXkP@@)VN}pu_tl^`yje@lHwS*@Q*5$buMnLiOOY6Up|FjF3}WTUuH% zl;MtG-%g4LaHesxIZHVYx=4v_8OM)Z%YpO&ByAxhc7RQT1lfhe&})*@NyCx8g^lw# zP8{UV3Fl1Y%;YTQlySCm9>2Vg-#3I}VDv%|ITTGna_IPV0y*g(0&G7bMQ9`hO<5=b z21ndRk$<9;d-&A6KcE+%{}iZ1+{fv!@U+{=%+4G6jJORm$-I#7U~UK29rhCZvkXNb zQi0;3DmfmR$ByFu{R#tNg{>_J7RluxF~^THk~4ubgR_XUmQ&67{!ynXR{sXpsBeK( zuy>7m$O(JaNTS{~YJhIlyT%{y;qTY@3!VF6jf;KWuaTUB#zH_h4t0n7amNEdFCO_1 z9>MKdVw_jX_*2_UpgB&c+3T zANtz`zJ9krAXlT1o?XwOc&U4Kae(nszuU!5xYRwn*bSF@ z3e=p(p}BEL`a9e^utptqt^dPIZCoTgPyc$60NVJsE%Lr`k?}9#YO7*V9C!j)qzx=` zDED7&Bs}l`dX0>K;~E$DtPzb4;NA~0<&NvQ)`9=oK7v8|*K1_{8`s!#u|wf@yb;%g z#+q`C_v61>qX|4Qoo&<#sb{+IxCgqzSt4o+~{V{i`J! zZ$~hvf4hy1u*$;54hzN^%+&A-45ZQa{6BtbdTvOWDK`e)3PoW-pKhcA)RHM5N!PbT z{m6VvyGK5KVQNW-85#p#v=)LZtAxBF0nD`{erOALE;DG9?eJtO`fcOl-wsE+Jeg#P znv2J*M`-bOPv)a)F8%^KoG~V2cX07d8$hz7#?xdc7az9q#Bw$rdEoUMO|wW~B9?4I zXs5xGc^&t_-8KW#{Yy^>fAuX0yx`vMRxm8^*iv2)d<6?cr0Dc`80!Q*c2B6XKYj7` zb$e?YLSOPMyk0kU#M^@t10QB^GCDEvVJpCi{m~7bI@(wc+5^-5pyKhQ9ZnfaMWHBe zKF|~BGA2=O&M>Jlsee-dWihA(cYwuphF}yXkjfxh(7nBl-G=|c?o+TO0HX>_xHOnB z4`m5Q!qv)^kOJ7fRuW{b4T6bk)}<}3R`(51&YUFFy~PxuEI}UzL*7d{HOKny*AF7-R3#e)OmPxb-%DZ(!y%^}_wMf6%R(S}Shg@vD89v4dJ9X@e%Y=hu7C! zGrkEAqYIAQhc2TTH&JwqX_(%|e}nH3Gj>B$@itm{&?A`7vMrBv!UaC`+NxPDW&xM2 zN8ENBVHT7pv&SEg38)axlDr+5Mz>Uxb+=(4nDcB>^trk z`0UYl+;{LR2Eeyh;oCud$KAs$Mhza&H{t@z_WFHXZt%|Ioyp^w@OZy?|Ke@N<3&T& zK0Jvp<%uC%O-hO8@peV;iY|%for^vPUpVnTYi?PXbS|35N`fivPohEi{begFiI*$+ zPPyr<@|NW=AAd+!>Q|fCfqu*d1(44vqiTtkxGt zw}2b-HgWdc>@<`B+?cnC6g4I@I|1QB7)r zdZTx1hzYOJyREeV8{kQVna^6*)OtDWGNS++c;7^7b(nM7^!MSzVBKMn&c`o$uHzF# zdQe5;@)vfcr0x+%SA8mP;cyY=@hKxAQt4DqjAIRcDBF>ifla zS5}WWLtcHj8uJ=Ca^xB`bq7L|111OL^~btu6OyxYj4_?x7u8#GvWoH-+zlwYhbLf( zrW-XryT5e3kLhWNX0de;0H*TaCeGcaxxSNrSF`hL0EaAFHOj5Zi#Oz8g+$^Y9K9G} zK>{=06C7a%@3I|OBHMB7rs@Sb9Bor;4&CYrh8(2zbUvVHo?uVdzf1lM<{G^D($XB` zTqQmxcSG_GrghghHg-Hc5bDyd9aAOZ)Cud@Ho?DUxn7Q~ORK|Qu~H*F*VlbjCl>Q$ zySCzDF~-z=SNZh7+OXhXC%Iy`8|uEPJIM;w4Yg9}lsfcVc<`?d0Z(;@bWabo!b`BH z4Z0UPw+k=*m)3374cDWGM-2Xn`tiCF{lg=C=}tXzYmBM8tbcl-{_s^DCF_6iS(^pR z_Qnnr*VvKNjIvj^h!$rn(X9N{E!%R^)Y}X+%t5|cia$EusXZ-r^@3M>&j}%e(7v{O#gWeUmA3z^Jx4&|Cip4 zkM}Px{aI_RcKZj77+g7)>_-rt4{V-&9j<;N2|t8H+kJ2C4kYCVI$!>pGMKTx*6aLM zub+QWI|r>x|B6Wv2B&RazTG~Uo**`DHjzRKW09H+)#oSC$8$;w1>r#8EzHa&7Wf7f zC39t%Aj&=JNGqOwE}GleFiM&^GCqn1xaVyw8wqDs`hr&vie+VP6r&R37EbH0i_ z7>Pd^NsF;6qIJkRu(kK|WR5%ka6#=M{$DM?q0k0rK6z z3}nV};7}7Y4k^+&=bYiUpY^;2pB{K#u477UB?BbY!zAM*iIQAN$q1YtYDe}bh?K~m zGTGO5y~^LTan{qc0DM(C?1=G3sK}AJR$3tg)X27^ZE+wT*}!CtPN$7!Y6nM~EU`vHb>8 zDvA`9id~91br%$O6)zQ#=<<|KN`K{N4Szj(qR&vG`N~zwtxApZq4JvYu@aJMPnEsu z5l5nmR;8#4R4W!D>s{v`?##;-oOp0F@29g@9wKT&oL=>X*0Ri{3~;4oXmZ)CGF4ec z+0L@VW#`N8l%eLb?lP6uQN2@pSeu~EtU%>|lGIibF+zIzr8YIv?j8otI^ z6QCKTnWRBk8n4ky{s84vjaG9-^Kjp(CD(4tv~gOY*88aG0^wNB`Gsw_qne`9wdk>D zgO)9^m(*&nY9DD|Y7wihZ{5JU5q0vq6Vkk`rkq#ks`EIE@4(Jw2`l!bD}bEb3V zs8(~JII^E}igTUQNBD|!Qqxa3ScnK=j4;*SE@zHq)Dg|n&n;2Zk;L*X)~emU+?VJjSQN61a)}Cz8XaZ+Z1R$MQJ+U~w?yrWsvS2u@19WMt#}(n zw@8S|>o}}GuMbh2sym@Tjdic;wkkA=lZtDK$BIrEYN)hV4pK^#N_C2|D8(TMsgxC| z4mn$tpL1%JSCx;Hh1BHVzN&$$5%bd8<@t6m`V;9*MP z`U>V)c{*x*HDQ_rO{Qk6W{n1^H3u}$G&eNcqPjF@S_dui)JlJPjm3U9aQtd<27H8w znz71hnRcUgk2a3Hq(wSytCm)0UFTLeq;5>z)Hi*E779Fm)(!1)L<_GnU*JtRt^YyFrTc2NW zy8TvfLEh0DnxB|1Fg^r`@`NH%t^5ahT6sgcfQ0F9+sOUoDY&y5$ycN)2leBOl@Oe1 zw9=d@oZ0l!95kPkq1npOa87craUOFzIe)T+_6~*IQfqLRsuz^MR6iMf`?d9Vx1w!_ zeVr*gM%$uG5f%tn@N#$Z_g7gG1Fd)1StkB2SarnO6Z>3?wrF45JWTR-X*hU6>*my; zEtGghd!~36IF{xtb{c;U!^fY4_iE?ToUc8Pd$^r|D(0V_L5F)x;xLK122mz)jbwvl zx8z63Mak@FRC0bvok7Bl5=Z$(jRYh4;ja5Haq8zsqu39(Mkj433C|;GJ%H36(vrJ_ip`${VR613widJ^s&iaH;S!fxT z8m6&et@U^3@02x{9Vs*Xydt2-Lm;JRk!N?=BF;Q@HRm8FL5(ui3)O4XYV`s2Y4r{D z6E*5md*~cA!8^xY8KN0eW9NbOB!uzMj$MQ{M*CRmy5Kt@p$m@+aVR=ka)9+&XhuSt7Ryk~SKRvU&;jnB zt;Y_Zi1|`M`$1t-=TTQ3To-w6+?7eEebX`DbR7AnFFrHw%F4PgF3_hPt-DZ%tm7Zn zb<~;Y>~u|%;kqatnxV_nEz@n(?a_^CP0E<8M0a(6=|~+<@1#%AhwCTm(M^D?G@61g6gYfVU^I0eKYW&xEX)@!7j6>n6{2Ip z--PwTnjhN6aXcM8eLY!Wo(Y57LVh^n`Lk!G=Poz1fxc@_UK?9Ct?qZvi5e6yS*$73 z_(?`eCP-#T7D>=rNwwslP8enypXBw93ggDbLqE7rwh##4hm02Y;=9d#rpcOBGI&jmhJ1~!(P@YuuyV5DLNFJ z6#XQA3twRaumY%BY)e5!`cVLD}lEZN=X$`=;zf+2yha zMa0&Irs51&CmaxwuJk^Sk(kzR4sFxy|GMFMy}m*7;#>A5OD*cFw`$nh zAkju^Q?v!z6{fy zdW(L){;YnzSfg*i>qHXD^Zal=h0o;|@vHbPJo%ot@>lsvOz@f;f(=`YWSGHfylR|p zDF30qC12TVAg71Dv*5Pjk>UECcM94F-2@ULj1W?VJfUdbdxBYb<*#$UdY4Y;?hBaB zOkB4X?N?{+9P4L)bOy~JaA z<99kwN%7{)-kUx$6sa8-o0+G2Z+`kR@A+re77c%80I!MXx0&~uwLh54*E4lKy3cPd ztMe&ew(r6#M|-$^e&Ll46~Pvqggd}uuq0cuEek9wEN>gWvyhV(*;2mYSntvSO{I=f zABo_sKWVx&R~jZ1OJ&j#iF_!WvQp)P?wzdj8C>EWkbbns_>zEh?V)D(UVh7}U20up z)owo!=d;^-Sh#E@HY+PPl{@0hJlt~S=`xuse|IVw5Pp-823xZ`vV_c*JFxZ(X) zFn4BU4A;{_-vyB=md`kysgyg%-R2%)9!J{g!gK?5iMn*%Ox+UQ>Q*Fa`-OsCKHoGY zoszc42AtA)U(sDQdIk>-2-&+aeo%0yxkCd=a~rJMpB(*7ivCQ{)6M+-j)76Ofaog| zPMv1>@HbCyV3vK>yFp9QxPXK#Kacuisg1L9k! zByA5$X?KokcTR&(ZPHhv=aME>M>0i>;46?Ip|>zZ7$-~P3s?KI!&d4Eqh z9jK~YOl@tn@8jE~r!GbpQ~URkzSWoNs<|Q^@hBe`^tEm?cV5RnNJz`nkxaFno_(PH z8l+3mr|FlkTiaMz`Tge~pDVnYy6DQxhG)aF+F!{!7qNY9P|7nsv}mLwx=vDGX{a=J zu40t-OuYWsOo>0o|Ma23 zEA0yZwW_LQW%sRD^CRE;aO>5Nc3i(&JBZ{*Zj|Z_C-0^SJKafcWv6Yf3 zhAZ*PL?uTl=E+LsugV@}oNz^{P_%Vpt2{SMFqxjJ8jndH8CxoMnn<{Z?-v_iUvA3O zAAkDkgh?E`&ZI#sCj2uyN~*j$W-Z7I9>kxv{>L*^03+iXUxh zt{cd&IQ_0^m1VT9;=S9aEaZyCjK7LUnJjwg@4Cn}WUwVq>ZSME+sORAG)I4MTSSGV zwUz{jN3vmYBa`p=Psq|`VblGevvS&IEim5AYN*Q^G{3D+c6S!f)7`qC>lHV$txwx# zeNBP)dM_R_I=bLS(vmyxMh(}_u?!vcXFkL2V)3XpzZ^*;VRFx79nLK5m?B<@UGqZAv+_jd}fRs^*5d8GH^+woyM8OXmO zrSmiSCHxI>8_yLo!N(1kVmFoFHC#|RAwY5@nMD)?4ECPXRb!>p0D*|t&7;x3y(|;H^v($8gr&?+Eo6a zeV!ka=cmc@(~?c)U#4s--)+PWe51|CilnL7QS2kWCXN^V^mE16^`uzbDIO6oAd>Y{ z(c2VgB7M0S(`eHaQ;kXFFPVFFCtBT-qD}lY(^S5v)x^UyE1<=(r2%d9=14Q0bJu#1 zTF+zi*BFY;JI&dK1%@}5lQM2eQA^=iY_O%D<)J~aka%IfB}dq3St%U1>=6`nr{F7T zjlHGL#&J@dQItrQ@pEap@vzjz_<%1na@L3&LKCrrm}K?6I_*fx;se1sy#K2KnX>3I1)75#c^>0|5kCn-*rUW@n&X+?>pU4|bl1$FX*X3&2LusjWRZajLt5TyhP+O~^DxH6Nr>ME=75%EZE}PZwYEG;rN7bj6`xuTs zoVS^}70emKO<|w%c-*&gdq69D)IjdbMhOxZxNcxp6HWMsod%IZ7d_aQM=_dy-M7Bn z`B30GhXs#MZ+l|xTfPeqF$)iA@TonqcAf8uwT^Z8HJ!^kyrYbD_;mR%ScmV{pU`i% z*z{P3H{~ZtefZb-@%?vCoyBK}WbxR`yp3O>G!&Yj3LW3}2pMiDFxd>Zm8ff-t-E_+ zZFkJDMlh(!>eyEdLbC9qN)`wY)y+a1?xYaGl?$mHX=Z$v>ucP~O)#G33XD}8S#NBi zJ8JB&yKn6GgcIlKNQ=S5+AI2|u4_$%I6^$A+mt7sdUx5(X+ut@DyK8acCkeKN$jW8 zij7QdO&3ih()5nWi_bSLHhp4xs+UY;CV$;jZSpX;GGw%^7W7tYirC6EUhh}7Tz-45|LubwJfr%ve@MBw}zgy5P9R8;rA`41s|!s)JwX? zXN{4jN^eW=f7LJ|;$i~RW{rd=#L|z_P3hs@Uz__d3z&B*Z>BRR7)|A)baL!Kgmr{9 z)tYy5&G029qw|_Eqw_SQ^R#P*e^s((IN4)8WxZmpuxe#LxwHJLOycC%<%i-tIl{C- z-X$NCNtuiXB}x;egQ7PMR>mqM6APJS^HBW`Ww`lO{TT@9gGWZ6>NDo9>Hzhay30)D zrZ5Rc|2|b-zq`)aGJ_qAs=M>9WnFH|HsZ3L%onb=Gf^awKw?+orQg zdn8U5pi6}%BT2f+y8hNUtGW3FX@hyGHKPAt+UUFKk6TCR$3*#McFoN%&q_TQhUWqE z^`uC@QU8+pxc-t}(SO1F@+6+WA`jum@zeMpq52QVce;7 zHC7EU8m6D<*#z%?R=TYU_i5!=Ez{MC_p!9LAO7aM!A}!_|91PiY0@{a=^I`Wbs`N% z9X~Q_1~Wc8q$3m3QG-wI45l!92J^o7nfR4hDw1>JZSj%lWol;%Go8>UnxOqNO-oFx zP1{Tc?g!Hi6M10L=vtXW%;C_aUWT?ZS!fP2c*$Q`?uG5vT`yX1AWzI0*437!2Je`8 zmgN@JKz422fL|sFXJVgNI4MRTFH38LBNjrG`dQB6Ty~l13OCS@Vo~>&Ni7 zweB_MTdx^EvCcHkG;|Tkb!+3TTG=Q@T7GKv#@6#~x^(}gN%+OQgZ^oK!$#A^@ErLX z|C#)iTq@5~Zp$P{@lr}mVah<|b5pv~)=ZWttCelaKII4HhVnq^rjk}_h#IcOKYcx@ zk7c%+v>8(V6bB9LSI?@y;tYWX9BIvkay<7JKE)F+&f)vyApA#sMux*F*Y3Yd9U|e= zi1(`gcWrntIWqXJt;<~--b8l87replch?qw*EaljogtC=cby^k9O=xqtp3(k2_N4a zc*>3(=J15HySP#(F+|^SxhRA5iU7rh2C_-t5)zKT9gdJLo`wHacIwF26xk0W`*Zg{ znqxfZ*+na(&ZP8e2I`sQ&CdK7(XQGNa+VwgvSXPS>xnXa@OOmWBlE}7W^56VZb0A) zhfgm!=KbhI0NAgQ-R*Dw@ov8J?aF4@Uhh?=;*~yqsb2(tIrdhS;Z{{B6Lp{?J2H|9 z(o~d>M1&aZoJ@b|%HvQP$S%;6!Dc1A)rY5pTo=qF2E$c;&-I60{n(MA?5qYB#J*v4 z?w)rlA}4k9+`??qcGWGRdnk*1{Mh(l#_f%!CG3t1`#d>6HqoCRa~qA9wM+>c=TqX= zt|J>TJd}|dwsZ?+2Y1m1GoF#$4c%`|a3D`z%kA6;+@^Kh4#c5C+>>ZOcDQ#p-D3SG z`Y-h4N%~z|8YCAakSl|fnPguBJ?e~j zrze7QffaD_jFt6vRuHUoTD2{gOfOS&nsAq%YVK5+I^)G`4MV8wI^&KYjZ6aL;GSlQ zCn_3h=jdQut!-qP>IaD-RwDWAQJuB3->oXV!ShB|)~$ml<&S0>M$`o2kG!!&H6rvO z4V+k>Ql_?or=iM{EArzfho>~TRb>X35rmwV*+!~6@nGE$jfOn0I|`4ukvo@6d)7<~ zOTK)p%sD?fjAr&!>odE4P+Xs zZmgTeU8B*U!uxi)+HBZAt>(ZTE*b4rCn0YpI&GwXHG-;<>>68gncD8^qe1=z-O(2o zrA?*nPKCzP-O+Gb? zV(ryOb7-;ky+``6&pLe=5h!1iYHZM=rS_udUU_U!t7_d4;8UYv8P*{^T6`iA(a+E% zFw)qL4e&@?cbP0oYk$F_XcHiCR=tc9XO z%P&1us2zx;X5jLzD!BbdL}7%fth>eyZP3uZqh870=-U5${c~?+IGT~f*L>Nb-w`-@ zQjd6wlnwD^KLA4S5e_63$X*~pPUPNTU-mkXK29VDNNXHm@v;-Ci}hvy1f-V}DFiYf zNURg_0&)z{lsJ#u4en29fX^NwL**QQ$ok$3f%|P@{WJi=Q`!kR* zC(<8?=UzfOIg!#qzN{WdKPM6gWC{?vUBglPj{|+#kAU=bBIAJ^2lBk+83V;~{U zG?_p;NiUXM72(TH1j0Mh%mK0%$n&;qfm{SK)Sd<(*iS{Jl?#o+jR}8OH-RsmBVetV zhWob>?%K9`5HaY8NKIQP=?)N+Af$}NcQM;;YG>5gWa5YiRG$vX# zwtk~h>V>P0KoK-0?q>*VNHW3F^IvQ5Yqc$d4zpCG$;XeFx7BBTd&GVCVj9VG986#j zg{<0UAc3Df!C>T(CxbV`y(X%8tUWaBxm{DoiHlQ;0u9!2Wd7ER7*K9)u=@Hzk-zbTE;F znTe4k!EiseO;)L#s&T#&e*c{|{euWFqPiiZO4z@WiH^8GTvLx{s}V@(4`=T6hicT> z+jbugy#M{H-h{ZSH-tpHE7OC#1cUO=3#&Iu1Cdsy_u{nL=l14B5R>moxXIzXHV`ZV!8xVJ|Lb2XyErU}TBO2oaD*hCQ~e&+{OIG~{9VL=Ck%Q_J98Oy@*&B0}$= z5T-*XlAt#tBJIFfhgEhlK{XB>6j*-9TkFI=@KtbgVM*r~RS}UdN)>F(U|h--~^;AM+F7 z(e^n)6p)4o94psYJ2D=K&IL)$Y{d2i5`#O)_Af7E=ciy%msk7 zbEYW;au`TkC$bbJ-vAQeL~bCBTL~d8orv~;FWU~t^ISRLupf};tyl_Vs0&gIWSk4K z2gp#VI?4Rg&%2`j~9><7o;hW!!Af0Aje&h4nV9f zNC=R#E=W%x=UtHgKrXrd(ea(KF7jCp-~DDI+b*!(VDzi z|HCiZgb=hM3`n3eO))fT1d!+YoQO0=Anl!L+Mt||fIP3g6uCCKhjzsRp;KT-yXJtyw}5o8Bly5w&oMpL;D4%T zZXkD%2gnmd7YcNIHUfEp=#$IFAPz(=rVpqI$QMMPWzv??2dK?Kbo5cnOUE1?(X>5O zT9iW_$R9*)HI*rq8RaSnM0=(as56L;PCBl;g6K+&t`6xMmfC|b5bd)bAlgPcwWlK$ z+luYG$LTtjuJGtujIIXzg9d=YL3G6y0g40-1Pua3fucb%pjgmg&=AmTAi8>s0}TWH z31k4pgNB3XH8K#}dK{aL@n{;03+%VT`fA{_$sm=jGfD(DV*T!;>8v% zvT&n;9K5x(qh6yu|H4H(^xu0$p!m`rfougDNJai^D)H~F^^cSufy8_8h&~FU>y5u1 z9J)N=clq)^BS)&Db&%ucGcUeK0QkS=q8t`NjyqjAoL!1_FSKq~rEN6=|5h>t1E!&y z7H@PgUT_j+V42#Jv(XKwa$U_sx+$?dY$20@b7?!@=<~jMeaqDA5uJ;(Y6dLXxs@px zQ?_``4z{K)Y48sAOE>?1EpJ|a(qc*@1u^lfo8GFzgN3@A44XR_?~5uiZEt?7YW)^G ziM&(c)y&$=Pu+IcwsoZU9rrhubL4G|x21!z<+9RdJ^)Mi!$4i0j#Oh;U*Z_=%^xAa z!Qs1jaM$5hRo1eNuwyfIcPavIReeyk-n)e_-bv+PN9Wm-tD1PPXwnI9RTA*keK#Q) zcWp`W1TS5p?s(6*@BQsBIPC*=@8`R=8+&_scie~I1(mk=#{?^*HZav|WLV}9kEPx? ohyAWCGbE6meHxKiyL1YSY8`-++chO;1_vcmgZcm0{{ad72Tp0C8UO$Q literal 0 HcmV?d00001 diff --git a/docs/guide/index.md b/docs/guide/index.md index 95a204f..4962566 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -1,50 +1,61 @@ Introduction ============ -- [Overview](overview.md) +- [Overview](overview.md) - What is Yii and what is it good for? Getting started =============== -- [Installation](installation.md) -- [Configuration](configuration.md) +- [Upgrading from 1.1 to 2.0](upgrade-from-v1.md) +- [Installation](installation.md) - How to download Yii and configure the Webserver? +- [Configuration](configuration.md) - Configuration of a Yii application -Application templates -===================== +- [Basic Application Template](apps-basic.md) - A template to start a basic frontend application. +- [Advanced Application Template](apps-advanced.md) - The basis for more advanced applications. -- [Basic](apps-basic.md) -- [Advanced](apps-advanced.md) -- [Creating your own application template](apps-own.md) +- [Creating your own Application structure](apps-own.md) - Learn how to start from scratch. Base concepts ============= -- [MVC Overview](mvc.md) -- [Model](model.md) -- [View](view.md) -- [Controller](controller.md) -- [Application](application.md) +- [Basic concepts of Yii] - The Object and Component class, Path aliases and autoloading +- [MVC](mvc.md) - Implementation of MVC in Yii and a typical MVC application flow + - [Model](model.md) - The Yii Model provides Attributes, Scenarios and data Validation + - [View](view.md) - Rendering Views applying layouts, using Widgets and asset management + - [Controller](controller.md) - controller actions, routing and action filters +- [Event Handling](events.md) - The Yii event handling mechanism +- [Behaviors](behaviors.md) Database ======== -- [Basics](database-basics.md) -- [Query Builder](query-builder.md) -- [ActiveRecord](active-record.md) -- [Database Migration](migration.md) +- [Basics](database-basics.md) - Connecting to a database, basic queries, transactions and schema manipulation +- [Query Builder](query-builder.md) - Querying the database using a simple abstraction layer +- [ActiveRecord](active-record.md) - The active record ORM, retrieving and manipulatings records and defining relations +- [Database Migration](migration.md) - Versioning your database with database migrations -Extensions -========== +Developers Toolbox +================== +- [Automatic Code Generation](gii.md) +- [Debug toolbar and debugger](debugger.md) +- [Error Handling](error.md) +- [Logging](logging.md) + +Extensions and 3rd party libraries +================================== + +- [Composer](composer.md) - How to manage applications dependencies via composer - [Extending Yii](extension.md) -- [Using template engines](template.md) +- [Template engines](template.md) - Using template engines such as Smary or Twig Security and access control =========================== -- [Authentication](authentication.md) -- [Authorization](authorization.md) -- [Security](security.md) +- [Authentication](authentication.md) - Identifying User +- [Authorization](authorization.md) - Access control and RBAC +- [Security](security.md) - Hashing and verifying passwords, encryption +- [Views security](view.md#security) - how to prevent XSS - Role based access control Data providers, lists and grids @@ -55,27 +66,21 @@ Data providers, lists and grids - Grids - Lists -Toolbox -======= - -- [Automatic Code Generation](gii.md) -- [Debug toolbar and debugger](debugger.md) -- [Error Handling](error.md) -- [Logging](logging.md) - -More -==== +Advanced Topics +=============== -- [Bootstrap widgets](bootstrap-widgets.md) - [Working with forms](form.md) -- [Model validation reference](validation.md) -- [Caching](caching.md) -- [Internationalization](i18n.md) -- [URL Management](url.md) +- [Bootstrap widgets](bootstrap-widgets.md) - Using [twitter bootstrap](http://getbootstrap.com/) - [Theming](theming.md) +- [Caching](caching.md) - Caching data, page fragments and http requests +- [Internationalization](i18n.md) - Message translation and formatting +- [URL Management](url.md) - routing, customized urls and SEO - [Console Application](console.md) - [Performance Tuning](performance.md) -- [Managing assets](assets.md) - [Testing](testing.md) -- [Composer](composer.md) -- [Upgrading from 1.1 to 2.0](upgrade-from-v1.md) + +References +========== + +- [Model validation reference](validation.md) +- [Official Composer documentation](http://getcomposer.org) \ No newline at end of file diff --git a/docs/guide/installation.md b/docs/guide/installation.md index b4d4c7e..adc7f04 100644 --- a/docs/guide/installation.md +++ b/docs/guide/installation.md @@ -3,8 +3,9 @@ Installation There are two ways you can install the Yii framework: -* Using [Composer](http://getcomposer.org/) -* Via manual download +* Installation via [Composer](http://getcomposer.org/) (recommended) +* Download an application template packed with all requirements including the Yii Framework + Installing via Composer ----------------------- @@ -21,48 +22,81 @@ For problems or more information, see the official Composer guide: * [Linux](http://getcomposer.org/doc/00-intro.md#installation-nix) * [Windows](http://getcomposer.org/doc/00-intro.md#installation-windows) -With Composer installed, you can create a new Yii site using one of Yii's ready-to-use application templates. Based on your needs, choosing the right template can help bootstrap your project. +With Composer installed, you can create a new Yii site using one of Yii's ready-to-use application templates. +Based on your needs, choosing the right template can help bootstrap your project. Currently, there are two application templates available: -- [basic](https://github.com/yiisoft/yii2-app-basic), just a basic frontend application template. -- [advanced](https://github.com/yiisoft/yii2-app-advanced), consisting of a frontend, a backend, console resources, common (shared code), and support for environments. +- The [Basic Application Template](https://github.com/yiisoft/yii2-app-basic) - just a basic frontend application template. +- The [Advanced Application Template](https://github.com/yiisoft/yii2-app-advanced) - consisting of a frontend, a backend, + console resources, common (shared code), and support for environments. + +For installation instructions for these templates, see the above linked pages. +To read more about the ideas behind these application templates and proposed usage, +refer to the [basic application template](apps-basic.md) and [advanced application template](apps-advanced.md) documents. + +If you do not want to use a template and want to start from scratch you'll find information in the document about +[creating your own application structure](apps-own.md). This is only recommended for advanced users. -For installation instructions for these templates, see the above linked pages. To read more about ideas behind these application templates and -proposed usage, refer to the [basic application template](apps-basic.md) and [advanced application template](apps-advanced.md) documents. Installing from zip ------------------- Installation from a zip file involves two steps: - 1. Downloading the Yii Framework from [yiiframework.com](http://www.yiiframework.com/). + 1. Downloading an application template from [yiiframework.com](http://www.yiiframework.com/download/). 2. Unpacking the downloaded file. +If you only want the Yii Framework files you can download a ZIP file directly from [github](https://github.com/yiisoft/yii2-framework/releases). +To create your application you might want to follow the steps described in [creating your own application structure](apps-own.md). +This is only recommended for advanced users. + > Tip: The Yii framework itself does not need to be installed under a web-accessible directory. -A Yii application has one entry script which is usually the only file that absolutely must be exposed to web users (i.e., placed within the web directory). Other PHP scripts, including those part of the -Yii framework, should be protected from web access to prevent possible exploitation by hackers. +A Yii application has one entry script which is usually the only file that absolutely must be +exposed to web users (i.e., placed within the web directory). Other PHP scripts, including those +part of the Yii Framework, should be protected from web access to prevent possible exploitation by hackers. + Requirements ------------ After installing Yii, you may want to verify that your server satisfies Yii's requirements. You can do so by running the requirement checker -script in a web browser. +script in a web browser or from the command line. + +If you have installed a Yii application template via zip or composer you'll find a `requirements.php` file in the +base directory of your application. -1. Copy the `requirements` folder from the downloaded Yii directory to your web directory. -2. Access `http://hostname/path/to/yii/requirements/index.php` in your browser. +In order to run this script on the command line use the following command: + +``` +php requirements.php +``` + +In order to run this script in your browser, you should ensure it is accessable by the webserver and +access `http://hostname/path/to/yii-app/requirements.php` in your browser. +If you are using Linux you can create a hard link to make it accessable, using the following command: + +``` +ln requirements.php ../requirements.php +``` + +Yii 2 requires PHP 5.4.0 or higher. Yii has been tested with the [Apache HTTP server](http://httpd.apache.org/) and +[Nginx HTTP server](http://nginx.org/) on Windows and Linux. +Yii may also be usable on other web servers and platforms, provided that PHP 5.4 or higher is supported. -Yii 2 requires PHP 5.4.0 or higher. Yii has been tested with the [Apache HTTP server](http://httpd.apache.org/) on Windows and Linux. Yii may also be usable on other web servers and platforms, provided that PHP 5.4 or higher is supported. Recommended Apache Configuration -------------------------------- -Yii is ready to work with a default Apache web server configuration. As a security measure, Yii comes with `.htaccess` files in the Yii framework and application folders to deny access to thoe restricted resources. +Yii is ready to work with a default Apache web server configuration. As a security measure, Yii comes with `.htaccess` +files in the Yii framework folder to deny access to those restricted resources. -By default, requests for pages in a Yii-based site go through the boostrap file, usually named `index.php`, and placed in the application's root directory. The result will be URLs in the format `http://hostname/index.php/controller/action/param/value`. +By default, requests for pages in a Yii-based site go through the bootstrap file, usually named `index.php`, and placed +in the application's `web` directory. The result will be URLs in the format `http://hostname/index.php/controller/action/param/value`. -To hide the bootstrap file in your URLs, add `mod_rewrite` instructions to the `.htaccess` file found in your web document root (or add the instructions to the virtual host configuration in Apache's `httpd.conf` file). The applicable instructions are: +To hide the bootstrap file in your URLs, add `mod_rewrite` instructions to the `.htaccess` file in your web document root +(or add the instructions to the virtual host configuration in Apache's `httpd.conf` file). The applicable instructions are: ~~~ RewriteEngine on @@ -74,10 +108,14 @@ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php ~~~ + Recommended Nginx Configuration ------------------------------- -Yii can also be used with the popular [Nginx](http://wiki.nginx.org/) web server, so long it has PHP installed as an [FPM SAPI](http://php.net/install.fpm). Below is a sample host configuration for a Yii-based site on Nginx. The configuration identifies tells the server to send all requests for non-existent resources through the bootstrap file, resulting in "prettier" URLs without the need for `index.php` references. +Yii can also be used with the popular [Nginx](http://wiki.nginx.org/) web server, so long it has PHP installed as +an [FPM SAPI](http://php.net/install.fpm). Below is a sample host configuration for a Yii-based site on Nginx. +The configuration tells the server to send all requests for non-existent resources through the bootstrap file, +resulting in "prettier" URLs without the need for `index.php` references. ~~~ server { @@ -85,7 +123,7 @@ server { listen 80; server_name mysite.local; - root /path/to/project/webroot/directory + root /path/to/project/web access_log /path/to/project/log/access.log main; diff --git a/docs/guide/logging.md b/docs/guide/logging.md index e69de29..ce14742 100644 --- a/docs/guide/logging.md +++ b/docs/guide/logging.md @@ -0,0 +1,5 @@ +Logging +======= + + +TDB \ No newline at end of file diff --git a/docs/guide/mvc.md b/docs/guide/mvc.md index 1b61db7..22f86a1 100644 --- a/docs/guide/mvc.md +++ b/docs/guide/mvc.md @@ -11,12 +11,12 @@ of the user interface, such as text, images, and form elements. The *controller* the communication between the model and the view, acting as an agent. Besides implementing the MVC design pattern, Yii also introduces a *front-controller*, called -`application`. The front-controller encapsulates the *execution context* for the processing of a request. This means that the front-controller collects information about a user request, and +*application*. The front-controller encapsulates the *execution context* for the processing of a request. This means that the front-controller collects information about a user request, and then dispatches it to an appropriate controller for actual handling of that request. In other words, the front-controller is the primary application manager, handling all requests and delegating action accordingly. The following diagram shows the static structure of a Yii application: -![Static structure of Yii application](structure.png) +![Static structure of Yii application](images/structure.png) A Typical Workflow @@ -24,18 +24,23 @@ A Typical Workflow The following diagram shows a typical workflow of a Yii application handling a user request: -![Typical workflow of a Yii application](flow.png) - -1. A user makes a request of the URL `http://www.example.com/index.php?r=post/show&id=1`. The Web server handles the request by executing the bootstrap script `index.php`. -2. The bootstrap script creates an [Application](/doc/guide/basics.application) instance and runs it. -3. The Application instance obtains the detailed user request information from an [application component](/doc/guide/basics.application#application-component) named `request`. -4. The application determines which [controller](/doc/guide/basics.controller) and which [action](/doc/guide/basics.controller#action) of that controller was requested. This is accomplished with the help -of an application component named `urlManager`. For this example, the controller is `post`, which refers to the `PostController` class; and the action is `show`, whose actual meaning is determined by the controller. -5. The application creates an instance of the requested controller -to further handle the user request. The controller determines that the action `show` refers to a method named `actionShow` in the controller class. It then creates and executes filters (e.g. access control, benchmarking) associated with this action. The action is then executed, if execution is allowed by the filters (e.g., if the user has permission to execute that action). -6. The action creates a `Post` [model](/doc/guide/basics.model) instance, using the underlying database table, where the ID value of the corresponding record `1`. -7. The action renders a [view](/doc/guide/basics.view) named `show`, providing to the view the `Post` model instance. +![Typical workflow of a Yii application](images/flow.png) + +1. A user makes a request of the URL `http://www.example.com/index.php?r=post/show&id=1`. + The Web server handles the request by executing the bootstrap script `index.php`. +2. The bootstrap script creates an [[Application|yii\web\Application]] instance and runs it. +3. The Application instance obtains the detailed user request information from an application component named `request`. +4. The application determines which [controller](controller.md) and which action of that controller was requested. + This is accomplished with the help of an application component named `urlManager`. + For this example, the controller is `post`, which refers to the `PostController` class; and the action is `show`, + whose actual meaning is determined by the controller. +5. The application creates an instance of the requested controller to further handle the users request. + The controller determines that the action `show` refers to a method named `actionShow` in the controller class. + It then creates and executes filters (e.g. access control, benchmarking) associated with this action. + The action is then executed, if execution is allowed by the filters (e.g., if the user has permission to execute that action). +6. The action creates a `Post` [model](model.md) instance, using the underlying database table, where the ID value of the corresponding record is `1`. +7. The action renders a [view](view.md) named `show`, providing to the view the `Post` model instance. 8. The view reads the attributes of the `Post` model instance and displays the values of those attributes. -9. The view executes some [widgets](/doc/guide/basics.view#widget). -10. The view rendering result--the output from the previous steps--is embedded in a [layout](/doc/guide/basics.view#layout) to create a complete page. +9. The view executes some [widgets](view.md#widgets). +10. The view rendering result -the output from the previous steps- is embedded in a [layout](view.md#layout) to create a complete page. 11. The action completes the view rendering and displays the result to the user. \ No newline at end of file diff --git a/docs/guide/overview.md b/docs/guide/overview.md index 48e6e0d..a9d1a38 100644 --- a/docs/guide/overview.md +++ b/docs/guide/overview.md @@ -15,13 +15,15 @@ PHP 5.4.0 or greater. For developers who want to use Yii, understanding object-oriented programming (OOP) is very helpful, because Yii is a pure OOP framework. +Yii 2.0 also makes use of the latest features of PHP such as [namespaces](http://www.php.net/manual/en/language.namespaces.php) +so you should be familiar with how they work. What is Yii Best for? --------------------- Yii is a generic Web programming framework that can be used for developing -virtually any type of Web application. Because it is light-weight and +virtually any type of Web application. Because it is light-weight and equipped with sophisticated caching mechanisms, it is especially suited to high-traffic applications, such as portals, forums, content management systems (CMS), e-commerce projects, etc. @@ -35,4 +37,7 @@ How does Yii Compare with Other Frameworks? - Yii strikes a good balance between simplicity and features. - Syntax and overall development usability are taken seriously by the Yii development team. - Performance is one of the key goals for the Yii framework. -- The Yii development team is constantly watching what other Web frameworks are doing to see what best practices and features should be incorporated into Yii. The initial Yii release was heavily influenced by Ruby on Rails. Still, no framework or feature is being blindly copied into Yii; all decisions are based upon what's best for Web developers and in keeping with Yii's philosophy. +- The Yii development team is constantly watching what other Web frameworks are doing to see what best practices and + features should be incorporated into Yii. The initial Yii release was heavily influenced by Ruby on Rails. + Still, no framework or feature is being blindly copied into Yii; all decisions are based upon what's best + for Web developers and in keeping with Yii's philosophy. diff --git a/docs/guide/security.md b/docs/guide/security.md index 3c18261..f54a133 100644 --- a/docs/guide/security.md +++ b/docs/guide/security.md @@ -4,7 +4,7 @@ Security Good security is vital to the health and success of many websites. Unfortunately, many developers may cut corners when it comes to security due to a lack of understanding or too large of an implementation hurdle. To make your Yii-based site as secure as possible, the Yii framework has baked in several excellent, and easy to use, security features. Hashing and verifying passwords ------------------------------- +------------------------------- Most developers know that you cannot store passwords in plain text, but many believe it's safe to hash passwords using `md5` or `sha1`. There was a time when those hashing algorithms were sufficient, but modern hardware makes it possible to break those hashes very quickly using a brute force attack. diff --git a/docs/guide/testing.md b/docs/guide/testing.md index e69de29..4b88a9a 100644 --- a/docs/guide/testing.md +++ b/docs/guide/testing.md @@ -0,0 +1,4 @@ +Testing +======= + +TDB \ No newline at end of file diff --git a/docs/guide/theming.md b/docs/guide/theming.md index e69de29..308316a 100644 --- a/docs/guide/theming.md +++ b/docs/guide/theming.md @@ -0,0 +1,4 @@ +Theming +======= + +TDB \ No newline at end of file diff --git a/docs/guide/upgrade-from-v1.md b/docs/guide/upgrade-from-v1.md index e79259c..5982fc6 100644 --- a/docs/guide/upgrade-from-v1.md +++ b/docs/guide/upgrade-from-v1.md @@ -72,7 +72,7 @@ $object = Yii::createObject([ ], $param1, $param2); ``` - +More on configuration in [configuration](configuration.md) Events ------ diff --git a/docs/guide/upgrade.md b/docs/guide/upgrade.md deleted file mode 100644 index e69de29..0000000