Version Notes
Official DHL Versenden extension
Download this release
Release Info
Developer | Christoph Aßmann |
Extension | Dhl_Versenden |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Form/Field/Participation.php +104 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Form/Field/Procedure/Select.php +50 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Address/Element/Separator.php +67 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Address/Form.php +179 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Customs.php +77 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Packaging.php +74 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Packaging/Grid.php +114 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Service.php +64 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Service/Edit.php +103 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Service/View.php +82 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/System/Config/Heading.php +66 -0
- app/code/community/Dhl/Versenden/Block/Adminhtml/System/Config/Info.php +87 -0
- app/code/community/Dhl/Versenden/Block/Checkout/Onepage/Shipping/Method/Service.php +147 -0
- app/code/community/Dhl/Versenden/Block/Config/Service.php +88 -0
- app/code/community/Dhl/Versenden/Helper/Address.php +201 -0
- app/code/community/Dhl/Versenden/Helper/Autoloader.php +98 -0
- app/code/community/Dhl/Versenden/Helper/Data.php +170 -0
- app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Loglevel.php +68 -0
- app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Procedure.php +74 -0
- app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Service/Visualcheckofage.php +65 -0
- app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Shipping/Allmethods.php +52 -0
- app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Yesoptno.php +71 -0
- app/code/community/Dhl/Versenden/Model/Config.php +226 -0
- app/code/community/Dhl/Versenden/Model/Config/Service.php +413 -0
- app/code/community/Dhl/Versenden/Model/Config/Shipment.php +109 -0
- app/code/community/Dhl/Versenden/Model/Config/Shipper.php +279 -0
- app/code/community/Dhl/Versenden/Model/Cron.php +102 -0
- app/code/community/Dhl/Versenden/Model/Info/Builder.php +232 -0
- app/code/community/Dhl/Versenden/Model/Log.php +114 -0
- app/code/community/Dhl/Versenden/Model/Logger/Mage.php +113 -0
- app/code/community/Dhl/Versenden/Model/Logger/Writer.php +69 -0
- app/code/community/Dhl/Versenden/Model/Observer.php +450 -0
- app/code/community/Dhl/Versenden/Model/Resource/Autocreate/Collection.php +117 -0
- app/code/community/Dhl/Versenden/Model/Shipping/Autocreate.php +139 -0
- app/code/community/Dhl/Versenden/Model/Shipping/Autocreate/Builder.php +280 -0
- app/code/community/Dhl/Versenden/Model/Shipping/Carrier/Versenden.php +252 -0
- app/code/community/Dhl/Versenden/Model/Shipping/Carrier/Versenden/Source/Unitofmeasure.php +52 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Customs.php +86 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Order.php +218 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Package.php +112 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Receiver.php +160 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Service.php +140 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Settings.php +66 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Builder/Shipper.php +66 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Gateway.php +49 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Gateway/Abstract.php +269 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Gateway/Soap.php +182 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Logger/Abstract.php +52 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Logger/Interface.php +50 -0
- app/code/community/Dhl/Versenden/Model/Webservice/Logger/Soap.php +73 -0
- app/code/community/Dhl/Versenden/controllers/Adminhtml/Sales/Order/ShipmentController.php +54 -0
- app/code/community/Dhl/Versenden/controllers/Adminhtml/Sales/OrderController.php +243 -0
- app/code/community/Dhl/Versenden/etc/config.xml +305 -0
- app/code/community/Dhl/Versenden/etc/system.xml +704 -0
- app/code/community/Dhl/Versenden/sql/dhl_versenden_setup/install-0.1.0.php +31 -0
- app/design/adminhtml/default/default/layout/dhl_versenden.xml +86 -0
- app/design/adminhtml/default/default/template/dhl_versenden/sales/packaging_grid.phtml +111 -0
- app/design/adminhtml/default/default/template/dhl_versenden/sales/packaging_packed.phtml +216 -0
- app/design/adminhtml/default/default/template/dhl_versenden/sales/packaging_popup.phtml +231 -0
- app/design/adminhtml/default/default/template/dhl_versenden/sales/shipping_customs.phtml +79 -0
- app/design/adminhtml/default/default/template/dhl_versenden/sales/shipping_services.phtml +51 -0
- app/design/adminhtml/default/default/template/dhl_versenden/system/config/info.phtml +2 -0
- app/design/frontend/base/default/layout/dhl_versenden.xml +41 -0
- app/design/frontend/base/default/template/dhl_versenden/checkout/shipping_services.phtml +124 -0
- app/design/frontend/base/default/template/dhl_versenden/config/services.phtml +57 -0
- app/etc/modules/Dhl_Versenden.xml +10 -0
- app/locale/de_DE/Dhl_Versenden.csv +154 -0
- app/locale/en_US/Dhl_Versenden.csv +154 -0
- doc/Dhl_Versenden/ChangeLog.pdf +199 -0
- doc/Dhl_Versenden/DHL_Business_Customer_Shipping.pdf +107 -0
- doc/Dhl_Versenden/DHL_Versenden.pdf +3986 -0
- lib/Dhl/Versenden/Bcs/Api/Info.php +100 -0
- lib/Dhl/Versenden/Bcs/Api/Info/AbstractInfo.php +60 -0
- lib/Dhl/Versenden/Bcs/Api/Info/ArrayableInfo.php +140 -0
- lib/Dhl/Versenden/Bcs/Api/Info/ArrayableInterface.php +51 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Receiver.php +111 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Receiver/Packstation.php +44 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Receiver/ParcelShop.php +46 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Receiver/PostalFacility.php +54 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Receiver/Postfiliale.php +44 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Serializer.php +57 -0
- lib/Dhl/Versenden/Bcs/Api/Info/Services.php +61 -0
- lib/Dhl/Versenden/Bcs/Api/Info/UnserializableInterface.php +51 -0
- lib/Dhl/Versenden/Bcs/Api/Pdf/Adapter.php +26 -0
app/code/community/Dhl/Versenden/Block/Adminhtml/Form/Field/Participation.php
ADDED
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Form_Field_Participation
|
29 |
+
* DHL Versenden participation numbers combined form field (frontend model)
|
30 |
+
*
|
31 |
+
* TODO(nr): set proper id to grid in order to enable field dependencies
|
32 |
+
* @see template/system/config/form/field/array.phtml
|
33 |
+
*
|
34 |
+
* @category Dhl
|
35 |
+
* @package Dhl_Versenden
|
36 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
37 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
38 |
+
* @link http://www.netresearch.de/
|
39 |
+
*/
|
40 |
+
class Dhl_Versenden_Block_Adminhtml_Form_Field_Participation
|
41 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract
|
42 |
+
{
|
43 |
+
/**
|
44 |
+
* @var Mage_Core_Block_Html_Select
|
45 |
+
*/
|
46 |
+
protected $_templateRenderer;
|
47 |
+
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Create renderer used for displaying the country select element
|
51 |
+
*
|
52 |
+
* @return Mage_Core_Block_Html_Select
|
53 |
+
*/
|
54 |
+
protected function _getTemplateRenderer()
|
55 |
+
{
|
56 |
+
if (!$this->_templateRenderer) {
|
57 |
+
$this->_templateRenderer = $this->getLayout()->createBlock(
|
58 |
+
'dhl_versenden/adminhtml_form_field_procedure_select',
|
59 |
+
'',
|
60 |
+
array('is_render_to_js_template' => true)
|
61 |
+
);
|
62 |
+
|
63 |
+
/** @var Dhl_Versenden_Model_Adminhtml_System_Config_Source_Procedure $sourceModel */
|
64 |
+
$sourceModel = Mage::getModel('dhl_versenden/adminhtml_system_config_source_procedure');
|
65 |
+
$this->_templateRenderer->setOptions($sourceModel->toOptionArray());
|
66 |
+
}
|
67 |
+
|
68 |
+
return $this->_templateRenderer;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @see Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract::_prepareArrayRow()
|
73 |
+
* @param Varien_Object $row
|
74 |
+
*/
|
75 |
+
protected function _prepareArrayRow(Varien_Object $row)
|
76 |
+
{
|
77 |
+
$row->setData(
|
78 |
+
'option_extra_attr_' . $this->_getTemplateRenderer()->calcOptionHash($row->getData('procedure')),
|
79 |
+
'selected="selected"'
|
80 |
+
);
|
81 |
+
|
82 |
+
parent::_prepareArrayRow($row);
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* (non-PHPdoc)
|
87 |
+
* @see Mage_Adminhtml_Block_System_Config_Form_Field_Array_Abstract::_prepareToRender()
|
88 |
+
*/
|
89 |
+
protected function _prepareToRender()
|
90 |
+
{
|
91 |
+
$this->addColumn('procedure', array(
|
92 |
+
'label' => $this->__('Procedure'),
|
93 |
+
'renderer' => $this->_getTemplateRenderer()
|
94 |
+
));
|
95 |
+
$this->addColumn('participation', array(
|
96 |
+
'label' => $this->__('Participation'),
|
97 |
+
'style' => 'width:80px',
|
98 |
+
));
|
99 |
+
// hide "Add after" button
|
100 |
+
$this->_addAfter = false;
|
101 |
+
|
102 |
+
return parent::_prepareToRender();
|
103 |
+
}
|
104 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Form/Field/Procedure/Select.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Form_Field_Procedure_Select
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_Form_Field_Procedure_Select
|
37 |
+
extends Mage_Adminhtml_Block_Html_Select
|
38 |
+
{
|
39 |
+
protected function _construct()
|
40 |
+
{
|
41 |
+
$this
|
42 |
+
->setClass('select')
|
43 |
+
->setTitle($this->__('Select Procedure'));
|
44 |
+
}
|
45 |
+
|
46 |
+
public function setInputName($value)
|
47 |
+
{
|
48 |
+
return $this->setName($value);
|
49 |
+
}
|
50 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Address/Element/Separator.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Address_Element_Separator
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Address_Element_Separator
|
39 |
+
extends Varien_Data_Form_Element_Abstract
|
40 |
+
{
|
41 |
+
/**
|
42 |
+
* @param string $idSuffix
|
43 |
+
* @return string
|
44 |
+
*/
|
45 |
+
public function getLabelHtml($idSuffix = '')
|
46 |
+
{
|
47 |
+
$value = $this->getData('value');
|
48 |
+
if ($value) {
|
49 |
+
$html = $value;
|
50 |
+
} else {
|
51 |
+
$html = '<hr/>';
|
52 |
+
}
|
53 |
+
|
54 |
+
return $html;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @return string
|
59 |
+
*/
|
60 |
+
public function getElementHtml()
|
61 |
+
{
|
62 |
+
$html = '';
|
63 |
+
$html.= $this->getAfterElementHtml();
|
64 |
+
|
65 |
+
return $html;
|
66 |
+
}
|
67 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Address/Form.php
ADDED
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Address_Form
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Address_Form extends Mage_Adminhtml_Block_Sales_Order_Address_Form
|
39 |
+
{
|
40 |
+
/**
|
41 |
+
* @param Varien_Data_Form_Element_Fieldset $fieldset
|
42 |
+
* @param array $receiverData
|
43 |
+
*/
|
44 |
+
protected function _prepareAddressFields(Varien_Data_Form_Element_Fieldset $fieldset,
|
45 |
+
array $receiverData = null)
|
46 |
+
{
|
47 |
+
$src = $this->getSkinUrl('images/dhl_versenden/dhl_logo.png');
|
48 |
+
$fieldset->addField(
|
49 |
+
'versenden_info_street',
|
50 |
+
'separator',
|
51 |
+
array('value' => '<img src="' . $src . '" alt="DHL Versenden"/>')
|
52 |
+
);
|
53 |
+
|
54 |
+
$fieldset->addField('versenden_info_street_name', 'text', array(
|
55 |
+
'name' => "versenden_info[street_name]",
|
56 |
+
'label' => $this->__('Street Name'),
|
57 |
+
'value' => isset($receiverData['street_name']) ? $receiverData['street_name'] : '',
|
58 |
+
));
|
59 |
+
$fieldset->addField('versenden_info_street_number', 'text', array(
|
60 |
+
'name' => "versenden_info[street_number]",
|
61 |
+
'label' => $this->__('House number'),
|
62 |
+
'value' => isset($receiverData['street_number']) ? $receiverData['street_number'] : '',
|
63 |
+
));
|
64 |
+
$fieldset->addField('versenden_info_address_addition', 'text', array(
|
65 |
+
'name' => "versenden_info[address_addition]",
|
66 |
+
'label' => $this->__('Address Addition'),
|
67 |
+
'value' => isset($receiverData['address_addition']) ? $receiverData['address_addition'] : '',
|
68 |
+
));
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param Varien_Data_Form_Element_Fieldset $fieldset
|
73 |
+
* @param array $receiverData
|
74 |
+
*/
|
75 |
+
protected function _preparePackstationFields(Varien_Data_Form_Element_Fieldset $fieldset,
|
76 |
+
array $receiverData)
|
77 |
+
{
|
78 |
+
$src = $this->getSkinUrl('images/dhl_versenden/icon-packStation.png');
|
79 |
+
$fieldset->addField(
|
80 |
+
'versenden_info_packstation',
|
81 |
+
'separator',
|
82 |
+
array('value' => '<img src="' . $src . '" alt="DHL Packstation"/>')
|
83 |
+
);
|
84 |
+
|
85 |
+
$fieldset->addField("versenden_info_packstation_number", 'text', array(
|
86 |
+
'name' => "versenden_info[packstation][packstation_number]",
|
87 |
+
'label' => $this->__('Packstation Number'),
|
88 |
+
'value' => isset($receiverData['packstation_number']) ? $receiverData['packstation_number'] : '',
|
89 |
+
'class' => 'validate-number-range number-range-101-999',
|
90 |
+
));
|
91 |
+
$fieldset->addField("versenden_info_packstation_post_number", 'text', array(
|
92 |
+
'name' => "versenden_info[packstation][post_number]",
|
93 |
+
'label' => $this->__('Post Number'),
|
94 |
+
'value' => isset($receiverData['post_number']) ? $receiverData['post_number'] : '',
|
95 |
+
));
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @param Varien_Data_Form_Element_Fieldset $fieldset
|
100 |
+
* @param array $receiverData
|
101 |
+
*/
|
102 |
+
protected function _preparePostfilialeFields(Varien_Data_Form_Element_Fieldset $fieldset,
|
103 |
+
array $receiverData = null)
|
104 |
+
{
|
105 |
+
$src = $this->getSkinUrl('images/dhl_versenden/icon-postOffice.png');
|
106 |
+
$fieldset->addField(
|
107 |
+
'versenden_info_postfiliale',
|
108 |
+
'separator',
|
109 |
+
array('value' => '<img src="' . $src . '" alt="DHL Postfiliale"/>')
|
110 |
+
);
|
111 |
+
|
112 |
+
$fieldset->addField("versenden_info_postfilial_number", 'text', array(
|
113 |
+
'name' => "versenden_info[postfiliale][postfilial_number]",
|
114 |
+
'label' => $this->__('Post Office Number'),
|
115 |
+
'value' => isset($receiverData['postfilial_number']) ? $receiverData['postfilial_number'] : '',
|
116 |
+
'class' => 'validate-number-range number-range-101-999',
|
117 |
+
));
|
118 |
+
$fieldset->addField("versenden_info_postfiliale_post_number", 'text', array(
|
119 |
+
'name' => "versenden_info[postfiliale][post_number]",
|
120 |
+
'label' => $this->__('Post Number'),
|
121 |
+
'value' => isset($receiverData['post_number']) ? $receiverData['post_number'] : '',
|
122 |
+
));
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* @param Varien_Data_Form_Element_Fieldset $fieldset
|
127 |
+
* @param array $receiverData
|
128 |
+
*/
|
129 |
+
protected function _prepareParcelShopFields(Varien_Data_Form_Element_Fieldset $fieldset, array $receiverData)
|
130 |
+
{
|
131 |
+
$src = $this->getSkinUrl('images/dhl_versenden/icon-parcelShop.png');
|
132 |
+
$fieldset->addField(
|
133 |
+
'versenden_info_parcel_shop',
|
134 |
+
'separator',
|
135 |
+
array('value' => '<img src="' . $src . '" alt="DHL Parcelstation"/>')
|
136 |
+
);
|
137 |
+
|
138 |
+
$fieldset->addField("versenden_info_parcel_shop_number", 'text', array(
|
139 |
+
'name' => "versenden_info[parcel_shop][parcel_shop_number]",
|
140 |
+
'label' => $this->__('Parcelstation Number'),
|
141 |
+
'value' => isset($receiverData['parcel_shop_number']) ? $receiverData['parcel_shop_number'] : '',
|
142 |
+
));
|
143 |
+
$fieldset->addField('versenden_info_parcel_shop_street_name', 'text', array(
|
144 |
+
'name' => "versenden_info[parcel_shop][street_name]",
|
145 |
+
'label' => $this->__('Street Name'),
|
146 |
+
'value' => isset($receiverData['street_name']) ? $receiverData['street_name'] : '',
|
147 |
+
));
|
148 |
+
$fieldset->addField('versenden_info_parcel_shop_street_number', 'text', array(
|
149 |
+
'name' => "versenden_info[parcel_shop][street_number]",
|
150 |
+
'label' => $this->__('House number'),
|
151 |
+
'value' => isset($receiverData['street_number']) ? $receiverData['street_number'] : '',
|
152 |
+
));
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Define form attributes (id, method, action)
|
157 |
+
*
|
158 |
+
* @return Mage_Adminhtml_Block_Sales_Order_Create_Billing_Address
|
159 |
+
*/
|
160 |
+
protected function _prepareForm()
|
161 |
+
{
|
162 |
+
parent::_prepareForm();
|
163 |
+
|
164 |
+
/** @var Varien_Data_Form_Element_Fieldset $fieldset */
|
165 |
+
$fieldset = $this->getForm()->getElement('main');
|
166 |
+
$fieldset->addType('separator', 'Dhl_Versenden_Block_Adminhtml_Sales_Order_Address_Element_Separator');
|
167 |
+
|
168 |
+
$address = $this->_getAddress();
|
169 |
+
/** @var \Dhl\Versenden\Bcs\Api\Info $versendenInfo */
|
170 |
+
$versendenInfo = $address->getData('dhl_versenden_info');
|
171 |
+
$receiverData = $versendenInfo->getReceiver()->toArray();
|
172 |
+
$this->_prepareAddressFields($fieldset, $receiverData);
|
173 |
+
$this->_preparePackstationFields($fieldset, $receiverData['packstation']);
|
174 |
+
$this->_preparePostfilialeFields($fieldset, $receiverData['postfiliale']);
|
175 |
+
$this->_prepareParcelShopFields($fieldset, $receiverData['parcel_shop']);
|
176 |
+
|
177 |
+
return $this;
|
178 |
+
}
|
179 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Customs.php
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Customs
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Customs
|
37 |
+
extends Mage_Core_Block_Template
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Retrieve shipment model instance
|
41 |
+
*
|
42 |
+
* @return Mage_Sales_Model_Order_Shipment
|
43 |
+
*/
|
44 |
+
public function getShipment()
|
45 |
+
{
|
46 |
+
return Mage::registry('current_shipment');
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @return mixed[]
|
51 |
+
*/
|
52 |
+
public function getTermsOfTrade()
|
53 |
+
{
|
54 |
+
$carrierTerms = Mage::getSingleton('dhl_versenden/shipping_carrier_versenden')->getCode('terms_of_trade');
|
55 |
+
|
56 |
+
$terms = array(
|
57 |
+
array('value' => '', 'label' => $this->helper('adminhtml')->__('--Please Select--')),
|
58 |
+
);
|
59 |
+
|
60 |
+
foreach ($carrierTerms as $carrierTerm) {
|
61 |
+
$terms[]= array('value' => $carrierTerm, 'label' => $carrierTerm);
|
62 |
+
}
|
63 |
+
|
64 |
+
return $terms;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Get Currency Code for Custom Value
|
69 |
+
*
|
70 |
+
* @return string
|
71 |
+
*/
|
72 |
+
public function getCustomValueCurrencyCode()
|
73 |
+
{
|
74 |
+
$orderInfo = $this->getShipment()->getOrder();
|
75 |
+
return $orderInfo->getBaseCurrency()->getCurrencyCode();
|
76 |
+
}
|
77 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Packaging.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging
|
37 |
+
extends Mage_Adminhtml_Block_Sales_Order_Shipment_Packaging
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Obtain selected weight unit from config.
|
41 |
+
*
|
42 |
+
* @return string
|
43 |
+
*/
|
44 |
+
public function getStoreUnit()
|
45 |
+
{
|
46 |
+
$settings = Mage::getModel('dhl_versenden/config_shipment')
|
47 |
+
->getSettings($this->getShipment()->getStoreId());
|
48 |
+
return $settings->getUnitOfMeasure();
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Obtain possible weight units from carrier.
|
53 |
+
*
|
54 |
+
* @return string[]
|
55 |
+
*/
|
56 |
+
public function getWeightUnits()
|
57 |
+
{
|
58 |
+
return Mage::getSingleton('dhl_versenden/shipping_carrier_versenden')->getCode('unit_of_measure');
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Do customs information have to be added?
|
63 |
+
*
|
64 |
+
* @return bool
|
65 |
+
*/
|
66 |
+
public function displayCustomsValue()
|
67 |
+
{
|
68 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')->getShipperCountry($this->getShipment()->getStoreId());
|
69 |
+
$recipientCountry = $this->getShipment()->getOrder()->getShippingAddress()->getCountryId();
|
70 |
+
|
71 |
+
return $this->helper('dhl_versenden/data')->isCollectCustomsData($shipperCountry, $recipientCountry);
|
72 |
+
}
|
73 |
+
|
74 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Packaging/Grid.php
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging_Grid
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging_Grid
|
37 |
+
extends Mage_Adminhtml_Block_Sales_Order_Shipment_Packaging_Grid
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @var string[]
|
41 |
+
*/
|
42 |
+
protected $countriesOfManufacture = array();
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Update template if additional customs data needs to be collected.
|
46 |
+
*/
|
47 |
+
public function __construct()
|
48 |
+
{
|
49 |
+
parent::__construct();
|
50 |
+
if ($this->displayCustomsValue()) {
|
51 |
+
$this->setTemplate('dhl_versenden/sales/packaging_grid.phtml');
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Can display customs value
|
57 |
+
*
|
58 |
+
* @return bool
|
59 |
+
*/
|
60 |
+
public function displayCustomsValue()
|
61 |
+
{
|
62 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')->getShipperCountry($this->getShipment()->getStoreId());
|
63 |
+
$recipientCountry = $this->getShipment()->getOrder()->getShippingAddress()->getCountryId();
|
64 |
+
|
65 |
+
return $this->helper('dhl_versenden/data')->isCollectCustomsData($shipperCountry, $recipientCountry);
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* @return string[]
|
70 |
+
*/
|
71 |
+
public function getCountries()
|
72 |
+
{
|
73 |
+
return Mage::getSingleton('adminhtml/system_config_source_country')->toOptionArray(true);
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Obtain the given product's country of manufacture.
|
78 |
+
*
|
79 |
+
* @param int $productId
|
80 |
+
* @return string
|
81 |
+
*/
|
82 |
+
public function getCountryOfManufacture($productId)
|
83 |
+
{
|
84 |
+
if (empty($this->countriesOfManufacture)) {
|
85 |
+
/** @var Mage_Sales_Model_Resource_Order_Shipment_Item_Collection|Mage_Sales_Model_Order_Shipment_Item[] $items */
|
86 |
+
$items = $this->getCollection();
|
87 |
+
if (!is_array($items)) {
|
88 |
+
$items = $items->getItems();
|
89 |
+
}
|
90 |
+
|
91 |
+
$productIds = array_map(function (Mage_Sales_Model_Order_Shipment_Item $item) {
|
92 |
+
return $item->getProductId();
|
93 |
+
}, $items);
|
94 |
+
|
95 |
+
$productCollection = Mage::getResourceModel('catalog/product_collection');
|
96 |
+
$productCollection
|
97 |
+
->addStoreFilter($this->getShipment()->getStoreId())
|
98 |
+
->addFieldToFilter('entity_id', array('in' => $productIds))
|
99 |
+
->addAttributeToSelect('country_of_manufacture', true);
|
100 |
+
;
|
101 |
+
|
102 |
+
while ($product = $productCollection->fetchItem()) {
|
103 |
+
$this->countriesOfManufacture[$product->getId()] = $product->getData('country_of_manufacture');
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
if (!isset($this->countriesOfManufacture[$productId])) {
|
108 |
+
// fallback to shipper country
|
109 |
+
return Mage::getModel('dhl_versenden/config')->getShipperCountry($this->getShipment()->getStoreId());
|
110 |
+
}
|
111 |
+
|
112 |
+
return $this->countriesOfManufacture[$productId];
|
113 |
+
}
|
114 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Service.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service\Type as Service;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
abstract class Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service
|
37 |
+
extends Mage_Adminhtml_Block_Sales_Order_Shipment_Packaging
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Check if services need to be rendered at all.
|
41 |
+
*
|
42 |
+
* @return string
|
43 |
+
*/
|
44 |
+
public function renderView()
|
45 |
+
{
|
46 |
+
$shippingMethod = $this->getShipment()->getOrder()->getShippingMethod(true);
|
47 |
+
if ($shippingMethod->getData('carrier_code') !== Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE) {
|
48 |
+
return '';
|
49 |
+
}
|
50 |
+
|
51 |
+
return parent::renderView();
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* @return \Dhl\Versenden\Bcs\Api\Shipment\Service\Type\Generic[]
|
56 |
+
*/
|
57 |
+
abstract public function getServices();
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param Service\Generic $service
|
61 |
+
* @return Service\Renderer
|
62 |
+
*/
|
63 |
+
abstract public function getRenderer(Service\Generic $service);
|
64 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Service/Edit.php
ADDED
@@ -0,0 +1,103 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service_Edit
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service_Edit
|
37 |
+
extends Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Obtain the services that are enabled via config. Customer's service
|
41 |
+
* selection from checkout is read from shipping address. Services from
|
42 |
+
* config are added.
|
43 |
+
*
|
44 |
+
* @return Service\Type\Generic[]
|
45 |
+
*/
|
46 |
+
public function getServices()
|
47 |
+
{
|
48 |
+
// obtain enabled services
|
49 |
+
$storeId = $this->getShipment()->getStoreId();
|
50 |
+
$shippingAddress = $this->getShipment()->getShippingAddress();
|
51 |
+
$serviceConfig = Mage::getModel('dhl_versenden/config_service');
|
52 |
+
|
53 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')->getShipperCountry($storeId);
|
54 |
+
$recipientCountry = $shippingAddress->getCountryId();
|
55 |
+
$isPostalFacility = $this->helper('dhl_versenden/data')->isPostalFacility($shippingAddress);
|
56 |
+
|
57 |
+
$availableServices = $serviceConfig->getAvailableServices(
|
58 |
+
$shipperCountry,
|
59 |
+
$recipientCountry,
|
60 |
+
$isPostalFacility,
|
61 |
+
false,
|
62 |
+
$storeId
|
63 |
+
);
|
64 |
+
|
65 |
+
// set default service values from config
|
66 |
+
$printOnlyIfCodeable = Mage::getModel('dhl_versenden/config_shipment')->getSettings($storeId)
|
67 |
+
->isPrintOnlyIfCodeable();
|
68 |
+
$availableServices->getItem(Service\PrintOnlyIfCodeable::CODE)->setValue($printOnlyIfCodeable);
|
69 |
+
|
70 |
+
$parcelAnnouncement = $availableServices->getItem(Service\ParcelAnnouncement::CODE);
|
71 |
+
if (($parcelAnnouncement instanceof Service\ParcelAnnouncement) && !$parcelAnnouncement->isCustomerService()) {
|
72 |
+
$availableServices->getItem(Service\ParcelAnnouncement::CODE)->setValue(true);
|
73 |
+
}
|
74 |
+
|
75 |
+
// set/override service values from pre-selection
|
76 |
+
/** @var \Dhl\Versenden\Bcs\Api\Info $versendenInfo */
|
77 |
+
$versendenInfo = $shippingAddress->getData('dhl_versenden_info');
|
78 |
+
if (!$versendenInfo instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
79 |
+
return $availableServices;
|
80 |
+
}
|
81 |
+
|
82 |
+
/** @var Service\Type\Generic $availableService */
|
83 |
+
foreach ($availableServices as $availableService) {
|
84 |
+
$code = $availableService->getCode();
|
85 |
+
$serviceSelection = $versendenInfo->getServices()->{$code};
|
86 |
+
if ($serviceSelection !== null) {
|
87 |
+
$availableService->setValue($serviceSelection);
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
return $availableServices;
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* @param Service\Type\Generic $service
|
96 |
+
* @return Service\Type\Renderer
|
97 |
+
*/
|
98 |
+
public function getRenderer(Service\Type\Generic $service)
|
99 |
+
{
|
100 |
+
$renderer = new Service\Type\Renderer($service);
|
101 |
+
return $renderer;
|
102 |
+
}
|
103 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/Sales/Order/Shipment/Service/View.php
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service\Type as Service;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service_View
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service_View
|
37 |
+
extends Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Obtain the services that were chosen during shipment creation.
|
41 |
+
*
|
42 |
+
* @return \Dhl\Versenden\Bcs\Api\Shipment\Service\Type\Generic[]
|
43 |
+
*/
|
44 |
+
public function getServices()
|
45 |
+
{
|
46 |
+
$storeId = $this->getShipment()->getStoreId();
|
47 |
+
$shippingAddress = $this->getShipment()->getShippingAddress();
|
48 |
+
$serviceConfig = Mage::getModel('dhl_versenden/config_service');
|
49 |
+
|
50 |
+
$availableServices = $serviceConfig->getServices($storeId);
|
51 |
+
|
52 |
+
$versendenInfo = $shippingAddress->getData('dhl_versenden_info');
|
53 |
+
if (!$versendenInfo instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
54 |
+
return $availableServices;
|
55 |
+
}
|
56 |
+
|
57 |
+
$selectedServices = array();
|
58 |
+
|
59 |
+
/** @var Service\Generic $availableService */
|
60 |
+
foreach ($availableServices as $availableService) {
|
61 |
+
$code = $availableService->getCode();
|
62 |
+
$availableService->setValue($versendenInfo->getServices()->{$code});
|
63 |
+
if ($availableService->isSelected()) {
|
64 |
+
$selectedServices[]= $availableService;
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
return new Dhl\Versenden\Bcs\Api\Shipment\Service\Collection($selectedServices);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param Service\Generic $service
|
73 |
+
* @return Service\Renderer
|
74 |
+
*/
|
75 |
+
public function getRenderer(Service\Generic $service)
|
76 |
+
{
|
77 |
+
$renderer = new Service\Renderer($service, true);
|
78 |
+
$renderer->setSelectedYes($this->__('Yes'));
|
79 |
+
$renderer->setSelectedNo($this->__('No'));
|
80 |
+
return $renderer;
|
81 |
+
}
|
82 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/System/Config/Heading.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_System_Config_Heading
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_System_Config_Heading
|
37 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Render element html
|
41 |
+
*
|
42 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
43 |
+
* @return string
|
44 |
+
*/
|
45 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
46 |
+
{
|
47 |
+
$comment = $element->getComment();
|
48 |
+
if ($comment) {
|
49 |
+
$comment = "<p>$comment</p>";
|
50 |
+
}
|
51 |
+
$html = sprintf('<td colspan="5"><h4>%s</h4>%s</td>', $element->getLabel(), $comment);
|
52 |
+
return $this->_decorateRowHtml($element, $html);
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Decorate field row html
|
57 |
+
*
|
58 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
59 |
+
* @param string $html
|
60 |
+
* @return string
|
61 |
+
*/
|
62 |
+
protected function _decorateRowHtml($element, $html)
|
63 |
+
{
|
64 |
+
return '<tr class="system-fieldset-sub-head" id="row_' . $element->getHtmlId() . '">' . $html . '</tr>';
|
65 |
+
}
|
66 |
+
}
|
app/code/community/Dhl/Versenden/Block/Adminhtml/System/Config/Info.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Adminhtml_System_Config_Heading
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Adminhtml_System_Config_Info
|
37 |
+
extends Mage_Adminhtml_Block_System_Config_Form_Field
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Init template
|
41 |
+
*
|
42 |
+
* @return $this
|
43 |
+
*/
|
44 |
+
protected function _prepareLayout()
|
45 |
+
{
|
46 |
+
parent::_prepareLayout();
|
47 |
+
|
48 |
+
if (!$this->getTemplate()) {
|
49 |
+
$this->setTemplate('dhl_versenden/system/config/info.phtml');
|
50 |
+
}
|
51 |
+
|
52 |
+
return $this;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Unset some non-related element parameters
|
57 |
+
*
|
58 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
public function render(Varien_Data_Form_Element_Abstract $element)
|
62 |
+
{
|
63 |
+
$element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
|
64 |
+
return parent::render($element);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Render the template
|
69 |
+
*
|
70 |
+
* @param Varien_Data_Form_Element_Abstract $element
|
71 |
+
* @return string
|
72 |
+
*/
|
73 |
+
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
|
74 |
+
{
|
75 |
+
return $this->_toHtml();
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Obtain the current module version.
|
80 |
+
*
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
public function getModuleVersion()
|
84 |
+
{
|
85 |
+
return Mage::helper('dhl_versenden/data')->getModuleVersion();
|
86 |
+
}
|
87 |
+
}
|
app/code/community/Dhl/Versenden/Block/Checkout/Onepage/Shipping/Method/Service.php
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service as Service;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Block_Checkout_Onepage_Shipping_Method_Service
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Dhl_Versenden_Block_Checkout_Onepage_Shipping_Method_Service
|
38 |
+
extends Mage_Checkout_Block_Onepage_Abstract
|
39 |
+
{
|
40 |
+
/**
|
41 |
+
* Obtain the services that are enabled via config and can be chosen by customer.
|
42 |
+
*
|
43 |
+
* @return Service\Collection
|
44 |
+
*/
|
45 |
+
public function getServices()
|
46 |
+
{
|
47 |
+
$storeId = $this->getQuote()->getStoreId();
|
48 |
+
$shippingAddress = $this->getQuote()->getShippingAddress();
|
49 |
+
$serviceConfig = Mage::getModel('dhl_versenden/config_service');
|
50 |
+
|
51 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')->getShipperCountry($storeId);
|
52 |
+
$recipientCountry = $shippingAddress->getCountryId();
|
53 |
+
$isPostalFacility = $this->helper('dhl_versenden/data')->isPostalFacility($shippingAddress);
|
54 |
+
|
55 |
+
$availableServices = $serviceConfig->getAvailableServices(
|
56 |
+
$shipperCountry,
|
57 |
+
$recipientCountry,
|
58 |
+
$isPostalFacility,
|
59 |
+
true,
|
60 |
+
$storeId
|
61 |
+
);
|
62 |
+
|
63 |
+
return $availableServices;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Check if the shipping address is already a dhl location
|
68 |
+
*
|
69 |
+
* @return boolean
|
70 |
+
*/
|
71 |
+
public function isShippingAddressDHLLocation()
|
72 |
+
{
|
73 |
+
$shippingAddress = $this->getQuote()->getShippingAddress();
|
74 |
+
|
75 |
+
if (!empty($shippingAddress->getData('dhl_station_type'))
|
76 |
+
|| (!empty($shippingAddress->getData('dhl_versenden_info'))
|
77 |
+
&& $this->isReceiverLocationUsed($shippingAddress->getData('dhl_versenden_info')))
|
78 |
+
) {
|
79 |
+
return true;
|
80 |
+
} else {
|
81 |
+
return false;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @param \Dhl\Versenden\Bcs\Api\Info $versendenInfo
|
87 |
+
*
|
88 |
+
* @return boolean
|
89 |
+
*/
|
90 |
+
protected function isReceiverLocationUsed($versendenInfo)
|
91 |
+
{
|
92 |
+
if ($versendenInfo->getReceiver()->packstation->packstationNumber
|
93 |
+
|| $versendenInfo->getReceiver()->postfiliale->postfilialNumber
|
94 |
+
|| $versendenInfo->getReceiver()->parcelShop->parcelShopNumber
|
95 |
+
) {
|
96 |
+
return true;
|
97 |
+
} else {
|
98 |
+
return false;
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Obtain the shipping methods that should be processed with DHL Versenden.
|
104 |
+
*
|
105 |
+
* @return string json encoded methods array
|
106 |
+
*/
|
107 |
+
public function getDhlMethods()
|
108 |
+
{
|
109 |
+
$storeId = $this->getQuote()->getStoreId();
|
110 |
+
|
111 |
+
$config = Mage::getModel('dhl_versenden/config_shipment');
|
112 |
+
$dhlMethods = $config->getSettings($storeId)->getShippingMethods();
|
113 |
+
return $this->helper('core/data')->jsonEncode($dhlMethods);
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Obtain Frontend Service hint based on service code.
|
118 |
+
*
|
119 |
+
* @param string $serviceCode
|
120 |
+
* @return string
|
121 |
+
*/
|
122 |
+
public function getServiceHint($serviceCode)
|
123 |
+
{
|
124 |
+
switch ($serviceCode) {
|
125 |
+
case Service\PreferredDay::CODE:
|
126 |
+
$msg = 'Choose one of the displayed days as your preferred day for your parcel delivery.'
|
127 |
+
. ' Other days are not possible due to delivery processes.';
|
128 |
+
break;
|
129 |
+
case Service\PreferredTime::CODE:
|
130 |
+
$msg = 'Indicate a preferred time, which suits you best for your parcel delivery by'
|
131 |
+
. ' choosing one of the displayed time windows.';
|
132 |
+
break;
|
133 |
+
case Service\PreferredLocation::CODE:
|
134 |
+
$msg = 'Choose a weather-protected and non-visible place on your property,'
|
135 |
+
. ' where we can deposit the parcel in your absence.';
|
136 |
+
break;
|
137 |
+
case Service\PreferredNeighbour::CODE:
|
138 |
+
$msg = 'Determine a person in your immediate neighborhood whom we can hand out your parcel.'
|
139 |
+
. ' This person should live in the same building, directly opposite or next door.';
|
140 |
+
break;
|
141 |
+
default:
|
142 |
+
$msg = '';
|
143 |
+
}
|
144 |
+
|
145 |
+
return $msg ? $this->__($msg) : '';
|
146 |
+
}
|
147 |
+
}
|
app/code/community/Dhl/Versenden/Block/Config/Service.php
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Block_Config_Service
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Block_Config_Service extends Mage_Core_Block_Template
|
37 |
+
{
|
38 |
+
protected $_nameArray = array(
|
39 |
+
'preferredDay' => 'Preferred day',
|
40 |
+
'preferredTime' => 'Preferred time',
|
41 |
+
'preferredLocation' => 'Preferred location',
|
42 |
+
'preferredNeighbour' => 'Preferred neighbor',
|
43 |
+
'parcelAnnouncement' => 'Parcel announcement',
|
44 |
+
);
|
45 |
+
|
46 |
+
public function renderName($nameKey)
|
47 |
+
{
|
48 |
+
return $this->_nameArray[$nameKey];
|
49 |
+
}
|
50 |
+
|
51 |
+
public function renderDate($value)
|
52 |
+
{
|
53 |
+
/** @var Mage_Core_Model_Date $dateModel */
|
54 |
+
$dateModel = Mage::getSingleton('core/date');
|
55 |
+
|
56 |
+
$formatedDate = $dateModel->date("d.m.Y", $value);
|
57 |
+
if (strpos(Mage::app()->getLocale()->getLocaleCode(), 'de_') === false) {
|
58 |
+
$formatedDate = $dateModel->date("d/m/Y", $value);
|
59 |
+
}
|
60 |
+
|
61 |
+
return $formatedDate;
|
62 |
+
}
|
63 |
+
|
64 |
+
public function renderTime($value)
|
65 |
+
{
|
66 |
+
if (!ctype_digit($value) || strlen($value) <> 8) {
|
67 |
+
return $value;
|
68 |
+
}
|
69 |
+
$timeValues = str_split($value, 2);
|
70 |
+
$result = $timeValues[0] . ' - ' . $timeValues[2];
|
71 |
+
|
72 |
+
return Mage::helper('dhl_versenden/data')->__($result);
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* check if there are services selected
|
77 |
+
*
|
78 |
+
* @return bool
|
79 |
+
*/
|
80 |
+
public function isServiceSelected()
|
81 |
+
{
|
82 |
+
$services = $this->getData('services');
|
83 |
+
$servicesArray = $services->toArray();
|
84 |
+
$filteredServices = array_filter($servicesArray);
|
85 |
+
|
86 |
+
return count($filteredServices) > 0 ? true : false;
|
87 |
+
}
|
88 |
+
}
|
app/code/community/Dhl/Versenden/Helper/Address.php
ADDED
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Helper_Address
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Helper_Address extends Mage_Core_Helper_Abstract
|
37 |
+
{
|
38 |
+
const OPTION_A_ADDITION_1 = 'A_Addition_to_address_1';
|
39 |
+
const OPTION_A_STREET_NAME = 'A_Street_name_1';
|
40 |
+
const OPTION_A_HOUSE_NUMBER = 'A_House_number_1';
|
41 |
+
const OPTION_A_ADDITION_2 = 'A_Addition_to_address_2';
|
42 |
+
const OPTION_B_ADDITION_1 = 'B_Addition_to_address_1';
|
43 |
+
const OPTION_B_STREET_NAME = 'B_Street_name';
|
44 |
+
const OPTION_B_HOUSE_NUMBER = 'B_House_number';
|
45 |
+
const OPTION_B_ADDITION_2 = 'B_Addition_to_address_2';
|
46 |
+
|
47 |
+
|
48 |
+
/**
|
49 |
+
* split street into street name, number and additional street information
|
50 |
+
*
|
51 |
+
* @param string $street
|
52 |
+
*
|
53 |
+
* @return array
|
54 |
+
*/
|
55 |
+
public function splitStreet($street)
|
56 |
+
{
|
57 |
+
$result = array(
|
58 |
+
'street_name' => $street,
|
59 |
+
'street_number' => '',
|
60 |
+
'supplement' => ''
|
61 |
+
);
|
62 |
+
|
63 |
+
if (preg_match($this->getStreetSplitter(), $street, $matches)) {
|
64 |
+
|
65 |
+
// Pattern A
|
66 |
+
if (isset($matches[self::OPTION_A_STREET_NAME]) && !empty($matches[self::OPTION_A_STREET_NAME])) {
|
67 |
+
|
68 |
+
$result['street_name'] = trim($matches[self::OPTION_A_STREET_NAME]);
|
69 |
+
|
70 |
+
if (isset($matches[self::OPTION_A_HOUSE_NUMBER]) && !empty($matches[self::OPTION_A_HOUSE_NUMBER])) {
|
71 |
+
$result['street_number'] = trim($matches[self::OPTION_A_HOUSE_NUMBER]);
|
72 |
+
}
|
73 |
+
|
74 |
+
if (isset($matches[self::OPTION_A_ADDITION_1]) && isset($matches[self::OPTION_A_ADDITION_2])) {
|
75 |
+
$result['supplement'] = trim($matches[self::OPTION_A_ADDITION_1] . ' '
|
76 |
+
. $matches[self::OPTION_A_ADDITION_2]
|
77 |
+
);
|
78 |
+
}
|
79 |
+
|
80 |
+
// Pattern B
|
81 |
+
} elseif (isset($matches[self::OPTION_B_STREET_NAME]) && !empty($matches[self::OPTION_B_STREET_NAME])) {
|
82 |
+
|
83 |
+
$result['street_name'] = trim($matches[self::OPTION_B_STREET_NAME]);
|
84 |
+
|
85 |
+
if (isset($matches[self::OPTION_B_HOUSE_NUMBER]) && !empty($matches[self::OPTION_B_HOUSE_NUMBER])) {
|
86 |
+
$result['street_number'] = trim($matches[self::OPTION_B_HOUSE_NUMBER]);
|
87 |
+
}
|
88 |
+
|
89 |
+
if (isset($matches[self::OPTION_B_ADDITION_1]) && isset($matches[self::OPTION_B_ADDITION_2])) {
|
90 |
+
$result['supplement'] = trim($matches[self::OPTION_B_ADDITION_1] . ' '
|
91 |
+
. $matches[self::OPTION_B_ADDITION_2]
|
92 |
+
);
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
return $result;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Regex to analyze addresses and split them into the groups Street Name, House Number and Additional Information
|
102 |
+
* Pattern A is addition number street addition
|
103 |
+
* Pattern B is addition street number addition
|
104 |
+
*
|
105 |
+
* @return string
|
106 |
+
*/
|
107 |
+
protected function getStreetSplitter()
|
108 |
+
{
|
109 |
+
return "/\\A\\s*
|
110 |
+
(?:
|
111 |
+
#########################################################################
|
112 |
+
# Option A: [<Addition to address 1>] <House number> <Street name> #
|
113 |
+
# [<Addition to address 2>] #
|
114 |
+
#########################################################################
|
115 |
+
(?:
|
116 |
+
(?P<A_Addition_to_address_1>.*?)
|
117 |
+
,\\s*
|
118 |
+
)?
|
119 |
+
# Addition to address 1
|
120 |
+
(?:No\\.\\s*)?
|
121 |
+
(?P<A_House_number_1>
|
122 |
+
\\pN+[a-zA-Z]?
|
123 |
+
(?:\\s*[-\\/\\pP]\\s*\\pN+[a-zA-Z]?)*
|
124 |
+
)
|
125 |
+
# House number
|
126 |
+
\\s*,?\\s*
|
127 |
+
(?P<A_Street_name_1>
|
128 |
+
(?:[a-zA-Z]\\s*|\\pN\\pL{2,}\\s\\pL)
|
129 |
+
\\S[^,#]*?
|
130 |
+
(?<!\\s)
|
131 |
+
)
|
132 |
+
# Street name
|
133 |
+
\\s*
|
134 |
+
(?:
|
135 |
+
(?:
|
136 |
+
[,\\/]|
|
137 |
+
(?=\\#)
|
138 |
+
)
|
139 |
+
\\s*
|
140 |
+
(?!\\s*No\\.)
|
141 |
+
(?P<A_Addition_to_address_2>
|
142 |
+
(?!\\s)
|
143 |
+
.*?
|
144 |
+
)
|
145 |
+
)?
|
146 |
+
# Addition to address 2
|
147 |
+
|
|
148 |
+
#########################################################################
|
149 |
+
# Option B: [<Addition to address 1>] <Street name> <House number> #
|
150 |
+
# [<Addition to address 2>] #
|
151 |
+
#########################################################################
|
152 |
+
(?:
|
153 |
+
(?P<B_Addition_to_address_1>.*?)
|
154 |
+
,\\s*
|
155 |
+
(?=.*[,\\/])
|
156 |
+
)?
|
157 |
+
# Addition to address 1
|
158 |
+
(?!\\s*No\\.)
|
159 |
+
(?P<B_Street_name>
|
160 |
+
\\S\\s*\\S
|
161 |
+
(?:
|
162 |
+
[^,#]
|
163 |
+
(?!\\b\\pN+\\s)
|
164 |
+
)*?
|
165 |
+
(?<!\\s)
|
166 |
+
)
|
167 |
+
# Street name
|
168 |
+
\\s*[\\/,]?\\s*
|
169 |
+
(?:\\sNo\\.)?
|
170 |
+
\\s+
|
171 |
+
(?P<B_House_number>
|
172 |
+
\\pN+\\s*-?[a-zA-Z]?
|
173 |
+
(?:
|
174 |
+
\\s*[-\\/\\pP]?\\s*\\pN+
|
175 |
+
(?:\\s*[\\-a-zA-Z])?
|
176 |
+
)*|
|
177 |
+
[IVXLCDM]+
|
178 |
+
(?!.*\\b\\pN+\\b)
|
179 |
+
)
|
180 |
+
(?<!\\s)
|
181 |
+
# House number
|
182 |
+
\\s*
|
183 |
+
(?:
|
184 |
+
(?:
|
185 |
+
[,\\/]|
|
186 |
+
(?=\\#)|
|
187 |
+
\\s
|
188 |
+
)
|
189 |
+
\\s*
|
190 |
+
(?!\\s*No\\.)
|
191 |
+
\\s*
|
192 |
+
(?P<B_Addition_to_address_2>
|
193 |
+
(?!\\s)
|
194 |
+
.*?
|
195 |
+
)
|
196 |
+
)?
|
197 |
+
# Addition to address 2
|
198 |
+
)
|
199 |
+
\\s*\\Z/x";
|
200 |
+
}
|
201 |
+
}
|
app/code/community/Dhl/Versenden/Helper/Autoloader.php
ADDED
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Helper_Autoloader
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Helper_Autoloader
|
37 |
+
{
|
38 |
+
protected $_prefixes = array();
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Adds a base directory for a namespace prefix.
|
42 |
+
* For the current project, one base dir per namespace seems sufficient.
|
43 |
+
*
|
44 |
+
* @param string $prefix The namespace prefix.
|
45 |
+
* @param string $baseDir A base directory for class files in the
|
46 |
+
* namespace.
|
47 |
+
* @return void
|
48 |
+
*/
|
49 |
+
public function addNamespace($prefix, $baseDir)
|
50 |
+
{
|
51 |
+
// normalize namespace prefix
|
52 |
+
$prefix = trim($prefix, '\\') . '\\';
|
53 |
+
|
54 |
+
// normalize the base directory with a trailing separator
|
55 |
+
$baseDir = rtrim($baseDir, DIRECTORY_SEPARATOR) . '/';
|
56 |
+
|
57 |
+
// define where the classes for a namespace should be looked up
|
58 |
+
$this->_prefixes[$prefix] = $baseDir;
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Register loader with SPL autoloader stack.
|
63 |
+
*
|
64 |
+
* @return void
|
65 |
+
*/
|
66 |
+
public function register()
|
67 |
+
{
|
68 |
+
spl_autoload_register(array($this, 'loadClass'), true, true);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Load the class file for a given class name.
|
73 |
+
*
|
74 |
+
* @param string $class The fully-qualified class name.
|
75 |
+
* @return bool
|
76 |
+
*/
|
77 |
+
public function loadClass($class)
|
78 |
+
{
|
79 |
+
reset($this->_prefixes);
|
80 |
+
while (list($prefix, $baseDir) = each($this->_prefixes)) {
|
81 |
+
$len = strlen($prefix);
|
82 |
+
if (strncmp($prefix, $class, $len) !== 0) {
|
83 |
+
// class does not match current namespace prefix, go on.
|
84 |
+
continue;
|
85 |
+
}
|
86 |
+
|
87 |
+
$class = substr($class, $len);
|
88 |
+
$phpFile = $baseDir . str_replace('\\', '/', $class) . '.php';
|
89 |
+
if (file_exists($phpFile)) {
|
90 |
+
require_once $phpFile;
|
91 |
+
return true;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
// class did not match registered namespace prefixes or was not found.
|
96 |
+
return false;
|
97 |
+
}
|
98 |
+
}
|
app/code/community/Dhl/Versenden/Helper/Data.php
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Helper_Data
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Helper_Data extends Mage_Core_Helper_Abstract
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* Get the currently installed Dhl_Versenden version.
|
40 |
+
*
|
41 |
+
* @return string
|
42 |
+
*/
|
43 |
+
public function getModuleVersion()
|
44 |
+
{
|
45 |
+
$moduleName = $this->_getModuleName();
|
46 |
+
return (string)Mage::getConfig()->getModuleConfig($moduleName)->version;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Convert a timestamp to a CE(S)T time string.
|
51 |
+
*
|
52 |
+
* @param string $timestamp The timestamp to convert
|
53 |
+
* @param string $format The output format
|
54 |
+
* @return string
|
55 |
+
*/
|
56 |
+
public function utcToCet($timestamp = null, $format = 'Y-m-d H:i:s')
|
57 |
+
{
|
58 |
+
if (null === $timestamp) {
|
59 |
+
$timestamp = time();
|
60 |
+
}
|
61 |
+
|
62 |
+
$date = new DateTime("@$timestamp");
|
63 |
+
$timezoneCet = new DateTimeZone('Europe/Berlin');
|
64 |
+
|
65 |
+
$intervalSpec = sprintf("PT%dS", $timezoneCet->getOffset($date));
|
66 |
+
$date->add(new DateInterval($intervalSpec));
|
67 |
+
|
68 |
+
return $date->format($format);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Check if customs data must be collected for export documents.
|
73 |
+
*
|
74 |
+
* @param string $shipperCountry
|
75 |
+
* @param string $recipientCountry
|
76 |
+
* @return bool
|
77 |
+
*/
|
78 |
+
public function isCollectCustomsData($shipperCountry, $recipientCountry)
|
79 |
+
{
|
80 |
+
// are shipper and receiver located in different countries?
|
81 |
+
$diffCountry = ($shipperCountry != $recipientCountry);
|
82 |
+
|
83 |
+
// are shipper and receiver both located in EU country?
|
84 |
+
$bothEu = Mage::helper('core/data')->isCountryInEU($shipperCountry)
|
85 |
+
&& Mage::helper('core/data')->isCountryInEU($recipientCountry);
|
86 |
+
|
87 |
+
|
88 |
+
return $diffCountry && !$bothEu;
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Get template name for packaging popup.
|
93 |
+
*
|
94 |
+
* @param string $template dhl template
|
95 |
+
* @param string $block block name
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
public function getPackagingPopupTemplate($template, $block)
|
99 |
+
{
|
100 |
+
/** @var Mage_Adminhtml_Block_Sales_Order_Shipment_Packaging $blockObject */
|
101 |
+
$blockObject = Mage::getSingleton('core/layout')->getBlock($block);
|
102 |
+
$shippingMethod = $blockObject->getShipment()->getOrder()->getShippingMethod(true);
|
103 |
+
|
104 |
+
if ($shippingMethod->getData('carrier_code') !== Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE) {
|
105 |
+
// different carrier, return standard template
|
106 |
+
return $blockObject->getTemplate();
|
107 |
+
}
|
108 |
+
|
109 |
+
return $template;
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Get template name for packaging packed info.
|
114 |
+
*
|
115 |
+
* @param string $template dhl template
|
116 |
+
* @param string $block block name
|
117 |
+
* @return string
|
118 |
+
*/
|
119 |
+
public function getPackagingPackedTemplate($template, $block)
|
120 |
+
{
|
121 |
+
/** @var Mage_Adminhtml_Block_Sales_Order_Shipment_Packaging $blockObject */
|
122 |
+
$blockObject = Mage::getSingleton('core/layout')->getBlock($block);
|
123 |
+
$shippingMethod = $blockObject->getShipment()->getOrder()->getShippingMethod(true);
|
124 |
+
|
125 |
+
if ($shippingMethod->getData('carrier_code') !== Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE) {
|
126 |
+
// different carrier, return standard template
|
127 |
+
return $blockObject->getTemplate();
|
128 |
+
}
|
129 |
+
|
130 |
+
return $template;
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Check if the given address implies delivery to a postal facility.
|
135 |
+
*
|
136 |
+
* @param Mage_Sales_Model_Quote_Address|Mage_Sales_Model_Order_Address $address
|
137 |
+
* @return bool
|
138 |
+
*/
|
139 |
+
public function isPostalFacility(Mage_Customer_Model_Address_Abstract $address)
|
140 |
+
{
|
141 |
+
// let 3rd party extensions add postal facility data
|
142 |
+
$facility = new Varien_Object();
|
143 |
+
|
144 |
+
Mage::dispatchEvent(
|
145 |
+
'dhl_versenden_fetch_postal_facility', array(
|
146 |
+
'customer_address' => $address,
|
147 |
+
'postal_facility' => $facility,
|
148 |
+
)
|
149 |
+
);
|
150 |
+
|
151 |
+
return ($facility->getData('shop_type') !== null);
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* @param Mage_Sales_Model_Order $order
|
156 |
+
* @param string $message
|
157 |
+
*/
|
158 |
+
public function addStatusHistoryComment(Mage_Sales_Model_Order $order, $message)
|
159 |
+
{
|
160 |
+
$history = Mage::getModel('sales/order_status_history')
|
161 |
+
->setOrder($order)
|
162 |
+
->setStatus($order->getStatus())
|
163 |
+
->setComment($message)
|
164 |
+
->setData('entity_name', Mage_Sales_Model_Order::HISTORY_ENTITY_NAME);
|
165 |
+
|
166 |
+
$historyCollection = $order->getStatusHistoryCollection();
|
167 |
+
$historyCollection->addItem($history);
|
168 |
+
$historyCollection->save();
|
169 |
+
}
|
170 |
+
}
|
app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Loglevel.php
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Adminhtml_System_Config_Source_Loglevel
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Adminhtml_System_Config_Source_Loglevel
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* Options getter
|
40 |
+
*
|
41 |
+
* @return array
|
42 |
+
*/
|
43 |
+
public function toOptionArray()
|
44 |
+
{
|
45 |
+
$optionArray = array();
|
46 |
+
|
47 |
+
$options = $this->toArray();
|
48 |
+
foreach ($options as $value => $label) {
|
49 |
+
$optionArray[]= array('value' => $value, 'label' => $label);
|
50 |
+
}
|
51 |
+
|
52 |
+
return $optionArray;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Get options in "key-value" format
|
57 |
+
*
|
58 |
+
* @return array
|
59 |
+
*/
|
60 |
+
public function toArray()
|
61 |
+
{
|
62 |
+
return array(
|
63 |
+
Zend_Log::ERR => Mage::helper('dhl_versenden/data')->__('Error'),
|
64 |
+
Zend_Log::WARN => Mage::helper('dhl_versenden/data')->__('Warning'),
|
65 |
+
Zend_Log::DEBUG => Mage::helper('dhl_versenden/data')->__('Debug')
|
66 |
+
);
|
67 |
+
}
|
68 |
+
}
|
app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Procedure.php
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Product;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Adminhtml_System_Config_Source_Procedure
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Adminhtml_System_Config_Source_Procedure
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* Options getter
|
40 |
+
*
|
41 |
+
* @return array
|
42 |
+
*/
|
43 |
+
public function toOptionArray()
|
44 |
+
{
|
45 |
+
$optionArray = array();
|
46 |
+
|
47 |
+
$options = $this->toArray();
|
48 |
+
foreach ($options as $value => $label) {
|
49 |
+
$optionArray[]= array('value' => $value, 'label' => $label);
|
50 |
+
}
|
51 |
+
|
52 |
+
return $optionArray;
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Get options in "key-value" format
|
57 |
+
*
|
58 |
+
* @return array
|
59 |
+
*/
|
60 |
+
public function toArray()
|
61 |
+
{
|
62 |
+
$helper = Mage::helper('dhl_versenden/data');
|
63 |
+
return array(
|
64 |
+
Product::PROCEDURE_PAKET_NATIONAL => $helper->__('DHL Paket: V01PAK'),
|
65 |
+
Product::PROCEDURE_WELTPAKET => $helper->__('DHL Paket International: V53WPAK'),
|
66 |
+
Product::PROCEDURE_PAKET_AUSTRIA => $helper->__('DHL Paket Austria: V86PARCEL'),
|
67 |
+
Product::PROCEDURE_PAKET_CONNECT => $helper->__('DHL PAKET Connect: V87PARCEL'),
|
68 |
+
Product::PROCEDURE_PAKET_INTERNATIONAL => $helper->__('DHL PAKET International: V82PARCEL'),
|
69 |
+
Product::PROCEDURE_RETURNSHIPMENT_NATIONAL => $helper->__('Retoure DHL Paket: V01PAK'),
|
70 |
+
Product::PROCEDURE_RETURNSHIPMENT_AUSTRIA => $helper->__('Retoure DHL Paket Austria: V86PARCEL'),
|
71 |
+
Product::PROCEDURE_RETURNSHIPMENT_CONNECT => $helper->__('Retoure DHL Paket Connect: V87PARCEL'),
|
72 |
+
);
|
73 |
+
}
|
74 |
+
}
|
app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Service/Visualcheckofage.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Adminhtml_System_Config_Source_Service_Visualcheckofage
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Adminhtml_System_Config_Source_Service_Visualcheckofage
|
37 |
+
{
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Options getter
|
41 |
+
*
|
42 |
+
* @return array
|
43 |
+
*/
|
44 |
+
public function toOptionArray()
|
45 |
+
{
|
46 |
+
$optionsArray = array(
|
47 |
+
array(
|
48 |
+
'value' => 0,
|
49 |
+
'label' => Mage::helper('dhl_versenden/data')->__('No')
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'value' => \Dhl\Versenden\Bcs\Api\Shipment\Service\VisualCheckOfAge::A16,
|
53 |
+
'label' => \Dhl\Versenden\Bcs\Api\Shipment\Service\VisualCheckOfAge::A16,
|
54 |
+
),
|
55 |
+
array(
|
56 |
+
'value' => \Dhl\Versenden\Bcs\Api\Shipment\Service\VisualCheckOfAge::A18,
|
57 |
+
'label' => \Dhl\Versenden\Bcs\Api\Shipment\Service\VisualCheckOfAge::A18,
|
58 |
+
)
|
59 |
+
);
|
60 |
+
|
61 |
+
return $optionsArray;
|
62 |
+
}
|
63 |
+
|
64 |
+
|
65 |
+
}
|
app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Shipping/Allmethods.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Adminhtml_System_Config_Source_Shipping_Allmethods
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Adminhtml_System_Config_Source_Shipping_Allmethods
|
37 |
+
extends Mage_Adminhtml_Model_System_Config_Source_Shipping_Allmethods
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* The core source model changes the meaning of the incoming parameter.
|
41 |
+
*
|
42 |
+
* @see Mage_Adminhtml_Block_System_Config_Form::initFields()
|
43 |
+
* @see Mage_Adminhtml_Model_System_Config_Source_Shipping_Allmethods::toOptionArray()
|
44 |
+
* @param bool $isMultiSelect
|
45 |
+
* @return mixed[]
|
46 |
+
*/
|
47 |
+
public function toOptionArray($isMultiSelect = false)
|
48 |
+
{
|
49 |
+
$showActiveOnlyFlag = $isMultiSelect;
|
50 |
+
return parent::toOptionArray($showActiveOnlyFlag);
|
51 |
+
}
|
52 |
+
}
|
app/code/community/Dhl/Versenden/Model/Adminhtml/System/Config/Source/Yesoptno.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Adminhtml_System_Config_Source_Yesoptno
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Adminhtml_System_Config_Source_Yesoptno
|
37 |
+
{
|
38 |
+
const N = '0';
|
39 |
+
const Y = '1';
|
40 |
+
const OPT = '2';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Options getter
|
44 |
+
*
|
45 |
+
* @return array
|
46 |
+
*/
|
47 |
+
public function toOptionArray()
|
48 |
+
{
|
49 |
+
$options = $this->toArray();
|
50 |
+
$optionsArray = array();
|
51 |
+
foreach (array(self::Y, self::OPT, self::N) as $optionValue) {
|
52 |
+
$optionsArray[] = array('value' => $optionValue, 'label' => $options[$optionValue]);
|
53 |
+
}
|
54 |
+
|
55 |
+
return $optionsArray;
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Get options in "key-value" format
|
60 |
+
*
|
61 |
+
* @return array
|
62 |
+
*/
|
63 |
+
public function toArray()
|
64 |
+
{
|
65 |
+
return array(
|
66 |
+
self::N => Mage::helper('adminhtml')->__('No'),
|
67 |
+
self::Y => Mage::helper('adminhtml')->__('Yes'),
|
68 |
+
self::OPT => Mage::helper('adminhtml')->__('Optional'),
|
69 |
+
);
|
70 |
+
}
|
71 |
+
}
|
app/code/community/Dhl/Versenden/Model/Config.php
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use Dhl\Versenden\Bcs\Api\Shipment\Service;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Config
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Config
|
37 |
+
{
|
38 |
+
const CONFIG_SECTION = 'carriers';
|
39 |
+
const CONFIG_GROUP = 'dhlversenden';
|
40 |
+
|
41 |
+
|
42 |
+
const CONFIG_XML_PATH_AUTOLOAD_ENABLED = 'dhl_versenden/dev/autoload_enabled';
|
43 |
+
|
44 |
+
const CONFIG_XML_PATH_CARRIER_TITLE = 'title';
|
45 |
+
const CONFIG_XML_PATH_SANDBOX_MODE = 'sandbox_mode';
|
46 |
+
const CONFIG_XML_PATH_LOGGING_ENABLED = 'logging_enabled';
|
47 |
+
const CONFIG_XML_PATH_LOG_LEVEL = 'log_level';
|
48 |
+
|
49 |
+
const CONFIG_XML_PATH_WS_AUTH_USERNAME = 'webservice_auth_username';
|
50 |
+
const CONFIG_XML_PATH_WS_AUTH_PASSWORD = 'webservice_auth_password';
|
51 |
+
|
52 |
+
const CONFIG_XML_PATH_SANDBOX_ENDPOINT = 'sandbox_endpoint';
|
53 |
+
const CONFIG_XML_PATH_SANDBOX_AUTH_USERNAME = 'sandbox_auth_username';
|
54 |
+
const CONFIG_XML_PATH_SANDBOX_AUTH_PASSWORD = 'sandbox_auth_password';
|
55 |
+
|
56 |
+
const CONFIG_XML_PATH_AUTOCREATE_ENABLED = 'shipment_autocreate_enabled';
|
57 |
+
const CONFIG_XML_PATH_AUTOCREATE_ORDER_STATUS = 'shipment_autocreate_order_status';
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Wrap store config access.
|
61 |
+
*
|
62 |
+
* @param string $field
|
63 |
+
* @param mixed $store
|
64 |
+
* @return mixed
|
65 |
+
*/
|
66 |
+
protected function getStoreConfig($field, $store = null)
|
67 |
+
{
|
68 |
+
$path = sprintf('%s/%s/%s', self::CONFIG_SECTION, self::CONFIG_GROUP, $field);
|
69 |
+
return Mage::getStoreConfig($path, $store);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Wrap store config access.
|
74 |
+
*
|
75 |
+
* @param string $field
|
76 |
+
* @param mixed $store
|
77 |
+
* @return bool
|
78 |
+
*/
|
79 |
+
protected function getStoreConfigFlag($field, $store = null)
|
80 |
+
{
|
81 |
+
$path = sprintf('%s/%s/%s', self::CONFIG_SECTION, self::CONFIG_GROUP, $field);
|
82 |
+
return Mage::getStoreConfigFlag($path, $store);
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Check if custom autoloader should be registered.
|
87 |
+
*
|
88 |
+
* @return bool
|
89 |
+
*/
|
90 |
+
public function isAutoloadEnabled()
|
91 |
+
{
|
92 |
+
return Mage::getStoreConfigFlag(self::CONFIG_XML_PATH_AUTOLOAD_ENABLED);
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Obtain carrier title.
|
97 |
+
*
|
98 |
+
* @param mixed $store
|
99 |
+
* @return string
|
100 |
+
*/
|
101 |
+
public function getTitle($store = null)
|
102 |
+
{
|
103 |
+
return $this->getStoreConfig(self::CONFIG_XML_PATH_CARRIER_TITLE, $store);
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Check if carrier is enabled for checkout.
|
108 |
+
*
|
109 |
+
* @param mixed $store
|
110 |
+
* @return bool
|
111 |
+
*/
|
112 |
+
public function isActive($store = null)
|
113 |
+
{
|
114 |
+
$carrierCode = Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE;
|
115 |
+
$carrier = Mage::getModel('shipping/config')->getCarrierInstance($carrierCode, $store);
|
116 |
+
return $carrier->isActive();
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Check if carrier should request test labels only.
|
121 |
+
*
|
122 |
+
* @return bool
|
123 |
+
*/
|
124 |
+
public function isSandboxModeEnabled()
|
125 |
+
{
|
126 |
+
return $this->getStoreConfigFlag(self::CONFIG_XML_PATH_SANDBOX_MODE);
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Check if logging is enabled (global scope)
|
131 |
+
*
|
132 |
+
* @param int $level
|
133 |
+
* @return bool
|
134 |
+
*/
|
135 |
+
public function isLoggingEnabled($level = null)
|
136 |
+
{
|
137 |
+
$level = ($level === null) ? Zend_Log::DEBUG : $level;
|
138 |
+
|
139 |
+
$isEnabled = $this->getStoreConfigFlag(self::CONFIG_XML_PATH_LOGGING_ENABLED);
|
140 |
+
$isLevelEnabled = ($this->getStoreConfig(self::CONFIG_XML_PATH_LOG_LEVEL) >= $level);
|
141 |
+
|
142 |
+
return ($isEnabled && $isLevelEnabled);
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Obtain the webservice endpoint address (location).
|
147 |
+
*
|
148 |
+
* @return string Null in production mode: use default from WSDL.
|
149 |
+
*/
|
150 |
+
public function getEndpoint()
|
151 |
+
{
|
152 |
+
if ($this->isSandboxModeEnabled()) {
|
153 |
+
return $this->getStoreConfig(self::CONFIG_XML_PATH_SANDBOX_ENDPOINT);
|
154 |
+
}
|
155 |
+
|
156 |
+
return null;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Obtain username for CIG authentication.
|
161 |
+
*
|
162 |
+
* @return string
|
163 |
+
*/
|
164 |
+
public function getWebserviceAuthUsername()
|
165 |
+
{
|
166 |
+
if ($this->isSandboxModeEnabled()) {
|
167 |
+
return $this->getStoreConfig(self::CONFIG_XML_PATH_SANDBOX_AUTH_USERNAME);
|
168 |
+
}
|
169 |
+
|
170 |
+
return $this->getStoreConfig(self::CONFIG_XML_PATH_WS_AUTH_USERNAME);
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* Obtain password for CIG authentication.
|
175 |
+
*
|
176 |
+
* @return string
|
177 |
+
*/
|
178 |
+
public function getWebserviceAuthPassword()
|
179 |
+
{
|
180 |
+
if ($this->isSandboxModeEnabled()) {
|
181 |
+
return $this->getStoreConfig(self::CONFIG_XML_PATH_SANDBOX_AUTH_PASSWORD);
|
182 |
+
}
|
183 |
+
|
184 |
+
return $this->getStoreConfig(self::CONFIG_XML_PATH_WS_AUTH_PASSWORD);
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Obtain shipper country from shipping origin configuration.
|
189 |
+
*
|
190 |
+
* @param mixed $store
|
191 |
+
* @return string
|
192 |
+
*/
|
193 |
+
public function getShipperCountry($store = null)
|
194 |
+
{
|
195 |
+
$shipperCountry = Mage::getStoreConfig(
|
196 |
+
Mage_Shipping_Model_Shipping::XML_PATH_STORE_COUNTRY_ID,
|
197 |
+
$store
|
198 |
+
);
|
199 |
+
|
200 |
+
return $shipperCountry;
|
201 |
+
}
|
202 |
+
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Check if shipment auto creation is enabled.
|
206 |
+
*
|
207 |
+
* @param mixed $store
|
208 |
+
* @return bool
|
209 |
+
*/
|
210 |
+
public function isShipmentAutoCreateEnabled($store = null)
|
211 |
+
{
|
212 |
+
return $this->getStoreConfigFlag(self::CONFIG_XML_PATH_AUTOCREATE_ENABLED, $store);
|
213 |
+
}
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Obtain the status of orders applicable for shipment auto creation.
|
217 |
+
*
|
218 |
+
* @param mixed $store
|
219 |
+
* @return string[]
|
220 |
+
*/
|
221 |
+
public function getAutoCreateOrderStatus($store = null)
|
222 |
+
{
|
223 |
+
$status = $this->getStoreConfig(self::CONFIG_XML_PATH_AUTOCREATE_ORDER_STATUS, $store);
|
224 |
+
return explode(',', $status);
|
225 |
+
}
|
226 |
+
}
|
app/code/community/Dhl/Versenden/Model/Config/Service.php
ADDED
@@ -0,0 +1,413 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Config_Service
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Dhl_Versenden_Model_Config_Service extends Dhl_Versenden_Model_Config
|
38 |
+
{
|
39 |
+
const CONFIG_XML_FIELD_PREFERREDDAY = 'service_preferredday_enabled';
|
40 |
+
const CONFIG_XML_FIELD_PREFERREDTIME = 'service_preferredtime_enabled';
|
41 |
+
const CONFIG_XML_FIELD_CUTOFFTIME = 'service_cutoff_time';
|
42 |
+
const CONFIG_XML_FIELD_PREFERREDLOCATION = 'service_preferredlocation_enabled';
|
43 |
+
const CONFIG_XML_FIELD_PREFERREDLOCATION_PLACEHOLDER = 'service_preferredlocation_placeholder';
|
44 |
+
const CONFIG_XML_FIELD_PREFERREDNEIGHBOUR = 'service_preferredneighbour_enabled';
|
45 |
+
const CONFIG_XML_FIELD_PREFERREDNEIGHBOUR_PLACEHOLDER = 'service_preferredneighbour_placeholder';
|
46 |
+
const CONFIG_XML_FIELD_PACKSTATION = 'service_packstation_enabled';
|
47 |
+
const CONFIG_XML_FIELD_PARCELANNOUNCEMENT = 'service_parcelannouncement_enabled';
|
48 |
+
const CONFIG_XML_FIELD_VISUALCHECKOFAGE = 'service_visualcheckofage_enabled';
|
49 |
+
const CONFIG_XML_FIELD_RETURNSHIPMENT = 'service_returnshipment_enabled';
|
50 |
+
const CONFIG_XML_FIELD_INSURANCE = 'service_insurance_enabled';
|
51 |
+
const CONFIG_XML_FIELD_BULKYGOODS = 'service_bulkygoods_enabled';
|
52 |
+
|
53 |
+
const CONFIG_XML_PATH_AUTOCREATE_VISUALCHECKOFAGE = 'shipment_autocreate_service_visualcheckofage';
|
54 |
+
const CONFIG_XML_PATH_AUTOCREATE_RETURNSHIPMENT = 'shipment_autocreate_service_returnshipment';
|
55 |
+
const CONFIG_XML_PATH_AUTOCREATE_INSURANCE = 'shipment_autocreate_service_insurance';
|
56 |
+
const CONFIG_XML_PATH_AUTOCREATE_BULKYGOODS = 'shipment_autocreate_service_bulkygoods';
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param mixed $store
|
60 |
+
*
|
61 |
+
* @return Service\PreferredDay
|
62 |
+
*/
|
63 |
+
protected function initPreferredDay($store = null)
|
64 |
+
{
|
65 |
+
$name = Mage::helper('dhl_versenden/data')->__("Preferred day") .
|
66 |
+
Mage::helper('dhl_versenden/data')->__(": Delivery at your preferred day");
|
67 |
+
$isAvailable = $this->getStoreConfigFlag(self::CONFIG_XML_FIELD_PREFERREDDAY, $store);
|
68 |
+
$cutOffTime = $this->getStoreConfig(self::CONFIG_XML_FIELD_CUTOFFTIME, $store);
|
69 |
+
$isSelected = false;
|
70 |
+
$options = array();
|
71 |
+
$gmtSaveTimeFormat = "Y-m-d 12:00:00";
|
72 |
+
|
73 |
+
$holidayCheck = new Mal_Holidays();
|
74 |
+
/** @var Mage_Core_Model_Date $dateModel */
|
75 |
+
$dateModel = Mage::getSingleton('core/date');
|
76 |
+
$start = $dateModel->gmtDate("Y-m-d H:i:s");
|
77 |
+
$cutOffTime = $dateModel->gmtTimestamp(str_replace(',', ':', $cutOffTime));
|
78 |
+
$startDate = ($cutOffTime < $dateModel->gmtTimestamp($start)) ? 3 : 2;
|
79 |
+
$endDate = $startDate + 5;
|
80 |
+
|
81 |
+
for ($i = $startDate; $i < $endDate; $i++) {
|
82 |
+
$date = new DateTime($start);
|
83 |
+
$tmpDate = $date->add(new DateInterval("P{$i}D"));
|
84 |
+
$checkDate = $tmpDate->format($gmtSaveTimeFormat);
|
85 |
+
$tmpDate = $tmpDate->format("Y-m-d");
|
86 |
+
$disabled = false;
|
87 |
+
if (($dateModel->gmtDate('N', strtotime($checkDate)) == 7) || $holidayCheck::isHoliday($checkDate)) {
|
88 |
+
$endDate++;
|
89 |
+
$disabled = true;
|
90 |
+
}
|
91 |
+
$options[$tmpDate] =
|
92 |
+
array(
|
93 |
+
'value' => $dateModel->gmtDate("d-", $checkDate) .
|
94 |
+
Mage::helper('dhl_versenden/data')->__($dateModel->gmtDate("D", $checkDate)),
|
95 |
+
'disabled' => $disabled
|
96 |
+
);
|
97 |
+
}
|
98 |
+
|
99 |
+
$shipment = Mage::registry('current_shipment');
|
100 |
+
// Only for Backend rendering with selected day
|
101 |
+
if ($shipment && $shipment->getShippingAddress()) {
|
102 |
+
$selectedValue = $shipment->getShippingAddress()
|
103 |
+
->getData('dhl_versenden_info')
|
104 |
+
->getServices()->{Service\PreferredDay::CODE};
|
105 |
+
if ($selectedValue && !array_key_exists($selectedValue, $options)) {
|
106 |
+
// Sanity check for invalid time formats
|
107 |
+
try {
|
108 |
+
$tmpDate = new DateTime($selectedValue);
|
109 |
+
$tmpDate = $dateModel
|
110 |
+
->gmtDate($gmtSaveTimeFormat, $tmpDate->format($gmtSaveTimeFormat));
|
111 |
+
$options[$selectedValue] =
|
112 |
+
array(
|
113 |
+
'value' => $dateModel->gmtDate("d-", $tmpDate) .
|
114 |
+
Mage::helper('dhl_versenden/data')->__($dateModel->gmtDate("D", $tmpDate)),
|
115 |
+
'disabled' => false
|
116 |
+
);
|
117 |
+
} catch (Exception $e) {
|
118 |
+
}
|
119 |
+
}
|
120 |
+
}
|
121 |
+
|
122 |
+
return new Service\PreferredDay($name, $isAvailable, $isSelected, $options);
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* @param mixed $store
|
127 |
+
* @return Service\PreferredTime
|
128 |
+
*/
|
129 |
+
protected function initPreferredTime($store = null)
|
130 |
+
{
|
131 |
+
$name = Mage::helper('dhl_versenden/data')->__("Preferred time") .
|
132 |
+
Mage::helper('dhl_versenden/data')->__(": Delivery during your preferred time slot");
|
133 |
+
$isAvailable = $this->getStoreConfigFlag(self::CONFIG_XML_FIELD_PREFERREDTIME, $store);
|
134 |
+
$isSelected = false;
|
135 |
+
$options = array();
|
136 |
+
if (Mage::app()->getStore()->isAdmin() || Mage::getDesign()->getArea() == 'adminhtml') {
|
137 |
+
$options = $options + array(
|
138 |
+
'10001200' => Mage::helper('dhl_versenden/data')->__('10 - 12*'),
|
139 |
+
'12001400' => Mage::helper('dhl_versenden/data')->__('12 - 14*'),
|
140 |
+
'14001600' => Mage::helper('dhl_versenden/data')->__('14 - 16*'),
|
141 |
+
'16001800' => Mage::helper('dhl_versenden/data')->__('16 - 18*'),
|
142 |
+
);
|
143 |
+
}
|
144 |
+
|
145 |
+
$options = $options + array(
|
146 |
+
'18002000' => Mage::helper('dhl_versenden/data')->__('18 - 20'),
|
147 |
+
'19002100' => Mage::helper('dhl_versenden/data')->__('19 - 21'),
|
148 |
+
);
|
149 |
+
|
150 |
+
return new Service\PreferredTime($name, $isAvailable, $isSelected, $options);
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* @param mixed $store
|
155 |
+
* @return Service\PreferredLocation
|
156 |
+
*/
|
157 |
+
protected function initPreferredLocation($store = null)
|
158 |
+
{
|
159 |
+
$name = Mage::helper('dhl_versenden/data')->__("Preferred location") .
|
160 |
+
Mage::helper('dhl_versenden/data')->__(": Delivery to your preferred drop-off location");
|
161 |
+
$isAvailable = $this->getStoreConfigFlag(self::CONFIG_XML_FIELD_PREFERREDLOCATION, $store);
|
162 |
+
$isSelected = false;
|
163 |
+
$placeholder = $this->getStoreConfig(self::CONFIG_XML_FIELD_PREFERREDLOCATION_PLACEHOLDER, $store);
|
164 |
+
$placeholder = Mage::helper('dhl_versenden/data')->__($placeholder);
|
165 |
+
|
166 |
+
return new Service\PreferredLocation($name, $isAvailable, $isSelected, $placeholder);
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* @param mixed $store
|
171 |
+
* @return Service\PreferredNeighbour
|
172 |
+
*/
|
173 |
+
protected function initPreferredNeighbour($store = null)
|
174 |
+
{
|
175 |
+
$name = Mage::helper('dhl_versenden/data')->__("Preferred neighbor") .
|
176 |
+
Mage::helper('dhl_versenden/data')->__(": Delivery to a neighbor of your choice");
|
177 |
+
$isAvailable = $this->getStoreConfigFlag(self::CONFIG_XML_FIELD_PREFERREDNEIGHBOUR, $store);
|
178 |
+
$isSelected = false;
|
179 |
+
$placeholder = $this->getStoreConfig(self::CONFIG_XML_FIELD_PREFERREDNEIGHBOUR_PLACEHOLDER, $store);
|
180 |
+
$placeholder = Mage::helper('dhl_versenden/data')->__($placeholder);
|
181 |
+
|
182 |
+
return new Service\PreferredNeighbour($name, $isAvailable, $isSelected, $placeholder);
|
183 |
+
}
|
184 |
+
|
185 |
+
/**
|
186 |
+
* @param mixed $store
|
187 |
+
* @return Service\ParcelAnnouncement
|
188 |
+
*/
|
189 |
+
protected function initParcelAnnouncement($store = null)
|
190 |
+
{
|
191 |
+
$name = Mage::helper('dhl_versenden/data')->__("Parcel announcement");
|
192 |
+
$isAvailable = $this->getStoreConfig(self::CONFIG_XML_FIELD_PARCELANNOUNCEMENT, $store);
|
193 |
+
$isSelected = false;
|
194 |
+
|
195 |
+
return new Service\ParcelAnnouncement($name, $isAvailable, $isSelected);
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* @return Service\VisualCheckOfAge
|
200 |
+
*/
|
201 |
+
protected function initVisualCheckOfAge()
|
202 |
+
{
|
203 |
+
$name = Mage::helper('dhl_versenden/data')->__("Visual Check of Age");
|
204 |
+
$isAvailable = true;
|
205 |
+
$isSelected = false;
|
206 |
+
$options = array(
|
207 |
+
Service\VisualCheckOfAge::A16 => Service\VisualCheckOfAge::A16,
|
208 |
+
Service\VisualCheckOfAge::A18 => Service\VisualCheckOfAge::A18,
|
209 |
+
);
|
210 |
+
|
211 |
+
return new Service\VisualCheckOfAge($name, $isAvailable, $isSelected, $options);
|
212 |
+
}
|
213 |
+
|
214 |
+
/**
|
215 |
+
* @return Service\ReturnShipment
|
216 |
+
*/
|
217 |
+
protected function initReturnShipment()
|
218 |
+
{
|
219 |
+
$name = Mage::helper('dhl_versenden/data')->__("Return Shipment");
|
220 |
+
$isAvailable = true;
|
221 |
+
$isSelected = false;
|
222 |
+
|
223 |
+
return new Service\ReturnShipment($name, $isAvailable, $isSelected);
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* @return Service\Insurance
|
228 |
+
*/
|
229 |
+
protected function initInsurance()
|
230 |
+
{
|
231 |
+
$name = Mage::helper('dhl_versenden/data')->__("Additional Insurance");
|
232 |
+
$isAvailable = true;
|
233 |
+
$isSelected = false;
|
234 |
+
|
235 |
+
return new Service\Insurance($name, $isAvailable, $isSelected);
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* @return Service\BulkyGoods
|
240 |
+
*/
|
241 |
+
protected function initBulkyGoods()
|
242 |
+
{
|
243 |
+
$name = Mage::helper('dhl_versenden/data')->__("Bulky Goods");
|
244 |
+
$isAvailable = true;
|
245 |
+
$isSelected = false;
|
246 |
+
|
247 |
+
return new Service\BulkyGoods($name, $isAvailable, $isSelected);
|
248 |
+
}
|
249 |
+
|
250 |
+
/**
|
251 |
+
* @param mixed $store
|
252 |
+
* @return Service\PrintOnlyIfCodeable
|
253 |
+
*/
|
254 |
+
protected function initPrintOnlyIfCodeable($store = null)
|
255 |
+
{
|
256 |
+
$name = Mage::helper('dhl_versenden/data')->__("Address Validation");
|
257 |
+
$isAvailable = true;
|
258 |
+
$isSelected = $this->getStoreConfigFlag(
|
259 |
+
Dhl_Versenden_Model_Config_Shipment::CONFIG_XML_FIELD_PRINTONLYIFCODEABLE,
|
260 |
+
$store
|
261 |
+
);
|
262 |
+
|
263 |
+
return new Dhl\Versenden\Bcs\Api\Shipment\Service\PrintOnlyIfCodeable($name, $isAvailable, $isSelected);
|
264 |
+
}
|
265 |
+
|
266 |
+
/**
|
267 |
+
* Load all DHL additional service models.
|
268 |
+
*
|
269 |
+
* @param mixed $store
|
270 |
+
* @return Service\Collection
|
271 |
+
*/
|
272 |
+
public function getServices($store = null)
|
273 |
+
{
|
274 |
+
$collection = new Service\Collection();
|
275 |
+
|
276 |
+
// customer/checkout services
|
277 |
+
$preferredDay = $this->initPreferredDay($store);
|
278 |
+
$collection->addItem($preferredDay);
|
279 |
+
|
280 |
+
$preferredTime = $this->initPreferredTime($store);
|
281 |
+
$collection->addItem($preferredTime);
|
282 |
+
|
283 |
+
$preferredLocation = $this->initPreferredLocation($store);
|
284 |
+
$collection->addItem($preferredLocation);
|
285 |
+
|
286 |
+
$preferredNeighbour = $this->initPreferredNeighbour($store);
|
287 |
+
$collection->addItem($preferredNeighbour);
|
288 |
+
|
289 |
+
$parcelAnnouncement = $this->initParcelAnnouncement($store);
|
290 |
+
$collection->addItem($parcelAnnouncement);
|
291 |
+
|
292 |
+
// merchant/admin services
|
293 |
+
$visualCheckOfAge = $this->initVisualCheckOfAge();
|
294 |
+
$collection->addItem($visualCheckOfAge);
|
295 |
+
|
296 |
+
$returnShipment = $this->initReturnShipment();
|
297 |
+
$collection->addItem($returnShipment);
|
298 |
+
|
299 |
+
$insurance = $this->initInsurance();
|
300 |
+
$collection->addItem($insurance);
|
301 |
+
|
302 |
+
$bulkyGoods = $this->initBulkyGoods();
|
303 |
+
$collection->addItem($bulkyGoods);
|
304 |
+
|
305 |
+
// implicit/config services
|
306 |
+
$printOnlyIfCodeable = $this->initPrintOnlyIfCodeable($store);
|
307 |
+
$collection->addItem($printOnlyIfCodeable);
|
308 |
+
|
309 |
+
return $collection;
|
310 |
+
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* Obtain the service objects that are enabled via module configuration.
|
314 |
+
*
|
315 |
+
* @param mixed $store
|
316 |
+
* @return Service\Collection
|
317 |
+
*/
|
318 |
+
public function getEnabledServices($store = null)
|
319 |
+
{
|
320 |
+
$services = $this->getServices($store)->getItems();
|
321 |
+
|
322 |
+
$items = array_filter(
|
323 |
+
$services,
|
324 |
+
function (Service\Type\Generic $service) {
|
325 |
+
return (bool)$service->isEnabled();
|
326 |
+
}
|
327 |
+
);
|
328 |
+
|
329 |
+
return new Service\Collection($items);
|
330 |
+
}
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Obtain the service objects that are
|
334 |
+
* - enabled via module configuration and
|
335 |
+
* - selected for autocreate labels.
|
336 |
+
*
|
337 |
+
* @param mixed $store
|
338 |
+
* @return Service\Collection
|
339 |
+
*/
|
340 |
+
public function getAutoCreateServices($store = null)
|
341 |
+
{
|
342 |
+
// read autocreate service values from config
|
343 |
+
$ageCheckValue = $this->getStoreConfig(self::CONFIG_XML_PATH_AUTOCREATE_VISUALCHECKOFAGE, $store);
|
344 |
+
$returnShipmentValue = $this->getStoreConfigFlag(self::CONFIG_XML_PATH_AUTOCREATE_RETURNSHIPMENT, $store);
|
345 |
+
$insuranceValue = $this->getStoreConfigFlag(self::CONFIG_XML_PATH_AUTOCREATE_INSURANCE, $store);
|
346 |
+
$bulkyGoodsValue = $this->getStoreConfigFlag(self::CONFIG_XML_PATH_AUTOCREATE_BULKYGOODS, $store);
|
347 |
+
$validationValue = $this->getStoreConfigFlag(
|
348 |
+
Dhl_Versenden_Model_Config_Shipment::CONFIG_XML_FIELD_PRINTONLYIFCODEABLE,
|
349 |
+
$store
|
350 |
+
);
|
351 |
+
|
352 |
+
$autoCreateValues = array(
|
353 |
+
Service\VisualCheckOfAge::CODE => $ageCheckValue,
|
354 |
+
Service\ReturnShipment::CODE => $returnShipmentValue,
|
355 |
+
Service\Insurance::CODE => $insuranceValue,
|
356 |
+
Service\BulkyGoods::CODE => $bulkyGoodsValue,
|
357 |
+
Service\PrintOnlyIfCodeable::CODE => $validationValue,
|
358 |
+
);
|
359 |
+
|
360 |
+
// obtain all enabled services
|
361 |
+
$services = $this->getEnabledServices($store)->getItems();
|
362 |
+
|
363 |
+
// skip services disabled for auto creation
|
364 |
+
$items = array_filter(
|
365 |
+
$services,
|
366 |
+
function (Service\Type\Generic $service) use ($autoCreateValues) {
|
367 |
+
return (isset($autoCreateValues[$service->getCode()]) && $autoCreateValues[$service->getCode()]);
|
368 |
+
}
|
369 |
+
);
|
370 |
+
|
371 |
+
// set autocreate service details to remaining services
|
372 |
+
/** @var Service\Type\Generic $service */
|
373 |
+
foreach ($services as $service) {
|
374 |
+
if (isset($autoCreateValues[$service->getCode()])) {
|
375 |
+
$service->setValue($autoCreateValues[$service->getCode()]);
|
376 |
+
}
|
377 |
+
}
|
378 |
+
|
379 |
+
$collection = new Service\Collection($items);
|
380 |
+
return $collection;
|
381 |
+
}
|
382 |
+
|
383 |
+
/**
|
384 |
+
* Obtain the service objects that are enabled via module configuration and
|
385 |
+
* applicable to the given order parameters.
|
386 |
+
*
|
387 |
+
* @param string $shipperCountry
|
388 |
+
* @param string $recipientCountry
|
389 |
+
* @param bool $isPostalFacility
|
390 |
+
* @param bool $onlyCustomerServices
|
391 |
+
* @param mixed $store
|
392 |
+
* @return Service\Collection
|
393 |
+
*/
|
394 |
+
public function getAvailableServices($shipperCountry, $recipientCountry, $isPostalFacility,
|
395 |
+
$onlyCustomerServices = false, $store = null
|
396 |
+
)
|
397 |
+
{
|
398 |
+
$services = $this->getEnabledServices($store);
|
399 |
+
|
400 |
+
$euCountries =
|
401 |
+
explode(',', Mage::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_EU_COUNTRIES_LIST, $store));
|
402 |
+
$shippingProducts =
|
403 |
+
\Dhl\Versenden\Bcs\Api\Product::getCodesByCountry($shipperCountry, $recipientCountry, $euCountries);
|
404 |
+
|
405 |
+
$filter = new \Dhl\Versenden\Bcs\Api\Shipment\Service\Filter(
|
406 |
+
$shippingProducts,
|
407 |
+
$isPostalFacility,
|
408 |
+
$onlyCustomerServices
|
409 |
+
);
|
410 |
+
|
411 |
+
return $filter->filterServiceCollection($services);
|
412 |
+
}
|
413 |
+
}
|
app/code/community/Dhl/Versenden/Model/Config/Shipment.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder;
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\GlobalSettings;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Dhl_Versenden_Model_Config_Shipment
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl_Versenden
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Dhl_Versenden_Model_Config_Shipment extends Dhl_Versenden_Model_Config
|
39 |
+
{
|
40 |
+
const CONFIG_XML_FIELD_PRINTONLYIFCODEABLE = 'shipment_printonlyifcodeable';
|
41 |
+
const CONFIG_XML_FIELD_UNITOFMEASURE = 'shipment_unitofmeasure';
|
42 |
+
const CONFIG_XML_FIELD_DHLMETHODS = 'shipment_dhlmethods';
|
43 |
+
const CONFIG_XML_FIELD_CODMETHODS = 'shipment_dhlcodmethods';
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param mixed $store
|
47 |
+
* @return GlobalSettings
|
48 |
+
*/
|
49 |
+
public function getSettings($store = null)
|
50 |
+
{
|
51 |
+
$printOnlyIfCodeable = $this->getStoreConfigFlag(self::CONFIG_XML_FIELD_PRINTONLYIFCODEABLE, $store);
|
52 |
+
$unitOfMeasure = $this->getStoreConfig(self::CONFIG_XML_FIELD_UNITOFMEASURE, $store);
|
53 |
+
|
54 |
+
$shippingMethods = $this->getStoreConfig(self::CONFIG_XML_FIELD_DHLMETHODS, $store);
|
55 |
+
if (empty($shippingMethods)) {
|
56 |
+
$shippingMethods = array();
|
57 |
+
} else {
|
58 |
+
$shippingMethods = explode(',', $shippingMethods);
|
59 |
+
}
|
60 |
+
|
61 |
+
$codPaymentMethods = $this->getStoreConfig(self::CONFIG_XML_FIELD_CODMETHODS, $store);
|
62 |
+
if (empty($codPaymentMethods)) {
|
63 |
+
$codPaymentMethods = array();
|
64 |
+
} else {
|
65 |
+
$codPaymentMethods = explode(',', $codPaymentMethods);
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* TODO(nr): do not create RequestData objects while reading from config.
|
70 |
+
* instead, read plain values and convert prior to actual webservice call.
|
71 |
+
*/
|
72 |
+
return new GlobalSettings(
|
73 |
+
$printOnlyIfCodeable,
|
74 |
+
$unitOfMeasure,
|
75 |
+
$shippingMethods,
|
76 |
+
$codPaymentMethods,
|
77 |
+
ShipmentOrder::LABEL_TYPE_B64
|
78 |
+
);
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Check if the given shipping method should be processed with DHL Versenden.
|
83 |
+
*
|
84 |
+
* @param string $shippingMethod
|
85 |
+
* @param mixed $store
|
86 |
+
* @return bool
|
87 |
+
*/
|
88 |
+
public function canProcessMethod($shippingMethod, $store = null)
|
89 |
+
{
|
90 |
+
if (!in_array($this->getShipperCountry($store), array('AT', 'DE'))) {
|
91 |
+
// shipper country is not supported, regardless of shipping method.
|
92 |
+
return false;
|
93 |
+
}
|
94 |
+
|
95 |
+
return in_array($shippingMethod, $this->getSettings($store)->getShippingMethods());
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Check if the given payment method is cash on delivery.
|
100 |
+
*
|
101 |
+
* @param string $paymentMethod
|
102 |
+
* @param mixed $store
|
103 |
+
* @return bool
|
104 |
+
*/
|
105 |
+
public function isCodPaymentMethod($paymentMethod, $store = null)
|
106 |
+
{
|
107 |
+
return in_array($paymentMethod, $this->getSettings($store)->getCodPaymentMethods());
|
108 |
+
}
|
109 |
+
}
|
app/code/community/Dhl/Versenden/Model/Config/Shipper.php
ADDED
@@ -0,0 +1,279 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\Shipper as Shipper;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Config_Shipper
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Config_Shipper extends Dhl_Versenden_Model_Config
|
37 |
+
{
|
38 |
+
const CONFIG_XML_FIELD_USER = 'account_user';
|
39 |
+
const CONFIG_XML_FIELD_SIGNATURE = 'account_signature';
|
40 |
+
const CONFIG_XML_FIELD_EKP = 'account_ekp';
|
41 |
+
const CONFIG_XML_FIELD_PARTICIPATION = 'account_participation';
|
42 |
+
|
43 |
+
const CONFIG_XML_FIELD_SANDBOX_USER = 'sandbox_account_user';
|
44 |
+
const CONFIG_XML_FIELD_SANDBOX_SIGNATURE = 'sandbox_account_signature';
|
45 |
+
const CONFIG_XML_FIELD_SANDBOX_EKP = 'sandbox_account_ekp';
|
46 |
+
const CONFIG_XML_FIELD_SANDBOX_PARTICIPATION = 'sandbox_account_participation';
|
47 |
+
|
48 |
+
const CONFIG_XML_FIELD_BANKDATA_OWNER = 'bankdata_owner';
|
49 |
+
const CONFIG_XML_FIELD_BANKDATA_BANKNAME = 'bankdata_bankname';
|
50 |
+
const CONFIG_XML_FIELD_BANKDATA_IBAN = 'bankdata_iban';
|
51 |
+
const CONFIG_XML_FIELD_BANKDATA_BIC = 'bankdata_bic';
|
52 |
+
const CONFIG_XML_FIELD_BANKDATA_NOTE1 = 'bankdata_note1';
|
53 |
+
const CONFIG_XML_FIELD_BANKDATA_NOTE2 = 'bankdata_note2';
|
54 |
+
const CONFIG_XML_FIELD_BANKDATA_ACCOUNTREF = 'bankdata_accountreference';
|
55 |
+
|
56 |
+
|
57 |
+
const CONFIG_XML_FIELD_CONTACT_NAME1 = 'contact_name1';
|
58 |
+
const CONFIG_XML_FIELD_CONTACT_NAME2 = 'contact_name2';
|
59 |
+
const CONFIG_XML_FIELD_CONTACT_NAME3 = 'contact_name3';
|
60 |
+
const CONFIG_XML_FIELD_CONTACT_STREETNAME = 'contact_streetname';
|
61 |
+
const CONFIG_XML_FIELD_CONTACT_STREETNUMBER = 'contact_streetnumber';
|
62 |
+
const CONFIG_XML_FIELD_CONTACT_ADDITION = 'contact_addition';
|
63 |
+
const CONFIG_XML_FIELD_CONTACT_DISPATCHINFO = 'contact_dispatchinfo';
|
64 |
+
const CONFIG_XML_FIELD_CONTACT_ZIP = 'contact_zip';
|
65 |
+
const CONFIG_XML_FIELD_CONTACT_CITY = 'contact_city';
|
66 |
+
const CONFIG_XML_FIELD_CONTACT_COUNTRYID = 'contact_countryid';
|
67 |
+
const CONFIG_XML_FIELD_CONTACT_REGION = 'contact_region';
|
68 |
+
const CONFIG_XML_FIELD_CONTACT_PHONE = 'contact_phone';
|
69 |
+
const CONFIG_XML_FIELD_CONTACT_EMAIL = 'contact_email';
|
70 |
+
const CONFIG_XML_FIELD_CONTACT_PERSON = 'contact_person';
|
71 |
+
|
72 |
+
|
73 |
+
const CONFIG_XML_FIELD_RETURN_USE_SHIPPER = 'returnshipment_use_shipper';
|
74 |
+
const CONFIG_XML_FIELD_RETURN_NAME1 = 'returnshipment_name1';
|
75 |
+
const CONFIG_XML_FIELD_RETURN_NAME2 = 'returnshipment_name2';
|
76 |
+
const CONFIG_XML_FIELD_RETURN_NAME3 = 'returnshipment_name3';
|
77 |
+
const CONFIG_XML_FIELD_RETURN_STREETNAME = 'returnshipment_streetname';
|
78 |
+
const CONFIG_XML_FIELD_RETURN_STREETNUMBER = 'returnshipment_streetnumber';
|
79 |
+
const CONFIG_XML_FIELD_RETURN_ADDITION = 'returnshipment_addition';
|
80 |
+
const CONFIG_XML_FIELD_RETURN_DISPATCHINFO = 'returnshipment_dispatchinfo';
|
81 |
+
const CONFIG_XML_FIELD_RETURN_ZIP = 'returnshipment_zip';
|
82 |
+
const CONFIG_XML_FIELD_RETURN_CITY = 'returnshipment_city';
|
83 |
+
const CONFIG_XML_FIELD_RETURN_COUNTRYID = 'returnshipment_countryid';
|
84 |
+
const CONFIG_XML_FIELD_RETURN_REGION = 'returnshipment_region';
|
85 |
+
const CONFIG_XML_FIELD_RETURN_PHONE = 'returnshipment_phone';
|
86 |
+
const CONFIG_XML_FIELD_RETURN_EMAIL = 'returnshipment_email';
|
87 |
+
const CONFIG_XML_FIELD_RETURN_PERSON = 'returnshipment_person';
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @param mixed $store
|
91 |
+
* @return bool
|
92 |
+
*/
|
93 |
+
public function useShipperForReturns($store = null)
|
94 |
+
{
|
95 |
+
return $this->getStoreConfigFlag(self::CONFIG_XML_FIELD_RETURN_USE_SHIPPER, $store);
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* TODO(nr): do not create RequestData objects while reading from config.
|
100 |
+
* instead, read plain values and convert prior to actual webservice call.
|
101 |
+
*/
|
102 |
+
|
103 |
+
/**
|
104 |
+
* @return Shipper\Account
|
105 |
+
*/
|
106 |
+
public function getAccountSettings()
|
107 |
+
{
|
108 |
+
if (!$this->isSandboxModeEnabled()) {
|
109 |
+
$user = strtolower($this->getStoreConfig(self::CONFIG_XML_FIELD_USER));
|
110 |
+
$signature = $this->getStoreConfig(self::CONFIG_XML_FIELD_SIGNATURE);
|
111 |
+
$ekp = $this->getStoreConfig(self::CONFIG_XML_FIELD_EKP);
|
112 |
+
|
113 |
+
$participations = $this->getStoreConfig(self::CONFIG_XML_FIELD_PARTICIPATION);
|
114 |
+
} else {
|
115 |
+
$user = strtolower($this->getStoreConfig(self::CONFIG_XML_FIELD_SANDBOX_USER));
|
116 |
+
$signature = $this->getStoreConfig(self::CONFIG_XML_FIELD_SANDBOX_SIGNATURE);
|
117 |
+
$ekp = $this->getStoreConfig(self::CONFIG_XML_FIELD_SANDBOX_EKP);
|
118 |
+
|
119 |
+
$participations = $this->getStoreConfig(self::CONFIG_XML_FIELD_SANDBOX_PARTICIPATION);
|
120 |
+
}
|
121 |
+
|
122 |
+
$participation = array();
|
123 |
+
foreach ($participations as $participationEntry) {
|
124 |
+
$participation[$participationEntry['procedure']] = $participationEntry['participation'];
|
125 |
+
}
|
126 |
+
|
127 |
+
return new Shipper\Account(
|
128 |
+
$user,
|
129 |
+
$signature,
|
130 |
+
$ekp,
|
131 |
+
$participation
|
132 |
+
);
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* @param mixed $store
|
137 |
+
* @return Shipper\BankData
|
138 |
+
*/
|
139 |
+
public function getBankData($store = null)
|
140 |
+
{
|
141 |
+
$accountOwner = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_OWNER, $store);
|
142 |
+
$bankName = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_BANKNAME, $store);
|
143 |
+
$iban = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_IBAN, $store);
|
144 |
+
$bic = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_BIC, $store);
|
145 |
+
$note1 = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_NOTE1, $store);
|
146 |
+
$note2 = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_NOTE2, $store);
|
147 |
+
$accountRef = $this->getStoreConfig(self::CONFIG_XML_FIELD_BANKDATA_ACCOUNTREF, $store);
|
148 |
+
|
149 |
+
return new Shipper\BankData(
|
150 |
+
$accountOwner,
|
151 |
+
$bankName,
|
152 |
+
$iban,
|
153 |
+
$bic,
|
154 |
+
$note1,
|
155 |
+
$note2,
|
156 |
+
$accountRef
|
157 |
+
);
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
* @param mixed $store
|
162 |
+
* @return Shipper\Contact
|
163 |
+
*/
|
164 |
+
public function getContact($store = null)
|
165 |
+
{
|
166 |
+
$countryId = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_COUNTRYID, $store);
|
167 |
+
$countryDirectory = Mage::getSingleton('directory/country')->loadByCode($countryId);
|
168 |
+
|
169 |
+
$name1 = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_NAME1, $store);
|
170 |
+
$name2 = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_NAME2, $store);
|
171 |
+
$name3 = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_NAME3, $store);
|
172 |
+
$streetName = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_STREETNAME, $store);
|
173 |
+
$streetNumber = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_STREETNUMBER, $store);
|
174 |
+
$addressAddition = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_ADDITION, $store);
|
175 |
+
$dispatchingInformation = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_DISPATCHINFO, $store);
|
176 |
+
$zip = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_ZIP, $store);
|
177 |
+
$city = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_CITY, $store);
|
178 |
+
$country = $countryDirectory->getName();
|
179 |
+
$countryISOCode = $countryDirectory->getIso2Code();
|
180 |
+
$state = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_REGION, $store);
|
181 |
+
|
182 |
+
$phone = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_PHONE, $store);
|
183 |
+
$email = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_EMAIL, $store);
|
184 |
+
$contactPerson = $this->getStoreConfig(self::CONFIG_XML_FIELD_CONTACT_PERSON, $store);
|
185 |
+
|
186 |
+
return new Shipper\Contact(
|
187 |
+
$name1,
|
188 |
+
$name2,
|
189 |
+
$name3,
|
190 |
+
$streetName,
|
191 |
+
$streetNumber,
|
192 |
+
$addressAddition,
|
193 |
+
$dispatchingInformation,
|
194 |
+
$zip,
|
195 |
+
$city,
|
196 |
+
$country,
|
197 |
+
$countryISOCode,
|
198 |
+
$state,
|
199 |
+
$phone,
|
200 |
+
$email,
|
201 |
+
$contactPerson
|
202 |
+
);
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* @param mixed $store
|
207 |
+
* @return Shipper\Contact|Shipper\ReturnReceiver
|
208 |
+
*/
|
209 |
+
public function getReturnReceiver($store = null)
|
210 |
+
{
|
211 |
+
if ($this->useShipperForReturns($store)) {
|
212 |
+
return $this->getContact();
|
213 |
+
}
|
214 |
+
|
215 |
+
$countryId = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_COUNTRYID, $store);
|
216 |
+
$countryDirectory = Mage::getSingleton('directory/country')->loadByCode($countryId);
|
217 |
+
|
218 |
+
$name1 = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_NAME1, $store);
|
219 |
+
$name2 = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_NAME2, $store);
|
220 |
+
$name3 = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_NAME3, $store);
|
221 |
+
$streetName = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_STREETNAME, $store);
|
222 |
+
$streetNumber = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_STREETNUMBER, $store);
|
223 |
+
$addressAddition = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_ADDITION, $store);
|
224 |
+
$dispatchingInformation = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_DISPATCHINFO, $store);
|
225 |
+
$zip = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_ZIP, $store);
|
226 |
+
$city = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_CITY, $store);
|
227 |
+
$country = $countryDirectory->getName();
|
228 |
+
$countryISOCode = $countryDirectory->getIso2Code();
|
229 |
+
$state = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_REGION, $store);
|
230 |
+
|
231 |
+
$phone = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_PHONE, $store);
|
232 |
+
$email = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_EMAIL, $store);
|
233 |
+
$contactPerson = $this->getStoreConfig(self::CONFIG_XML_FIELD_RETURN_PERSON, $store);
|
234 |
+
|
235 |
+
return new Shipper\ReturnReceiver(
|
236 |
+
$name1,
|
237 |
+
$name2,
|
238 |
+
$name3,
|
239 |
+
$streetName,
|
240 |
+
$streetNumber,
|
241 |
+
$addressAddition,
|
242 |
+
$dispatchingInformation,
|
243 |
+
$zip,
|
244 |
+
$city,
|
245 |
+
$country,
|
246 |
+
$countryISOCode,
|
247 |
+
$state,
|
248 |
+
$phone,
|
249 |
+
$email,
|
250 |
+
$contactPerson
|
251 |
+
);
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* @param mixed $store
|
256 |
+
* @return Shipper
|
257 |
+
*/
|
258 |
+
public function getShipper($store = null)
|
259 |
+
{
|
260 |
+
return new Shipper(
|
261 |
+
$this->getAccountSettings(),
|
262 |
+
$this->getBankData($store),
|
263 |
+
$this->getContact($store),
|
264 |
+
$this->getReturnReceiver($store)
|
265 |
+
);
|
266 |
+
}
|
267 |
+
|
268 |
+
/**
|
269 |
+
* Obtain shipper country from module configuration.
|
270 |
+
*
|
271 |
+
* @see Dhl_Versenden_Model_Config::getShipperCountry()
|
272 |
+
* @param mixed $store
|
273 |
+
* @return string
|
274 |
+
*/
|
275 |
+
public function getShipperCountry($store = null)
|
276 |
+
{
|
277 |
+
return $this->getContact($store)->getCountryISOCode();
|
278 |
+
}
|
279 |
+
}
|
app/code/community/Dhl/Versenden/Model/Cron.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*
|
27 |
+
*/
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Dhl_Versenden_Model_Cron
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl_Versenden
|
34 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
35 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
36 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
37 |
+
* @link http://www.netresearch.de/
|
38 |
+
*/
|
39 |
+
|
40 |
+
class Dhl_Versenden_Model_Cron
|
41 |
+
{
|
42 |
+
const CRON_MESSAGE_LABELS_RETRIEVED = '%d labels were retrieved for %d orders.';
|
43 |
+
|
44 |
+
/** @var Dhl_Versenden_Model_Log */
|
45 |
+
protected $logger;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Manually load DHL libraries for CLI scripts such as Aoe_Scheduler and init logger.
|
49 |
+
*/
|
50 |
+
public function __construct()
|
51 |
+
{
|
52 |
+
$observer = new Dhl_Versenden_Model_Observer();
|
53 |
+
$observer->registerAutoload();
|
54 |
+
|
55 |
+
$writer = Mage::getSingleton('dhl_versenden/logger_writer');
|
56 |
+
$psrLogger = new Dhl_Versenden_Model_Logger_Mage($writer);
|
57 |
+
|
58 |
+
$config = Mage::getModel('dhl_versenden/config');
|
59 |
+
$dhlLogger = Mage::getSingleton('dhl_versenden/log', array('config' => $config));
|
60 |
+
$dhlLogger->setLogger($psrLogger);
|
61 |
+
$this->logger = $dhlLogger;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @param Mage_Cron_Model_Schedule $schedule
|
66 |
+
*/
|
67 |
+
public function shipmentAutoCreate(Mage_Cron_Model_Schedule $schedule)
|
68 |
+
{
|
69 |
+
$config = Mage::getModel('dhl_versenden/config');
|
70 |
+
|
71 |
+
$stores = array_filter(
|
72 |
+
Mage::app()->getStores(),
|
73 |
+
function (Mage_Core_Model_Store $store) use ($config) {
|
74 |
+
return $config->isShipmentAutoCreateEnabled($store);
|
75 |
+
}
|
76 |
+
);
|
77 |
+
|
78 |
+
$euCountries = explode(',', Mage::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_EU_COUNTRIES_LIST));
|
79 |
+
$orderStatus = $config->getAutoCreateOrderStatus();
|
80 |
+
|
81 |
+
try {
|
82 |
+
/** @var Dhl_Versenden_Model_Resource_Autocreate_Collection $collection */
|
83 |
+
$collection = Mage::getResourceModel('dhl_versenden/autocreate_collection');
|
84 |
+
$collection->addShippingMethodFilter();
|
85 |
+
$collection->addShipmentFilter();
|
86 |
+
$collection->addDeliveryCountriesFilter($euCountries);
|
87 |
+
$collection->addStatusFilter($orderStatus);
|
88 |
+
$collection->addStoreFilter($stores);
|
89 |
+
|
90 |
+
/** @var Dhl_Versenden_Model_Shipping_Autocreate $autocreate */
|
91 |
+
$autocreate = Mage::getSingleton('dhl_versenden/shipping_autocreate', array('logger' => $this->logger));
|
92 |
+
$num = $autocreate->autoCreate($collection);
|
93 |
+
|
94 |
+
$schedule->setMessages(sprintf(self::CRON_MESSAGE_LABELS_RETRIEVED, $num, $collection->getSize()));
|
95 |
+
$schedule->setStatus(Mage_Cron_Model_Schedule::STATUS_SUCCESS);
|
96 |
+
} catch (\Exception $e) {
|
97 |
+
$this->logger->error($e->getMessage(), array('exception' => $e));
|
98 |
+
$schedule->setMessages($e->getMessage());
|
99 |
+
$schedule->setStatus(Mage_Cron_Model_Schedule::STATUS_ERROR);
|
100 |
+
}
|
101 |
+
}
|
102 |
+
}
|
app/code/community/Dhl/Versenden/Model/Info/Builder.php
ADDED
@@ -0,0 +1,232 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility;
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder;
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Info_Builder
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Dhl_Versenden_Model_Info_Builder
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @param Mage_Sales_Model_Quote_Address|Mage_Sales_Model_Order_Address $shippingAddress
|
41 |
+
* @param mixed[] $serviceInfo
|
42 |
+
* @param mixed $store
|
43 |
+
* @return \Dhl\Versenden\Bcs\Api\Info
|
44 |
+
*/
|
45 |
+
public function infoFromSales(Mage_Customer_Model_Address_Abstract $shippingAddress,
|
46 |
+
array $serviceInfo,
|
47 |
+
$store = null)
|
48 |
+
{
|
49 |
+
$versendenInfo = new \Dhl\Versenden\Bcs\Api\Info();
|
50 |
+
$serviceConfig = Mage::getModel('dhl_versenden/config_service');
|
51 |
+
|
52 |
+
$selectedServices = $serviceInfo['shipment_service'];
|
53 |
+
$selectedSettings = $serviceInfo['service_setting'];
|
54 |
+
|
55 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')->getShipperCountry($store);
|
56 |
+
$recipientCountry = $shippingAddress->getCountryId();
|
57 |
+
$isPostalFacility = Mage::helper('dhl_versenden/data')->isPostalFacility($shippingAddress);
|
58 |
+
$availableServices = $serviceConfig->getAvailableServices(
|
59 |
+
$shipperCountry,
|
60 |
+
$recipientCountry,
|
61 |
+
$isPostalFacility,
|
62 |
+
true,
|
63 |
+
$store
|
64 |
+
);
|
65 |
+
|
66 |
+
/** @var \Dhl\Versenden\Bcs\Api\Shipment\Service\Type\Generic $availableService */
|
67 |
+
foreach ($availableServices as $availableService) {
|
68 |
+
$code = $availableService->getCode();
|
69 |
+
if (isset($selectedServices[$code])) {
|
70 |
+
$details = isset($selectedSettings[$code]) ? $selectedSettings[$code] : (bool)$selectedServices[$code];
|
71 |
+
$serviceInfo[$code] = $details;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
+
$versendenInfo->getServices()->fromArray($serviceInfo, false);
|
76 |
+
|
77 |
+
// set processed recipient address
|
78 |
+
$countryDirectory = Mage::getModel('directory/country')->loadByCode($shippingAddress->getCountryId());
|
79 |
+
$street = $shippingAddress->getStreetFull();
|
80 |
+
$street = Mage::helper('dhl_versenden/address')->splitStreet($street);
|
81 |
+
// let 3rd party extensions add postal facility data
|
82 |
+
$facility = new Varien_Object();
|
83 |
+
Mage::dispatchEvent(
|
84 |
+
'dhl_versenden_fetch_postal_facility', array(
|
85 |
+
'customer_address' => $shippingAddress,
|
86 |
+
'postal_facility' => $facility,
|
87 |
+
)
|
88 |
+
);
|
89 |
+
|
90 |
+
$packstationInfo = array();
|
91 |
+
if ($facility->getData('shop_type') === PostalFacility::TYPE_PACKSTATION) {
|
92 |
+
$packstationInfo = array(
|
93 |
+
'zip' => $shippingAddress->getPostcode(),
|
94 |
+
'city' => $shippingAddress->getCity(),
|
95 |
+
'country' => $countryDirectory->getName(),
|
96 |
+
'countryISOCode' => $countryDirectory->getIso2Code(),
|
97 |
+
'packstationNumber' => $facility->getData('shop_number'),
|
98 |
+
'postNumber' => $facility->getData('post_number'),
|
99 |
+
);
|
100 |
+
}
|
101 |
+
|
102 |
+
$postfilialeInfo = array();
|
103 |
+
if ($facility->getData('shop_type') === PostalFacility::TYPE_POSTFILIALE) {
|
104 |
+
$postfilialeInfo = array(
|
105 |
+
'zip' => $shippingAddress->getPostcode(),
|
106 |
+
'city' => $shippingAddress->getCity(),
|
107 |
+
'country' => $countryDirectory->getName(),
|
108 |
+
'countryISOCode' => $countryDirectory->getIso2Code(),
|
109 |
+
'postfilialNumber' => $facility->getData('shop_number'),
|
110 |
+
'postNumber' => $facility->getData('post_number'),
|
111 |
+
);
|
112 |
+
}
|
113 |
+
|
114 |
+
$parcelShopInfo = array();
|
115 |
+
if ($facility->getData('shop_type') === PostalFacility::TYPE_PAKETSHOP) {
|
116 |
+
$parcelShopInfo = array(
|
117 |
+
'zip' => $shippingAddress->getPostcode(),
|
118 |
+
'city' => $shippingAddress->getCity(),
|
119 |
+
'country' => $countryDirectory->getName(),
|
120 |
+
'countryISOCode' => $countryDirectory->getIso2Code(),
|
121 |
+
'parcelShopNumber' => $facility->getData('shop_number'),
|
122 |
+
'streetName' => $street['street_name'],
|
123 |
+
'streetNumber' => $street['street_number'],
|
124 |
+
);
|
125 |
+
}
|
126 |
+
|
127 |
+
$receiverInfo = array(
|
128 |
+
'name1' => $shippingAddress->getName(),
|
129 |
+
'name2' => $shippingAddress->getCompany(),
|
130 |
+
'streetName' => $street['street_name'],
|
131 |
+
'streetNumber' => $street['street_number'],
|
132 |
+
'addressAddition' => $street['supplement'],
|
133 |
+
'zip' => $shippingAddress->getPostcode(),
|
134 |
+
'city' => $shippingAddress->getCity(),
|
135 |
+
'country' => $countryDirectory->getName(),
|
136 |
+
'countryISOCode' => $countryDirectory->getIso2Code(),
|
137 |
+
'state' => $shippingAddress->getRegion(),
|
138 |
+
'phone' => $shippingAddress->getTelephone(),
|
139 |
+
'email' => $shippingAddress->getEmail(),
|
140 |
+
'packstation' => $packstationInfo,
|
141 |
+
'postfiliale' => $postfilialeInfo,
|
142 |
+
'parcelShop' => $parcelShopInfo,
|
143 |
+
);
|
144 |
+
$versendenInfo->getReceiver()->fromArray($receiverInfo, false);
|
145 |
+
|
146 |
+
return $versendenInfo;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* @param ShipmentOrder $shipmentOrder
|
151 |
+
* @return \Dhl\Versenden\Bcs\Api\Info
|
152 |
+
*/
|
153 |
+
public function infoFromRequestData(ShipmentOrder $shipmentOrder)
|
154 |
+
{
|
155 |
+
$versendenInfo = new \Dhl\Versenden\Bcs\Api\Info();
|
156 |
+
|
157 |
+
$packstationInfo = array();
|
158 |
+
if ($shipmentOrder->getReceiver()->getPackstation()) {
|
159 |
+
$packstationInfo = array(
|
160 |
+
'zip' => $shipmentOrder->getReceiver()->getPackstation()->getZip(),
|
161 |
+
'city' => $shipmentOrder->getReceiver()->getPackstation()->getCity(),
|
162 |
+
'country' => $shipmentOrder->getReceiver()->getPackstation()->getCountry(),
|
163 |
+
'countryISOCode' => $shipmentOrder->getReceiver()->getPackstation()->getCountryISOCode(),
|
164 |
+
'packstationNumber' => $shipmentOrder->getReceiver()->getPackstation()->getPackstationNumber(),
|
165 |
+
'postNumber' => $shipmentOrder->getReceiver()->getPackstation()->getPostNumber(),
|
166 |
+
);
|
167 |
+
}
|
168 |
+
|
169 |
+
$postfilialeInfo = array();
|
170 |
+
if ($shipmentOrder->getReceiver()->getPostfiliale()) {
|
171 |
+
$postfilialeInfo = array(
|
172 |
+
'zip' => $shipmentOrder->getReceiver()->getPostfiliale()->getZip(),
|
173 |
+
'city' => $shipmentOrder->getReceiver()->getPostfiliale()->getCity(),
|
174 |
+
'country' => $shipmentOrder->getReceiver()->getPostfiliale()->getCountry(),
|
175 |
+
'countryISOCode' => $shipmentOrder->getReceiver()->getPostfiliale()->getCountryISOCode(),
|
176 |
+
'postfilialNumber' => $shipmentOrder->getReceiver()->getPostfiliale()->getPostfilialNumber(),
|
177 |
+
'postNumber' => $shipmentOrder->getReceiver()->getPostfiliale()->getPostNumber(),
|
178 |
+
);
|
179 |
+
}
|
180 |
+
|
181 |
+
$parcelShopInfo = array();
|
182 |
+
if ($shipmentOrder->getReceiver()->getParcelShop()) {
|
183 |
+
$parcelShopInfo = array(
|
184 |
+
'zip' => $shipmentOrder->getReceiver()->getParcelShop()->getZip(),
|
185 |
+
'city' => $shipmentOrder->getReceiver()->getParcelShop()->getCity(),
|
186 |
+
'country' => $shipmentOrder->getReceiver()->getParcelShop()->getCountry(),
|
187 |
+
'countryISOCode' => $shipmentOrder->getReceiver()->getParcelShop()->getCountryISOCode(),
|
188 |
+
'parcelShopNumber' => $shipmentOrder->getReceiver()->getParcelShop()->getParcelShopNumber(),
|
189 |
+
'streetName' => $shipmentOrder->getReceiver()->getParcelShop()->getStreetName(),
|
190 |
+
'streetNumber' => $shipmentOrder->getReceiver()->getParcelShop()->getStreetNumber(),
|
191 |
+
);
|
192 |
+
}
|
193 |
+
|
194 |
+
$receiverInfo = array(
|
195 |
+
'name1' => $shipmentOrder->getReceiver()->getName1(),
|
196 |
+
'name2' => $shipmentOrder->getReceiver()->getName2(),
|
197 |
+
'streetName' => $shipmentOrder->getReceiver()->getStreetName(),
|
198 |
+
'streetNumber' => $shipmentOrder->getReceiver()->getStreetNumber(),
|
199 |
+
'addressAddition' => $shipmentOrder->getReceiver()->getAddressAddition(),
|
200 |
+
'dispatchingInformation' => $shipmentOrder->getReceiver()->getDispatchingInformation(),
|
201 |
+
'zip' => $shipmentOrder->getReceiver()->getZip(),
|
202 |
+
'city' => $shipmentOrder->getReceiver()->getCity(),
|
203 |
+
'country' => $shipmentOrder->getReceiver()->getCountry(),
|
204 |
+
'countryISOCode' => $shipmentOrder->getReceiver()->getCountryISOCode(),
|
205 |
+
'state' => $shipmentOrder->getReceiver()->getState(),
|
206 |
+
'phone' => $shipmentOrder->getReceiver()->getPhone(),
|
207 |
+
'email' => $shipmentOrder->getReceiver()->getEmail(),
|
208 |
+
'packstation' => $packstationInfo,
|
209 |
+
'postfiliale' => $postfilialeInfo,
|
210 |
+
'parcelShop' => $parcelShopInfo,
|
211 |
+
|
212 |
+
);
|
213 |
+
$versendenInfo->getReceiver()->fromArray($receiverInfo, false);
|
214 |
+
|
215 |
+
$serviceInfo = array(
|
216 |
+
'preferredDay' => $shipmentOrder->getServiceSelection()->getPreferredDay(),
|
217 |
+
'preferredTime' => $shipmentOrder->getServiceSelection()->getPreferredTime(),
|
218 |
+
'preferredLocation' => $shipmentOrder->getServiceSelection()->getPreferredLocation(),
|
219 |
+
'preferredNeighbour' => $shipmentOrder->getServiceSelection()->getPreferredNeighbour(),
|
220 |
+
'parcelAnnouncement' => $shipmentOrder->getServiceSelection()->getParcelAnnouncement(),
|
221 |
+
'visualCheckOfAge' => $shipmentOrder->getServiceSelection()->getVisualCheckOfAge(),
|
222 |
+
'returnShipment' => $shipmentOrder->getServiceSelection()->isReturnShipment(),
|
223 |
+
'insurance' => $shipmentOrder->getServiceSelection()->getInsurance(),
|
224 |
+
'bulkyGoods' => $shipmentOrder->getServiceSelection()->isBulkyGoods(),
|
225 |
+
'cod' => $shipmentOrder->getServiceSelection()->getCod(),
|
226 |
+
'printOnlyIfCodeable' => $shipmentOrder->getServiceSelection()->isPrintOnlyIfCodeable(),
|
227 |
+
);
|
228 |
+
$versendenInfo->getServices()->fromArray($serviceInfo, false);
|
229 |
+
|
230 |
+
return $versendenInfo;
|
231 |
+
}
|
232 |
+
}
|
app/code/community/Dhl/Versenden/Model/Log.php
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Log
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Dhl_Versenden_Model_Log implements Psr\Log\LoggerAwareInterface
|
39 |
+
{
|
40 |
+
protected $file = 'dhl_versenden.log';
|
41 |
+
|
42 |
+
/** @var \Psr\Log\LoggerInterface */
|
43 |
+
protected $psrLogger;
|
44 |
+
|
45 |
+
/** @var Dhl_Versenden_Model_Config */
|
46 |
+
protected $config;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Dhl_Versenden_Model_Log constructor.
|
50 |
+
*
|
51 |
+
* @param mixed[] $args
|
52 |
+
* @throws Mage_Core_Exception
|
53 |
+
*/
|
54 |
+
public function __construct($args)
|
55 |
+
{
|
56 |
+
if (!isset($args['config']) || !$args['config'] instanceof Dhl_Versenden_Model_Config) {
|
57 |
+
throw new Mage_Core_Exception('missing or invalid argument: config');
|
58 |
+
}
|
59 |
+
|
60 |
+
$this->psrLogger = new \Psr\Log\NullLogger();
|
61 |
+
$this->config = $args['config'];
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Sets a logger instance on the object.
|
66 |
+
*
|
67 |
+
* @param \Psr\Log\LoggerInterface $logger
|
68 |
+
*
|
69 |
+
* @return null
|
70 |
+
*/
|
71 |
+
public function setLogger(\Psr\Log\LoggerInterface $logger)
|
72 |
+
{
|
73 |
+
$this->psrLogger = $logger;
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Check config and pass debug messages to PSR Logger
|
78 |
+
*
|
79 |
+
* @param string $message
|
80 |
+
* @param mixed[] $context
|
81 |
+
*/
|
82 |
+
public function debug($message, array $context = array())
|
83 |
+
{
|
84 |
+
if ($this->config->isLoggingEnabled(Zend_Log::DEBUG)) {
|
85 |
+
$this->psrLogger->debug($message, $context);
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Check config and pass errors to PSR Logger
|
91 |
+
*
|
92 |
+
* @param $message
|
93 |
+
* @param mixed[] $context
|
94 |
+
*/
|
95 |
+
public function error($message, array $context = array())
|
96 |
+
{
|
97 |
+
if ($this->config->isLoggingEnabled(Zend_Log::ERR)) {
|
98 |
+
$this->psrLogger->error($message, $context);
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Check config and pass warnings to PSR Logger
|
104 |
+
*
|
105 |
+
* @param $message
|
106 |
+
* @param mixed[] $context
|
107 |
+
*/
|
108 |
+
public function warning($message, array $context = array())
|
109 |
+
{
|
110 |
+
if ($this->config->isLoggingEnabled(Zend_Log::WARN)) {
|
111 |
+
$this->psrLogger->warning($message, $context);
|
112 |
+
}
|
113 |
+
}
|
114 |
+
}
|
app/code/community/Dhl/Versenden/Model/Logger/Mage.php
ADDED
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Logger_Mage
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Dhl_Versenden_Model_Logger_Mage extends \Psr\Log\AbstractLogger
|
39 |
+
{
|
40 |
+
/** @var Dhl_Versenden_Model_Logger_Writer */
|
41 |
+
protected $writer;
|
42 |
+
|
43 |
+
/** @var string */
|
44 |
+
protected $file = 'dhl_versenden.log';
|
45 |
+
|
46 |
+
/** @var int[] */
|
47 |
+
protected $levelMapping = array(
|
48 |
+
\Psr\Log\LogLevel::EMERGENCY => Zend_Log::EMERG,
|
49 |
+
\Psr\Log\LogLevel::ALERT => Zend_Log::ALERT,
|
50 |
+
\Psr\Log\LogLevel::CRITICAL => Zend_Log::CRIT,
|
51 |
+
\Psr\Log\LogLevel::ERROR => Zend_Log::ERR,
|
52 |
+
\Psr\Log\LogLevel::WARNING => Zend_Log::WARN,
|
53 |
+
\Psr\Log\LogLevel::NOTICE => Zend_Log::NOTICE,
|
54 |
+
\Psr\Log\LogLevel::INFO => Zend_Log::INFO,
|
55 |
+
\Psr\Log\LogLevel::DEBUG => Zend_Log::DEBUG,
|
56 |
+
);
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Dhl_Versenden_Model_Logger_Mage constructor.
|
60 |
+
* @param Dhl_Versenden_Model_Logger_Writer $writer
|
61 |
+
* @param string $file
|
62 |
+
*/
|
63 |
+
public function __construct(Dhl_Versenden_Model_Logger_Writer $writer, $file = '')
|
64 |
+
{
|
65 |
+
$this->writer = $writer;
|
66 |
+
if ($file) {
|
67 |
+
$this->file = $file;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Replace placeholders in context
|
73 |
+
* @link https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md#12-message
|
74 |
+
*
|
75 |
+
* @param $message
|
76 |
+
* @param mixed[] $context
|
77 |
+
*
|
78 |
+
* @return string
|
79 |
+
*/
|
80 |
+
protected function interpolate($message, array $context = array())
|
81 |
+
{
|
82 |
+
// build a replacement array with braces around the context keys
|
83 |
+
$replace = array();
|
84 |
+
foreach ($context as $key => $val) {
|
85 |
+
// check that the value can be casted to string
|
86 |
+
if (!is_array($val) && (!is_object($val) || method_exists($val, '__toString'))) {
|
87 |
+
$replace['{' . $key . '}'] = $val;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
// interpolate replacement values into the message and return
|
92 |
+
return strtr($message, $replace);
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Logs with an arbitrary level.
|
97 |
+
*
|
98 |
+
* @param string $level
|
99 |
+
* @param string $message
|
100 |
+
* @param mixed[] $context
|
101 |
+
*
|
102 |
+
* @return null
|
103 |
+
*/
|
104 |
+
public function log($level, $message, array $context = array())
|
105 |
+
{
|
106 |
+
if (isset($context['exception'])) {
|
107 |
+
$this->writer->logException($context['exception']);
|
108 |
+
}
|
109 |
+
|
110 |
+
$message = $this->interpolate($message, $context);
|
111 |
+
$this->writer->log($message, $this->levelMapping[$level], $this->file);
|
112 |
+
}
|
113 |
+
}
|
app/code/community/Dhl/Versenden/Model/Logger/Writer.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Logger_Writer
|
30 |
+
*
|
31 |
+
* This class solely exists for backwards compatibility to Mage_Core < 1.6.0.3
|
32 |
+
* As of 1.6.0.3 (CE 1.8), Magento comes with its own wrapper model.
|
33 |
+
*
|
34 |
+
* @category Dhl
|
35 |
+
* @package Dhl_Versenden
|
36 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
37 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
38 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
39 |
+
* @link http://www.netresearch.de/
|
40 |
+
*
|
41 |
+
* @codeCoverageIgnore Not testable due to core logging implementation.
|
42 |
+
*/
|
43 |
+
class Dhl_Versenden_Model_Logger_Writer
|
44 |
+
{
|
45 |
+
/**
|
46 |
+
* Log wrapper
|
47 |
+
*
|
48 |
+
* @param string $message
|
49 |
+
* @param int $level
|
50 |
+
* @param string $file
|
51 |
+
* @param bool $forceLog
|
52 |
+
* @return void
|
53 |
+
*/
|
54 |
+
public function log($message, $level = null, $file = '', $forceLog = false)
|
55 |
+
{
|
56 |
+
Mage::log($message, $level, $file, $forceLog);
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Log exception wrapper
|
61 |
+
*
|
62 |
+
* @param Exception $e
|
63 |
+
* @return void
|
64 |
+
*/
|
65 |
+
public function logException(Exception $e)
|
66 |
+
{
|
67 |
+
Mage::logException($e);
|
68 |
+
}
|
69 |
+
}
|
app/code/community/Dhl/Versenden/Model/Observer.php
ADDED
@@ -0,0 +1,450 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Observer
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Dhl_Versenden_Model_Observer
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Register autoloader in order to locate the extension libraries.
|
41 |
+
*/
|
42 |
+
public function registerAutoload()
|
43 |
+
{
|
44 |
+
if (!Mage::getModel('dhl_versenden/config')->isAutoloadEnabled()) {
|
45 |
+
return;
|
46 |
+
}
|
47 |
+
|
48 |
+
/** @var Dhl_Versenden_Helper_Autoloader $autoloader */
|
49 |
+
$autoloader = Mage::helper('dhl_versenden/autoloader');
|
50 |
+
$autoloader->addNamespace(
|
51 |
+
"Psr\\", // prefix
|
52 |
+
sprintf('%s/Dhl/Versenden/Psr/', Mage::getBaseDir('lib'))
|
53 |
+
);
|
54 |
+
$autoloader->addNamespace(
|
55 |
+
"Dhl\\Versenden\\Bcs\\", // prefix
|
56 |
+
sprintf('%s/Dhl/Versenden/Bcs/', Mage::getBaseDir('lib'))
|
57 |
+
);
|
58 |
+
|
59 |
+
$autoloader->register();
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Append the service selection form elements to the opc shipping method form.
|
64 |
+
* - event: core_block_abstract_to_html_after
|
65 |
+
*
|
66 |
+
* @param Varien_Event_Observer $observer
|
67 |
+
*/
|
68 |
+
public function appendServices(Varien_Event_Observer $observer)
|
69 |
+
{
|
70 |
+
$block = $observer->getData('block');
|
71 |
+
if (!$block instanceof Mage_Checkout_Block_Onepage_Shipping_Method_Available) {
|
72 |
+
return;
|
73 |
+
}
|
74 |
+
|
75 |
+
$serviceBlock = Mage::app()->getLayout()->createBlock(
|
76 |
+
'dhl_versenden/checkout_onepage_shipping_method_service',
|
77 |
+
'dhl_versenden_service',
|
78 |
+
array(
|
79 |
+
'template' => 'dhl_versenden/checkout/shipping_services.phtml',
|
80 |
+
'module_name' => 'Dhl_Versenden',
|
81 |
+
)
|
82 |
+
);
|
83 |
+
|
84 |
+
$transport = $observer->getTransport();
|
85 |
+
$html = $transport->getHtml() . $serviceBlock->toHtml();
|
86 |
+
$transport->setHtml($html);
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Append the service selection to the opc shipping method form in the progress side bar.
|
91 |
+
* - event: core_block_abstract_to_html_after
|
92 |
+
*
|
93 |
+
* @param Varien_Event_Observer $observer
|
94 |
+
*/
|
95 |
+
public function appendServicesToShippingMethod(Varien_Event_Observer $observer)
|
96 |
+
{
|
97 |
+
$block = $observer->getData('block');
|
98 |
+
if (!$block instanceof Mage_Checkout_Block_Onepage_Progress
|
99 |
+
|| $block->getLayout()->getUpdate()->getHandles()[0] != 'checkout_onepage_progress_shipping_method'
|
100 |
+
) {
|
101 |
+
return;
|
102 |
+
}
|
103 |
+
|
104 |
+
$versendenInfo = Mage::getSingleton('checkout/session')
|
105 |
+
->getQuote()
|
106 |
+
->getShippingAddress()
|
107 |
+
->getData('dhl_versenden_info');
|
108 |
+
|
109 |
+
if ($versendenInfo) {
|
110 |
+
$serializer = new \Dhl\Versenden\Bcs\Api\Info\Serializer();
|
111 |
+
$versendenInfo = $serializer->unserialize($versendenInfo);
|
112 |
+
$transport = $observer->getData('transport');
|
113 |
+
$transportHtml = trim($transport->getHtml());
|
114 |
+
|
115 |
+
$block = Mage::app()
|
116 |
+
->getLayout()
|
117 |
+
->createBlock(
|
118 |
+
'dhl_versenden/config_service',
|
119 |
+
'dhl_services',
|
120 |
+
array('template' => 'dhl_versenden/config/services.phtml')
|
121 |
+
);
|
122 |
+
$block->setData('services', $versendenInfo->getServices());
|
123 |
+
|
124 |
+
$html = str_replace('</dd>', $block->toHtml() . '</dd>', $transportHtml);
|
125 |
+
$transport->setHtml($html);
|
126 |
+
}
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* When the customer submits shipping method in OPC, then
|
131 |
+
* - persist service settings
|
132 |
+
* - process shipping address
|
133 |
+
* Event:
|
134 |
+
* - checkout_controller_onepage_save_shipping_method
|
135 |
+
*
|
136 |
+
* @param Varien_Event_Observer $observer
|
137 |
+
*/
|
138 |
+
public function saveShippingSettings(Varien_Event_Observer $observer)
|
139 |
+
{
|
140 |
+
/** @var Mage_Sales_Model_Quote $quote */
|
141 |
+
$quote = $observer->getQuote();
|
142 |
+
$shippingAddress = $quote->getShippingAddress();
|
143 |
+
|
144 |
+
$shipmentConfig = Mage::getModel('dhl_versenden/config_shipment');
|
145 |
+
if (!$shipmentConfig->canProcessMethod($shippingAddress->getShippingMethod())) {
|
146 |
+
// customer selected a shipping method not to be processed via DHL Versenden
|
147 |
+
return;
|
148 |
+
}
|
149 |
+
|
150 |
+
/** @var Mage_Core_Controller_Request_Http $request */
|
151 |
+
$request = $observer->getRequest();
|
152 |
+
$infoBuilder = Mage::getModel('dhl_versenden/info_builder');
|
153 |
+
$serviceInfo = array(
|
154 |
+
'shipment_service' => $request->getPost('shipment_service', array()),
|
155 |
+
'service_setting' => $request->getPost('service_setting', array()),
|
156 |
+
);
|
157 |
+
$versendenInfo = $infoBuilder->infoFromSales($shippingAddress, $serviceInfo, $quote->getStoreId());
|
158 |
+
|
159 |
+
$shippingAddress->setData('dhl_versenden_info', $versendenInfo);
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* When a new order is placed, set the DHL Versenden carrier if applicable.
|
164 |
+
* Event:
|
165 |
+
* - sales_order_place_after
|
166 |
+
*
|
167 |
+
* @param Varien_Event_Observer $observer
|
168 |
+
*/
|
169 |
+
public function updateCarrier(Varien_Event_Observer $observer)
|
170 |
+
{
|
171 |
+
/** @var Mage_Sales_Model_Order $order */
|
172 |
+
$order = $observer->getData('order');
|
173 |
+
$shippingMethod = $order->getShippingMethod();
|
174 |
+
/** @var Dhl_Versenden_Model_Config_Shipment $config */
|
175 |
+
$config = Mage::getModel('dhl_versenden/config_shipment');
|
176 |
+
|
177 |
+
if ($config->canProcessMethod($shippingMethod, $order->getStoreId())) {
|
178 |
+
$parts = explode('_', $shippingMethod);
|
179 |
+
$parts[0] = Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE;
|
180 |
+
$shippingMethod = implode('_', $parts);
|
181 |
+
$order->setShippingMethod($shippingMethod);
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
/**
|
186 |
+
* Read postal facility data from quote address.
|
187 |
+
*
|
188 |
+
* Dhl_Versenden comes with very basic facilities support, check out the
|
189 |
+
* separate Dhl_LocationFinder extension for better integration.
|
190 |
+
*
|
191 |
+
* Facility properties:
|
192 |
+
* - shop_type: [packStation|postOffice|parcelShop]
|
193 |
+
* - shop_number: int(3)
|
194 |
+
* - post_number: text(10)
|
195 |
+
*
|
196 |
+
* Event:
|
197 |
+
* - dhl_versenden_fetch_postal_facility
|
198 |
+
*
|
199 |
+
* @param Varien_Event_Observer $observer
|
200 |
+
*/
|
201 |
+
public function preparePostalFacility(Varien_Event_Observer $observer)
|
202 |
+
{
|
203 |
+
/** @var Varien_Object $facility */
|
204 |
+
$facility = $observer->getPostalFacility();
|
205 |
+
if ($facility->hasData()) {
|
206 |
+
// someone else set a facility, we assume they know what they did.
|
207 |
+
return;
|
208 |
+
}
|
209 |
+
|
210 |
+
/** @var Mage_Sales_Model_Quote_Address|Mage_Sales_Model_Order_Address $address */
|
211 |
+
$address = $observer->getCustomerAddress();
|
212 |
+
$station = $address->getStreetFull();
|
213 |
+
$postNumber = $address->getCompany();
|
214 |
+
|
215 |
+
if ($postNumber != '' && !is_numeric($postNumber)) {
|
216 |
+
// not a valid DHL account number
|
217 |
+
return;
|
218 |
+
}
|
219 |
+
|
220 |
+
if (stripos($station, 'Packstation') === 0) {
|
221 |
+
$facility->setData(
|
222 |
+
array(
|
223 |
+
'shop_type' => PostalFacility::TYPE_PACKSTATION,
|
224 |
+
'shop_number' => preg_filter('/^.*([\d]{3})($|\n.*)/', '$1', $station),
|
225 |
+
'post_number' => $postNumber,
|
226 |
+
)
|
227 |
+
);
|
228 |
+
} elseif (stripos($station, 'Postfiliale') === 0) {
|
229 |
+
$facility->setData(
|
230 |
+
array(
|
231 |
+
'shop_type' => PostalFacility::TYPE_POSTFILIALE,
|
232 |
+
'shop_number' => preg_filter('/^.*([\d]{3})($|\n.*)/', '$1', $station),
|
233 |
+
'post_number' => $postNumber,
|
234 |
+
)
|
235 |
+
);
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
/**
|
240 |
+
* Disable COD in case it is not available for the current destination.
|
241 |
+
* - event: payment_method_is_active
|
242 |
+
*
|
243 |
+
* @param Varien_Event_Observer $observer
|
244 |
+
*/
|
245 |
+
public function disableCodPayment(Varien_Event_Observer $observer)
|
246 |
+
{
|
247 |
+
$checkResult = $observer->getData('result');
|
248 |
+
if (!$checkResult->isAvailable) {
|
249 |
+
// payment method not available anyway
|
250 |
+
return;
|
251 |
+
}
|
252 |
+
|
253 |
+
/** @var Mage_Sales_Model_Quote $quote */
|
254 |
+
$quote = $observer->getData('quote');
|
255 |
+
if (!$quote) {
|
256 |
+
$quote = Mage::getSingleton('checkout/session')->getQuote();
|
257 |
+
}
|
258 |
+
if (!$quote) {
|
259 |
+
// no quote, cannot check whether cod is allowed or not.
|
260 |
+
return;
|
261 |
+
}
|
262 |
+
|
263 |
+
/** @var Mage_Payment_Model_Method_Abstract $methodInstance */
|
264 |
+
$methodInstance = $observer->getData('method_instance');
|
265 |
+
|
266 |
+
$shippingMethod = $quote->getShippingAddress()->getShippingMethod();
|
267 |
+
$paymentMethod = $methodInstance->getCode();
|
268 |
+
|
269 |
+
/** @var Dhl_Versenden_Model_Config_Shipment $config */
|
270 |
+
$config = Mage::getModel('dhl_versenden/config_shipment');
|
271 |
+
if (!$config->canProcessMethod($shippingMethod, $quote->getStoreId())) {
|
272 |
+
// no dhl shipping method
|
273 |
+
return;
|
274 |
+
}
|
275 |
+
|
276 |
+
if (!$config->isCodPaymentMethod($paymentMethod, $quote->getStoreId())) {
|
277 |
+
// no cod payment method
|
278 |
+
return;
|
279 |
+
}
|
280 |
+
|
281 |
+
// obtain possible dhl products (national, weltpaket, …) and check if
|
282 |
+
// the filter allows cod for these them
|
283 |
+
$shipperCountry = Mage::getStoreConfig(
|
284 |
+
Mage_Shipping_Model_Shipping::XML_PATH_STORE_COUNTRY_ID,
|
285 |
+
$quote->getStoreId()
|
286 |
+
);
|
287 |
+
$recipientCountry = $quote->getShippingAddress()->getCountryId();
|
288 |
+
$euCountries =
|
289 |
+
Mage::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_EU_COUNTRIES_LIST, $quote->getStoreId());
|
290 |
+
$euCountries = explode(',', $euCountries);
|
291 |
+
|
292 |
+
$availableProducts = \Dhl\Versenden\Bcs\Api\Product::getCodesByCountry(
|
293 |
+
$shipperCountry,
|
294 |
+
$recipientCountry,
|
295 |
+
$euCountries
|
296 |
+
);
|
297 |
+
|
298 |
+
$filter = new \Dhl\Versenden\Bcs\Api\Shipment\Service\Filter($availableProducts, false, false);
|
299 |
+
$codService = $filter->filterService(new \Dhl\Versenden\Bcs\Api\Shipment\Service\Cod('cod', true, true));
|
300 |
+
if ($codService === null) {
|
301 |
+
$checkResult->isAvailable = false;
|
302 |
+
}
|
303 |
+
}
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Cancel the shipping label via DHL Business Customer Shipping API.
|
307 |
+
* The track will not be deleted if shipping label deletion fails.
|
308 |
+
* - event: sales_order_shipment_track_delete_before
|
309 |
+
*
|
310 |
+
* @param Varien_Event_Observer $observer
|
311 |
+
*
|
312 |
+
* @throws Mage_Core_Exception
|
313 |
+
*/
|
314 |
+
public function deleteShippingLabel(Varien_Event_Observer $observer)
|
315 |
+
{
|
316 |
+
/** @var Mage_Sales_Model_Order_Shipment_Track $track */
|
317 |
+
$track = $observer->getData('track');
|
318 |
+
if ($track->getCarrierCode() !== Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE) {
|
319 |
+
// some other carrier, not our business.
|
320 |
+
return;
|
321 |
+
}
|
322 |
+
|
323 |
+
if (!$track->getShipment()->hasShippingLabel()) {
|
324 |
+
// shipment has no label, no need to send cancellation request
|
325 |
+
return;
|
326 |
+
}
|
327 |
+
|
328 |
+
$gateway = Mage::getModel('dhl_versenden/webservice_gateway_soap');
|
329 |
+
$shipmentNumbers = array($track->getData('track_number'));
|
330 |
+
$response = $gateway->deleteShipmentOrder($shipmentNumbers);
|
331 |
+
if ($response->getStatus()->isError()) {
|
332 |
+
throw new Mage_Core_Exception($response->getStatus()->getStatusText());
|
333 |
+
}
|
334 |
+
|
335 |
+
$track->getShipment()->setShippingLabel(null);
|
336 |
+
$track->getShipment()->save();
|
337 |
+
}
|
338 |
+
|
339 |
+
/**
|
340 |
+
* Convert Info object to serialized representation.
|
341 |
+
* - event: model_save_before
|
342 |
+
*
|
343 |
+
* @param Varien_Event_Observer $observer
|
344 |
+
*/
|
345 |
+
public function serializeVersendenInfo(Varien_Event_Observer $observer)
|
346 |
+
{
|
347 |
+
$address = $observer->getData('object');
|
348 |
+
if (!$address instanceof Mage_Customer_Model_Address_Abstract) {
|
349 |
+
return;
|
350 |
+
}
|
351 |
+
|
352 |
+
$info = $address->getData('dhl_versenden_info');
|
353 |
+
if (!$info || !$info instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
354 |
+
return;
|
355 |
+
}
|
356 |
+
|
357 |
+
$serializer = new \Dhl\Versenden\Bcs\Api\Info\Serializer();
|
358 |
+
$address->setData('dhl_versenden_info', $serializer->serialize($info));
|
359 |
+
}
|
360 |
+
|
361 |
+
/**
|
362 |
+
* Convert serialized info to Info object.
|
363 |
+
* - event: model_load_after
|
364 |
+
* - event: model_save_after
|
365 |
+
*
|
366 |
+
* @param Varien_Event_Observer $observer
|
367 |
+
*/
|
368 |
+
public function unserializeVersendenInfo(Varien_Event_Observer $observer)
|
369 |
+
{
|
370 |
+
$address = $observer->getData('object');
|
371 |
+
if (!$address instanceof Mage_Customer_Model_Address_Abstract) {
|
372 |
+
return;
|
373 |
+
}
|
374 |
+
|
375 |
+
$info = $address->getData('dhl_versenden_info');
|
376 |
+
if (!$info || !is_string($info)) {
|
377 |
+
return;
|
378 |
+
}
|
379 |
+
|
380 |
+
$serializer = new \Dhl\Versenden\Bcs\Api\Info\Serializer();
|
381 |
+
$address->setData('dhl_versenden_info', $serializer->unserialize($info));
|
382 |
+
}
|
383 |
+
|
384 |
+
/**
|
385 |
+
* Convert serialized info to Info object.
|
386 |
+
* - event: sales_order_address_collection_load_after
|
387 |
+
*
|
388 |
+
* @param Varien_Event_Observer $observer
|
389 |
+
*/
|
390 |
+
public function unserializeVersendenInfoItems(Varien_Event_Observer $observer)
|
391 |
+
{
|
392 |
+
$collection = $observer->getData('order_address_collection');
|
393 |
+
if (!$collection instanceof Mage_Sales_Model_Resource_Order_Address_Collection
|
394 |
+
&& !$collection instanceof Mage_Sales_Model_Resource_Quote_Address_Collection
|
395 |
+
) {
|
396 |
+
return;
|
397 |
+
}
|
398 |
+
|
399 |
+
$unserializeInfo = function(Mage_Customer_Model_Address_Abstract $address) {
|
400 |
+
$info = $address->getData('dhl_versenden_info');
|
401 |
+
if (!$info || !is_string($info)) {
|
402 |
+
return;
|
403 |
+
}
|
404 |
+
|
405 |
+
$serializer = new \Dhl\Versenden\Bcs\Api\Info\Serializer();
|
406 |
+
$address->setData('dhl_versenden_info', $serializer->unserialize($info));
|
407 |
+
};
|
408 |
+
|
409 |
+
$collection->walk($unserializeInfo);
|
410 |
+
}
|
411 |
+
|
412 |
+
/**
|
413 |
+
* Override form block as defined via container properties when additional
|
414 |
+
* DHL Versenden address fields need to be displayed.
|
415 |
+
* - event: adminhtml_widget_container_html_before
|
416 |
+
*
|
417 |
+
* @param Varien_Event_Observer $observer
|
418 |
+
*/
|
419 |
+
public function replaceAddressForm(Varien_Event_Observer $observer)
|
420 |
+
{
|
421 |
+
$container = $observer->getData('block');
|
422 |
+
if (!$container instanceof Mage_Adminhtml_Block_Sales_Order_Address) {
|
423 |
+
return;
|
424 |
+
}
|
425 |
+
|
426 |
+
$address = Mage::registry('order_address');
|
427 |
+
if (!$address || ($address->getAddressType() !== Mage_Customer_Model_Address_Abstract::TYPE_SHIPPING)) {
|
428 |
+
return;
|
429 |
+
}
|
430 |
+
|
431 |
+
$shippingMethod = $address->getOrder()->getShippingMethod(true);
|
432 |
+
if ($shippingMethod->getData('carrier_code') !== Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE) {
|
433 |
+
return;
|
434 |
+
}
|
435 |
+
|
436 |
+
$info = $address->getData('dhl_versenden_info');
|
437 |
+
if (!$info instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
438 |
+
return;
|
439 |
+
}
|
440 |
+
|
441 |
+
$origAddressForm = $container->getChild('form');
|
442 |
+
if (!$origAddressForm instanceof Mage_Adminhtml_Block_Sales_Order_Create_Form_Address) {
|
443 |
+
return;
|
444 |
+
}
|
445 |
+
|
446 |
+
$dhlAddressForm = Mage::app()->getLayout()->getBlock('dhl_versenden_form');
|
447 |
+
$dhlAddressForm->setDisplayVatValidationButton($origAddressForm->getDisplayVatValidationButton());
|
448 |
+
$container->setChild('form', $dhlAddressForm);
|
449 |
+
}
|
450 |
+
}
|
app/code/community/Dhl/Versenden/Model/Resource/Autocreate/Collection.php
ADDED
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Resource_Autocreate_Collection
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Resource_Autocreate_Collection
|
37 |
+
extends Mage_Sales_Model_Resource_Order_Collection
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Event prefix
|
41 |
+
*
|
42 |
+
* @var string
|
43 |
+
*/
|
44 |
+
protected $_eventPrefix = 'dhlversenden_autocreate_collection';
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Event object
|
48 |
+
*
|
49 |
+
* @var string
|
50 |
+
*/
|
51 |
+
protected $_eventObject = 'autocreate_collection';
|
52 |
+
|
53 |
+
public function addShippingMethodFilter()
|
54 |
+
{
|
55 |
+
// only consider orders with DHL Versenden carrier
|
56 |
+
$this->addFieldToFilter(
|
57 |
+
'shipping_method',
|
58 |
+
array('like' => Dhl_Versenden_Model_Shipping_Carrier_Versenden::CODE . '%')
|
59 |
+
);
|
60 |
+
|
61 |
+
return $this;
|
62 |
+
}
|
63 |
+
|
64 |
+
public function addShipmentFilter()
|
65 |
+
{
|
66 |
+
// only consider orders that have no shipments yet
|
67 |
+
$this->getSelect()->joinLeft(
|
68 |
+
array('shipment' => 'sales_flat_shipment'),
|
69 |
+
'main_table.entity_id = shipment.order_id',
|
70 |
+
array('shipment.order_id')
|
71 |
+
);
|
72 |
+
$this->addFieldToFilter('shipment.entity_id', array('null' => true));
|
73 |
+
|
74 |
+
return $this;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @param string[] $countries List of country codes
|
79 |
+
* @return $this
|
80 |
+
*/
|
81 |
+
public function addDeliveryCountriesFilter(array $countries)
|
82 |
+
{
|
83 |
+
$this->_addAddressFields();
|
84 |
+
$this->addFieldToFilter('shipping_o_a.country_id', array('in' => $countries));
|
85 |
+
|
86 |
+
return $this;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @param string[] $status
|
91 |
+
* @return $this
|
92 |
+
*/
|
93 |
+
public function addStatusFilter(array $status)
|
94 |
+
{
|
95 |
+
$this->addFieldToFilter('status', array('in' => $status));
|
96 |
+
|
97 |
+
return $this;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* @param mixed[] $stores
|
102 |
+
* @return $this
|
103 |
+
*/
|
104 |
+
public function addStoreFilter(array $stores)
|
105 |
+
{
|
106 |
+
$storeIds = array_map(
|
107 |
+
function ($store) {
|
108 |
+
return Mage::app()->getStore($store)->getId();
|
109 |
+
},
|
110 |
+
$stores
|
111 |
+
);
|
112 |
+
|
113 |
+
$this->addFieldToFilter('main_table.store_id', array('in' => $storeIds));
|
114 |
+
|
115 |
+
return $this;
|
116 |
+
}
|
117 |
+
}
|
app/code/community/Dhl/Versenden/Model/Shipping/Autocreate.php
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Shipping_Autocreate
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Sebastian Ertner <sebastian.ertner@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Shipping_Autocreate
|
37 |
+
{
|
38 |
+
/** @var Dhl_Versenden_Model_Log */
|
39 |
+
protected $logger;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Dhl_Versenden_Model_Shipping_Autocreate constructor.
|
43 |
+
*/
|
44 |
+
public function __construct($args = array())
|
45 |
+
{
|
46 |
+
if (!isset($args['logger']) || !$args['logger'] instanceof Dhl_Versenden_Model_Log) {
|
47 |
+
throw new Mage_Core_Exception('missing or invalid argument: logger');
|
48 |
+
}
|
49 |
+
|
50 |
+
$this->logger = $args['logger'];
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param Mage_Sales_Model_Resource_Order_Collection $collection
|
55 |
+
* @return Mage_Shipping_Model_Shipment_Request[]
|
56 |
+
*/
|
57 |
+
protected function prepareShipmentRequests(Mage_Sales_Model_Resource_Order_Collection $collection)
|
58 |
+
{
|
59 |
+
$shipmentRequests = array();
|
60 |
+
|
61 |
+
$shipmentConfig = Mage::getModel('dhl_versenden/config_shipment');
|
62 |
+
$shipperConfig = Mage::getModel('dhl_versenden/config_shipper');
|
63 |
+
$serviceConfig = Mage::getModel('dhl_versenden/config_service');
|
64 |
+
|
65 |
+
/** @var Mage_Sales_Model_Order $order */
|
66 |
+
foreach ($collection as $order) {
|
67 |
+
try {
|
68 |
+
$shipment = $order->prepareShipment();
|
69 |
+
$shipment->register();
|
70 |
+
|
71 |
+
$builder = new Dhl_Versenden_Model_Shipping_Autocreate_Builder(
|
72 |
+
$order,
|
73 |
+
$shipmentConfig,
|
74 |
+
$shipperConfig,
|
75 |
+
$serviceConfig
|
76 |
+
);
|
77 |
+
$request = $builder->createShipmentRequest($shipment);
|
78 |
+
|
79 |
+
$shipmentRequests[$order->getId()] = $request;
|
80 |
+
} catch (Exception $e) {
|
81 |
+
$this->logger->error($e->getMessage(), array('exception' => $e));
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
return $shipmentRequests;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @param Mage_Sales_Model_Resource_Order_Collection $collection
|
90 |
+
* @return int The number of successfully created shipment orders.
|
91 |
+
*/
|
92 |
+
public function autoCreate(Mage_Sales_Model_Resource_Order_Collection $collection)
|
93 |
+
{
|
94 |
+
if (!$collection->getSize()) {
|
95 |
+
return 0;
|
96 |
+
}
|
97 |
+
|
98 |
+
$ordersShipped = 0;
|
99 |
+
|
100 |
+
$shipmentRequests = $this->prepareShipmentRequests($collection);
|
101 |
+
$gateway = Mage::getModel('dhl_versenden/webservice_gateway_soap');
|
102 |
+
$result = $gateway->createShipmentOrder($shipmentRequests);
|
103 |
+
|
104 |
+
$carrier = Mage::getModel('dhl_versenden/shipping_carrier_versenden');
|
105 |
+
$pdfLib = new \Dhl\Versenden\Bcs\Api\Pdf\Adapter\Zend();
|
106 |
+
$transaction = Mage::getModel('core/resource_transaction');
|
107 |
+
|
108 |
+
/** @var Mage_Shipping_Model_Shipment_Request $shipmentRequest */
|
109 |
+
foreach ($shipmentRequests as $orderId => $shipmentRequest) {
|
110 |
+
$shipment = $shipmentRequest->getOrderShipment();
|
111 |
+
$shipmentStatus = $result->getCreatedItems()->getItem($orderId)->getStatus();
|
112 |
+
|
113 |
+
if ($shipmentStatus->isError()) {
|
114 |
+
Mage::helper('dhl_versenden/data')->addStatusHistoryComment(
|
115 |
+
$shipmentRequest->getOrderShipment()->getOrder(),
|
116 |
+
sprintf('%s %s', $shipmentStatus->getStatusText(), $shipmentStatus->getStatusMessage())
|
117 |
+
);
|
118 |
+
} else {
|
119 |
+
$labels = $result->getCreatedItems()->getItem($orderId)->getAllLabels($pdfLib);
|
120 |
+
$shipment->setShippingLabel($labels);
|
121 |
+
$track = Mage::getModel('sales/order_shipment_track')
|
122 |
+
->setNumber($result->getShipmentNumber($orderId))
|
123 |
+
->setCarrierCode($carrier->getCarrierCode())
|
124 |
+
->setTitle($carrier->getConfigData('title'));
|
125 |
+
$shipment->addTrack($track);
|
126 |
+
$shipment->getOrder()->setIsInProcess(true);
|
127 |
+
$transaction
|
128 |
+
->addObject($shipment)
|
129 |
+
->addObject($shipment->getOrder());
|
130 |
+
|
131 |
+
$ordersShipped++;
|
132 |
+
}
|
133 |
+
}
|
134 |
+
|
135 |
+
$transaction->save();
|
136 |
+
|
137 |
+
return $ordersShipped;
|
138 |
+
}
|
139 |
+
}
|
app/code/community/Dhl/Versenden/Model/Shipping/Autocreate/Builder.php
ADDED
@@ -0,0 +1,280 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Shipping_Autocreate_Builder
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Shipping_Autocreate_Builder
|
37 |
+
{
|
38 |
+
/** @var Mage_Sales_Model_Order */
|
39 |
+
protected $order;
|
40 |
+
/** @var Dhl_Versenden_Model_Config_Shipment */
|
41 |
+
protected $shipmentConfig;
|
42 |
+
/** @var Dhl_Versenden_Model_Config_Shipper */
|
43 |
+
protected $shipperConfig;
|
44 |
+
/** @var Dhl_Versenden_Model_Config_Service */
|
45 |
+
protected $serviceConfig;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Dhl_Versenden_Model_Shipping_Autocreate_Builder constructor.
|
49 |
+
*
|
50 |
+
* @param Mage_Sales_Model_Order $order
|
51 |
+
* @param Dhl_Versenden_Model_Config_Shipment $shipmentConfig
|
52 |
+
* @param Dhl_Versenden_Model_Config_Shipper $shipperConfig
|
53 |
+
* @param Dhl_Versenden_Model_Config_Service $serviceConfig
|
54 |
+
*/
|
55 |
+
public function __construct(Mage_Sales_Model_Order $order,
|
56 |
+
Dhl_Versenden_Model_Config_Shipment $shipmentConfig,
|
57 |
+
Dhl_Versenden_Model_Config_Shipper $shipperConfig,
|
58 |
+
Dhl_Versenden_Model_Config_Service $serviceConfig)
|
59 |
+
{
|
60 |
+
$this->order = $order;
|
61 |
+
$this->shipmentConfig = $shipmentConfig;
|
62 |
+
$this->shipperConfig = $shipperConfig;
|
63 |
+
$this->serviceConfig = $serviceConfig;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Create shipment request for given shipment.
|
68 |
+
*
|
69 |
+
* @param Mage_Sales_Model_Order_Shipment $shipment
|
70 |
+
* @return Mage_Shipping_Model_Shipment_Request
|
71 |
+
*/
|
72 |
+
public function createShipmentRequest(Mage_Sales_Model_Order_Shipment $shipment)
|
73 |
+
{
|
74 |
+
$request = Mage::getModel('shipping/shipment_request');
|
75 |
+
|
76 |
+
$request->setOrderShipment($shipment);
|
77 |
+
$request->setShippingMethod($this->order->getShippingMethod());
|
78 |
+
$request->setPackageWeight($this->order->getWeight());
|
79 |
+
$request->setBaseCurrencyCode(Mage::app()->getStore($shipment->getStoreId())->getBaseCurrencyCode());
|
80 |
+
$request->setStoreId($shipment->getStoreId());
|
81 |
+
|
82 |
+
$this->setShipper($request);
|
83 |
+
$this->setRecipient($request);
|
84 |
+
$this->setPackages($request);
|
85 |
+
$this->setServices($request);
|
86 |
+
$this->setGkApiProduct($request);
|
87 |
+
$this->setCustomsInfo($request);
|
88 |
+
|
89 |
+
return $request;
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Add shipping origin info to request.
|
94 |
+
*
|
95 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
96 |
+
*/
|
97 |
+
protected function setShipper(Mage_Shipping_Model_Shipment_Request $request)
|
98 |
+
{
|
99 |
+
/** @var \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\Shipper\Contact $contact */
|
100 |
+
$contact = $this->shipperConfig->getContact($this->order->getStoreId());
|
101 |
+
$request->setShipperContactPersonName($contact->getName1());
|
102 |
+
$request->setShipperContactCompanyName($contact->getName2());
|
103 |
+
$request->setShipperContactPhoneNumber($contact->getPhone());
|
104 |
+
$request->setShipperEmail($contact->getEmail());
|
105 |
+
$request->setShipperAddressStreet(trim($contact->getStreetName() . ' ' . $contact->getStreetNumber()));
|
106 |
+
$request->setShipperAddressStreet1($contact->getStreetName());
|
107 |
+
$request->setShipperAddressStreet2($contact->getStreetNumber());
|
108 |
+
$request->setShipperAddressCity($contact->getCity());
|
109 |
+
$request->setShipperAddressPostalCode($contact->getZip());
|
110 |
+
$request->setShipperAddressCountryCode($contact->getCountryISOCode());
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Add shipment address info to request.
|
115 |
+
*
|
116 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
117 |
+
*/
|
118 |
+
protected function setRecipient(Mage_Shipping_Model_Shipment_Request $request)
|
119 |
+
{
|
120 |
+
$address = $this->order->getShippingAddress();
|
121 |
+
$recipientRegionCode = Mage::getModel('directory/region')->load($address->getRegionId())->getCode();
|
122 |
+
|
123 |
+
$request->setRecipientContactPersonName(trim($address->getFirstname() . ' ' . $address->getLastname()));
|
124 |
+
$request->setRecipientContactPersonFirstName($address->getFirstname());
|
125 |
+
$request->setRecipientContactPersonLastName($address->getLastname());
|
126 |
+
$request->setRecipientContactCompanyName($address->getCompany());
|
127 |
+
$request->setRecipientContactPhoneNumber($address->getTelephone());
|
128 |
+
$request->setRecipientEmail($address->getEmail());
|
129 |
+
$request->setRecipientAddressStreet(trim($address->getStreet1() . ' ' . $address->getStreet2()));
|
130 |
+
$request->setRecipientAddressStreet1($address->getStreet1());
|
131 |
+
$request->setRecipientAddressStreet2($address->getStreet2());
|
132 |
+
$request->setRecipientAddressCity($address->getCity());
|
133 |
+
$request->setRecipientAddressStateOrProvinceCode($address->getRegionCode());
|
134 |
+
$request->setRecipientAddressRegionCode($recipientRegionCode);
|
135 |
+
$request->setRecipientAddressPostalCode($address->getPostcode());
|
136 |
+
$request->setRecipientAddressCountryCode($address->getCountryId());
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* Add package details to request.
|
141 |
+
*
|
142 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
143 |
+
*/
|
144 |
+
protected function setPackages(Mage_Shipping_Model_Shipment_Request $request)
|
145 |
+
{
|
146 |
+
$packageItems = array();
|
147 |
+
$totalWeight = 0;
|
148 |
+
$totalCustomsValue = 0;
|
149 |
+
|
150 |
+
/** @var Mage_Sales_Model_Order_Item $item */
|
151 |
+
foreach ($this->order->getAllItems() as $item) {
|
152 |
+
if (!$item->isDummy($request->getOrderShipment())) {
|
153 |
+
$packageItem = array();
|
154 |
+
$packageItem['qty'] = $item->getQtyShipped();
|
155 |
+
$packageItem['customs_value'] = $item->getBasePrice();
|
156 |
+
$packageItem['price'] = $item->getPrice();
|
157 |
+
$packageItem['name'] = $item->getName();
|
158 |
+
$packageItem['weight'] = $item->getWeight();
|
159 |
+
$packageItem['product_id'] = $item->getProductId();
|
160 |
+
$packageItem['order_item_id'] = $item->getId();
|
161 |
+
|
162 |
+
$packageItems[$item->getId()] = $packageItem;
|
163 |
+
|
164 |
+
$totalWeight+= ($item->getQtyShipped() * $item->getWeight());
|
165 |
+
$totalCustomsValue+= ($item->getQtyShipped() * $item->getBasePrice());
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
$packageParams = array(
|
170 |
+
'weight' => $totalWeight,
|
171 |
+
'customs_value' => $totalCustomsValue,
|
172 |
+
'weight_units' => $this->shipmentConfig->getSettings($this->order->getStoreId())->getUnitOfMeasure(),
|
173 |
+
);
|
174 |
+
|
175 |
+
$packageData = array(
|
176 |
+
// package_1:
|
177 |
+
'1' => array(
|
178 |
+
'params' => $packageParams,
|
179 |
+
'items' => $packageItems
|
180 |
+
),
|
181 |
+
);
|
182 |
+
|
183 |
+
$request->getOrderShipment()->setData('packages', $packageData);
|
184 |
+
$request->setData('packages', $packageData);
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Add merchant and customer services to request.
|
189 |
+
*
|
190 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
191 |
+
*/
|
192 |
+
protected function setServices(Mage_Shipping_Model_Shipment_Request $request)
|
193 |
+
{
|
194 |
+
$storeId = $this->order->getStoreId();
|
195 |
+
|
196 |
+
// set merchant services from autocreate config
|
197 |
+
$services = $this->serviceConfig->getAutoCreateServices($storeId);
|
198 |
+
$shippingAddress = $this->order->getShippingAddress();
|
199 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')->getShipperCountry($storeId);
|
200 |
+
$recipientCountry = $shippingAddress->getCountryId();
|
201 |
+
$euCountries = explode(',', Mage::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_EU_COUNTRIES_LIST, $storeId));
|
202 |
+
|
203 |
+
$shippingProducts = \Dhl\Versenden\Bcs\Api\Product::getCodesByCountry($shipperCountry, $recipientCountry, $euCountries);
|
204 |
+
$isPostalFacility = Mage::helper('dhl_versenden/data')->isPostalFacility($shippingAddress);
|
205 |
+
|
206 |
+
$serviceFilter = new \Dhl\Versenden\Bcs\Api\Shipment\Service\Filter($shippingProducts, $isPostalFacility, false);
|
207 |
+
$filteredServiceCollection = $serviceFilter->filterServiceCollection($services);
|
208 |
+
|
209 |
+
$serviceData = array(
|
210 |
+
'shipment_service' => array(),
|
211 |
+
'service_setting' => array(),
|
212 |
+
);
|
213 |
+
|
214 |
+
/** @var \Dhl\Versenden\Bcs\Api\Shipment\Service\Type\Generic $service */
|
215 |
+
foreach ($filteredServiceCollection as $service) {
|
216 |
+
$serviceData['shipment_service'][$service->getCode()] = $service->isEnabled();
|
217 |
+
$serviceData['service_setting'][$service->getCode()] = $service->getValue();
|
218 |
+
}
|
219 |
+
|
220 |
+
|
221 |
+
// add printOnlyIfCodeable flag from config
|
222 |
+
$serviceData['shipment_service'][Service\PrintOnlyIfCodeable::CODE] =
|
223 |
+
$this->shipmentConfig->getSettings($storeId)->isPrintOnlyIfCodeable();
|
224 |
+
// add parcelAnnouncement flag from config
|
225 |
+
$parcelAnnouncement = $this->serviceConfig->getEnabledServices($storeId)
|
226 |
+
->getItem(Service\ParcelAnnouncement::CODE);
|
227 |
+
if (($parcelAnnouncement instanceof Service\ParcelAnnouncement) && !$parcelAnnouncement->isCustomerService()) {
|
228 |
+
$serviceData['shipment_service'][Service\ParcelAnnouncement::CODE] = true;
|
229 |
+
}
|
230 |
+
|
231 |
+
|
232 |
+
// set customer services from checkout (includes parcelAnnouncement if configured as "optional")
|
233 |
+
/** @var \Dhl\Versenden\Bcs\Api\Info $versendenInfo */
|
234 |
+
$versendenInfo = $this->order->getShippingAddress()->getData('dhl_versenden_info');
|
235 |
+
if ($versendenInfo instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
236 |
+
$customerServices = $this->serviceConfig->getAvailableServices(
|
237 |
+
$shipperCountry,
|
238 |
+
$recipientCountry,
|
239 |
+
$isPostalFacility,
|
240 |
+
true,
|
241 |
+
$storeId
|
242 |
+
);
|
243 |
+
/** @var Service\Type\Generic $customerService */
|
244 |
+
foreach ($customerServices as $customerService) {
|
245 |
+
$code = $customerService->getCode();
|
246 |
+
$serviceData['shipment_service'][$code] = (bool)$versendenInfo->getServices()->{$code};
|
247 |
+
$serviceData['service_setting'][$code] = (string)$versendenInfo->getServices()->{$code};
|
248 |
+
}
|
249 |
+
}
|
250 |
+
|
251 |
+
$request->setData('services', $serviceData);
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* Determine the product to be used with the current shipment.
|
256 |
+
*
|
257 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
258 |
+
*/
|
259 |
+
protected function setGkApiProduct(Mage_Shipping_Model_Shipment_Request $request)
|
260 |
+
{
|
261 |
+
$shipperCountry = $this->shipperConfig->getContact($this->order->getStoreId())->getCountryISOCode();
|
262 |
+
$recipientCountry = $this->order->getShippingAddress()->getCountryId();
|
263 |
+
|
264 |
+
$products = Mage::getModel('dhl_versenden/shipping_carrier_versenden')
|
265 |
+
->getProducts($shipperCountry, $recipientCountry);
|
266 |
+
$productCodes = array_keys($products);
|
267 |
+
|
268 |
+
$request->setData('gk_api_product', $productCodes[0]);
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Add customs info to request: empty, international shipments are note supported.
|
273 |
+
*
|
274 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
275 |
+
*/
|
276 |
+
protected function setCustomsInfo(Mage_Shipping_Model_Shipment_Request $request)
|
277 |
+
{
|
278 |
+
$request->setData('customs', array());
|
279 |
+
}
|
280 |
+
}
|
app/code/community/Dhl/Versenden/Model/Shipping/Carrier/Versenden.php
ADDED
@@ -0,0 +1,252 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice;
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Product;
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Shipping_Carrier_Versenden
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Dhl_Versenden_Model_Shipping_Carrier_Versenden
|
38 |
+
extends Mage_Shipping_Model_Carrier_Abstract
|
39 |
+
implements Mage_Shipping_Model_Carrier_Interface
|
40 |
+
{
|
41 |
+
const CODE = 'dhlversenden';
|
42 |
+
const PACKAGE_MIN_WEIGHT = 0.01;
|
43 |
+
|
44 |
+
const EXPORT_TYPE_COMMERCIAL_SAMPLE = 'COMMERCIAL_SAMPLE';
|
45 |
+
const EXPORT_TYPE_DOCUMENT = 'DOCUMENT';
|
46 |
+
const EXPORT_TYPE_OTHER = 'OTHER';
|
47 |
+
const EXPORT_TYPE_PRESENT = 'PRESENT';
|
48 |
+
const EXPORT_TYPE_RETURN_OF_GOODS = 'RETURN_OF_GOODS';
|
49 |
+
|
50 |
+
const TOT_DDP = 'DDP';
|
51 |
+
const TOT_DXV = 'DXV';
|
52 |
+
const TOT_DDU = 'DDU';
|
53 |
+
const TOT_DDX = 'DDX';
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Init carrier code
|
57 |
+
*/
|
58 |
+
protected function _construct()
|
59 |
+
{
|
60 |
+
parent::_construct();
|
61 |
+
$this->_code = self::CODE;
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @param string $shipperCountry
|
66 |
+
* @param string $recipientCountry
|
67 |
+
* @return string[]
|
68 |
+
*/
|
69 |
+
public function getProducts($shipperCountry, $recipientCountry)
|
70 |
+
{
|
71 |
+
$products = array(
|
72 |
+
Product::CODE_PAKET_NATIONAL => Mage::helper('dhl_versenden/data')->__('DHL Paket National'),
|
73 |
+
Product::CODE_WELTPAKET => Mage::helper('dhl_versenden/data')->__('DHL Weltpaket'),
|
74 |
+
Product::CODE_EUROPAKET => Mage::helper('dhl_versenden/data')->__('DHL Europaket'),
|
75 |
+
Product::CODE_KURIER_TAGGLEICH => Mage::helper('dhl_versenden/data')->__('DHL Kurier Taggleich'),
|
76 |
+
Product::CODE_KURIER_WUNSCHZEIT => Mage::helper('dhl_versenden/data')->__('DHL Kurier Wunschzeit'),
|
77 |
+
|
78 |
+
Product::CODE_PAKET_AUSTRIA => Mage::helper('dhl_versenden/data')->__('DHL Paket Austria'),
|
79 |
+
Product::CODE_PAKET_CONNECT => Mage::helper('dhl_versenden/data')->__('DHL PAKET Connect'),
|
80 |
+
Product::CODE_PAKET_INTERNATIONAL => Mage::helper('dhl_versenden/data')->__('DHL PAKET International'),
|
81 |
+
);
|
82 |
+
|
83 |
+
if (!$shipperCountry) {
|
84 |
+
// all translated products
|
85 |
+
$productsCodes = Product::getCodes();
|
86 |
+
$productsCodes = array_combine($productsCodes, $productsCodes);
|
87 |
+
$shipmentCodes = array_intersect_key($products, $productsCodes);
|
88 |
+
} else {
|
89 |
+
// translated products for given shipper / recipient combination
|
90 |
+
$euCountries = explode(',', Mage::getStoreConfig(Mage_Core_Helper_Data::XML_PATH_EU_COUNTRIES_LIST));
|
91 |
+
|
92 |
+
$productsCodes = Product::getCodesByCountry($shipperCountry, $recipientCountry, $euCountries);
|
93 |
+
$productsCodes = array_combine($productsCodes, $productsCodes);
|
94 |
+
$shipmentCodes = array_intersect_key($products, $productsCodes);
|
95 |
+
}
|
96 |
+
|
97 |
+
return $shipmentCodes;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* The DHL Versenden carrier does not calculate rates.
|
102 |
+
*
|
103 |
+
* @param Mage_Shipping_Model_Rate_Request $request
|
104 |
+
* @return null
|
105 |
+
*/
|
106 |
+
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
|
107 |
+
{
|
108 |
+
return null;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* The DHL Versenden carrier does not introduce own methods.
|
113 |
+
*
|
114 |
+
* @return mixed[]
|
115 |
+
*/
|
116 |
+
public function getAllowedMethods()
|
117 |
+
{
|
118 |
+
return array();
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Check if carrier has shipping label option available
|
123 |
+
*
|
124 |
+
* @return boolean
|
125 |
+
*/
|
126 |
+
public function isShippingLabelsAvailable()
|
127 |
+
{
|
128 |
+
return true;
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Return content types of package
|
133 |
+
*
|
134 |
+
* @param Varien_Object $params
|
135 |
+
* @return array
|
136 |
+
*/
|
137 |
+
public function getContentTypes(Varien_Object $params)
|
138 |
+
{
|
139 |
+
$contentTypes = array();
|
140 |
+
|
141 |
+
$isInternational = Mage::helper('dhl_versenden/data')->isCollectCustomsData(
|
142 |
+
$params->getData('country_shipper'),
|
143 |
+
$params->getData('country_recipient')
|
144 |
+
);
|
145 |
+
|
146 |
+
if ($isInternational) {
|
147 |
+
$contentTypes = array(
|
148 |
+
self::EXPORT_TYPE_COMMERCIAL_SAMPLE => Mage::helper('dhl_versenden/data')->__('Commercial Sample'),
|
149 |
+
self::EXPORT_TYPE_DOCUMENT => Mage::helper('dhl_versenden/data')->__('Document'),
|
150 |
+
self::EXPORT_TYPE_OTHER => Mage::helper('dhl_versenden/data')->__('Other'),
|
151 |
+
self::EXPORT_TYPE_PRESENT => Mage::helper('dhl_versenden/data')->__('Present'),
|
152 |
+
self::EXPORT_TYPE_RETURN_OF_GOODS => Mage::helper('dhl_versenden/data')->__('Return Of Goods'),
|
153 |
+
);
|
154 |
+
}
|
155 |
+
|
156 |
+
return $contentTypes;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Do request to shipment
|
161 |
+
*
|
162 |
+
* @param Mage_Shipping_Model_Shipment_Request $request
|
163 |
+
* @return Varien_Object
|
164 |
+
* @throws Exception
|
165 |
+
*/
|
166 |
+
public function requestToShipment(Mage_Shipping_Model_Shipment_Request $request)
|
167 |
+
{
|
168 |
+
$httpRequest = Mage::app()->getFrontController()->getRequest();
|
169 |
+
|
170 |
+
// add selected services to request
|
171 |
+
$serviceData = array(
|
172 |
+
'shipment_service' => $httpRequest->getPost('shipment_service', array()),
|
173 |
+
'service_setting' => $httpRequest->getPost('service_setting', array()),
|
174 |
+
);
|
175 |
+
$request->setData('services', $serviceData);
|
176 |
+
|
177 |
+
// add dhl product to request
|
178 |
+
$shipperCountry = Mage::getModel('dhl_versenden/config')
|
179 |
+
->getShipperCountry($request->getOrderShipment()->getStoreId());
|
180 |
+
$recipientCountry = $request->getOrderShipment()->getShippingAddress()->getCountryId();
|
181 |
+
$products = $this->getProducts($shipperCountry, $recipientCountry);
|
182 |
+
$productCodes = array_keys($products);
|
183 |
+
$request->setData('gk_api_product', $productCodes[0]);
|
184 |
+
|
185 |
+
// add customs information to request
|
186 |
+
$request->setData('customs', $httpRequest->getPost('customs', array()));
|
187 |
+
|
188 |
+
$sequenceNumber = 0;
|
189 |
+
$shipmentRequests = array(
|
190 |
+
$sequenceNumber => $request,
|
191 |
+
);
|
192 |
+
|
193 |
+
$response = new Varien_Object();
|
194 |
+
|
195 |
+
try {
|
196 |
+
$result = Mage::getModel('dhl_versenden/webservice_gateway_soap')
|
197 |
+
->createShipmentOrder($shipmentRequests);
|
198 |
+
|
199 |
+
$shipmentStatus = $result->getCreatedItems()->getItem($sequenceNumber)->getStatus();
|
200 |
+
if ($shipmentStatus->isError()) {
|
201 |
+
throw new Webservice\ResponseData\Status\Exception($shipmentStatus);
|
202 |
+
}
|
203 |
+
|
204 |
+
$pdfLib = new \Dhl\Versenden\Bcs\Api\Pdf\Adapter\Zend();
|
205 |
+
$responseData = array(
|
206 |
+
'info' => array(array(
|
207 |
+
'tracking_number' => $result->getShipmentNumber($sequenceNumber),
|
208 |
+
'label_content' => $result->getCreatedItems()->getItem($sequenceNumber)->getAllLabels($pdfLib),
|
209 |
+
))
|
210 |
+
);
|
211 |
+
$response->setData($responseData);
|
212 |
+
} catch (Webservice\Exception $e) {
|
213 |
+
// convert to Mage_Core_Exception for proper message display in frontend
|
214 |
+
Mage::throwException($e->getMessage());
|
215 |
+
}
|
216 |
+
|
217 |
+
return $response;
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* @param string $type
|
222 |
+
* @param string $code
|
223 |
+
* @return bool|mixed
|
224 |
+
*/
|
225 |
+
public function getCode($type, $code = '')
|
226 |
+
{
|
227 |
+
$codes = array(
|
228 |
+
'unit_of_measure' => array(
|
229 |
+
'G' => Mage::helper('dhl_versenden')->__('Grams'),
|
230 |
+
'KG' => Mage::helper('dhl_versenden')->__('Kilograms'),
|
231 |
+
),
|
232 |
+
'terms_of_trade' => array(
|
233 |
+
self::TOT_DDP => self::TOT_DDP,
|
234 |
+
self::TOT_DXV => self::TOT_DXV,
|
235 |
+
self::TOT_DDU => self::TOT_DDU,
|
236 |
+
self::TOT_DDX => self::TOT_DDX,
|
237 |
+
),
|
238 |
+
);
|
239 |
+
|
240 |
+
if (!isset($codes[$type])) {
|
241 |
+
return false;
|
242 |
+
} elseif ('' === $code) {
|
243 |
+
return $codes[$type];
|
244 |
+
}
|
245 |
+
|
246 |
+
if (!isset($codes[$type][$code])) {
|
247 |
+
return false;
|
248 |
+
} else {
|
249 |
+
return $codes[$type][$code];
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
app/code/community/Dhl/Versenden/Model/Shipping/Carrier/Versenden/Source/Unitofmeasure.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Shipping_Carrier_Versenden_Source_Unitofmeasure
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Shipping_Carrier_Versenden_Source_Unitofmeasure
|
37 |
+
{
|
38 |
+
public function toOptionArray()
|
39 |
+
{
|
40 |
+
$unitArr = Mage::getSingleton('dhl_versenden/shipping_carrier_versenden')
|
41 |
+
->getCode('unit_of_measure');
|
42 |
+
|
43 |
+
$returnArr = array();
|
44 |
+
foreach ($unitArr as $key => $val) {
|
45 |
+
$returnArr[] = array(
|
46 |
+
'value' => $key,
|
47 |
+
'label' => $val,
|
48 |
+
);
|
49 |
+
}
|
50 |
+
return $returnArr;
|
51 |
+
}
|
52 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Customs.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\Export;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Builder_Customs
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Webservice_Builder_Customs
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* @param string $invoiceNumber
|
40 |
+
* @param string[] $customsInfo
|
41 |
+
* @param string[] $packageInfo
|
42 |
+
* @return Export\DocumentCollection
|
43 |
+
*/
|
44 |
+
public function getExportDocuments($invoiceNumber, array $customsInfo, array $packageInfo)
|
45 |
+
{
|
46 |
+
$documentCollection = new Export\DocumentCollection();
|
47 |
+
|
48 |
+
if (empty($customsInfo)) {
|
49 |
+
return $documentCollection;
|
50 |
+
}
|
51 |
+
|
52 |
+
foreach ($packageInfo as $packageId => $package) {
|
53 |
+
$exportPositions = new Export\PositionCollection();
|
54 |
+
foreach ($package['items'] as $itemId => $item) {
|
55 |
+
$position = new Export\Position(
|
56 |
+
$itemId,
|
57 |
+
$item['customs']['description'],
|
58 |
+
$item['customs']['country_of_origin'],
|
59 |
+
$item['customs']['tariff_number'],
|
60 |
+
$item['qty'],
|
61 |
+
$item['weight'],
|
62 |
+
$item['customs_value']
|
63 |
+
);
|
64 |
+
$exportPositions->addItem($position);
|
65 |
+
}
|
66 |
+
|
67 |
+
$document = new Export\Document(
|
68 |
+
$packageId,
|
69 |
+
$invoiceNumber,
|
70 |
+
$package['params']['content_type'],
|
71 |
+
$package['params']['content_type_other'],
|
72 |
+
$customsInfo['terms_of_trade'],
|
73 |
+
$customsInfo['additional_fee'],
|
74 |
+
$customsInfo['place_of_commital'],
|
75 |
+
$customsInfo['permit_number'],
|
76 |
+
$customsInfo['attestation_number'],
|
77 |
+
isset($customsInfo['export_notification']) && $customsInfo['export_notification'],
|
78 |
+
$exportPositions
|
79 |
+
);
|
80 |
+
|
81 |
+
$documentCollection->addItem($document);
|
82 |
+
}
|
83 |
+
|
84 |
+
return $documentCollection;
|
85 |
+
}
|
86 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Order.php
ADDED
@@ -0,0 +1,218 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Builder_Order
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Webservice_Builder_Order
|
37 |
+
{
|
38 |
+
/** @var Dhl_Versenden_Model_Webservice_Builder_Shipper */
|
39 |
+
protected $shipperBuilder;
|
40 |
+
/** @var Dhl_Versenden_Model_Webservice_Builder_Receiver */
|
41 |
+
protected $receiverBuilder;
|
42 |
+
/** @var Dhl_Versenden_Model_Webservice_Builder_Service */
|
43 |
+
protected $serviceBuilder;
|
44 |
+
/** @var Dhl_Versenden_Model_Webservice_Builder_Package */
|
45 |
+
protected $packageBuilder;
|
46 |
+
/** @var Dhl_Versenden_Model_Webservice_Builder_Customs */
|
47 |
+
protected $customsBuilder;
|
48 |
+
/** @var Dhl_Versenden_Model_Webservice_Builder_Settings */
|
49 |
+
protected $settingsBuilder;
|
50 |
+
/** @var Dhl_Versenden_Model_Info_Builder */
|
51 |
+
protected $infoBuilder;
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Dhl_Versenden_Model_Webservice_Builder_Order constructor.
|
55 |
+
*
|
56 |
+
* @param mixed[] $args
|
57 |
+
* @throws Mage_Core_Exception
|
58 |
+
*/
|
59 |
+
public function __construct($args)
|
60 |
+
{
|
61 |
+
$argDef = array(
|
62 |
+
'shipper_builder' => Dhl_Versenden_Model_Webservice_Builder_Shipper::class,
|
63 |
+
'receiver_builder' => Dhl_Versenden_Model_Webservice_Builder_Receiver::class,
|
64 |
+
'service_builder' => Dhl_Versenden_Model_Webservice_Builder_Service::class,
|
65 |
+
'package_builder' => Dhl_Versenden_Model_Webservice_Builder_Package::class,
|
66 |
+
'customs_builder' => Dhl_Versenden_Model_Webservice_Builder_Customs::class,
|
67 |
+
'settings_builder' => Dhl_Versenden_Model_Webservice_Builder_Settings::class,
|
68 |
+
'info_builder' => Dhl_Versenden_Model_Info_Builder::class
|
69 |
+
);
|
70 |
+
|
71 |
+
$missingArguments = array_diff_key($argDef, $args);
|
72 |
+
if (!empty($missingArguments)) {
|
73 |
+
$message = sprintf('required arguments missing: %s', implode(', ', array_keys($missingArguments)));
|
74 |
+
throw new Mage_Core_Exception($message);
|
75 |
+
}
|
76 |
+
|
77 |
+
$invalidArgumentFilter = function ($key) use ($args, $argDef) {
|
78 |
+
return !$args[$key] instanceof $argDef[$key];
|
79 |
+
};
|
80 |
+
$invalidArguments = array_filter(array_keys($argDef), $invalidArgumentFilter);
|
81 |
+
|
82 |
+
if (!empty($invalidArguments)) {
|
83 |
+
$message = sprintf('invalid arguments: %s', implode(', ', $invalidArguments));
|
84 |
+
throw new Mage_Core_Exception($message);
|
85 |
+
}
|
86 |
+
|
87 |
+
$this->shipperBuilder = $args['shipper_builder'];
|
88 |
+
$this->receiverBuilder = $args['receiver_builder'];
|
89 |
+
$this->serviceBuilder = $args['service_builder'];
|
90 |
+
$this->packageBuilder = $args['package_builder'];
|
91 |
+
$this->customsBuilder = $args['customs_builder'];
|
92 |
+
$this->settingsBuilder = $args['settings_builder'];
|
93 |
+
$this->infoBuilder = $args['info_builder'];
|
94 |
+
|
95 |
+
return $this;
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @param int $sequenceNumber
|
100 |
+
* @param string $shipmentDate
|
101 |
+
* @param Mage_Sales_Model_Order_Shipment $shipment
|
102 |
+
* @param string[] $packageInfo
|
103 |
+
* @param string[] $serviceInfo
|
104 |
+
* @param string[] $customsInfo
|
105 |
+
* @param string $gkApiProduct
|
106 |
+
* @return RequestData\ShipmentOrder
|
107 |
+
*/
|
108 |
+
public function getShipmentOrder(
|
109 |
+
$sequenceNumber,
|
110 |
+
$shipmentDate,
|
111 |
+
Mage_Sales_Model_Order_Shipment $shipment,
|
112 |
+
array $packageInfo,
|
113 |
+
array $serviceInfo,
|
114 |
+
array $customsInfo,
|
115 |
+
$gkApiProduct
|
116 |
+
)
|
117 |
+
{
|
118 |
+
$shipper = $this->shipperBuilder->getShipper($shipment->getStoreId());
|
119 |
+
|
120 |
+
$versendenInfo = $shipment->getShippingAddress()->getData('dhl_versenden_info');
|
121 |
+
|
122 |
+
if (!$versendenInfo instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
123 |
+
// build receiver from shipping address
|
124 |
+
$receiver = $this->receiverBuilder->getReceiver($shipment->getShippingAddress());
|
125 |
+
} else {
|
126 |
+
// read receiver from prepared address (split, eventually updated)
|
127 |
+
$versendenReceiver = $versendenInfo->getReceiver();
|
128 |
+
$packstation = isset($versendenReceiver->getPackstation()->packstationNumber)
|
129 |
+
? new RequestData\ShipmentOrder\Receiver\Packstation(
|
130 |
+
$versendenReceiver->getPackstation()->zip,
|
131 |
+
$versendenReceiver->getPackstation()->city,
|
132 |
+
$versendenReceiver->getPackstation()->country,
|
133 |
+
$versendenReceiver->getPackstation()->countryISOCode,
|
134 |
+
$versendenReceiver->getPackstation()->state,
|
135 |
+
$versendenReceiver->getPackstation()->packstationNumber,
|
136 |
+
$versendenReceiver->getPackstation()->postNumber)
|
137 |
+
: null;
|
138 |
+
$postfiliale = isset($versendenReceiver->getPostfiliale()->postfilialNumber)
|
139 |
+
? new RequestData\ShipmentOrder\Receiver\Postfiliale(
|
140 |
+
$versendenReceiver->getPostfiliale()->zip,
|
141 |
+
$versendenReceiver->getPostfiliale()->city,
|
142 |
+
$versendenReceiver->getPostfiliale()->country,
|
143 |
+
$versendenReceiver->getPostfiliale()->countryISOCode,
|
144 |
+
$versendenReceiver->getPostfiliale()->state,
|
145 |
+
$versendenReceiver->getPostfiliale()->postfilialNumber,
|
146 |
+
$versendenReceiver->getPostfiliale()->postNumber)
|
147 |
+
: null;
|
148 |
+
$parcelShop = isset($versendenReceiver->getParcelShop()->parcelShopNumber)
|
149 |
+
? new RequestData\ShipmentOrder\Receiver\ParcelShop(
|
150 |
+
$versendenReceiver->getParcelShop()->zip,
|
151 |
+
$versendenReceiver->getParcelShop()->city,
|
152 |
+
$versendenReceiver->getParcelShop()->country,
|
153 |
+
$versendenReceiver->getParcelShop()->countryISOCode,
|
154 |
+
$versendenReceiver->getParcelShop()->state,
|
155 |
+
$versendenReceiver->getParcelShop()->parcelShopNumber,
|
156 |
+
$versendenReceiver->getParcelShop()->streetName,
|
157 |
+
$versendenReceiver->getParcelShop()->streetNumber)
|
158 |
+
: null;
|
159 |
+
|
160 |
+
$receiver = new RequestData\ShipmentOrder\Receiver(
|
161 |
+
$versendenReceiver->name1,
|
162 |
+
$versendenReceiver->name2,
|
163 |
+
$versendenReceiver->name3,
|
164 |
+
$versendenReceiver->streetName,
|
165 |
+
$versendenReceiver->streetNumber,
|
166 |
+
$versendenReceiver->addressAddition,
|
167 |
+
$versendenReceiver->dispatchingInformation,
|
168 |
+
$versendenReceiver->zip,
|
169 |
+
$versendenReceiver->city,
|
170 |
+
$versendenReceiver->country,
|
171 |
+
$versendenReceiver->countryISOCode,
|
172 |
+
$versendenReceiver->state,
|
173 |
+
$versendenReceiver->phone,
|
174 |
+
$versendenReceiver->email,
|
175 |
+
$versendenReceiver->contactPerson,
|
176 |
+
$packstation,
|
177 |
+
$postfiliale,
|
178 |
+
$parcelShop
|
179 |
+
);
|
180 |
+
}
|
181 |
+
|
182 |
+
$serviceSelection = $this->serviceBuilder->getServiceSelection($shipment->getOrder(), $serviceInfo);
|
183 |
+
|
184 |
+
$packages = $this->packageBuilder->getPackages($packageInfo);
|
185 |
+
|
186 |
+
/** @var Mage_Sales_Model_Resource_Order_Invoice_Collection $invoiceCollection */
|
187 |
+
$invoiceCollection = $shipment->getOrder()->getInvoiceCollection();
|
188 |
+
/** @var Mage_Sales_Model_Order_Invoice $invoice */
|
189 |
+
$invoice = $invoiceCollection->getFirstItem();
|
190 |
+
|
191 |
+
$exportDocuments = $this->customsBuilder->getExportDocuments(
|
192 |
+
$invoice->getIncrementId(),
|
193 |
+
$customsInfo,
|
194 |
+
$packageInfo
|
195 |
+
);
|
196 |
+
|
197 |
+
$globalSettings = $this->settingsBuilder->getSettings($shipment->getStoreId());
|
198 |
+
|
199 |
+
$shipmentOrder = new RequestData\ShipmentOrder(
|
200 |
+
$sequenceNumber,
|
201 |
+
$shipment->getOrder()->getIncrementId(),
|
202 |
+
$shipper,
|
203 |
+
$receiver,
|
204 |
+
$serviceSelection,
|
205 |
+
$packages,
|
206 |
+
$exportDocuments,
|
207 |
+
$gkApiProduct,
|
208 |
+
$shipmentDate,
|
209 |
+
$globalSettings->getLabelType()
|
210 |
+
);
|
211 |
+
|
212 |
+
// update dhl_versenden_info with current address and service selection
|
213 |
+
$versendenInfo = $this->infoBuilder->infoFromRequestData($shipmentOrder);
|
214 |
+
$shipment->getShippingAddress()->setData('dhl_versenden_info', $versendenInfo);
|
215 |
+
|
216 |
+
return $shipmentOrder;
|
217 |
+
}
|
218 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Package.php
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Builder_Package
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Webservice_Builder_Package
|
37 |
+
{
|
38 |
+
/** @var string */
|
39 |
+
protected $unitOfMeasure;
|
40 |
+
|
41 |
+
/** @var float */
|
42 |
+
protected $minWeightInKG;
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Dhl_Versenden_Model_Webservice_Builder_Package constructor.
|
46 |
+
* @param mixed[] $args
|
47 |
+
* @throws Mage_Core_Exception
|
48 |
+
*/
|
49 |
+
public function __construct($args)
|
50 |
+
{
|
51 |
+
$argName = 'unit_of_measure';
|
52 |
+
if (!isset($args[$argName])) {
|
53 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
54 |
+
}
|
55 |
+
if (!is_string($args[$argName])) {
|
56 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
57 |
+
}
|
58 |
+
$this->unitOfMeasure = $args[$argName];
|
59 |
+
|
60 |
+
$argName = 'min_weight';
|
61 |
+
if (!isset($args[$argName])) {
|
62 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
63 |
+
}
|
64 |
+
if (!is_numeric($args[$argName])) {
|
65 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
66 |
+
}
|
67 |
+
$this->minWeightInKG = $args[$argName];
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* @param mixed[] $packageInfo
|
72 |
+
* @return ShipmentOrder\PackageCollection
|
73 |
+
*/
|
74 |
+
public function getPackages(array $packageInfo)
|
75 |
+
{
|
76 |
+
$packageCollection = new ShipmentOrder\PackageCollection();
|
77 |
+
|
78 |
+
foreach ($packageInfo as $id => $packageDetails) {
|
79 |
+
$lengthInCM = null;
|
80 |
+
if (isset($packageDetails['params']['length']) && $packageDetails['params']['length']) {
|
81 |
+
$lengthInCM = $packageDetails['params']['length'];
|
82 |
+
}
|
83 |
+
|
84 |
+
$widthInCM = null;
|
85 |
+
if (isset($packageDetails['params']['width']) && $packageDetails['params']['width']) {
|
86 |
+
$widthInCM = $packageDetails['params']['width'];
|
87 |
+
}
|
88 |
+
|
89 |
+
$heightInCM = null;
|
90 |
+
if (isset($packageDetails['params']['height']) && $packageDetails['params']['height']) {
|
91 |
+
$heightInCM = $packageDetails['params']['height'];
|
92 |
+
}
|
93 |
+
|
94 |
+
$weightUnit = $this->unitOfMeasure;
|
95 |
+
if (isset($packageDetails['params']['weight_units']) && $packageDetails['params']['weight_units']) {
|
96 |
+
$weightUnit = $packageDetails['params']['weight_units'];
|
97 |
+
}
|
98 |
+
|
99 |
+
$weightInKG = $packageDetails['params']['weight'];
|
100 |
+
if ($weightUnit == 'G') {
|
101 |
+
$weightInKG *= 0.001;
|
102 |
+
}
|
103 |
+
|
104 |
+
$weightInKG = max($weightInKG, $this->minWeightInKG);
|
105 |
+
|
106 |
+
$package = new ShipmentOrder\Package($id, $weightInKG, $lengthInCM, $widthInCM, $heightInCM);
|
107 |
+
$packageCollection->addItem($package);
|
108 |
+
}
|
109 |
+
|
110 |
+
return $packageCollection;
|
111 |
+
}
|
112 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Receiver.php
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\Receiver;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Builder_Receiver
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Webservice_Builder_Receiver
|
37 |
+
{
|
38 |
+
/** @var Mage_Directory_Model_Country */
|
39 |
+
protected $countryDirectory;
|
40 |
+
|
41 |
+
/** @var Dhl_Versenden_Helper_Address */
|
42 |
+
protected $helper;
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Dhl_Versenden_Model_Webservice_Builder_Receiver constructor.
|
46 |
+
*
|
47 |
+
* @param stdClass[] $args
|
48 |
+
* @throws Mage_Core_Exception
|
49 |
+
*/
|
50 |
+
public function __construct($args)
|
51 |
+
{
|
52 |
+
$argName = 'country_directory';
|
53 |
+
if (!isset($args[$argName])) {
|
54 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
55 |
+
}
|
56 |
+
if (!$args[$argName] instanceof Mage_Directory_Model_Country) {
|
57 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
58 |
+
}
|
59 |
+
$this->countryDirectory = $args[$argName];
|
60 |
+
|
61 |
+
$argName = 'helper';
|
62 |
+
if (!isset($args[$argName])) {
|
63 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
64 |
+
}
|
65 |
+
if (!$args[$argName] instanceof Dhl_Versenden_Helper_Address) {
|
66 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
67 |
+
}
|
68 |
+
$this->helper = $args[$argName];
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Create receiver from given shipping address
|
73 |
+
*
|
74 |
+
* @param Mage_Sales_Model_Quote_Address|Mage_Sales_Model_Order_Address $address
|
75 |
+
* @return Receiver
|
76 |
+
*/
|
77 |
+
public function getReceiver(Mage_Customer_Model_Address_Abstract $address)
|
78 |
+
{
|
79 |
+
$this->countryDirectory->loadByCode($address->getCountryId());
|
80 |
+
$country = $this->countryDirectory->getName();
|
81 |
+
$countryISOCode = $this->countryDirectory->getIso2Code();
|
82 |
+
$state = $address->getRegion();
|
83 |
+
|
84 |
+
$street = $this->helper->splitStreet($address->getStreetFull());
|
85 |
+
$streetName = $street['street_name'];
|
86 |
+
$streetNumber = $street['street_number'];
|
87 |
+
$addressAddition = $street['supplement'];
|
88 |
+
|
89 |
+
|
90 |
+
// let 3rd party extensions add postal facility data
|
91 |
+
$facility = new Varien_Object();
|
92 |
+
Mage::dispatchEvent(
|
93 |
+
'dhl_versenden_fetch_postal_facility', array(
|
94 |
+
'customer_address' => $address,
|
95 |
+
'postal_facility' => $facility,
|
96 |
+
)
|
97 |
+
);
|
98 |
+
|
99 |
+
$packStation = null;
|
100 |
+
if ($facility->getData('shop_type') === \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility::TYPE_PACKSTATION) {
|
101 |
+
$packStation = new Receiver\Packstation(
|
102 |
+
$address->getPostcode(),
|
103 |
+
$address->getCity(),
|
104 |
+
$country,
|
105 |
+
$countryISOCode,
|
106 |
+
$state,
|
107 |
+
$facility->getData('shop_number'),
|
108 |
+
$facility->getData('post_number')
|
109 |
+
);
|
110 |
+
}
|
111 |
+
|
112 |
+
$postFiliale = null;
|
113 |
+
if ($facility->getData('shop_type') === \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility::TYPE_POSTFILIALE) {
|
114 |
+
$postFiliale = new Receiver\Postfiliale(
|
115 |
+
$address->getPostcode(),
|
116 |
+
$address->getCity(),
|
117 |
+
$country,
|
118 |
+
$countryISOCode,
|
119 |
+
$state,
|
120 |
+
$facility->getData('shop_number'),
|
121 |
+
$facility->getData('post_number')
|
122 |
+
);
|
123 |
+
}
|
124 |
+
|
125 |
+
$parcelShop = null;
|
126 |
+
if ($facility->getData('shop_type') === \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility::TYPE_PAKETSHOP) {
|
127 |
+
$parcelShop = new Receiver\ParcelShop(
|
128 |
+
$address->getPostcode(),
|
129 |
+
$address->getCity(),
|
130 |
+
$country,
|
131 |
+
$countryISOCode,
|
132 |
+
$state,
|
133 |
+
$facility->getData('shop_number'),
|
134 |
+
$streetName,
|
135 |
+
$streetNumber
|
136 |
+
);
|
137 |
+
}
|
138 |
+
|
139 |
+
return new Receiver(
|
140 |
+
$address->getName(),
|
141 |
+
$address->getCompany(),
|
142 |
+
'',
|
143 |
+
$streetName,
|
144 |
+
$streetNumber,
|
145 |
+
$addressAddition,
|
146 |
+
'',
|
147 |
+
$address->getPostcode(),
|
148 |
+
$address->getCity(),
|
149 |
+
$country,
|
150 |
+
$countryISOCode,
|
151 |
+
$address->getRegion(),
|
152 |
+
$address->getTelephone(),
|
153 |
+
$address->getEmail(),
|
154 |
+
'',
|
155 |
+
$packStation,
|
156 |
+
$postFiliale,
|
157 |
+
$parcelShop
|
158 |
+
);
|
159 |
+
}
|
160 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Service.php
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\ServiceSelection;
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Shipment\Service;
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Webservice_Builder_Service
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Dhl_Versenden_Model_Webservice_Builder_Service
|
38 |
+
{
|
39 |
+
/** @var Dhl_Versenden_Model_Config_Shipper */
|
40 |
+
protected $shipperConfig;
|
41 |
+
|
42 |
+
/** @var Dhl_Versenden_Model_Config_Shipment */
|
43 |
+
protected $shipmentConfig;
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Dhl_Versenden_Model_Webservice_Builder_Service constructor.
|
47 |
+
* @param stdClass[] $args
|
48 |
+
* @throws Mage_Core_Exception
|
49 |
+
*/
|
50 |
+
public function __construct($args)
|
51 |
+
{
|
52 |
+
$argName = 'shipper_config';
|
53 |
+
if (!isset($args[$argName])) {
|
54 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
55 |
+
}
|
56 |
+
if (!$args[$argName] instanceof Dhl_Versenden_Model_Config_Shipper) {
|
57 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
58 |
+
}
|
59 |
+
$this->shipperConfig = $args[$argName];
|
60 |
+
|
61 |
+
$argName = 'shipment_config';
|
62 |
+
if (!isset($args[$argName])) {
|
63 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
64 |
+
}
|
65 |
+
if (!$args[$argName] instanceof Dhl_Versenden_Model_Config_Shipment) {
|
66 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
67 |
+
}
|
68 |
+
$this->shipmentConfig = $args[$argName];
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param Mage_Sales_Model_Order|Mage_Sales_Model_Quote $salesEntity
|
73 |
+
* @param mixed[] $serviceInfo
|
74 |
+
* @return ServiceSelection
|
75 |
+
*/
|
76 |
+
public function getServiceSelection(Mage_Core_Model_Abstract $salesEntity, array $serviceInfo)
|
77 |
+
{
|
78 |
+
$selectedServices = $serviceInfo['shipment_service'];
|
79 |
+
$serviceDetails = $serviceInfo['service_setting'];
|
80 |
+
|
81 |
+
$preferredDay = !empty($selectedServices[Service\PreferredDay::CODE])
|
82 |
+
? $serviceDetails[Service\PreferredDay::CODE]
|
83 |
+
: false;
|
84 |
+
|
85 |
+
$preferredTime = !empty($selectedServices[Service\PreferredTime::CODE])
|
86 |
+
? $serviceDetails[Service\PreferredTime::CODE]
|
87 |
+
: false;
|
88 |
+
|
89 |
+
$preferredLocation = !empty($selectedServices[Service\PreferredLocation::CODE])
|
90 |
+
? $serviceDetails[Service\PreferredLocation::CODE]
|
91 |
+
: false;
|
92 |
+
|
93 |
+
$preferredNeighbour = !empty($selectedServices[Service\PreferredNeighbour::CODE])
|
94 |
+
? $serviceDetails[Service\PreferredNeighbour::CODE]
|
95 |
+
: false;
|
96 |
+
|
97 |
+
$parcelAnnouncement = !empty($selectedServices[Service\ParcelAnnouncement::CODE])
|
98 |
+
? (bool)$selectedServices[Service\ParcelAnnouncement::CODE]
|
99 |
+
: false;
|
100 |
+
|
101 |
+
$visualCheckOfAge = !empty($selectedServices[Service\VisualCheckOfAge::CODE])
|
102 |
+
? $serviceDetails[Service\VisualCheckOfAge::CODE]
|
103 |
+
: false;
|
104 |
+
|
105 |
+
$returnShipment = !empty($selectedServices[Service\ReturnShipment::CODE])
|
106 |
+
? (bool)$selectedServices[Service\ReturnShipment::CODE]
|
107 |
+
: false;
|
108 |
+
|
109 |
+
$insurance = !empty($selectedServices[Service\Insurance::CODE])
|
110 |
+
? number_format($salesEntity->getBaseGrandTotal(), 2)
|
111 |
+
: false;
|
112 |
+
|
113 |
+
$bulkyGoods = !empty($selectedServices[Service\BulkyGoods::CODE])
|
114 |
+
? (bool)$selectedServices[Service\BulkyGoods::CODE]
|
115 |
+
: false;
|
116 |
+
|
117 |
+
$paymentMethod = $salesEntity->getPayment()->getMethod();
|
118 |
+
$cod = $this->shipmentConfig->isCodPaymentMethod($paymentMethod, $salesEntity->getStoreId())
|
119 |
+
? number_format($salesEntity->getBaseGrandTotal(), 2)
|
120 |
+
: false;
|
121 |
+
|
122 |
+
$printOnlyIfCodeable = !empty($selectedServices[Service\PrintOnlyIfCodeable::CODE])
|
123 |
+
? (bool)$selectedServices[Service\PrintOnlyIfCodeable::CODE]
|
124 |
+
: false;
|
125 |
+
|
126 |
+
return new ServiceSelection(
|
127 |
+
$preferredDay,
|
128 |
+
$preferredTime,
|
129 |
+
$preferredLocation,
|
130 |
+
$preferredNeighbour,
|
131 |
+
$parcelAnnouncement,
|
132 |
+
$visualCheckOfAge,
|
133 |
+
$returnShipment,
|
134 |
+
$insurance,
|
135 |
+
$bulkyGoods,
|
136 |
+
$cod,
|
137 |
+
$printOnlyIfCodeable
|
138 |
+
);
|
139 |
+
}
|
140 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Settings.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\GlobalSettings;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Builder_Shipper
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Webservice_Builder_Settings
|
37 |
+
{
|
38 |
+
/** @var Dhl_Versenden_Model_Config_Shipment */
|
39 |
+
protected $config;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Dhl_Versenden_Model_Webservice_Builder_Settings constructor.
|
43 |
+
* @param Dhl_Versenden_Model_Config[] $args
|
44 |
+
* @throws Mage_Core_Exception
|
45 |
+
*/
|
46 |
+
public function __construct($args)
|
47 |
+
{
|
48 |
+
$argName = 'config';
|
49 |
+
if (!isset($args[$argName])) {
|
50 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
51 |
+
}
|
52 |
+
if (!$args[$argName] instanceof Dhl_Versenden_Model_Config_Shipment) {
|
53 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
54 |
+
}
|
55 |
+
$this->config = $args[$argName];
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param mixed $store
|
60 |
+
* @return GlobalSettings
|
61 |
+
*/
|
62 |
+
public function getSettings($store)
|
63 |
+
{
|
64 |
+
return $this->config->getSettings($store);
|
65 |
+
}
|
66 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Builder/Shipper.php
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData\ShipmentOrder\Shipper;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Builder_Shipper
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Model_Webservice_Builder_Shipper
|
37 |
+
{
|
38 |
+
/** @var Dhl_Versenden_Model_Config_Shipper */
|
39 |
+
protected $config;
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Dhl_Versenden_Model_Webservice_Builder_Shipper constructor.
|
43 |
+
* @param Dhl_Versenden_Model_Config[] $args
|
44 |
+
* @throws Mage_Core_Exception
|
45 |
+
*/
|
46 |
+
public function __construct($args)
|
47 |
+
{
|
48 |
+
$argName = 'config';
|
49 |
+
if (!isset($args[$argName])) {
|
50 |
+
throw new Mage_Core_Exception("required argument missing: $argName");
|
51 |
+
}
|
52 |
+
if (!$args[$argName] instanceof Dhl_Versenden_Model_Config_Shipper) {
|
53 |
+
throw new Mage_Core_Exception("invalid argument: $argName");
|
54 |
+
}
|
55 |
+
$this->config = $args[$argName];
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param mixed $store
|
60 |
+
* @return Shipper
|
61 |
+
*/
|
62 |
+
public function getShipper($store)
|
63 |
+
{
|
64 |
+
return $this->config->getShipper($store);
|
65 |
+
}
|
66 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Gateway.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\ResponseData;
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Model_Webservice_Gateway
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
interface Dhl_Versenden_Model_Webservice_Gateway
|
37 |
+
{
|
38 |
+
/**
|
39 |
+
* @param Mage_Shipping_Model_Shipment_Request[] $shipmentRequests
|
40 |
+
* @return ResponseData\CreateShipment
|
41 |
+
*/
|
42 |
+
public function createShipmentOrder(array $shipmentRequests);
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @param string[] $shipmentNumbers
|
46 |
+
* @return ResponseData\DeleteShipment
|
47 |
+
*/
|
48 |
+
public function deleteShipmentOrder(array $shipmentNumbers);
|
49 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Gateway/Abstract.php
ADDED
@@ -0,0 +1,269 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice;
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData;
|
28 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\ResponseData;
|
29 |
+
/**
|
30 |
+
* Dhl_Versenden_Model_Webservice_Gateway_Abstract
|
31 |
+
*
|
32 |
+
* Note: adapter, parser and logger should get injected during object instantiation
|
33 |
+
* but we do not have proper constructors in M1's alias factory.
|
34 |
+
*
|
35 |
+
* @category Dhl
|
36 |
+
* @package Dhl_Versenden
|
37 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
38 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
39 |
+
* @link http://www.netresearch.de/
|
40 |
+
*/
|
41 |
+
abstract class Dhl_Versenden_Model_Webservice_Gateway_Abstract
|
42 |
+
implements Dhl_Versenden_Model_Webservice_Gateway
|
43 |
+
{
|
44 |
+
const OPERATION_GET_VERSION = 'getVersion';
|
45 |
+
const OPERATION_CREATE_SHIPMENT_ORDER = 'createShipmentOrder';
|
46 |
+
const OPERATION_DELETE_SHIPMENT_ORDER = 'deleteShipmentOrder';
|
47 |
+
const OPERATION_GET_LABEL = 'getLabel';
|
48 |
+
const OPERATION_EXPORT_DOC = 'getExportDoc';
|
49 |
+
const OPERATION_DO_MANIFEST = 'doManifest';
|
50 |
+
const OPERATION_GET_MANIFEST = 'getManifest';
|
51 |
+
const OPERATION_UPDATE_SHIPMENT_ORDER = 'updateShipmentOrder';
|
52 |
+
const OPERATION_VALIDATE_SHIPMENT = 'validateShipment';
|
53 |
+
|
54 |
+
const WEBSERVICE_VERSION_MAJOR = '2';
|
55 |
+
const WEBSERVICE_VERSION_MINOR = '2';
|
56 |
+
const WEBSERVICE_VERSION_BUILD = '';
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @param Dhl_Versenden_Model_Config_Shipper $config
|
60 |
+
* @return Webservice\Adapter
|
61 |
+
*/
|
62 |
+
abstract public function getAdapter(Dhl_Versenden_Model_Config_Shipper $config);
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @param string $operation
|
66 |
+
* @return Webservice\Parser
|
67 |
+
*/
|
68 |
+
abstract public function getParser($operation);
|
69 |
+
|
70 |
+
/**
|
71 |
+
* @param Dhl_Versenden_Model_Config $config
|
72 |
+
* @param Dhl_Versenden_Model_Logger_Writer $writer
|
73 |
+
* @return Dhl_Versenden_Model_Webservice_Logger_Interface
|
74 |
+
*/
|
75 |
+
abstract public function getLogger(Dhl_Versenden_Model_Config $config, Dhl_Versenden_Model_Logger_Writer $writer);
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @param RequestData\CreateShipment $requestData
|
79 |
+
* @return ResponseData\CreateShipment
|
80 |
+
*/
|
81 |
+
abstract protected function doCreateShipmentOrder(RequestData\CreateShipment $requestData);
|
82 |
+
|
83 |
+
/**
|
84 |
+
* @param RequestData\DeleteShipment $requestData
|
85 |
+
* @return ResponseData\DeleteShipment
|
86 |
+
*/
|
87 |
+
abstract protected function doDeleteShipmentOrder(RequestData\DeleteShipment $requestData);
|
88 |
+
|
89 |
+
/**
|
90 |
+
* @param Mage_Shipping_Model_Shipment_Request[] $shipmentRequests
|
91 |
+
* @return RequestData\ShipmentOrderCollection
|
92 |
+
*/
|
93 |
+
protected function prepareShipmentOrders(array $shipmentRequests)
|
94 |
+
{
|
95 |
+
$shipmentOrderCollection = new RequestData\ShipmentOrderCollection();
|
96 |
+
|
97 |
+
/** @var Mage_Shipping_Model_Shipment_Request $shipmentRequest */
|
98 |
+
foreach ($shipmentRequests as $sequenceNumber => $shipmentRequest) {
|
99 |
+
$orderShipment = $shipmentRequest->getOrderShipment();
|
100 |
+
|
101 |
+
$packageInfo = $shipmentRequest->getData('packages');
|
102 |
+
$serviceInfo = $shipmentRequest->getData('services');
|
103 |
+
$customsInfo = $shipmentRequest->getData('customs');
|
104 |
+
|
105 |
+
try {
|
106 |
+
$shipmentOrder = $this->shipmentToShipmentOrder(
|
107 |
+
$sequenceNumber,
|
108 |
+
$orderShipment,
|
109 |
+
$packageInfo,
|
110 |
+
$serviceInfo,
|
111 |
+
$customsInfo,
|
112 |
+
$shipmentRequest->getData('gk_api_product')
|
113 |
+
);
|
114 |
+
|
115 |
+
$canShipPartially = ($shipmentOrder->getServiceSelection()->getCod() === null)
|
116 |
+
&& ($shipmentOrder->getServiceSelection()->getInsurance() === null);
|
117 |
+
$isPartial = ($orderShipment->getOrder()->getTotalQtyOrdered() != $orderShipment->getTotalQty());
|
118 |
+
if (!$canShipPartially && $isPartial) {
|
119 |
+
$message = 'Cannot do partial shipment with COD or Additional Insurance.';
|
120 |
+
throw new RequestData\ValidationException($message);
|
121 |
+
}
|
122 |
+
|
123 |
+
$shipmentOrderCollection->addItem($shipmentOrder);
|
124 |
+
} catch (RequestData\ValidationException $e) {
|
125 |
+
$message = Mage::helper('dhl_versenden/data')->__($e->getMessage());
|
126 |
+
$shipmentRequest->setData('request_data_exception', $message);
|
127 |
+
}
|
128 |
+
}
|
129 |
+
|
130 |
+
return $shipmentOrderCollection;
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Prepare request data and pass on to concrete gateway.
|
135 |
+
*
|
136 |
+
* @param Mage_Shipping_Model_Shipment_Request[] $shipmentRequests
|
137 |
+
* @return ResponseData\CreateShipment
|
138 |
+
* @throws RequestData\ValidationException
|
139 |
+
*/
|
140 |
+
public function createShipmentOrder(array $shipmentRequests)
|
141 |
+
{
|
142 |
+
$eventData = array('shipment_requests' => $shipmentRequests);
|
143 |
+
Mage::dispatchEvent('dhl_versenden_create_shipment_order_before', $eventData);
|
144 |
+
|
145 |
+
$wsVersion = new RequestData\Version(self::WEBSERVICE_VERSION_MAJOR, self::WEBSERVICE_VERSION_MINOR);
|
146 |
+
$shipmentOrders = $this->prepareShipmentOrders($shipmentRequests);
|
147 |
+
|
148 |
+
// collect validation errors in shipment request data
|
149 |
+
$shipmentOrderErrors = array();
|
150 |
+
foreach ($shipmentRequests as $shipmentRequest) {
|
151 |
+
if ($shipmentRequest->hasData('request_data_exception')) {
|
152 |
+
$shipmentOrderErrors[]= sprintf(
|
153 |
+
'#%s: %s',
|
154 |
+
$shipmentRequest->getOrderShipment()->getOrder()->getIncrementId(),
|
155 |
+
$shipmentRequest->getData('request_data_exception')
|
156 |
+
);
|
157 |
+
}
|
158 |
+
}
|
159 |
+
if (!empty($shipmentOrderErrors)) {
|
160 |
+
$msg = sprintf('%s %s', 'The shipment request(s) had errors.', implode("\n", $shipmentOrderErrors));
|
161 |
+
throw new RequestData\ValidationException($msg);
|
162 |
+
}
|
163 |
+
|
164 |
+
/** @var RequestData\CreateShipment $requestData */
|
165 |
+
$requestData = new RequestData\CreateShipment($wsVersion, $shipmentOrders);
|
166 |
+
$result = $this->doCreateShipmentOrder($requestData);
|
167 |
+
|
168 |
+
$eventData = array('result' => $result);
|
169 |
+
Mage::dispatchEvent('dhl_versenden_create_shipment_order_after', $eventData);
|
170 |
+
|
171 |
+
return $result;
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* @param string[] $shipmentNumbers
|
176 |
+
* @return ResponseData\DeleteShipment
|
177 |
+
*/
|
178 |
+
public function deleteShipmentOrder(array $shipmentNumbers)
|
179 |
+
{
|
180 |
+
$eventData = array('shipment_numbers' => $shipmentNumbers);
|
181 |
+
Mage::dispatchEvent('dhl_versenden_delete_shipment_order_before', $eventData);
|
182 |
+
|
183 |
+
$wsVersion = new RequestData\Version(self::WEBSERVICE_VERSION_MAJOR, self::WEBSERVICE_VERSION_MINOR);
|
184 |
+
$requestData = new RequestData\DeleteShipment($wsVersion, $shipmentNumbers);
|
185 |
+
$result = $this->doDeleteShipmentOrder($requestData);
|
186 |
+
|
187 |
+
$eventData = array('result' => $result);
|
188 |
+
Mage::dispatchEvent('dhl_versenden_delete_shipment_order_after', $eventData);
|
189 |
+
|
190 |
+
return $result;
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Create one shipment order from given shipment
|
195 |
+
*
|
196 |
+
* @param int $sequenceNumber
|
197 |
+
* @param Mage_Sales_Model_Order_Shipment $shipment
|
198 |
+
* @param string[] $packageInfo
|
199 |
+
* @param string[] $serviceInfo
|
200 |
+
* @param string[] $customsInfo
|
201 |
+
* @param string $gkApiProduct
|
202 |
+
* @return RequestData\ShipmentOrder
|
203 |
+
*/
|
204 |
+
public function shipmentToShipmentOrder(
|
205 |
+
$sequenceNumber,
|
206 |
+
Mage_Sales_Model_Order_Shipment $shipment,
|
207 |
+
array $packageInfo,
|
208 |
+
array $serviceInfo,
|
209 |
+
array $customsInfo,
|
210 |
+
$gkApiProduct
|
211 |
+
)
|
212 |
+
{
|
213 |
+
$shipperConfig = Mage::getModel('dhl_versenden/config_shipper');
|
214 |
+
$shipmentConfig = Mage::getModel('dhl_versenden/config_shipment');
|
215 |
+
|
216 |
+
|
217 |
+
$args = array('config' => $shipperConfig);
|
218 |
+
$shipperBuilder = Mage::getModel('dhl_versenden/webservice_builder_shipper', $args);
|
219 |
+
|
220 |
+
$args = array(
|
221 |
+
'country_directory' => Mage::getModel('directory/country'),
|
222 |
+
'helper' => Mage::helper('dhl_versenden/address'),
|
223 |
+
);
|
224 |
+
$receiverBuilder = Mage::getModel('dhl_versenden/webservice_builder_receiver', $args);
|
225 |
+
|
226 |
+
$args = array(
|
227 |
+
'shipper_config' => $shipperConfig,
|
228 |
+
'shipment_config' => $shipmentConfig,
|
229 |
+
);
|
230 |
+
$serviceBuilder = Mage::getModel('dhl_versenden/webservice_builder_service', $args);
|
231 |
+
|
232 |
+
$args = array(
|
233 |
+
'unit_of_measure' => $shipmentConfig->getSettings($shipment->getStoreId())->getUnitOfMeasure(),
|
234 |
+
'min_weight' => Dhl_Versenden_Model_Shipping_Carrier_Versenden::PACKAGE_MIN_WEIGHT,
|
235 |
+
);
|
236 |
+
$packageBuilder = Mage::getModel('dhl_versenden/webservice_builder_package', $args);
|
237 |
+
|
238 |
+
$customsBuilder = Mage::getModel('dhl_versenden/webservice_builder_customs');
|
239 |
+
|
240 |
+
$args = array('config' => $shipmentConfig);
|
241 |
+
$settingsBuilder = Mage::getModel('dhl_versenden/webservice_builder_settings', $args);
|
242 |
+
|
243 |
+
$infoBuilder = Mage::getModel('dhl_versenden/info_builder');
|
244 |
+
|
245 |
+
$args = array(
|
246 |
+
'shipper_builder' => $shipperBuilder,
|
247 |
+
'receiver_builder' => $receiverBuilder,
|
248 |
+
'service_builder' => $serviceBuilder,
|
249 |
+
'package_builder' => $packageBuilder,
|
250 |
+
'customs_builder' => $customsBuilder,
|
251 |
+
'settings_builder' => $settingsBuilder,
|
252 |
+
'info_builder' => $infoBuilder,
|
253 |
+
);
|
254 |
+
$orderBuilder = Mage::getModel('dhl_versenden/webservice_builder_order', $args);
|
255 |
+
|
256 |
+
// build shipment order request data
|
257 |
+
$shipmentOrder = $orderBuilder->getShipmentOrder(
|
258 |
+
$sequenceNumber,
|
259 |
+
Mage::helper('dhl_versenden/data')->utcToCet(null, 'Y-m-d'),
|
260 |
+
$shipment,
|
261 |
+
$packageInfo,
|
262 |
+
$serviceInfo,
|
263 |
+
$customsInfo,
|
264 |
+
$gkApiProduct
|
265 |
+
);
|
266 |
+
|
267 |
+
return $shipmentOrder;
|
268 |
+
}
|
269 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Gateway/Soap.php
ADDED
@@ -0,0 +1,182 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
use \Dhl\Versenden\Bcs\Api\Webservice;
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\Adapter\Soap as SoapAdapter;
|
28 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\Parser\Soap as SoapParser;
|
29 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\RequestData;
|
30 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\ResponseData;
|
31 |
+
/**
|
32 |
+
* Dhl_Versenden_Model_Webservice_Gateway_Soap
|
33 |
+
*
|
34 |
+
* @category Dhl
|
35 |
+
* @package Dhl_Versenden
|
36 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
37 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
38 |
+
* @link http://www.netresearch.de/
|
39 |
+
*/
|
40 |
+
class Dhl_Versenden_Model_Webservice_Gateway_Soap
|
41 |
+
extends Dhl_Versenden_Model_Webservice_Gateway_Abstract
|
42 |
+
implements Dhl_Versenden_Model_Webservice_Gateway
|
43 |
+
{
|
44 |
+
/**
|
45 |
+
* @param Dhl_Versenden_Model_Config_Shipper $config shipper configuration object
|
46 |
+
*
|
47 |
+
* @param Dhl_Versenden_Model_Config_Shipper $config
|
48 |
+
* @return Webservice\Adapter\Soap
|
49 |
+
*/
|
50 |
+
public function getAdapter(Dhl_Versenden_Model_Config_Shipper $config)
|
51 |
+
{
|
52 |
+
$options = array(
|
53 |
+
'location' => $config->getEndpoint(),
|
54 |
+
'login' => $config->getWebserviceAuthUsername(),
|
55 |
+
'password' => $config->getWebserviceAuthPassword(),
|
56 |
+
'trace' => 1
|
57 |
+
);
|
58 |
+
$client = new \Dhl\Versenden\Bcs\Soap\GVAPI_2_0_de($options);
|
59 |
+
|
60 |
+
$authHeader = new \SoapHeader(
|
61 |
+
'http://dhl.de/webservice/cisbase',
|
62 |
+
'Authentification',
|
63 |
+
array(
|
64 |
+
'user' => $config->getAccountSettings()->getUser(),
|
65 |
+
'signature' => $config->getAccountSettings()->getSignature(),
|
66 |
+
)
|
67 |
+
);
|
68 |
+
$client->__setSoapHeaders($authHeader);
|
69 |
+
|
70 |
+
return new Webservice\Adapter\Soap($client);
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @param string $operation
|
75 |
+
* @return Webservice\Parser
|
76 |
+
*/
|
77 |
+
public function getParser($operation)
|
78 |
+
{
|
79 |
+
switch ($operation) {
|
80 |
+
case self::OPERATION_GET_VERSION:
|
81 |
+
return new Webservice\Parser\Soap\Version();
|
82 |
+
case self::OPERATION_CREATE_SHIPMENT_ORDER:
|
83 |
+
return new Webservice\Parser\Soap\CreateShipmentOrder();
|
84 |
+
case self::OPERATION_DELETE_SHIPMENT_ORDER:
|
85 |
+
return new Webservice\Parser\Soap\DeleteShipmentOrder();
|
86 |
+
default:
|
87 |
+
return null;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* @param Dhl_Versenden_Model_Config $config
|
93 |
+
* @param Dhl_Versenden_Model_Logger_Writer $writer
|
94 |
+
* @return Dhl_Versenden_Model_Webservice_Logger_Soap
|
95 |
+
*/
|
96 |
+
public function getLogger(Dhl_Versenden_Model_Config $config, Dhl_Versenden_Model_Logger_Writer $writer)
|
97 |
+
{
|
98 |
+
// hellcome to the world of composition over inheritance.
|
99 |
+
$psrLogger = new Dhl_Versenden_Model_Logger_Mage($writer);
|
100 |
+
|
101 |
+
$dhlLogger = Mage::getSingleton('dhl_versenden/log', array('config' => $config));
|
102 |
+
$dhlLogger->setLogger($psrLogger);
|
103 |
+
|
104 |
+
$soapLogger = new Dhl_Versenden_Model_Webservice_Logger_Soap($dhlLogger);
|
105 |
+
return $soapLogger;
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* @param Dhl_Versenden_Model_Webservice_Logger_Soap $logger
|
110 |
+
* @param SoapAdapter $adapter
|
111 |
+
* @param ResponseData\Status\Response $responseStatus
|
112 |
+
*/
|
113 |
+
protected function logResult(
|
114 |
+
Dhl_Versenden_Model_Webservice_Logger_Soap $logger,
|
115 |
+
Webservice\Adapter\Soap $adapter,
|
116 |
+
ResponseData\Status\Response $responseStatus
|
117 |
+
) {
|
118 |
+
if ($responseStatus->isError()) {
|
119 |
+
$logger->warning($adapter);
|
120 |
+
} else {
|
121 |
+
$logger->debug($adapter);
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* @param RequestData\CreateShipment $requestData
|
127 |
+
* @return ResponseData\CreateShipment
|
128 |
+
* @throws SoapFault
|
129 |
+
*/
|
130 |
+
protected function doCreateShipmentOrder(RequestData\CreateShipment $requestData)
|
131 |
+
{
|
132 |
+
/** @var SoapParser\CreateShipmentOrder $parser */
|
133 |
+
$parser = $this->getParser(self::OPERATION_CREATE_SHIPMENT_ORDER);
|
134 |
+
/** @var SoapAdapter $adapter */
|
135 |
+
$adapter = $this->getAdapter(Mage::getModel('dhl_versenden/config_shipper'));
|
136 |
+
/** @var Dhl_Versenden_Model_Webservice_Logger_Soap $logger */
|
137 |
+
$logger = $this->getLogger(
|
138 |
+
Mage::getModel('dhl_versenden/config'),
|
139 |
+
Mage::getModel('dhl_versenden/logger_writer'))
|
140 |
+
;
|
141 |
+
|
142 |
+
try {
|
143 |
+
/** @var ResponseData\CreateShipment $result */
|
144 |
+
$result = $adapter->createShipmentOrder($requestData, $parser);
|
145 |
+
$this->logResult($logger, $adapter, $result->getStatus());
|
146 |
+
} catch (SoapFault $fault) {
|
147 |
+
$logger->error($adapter);
|
148 |
+
throw $fault;
|
149 |
+
}
|
150 |
+
|
151 |
+
return $result;
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* @param RequestData\DeleteShipment $requestData
|
156 |
+
* @return ResponseData\CreateShipment
|
157 |
+
* @throws SoapFault
|
158 |
+
*/
|
159 |
+
protected function doDeleteShipmentOrder(RequestData\DeleteShipment $requestData)
|
160 |
+
{
|
161 |
+
/** @var SoapParser\CreateShipmentOrder $parser */
|
162 |
+
$parser = $this->getParser(self::OPERATION_DELETE_SHIPMENT_ORDER);
|
163 |
+
/** @var SoapAdapter $adapter */
|
164 |
+
$adapter = $this->getAdapter(Mage::getModel('dhl_versenden/config_shipper'));
|
165 |
+
/** @var Dhl_Versenden_Model_Webservice_Logger_Soap $logger */
|
166 |
+
$logger = $this->getLogger(
|
167 |
+
Mage::getModel('dhl_versenden/config'),
|
168 |
+
Mage::getModel('dhl_versenden/logger_writer'))
|
169 |
+
;
|
170 |
+
|
171 |
+
try {
|
172 |
+
/** @var ResponseData\CreateShipment $result */
|
173 |
+
$result = $adapter->deleteShipmentOrder($requestData, $parser);
|
174 |
+
$this->logResult($logger, $adapter, $result->getStatus());
|
175 |
+
} catch (SoapFault $fault) {
|
176 |
+
$logger->error($adapter);
|
177 |
+
throw $fault;
|
178 |
+
}
|
179 |
+
|
180 |
+
return $result;
|
181 |
+
}
|
182 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Logger/Abstract.php
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Dhl_Versenden_Model_Webservice_Logger_Abstract
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl_Versenden
|
33 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
abstract class Dhl_Versenden_Model_Webservice_Logger_Abstract
|
39 |
+
implements Dhl_Versenden_Model_Webservice_Logger_Interface
|
40 |
+
{
|
41 |
+
/** @var Dhl_Versenden_Model_Log */
|
42 |
+
protected $log;
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Dhl_Versenden_Model_Webservice_Logger_Abstract constructor.
|
46 |
+
* @param Dhl_Versenden_Model_Log $log
|
47 |
+
*/
|
48 |
+
public function __construct(Dhl_Versenden_Model_Log $log)
|
49 |
+
{
|
50 |
+
$this->log = $log;
|
51 |
+
}
|
52 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Logger/Interface.php
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\Adapter;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Dhl_Versenden_Model_Webservice_Logger_Interface
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl_Versenden
|
34 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
35 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
36 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
37 |
+
* @link http://www.netresearch.de/
|
38 |
+
*/
|
39 |
+
interface Dhl_Versenden_Model_Webservice_Logger_Interface
|
40 |
+
{
|
41 |
+
/**
|
42 |
+
* @param Adapter $adapter
|
43 |
+
*/
|
44 |
+
public function debug(Adapter $adapter);
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param Adapter $adapter
|
48 |
+
*/
|
49 |
+
public function error(Adapter $adapter);
|
50 |
+
}
|
app/code/community/Dhl/Versenden/Model/Webservice/Logger/Soap.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\Adapter;
|
28 |
+
use \Dhl\Versenden\Bcs\Api\Webservice\Adapter\Soap as SoapAdapter;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Dhl_Versenden_Model_Webservice_Logger_Soap
|
32 |
+
*
|
33 |
+
* @category Dhl
|
34 |
+
* @package Dhl_Versenden
|
35 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
36 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
37 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
38 |
+
* @link http://www.netresearch.de/
|
39 |
+
*/
|
40 |
+
class Dhl_Versenden_Model_Webservice_Logger_Soap
|
41 |
+
extends Dhl_Versenden_Model_Webservice_Logger_Abstract
|
42 |
+
{
|
43 |
+
/**
|
44 |
+
* @param SoapAdapter $adapter
|
45 |
+
*/
|
46 |
+
public function debug(Adapter $adapter)
|
47 |
+
{
|
48 |
+
$this->log->debug($adapter->getClient()->__getLastRequest());
|
49 |
+
$this->log->debug($adapter->getClient()->__getLastResponseHeaders());
|
50 |
+
$this->log->debug($adapter->getClient()->__getLastResponse());
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param SoapAdapter $adapter
|
55 |
+
*/
|
56 |
+
public function error(Adapter $adapter)
|
57 |
+
{
|
58 |
+
$this->log->error($adapter->getClient()->__getLastRequest());
|
59 |
+
$this->log->error($adapter->getClient()->__getLastResponseHeaders());
|
60 |
+
$this->log->error($adapter->getClient()->__getLastResponse());
|
61 |
+
}
|
62 |
+
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @param SoapAdapter $adapter
|
66 |
+
*/
|
67 |
+
public function warning(Adapter $adapter)
|
68 |
+
{
|
69 |
+
$this->log->warning($adapter->getClient()->__getLastRequest());
|
70 |
+
$this->log->warning($adapter->getClient()->__getLastResponseHeaders());
|
71 |
+
$this->log->warning($adapter->getClient()->__getLastResponse());
|
72 |
+
}
|
73 |
+
}
|
app/code/community/Dhl/Versenden/controllers/Adminhtml/Sales/Order/ShipmentController.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
require_once Mage::getModuleDir('controllers', 'Mage_Adminhtml') . '/Sales/Order/ShipmentController.php';
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Adminhtml_Sales_Order_ShipmentController
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Adminhtml_Sales_Order_ShipmentController
|
37 |
+
extends Mage_Adminhtml_Sales_Order_ShipmentController
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Set custom grid block in order to update the grid template
|
41 |
+
*
|
42 |
+
* @return Mage_Core_Controller_Response_Http
|
43 |
+
*/
|
44 |
+
public function getShippingItemsGridAction()
|
45 |
+
{
|
46 |
+
$this->_initShipment();
|
47 |
+
return $this->getResponse()->setBody(
|
48 |
+
$this->getLayout()
|
49 |
+
->createBlock('dhl_versenden/adminhtml_sales_order_shipment_packaging_grid')
|
50 |
+
->setIndex($this->getRequest()->getParam('index'))
|
51 |
+
->toHtml()
|
52 |
+
);
|
53 |
+
}
|
54 |
+
}
|
app/code/community/Dhl/Versenden/controllers/Adminhtml/Sales/OrderController.php
ADDED
@@ -0,0 +1,243 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
require_once Mage::getModuleDir('controllers', 'Mage_Adminhtml') . '/Sales/OrderController.php';
|
27 |
+
/**
|
28 |
+
* Dhl_Versenden_Adminhtml_Sales_Order_ShipmentController
|
29 |
+
*
|
30 |
+
* @category Dhl
|
31 |
+
* @package Dhl_Versenden
|
32 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
33 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
34 |
+
* @link http://www.netresearch.de/
|
35 |
+
*/
|
36 |
+
class Dhl_Versenden_Adminhtml_Sales_OrderController
|
37 |
+
extends Mage_Adminhtml_Sales_OrderController
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Update Versenden Info using order address and additional POST data from form.
|
41 |
+
*
|
42 |
+
* @param Mage_Sales_Model_Order_Address $address
|
43 |
+
* @param array $data
|
44 |
+
*/
|
45 |
+
protected function _addVersendenData(Mage_Sales_Model_Order_Address $address, array $data)
|
46 |
+
{
|
47 |
+
/** @var \Dhl\Versenden\Bcs\Api\Info $origInfo */
|
48 |
+
$origInfo = $address->getData('dhl_versenden_info');
|
49 |
+
if (!$origInfo instanceof Dhl\Versenden\Bcs\Api\Info) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
$services = $origInfo->getServices()->toArray();
|
54 |
+
|
55 |
+
$infoBuilder = Mage::getModel('dhl_versenden/info_builder');
|
56 |
+
$serviceInfo = array(
|
57 |
+
'shipment_service' => array(),
|
58 |
+
'service_setting' => array()
|
59 |
+
);
|
60 |
+
|
61 |
+
// rebuild Versenden Info from address
|
62 |
+
$versendenInfo = $infoBuilder->infoFromSales($address, $serviceInfo, $address->getOrder()->getStoreId());
|
63 |
+
|
64 |
+
// set previously selected services
|
65 |
+
$versendenInfo->getServices()->fromArray($services);
|
66 |
+
|
67 |
+
// update street using POST data.
|
68 |
+
$versendenData = (isset($data['versenden_info']) && $data['versenden_info'])
|
69 |
+
? $data['versenden_info']
|
70 |
+
: array();
|
71 |
+
if (isset($versendenData['street_name']) && isset($versendenData['street_number'])
|
72 |
+
&& isset($versendenData['address_addition'])) {
|
73 |
+
$versendenInfo->getReceiver()->streetName = $versendenData['street_name'];
|
74 |
+
$versendenInfo->getReceiver()->streetNumber = $versendenData['street_number'];
|
75 |
+
$versendenInfo->getReceiver()->addressAddition = $versendenData['address_addition'];
|
76 |
+
}
|
77 |
+
|
78 |
+
$packstationData = (isset($versendenData['packstation']) && $versendenData['packstation'])
|
79 |
+
? $versendenData['packstation']
|
80 |
+
: array();
|
81 |
+
if (isset($packstationData['packstation_number']) && $packstationData['packstation_number']
|
82 |
+
&& isset($packstationData['post_number']) && $packstationData['post_number']) {
|
83 |
+
// update postal facility using POST data.
|
84 |
+
$versendenInfo->getReceiver()->getPackstation()->zip = $versendenInfo->getReceiver()->zip;
|
85 |
+
$versendenInfo->getReceiver()->getPackstation()->city = $versendenInfo->getReceiver()->city;
|
86 |
+
$versendenInfo->getReceiver()->getPackstation()->country = $versendenInfo->getReceiver()->country;
|
87 |
+
$versendenInfo->getReceiver()->getPackstation()->countryISOCode = $versendenInfo->getReceiver()->countryISOCode;
|
88 |
+
$versendenInfo->getReceiver()->getPackstation()->packstationNumber = $packstationData['packstation_number'];
|
89 |
+
$versendenInfo->getReceiver()->getPackstation()->postNumber = $packstationData['post_number'];
|
90 |
+
} else {
|
91 |
+
// otherwise clear
|
92 |
+
$versendenInfo->getReceiver()->getPackstation()->fromArray(array(
|
93 |
+
'zip' => null,
|
94 |
+
'city' => null,
|
95 |
+
'country' => null,
|
96 |
+
'country_iso_code' => null,
|
97 |
+
'packstation_number' => null,
|
98 |
+
'post_number' => null,
|
99 |
+
));
|
100 |
+
}
|
101 |
+
|
102 |
+
$postfilialeData = (isset($versendenData['postfiliale']) && $versendenData['postfiliale'])
|
103 |
+
? $versendenData['postfiliale']
|
104 |
+
: array();
|
105 |
+
if (isset($postfilialeData['postfilial_number']) && $postfilialeData['postfilial_number']
|
106 |
+
&& isset($postfilialeData['post_number']) && $postfilialeData['post_number']) {
|
107 |
+
// update postal facility using POST data.
|
108 |
+
$versendenInfo->getReceiver()->getPostfiliale()->zip = $versendenInfo->getReceiver()->zip;
|
109 |
+
$versendenInfo->getReceiver()->getPostfiliale()->city = $versendenInfo->getReceiver()->city;
|
110 |
+
$versendenInfo->getReceiver()->getPostfiliale()->country = $versendenInfo->getReceiver()->country;
|
111 |
+
$versendenInfo->getReceiver()->getPostfiliale()->countryISOCode = $versendenInfo->getReceiver()->countryISOCode;
|
112 |
+
$versendenInfo->getReceiver()->getPostfiliale()->postfilialNumber = $postfilialeData['postfilial_number'];
|
113 |
+
$versendenInfo->getReceiver()->getPostfiliale()->postNumber = $postfilialeData['post_number'];
|
114 |
+
} else {
|
115 |
+
// otherwise clear
|
116 |
+
$versendenInfo->getReceiver()->getPostfiliale()->fromArray(array(
|
117 |
+
'zip' => null,
|
118 |
+
'city' => null,
|
119 |
+
'country' => null,
|
120 |
+
'country_iso_code' => null,
|
121 |
+
'postfilial_number' => null,
|
122 |
+
'post_number' => null,
|
123 |
+
));
|
124 |
+
}
|
125 |
+
|
126 |
+
$parcelShopData = (isset($versendenData['parcel_shop']) && $versendenData['parcel_shop'])
|
127 |
+
? $versendenData['parcel_shop']
|
128 |
+
: array();
|
129 |
+
if (isset($parcelShopData['parcel_shop_number']) && $parcelShopData['parcel_shop_number']
|
130 |
+
&& isset($parcelShopData['street_name']) && $parcelShopData['street_name']
|
131 |
+
&& isset($parcelShopData['street_number']) && $parcelShopData['street_number']) {
|
132 |
+
// update postal facility using POST data.
|
133 |
+
$versendenInfo->getReceiver()->getParcelShop()->zip = $versendenInfo->getReceiver()->zip;
|
134 |
+
$versendenInfo->getReceiver()->getParcelShop()->city = $versendenInfo->getReceiver()->city;
|
135 |
+
$versendenInfo->getReceiver()->getParcelShop()->country = $versendenInfo->getReceiver()->country;
|
136 |
+
$versendenInfo->getReceiver()->getParcelShop()->countryISOCode = $versendenInfo->getReceiver()->countryISOCode;
|
137 |
+
$versendenInfo->getReceiver()->getParcelShop()->parcelShopNumber = $parcelShopData['parcel_shop_number'];
|
138 |
+
$versendenInfo->getReceiver()->getParcelShop()->streetName = $parcelShopData['street_name'];
|
139 |
+
$versendenInfo->getReceiver()->getParcelShop()->streetNumber = $parcelShopData['street_number'];
|
140 |
+
} else {
|
141 |
+
// otherwise clear
|
142 |
+
$versendenInfo->getReceiver()->getParcelShop()->fromArray(array(
|
143 |
+
'zip' => null,
|
144 |
+
'city' => null,
|
145 |
+
'country' => null,
|
146 |
+
'country_iso_code' => null,
|
147 |
+
'parcel_shop_number' => null,
|
148 |
+
'street_name' => null,
|
149 |
+
'street_number' => null,
|
150 |
+
));
|
151 |
+
}
|
152 |
+
|
153 |
+
$address->setData('dhl_versenden_info', $versendenInfo);
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Announce that the shipping address has changed.
|
158 |
+
*
|
159 |
+
* @param Mage_Sales_Model_Order_Address $address
|
160 |
+
*/
|
161 |
+
protected function _dispatchVersendenData(Mage_Sales_Model_Order_Address $address)
|
162 |
+
{
|
163 |
+
$versendenInfo = $address->getData('dhl_versenden_info');
|
164 |
+
if (!$versendenInfo instanceof \Dhl\Versenden\Bcs\Api\Info) {
|
165 |
+
return;
|
166 |
+
}
|
167 |
+
|
168 |
+
$facility = new Varien_Object();
|
169 |
+
if ($versendenInfo->getReceiver()->getPackstation()->packstationNumber) {
|
170 |
+
$packstation = $versendenInfo->getReceiver()->getPackstation();
|
171 |
+
$facility->setData(
|
172 |
+
array(
|
173 |
+
'shop_type' => \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility::TYPE_PACKSTATION,
|
174 |
+
'shop_number' => $packstation->packstationNumber,
|
175 |
+
'post_number' => $packstation->postNumber,
|
176 |
+
)
|
177 |
+
);
|
178 |
+
}
|
179 |
+
|
180 |
+
if ($versendenInfo->getReceiver()->getPostfiliale()->postfilialNumber) {
|
181 |
+
$postfiliale = $versendenInfo->getReceiver()->getPostfiliale();
|
182 |
+
$facility->setData(
|
183 |
+
array(
|
184 |
+
'shop_type' => \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility::TYPE_POSTFILIALE,
|
185 |
+
'shop_number' => $postfiliale->postfilialNumber,
|
186 |
+
'post_number' => $postfiliale->postNumber,
|
187 |
+
)
|
188 |
+
);
|
189 |
+
}
|
190 |
+
|
191 |
+
if ($versendenInfo->getReceiver()->getParcelShop()->parcelShopNumber) {
|
192 |
+
$parcelShop = $versendenInfo->getReceiver()->getParcelShop();
|
193 |
+
$facility->setData(
|
194 |
+
array(
|
195 |
+
'shop_type' => \Dhl\Versenden\Bcs\Api\Info\Receiver\PostalFacility::TYPE_POSTFILIALE,
|
196 |
+
'shop_number' => $parcelShop->parcelShopNumber,
|
197 |
+
)
|
198 |
+
);
|
199 |
+
}
|
200 |
+
|
201 |
+
$eventData = array(
|
202 |
+
'customer_address' => $address,
|
203 |
+
'postal_facility' => $facility,
|
204 |
+
);
|
205 |
+
Mage::dispatchEvent('dhl_versenden_announce_postal_facility', $eventData);
|
206 |
+
}
|
207 |
+
|
208 |
+
/**
|
209 |
+
* Save order address
|
210 |
+
*/
|
211 |
+
public function addressSaveAction()
|
212 |
+
{
|
213 |
+
$addressId = $this->getRequest()->getParam('address_id');
|
214 |
+
$address = Mage::getModel('sales/order_address')->load($addressId);
|
215 |
+
$data = $this->getRequest()->getPost();
|
216 |
+
if ($data && $address->getId()) {
|
217 |
+
$address->addData($data);
|
218 |
+
|
219 |
+
try {
|
220 |
+
$address->implodeStreetAddress();
|
221 |
+
$this->_addVersendenData($address, $data);
|
222 |
+
$address->save();
|
223 |
+
|
224 |
+
// dispatch versenden info update success
|
225 |
+
$this->_dispatchVersendenData($address);
|
226 |
+
|
227 |
+
$this->_getSession()->addSuccess(Mage::helper('sales')->__('The order address has been updated.'));
|
228 |
+
$this->_redirect('*/*/view', array('order_id'=>$address->getParentId()));
|
229 |
+
return;
|
230 |
+
} catch (Mage_Core_Exception $e) {
|
231 |
+
$this->_getSession()->addError($e->getMessage());
|
232 |
+
} catch (Exception $e) {
|
233 |
+
$this->_getSession()->addException(
|
234 |
+
$e,
|
235 |
+
Mage::helper('sales')->__('An error occurred while updating the order address. The address has not been changed.')
|
236 |
+
);
|
237 |
+
}
|
238 |
+
$this->_redirect('*/*/address', array('address_id'=>$address->getId()));
|
239 |
+
} else {
|
240 |
+
$this->_redirect('*/*/');
|
241 |
+
}
|
242 |
+
}
|
243 |
+
}
|
app/code/community/Dhl/Versenden/etc/config.xml
ADDED
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Dhl Versenden
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* PHP version 5
|
19 |
+
*
|
20 |
+
* @category Dhl
|
21 |
+
* @package Dhl_Versenden
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<config>
|
29 |
+
<modules>
|
30 |
+
<Dhl_Versenden>
|
31 |
+
<version>1.0.0</version>
|
32 |
+
</Dhl_Versenden>
|
33 |
+
</modules>
|
34 |
+
<global>
|
35 |
+
<blocks>
|
36 |
+
<dhl_versenden>
|
37 |
+
<class>Dhl_Versenden_Block</class>
|
38 |
+
</dhl_versenden>
|
39 |
+
</blocks>
|
40 |
+
<helpers>
|
41 |
+
<dhl_versenden>
|
42 |
+
<class>Dhl_Versenden_Helper</class>
|
43 |
+
</dhl_versenden>
|
44 |
+
</helpers>
|
45 |
+
<models>
|
46 |
+
<dhl_versenden>
|
47 |
+
<class>Dhl_Versenden_Model</class>
|
48 |
+
<resourceModel>dhl_versenden_resource</resourceModel>
|
49 |
+
</dhl_versenden>
|
50 |
+
<dhl_versenden_resource>
|
51 |
+
<class>Dhl_Versenden_Model_Resource</class>
|
52 |
+
</dhl_versenden_resource>
|
53 |
+
</models>
|
54 |
+
<resources>
|
55 |
+
<dhl_versenden_setup>
|
56 |
+
<setup>
|
57 |
+
<module>Dhl_Versenden</module>
|
58 |
+
</setup>
|
59 |
+
</dhl_versenden_setup>
|
60 |
+
</resources>
|
61 |
+
<events>
|
62 |
+
<controller_front_init_before>
|
63 |
+
<observers>
|
64 |
+
<register_autoload>
|
65 |
+
<class>dhl_versenden/observer</class>
|
66 |
+
<method>registerAutoload</method>
|
67 |
+
<type>singleton</type>
|
68 |
+
</register_autoload>
|
69 |
+
</observers>
|
70 |
+
</controller_front_init_before>
|
71 |
+
<sales_order_place_after>
|
72 |
+
<observers>
|
73 |
+
<update_carrier>
|
74 |
+
<class>dhl_versenden/observer</class>
|
75 |
+
<method>updateCarrier</method>
|
76 |
+
<type>singleton</type>
|
77 |
+
</update_carrier>
|
78 |
+
</observers>
|
79 |
+
</sales_order_place_after>
|
80 |
+
<dhl_versenden_fetch_postal_facility>
|
81 |
+
<observers>
|
82 |
+
<prepare_postal_facility>
|
83 |
+
<class>dhl_versenden/observer</class>
|
84 |
+
<method>preparePostalFacility</method>
|
85 |
+
<type>singleton</type>
|
86 |
+
</prepare_postal_facility>
|
87 |
+
</observers>
|
88 |
+
</dhl_versenden_fetch_postal_facility>
|
89 |
+
<payment_method_is_active>
|
90 |
+
<observers>
|
91 |
+
<disable_cod_payment>
|
92 |
+
<class>dhl_versenden/observer</class>
|
93 |
+
<method>disableCodPayment</method>
|
94 |
+
<type>singleton</type>
|
95 |
+
</disable_cod_payment>
|
96 |
+
</observers>
|
97 |
+
</payment_method_is_active>
|
98 |
+
<model_save_before>
|
99 |
+
<observers>
|
100 |
+
<serialize_versenden_info>
|
101 |
+
<class>dhl_versenden/observer</class>
|
102 |
+
<method>serializeVersendenInfo</method>
|
103 |
+
<type>singleton</type>
|
104 |
+
</serialize_versenden_info>
|
105 |
+
</observers>
|
106 |
+
</model_save_before>
|
107 |
+
<model_load_after>
|
108 |
+
<observers>
|
109 |
+
<unserialize_versenden_info>
|
110 |
+
<class>dhl_versenden/observer</class>
|
111 |
+
<method>unserializeVersendenInfo</method>
|
112 |
+
<type>singleton</type>
|
113 |
+
</unserialize_versenden_info>
|
114 |
+
</observers>
|
115 |
+
</model_load_after>
|
116 |
+
<model_save_after>
|
117 |
+
<observers>
|
118 |
+
<unserialize_versenden_info>
|
119 |
+
<class>dhl_versenden/observer</class>
|
120 |
+
<method>unserializeVersendenInfo</method>
|
121 |
+
<type>singleton</type>
|
122 |
+
</unserialize_versenden_info>
|
123 |
+
</observers>
|
124 |
+
</model_save_after>
|
125 |
+
<sales_order_address_collection_load_after>
|
126 |
+
<observers>
|
127 |
+
<unserialize_versenden_infos>
|
128 |
+
<class>dhl_versenden/observer</class>
|
129 |
+
<method>unserializeVersendenInfoItems</method>
|
130 |
+
<type>singleton</type>
|
131 |
+
</unserialize_versenden_infos>
|
132 |
+
</observers>
|
133 |
+
</sales_order_address_collection_load_after>
|
134 |
+
</events>
|
135 |
+
<fieldsets>
|
136 |
+
<sales_convert_quote_address>
|
137 |
+
<dhl_versenden_info>
|
138 |
+
<to_order_address>*</to_order_address>
|
139 |
+
</dhl_versenden_info>
|
140 |
+
</sales_convert_quote_address>
|
141 |
+
</fieldsets>
|
142 |
+
</global>
|
143 |
+
<admin>
|
144 |
+
<routers>
|
145 |
+
<adminhtml>
|
146 |
+
<args>
|
147 |
+
<modules>
|
148 |
+
<Dhl_Versenden_Adminhtml before="Mage_Adminhtml">Dhl_Versenden_Adminhtml</Dhl_Versenden_Adminhtml>
|
149 |
+
</modules>
|
150 |
+
</args>
|
151 |
+
</adminhtml>
|
152 |
+
</routers>
|
153 |
+
</admin>
|
154 |
+
<adminhtml>
|
155 |
+
<layout>
|
156 |
+
<updates>
|
157 |
+
<dhl_versenden>
|
158 |
+
<file>dhl_versenden.xml</file>
|
159 |
+
</dhl_versenden>
|
160 |
+
</updates>
|
161 |
+
</layout>
|
162 |
+
<translate>
|
163 |
+
<modules>
|
164 |
+
<dhl_versenden>
|
165 |
+
<files>
|
166 |
+
<default>Dhl_Versenden.csv</default>
|
167 |
+
</files>
|
168 |
+
</dhl_versenden>
|
169 |
+
</modules>
|
170 |
+
</translate>
|
171 |
+
<events>
|
172 |
+
<sales_order_shipment_track_delete_before>
|
173 |
+
<observers>
|
174 |
+
<delete_shipping_label>
|
175 |
+
<class>dhl_versenden/observer</class>
|
176 |
+
<method>deleteShippingLabel</method>
|
177 |
+
</delete_shipping_label>
|
178 |
+
</observers>
|
179 |
+
</sales_order_shipment_track_delete_before>
|
180 |
+
<adminhtml_widget_container_html_before>
|
181 |
+
<observers>
|
182 |
+
<replace_address_form>
|
183 |
+
<class>dhl_versenden/observer</class>
|
184 |
+
<method>replaceAddressForm</method>
|
185 |
+
<type>singleton</type>
|
186 |
+
</replace_address_form>
|
187 |
+
</observers>
|
188 |
+
</adminhtml_widget_container_html_before>
|
189 |
+
</events>
|
190 |
+
</adminhtml>
|
191 |
+
<frontend>
|
192 |
+
<layout>
|
193 |
+
<updates>
|
194 |
+
<dhl_versenden>
|
195 |
+
<file>dhl_versenden.xml</file>
|
196 |
+
</dhl_versenden>
|
197 |
+
</updates>
|
198 |
+
</layout>
|
199 |
+
<events>
|
200 |
+
<core_block_abstract_to_html_after>
|
201 |
+
<observers>
|
202 |
+
<append_shipment_method_services>
|
203 |
+
<class>dhl_versenden/observer</class>
|
204 |
+
<method>appendServices</method>
|
205 |
+
<type>singleton</type>
|
206 |
+
</append_shipment_method_services>
|
207 |
+
<append_services_to_shipping_method>
|
208 |
+
<class>dhl_versenden/observer</class>
|
209 |
+
<method>appendServicesToShippingMethod</method>
|
210 |
+
<type>singleton</type>
|
211 |
+
</append_services_to_shipping_method>
|
212 |
+
</observers>
|
213 |
+
</core_block_abstract_to_html_after>
|
214 |
+
<checkout_controller_onepage_save_shipping_method>
|
215 |
+
<observers>
|
216 |
+
<save_service_settings>
|
217 |
+
<class>dhl_versenden/observer</class>
|
218 |
+
<method>saveShippingSettings</method>
|
219 |
+
<type>singleton</type>
|
220 |
+
</save_service_settings>
|
221 |
+
</observers>
|
222 |
+
</checkout_controller_onepage_save_shipping_method>
|
223 |
+
</events>
|
224 |
+
<translate>
|
225 |
+
<modules>
|
226 |
+
<dhl_versenden>
|
227 |
+
<files>
|
228 |
+
<default>Dhl_Versenden.csv</default>
|
229 |
+
</files>
|
230 |
+
</dhl_versenden>
|
231 |
+
</modules>
|
232 |
+
</translate>
|
233 |
+
</frontend>
|
234 |
+
<crontab>
|
235 |
+
<jobs>
|
236 |
+
<dhlversenden_shipment_autocreate>
|
237 |
+
<schedule>
|
238 |
+
<cron_expr>*/15 * * * *</cron_expr>
|
239 |
+
</schedule>
|
240 |
+
<run>
|
241 |
+
<model>dhl_versenden/cron::shipmentAutoCreate</model>
|
242 |
+
</run>
|
243 |
+
</dhlversenden_shipment_autocreate>
|
244 |
+
</jobs>
|
245 |
+
</crontab>
|
246 |
+
<default>
|
247 |
+
<dhl_versenden>
|
248 |
+
<dev>
|
249 |
+
<autoload_enabled>1</autoload_enabled>
|
250 |
+
</dev>
|
251 |
+
</dhl_versenden>
|
252 |
+
<carriers>
|
253 |
+
<!-- This default value resolve a problem with CE 1.7 with missing value for the content type -->
|
254 |
+
<dhlint>
|
255 |
+
<content_type>D</content_type>
|
256 |
+
</dhlint>
|
257 |
+
<dhlversenden>
|
258 |
+
<model>dhl_versenden/shipping_carrier_versenden</model>
|
259 |
+
|
260 |
+
<title>DHL Versenden</title>
|
261 |
+
<active>1</active>
|
262 |
+
<sandbox_mode>1</sandbox_mode>
|
263 |
+
<logging_enabled>1</logging_enabled>
|
264 |
+
<log_level>3</log_level>
|
265 |
+
<account_participation backend_model="adminhtml/system_config_backend_serialized_array"><![CDATA[a:8:{s:18:"_1474470283335_335";a:2:{s:9:"procedure";s:2:"01";s:13:"participation";s:2:"01";}s:18:"_1474470313676_676";a:2:{s:9:"procedure";s:2:"53";s:13:"participation";s:2:"01";}s:18:"_1474470331582_582";a:2:{s:9:"procedure";s:2:"86";s:13:"participation";s:2:"02";}s:18:"_1474470336494_494";a:2:{s:9:"procedure";s:2:"87";s:13:"participation";s:2:"02";}s:18:"_1474470342334_334";a:2:{s:9:"procedure";s:2:"82";s:13:"participation";s:2:"02";}s:18:"_1474470366806_806";a:2:{s:9:"procedure";s:2:"07";s:13:"participation";s:2:"01";}s:18:"_1474470375822_822";a:2:{s:9:"procedure";s:2:"83";s:13:"participation";s:2:"02";}s:18:"_1474470376509_509";a:2:{s:9:"procedure";s:2:"85";s:13:"participation";s:2:"02";}}]]></account_participation>
|
266 |
+
<shipment_printonlyifcodeable>1</shipment_printonlyifcodeable>
|
267 |
+
<shipment_unitofmeasure>KG</shipment_unitofmeasure>
|
268 |
+
<shipment_dhlcodmethods>cashondelivery</shipment_dhlcodmethods>
|
269 |
+
<service_preferredday_enabled>0</service_preferredday_enabled>
|
270 |
+
<service_preferredtime_enabled>0</service_preferredtime_enabled>
|
271 |
+
<service_preferredlocation_enabled>0</service_preferredlocation_enabled>
|
272 |
+
<service_preferredlocation_placeholder>e.g. garage, terrace</service_preferredlocation_placeholder>
|
273 |
+
<service_preferredneighbour_enabled>0</service_preferredneighbour_enabled>
|
274 |
+
<service_preferredneighbour_placeholder>name, street and house number</service_preferredneighbour_placeholder>
|
275 |
+
<service_parcelannouncement_enabled>0</service_parcelannouncement_enabled>
|
276 |
+
<service_visualcheckofage_enabled>1</service_visualcheckofage_enabled>
|
277 |
+
<service_returnshipment_enabled>1</service_returnshipment_enabled>
|
278 |
+
<service_insurance_enabled>1</service_insurance_enabled>
|
279 |
+
<service_bulkygoods_enabled>1</service_bulkygoods_enabled>
|
280 |
+
<returnshipment_use_shipper>1</returnshipment_use_shipper>
|
281 |
+
|
282 |
+
<shipment_autocreate_order_status>pending,processing</shipment_autocreate_order_status>
|
283 |
+
|
284 |
+
<webservice_auth_username>NRMAG_1</webservice_auth_username>
|
285 |
+
<webservice_auth_password>UlWwlRXgmQre9AP0irEF98MAVX8tCv</webservice_auth_password>
|
286 |
+
|
287 |
+
<sandbox_endpoint>https://cig.dhl.de/services/sandbox/soap</sandbox_endpoint>
|
288 |
+
<sandbox_auth_username>magento_1</sandbox_auth_username>
|
289 |
+
<sandbox_auth_password>2de26b775e59279464d1c2f8546432e62413372421c672db36eaacfc2f</sandbox_auth_password>
|
290 |
+
|
291 |
+
<sandbox_account_user>2222222222_01</sandbox_account_user>
|
292 |
+
<sandbox_account_signature>pass</sandbox_account_signature>
|
293 |
+
<sandbox_account_ekp>2222222222</sandbox_account_ekp>
|
294 |
+
<sandbox_account_participation backend_model="adminhtml/system_config_backend_serialized_array"><![CDATA[a:8:{s:18:"_1474470283335_335";a:2:{s:9:"procedure";s:2:"01";s:13:"participation";s:2:"04";}s:18:"_1474470313676_676";a:2:{s:9:"procedure";s:2:"53";s:13:"participation";s:2:"01";}s:18:"_1474470331582_582";a:2:{s:9:"procedure";s:2:"86";s:13:"participation";s:2:"02";}s:18:"_1474470336494_494";a:2:{s:9:"procedure";s:2:"87";s:13:"participation";s:2:"02";}s:18:"_1474470342334_334";a:2:{s:9:"procedure";s:2:"82";s:13:"participation";s:2:"02";}s:18:"_1474470366806_806";a:2:{s:9:"procedure";s:2:"07";s:13:"participation";s:2:"01";}s:18:"_1474470375822_822";a:2:{s:9:"procedure";s:2:"83";s:13:"participation";s:2:"02";}s:18:"_1474470376509_509";a:2:{s:9:"procedure";s:2:"85";s:13:"participation";s:2:"02";}}]]></sandbox_account_participation>
|
295 |
+
</dhlversenden>
|
296 |
+
</carriers>
|
297 |
+
</default>
|
298 |
+
<phpunit>
|
299 |
+
<suite>
|
300 |
+
<modules>
|
301 |
+
<Dhl_Versenden/>
|
302 |
+
</modules>
|
303 |
+
</suite>
|
304 |
+
</phpunit>
|
305 |
+
</config>
|
app/code/community/Dhl/Versenden/etc/system.xml
ADDED
@@ -0,0 +1,704 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Dhl Versenden
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* PHP version 5
|
19 |
+
*
|
20 |
+
* @category Dhl
|
21 |
+
* @package Dhl_Versenden
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<config>
|
29 |
+
<sections>
|
30 |
+
<carriers>
|
31 |
+
<groups>
|
32 |
+
<dhlversenden>
|
33 |
+
<label>DHL Versenden</label>
|
34 |
+
<comment>DHL Business Customer Shipping</comment>
|
35 |
+
<frontend_type>text</frontend_type>
|
36 |
+
<sort_order>2500</sort_order>
|
37 |
+
<show_in_default>1</show_in_default>
|
38 |
+
<show_in_website>1</show_in_website>
|
39 |
+
<show_in_store>1</show_in_store>
|
40 |
+
<fields>
|
41 |
+
|
42 |
+
<dhlversenden_fields_general>
|
43 |
+
<label>General Settings</label>
|
44 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
45 |
+
<sort_order>100</sort_order>
|
46 |
+
<show_in_default>1</show_in_default>
|
47 |
+
<show_in_website>1</show_in_website>
|
48 |
+
<show_in_store>1</show_in_store>
|
49 |
+
</dhlversenden_fields_general>
|
50 |
+
<info>
|
51 |
+
<label>Module</label>
|
52 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_info</frontend_model>
|
53 |
+
<sort_order>110</sort_order>
|
54 |
+
<show_in_default>1</show_in_default>
|
55 |
+
<show_in_website>1</show_in_website>
|
56 |
+
<show_in_store>1</show_in_store>
|
57 |
+
</info>
|
58 |
+
<title>
|
59 |
+
<label>Title</label>
|
60 |
+
<frontend_type>text</frontend_type>
|
61 |
+
<sort_order>120</sort_order>
|
62 |
+
<show_in_default>1</show_in_default>
|
63 |
+
<show_in_website>1</show_in_website>
|
64 |
+
<show_in_store>1</show_in_store>
|
65 |
+
</title>
|
66 |
+
<!--temporary disable setting as it is not evaluated anywhere -->
|
67 |
+
<!--
|
68 |
+
<active>
|
69 |
+
<label>Enabled for Checkout</label>
|
70 |
+
<frontend_type>select</frontend_type>
|
71 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
72 |
+
<sort_order>130</sort_order>
|
73 |
+
<show_in_default>1</show_in_default>
|
74 |
+
<show_in_website>1</show_in_website>
|
75 |
+
<show_in_store>0</show_in_store>
|
76 |
+
</active>
|
77 |
+
-->
|
78 |
+
<sandbox_mode>
|
79 |
+
<label>Sandbox Mode</label>
|
80 |
+
<frontend_type>select</frontend_type>
|
81 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
82 |
+
<sort_order>140</sort_order>
|
83 |
+
<show_in_default>1</show_in_default>
|
84 |
+
<show_in_website>0</show_in_website>
|
85 |
+
<show_in_store>0</show_in_store>
|
86 |
+
</sandbox_mode>
|
87 |
+
<logging_enabled>
|
88 |
+
<label>Enable Logging</label>
|
89 |
+
<comment><![CDATA[Please ensure that the Magento-Log is also activated. Data will be written to <em>dhl_versenden.log</em>.]]></comment>
|
90 |
+
<frontend_type>select</frontend_type>
|
91 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
92 |
+
<sort_order>150</sort_order>
|
93 |
+
<show_in_default>1</show_in_default>
|
94 |
+
<show_in_website>0</show_in_website>
|
95 |
+
<show_in_store>0</show_in_store>
|
96 |
+
</logging_enabled>
|
97 |
+
<log_level>
|
98 |
+
<label>Log Level</label>
|
99 |
+
<comment><![CDATA[Beware: Log level <em>Debug</em> will result in large log files.]]></comment>
|
100 |
+
<frontend_type>select</frontend_type>
|
101 |
+
<source_model>dhl_versenden/adminhtml_system_config_source_loglevel</source_model>
|
102 |
+
<sort_order>160</sort_order>
|
103 |
+
<show_in_default>1</show_in_default>
|
104 |
+
<show_in_website>0</show_in_website>
|
105 |
+
<show_in_store>0</show_in_store>
|
106 |
+
<depends>
|
107 |
+
<logging_enabled>1</logging_enabled>
|
108 |
+
</depends>
|
109 |
+
</log_level>
|
110 |
+
|
111 |
+
<dhlversenden_fields_account>
|
112 |
+
<label>Account Data</label>
|
113 |
+
<comment>Basic account data as required in production mode</comment>
|
114 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
115 |
+
<sort_order>200</sort_order>
|
116 |
+
<show_in_default>1</show_in_default>
|
117 |
+
<show_in_website>0</show_in_website>
|
118 |
+
<show_in_store>0</show_in_store>
|
119 |
+
</dhlversenden_fields_account>
|
120 |
+
<account_user>
|
121 |
+
<label>User</label>
|
122 |
+
<tooltip>DHL contract customers receive the access data to the DHL Business Customer Portal via DHL Paket sales.</tooltip>
|
123 |
+
<frontend_type>text</frontend_type>
|
124 |
+
<validate>required-entry</validate>
|
125 |
+
<sort_order>210</sort_order>
|
126 |
+
<show_in_default>1</show_in_default>
|
127 |
+
<show_in_website>0</show_in_website>
|
128 |
+
<show_in_store>0</show_in_store>
|
129 |
+
<depends>
|
130 |
+
<sandbox_mode>0</sandbox_mode>
|
131 |
+
</depends>
|
132 |
+
</account_user>
|
133 |
+
<account_signature>
|
134 |
+
<label>Signature</label>
|
135 |
+
<tooltip>DHL contract customers receive the access data to the DHL Business Customer Portal via DHL Paket sales.</tooltip>
|
136 |
+
<frontend_type>password</frontend_type>
|
137 |
+
<validate>required-entry</validate>
|
138 |
+
<sort_order>220</sort_order>
|
139 |
+
<show_in_default>1</show_in_default>
|
140 |
+
<show_in_website>0</show_in_website>
|
141 |
+
<show_in_store>0</show_in_store>
|
142 |
+
<depends>
|
143 |
+
<sandbox_mode>0</sandbox_mode>
|
144 |
+
</depends>
|
145 |
+
</account_signature>
|
146 |
+
<account_ekp>
|
147 |
+
<label>EKP</label>
|
148 |
+
<tooltip>DHL contract customers receive the access data to the DHL Business Customer Portal via DHL Paket sales.</tooltip>
|
149 |
+
<frontend_type>text</frontend_type>
|
150 |
+
<validate>required-entry validate-length minimum-length-10 maximum-length-10</validate>
|
151 |
+
<sort_order>230</sort_order>
|
152 |
+
<show_in_default>1</show_in_default>
|
153 |
+
<show_in_website>0</show_in_website>
|
154 |
+
<show_in_store>0</show_in_store>
|
155 |
+
<depends>
|
156 |
+
<sandbox_mode>0</sandbox_mode>
|
157 |
+
</depends>
|
158 |
+
</account_ekp>
|
159 |
+
<account_participation>
|
160 |
+
<label>Participation Numbers</label>
|
161 |
+
<frontend_model>dhl_versenden/adminhtml_form_field_participation</frontend_model>
|
162 |
+
<backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
|
163 |
+
<sort_order>240</sort_order>
|
164 |
+
<show_in_default>1</show_in_default>
|
165 |
+
<show_in_website>0</show_in_website>
|
166 |
+
<show_in_store>0</show_in_store>
|
167 |
+
<depends>
|
168 |
+
<sandbox_mode>0</sandbox_mode>
|
169 |
+
</depends>
|
170 |
+
</account_participation>
|
171 |
+
|
172 |
+
<dhlversenden_fields_shipment>
|
173 |
+
<label>Shipment Orders</label>
|
174 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
175 |
+
<sort_order>300</sort_order>
|
176 |
+
<show_in_default>1</show_in_default>
|
177 |
+
<show_in_website>1</show_in_website>
|
178 |
+
<show_in_store>1</show_in_store>
|
179 |
+
</dhlversenden_fields_shipment>
|
180 |
+
<shipment_printonlyifcodeable>
|
181 |
+
<label>Print Only If Codeable</label>
|
182 |
+
<tooltip><![CDATA[If set to <em>Yes</em>, shipping order requests will only return a label if the DHL delivery address verification succeeds.]]></tooltip>
|
183 |
+
<frontend_type>select</frontend_type>
|
184 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
185 |
+
<sort_order>310</sort_order>
|
186 |
+
<show_in_default>1</show_in_default>
|
187 |
+
<show_in_website>1</show_in_website>
|
188 |
+
<show_in_store>1</show_in_store>
|
189 |
+
</shipment_printonlyifcodeable>
|
190 |
+
<shipment_unitofmeasure>
|
191 |
+
<label>Weight Unit</label>
|
192 |
+
<tooltip>Configure the product weight unit that is used in the Catalog.</tooltip>
|
193 |
+
<frontend_type>select</frontend_type>
|
194 |
+
<source_model>dhl_versenden/shipping_carrier_versenden_source_unitofmeasure</source_model>
|
195 |
+
<sort_order>320</sort_order>
|
196 |
+
<show_in_default>1</show_in_default>
|
197 |
+
<show_in_website>1</show_in_website>
|
198 |
+
<show_in_store>0</show_in_store>
|
199 |
+
</shipment_unitofmeasure>
|
200 |
+
<shipment_dhlmethods>
|
201 |
+
<label>Shipping Methods for DHL Versenden</label>
|
202 |
+
<tooltip>Select shipping methods for rate calculation in checkout.</tooltip>
|
203 |
+
<comment>These shipping methods will be processed with DHL Versenden.</comment>
|
204 |
+
<frontend_type>multiselect</frontend_type>
|
205 |
+
<source_model>dhl_versenden/adminhtml_system_config_source_shipping_allmethods</source_model>
|
206 |
+
<sort_order>340</sort_order>
|
207 |
+
<show_in_default>1</show_in_default>
|
208 |
+
<show_in_website>1</show_in_website>
|
209 |
+
<show_in_store>0</show_in_store>
|
210 |
+
</shipment_dhlmethods>
|
211 |
+
<shipment_dhlcodmethods>
|
212 |
+
<label>Cash On Delivery Payment Methods for DHL Versenden</label>
|
213 |
+
<tooltip>These payment methods will be treated as COD methods during shipping order requests.</tooltip>
|
214 |
+
<frontend_type>multiselect</frontend_type>
|
215 |
+
<source_model>adminhtml/system_config_source_payment_allmethods</source_model>
|
216 |
+
<sort_order>350</sort_order>
|
217 |
+
<show_in_default>1</show_in_default>
|
218 |
+
<show_in_website>1</show_in_website>
|
219 |
+
<show_in_store>0</show_in_store>
|
220 |
+
</shipment_dhlcodmethods>
|
221 |
+
|
222 |
+
<dhlversenden_fields_service>
|
223 |
+
<label>Additional Services In Checkout</label>
|
224 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
225 |
+
<sort_order>400</sort_order>
|
226 |
+
<show_in_default>1</show_in_default>
|
227 |
+
<show_in_website>1</show_in_website>
|
228 |
+
<show_in_store>1</show_in_store>
|
229 |
+
</dhlversenden_fields_service>
|
230 |
+
<service_preferredlocation_enabled>
|
231 |
+
<label>Enable Preferred location</label>
|
232 |
+
<tooltip>Allow customers to declare a preferred parcel location during checkout.</tooltip>
|
233 |
+
<frontend_type>select</frontend_type>
|
234 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
235 |
+
<sort_order>430</sort_order>
|
236 |
+
<show_in_default>1</show_in_default>
|
237 |
+
<show_in_website>1</show_in_website>
|
238 |
+
<show_in_store>1</show_in_store>
|
239 |
+
</service_preferredlocation_enabled>
|
240 |
+
<service_preferredneighbour_enabled>
|
241 |
+
<label>Enable Preferred neighbor</label>
|
242 |
+
<tooltip>Allow customers to declare a preferred neighbour during checkout.</tooltip>
|
243 |
+
<frontend_type>select</frontend_type>
|
244 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
245 |
+
<sort_order>440</sort_order>
|
246 |
+
<show_in_default>1</show_in_default>
|
247 |
+
<show_in_website>1</show_in_website>
|
248 |
+
<show_in_store>1</show_in_store>
|
249 |
+
</service_preferredneighbour_enabled>
|
250 |
+
<service_parcelannouncement_enabled>
|
251 |
+
<label>Enable Parcel announcement</label>
|
252 |
+
<tooltip><![CDATA[Let DHL send shipment status updates to the customer. Choosing <em>Optional</em> will let the customer decide during checkout.]]></tooltip>
|
253 |
+
<frontend_type>select</frontend_type>
|
254 |
+
<source_model>dhl_versenden/adminhtml_system_config_source_yesoptno</source_model>
|
255 |
+
<sort_order>450</sort_order>
|
256 |
+
<show_in_default>1</show_in_default>
|
257 |
+
<show_in_website>1</show_in_website>
|
258 |
+
<show_in_store>1</show_in_store>
|
259 |
+
</service_parcelannouncement_enabled>
|
260 |
+
<service_preferredday_enabled>
|
261 |
+
<label>Enable Preferred day</label>
|
262 |
+
<tooltip>Allow customers to select a preferred day of delivery.</tooltip>
|
263 |
+
<frontend_type>select</frontend_type>
|
264 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
265 |
+
<sort_order>460</sort_order>
|
266 |
+
<show_in_default>1</show_in_default>
|
267 |
+
<show_in_website>1</show_in_website>
|
268 |
+
<show_in_store>1</show_in_store>
|
269 |
+
</service_preferredday_enabled>
|
270 |
+
<service_cutoff_time>
|
271 |
+
<label>Cut off time</label>
|
272 |
+
<tooltip>Orders placed after the cut-off time will not be shipped the same day.</tooltip>
|
273 |
+
<frontend_type>time</frontend_type>
|
274 |
+
<source_model>adminhtml/system_config_source_date_short</source_model>
|
275 |
+
<sort_order>460</sort_order>
|
276 |
+
<show_in_default>1</show_in_default>
|
277 |
+
<show_in_website>1</show_in_website>
|
278 |
+
<show_in_store>1</show_in_store>
|
279 |
+
<depends><service_preferredday_enabled>1</service_preferredday_enabled></depends>
|
280 |
+
</service_cutoff_time>
|
281 |
+
<service_preferredtime_enabled>
|
282 |
+
<label>Enable Preferred time</label>
|
283 |
+
<tooltip>Allow customers to select a preferred time of delivery.</tooltip>
|
284 |
+
<frontend_type>select</frontend_type>
|
285 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
286 |
+
<sort_order>470</sort_order>
|
287 |
+
<show_in_default>1</show_in_default>
|
288 |
+
<show_in_website>1</show_in_website>
|
289 |
+
<show_in_store>1</show_in_store>
|
290 |
+
</service_preferredtime_enabled>
|
291 |
+
|
292 |
+
<dhlversenden_fields_shipment_autocreate>
|
293 |
+
<label>Automatic Shipment Creation</label>
|
294 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
295 |
+
<sort_order>500</sort_order>
|
296 |
+
<show_in_default>1</show_in_default>
|
297 |
+
<show_in_website>1</show_in_website>
|
298 |
+
<show_in_store>1</show_in_store>
|
299 |
+
</dhlversenden_fields_shipment_autocreate>
|
300 |
+
<shipment_autocreate_enabled>
|
301 |
+
<label>Enabled</label>
|
302 |
+
<tooltip>Create shipments and retrieve labels via cron job.</tooltip>
|
303 |
+
<frontend_type>select</frontend_type>
|
304 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
305 |
+
<sort_order>510</sort_order>
|
306 |
+
<show_in_default>1</show_in_default>
|
307 |
+
<show_in_website>1</show_in_website>
|
308 |
+
<show_in_store>1</show_in_store>
|
309 |
+
</shipment_autocreate_enabled>
|
310 |
+
<shipment_autocreate_order_status>
|
311 |
+
<label>Order Status</label>
|
312 |
+
<tooltip>Create shipments for orders with the given status.</tooltip>
|
313 |
+
<frontend_type>multiselect</frontend_type>
|
314 |
+
<source_model>adminhtml/system_config_source_order_status</source_model>
|
315 |
+
<sort_order>520</sort_order>
|
316 |
+
<show_in_default>1</show_in_default>
|
317 |
+
<show_in_website>0</show_in_website>
|
318 |
+
<show_in_store>0</show_in_store>
|
319 |
+
</shipment_autocreate_order_status>
|
320 |
+
<shipment_autocreate_service_visualcheckofage>
|
321 |
+
<label>Visual Check of Age</label>
|
322 |
+
<tooltip>Book the service Visual Check Of Age with automated shipment orders.</tooltip>
|
323 |
+
<frontend_type>select</frontend_type>
|
324 |
+
<source_model>dhl_versenden/adminhtml_system_config_source_service_visualcheckofage</source_model>
|
325 |
+
<sort_order>530</sort_order>
|
326 |
+
<show_in_default>1</show_in_default>
|
327 |
+
<show_in_website>1</show_in_website>
|
328 |
+
<show_in_store>1</show_in_store>
|
329 |
+
</shipment_autocreate_service_visualcheckofage>
|
330 |
+
<shipment_autocreate_service_returnshipment>
|
331 |
+
<label>Return Shipment</label>
|
332 |
+
<tooltip>Book the service Return Shipment with automated shipment orders.</tooltip>
|
333 |
+
<frontend_type>select</frontend_type>
|
334 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
335 |
+
<sort_order>540</sort_order>
|
336 |
+
<show_in_default>1</show_in_default>
|
337 |
+
<show_in_website>1</show_in_website>
|
338 |
+
<show_in_store>1</show_in_store>
|
339 |
+
</shipment_autocreate_service_returnshipment>
|
340 |
+
<shipment_autocreate_service_insurance>
|
341 |
+
<label>Additional Insurance</label>
|
342 |
+
<tooltip>Book the service Additional Insurance with automated shipment orders.</tooltip>
|
343 |
+
<frontend_type>select</frontend_type>
|
344 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
345 |
+
<sort_order>550</sort_order>
|
346 |
+
<show_in_default>1</show_in_default>
|
347 |
+
<show_in_website>1</show_in_website>
|
348 |
+
<show_in_store>1</show_in_store>
|
349 |
+
</shipment_autocreate_service_insurance>
|
350 |
+
<shipment_autocreate_service_bulkygoods>
|
351 |
+
<label>Bulky Goods</label>
|
352 |
+
<tooltip>Book the service Bulky Goods with automated shipment orders.</tooltip>
|
353 |
+
<frontend_type>select</frontend_type>
|
354 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
355 |
+
<sort_order>560</sort_order>
|
356 |
+
<show_in_default>1</show_in_default>
|
357 |
+
<show_in_website>1</show_in_website>
|
358 |
+
<show_in_store>1</show_in_store>
|
359 |
+
</shipment_autocreate_service_bulkygoods>
|
360 |
+
|
361 |
+
<dhlversenden_fields_contact>
|
362 |
+
<label>Contact Data</label>
|
363 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
364 |
+
<sort_order>600</sort_order>
|
365 |
+
<show_in_default>1</show_in_default>
|
366 |
+
<show_in_website>1</show_in_website>
|
367 |
+
<show_in_store>0</show_in_store>
|
368 |
+
</dhlversenden_fields_contact>
|
369 |
+
<contact_name1>
|
370 |
+
<label>Name of Sender</label>
|
371 |
+
<frontend_type>text</frontend_type>
|
372 |
+
<validate>required-entry validate-length maximum-length-50</validate>
|
373 |
+
<sort_order>610</sort_order>
|
374 |
+
<show_in_default>1</show_in_default>
|
375 |
+
<show_in_website>1</show_in_website>
|
376 |
+
<show_in_store>0</show_in_store>
|
377 |
+
</contact_name1>
|
378 |
+
<contact_name2>
|
379 |
+
<label>Name of Company</label>
|
380 |
+
<frontend_type>text</frontend_type>
|
381 |
+
<validate>validate-length maximum-length-50</validate>
|
382 |
+
<sort_order>611</sort_order>
|
383 |
+
<show_in_default>1</show_in_default>
|
384 |
+
<show_in_website>1</show_in_website>
|
385 |
+
<show_in_store>0</show_in_store>
|
386 |
+
</contact_name2>
|
387 |
+
<contact_name3>
|
388 |
+
<label>Name of Company (2)</label>
|
389 |
+
<frontend_type>text</frontend_type>
|
390 |
+
<validate>validate-length maximum-length-50</validate>
|
391 |
+
<sort_order>612</sort_order>
|
392 |
+
<show_in_default>1</show_in_default>
|
393 |
+
<show_in_website>1</show_in_website>
|
394 |
+
<show_in_store>0</show_in_store>
|
395 |
+
</contact_name3>
|
396 |
+
<contact_streetname>
|
397 |
+
<label>Street Name</label>
|
398 |
+
<frontend_type>text</frontend_type>
|
399 |
+
<validate>required-entry validate-length maximum-length-35</validate>
|
400 |
+
<sort_order>620</sort_order>
|
401 |
+
<show_in_default>1</show_in_default>
|
402 |
+
<show_in_website>1</show_in_website>
|
403 |
+
<show_in_store>0</show_in_store>
|
404 |
+
</contact_streetname>
|
405 |
+
<contact_streetnumber>
|
406 |
+
<label>House number</label>
|
407 |
+
<frontend_type>text</frontend_type>
|
408 |
+
<validate>required-entry validate-length maximum-length-5</validate>
|
409 |
+
<sort_order>621</sort_order>
|
410 |
+
<show_in_default>1</show_in_default>
|
411 |
+
<show_in_website>1</show_in_website>
|
412 |
+
<show_in_store>0</show_in_store>
|
413 |
+
</contact_streetnumber>
|
414 |
+
<contact_addition>
|
415 |
+
<label>Address Addition</label>
|
416 |
+
<frontend_type>text</frontend_type>
|
417 |
+
<validate>validate-length maximum-length-35</validate>
|
418 |
+
<sort_order>622</sort_order>
|
419 |
+
<show_in_default>1</show_in_default>
|
420 |
+
<show_in_website>1</show_in_website>
|
421 |
+
<show_in_store>0</show_in_store>
|
422 |
+
</contact_addition>
|
423 |
+
<contact_dispatchinfo>
|
424 |
+
<label>Dispatching Information</label>
|
425 |
+
<frontend_type>text</frontend_type>
|
426 |
+
<validate>validate-length maximum-length-35</validate>
|
427 |
+
<sort_order>623</sort_order>
|
428 |
+
<show_in_default>1</show_in_default>
|
429 |
+
<show_in_website>1</show_in_website>
|
430 |
+
<show_in_store>0</show_in_store>
|
431 |
+
</contact_dispatchinfo>
|
432 |
+
<contact_zip>
|
433 |
+
<label>Zip Code</label>
|
434 |
+
<frontend_type>text</frontend_type>
|
435 |
+
<validate>required-entry validate-length maximum-length-10</validate>
|
436 |
+
<sort_order>630</sort_order>
|
437 |
+
<show_in_default>1</show_in_default>
|
438 |
+
<show_in_website>1</show_in_website>
|
439 |
+
<show_in_store>0</show_in_store>
|
440 |
+
</contact_zip>
|
441 |
+
<contact_city>
|
442 |
+
<label>City</label>
|
443 |
+
<frontend_type>text</frontend_type>
|
444 |
+
<validate>required-entry validate-length maximum-length-35</validate>
|
445 |
+
<sort_order>631</sort_order>
|
446 |
+
<show_in_default>1</show_in_default>
|
447 |
+
<show_in_website>1</show_in_website>
|
448 |
+
<show_in_store>0</show_in_store>
|
449 |
+
</contact_city>
|
450 |
+
<contact_countryid>
|
451 |
+
<label>Country</label>
|
452 |
+
<frontend_type>select</frontend_type>
|
453 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
454 |
+
<validate>required-entry</validate>
|
455 |
+
<sort_order>632</sort_order>
|
456 |
+
<show_in_default>1</show_in_default>
|
457 |
+
<show_in_website>1</show_in_website>
|
458 |
+
<show_in_store>0</show_in_store>
|
459 |
+
</contact_countryid>
|
460 |
+
<contact_phone>
|
461 |
+
<label>Phone Number</label>
|
462 |
+
<validate>validate-length maximum-length-20</validate>
|
463 |
+
<frontend_type>text</frontend_type>
|
464 |
+
<sort_order>640</sort_order>
|
465 |
+
<show_in_default>1</show_in_default>
|
466 |
+
<show_in_website>1</show_in_website>
|
467 |
+
<show_in_store>0</show_in_store>
|
468 |
+
</contact_phone>
|
469 |
+
<contact_email>
|
470 |
+
<label>Email Address</label>
|
471 |
+
<validate>validate-email validate-length maximum-length-50</validate>
|
472 |
+
<frontend_type>text</frontend_type>
|
473 |
+
<sort_order>641</sort_order>
|
474 |
+
<show_in_default>1</show_in_default>
|
475 |
+
<show_in_website>1</show_in_website>
|
476 |
+
<show_in_store>0</show_in_store>
|
477 |
+
</contact_email>
|
478 |
+
<contact_person>
|
479 |
+
<label>First Name and Last Name of Contact Person</label>
|
480 |
+
<frontend_type>text</frontend_type>
|
481 |
+
<validate>validate-length maximum-length-50</validate>
|
482 |
+
<sort_order>642</sort_order>
|
483 |
+
<show_in_default>1</show_in_default>
|
484 |
+
<show_in_website>1</show_in_website>
|
485 |
+
<show_in_store>0</show_in_store>
|
486 |
+
</contact_person>
|
487 |
+
|
488 |
+
<dhlversenden_fields_bankdata>
|
489 |
+
<label>Bank Data</label>
|
490 |
+
<comment>Bank data as required for cash on delivery payments</comment>
|
491 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
492 |
+
<sort_order>700</sort_order>
|
493 |
+
<show_in_default>1</show_in_default>
|
494 |
+
<show_in_website>1</show_in_website>
|
495 |
+
<show_in_store>0</show_in_store>
|
496 |
+
</dhlversenden_fields_bankdata>
|
497 |
+
<bankdata_owner>
|
498 |
+
<label>Account Owner</label>
|
499 |
+
<frontend_type>text</frontend_type>
|
500 |
+
<validate>required-entry validate-length maximum-length-80</validate>
|
501 |
+
<sort_order>710</sort_order>
|
502 |
+
<show_in_default>1</show_in_default>
|
503 |
+
<show_in_website>1</show_in_website>
|
504 |
+
<show_in_store>0</show_in_store>
|
505 |
+
</bankdata_owner>
|
506 |
+
<bankdata_bankname>
|
507 |
+
<label>Bank Name</label>
|
508 |
+
<frontend_type>text</frontend_type>
|
509 |
+
<validate>required-entry validate-length maximum-length-80</validate>
|
510 |
+
<sort_order>720</sort_order>
|
511 |
+
<show_in_default>1</show_in_default>
|
512 |
+
<show_in_website>1</show_in_website>
|
513 |
+
<show_in_store>0</show_in_store>
|
514 |
+
</bankdata_bankname>
|
515 |
+
<bankdata_iban>
|
516 |
+
<label>IBAN</label>
|
517 |
+
<validate>required-entry validate-alphanum validate-length maximum-length-34</validate>
|
518 |
+
<frontend_type>text</frontend_type>
|
519 |
+
<sort_order>730</sort_order>
|
520 |
+
<show_in_default>1</show_in_default>
|
521 |
+
<show_in_website>1</show_in_website>
|
522 |
+
<show_in_store>0</show_in_store>
|
523 |
+
</bankdata_iban>
|
524 |
+
<bankdata_bic>
|
525 |
+
<label>BIC</label>
|
526 |
+
<frontend_type>text</frontend_type>
|
527 |
+
<validate>validate-alphanum validate-length maximum-length-11</validate>
|
528 |
+
<sort_order>740</sort_order>
|
529 |
+
<show_in_default>1</show_in_default>
|
530 |
+
<show_in_website>1</show_in_website>
|
531 |
+
<show_in_store>0</show_in_store>
|
532 |
+
</bankdata_bic>
|
533 |
+
<bankdata_note1>
|
534 |
+
<label>Reason for Payment</label>
|
535 |
+
<frontend_type>text</frontend_type>
|
536 |
+
<validate>validate-length maximum-length-35</validate>
|
537 |
+
<sort_order>750</sort_order>
|
538 |
+
<show_in_default>1</show_in_default>
|
539 |
+
<show_in_website>1</show_in_website>
|
540 |
+
<show_in_store>0</show_in_store>
|
541 |
+
</bankdata_note1>
|
542 |
+
<bankdata_note2>
|
543 |
+
<label>Reason for Payment (2)</label>
|
544 |
+
<frontend_type>text</frontend_type>
|
545 |
+
<validate>validate-length maximum-length-35</validate>
|
546 |
+
<sort_order>760</sort_order>
|
547 |
+
<show_in_default>1</show_in_default>
|
548 |
+
<show_in_website>1</show_in_website>
|
549 |
+
<show_in_store>0</show_in_store>
|
550 |
+
</bankdata_note2>
|
551 |
+
<bankdata_accountreference>
|
552 |
+
<label>Account Reference to Customer Profile</label>
|
553 |
+
<frontend_type>text</frontend_type>
|
554 |
+
<validate>validate-length maximum-length-35</validate>
|
555 |
+
<sort_order>770</sort_order>
|
556 |
+
<show_in_default>1</show_in_default>
|
557 |
+
<show_in_website>1</show_in_website>
|
558 |
+
<show_in_store>0</show_in_store>
|
559 |
+
</bankdata_accountreference>
|
560 |
+
|
561 |
+
<dhlversenden_fields_returnshipment>
|
562 |
+
<label>Return Shipment</label>
|
563 |
+
<frontend_model>dhl_versenden/adminhtml_system_config_heading</frontend_model>
|
564 |
+
<sort_order>800</sort_order>
|
565 |
+
<show_in_default>1</show_in_default>
|
566 |
+
<show_in_website>1</show_in_website>
|
567 |
+
<show_in_store>0</show_in_store>
|
568 |
+
</dhlversenden_fields_returnshipment>
|
569 |
+
<returnshipment_use_shipper>
|
570 |
+
<label>Use Shipper as Receiver</label>
|
571 |
+
<frontend_type>select</frontend_type>
|
572 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
573 |
+
<sort_order>810</sort_order>
|
574 |
+
<show_in_default>1</show_in_default>
|
575 |
+
<show_in_website>1</show_in_website>
|
576 |
+
<show_in_store>0</show_in_store>
|
577 |
+
</returnshipment_use_shipper>
|
578 |
+
<returnshipment_name1>
|
579 |
+
<label>Name of Receiver</label>
|
580 |
+
<frontend_type>text</frontend_type>
|
581 |
+
<validate>required-entry validate-length maximum-length-50</validate>
|
582 |
+
<sort_order>820</sort_order>
|
583 |
+
<show_in_default>1</show_in_default>
|
584 |
+
<show_in_website>1</show_in_website>
|
585 |
+
<show_in_store>0</show_in_store>
|
586 |
+
<depends>
|
587 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
588 |
+
</depends>
|
589 |
+
</returnshipment_name1>
|
590 |
+
<returnshipment_name2>
|
591 |
+
<label>Name of Company</label>
|
592 |
+
<frontend_type>text</frontend_type>
|
593 |
+
<validate>validate-length maximum-length-50</validate>
|
594 |
+
<sort_order>821</sort_order>
|
595 |
+
<show_in_default>1</show_in_default>
|
596 |
+
<show_in_website>1</show_in_website>
|
597 |
+
<show_in_store>0</show_in_store>
|
598 |
+
<depends>
|
599 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
600 |
+
</depends>
|
601 |
+
</returnshipment_name2>
|
602 |
+
<returnshipment_name3>
|
603 |
+
<label>Name of Company (2)</label>
|
604 |
+
<frontend_type>text</frontend_type>
|
605 |
+
<validate>validate-length maximum-length-50</validate>
|
606 |
+
<sort_order>822</sort_order>
|
607 |
+
<show_in_default>1</show_in_default>
|
608 |
+
<show_in_website>1</show_in_website>
|
609 |
+
<show_in_store>0</show_in_store>
|
610 |
+
<depends>
|
611 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
612 |
+
</depends>
|
613 |
+
</returnshipment_name3>
|
614 |
+
<returnshipment_streetname>
|
615 |
+
<label>Street Name</label>
|
616 |
+
<frontend_type>text</frontend_type>
|
617 |
+
<validate>required-entry validate-length maximum-length-35</validate>
|
618 |
+
<sort_order>830</sort_order>
|
619 |
+
<show_in_default>1</show_in_default>
|
620 |
+
<show_in_website>1</show_in_website>
|
621 |
+
<show_in_store>0</show_in_store>
|
622 |
+
<depends>
|
623 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
624 |
+
</depends>
|
625 |
+
</returnshipment_streetname>
|
626 |
+
<returnshipment_streetnumber>
|
627 |
+
<label>House number</label>
|
628 |
+
<frontend_type>text</frontend_type>
|
629 |
+
<validate>required-entry validate-length maximum-length-5</validate>
|
630 |
+
<sort_order>831</sort_order>
|
631 |
+
<show_in_default>1</show_in_default>
|
632 |
+
<show_in_website>1</show_in_website>
|
633 |
+
<show_in_store>0</show_in_store>
|
634 |
+
<depends>
|
635 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
636 |
+
</depends>
|
637 |
+
</returnshipment_streetnumber>
|
638 |
+
<returnshipment_addition>
|
639 |
+
<label>Address Addition</label>
|
640 |
+
<frontend_type>text</frontend_type>
|
641 |
+
<validate>validate-length maximum-length-35</validate>
|
642 |
+
<sort_order>832</sort_order>
|
643 |
+
<show_in_default>1</show_in_default>
|
644 |
+
<show_in_website>1</show_in_website>
|
645 |
+
<show_in_store>0</show_in_store>
|
646 |
+
<depends>
|
647 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
648 |
+
</depends>
|
649 |
+
</returnshipment_addition>
|
650 |
+
<returnshipment_dispatchinfo>
|
651 |
+
<label>Dispatching Information</label>
|
652 |
+
<frontend_type>text</frontend_type>
|
653 |
+
<validate>validate-length maximum-length-35</validate>
|
654 |
+
<sort_order>833</sort_order>
|
655 |
+
<show_in_default>1</show_in_default>
|
656 |
+
<show_in_website>1</show_in_website>
|
657 |
+
<show_in_store>0</show_in_store>
|
658 |
+
<depends>
|
659 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
660 |
+
</depends>
|
661 |
+
</returnshipment_dispatchinfo>
|
662 |
+
<returnshipment_zip>
|
663 |
+
<label>Zip Code</label>
|
664 |
+
<frontend_type>text</frontend_type>
|
665 |
+
<validate>required-entry validate-length maximum-length-10</validate>
|
666 |
+
<sort_order>840</sort_order>
|
667 |
+
<show_in_default>1</show_in_default>
|
668 |
+
<show_in_website>1</show_in_website>
|
669 |
+
<show_in_store>0</show_in_store>
|
670 |
+
<depends>
|
671 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
672 |
+
</depends>
|
673 |
+
</returnshipment_zip>
|
674 |
+
<returnshipment_city>
|
675 |
+
<label>City</label>
|
676 |
+
<frontend_type>text</frontend_type>
|
677 |
+
<validate>required-entry validate-length maximum-length-35</validate>
|
678 |
+
<sort_order>841</sort_order>
|
679 |
+
<show_in_default>1</show_in_default>
|
680 |
+
<show_in_website>1</show_in_website>
|
681 |
+
<show_in_store>0</show_in_store>
|
682 |
+
<depends>
|
683 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
684 |
+
</depends>
|
685 |
+
</returnshipment_city>
|
686 |
+
<returnshipment_countryid>
|
687 |
+
<label>Country</label>
|
688 |
+
<frontend_type>select</frontend_type>
|
689 |
+
<source_model>adminhtml/system_config_source_country</source_model>
|
690 |
+
<validate>required-entry</validate>
|
691 |
+
<sort_order>842</sort_order>
|
692 |
+
<show_in_default>1</show_in_default>
|
693 |
+
<show_in_website>1</show_in_website>
|
694 |
+
<show_in_store>0</show_in_store>
|
695 |
+
<depends>
|
696 |
+
<returnshipment_use_shipper>0</returnshipment_use_shipper>
|
697 |
+
</depends>
|
698 |
+
</returnshipment_countryid>
|
699 |
+
</fields>
|
700 |
+
</dhlversenden>
|
701 |
+
</groups>
|
702 |
+
</carriers>
|
703 |
+
</sections>
|
704 |
+
</config>
|
app/code/community/Dhl/Versenden/sql/dhl_versenden_setup/install-0.1.0.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl_Versenden
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
|
27 |
+
$installer = Mage::getResourceModel('sales/setup', 'sales_setup');
|
28 |
+
|
29 |
+
$attributeCode = 'dhl_versenden_info';
|
30 |
+
$installer->addAttribute('quote_address', $attributeCode, array('type' => 'text'));
|
31 |
+
$installer->addAttribute('order_address', $attributeCode, array('type' => 'text'));
|
app/design/adminhtml/default/default/layout/dhl_versenden.xml
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Dhl Versenden
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* PHP version 5
|
19 |
+
*
|
20 |
+
* @category design
|
21 |
+
* @package default_default
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<layout version="0.1.0">
|
29 |
+
<packaging_popup>
|
30 |
+
<reference name="head">
|
31 |
+
<action method="addCss">
|
32 |
+
<stylesheet>dhl_versenden.css</stylesheet>
|
33 |
+
</action>
|
34 |
+
</reference>
|
35 |
+
|
36 |
+
<reference name="form">
|
37 |
+
<!-- packaging popup -->
|
38 |
+
<block type="dhl_versenden/adminhtml_sales_order_shipment_packaging"
|
39 |
+
name="shipment_packaging"
|
40 |
+
template="sales/order/shipment/packaging/popup.phtml">
|
41 |
+
<action method="setTemplate">
|
42 |
+
<template helper="dhl_versenden/data/getPackagingPopupTemplate">
|
43 |
+
<name>dhl_versenden/sales/packaging_popup.phtml</name>
|
44 |
+
<block>shipment_packaging</block>
|
45 |
+
</template>
|
46 |
+
</action>
|
47 |
+
<block type="dhl_versenden/adminhtml_sales_order_shipment_service_edit"
|
48 |
+
name="shipping_services"
|
49 |
+
template="dhl_versenden/sales/shipping_services.phtml"/>
|
50 |
+
<block type="dhl_versenden/adminhtml_sales_order_shipment_customs"
|
51 |
+
name="shipping_customs"
|
52 |
+
template="dhl_versenden/sales/shipping_customs.phtml"/>
|
53 |
+
</block>
|
54 |
+
|
55 |
+
<!-- packaging info -->
|
56 |
+
<block type="dhl_versenden/adminhtml_sales_order_shipment_packaging"
|
57 |
+
name="shipment_packed"
|
58 |
+
template="sales/order/shipment/packaging/packed.phtml">
|
59 |
+
<action method="setTemplate">
|
60 |
+
<template helper="dhl_versenden/data/getPackagingPackedTemplate">
|
61 |
+
<name>dhl_versenden/sales/packaging_packed.phtml</name>
|
62 |
+
<block>shipment_packed</block>
|
63 |
+
</template>
|
64 |
+
</action>
|
65 |
+
<block type="dhl_versenden/adminhtml_sales_order_shipment_service_view"
|
66 |
+
name="shipping_services"
|
67 |
+
template="dhl_versenden/sales/shipping_services.phtml"/>
|
68 |
+
</block>
|
69 |
+
</reference>
|
70 |
+
</packaging_popup>
|
71 |
+
|
72 |
+
<adminhtml_sales_order_shipment_new>
|
73 |
+
<update handle="packaging_popup"/>
|
74 |
+
</adminhtml_sales_order_shipment_new>
|
75 |
+
|
76 |
+
<adminhtml_sales_order_shipment_view>
|
77 |
+
<update handle="packaging_popup"/>
|
78 |
+
</adminhtml_sales_order_shipment_view>
|
79 |
+
|
80 |
+
<adminhtml_sales_order_address>
|
81 |
+
<reference name="sales_order_address.form.container">
|
82 |
+
<!-- Added via observer if conditions apply -->
|
83 |
+
<block type="dhl_versenden/adminhtml_sales_order_address_form" name="dhl_versenden_form" />
|
84 |
+
</reference>
|
85 |
+
</adminhtml_sales_order_address>
|
86 |
+
</layout>
|
app/design/adminhtml/default/default/template/dhl_versenden/sales/packaging_grid.phtml
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package default_default
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging_Grid $this */ ?>
|
28 |
+
<div>
|
29 |
+
<div class="grid">
|
30 |
+
<div class="hor-scroll">
|
31 |
+
<table cellspacing="0" class="data">
|
32 |
+
<thead>
|
33 |
+
<tr class="headings">
|
34 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Customs Description') ?></span></th>
|
35 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Country of Origin') ?></span></th>
|
36 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Tariff Number') ?></span></th>
|
37 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Weight') ?></span></th>
|
38 |
+
<th class="no-link" width="100"><span class="nobr"><?php echo $this->helper('sales')->__('Customs Value') ?></span></th>
|
39 |
+
<th class="a-center no-link" width="100">
|
40 |
+
<span class="nobr">
|
41 |
+
<input type="checkbox" name="" onclick="packaging.checkAllItems(this);"
|
42 |
+
class="checkbox" title="<?php echo $this->helper('sales')->__('Select All') ?>">
|
43 |
+
</span>
|
44 |
+
</th>
|
45 |
+
<th class=" no-link" width="100"><span class="nobr"><?php echo $this->helper('sales')->__('Qty Ordered') ?></span></th>
|
46 |
+
<th class="no-link last" width="100"><span class="nobr"><?php echo $this->helper('sales')->__('Qty') ?></span></th>
|
47 |
+
</tr>
|
48 |
+
</thead>
|
49 |
+
|
50 |
+
<tbody>
|
51 |
+
<?php /** @var Mage_Sales_Model_Order_Shipment_Item $item */ ?>
|
52 |
+
<?php /** @var Mage_Sales_Model_Order_Item $_orderItem */ ?>
|
53 |
+
<?php foreach($this->getCollection() as $item): ?>
|
54 |
+
<?php $_order = $this->getShipment()->getOrder() ?>
|
55 |
+
<?php $_orderItem = $_order->getItemById($item->getOrderItemId()); ?>
|
56 |
+
<?php if ($item->getIsVirtual()
|
57 |
+
|| ($_orderItem->isShipSeparately() && !($_orderItem->getParentItemId() || $_orderItem->getParentItem()))
|
58 |
+
|| (!$_orderItem->isShipSeparately() && ($_orderItem->getParentItemId() || $_orderItem->getParentItem()))): ?>
|
59 |
+
<?php continue; ?>
|
60 |
+
<?php endif; ?>
|
61 |
+
<tr title="#" id="" class="">
|
62 |
+
<td class="name">
|
63 |
+
<input name="customs_description"
|
64 |
+
type="text" title="<?php echo $this->__('Customs Description') ?>"
|
65 |
+
class="input-text required-entry validate-length maximum-length-256" maxlength="256"
|
66 |
+
value="<?php echo $this->escapeHtml($item->getName()); ?>" />
|
67 |
+
</td>
|
68 |
+
<td class="country-of-origin">
|
69 |
+
<select name="customs_origin"
|
70 |
+
title="<?php echo $this->__('Country of Origin') ?>">
|
71 |
+
<?php $selectedCountry = $this->getCountryOfManufacture($_orderItem->getProductId()); ?>
|
72 |
+
<?php foreach ($this->getCountries() as $countryInfo): ?>
|
73 |
+
<option value="<?php echo $countryInfo['value'] ?>" <?php if ($countryInfo['value'] == $selectedCountry): echo 'selected="selected"'; endif; ?>>
|
74 |
+
<?php echo $countryInfo['label']; ?>
|
75 |
+
</option>
|
76 |
+
<?php endforeach; ?>
|
77 |
+
</select>
|
78 |
+
</td>
|
79 |
+
<td class="tariff-number">
|
80 |
+
<input name="customs_tariff_number"
|
81 |
+
type="text" class="input-text required-entry validate-length maximum-length-10"
|
82 |
+
title="<?php echo $this->__('Tariff Number') ?>" maxlength="10" />
|
83 |
+
</td>
|
84 |
+
<td class="a-center weight ">
|
85 |
+
<?php echo $item->getWeight(); ?>
|
86 |
+
</td>
|
87 |
+
<td>
|
88 |
+
<input type="text" name="customs_value" class="input-text validate-zero-or-greater"
|
89 |
+
value="<?php echo $this->formatPrice($item->getPrice()); ?>" size="10"
|
90 |
+
onblur="packaging.recalcContainerWeightAndCustomsValue(this);">
|
91 |
+
</td>
|
92 |
+
<td class="a-center ">
|
93 |
+
<input type="checkbox" name="" value="<?php echo $item->getId() ? $item->getId() : $item->getOrderItemId(); ?>" class="checkbox">
|
94 |
+
</td>
|
95 |
+
<td class="a-center ">
|
96 |
+
<?php echo $item->getOrderItem()->getQtyOrdered()*1; ?>
|
97 |
+
</td>
|
98 |
+
<td class="a-right last">
|
99 |
+
<input type="hidden" name="price" value="<?php echo $item->getPrice(); ?>">
|
100 |
+
<input type="text" name="qty" value="<?php echo $item->getQty()*1; ?>" class="input-text qty<?php if ($item->getOrderItem()->getIsQtyDecimal()): ?> qty-decimal<?php endif ?>">
|
101 |
+
<button type="button" class="scalable delete icon-btn" onclick="packaging.deleteItem(this);" style="display:none;">
|
102 |
+
<span><span><span><?php echo $this->helper('sales')->__('Delete') ?></span></span></span>
|
103 |
+
</button>
|
104 |
+
</td>
|
105 |
+
</tr>
|
106 |
+
<?php endforeach; ?>
|
107 |
+
</tbody>
|
108 |
+
</table>
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
</div>
|
app/design/adminhtml/default/default/template/dhl_versenden/sales/packaging_packed.phtml
ADDED
@@ -0,0 +1,216 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package default_default
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var $this Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging */ ?>
|
28 |
+
<div id="packed_window" style="display:none;" class="packed-window">
|
29 |
+
<div class="entry-edit">
|
30 |
+
<div class="entry-edit-head">
|
31 |
+
<h4 class="icon-head fieldset-legend"><?php echo Mage::helper('sales')->__('Packages') ?></h4>
|
32 |
+
</div>
|
33 |
+
<?php echo $this->getChildHtml('shipping_services'); ?>
|
34 |
+
<div class="packed-content">
|
35 |
+
<?php foreach ($this->getPackages() as $packageId => $package): ?>
|
36 |
+
<div class="package">
|
37 |
+
<?php $package = new Varien_Object($package) ?>
|
38 |
+
<?php $params = new Varien_Object($package->getParams()) ?>
|
39 |
+
<h4><?php echo Mage::helper('sales')->__('Package') . ' ' . $packageId ?></h4>
|
40 |
+
<div class="package-info">
|
41 |
+
<table class="package-options" cellspacing="0">
|
42 |
+
<colgroup>
|
43 |
+
<col width="80"/>
|
44 |
+
<col width="*"/>
|
45 |
+
<col width="60"/>
|
46 |
+
<col width="70"/>
|
47 |
+
<col width="140"/>
|
48 |
+
<col width="*"/>
|
49 |
+
</colgroup>
|
50 |
+
<tbody>
|
51 |
+
<tr>
|
52 |
+
<th><?php echo Mage::helper('sales')->__('Type') ?></th>
|
53 |
+
<td><?php echo $this->getContainerTypeByCode($params->getContainer()) ?></td>
|
54 |
+
<th><?php echo Mage::helper('sales')->__('Length') ?></th>
|
55 |
+
<td>
|
56 |
+
<?php if ($params->getLength() != null): ?>
|
57 |
+
<?php echo $params->getLength() .' '. Mage::helper('usa')->getMeasureDimensionName($params->getDimensionUnits()) ?>
|
58 |
+
<?php else: ?>
|
59 |
+
--
|
60 |
+
<?php endif; ?>
|
61 |
+
</td>
|
62 |
+
<?php if ($params->getDeliveryConfirmation() != null): ?>
|
63 |
+
<th><?php echo Mage::helper('sales')->__('Signature Confirmation') ?></th>
|
64 |
+
<td><?php echo $this->getDeliveryConfirmationTypeByCode($params->getDeliveryConfirmation()) ?></td>
|
65 |
+
<?php else: ?>
|
66 |
+
<th> </th>
|
67 |
+
<td> </td>
|
68 |
+
<?php endif; ?>
|
69 |
+
</tr>
|
70 |
+
<tr>
|
71 |
+
<?php if ($this->displayCustomsValue()): ?>
|
72 |
+
<th><?php echo Mage::helper('sales')->__('Customs Value') ?></th>
|
73 |
+
<td><?php echo $this->displayCustomsPrice($params->getCustomsValue()) ?></td>
|
74 |
+
<?php else: ?>
|
75 |
+
<th><?php echo Mage::helper('sales')->__('Total Weight') ?></th>
|
76 |
+
<td><?php echo $params->getWeight() .' '. Mage::helper('usa')->getMeasureWeightName($params->getWeightUnits()) ?></td>
|
77 |
+
<?php endif; ?>
|
78 |
+
<th><?php echo Mage::helper('sales')->__('Width') ?></th>
|
79 |
+
<td>
|
80 |
+
<?php if ($params->getWidth() != null): ?>
|
81 |
+
<?php echo $params->getWidth() .' '. Mage::helper('usa')->getMeasureDimensionName($params->getDimensionUnits()) ?>
|
82 |
+
<?php else: ?>
|
83 |
+
--
|
84 |
+
<?php endif; ?>
|
85 |
+
</td>
|
86 |
+
<?php if ($params->getContentType() != null): ?>
|
87 |
+
<th><?php echo Mage::helper('sales')->__('Contents') ?></th>
|
88 |
+
<?php if ($params->getContentType() == 'OTHER'): ?>
|
89 |
+
<td><?php echo $this->escapeHtml($params->getContentTypeOther()) ?></td>
|
90 |
+
<?php else: ?>
|
91 |
+
<td><?php echo $this->getContentTypeByCode($params->getContentType()) ?></td>
|
92 |
+
<?php endif; ?>
|
93 |
+
<?php else: ?>
|
94 |
+
<th> </th>
|
95 |
+
<td> </td>
|
96 |
+
<?php endif; ?>
|
97 |
+
</tr>
|
98 |
+
<tr>
|
99 |
+
<?php if ($this->displayCustomsValue()): ?>
|
100 |
+
<th><?php echo Mage::helper('sales')->__('Total Weight') ?></th>
|
101 |
+
<td><?php echo $params->getWeight() .' '. Mage::helper('usa')->getMeasureWeightName($params->getWeightUnits()) ?></td>
|
102 |
+
<?php else: ?>
|
103 |
+
<th> </th>
|
104 |
+
<td> </td>
|
105 |
+
<?php endif; ?>
|
106 |
+
<th><?php echo Mage::helper('sales')->__('Height') ?></th>
|
107 |
+
<td>
|
108 |
+
<?php if ($params->getHeight() != null): ?>
|
109 |
+
<?php echo $params->getHeight() .' '. Mage::helper('usa')->getMeasureDimensionName($params->getDimensionUnits()) ?>
|
110 |
+
<?php else: ?>
|
111 |
+
--
|
112 |
+
<?php endif; ?>
|
113 |
+
<td>
|
114 |
+
<th> </th>
|
115 |
+
<td> </td>
|
116 |
+
</tr>
|
117 |
+
<tr>
|
118 |
+
<?php if ($params->getSize()): ?>
|
119 |
+
<th><?php echo Mage::helper('sales')->__('Size') ?></th>
|
120 |
+
<td><?php echo ucfirst(strtolower($params->getSize())) ?></td>
|
121 |
+
<?php else: ?>
|
122 |
+
<th> </th>
|
123 |
+
<td> </td>
|
124 |
+
<?php endif; ?>
|
125 |
+
<?php if ($params->getGirth()): ?>
|
126 |
+
<th><?php echo Mage::helper('sales')->__('Girth') ?></th>
|
127 |
+
<td><?php echo $params->getGirth() .' '. Mage::helper('usa')->getMeasureDimensionName($params->getGirthDimensionUnits()) ?></td>
|
128 |
+
<?php else: ?>
|
129 |
+
<th> </th>
|
130 |
+
<td> </td>
|
131 |
+
<?php endif; ?>
|
132 |
+
<th> </th>
|
133 |
+
<td> </td>
|
134 |
+
</tr>
|
135 |
+
</tbody>
|
136 |
+
</table>
|
137 |
+
</div>
|
138 |
+
<strong><?php echo Mage::helper('sales')->__('Items in the Package') ?></strong>
|
139 |
+
<div class="grid">
|
140 |
+
<div class="hor-scroll">
|
141 |
+
<table cellspacing="0" class="data">
|
142 |
+
<colgroup>
|
143 |
+
<col>
|
144 |
+
<col width="100">
|
145 |
+
<?php if ($this->displayCustomsValue()): ?>
|
146 |
+
<col width="100">
|
147 |
+
<?php endif; ?>
|
148 |
+
<col width="100">
|
149 |
+
<col width="100">
|
150 |
+
</colgroup>
|
151 |
+
<thead>
|
152 |
+
<tr class="headings">
|
153 |
+
<th class=" no-link"><span class="nobr"><?php echo Mage::helper('sales')->__('Product') ?></span></th>
|
154 |
+
<th class=" no-link"><span class="nobr"><?php echo Mage::helper('sales')->__('Weight') ?></span></th>
|
155 |
+
<?php if ($this->displayCustomsValue()): ?>
|
156 |
+
<th class=" no-link"><span class="nobr"><?php echo Mage::helper('sales')->__('Customs Value') ?></span></th>
|
157 |
+
<?php endif; ?>
|
158 |
+
<th class=" no-link"><span class="nobr"><?php echo Mage::helper('sales')->__('Qty Ordered') ?></span></th>
|
159 |
+
<th class=" no-link last"><span class="nobr"><?php echo Mage::helper('sales')->__('Qty') ?></span></th>
|
160 |
+
</tr>
|
161 |
+
</thead>
|
162 |
+
|
163 |
+
<tbody id="">
|
164 |
+
<?php foreach($package->getItems() as $itemId => $item) : ?>
|
165 |
+
<?php $item = new Varien_Object($item) ?>
|
166 |
+
<tr title="#" id="" class="">
|
167 |
+
<td class="name">
|
168 |
+
<?php echo $item->getName(); ?>
|
169 |
+
</td>
|
170 |
+
<td class="a-center weight ">
|
171 |
+
<?php echo $item->getWeight(); ?>
|
172 |
+
</td>
|
173 |
+
<?php if ($this->displayCustomsValue()): ?>
|
174 |
+
<td class="a-right"><?php echo $this->displayCustomsPrice($item->getCustomsValue()) ?></td>
|
175 |
+
<?php endif; ?>
|
176 |
+
<td class="a-right">
|
177 |
+
<?php echo $this->getQtyOrderedItem($item->getOrderItemId()); ?>
|
178 |
+
</td>
|
179 |
+
<td class="a-right last">
|
180 |
+
<?php echo $item->getQty()*1; ?>
|
181 |
+
</td>
|
182 |
+
</tr>
|
183 |
+
<?php endforeach; ?>
|
184 |
+
</tbody>
|
185 |
+
</table>
|
186 |
+
</div>
|
187 |
+
</div>
|
188 |
+
</div>
|
189 |
+
<?php endforeach; ?>
|
190 |
+
</div>
|
191 |
+
<div class="buttons-set a-right">
|
192 |
+
<?php echo $this->getPrintButton() ?>
|
193 |
+
<button type="button" class="scalable SavePackagesBtn save" onclick="hidePackedWindow();" title="<?php echo Mage::helper('sales')->__('Products should be added to package(s)')?>">
|
194 |
+
<span><span><span><?php echo Mage::helper('sales')->__('OK') ?></span></span></span>
|
195 |
+
</button>
|
196 |
+
</div>
|
197 |
+
</div>
|
198 |
+
</div>
|
199 |
+
|
200 |
+
<script type="text/javascript">
|
201 |
+
//<![CDATA[
|
202 |
+
function showPackedWindow() {
|
203 |
+
var window = $('packed_window');
|
204 |
+
window.show().setStyle({
|
205 |
+
'marginLeft': -window.getDimensions().width/2 + 'px'
|
206 |
+
});
|
207 |
+
$('popup-window-mask').setStyle({
|
208 |
+
height: $('html-body').getHeight() + 'px'
|
209 |
+
}).show();
|
210 |
+
}
|
211 |
+
function hidePackedWindow() {
|
212 |
+
$('packed_window').hide();
|
213 |
+
$('popup-window-mask').hide();
|
214 |
+
}
|
215 |
+
//]]>
|
216 |
+
</script>
|
app/design/adminhtml/default/default/template/dhl_versenden/sales/packaging_popup.phtml
ADDED
@@ -0,0 +1,231 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package default_default
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var $this Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Packaging */ ?>
|
28 |
+
<script type="text/javascript">
|
29 |
+
//<![CDATA[
|
30 |
+
document.observe("dom:loaded", function() {
|
31 |
+
packaging = new Packaging(<?php echo $this->getConfigDataJson() ?>);
|
32 |
+
packaging.changeContainerType($$('select[name=package_container]')[0]);
|
33 |
+
|
34 |
+
packaging.confirmPackagingWithServices = function () {
|
35 |
+
var requestData = {};
|
36 |
+
|
37 |
+
var serviceContainer = $('packaging-dhlversenden-services');
|
38 |
+
if (serviceContainer) {
|
39 |
+
serviceContainer.select('input[type=checkbox]', 'input[type=text]', 'select', 'input[type=radio]:checked').each(function (elm) {
|
40 |
+
this[elm.name] = elm.getValue();
|
41 |
+
}, requestData);
|
42 |
+
}
|
43 |
+
|
44 |
+
var customsContainer = $('packaging-dhlversenden-customs');
|
45 |
+
if (customsContainer) {
|
46 |
+
customsContainer.select('input[type=checkbox]', 'input[type=text]', 'select').each(function (elm) {
|
47 |
+
this[elm.name] = elm.getValue();
|
48 |
+
}, requestData);
|
49 |
+
|
50 |
+
for (var packageId in packaging.packages) {
|
51 |
+
if (!isNaN(packageId)) {
|
52 |
+
for (var packedItemId in packaging.packages[packageId]['items']) {
|
53 |
+
if (!isNaN(packedItemId)) {
|
54 |
+
$('package_block_' + packageId).select('.package_items .grid tbody tr').each(function (packedItemRow) {
|
55 |
+
var itemId = packedItemRow.select('[type="checkbox"]')[0].value;
|
56 |
+
if (itemId == packedItemId) {
|
57 |
+
requestData['packages['+packageId+']'+'[items]'+'['+packedItemId+']'+'[customs]'+'[description]']
|
58 |
+
= packedItemRow.select("input[name=customs_description]")[0].value;
|
59 |
+
requestData['packages['+packageId+']'+'[items]'+'['+packedItemId+']'+'[customs]'+'[country_of_origin]']
|
60 |
+
= packedItemRow.select("select[name=customs_origin]")[0].value;
|
61 |
+
requestData['packages['+packageId+']'+'[items]'+'['+packedItemId+']'+'[customs]'+'[tariff_number]']
|
62 |
+
= packedItemRow.select("input[name=customs_tariff_number]")[0].value;
|
63 |
+
}
|
64 |
+
});
|
65 |
+
}
|
66 |
+
}
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
// add service and customs info to ajax request
|
72 |
+
packaging.setParamsCreateLabelRequest(requestData);
|
73 |
+
packaging.confirmPackaging();
|
74 |
+
};
|
75 |
+
});
|
76 |
+
//]]>
|
77 |
+
</script>
|
78 |
+
<div id="popup-window-mask" style="display:none;"></div>
|
79 |
+
<div id="packaging_window" class="packaging-window" style="display:none;">
|
80 |
+
<div class="entry-edit">
|
81 |
+
<div class="entry-edit-head">
|
82 |
+
<button type="button" class="disabled scalable AddPackageBtn" onclick="return false;">
|
83 |
+
<span><span><span><?php echo Mage::helper('sales')->__('Add Package') ?></span></span></span>
|
84 |
+
</button>
|
85 |
+
<h4 class="icon-head fieldset-legend"><?php echo Mage::helper('sales')->__('Create Packages') ?></h4>
|
86 |
+
</div>
|
87 |
+
<div class="packaging-content">
|
88 |
+
<div class="messages" style="display:none;"></div>
|
89 |
+
<div id="package_template" style="display:none;">
|
90 |
+
<div class="package-number"><?php echo Mage::helper('sales')->__('Package') ?><span></span></div>
|
91 |
+
<table class="package-options" cellspacing="0">
|
92 |
+
<?php $customsValueStyle = $this->displayCustomsValue() ? '' : 'style="display: none;"' ?>
|
93 |
+
<thead>
|
94 |
+
<th style="display: none;">
|
95 |
+
<label for="package_container"><?php echo Mage::helper('sales')->__('Type') ?></label>
|
96 |
+
</th>
|
97 |
+
<th <?php echo $customsValueStyle ?>>
|
98 |
+
<label for="package_customs_value"><?php echo Mage::helper('sales')->__('Customs Value') ?></label>
|
99 |
+
</th>
|
100 |
+
<th><?php echo Mage::helper('sales')->__('Total Weight') ?></th>
|
101 |
+
<th><?php echo Mage::helper('sales')->__('Length') ?></th>
|
102 |
+
<th><?php echo Mage::helper('sales')->__('Width') ?></th>
|
103 |
+
<th><?php echo Mage::helper('sales')->__('Height') ?></th>
|
104 |
+
<th> </th>
|
105 |
+
<?php if ($this->getDeliveryConfirmationTypes()): ?>
|
106 |
+
<th><?php echo Mage::helper('sales')->__('Signature Confirmation') ?></th>
|
107 |
+
<?php endif; ?>
|
108 |
+
<th> </th>
|
109 |
+
<th> </th>
|
110 |
+
</thead>
|
111 |
+
<tbody>
|
112 |
+
<td style="display: none;">
|
113 |
+
<?php $containers = $this->getContainers(); ?>
|
114 |
+
<select id="package_container" name="package_container"
|
115 |
+
onchange="packaging.changeContainerType(this);">
|
116 |
+
<?php foreach ($this->getContainers() as $key => $value): ?>
|
117 |
+
<option value="<?php echo $key ?>" >
|
118 |
+
<?php echo $value ?>
|
119 |
+
</option>
|
120 |
+
<?php endforeach; ?>
|
121 |
+
</select>
|
122 |
+
</td>
|
123 |
+
<?php $customsValueValidation = $this->displayCustomsValue() ? 'validate-zero-or-greater' : '' ?>
|
124 |
+
<td <?php echo $customsValueStyle ?>>
|
125 |
+
<input id="package_customs_value" type="text" class="customs-value input-text <?php echo $customsValueValidation ?>" name="package_customs_value" />
|
126 |
+
<span class="customs-value-currency">[<?php echo $this->getCustomValueCurrencyCode(); ?>]</span>
|
127 |
+
</td>
|
128 |
+
<td>
|
129 |
+
<?php $weightOptions = $this->getWeightUnits(); ?>
|
130 |
+
<input type="text" class="options-weight input-text required-entry validate-greater-than-zero" name="container_weight" />
|
131 |
+
<select name="container_weight_units" class="options-units-weight measures" onchange="packaging.changeMeasures(this);">
|
132 |
+
<?php foreach ($this->getWeightUnits() as $value => $label): ?>
|
133 |
+
<?php $label = Mage::helper('sales')->__(strtolower($value)); ?>
|
134 |
+
<?php $selected = ($value == $this->getStoreUnit()) ? 'selected="selected"' : ''; ?>
|
135 |
+
<option value="<?php echo $value ?>" <?php echo $selected ?>><?php echo $label ?></option>
|
136 |
+
<?php endforeach; ?>
|
137 |
+
</select>
|
138 |
+
</td>
|
139 |
+
<td>
|
140 |
+
<input type="text" class="input-text validate-greater-than-zero" name="container_length" />
|
141 |
+
</td>
|
142 |
+
<td>
|
143 |
+
<input type="text" class="input-text validate-greater-than-zero" name="container_width" />
|
144 |
+
</td>
|
145 |
+
<td>
|
146 |
+
<input type="text" class="input-text validate-greater-than-zero" name="container_height" />
|
147 |
+
</td>
|
148 |
+
<td>
|
149 |
+
<select name="container_dimension_units" class="options-units-dimensions measures" onchange="packaging.changeMeasures(this);">
|
150 |
+
<option value="<?php echo Zend_Measure_Length::CENTIMETER ?>" ><?php echo Mage::helper('sales')->__('cm') ?></option>
|
151 |
+
</select>
|
152 |
+
</td>
|
153 |
+
<?php if ($this->getDeliveryConfirmationTypes()): ?>
|
154 |
+
<td>
|
155 |
+
<select name="delivery_confirmation_types">
|
156 |
+
<?php foreach ($this->getDeliveryConfirmationTypes() as $key => $value): ?>
|
157 |
+
<option value="<?php echo $key ?>" >
|
158 |
+
<?php echo $value ?>
|
159 |
+
</option>
|
160 |
+
<?php endforeach; ?>
|
161 |
+
</select>
|
162 |
+
</td>
|
163 |
+
<?php endif; ?>
|
164 |
+
<td>
|
165 |
+
<button type="button" class="scalable AddItemsBtn" onclick="packaging.getItemsForPack(this);">
|
166 |
+
<span><span><span><?php echo Mage::helper('sales')->__('Add Products') ?></span></span></span>
|
167 |
+
</button>
|
168 |
+
</td>
|
169 |
+
<td>
|
170 |
+
<button type="button" class="disabled scalable DeletePackageBtn" onclick="return false;">
|
171 |
+
<span><span><span><?php echo Mage::helper('sales')->__('Delete Package') ?></span></span></span>
|
172 |
+
</button>
|
173 |
+
</td>
|
174 |
+
</tbody>
|
175 |
+
</table>
|
176 |
+
|
177 |
+
<?php if ($this->getContentTypes() && $this->displayCustomsValue()): ?>
|
178 |
+
<table class="package-options package-options-contents" cellspacing="0">
|
179 |
+
<colgroup>
|
180 |
+
<col width="150">
|
181 |
+
<col width="*">
|
182 |
+
</colgroup>
|
183 |
+
<thead>
|
184 |
+
<th><?php echo Mage::helper('sales')->__('Contents') ?></th>
|
185 |
+
<th><?php echo Mage::helper('sales')->__('Explanation') ?></th>
|
186 |
+
</thead>
|
187 |
+
<tbody>
|
188 |
+
<td>
|
189 |
+
<select name="content_type" onchange="packaging.changeContentTypes(this);">
|
190 |
+
<?php foreach ($this->getContentTypes() as $key => $value): ?>
|
191 |
+
<option value="<?php echo $key ?>" >
|
192 |
+
<?php echo $value ?>
|
193 |
+
</option>
|
194 |
+
<?php endforeach; ?>
|
195 |
+
</select>
|
196 |
+
</td>
|
197 |
+
<td>
|
198 |
+
<input name="content_type_other" type="text" class="input-text options-content-type disabled" disabled="disabled" />
|
199 |
+
</td>
|
200 |
+
</tbody>
|
201 |
+
</table>
|
202 |
+
<?php endif; ?>
|
203 |
+
|
204 |
+
<div class="package-add-products">
|
205 |
+
<div class="package_prapare" style="display:none">
|
206 |
+
<div class="entry-edit-head">
|
207 |
+
<button type="button" class="scalable AddSelectedBtn" onclick="packaging.packItems(this);">
|
208 |
+
<span><span><span><?php echo Mage::helper('sales')->__('Add Selected Product(s) to Package') ?></span></span></span>
|
209 |
+
</button>
|
210 |
+
<h4><?php echo Mage::helper('sales')->__('Please Select Products to Add') ?></h4>
|
211 |
+
</div>
|
212 |
+
<div class="grid_prepare"></div>
|
213 |
+
</div>
|
214 |
+
</div>
|
215 |
+
</div>
|
216 |
+
<?php echo $this->getChildHtml('shipping_services'); ?>
|
217 |
+
<?php if ($this->displayCustomsValue()): ?>
|
218 |
+
<?php echo $this->getChildHtml('shipping_customs'); ?>
|
219 |
+
<?php endif; ?>
|
220 |
+
<div id="packages_content"></div>
|
221 |
+
</div>
|
222 |
+
<div class="buttons-set a-right">
|
223 |
+
<button type="button" class="scalable disabled SavePackagesBtn" disabled="disabled" onclick="packaging.confirmPackagingWithServices();" title="<?php echo Mage::helper('sales')->__('Products should be added to package(s)')?>">
|
224 |
+
<span><span><span><?php echo $this->__('OK') ?></span></span></span>
|
225 |
+
</button>
|
226 |
+
<button type="button" class="scalable" onclick="packaging.cancelPackaging();">
|
227 |
+
<span><span><span><?php echo $this->__('Cancel') ?></span></span></span>
|
228 |
+
</button>
|
229 |
+
</div>
|
230 |
+
</div>
|
231 |
+
</div>
|
app/design/adminhtml/default/default/template/dhl_versenden/sales/shipping_customs.phtml
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package default_default
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Customs $this */ ?>
|
28 |
+
<div id="packaging-dhlversenden-customs">
|
29 |
+
<div><?php echo $this->__('Customs Declaration') ?></div>
|
30 |
+
<table cellspacing="0" class="data">
|
31 |
+
<thead>
|
32 |
+
<tr class="headings">
|
33 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Terms of Trade') ?></span></th>
|
34 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Additional Fee') ?></span></th>
|
35 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Place of Commital') ?></span></th>
|
36 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Permit Number') ?></span></th>
|
37 |
+
<th class="no-link"><span class="nobr"><?php echo $this->__('Attestation Number') ?></span></th>
|
38 |
+
<th class="no-link last"><span class="nobr"><?php echo $this->__('Electronic Export Notification') ?></span></th>
|
39 |
+
</tr>
|
40 |
+
</thead>
|
41 |
+
|
42 |
+
<tbody>
|
43 |
+
<tr>
|
44 |
+
<td>
|
45 |
+
<select id="customs_terms_of_trade" name="customs[terms_of_trade]"
|
46 |
+
title="<?php echo $this->__('Terms of Trade') ?>">
|
47 |
+
<?php foreach ($this->getTermsOfTrade() as $termInfo): ?>
|
48 |
+
<option value="<?php echo $termInfo['value'] ?>">
|
49 |
+
<?php echo $termInfo['label']; ?>
|
50 |
+
</option>
|
51 |
+
<?php endforeach; ?>
|
52 |
+
</select>
|
53 |
+
</td>
|
54 |
+
<td>
|
55 |
+
<input id="customs_additional_fee" name="customs[additional_fee]" type="text"
|
56 |
+
title="" value="0"
|
57 |
+
class="input-text required-entry validate-number"/>
|
58 |
+
<span class="customs-value-currency">[<?php echo $this->getCustomValueCurrencyCode(); ?>]</span>
|
59 |
+
</td>
|
60 |
+
<td>
|
61 |
+
<input id="customs_place_of_commital" name="customs[place_of_commital]" type="text"
|
62 |
+
class="input-text required-entry validate-length maximum-length-35" maxlength="35" />
|
63 |
+
</td>
|
64 |
+
<td>
|
65 |
+
<input id="customs_permit_number" name="customs[permit_number]" type="text"
|
66 |
+
class="input-text validate-length maximum-length-10" maxlength="10" />
|
67 |
+
</td>
|
68 |
+
<td>
|
69 |
+
<input id="customs_attestation_number" name="customs[attestation_number]" type="text"
|
70 |
+
class="input-text validate-length maximum-length-35" maxlength="35" />
|
71 |
+
</td>
|
72 |
+
<td>
|
73 |
+
<input id="customs_export_notification" name="customs[export_notification]" type="checkbox"
|
74 |
+
class="input-text validate-length maximum-length-35" maxlength="35" />
|
75 |
+
</td>
|
76 |
+
</tr>
|
77 |
+
</tbody>
|
78 |
+
</table>
|
79 |
+
</div>
|
app/design/adminhtml/default/default/template/dhl_versenden/sales/shipping_services.phtml
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package default_default
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var Dhl_Versenden_Block_Adminhtml_Sales_Order_Shipment_Service $this */ ?>
|
28 |
+
<?php $services = $this->getServices() ?>
|
29 |
+
<?php if (count($services)): ?>
|
30 |
+
<div id="packaging-dhlversenden-services">
|
31 |
+
<div><?php echo $this->__('Services') ?></div>
|
32 |
+
<dl>
|
33 |
+
<?php foreach ($services as $service): ?>
|
34 |
+
<?php $renderer = $this->getRenderer($service) ?>
|
35 |
+
<dt class="service-<?php echo $service->getFrontendInputType() . ' ' . $service::CODE; ?>">
|
36 |
+
<?php echo $renderer->getSelectorHtml(); ?>
|
37 |
+
<?php echo $renderer->getLabelHtml(); ?>
|
38 |
+
</dt>
|
39 |
+
<dd class="service-<?php echo $service->getFrontendInputType() . ' ' . $service::CODE; ?>">
|
40 |
+
<?php echo $renderer->getValueHtml(); ?>
|
41 |
+
<?php if ($service::CODE == 'preferredTime'): ?>
|
42 |
+
<div class="notePreferredTime">
|
43 |
+
<?php echo $this->__('* With the preferred time service, DHL offers a nationwide evening delivery between 6-8 pm and 7-9 pm. Preferred time during the day is currently only available in major urban centers in four time windows between 10 am – 6 pm. Via the DHL shipping logistics system, you will receive information about the time windows, that will be available to your customers.'); ?>
|
44 |
+
</div>
|
45 |
+
<?php endif; ?>
|
46 |
+
</dd>
|
47 |
+
<?php endforeach; ?>
|
48 |
+
</dl>
|
49 |
+
</div>
|
50 |
+
<?php endif; ?>
|
51 |
+
|
app/design/adminhtml/default/default/template/dhl_versenden/system/config/info.phtml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
<?php /** @var Dhl_Versenden_Block_Adminhtml_System_Config_Info $this */ ?>
|
2 |
+
<?php echo $this->__('Version:') ?> <?php echo $this->getModuleVersion() ?>
|
app/design/frontend/base/default/layout/dhl_versenden.xml
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="utf-8" ?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Dhl Versenden
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
*
|
13 |
+
* DISCLAIMER
|
14 |
+
*
|
15 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
16 |
+
* newer versions in the future.
|
17 |
+
*
|
18 |
+
* PHP version 5
|
19 |
+
*
|
20 |
+
* @category design
|
21 |
+
* @package base_default
|
22 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
23 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
* @link http://www.netresearch.de/
|
26 |
+
*/
|
27 |
+
-->
|
28 |
+
<layout version="0.1.0">
|
29 |
+
<checkout_onepage_index>
|
30 |
+
<reference name="head">
|
31 |
+
<action method="addItem" ifconfig="carriers/dhlversenden/active">
|
32 |
+
<type>skin_js</type>
|
33 |
+
<script>js/dhl_versenden/opcheckout.js</script>
|
34 |
+
</action>
|
35 |
+
<action method="addItem" ifconfig="carriers/dhlversenden/active">
|
36 |
+
<type>skin_css</type>
|
37 |
+
<script>css/dhl_versenden/styles.css</script>
|
38 |
+
</action>
|
39 |
+
</reference>
|
40 |
+
</checkout_onepage_index>
|
41 |
+
</layout>
|
app/design/frontend/base/default/template/dhl_versenden/checkout/shipping_services.phtml
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package base_default
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var Dhl_Versenden_Block_Checkout_Onepage_Shipping_Method_Service $this */ ?>
|
28 |
+
<?php if (count($this->getServices())): ?>
|
29 |
+
<div id="checkout-dhlversenden-services" style="display: none;">
|
30 |
+
<img
|
31 |
+
src="<?php echo $this->getSkinUrl('images/dhl_versenden/logo.png') ?>"
|
32 |
+
alt="<?php echo $this->__('DHL Additional Services') ?>"
|
33 |
+
title="<?php echo $this->__('DHL Additional Services') ?>"
|
34 |
+
/>
|
35 |
+
<span><?php echo $this->__('Your recipient services'); ?></span>
|
36 |
+
<p>
|
37 |
+
<?php echo $this->__(
|
38 |
+
'You decide when and where you want to receive your parcels with the recipient services of DHL.<br/>Please choose your preferred delivery option:'
|
39 |
+
); ?>
|
40 |
+
</p>
|
41 |
+
<dl>
|
42 |
+
<?php /** @var \Dhl\Versenden\Bcs\Api\Shipment\Service\Type\Generic $service */ ?>
|
43 |
+
<?php foreach ($this->getServices() as $service): ?>
|
44 |
+
<dt class="service-<?php echo $service->getFrontendInputType() . ' ' . $service::CODE; ?>">
|
45 |
+
<?php echo $service->getSelectorHtml() ?>
|
46 |
+
<?php $serviceLabel = $service->getLabelHtml() ?>
|
47 |
+
<?php $tooltip = $this->getServiceHint($service->getCode()); ?>
|
48 |
+
|
49 |
+
<?php if ($tooltip !== '') {
|
50 |
+
$serviceLabel =
|
51 |
+
str_replace(
|
52 |
+
'</label>',
|
53 |
+
"<i class=\"tooltip-inner\" data-tooltip=\"$tooltip\">?</i></label>",
|
54 |
+
$serviceLabel
|
55 |
+
);
|
56 |
+
}
|
57 |
+
?>
|
58 |
+
<?php echo $serviceLabel; ?>
|
59 |
+
</dt>
|
60 |
+
<dd class="service-<?php echo $service->getFrontendInputType() . ' ' . $service::CODE; ?>">
|
61 |
+
<?php echo $service->getValueHtml(); ?>
|
62 |
+
</dd>
|
63 |
+
<?php endforeach; ?>
|
64 |
+
</dl>
|
65 |
+
<?php if (!$this->isShippingAddressDHLLocation()): ?>
|
66 |
+
<span>
|
67 |
+
<a id="locationfinder-link" href="javascript:void(0)" '>
|
68 |
+
<?php echo $this->__('Or as an alternative choose a shipment to a Parcelstation or a Post Office.'); ?>
|
69 |
+
</a>
|
70 |
+
</span>
|
71 |
+
<?php endif; ?>
|
72 |
+
<script type="text/javascript">
|
73 |
+
//<![CDATA[
|
74 |
+
var serviceContainer = new DhlServiceContainer(
|
75 |
+
'checkout-dhlversenden-services',
|
76 |
+
'<?php echo $this->getDhlMethods(); ?>'
|
77 |
+
);
|
78 |
+
serviceContainer.toggleServiceContainer();
|
79 |
+
|
80 |
+
serviceContainer.registerMethodChange();
|
81 |
+
serviceContainer.registerServiceDetailsChange();
|
82 |
+
serviceContainer.registerCalendarChange();
|
83 |
+
|
84 |
+
Validation.add(
|
85 |
+
'validate-with-location',
|
86 |
+
'<?php echo $this->__('You cannot use preferred location with this service.'); ?>',
|
87 |
+
function (the_field_value) {
|
88 |
+
return !(the_field_value != '' && $('shipment_service_preferredLocationDetails').value != '');
|
89 |
+
}
|
90 |
+
);
|
91 |
+
|
92 |
+
Validation.add(
|
93 |
+
'validate-with-neighbour',
|
94 |
+
'<?php echo $this->__('You cannot use preferred neighbor with this service.'); ?>',
|
95 |
+
function (the_field_value) {
|
96 |
+
return !(the_field_value != '' && $('shipment_service_preferredNeighbourDetails').value != '');
|
97 |
+
}
|
98 |
+
);
|
99 |
+
|
100 |
+
var locationLink = $('locationfinder-link');
|
101 |
+
if (locationLink) {
|
102 |
+
locationLink.observe('click', function () {
|
103 |
+
checkout.gotoSection('shipping');
|
104 |
+
document.getElementById('opc-shipping').scrollIntoView();
|
105 |
+
|
106 |
+
// Case: customer with saved addresses
|
107 |
+
var addressSelection = $$('#shipping-address-select option[value=""]').first();
|
108 |
+
if (addressSelection) {
|
109 |
+
addressSelection.selected = true;
|
110 |
+
$('shipping-new-address-form').show();
|
111 |
+
}
|
112 |
+
|
113 |
+
var locationFinderCheckbox = $('shipping:useLocationFinder');
|
114 |
+
if (locationFinderCheckbox) {
|
115 |
+
locationFinderCheckbox.checked = true;
|
116 |
+
locationFinder.showLocationData(locationFinderCheckbox.checked);
|
117 |
+
}
|
118 |
+
});
|
119 |
+
}
|
120 |
+
|
121 |
+
//]]>
|
122 |
+
</script>
|
123 |
+
</div>
|
124 |
+
<?php endif; ?>
|
app/design/frontend/base/default/template/dhl_versenden/config/services.phtml
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category design
|
20 |
+
* @package base_default
|
21 |
+
* @author Benjamin Heuer <benjamin.heuer@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/** @var Dhl_Versenden_Block_Config_Service $this */
|
29 |
+
$services = $this->getData('services');
|
30 |
+
?>
|
31 |
+
<?php if ($this->isServiceSelected()): ?>
|
32 |
+
<div class="dhl-services">
|
33 |
+
<span class="service-label"><?php echo $this->__('Your DHL Wunschpaket'); ?></span>
|
34 |
+
<ul>
|
35 |
+
<?php foreach ($services as $key => $value): ?>
|
36 |
+
<?php if ($value === null): ?>
|
37 |
+
<?php continue; ?>
|
38 |
+
<?php endif; ?>
|
39 |
+
<?php if ($key == 'preferredDay'): ?>
|
40 |
+
<li><?php echo $this->__($this->renderName($key)) . ': ' . $this->renderDate($value) ?></li>
|
41 |
+
<?php elseif ($key == 'preferredTime'): ?>
|
42 |
+
<li><?php echo $this->__($this->renderName($key)) . ': ' . $this->renderTime($value) ?></li>
|
43 |
+
<?php elseif ($key == 'parcelAnnouncement'): ?>
|
44 |
+
<?php if ($value): ?>
|
45 |
+
<li><?php echo $this->__($this->renderName($key)) ?></li>
|
46 |
+
<?php endif; ?>
|
47 |
+
<?php elseif ($key == 'preferredNeighbour'): ?>
|
48 |
+
<li><?php echo $this->__($this->renderName($key)) . ': ' . $value ?></li>
|
49 |
+
<?php elseif ($key == 'preferredLocation'): ?>
|
50 |
+
<li><?php echo $this->__($this->renderName($key)) . ': ' . $value ?></li>
|
51 |
+
<?php else: ?>
|
52 |
+
<?php continue; ?>
|
53 |
+
<?php endif; ?>
|
54 |
+
<?php endforeach; ?>
|
55 |
+
</ul>
|
56 |
+
</div>
|
57 |
+
<?php endif; ?>
|
app/etc/modules/Dhl_Versenden.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Dhl_Versenden>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
<depends></depends>
|
8 |
+
</Dhl_Versenden>
|
9 |
+
</modules>
|
10 |
+
</config>
|
app/locale/de_DE/Dhl_Versenden.csv
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"DHL Versenden","DHL Versenden"
|
2 |
+
"DHL Business Customer Shipping","DHL Geschäftskundenversand"
|
3 |
+
"General Settings","Allgemeine Einstellungen"
|
4 |
+
"Module","Modul"
|
5 |
+
"Title","Titel"
|
6 |
+
"Enabled for Checkout","Aktiviert"
|
7 |
+
"Yes","Ja"
|
8 |
+
"No","Nein"
|
9 |
+
"Sandbox Mode","Sandbox-Modus"
|
10 |
+
"Enable Logging","Protokollierung aktivieren"
|
11 |
+
"Please ensure that the Magento-Log is also activated. Data will be written to <em>dhl_versenden.log</em>.","Bitte stellen Sie sicher, dass auch das Magento-Log aktiviert ist. Die Protokollierung wird in die Datei <em>dhl_versenden.log</em> schreiben."
|
12 |
+
"Log Level","Protokollstufe"
|
13 |
+
"Beware: Log level <em>Debug</em> will result in large log files.","Achtung: <em>Debug</em>-Protokollierung erzeugt große Log-Dateien."
|
14 |
+
"Error","Error"
|
15 |
+
"Debug","Debug"
|
16 |
+
"Account Data","Stammdaten"
|
17 |
+
"Basic account data as required in production mode","Für den Produktiv-Modus erforderliche Angaben"
|
18 |
+
"User","Benutzername (User)"
|
19 |
+
"Signature","Passwort (Signature)"
|
20 |
+
"EKP","DHL Kundennummer (EKP)"
|
21 |
+
"Participation Numbers","Teilnahmenummern"
|
22 |
+
"Procedure","Verfahren"
|
23 |
+
"Participation","Teilnahme"
|
24 |
+
"DHL contract customers receive the access data to the DHL Business Customer Portal via DHL Paket sales.","Die Zugangsdaten für den Zugriff auf das DHL Geschäftskundenportal erhalten DHL Vertragskunden über den Vertrieb DHL Paket."
|
25 |
+
"The participation is 2 numerical digits from 00 to 99 or alphanumerical digits from AA to ZZ. It is allocated by DHL Sales.","Die Teilnahmenummer ist 2-stellig numerisch von 00 bis 99 oder alphanumerisch von AA bis ZZ. Sie wird vom DHL Vertrieb vergeben."
|
26 |
+
"Shipment Orders","Versandaufträge"
|
27 |
+
"Print Only If Codeable","Nur leitkodierbare Versandaufträge erteilen"
|
28 |
+
"If set to <em>Yes</em>, shipping order requests will only return a label if the DHL delivery address verification succeeds.","Ist diese Option auf <em>Ja</em> gestellt, so wird nur dann ein kostenpflichtiges Label erstellt, wenn die DHL-Adressprüfung erfolgreich ist."
|
29 |
+
"Address Validation","Adressprüfung"
|
30 |
+
"OK","OK"
|
31 |
+
"Cancel","Abbrechen"
|
32 |
+
"Weight Unit","Gewichtseinheit"
|
33 |
+
"Configure the product weight unit that is used in the Catalog.","Geben Sie die Einheit für das im Katalog verwendete Produktgewicht an."
|
34 |
+
"Grams","Gramm"
|
35 |
+
"Kilograms","Kilogramm"
|
36 |
+
"Shipping Methods for DHL Versenden","Versandarten für DHL Versenden"
|
37 |
+
"Cash On Delivery Payment Methods for DHL Versenden","Nachnahme-Zahlarten für DHL Versenden"
|
38 |
+
"Select shipping methods for rate calculation in checkout.","Wählen Sie Versandarten für die Versandkostenberechnung im Checkout."
|
39 |
+
"These shipping methods will be processed with DHL Versenden.","Diese Versandarten werden Versandaufträge bei DHL Versenden erzeugen."
|
40 |
+
"These payment methods will be treated as COD methods during shipping order requests.","Diese Zahlarten werden bei der Übermittlung von Versandaufträgen als Nachnahme-Zahlart behandelt."
|
41 |
+
"COD Charge","Nachnahmegebühr"
|
42 |
+
"Set the COD charge (€) to be added to the total order amount during shipping order requests.","Geben Sie die Nachnahmegebühr in Euro an, die bei der Übermittlung von Versandaufträgen zum Gesamtbetrag hinzuaddiert werden soll."
|
43 |
+
"Additional Services In Checkout","DHL Zusatzleistungen im Checkout"
|
44 |
+
"Preferred day","Wunschtag"
|
45 |
+
"Enable Preferred day", "Wunschtag aktivieren"
|
46 |
+
": Delivery at your preferred day",": Lieferung zum gewünschten Tag"
|
47 |
+
"Allow customers to select a preferred day of delivery.","Lassen Sie Kunden im Checkout einen bevorzugten Zustelltag bestimmen."
|
48 |
+
"Cut off time","Annahmeschluss"
|
49 |
+
"Orders placed after the cut-off time will not be shipped the same day.","Bestellung, welche nach Annahmeschluss eingehen, werden nicht mehr am selben Tag verschickt. Der früheste Wunschtag verschiebt sich somit um einen Tag."
|
50 |
+
"Preferred time","Wunschzeit"
|
51 |
+
"Enable Preferred time","Wunschzeit aktivieren"
|
52 |
+
": Delivery during your preferred time slot",": Lieferung im gewünschten Zeitfenster"
|
53 |
+
"Allow customers to select a preferred time of delivery.","Lassen Sie Kunden im Checkout eine bevorzugte Zustellzeit bestimmen."
|
54 |
+
"Preferred location","Wunschort"
|
55 |
+
"Enable Preferred location","Wunschort aktivieren"
|
56 |
+
": Delivery to your preferred drop-off location",": Lieferung an den gewünschten Ablageort"
|
57 |
+
"Allow customers to declare a preferred parcel location during checkout.","Lassen Sie Kunden im Checkout einen bevorzugten Ablageort bestimmen."
|
58 |
+
"Preferred neighbor","Wunschnachbar"
|
59 |
+
"Enable Preferred neighbor","Wunschnachbar aktivieren"
|
60 |
+
": Delivery to a neighbor of your choice",": Lieferung an den Nachbarn Ihrer Wahl"
|
61 |
+
"Allow customers to declare a preferred neighbour during checkout.","Lassen Sie Kunden im Checkout einen bevorzugten Nachbar für die Zustellung bestimmen."
|
62 |
+
"Parcel announcement","Paketankündigung"
|
63 |
+
"Enable Parcel announcement","Paketankündigung aktivieren"
|
64 |
+
"Let DHL send shipment status updates to the customer. Choosing <em>Optional</em> will let the customer decide during checkout.","Lassen Sie DHL Status-Aktualisierungen zur Sendung an den Kunden übermitteln. Die Auswahl <em>Optional</em> überlässt die Entscheidung dem Kunden im Checkout."
|
65 |
+
"Visual Check of Age","Alterssichtprüfung"
|
66 |
+
"Enable Visual Check of Age","Alterssichtprüfung aktivieren"
|
67 |
+
"Display the age check service while creating shipments.","Stellen Sie den Service Alterssichtprüfung beim Erstellen von Lieferscheinen zur Auswahl."
|
68 |
+
"Return Shipment","Retourenbeileger"
|
69 |
+
"Enable Return Shipment","Retourenbeileger aktivieren"
|
70 |
+
"Display the return shipment service while creating shipments.","Stellen Sie den Service Retourenbeileger beim Erstellen von Lieferscheinen zur Auswahl."
|
71 |
+
"Additional Insurance","Transportversicherung"
|
72 |
+
"Enable Additional Insurance","Höhere Transportversicherung aktivieren"
|
73 |
+
"Display the additional insurance service while creating shipments.","Stellen Sie die Transportversicherungen A (bis 2.500 Euro) und B (bis 25.000 Euro) beim Erstellen von Lieferscheinen zur Auswahl."
|
74 |
+
"Bulky Goods","Sperrgut"
|
75 |
+
"Enable Bulky Goods","Sperrgut aktivieren"
|
76 |
+
"Display the bulky goods service while creating shipments.","Stellen Sie den Service Sperrgut beim Erstellen von Lieferscheinen zur Auswahl."
|
77 |
+
"Contact Data","Kontaktinformationen"
|
78 |
+
"Name of Sender","Absender"
|
79 |
+
"Name of Company","Firma"
|
80 |
+
"Name of Company (2)","Firma (2)"
|
81 |
+
"Street Name","Straße"
|
82 |
+
"House number","Hausnummer"
|
83 |
+
"Address Addition","Adresszusatz"
|
84 |
+
"Dispatching Information","Angaben zur Abfertigung"
|
85 |
+
"Zip Code","Postleitzahl"
|
86 |
+
"City","Stadt"
|
87 |
+
"Country","Land"
|
88 |
+
"Phone Number","Telefonnummer"
|
89 |
+
"Email Address","E-Mail-Adresse"
|
90 |
+
"First Name and Last Name of Contact Person","Vor- und Nachname der Kontaktperson"
|
91 |
+
"Bank Data","Bankverbindung"
|
92 |
+
"Bank data as required for cash on delivery payments","Für Nachnahme-Zahlarten erforderliche Bankverbindung"
|
93 |
+
"Account Owner","Kontoinhaber"
|
94 |
+
"Bank Name","Name der Bank"
|
95 |
+
"IBAN","IBAN"
|
96 |
+
"BIC","BIC"
|
97 |
+
"Reason for Payment","Verwendungszweck"
|
98 |
+
"Reason for Payment (2)","Verwendungszweck (2)"
|
99 |
+
"Account Reference to Customer Profile","Bankverbindungsreferenz"
|
100 |
+
"Return Shipment","Retourenbeileger"
|
101 |
+
"Use Shipper as Receiver","Absenderdaten als Retourenempfänger nutzen"
|
102 |
+
"Name of Receiver","Empfänger"
|
103 |
+
"DHL Additional Services","DHL Zusatzleistungen"
|
104 |
+
"e.g. garage, terrace","z.B. Garage, Terrasse"
|
105 |
+
"name, street and house number","Name, Straße und Hausnr."
|
106 |
+
"Cannot do partial shipment with COD or Additional Insurance.", "Für Teillieferungen ist weder Nachnahme noch Transportversicherung verfügbar."
|
107 |
+
"Customs Declaration","Zollinhaltserklärung"
|
108 |
+
"Terms of Trade","Handelsklauseln"
|
109 |
+
"Additional Fee","Zusatzentgelte"
|
110 |
+
"Place of Commital","Einlieferungsstelle"
|
111 |
+
"Permit Number","Genehmigungsnummer"
|
112 |
+
"Attestation Number","Bescheinigungsnummer"
|
113 |
+
"Electronic Export Notification","Sendung mit Ausfuhranmeldung"
|
114 |
+
"Customs Description","Beschreibung"
|
115 |
+
"Country of Origin","Ursprungsland"
|
116 |
+
"Tariff Number","Zolltarifnummer"
|
117 |
+
"Automatic Shipment Creation", "Automatische Sendungserstellung"
|
118 |
+
"Enabled","Aktiviert"
|
119 |
+
"Create shipments and retrieve labels via cron job.","Erstellen Sie Lieferscheine und beauftragen Sie Paketaufkleber automatisiert per Cron-Job."
|
120 |
+
"Order Status","Bestell-Status"
|
121 |
+
"Create shipments for orders with the given status.","Erstellen Sie Lieferscheine nur für Bestellungen in den angegebenen Status."
|
122 |
+
"Book the service Visual Check Of Age with automated shipment orders.","Buchen Sie die Zusatzleistung Alterssichtprüfung mit automatisiert erstellten Versandaufträgen."
|
123 |
+
"Book the service Return Shipment with automated shipment orders.","Buchen Sie die Zusatzleistung Retourenbeileger mit automatisiert erstellten Versandaufträgen."
|
124 |
+
"Book the service Additional Insurance with automated shipment orders.","Buchen Sie die Zusatzleistung Transportversicherung mit automatisiert erstellten Versandaufträgen."
|
125 |
+
"Book the service Bulky Goods with automated shipment orders.","Buchen Sie die Zusatzleistung Sperrgut mit automatisiert erstellten Versandaufträgen."
|
126 |
+
"Post Number","Postnummer"
|
127 |
+
"Packstation Number","Nummer der Packstation"
|
128 |
+
"Parcelstation Number","Nummer der Postfiliale"
|
129 |
+
"Parcelstation Number","Nummer des Paketshops"
|
130 |
+
"Thanks to the flexible recipient services of DHL Wunschpaket, you decide when and where you want to receive your parcels.","Mit den Services von DHL Wunschpaket entscheiden Sie, wann und wo Sie Ihre Pakete empfangen."
|
131 |
+
"Your DHL Wunschpaket","Ihr DHL Wunschpaket"
|
132 |
+
"Your recipient services","Ihr DHL Wunschpaket<br/>Gebracht wie gewünscht."
|
133 |
+
"You decide when and where you want to receive your parcels with the recipient services of DHL.<br/>Please choose your preferred delivery option:","Mit den Services von DHL Wunschpaket entscheiden Sie, wann und wo Sie Ihre Pakete empfangen.<br/>Wählen Sie Ihre bevorzugte Lieferoption aus:"
|
134 |
+
"Determine a person in your immediate neighborhood whom we can hand out your parcel. This person should live in the same building, directly opposite or next door.","Bestimmen Sie eine Person in Ihrer unmittelbaren Nachbarschaft, bei der wir Ihr Paket abgeben dürfen. Diese sollte im gleichen Haus, direkt gegenüber oder nebenan wohnen."
|
135 |
+
"Choose a weather-protected and non-visible place on your property, where we can deposit the parcel in your absence.","Bestimmen Sie einen wettergeschützten und nicht einsehbaren Platz auf Ihrem Grundstück, an dem wir das Paket während Ihrer Abwesenheit hinterlegen dürfen."
|
136 |
+
"Choose one of the displayed days as your preferred day for your parcel delivery. Other days are not possible due to delivery processes.","Sie haben die Möglichkeit einen der angezeigten Tage als Wunschtag für die Lieferung Ihrer Waren auszuwählen. Andere Tage sind aufgrund der Lieferprozesse aktuell nicht möglich."
|
137 |
+
"Indicate a preferred time, which suits you best for your parcel delivery by choosing one of the displayed time windows.","Damit Sie besser planen können, haben Sie die Möglichkeit eine Wunschzeit für die Lieferung auszuwählen. Sie können eine der dargestellten Zeiten für die Lieferung auswählen."
|
138 |
+
"Mon","Mo"
|
139 |
+
"Tue","Di"
|
140 |
+
"Wed","Mi"
|
141 |
+
"Thu","Do"
|
142 |
+
"Fri","Fr"
|
143 |
+
"Sat","Sa"
|
144 |
+
"Sun","So"
|
145 |
+
"Or as an alternative choose a shipment to a Parcelstation or a Post Office.","Oder wählen Sie die Lieferung an einen Paketshop oder eine Postfiliale."
|
146 |
+
"You cannot use preferred neighbor with this service.","Sie können Wunschnachbar nicht zusammen mit diesem Service nutzen."
|
147 |
+
"You cannot use preferred location with this service.","Sie können Wunschort nicht zusammen mit diesem Service nutzen."
|
148 |
+
"* With the preferred time service, DHL offers a nationwide evening delivery between 6-8 pm and 7-9 pm. Preferred time during the day is currently only available in major urban centers in four time windows between 10 am – 6 pm. Via the DHL shipping logistics system, you will receive information about the time windows, that will be available to your customers.","* Mit dem Service Wunschzeit ermöglicht DHL eine bundesweite Abendzustellung, von 18 bis 20 Uhr und 19 bis 21 Uhr. Die Wunschzeit am Tag ist derzeit nur in Ballungsgebieten in vier Zeitfenstern zwischen 10 und 18 Uhr verfügbar. Über die Versenden-Schnittstelle erhalten Sie eine direkte Rückmeldung von DHL, ob die gewählte Wunschzeit für Ihren Kunden zur Verfügung steht."
|
149 |
+
"10 - 12*","10 - 12*"
|
150 |
+
"12 - 14*","12 - 14*"
|
151 |
+
"14 - 16*","14 - 16*"
|
152 |
+
"16 - 18*","16 - 18*"
|
153 |
+
"18 - 20","18 - 20"
|
154 |
+
"19 - 21","19 - 21"
|
app/locale/en_US/Dhl_Versenden.csv
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"DHL Versenden","DHL Versenden"
|
2 |
+
"DHL Business Customer Shipping","DHL Business Customer Shipping"
|
3 |
+
"General Settings","General Settings"
|
4 |
+
"Module","Module"
|
5 |
+
"Title","Title"
|
6 |
+
"Enabled for Checkout","Enabled for Checkout"
|
7 |
+
"Yes","Yes"
|
8 |
+
"No","No"
|
9 |
+
"Sandbox Mode","Sandbox Mode"
|
10 |
+
"Enable Logging","Enable Logging"
|
11 |
+
"Please ensure that the Magento-Log is also activated. Data will be written to <em>dhl_versenden.log</em>.","Please ensure that the Magento-Log is also activated. Data will be written to <em>dhl_versenden.log</em>."
|
12 |
+
"Log Level","Log Level"
|
13 |
+
"Beware: Log level <em>Debug</em> will result in large log files.","Beware: Log level <em>Debug</em> will result in large log files."
|
14 |
+
"Error","Error"
|
15 |
+
"Debug","Debug"
|
16 |
+
"Account Data","Account Data"
|
17 |
+
"Basic account data as required in production mode","Basic account data as required in production mode"
|
18 |
+
"User","User"
|
19 |
+
"Signature","Password (Signature)"
|
20 |
+
"EKP","DHL Customer Number (EKP)"
|
21 |
+
"Participation Numbers","Participation Numbers"
|
22 |
+
"Procedure","Procedure"
|
23 |
+
"Participation","Participation"
|
24 |
+
"DHL contract customers receive the access data to the DHL Business Customer Portal via DHL Paket sales.","DHL contract customers receive the access data to the DHL Business Customer Portal via DHL Paket sales."
|
25 |
+
"The participation is 2 numerical digits from 00 to 99 or alphanumerical digits from AA to ZZ. It is allocated by DHL Sales.","The participation is 2 numerical digits from 00 to 99 or alphanumerical digits from AA to ZZ. It is allocated by DHL Sales."
|
26 |
+
"Shipment Orders","Shipment Orders"
|
27 |
+
"Print Only If Codeable","Print Only If Codeable"
|
28 |
+
"If set to <em>Yes</em>, shipping order requests will only return a label if the DHL delivery address verification succeeds.","If set to <em>Yes</em>, shipping order requests will only return a label if the DHL delivery address verification succeeds."
|
29 |
+
"Address Validation","Address Validation"
|
30 |
+
"OK","OK"
|
31 |
+
"Cancel","Cancel"
|
32 |
+
"Weight Unit","Weight Unit"
|
33 |
+
"Configure the product weight unit that is used in the Catalog.","Configure the product weight unit that is used in the Catalog."
|
34 |
+
"Grams","Grams"
|
35 |
+
"Kilograms","Kilograms"
|
36 |
+
"Shipping Methods for DHL Versenden","Shipping Methods for DHL Versenden"
|
37 |
+
"Cash On Delivery Payment Methods for DHL Versenden","Cash On Delivery Payment Methods for DHL Versenden"
|
38 |
+
"Select shipping methods for rate calculation in checkout.","Select shipping methods for rate calculation in checkout."
|
39 |
+
"These shipping methods will be processed with DHL Versenden.","These shipping methods will be processed with DHL Versenden."
|
40 |
+
"These payment methods will be treated as COD methods during shipping order requests.","These payment methods will be treated as COD methods during shipping order requests."
|
41 |
+
"COD Charge","COD Charge"
|
42 |
+
"Set the COD charge (€) to be added to the total order amount during shipping order requests.","Set the COD charge (€) to be added to the total order amount during shipping order requests."
|
43 |
+
"Additional Services In Checkout","Additional Services In Checkout"
|
44 |
+
"Preferred day","Preferred day"
|
45 |
+
"Enable Preferred day","Enable Preferred day"
|
46 |
+
": Delivery at your preferred day",": Delivery at your preferred day"
|
47 |
+
"Allow customers to select a preferred day of delivery.","Allow customers to select a preferred day of delivery."
|
48 |
+
"Cut off time","Cut off time"
|
49 |
+
"Orders placed after the cut-off time will not be shipped the same day.","Orders placed after the cut-off time will not be shipped the same day."
|
50 |
+
"Preferred time","Preferred time"
|
51 |
+
"Enable Preferred time","Enable Preferred time"
|
52 |
+
": Delivery during your preferred time slot",": Delivery during your preferred time slot"
|
53 |
+
"Allow customers to select a preferred time of delivery.","Allow customers to select a preferred time of delivery."
|
54 |
+
"Preferred location","Preferred location"
|
55 |
+
"Enable Preferred location","Enable Preferred location"
|
56 |
+
": Delivery to your preferred drop-off location",": Delivery to your preferred drop-off location"
|
57 |
+
"Allow customers to declare a preferred parcel location during checkout.","Allow customers to declare a preferred parcel location during checkout."
|
58 |
+
"Preferred neighbor","Preferred neighbor"
|
59 |
+
"Enable Preferred neighbor","Enable Preferred neighbor"
|
60 |
+
": Delivery to a neighbor of your choice",": Delivery to a neighbor of your choice"
|
61 |
+
"Allow customers to declare a preferred neighbour during checkout.","Allow customers to declare a preferred neighbour during checkout."
|
62 |
+
"Parcel announcement","Parcel announcement"
|
63 |
+
"Enable Parcel announcement","Enable Parcel announcement"
|
64 |
+
"Let DHL send shipment status updates to the customer. Choosing <em>Optional</em> will let the customer decide during checkout.","Let DHL send shipment status updates to the customer. Choosing <em>Optional</em> will let the customer decide during checkout."
|
65 |
+
"Visual Check of Age","Visual Check of Age"
|
66 |
+
"Enable Visual Check of Age","Enable Visual Check of Age"
|
67 |
+
"Display the age check service while creating shipments.","Display the age check service while creating shipments."
|
68 |
+
"Return Shipment","Return Shipment"
|
69 |
+
"Enable Return Shipment","Enable Return Shipment"
|
70 |
+
"Display the return shipment service while creating shipments.","Display the return shipment service while creating shipments."
|
71 |
+
"Additional Insurance","Additional Insurance"
|
72 |
+
"Enable Additional Insurance","Enable Additional Insurance"
|
73 |
+
"Display the additional insurance service while creating shipments.","Display the additional insurance service while creating shipments."
|
74 |
+
"Bulky Goods","Bulky Goods"
|
75 |
+
"Enable Bulky Goods","Enable Bulky Goods"
|
76 |
+
"Display the bulky goods service while creating shipments.","Display the bulky goods service while creating shipments."
|
77 |
+
"Contact Data","Contact Data"
|
78 |
+
"Name of Sender","Name of Sender"
|
79 |
+
"Name of Company","Name of Company"
|
80 |
+
"Name of Company (2)","Name of Company (2)"
|
81 |
+
"Street Name","Street Name"
|
82 |
+
"House number","House number"
|
83 |
+
"Address Addition","Address Addition"
|
84 |
+
"Dispatching Information","Dispatching Information"
|
85 |
+
"Zip Code","Zip Code"
|
86 |
+
"City","City"
|
87 |
+
"Country","Country"
|
88 |
+
"Phone Number","Phone Number"
|
89 |
+
"Email Address","Email Address"
|
90 |
+
"First Name and Last Name of Contact Person","First Name and Last Name of Contact Person"
|
91 |
+
"Bank Data","Bank Data"
|
92 |
+
"Bank data as required for cash on delivery payments","Bank data as required for cash on delivery payments"
|
93 |
+
"Account Owner","Account Owner"
|
94 |
+
"Bank Name","Bank Name"
|
95 |
+
"IBAN","IBAN"
|
96 |
+
"BIC","BIC"
|
97 |
+
"Reason for Payment","Reason for Payment"
|
98 |
+
"Reason for Payment (2)","Reason for Payment (2)"
|
99 |
+
"Account Referece to Customer Profile","Account Referece to Customer Profile"
|
100 |
+
"Return Shipment","Return Shipment"
|
101 |
+
"Use Shipper as Receiver","Use Shipper as Receiver"
|
102 |
+
"Name of Receiver","Name of Receiver"
|
103 |
+
"DHL Additional Services","DHL Additional Services"
|
104 |
+
"e.g. garage, terrace","e.g. garage, terrace"
|
105 |
+
"name, street and house number","name, street and house number"
|
106 |
+
"Cannot do partial shipment with COD or Additional Insurance.", "Cannot do partial shipment with COD or Additional Insurance."
|
107 |
+
"Customs Declaration","Customs Declaration"
|
108 |
+
"Terms of Trade","Terms of Trade"
|
109 |
+
"Additional Fee","Additional Fee"
|
110 |
+
"Place of Commital","Place of Commital"
|
111 |
+
"Permit Number","Permit Number"
|
112 |
+
"Attestation Number","Attestation Number"
|
113 |
+
"Electronic Export Notification","Electronic Export Notification"
|
114 |
+
"Customs Description","Customs Description"
|
115 |
+
"Country of Origin","Country of Origin"
|
116 |
+
"Tariff Number","Tariff Number"
|
117 |
+
"Automatic Shipment Creation", "Automatic Shipment Creation"
|
118 |
+
"Enabled","Enabled"
|
119 |
+
"Create shipments and retrieve labels via cron job.","Create shipments and retrieve labels via cron job."
|
120 |
+
"Order Status","Order Status"
|
121 |
+
"Create shipments for orders with the given status.","Create shipments for orders with the given status."
|
122 |
+
"Book the service Visual Check Of Age with automated shipment orders.","Book the service Visual Check Of Age with automated shipment orders."
|
123 |
+
"Book the service Return Shipment with automated shipment orders.","Book the service Return Shipment with automated shipment orders."
|
124 |
+
"Book the service Additional Insurance with automated shipment orders.","Book the service Additional Insurance with automated shipment orders."
|
125 |
+
"Book the service Bulky Goods with automated shipment orders.","Book the service Bulky Goods with automated shipment orders."
|
126 |
+
"Post Number","Post Number"
|
127 |
+
"Packstation Number","Packstation Number"
|
128 |
+
"Post Office Number","Post Office Number"
|
129 |
+
"Parcelstation Number","Parcelstation Number"
|
130 |
+
"Thanks to the flexible recipient services of DHL Wunschpaket, you decide when and where you want to receive your parcels.<br/> You may now choose, where DHL shall deposit your shipment when you are not at home.","Thanks to the flexible recipient services of DHL Wunschpaket, you decide when and where you want to receive your parcels.<br/> You may now choose, where DHL shall deposit your shipment when you are not at home."
|
131 |
+
"Your DHL Wunschpaket","Your DHL Wunschpaket"
|
132 |
+
"Your recipient services","Your recipient services"
|
133 |
+
"You decide when and where you want to receive your parcels with the recipient services of DHL.<br/>Please choose your preferred delivery option:","You decide when and where you want to receive your parcels with the recipient services of DHL.<br/>Please choose your preferred delivery option:"
|
134 |
+
"Determine a person in your immediate neighborhood whom we can hand out your parcel. This person should live in the same building, directly opposite or next door.","Determine a person in your immediate neighborhood whom we can hand out your parcel. This person should live in the same building, directly opposite or next door."
|
135 |
+
"Choose a weather-protected and non-visible place on your property, where we can deposit the parcel in your absence.","Choose a weather-protected and non-visible place on your property, where we can deposit the parcel in your absence."
|
136 |
+
"Choose one of the displayed days as your preferred day for your parcel delivery. Other days are not possible due to delivery processes.","Choose one of the displayed days as your preferred day for your parcel delivery. Other days are not possible due to delivery processes."
|
137 |
+
"Indicate a preferred time, which suits you best for your parcel delivery by choosing one of the displayed time windows.","Indicate a preferred time, which suits you best for your parcel delivery by choosing one of the displayed time windows."
|
138 |
+
"Mon","Mon"
|
139 |
+
"Tue","Tue"
|
140 |
+
"Wed","Wed"
|
141 |
+
"Thu","Thu"
|
142 |
+
"Fri","Fri"
|
143 |
+
"Sat","Sat"
|
144 |
+
"Sun","Sun"
|
145 |
+
"Or as an alternative choose a shipment to a Parcelstation or a Post Office.","Or as an alternative choose a shipment to a Parcelstation or a Post Office."
|
146 |
+
"You cannot use preferred neighbour with this service.","You cannot use preferred neighbour with this service."
|
147 |
+
"You cannot use preferred location with this service.","You cannot use preferred location with this service."
|
148 |
+
"* With the preferred time service, DHL offers a nationwide evening delivery between 6-8 pm and 7-9 pm. Preferred time during the day is currently only available in major urban centers in four time windows between 10 am – 6 pm. Via the DHL shipping logistics system, you will receive information about the time windows, that will be available to your customers.","* With the preferred time service, DHL offers a nationwide evening delivery between 6-8 pm and 7-9 pm. Preferred time during the day is currently only available in major urban centers in four time windows between 10 am – 6 pm. Via the DHL shipping logistics system, you will receive information about the time windows, that will be available to your customers."
|
149 |
+
"10 - 12*","10 am - 12 noon*"
|
150 |
+
"12 - 14*","12 noon - 2 pm*"
|
151 |
+
"14 - 16*","2 - 4 pm*"
|
152 |
+
"16 - 18*","4 - 6 pm*"
|
153 |
+
"18 - 20","6 - 8 pm"
|
154 |
+
"19 - 21","7 - 9 pm"
|
doc/Dhl_Versenden/ChangeLog.pdf
ADDED
@@ -0,0 +1,199 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
%PDF-1.4
|
2 |
+
%���� ReportLab Generated PDF document http://www.reportlab.com
|
3 |
+
1 0 obj
|
4 |
+
<< /F1 2 0 R /F2 3 0 R >>
|
5 |
+
endobj
|
6 |
+
2 0 obj
|
7 |
+
<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
|
8 |
+
endobj
|
9 |
+
3 0 obj
|
10 |
+
<< /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >>
|
11 |
+
endobj
|
12 |
+
4 0 obj
|
13 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /DCTDecode ] /Height 268 /Length 108590 /Subtype /Image
|
14 |
+
/Type /XObject /Width 1200 >>
|
15 |
+
stream
|
16 |
+
s4IA0!"_al8O`[\!W`<Q!A"3Ns5=A`7<iNY!!#_f!%IsK!!iQ0!>5A7!!!!"!!*'"!?(qA!!!!"!!!".!?2"B!!!!"!!!"6!@RpM!!!!"!!3-#!AOQU!!!!?!!!">!AXWV!!!!5!!!"\LM6_k!!!!"!!!"p!!!#G!%l4+!!"AX!%l4+!!"AX6"FnCAKXf_Dffo=BQ%i46W5fa9jqOGDKKf<BE0eA0KD0K1-.*E+>Gc81,_0M3<0$]TE,#p!!!!"!!*'"TE5)r!!!!"!!!/+TE>/s!!!!"!!!$.z!!!!'!<W<(!!!!"!!WE'!?(qA!!!!"!!!$@!?2"B!!!!"!!!$H!@RpM!!!!"!!3-#!W`9(!!!!"!!!$P!Wi?)!!!!"!!!BGz!!!!i!!!!"!!!!i!!!!"s4IA0!"_al8O`[\!WW3k!([(is6Tdp6"FnCAR@f!!!3,f!"M;*Ddm8XA:OX[!!3,S!/(=\#RC\B#Rh"G$kWjS$P=*a$k*X](_[Pt',)2p$k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OF%1<OQ%LisZ%M0<a%Ls0e%LrsY'G1`^$k*OV&I]'V$k*OV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQs1eUH#QQ+MTE>3=!!3`5!tbS6h#IQX$NJ$F56(Za"T\W)!<E3$z!!!*$!<NB-"pYD?$4?k7!<iK)!<E3%z!!!!"!!36*"U52;#mq%O!!*3'!s/T,"U>5;"To/h!<<05!sBb[0a0j?@1si)JMIEDOeK$H,:""%_.#2WEe;\+#:5O3nDWnIF#=`-Z@aJlP>l']_P;32(Xc=CAb*0\_p`bgo0t*lUkQ1@`73l?V7":mjn2YdG(u<[[`6n\p,>KCB6T,tVmj^ukP#Pg!WiB("9\f0"U52:"pHjb!!3`7+YaT45uD'1+qk,8JWUY?YsK\O;UOti,\#_QJs&K"'k;;AnKeATU9]CV-8iZg7$CTF(M#s72KWNio!="edrj^B7[0^&[$ASZjRf:V`RX)C<b?N0QDV+1f&lZR2b-q^GDDN_\&\O&!"8r1!!3`7&HG#qll>2+GI[3jT+p&;qoA.S5O#f>Ik$?Ikt52N;n;2[JBN<>!-nJ(#9uGP&2`KZZB%n,HB6gl5*k*kasZ%nKLt_R]rR4Z]a*jF;TlC%qQ"!Kf[!iV='KfaF1_$-PMQ6=>Z:4'j-F4ebV;?lbd_4/cprq^"tXh\:3";de<,7=nNAhucBJ8.Q8JUAgPLC7ks+uR:]7f5O86E;It&F;!+K^C!7Ha)rE/?n]5:l,h%R3,'b^\a[Hd;CGu;=7J&d1WmX256rrDm+C\r1KrrD/?5PF(_*D6bdrgl#Z='0]W/-X)jXI\eYb4FJddPJI;XgsF,9u*&!]s#h\#s/IIWIdD=(aDjI+\<c0A"5N`o+I-L/@:p3k-#j9`AmBT.?HV0N2-/3XhF`7]RKF(Oe7Pg\*[<LUO;G$*to_hC8Zd8%=JG@UXY-7'SkIn3SKcu7/m7@a_.L>qVpHpT2EA&Aj7pH$aaCj6Pr"@9`D6o?g/:h;j#1k,i^>@_\"SeidPU&d=YYhjN^oL'>kY#)+\Q.m2+-!DKMNKZ)@TV<[c+o-F%GOhR-mU*l:GnEZ2U>!fVKsl`VesNK-]eBq6/+QH0R7,JPsUI9Z"b:;lD7)l$Ne=Bk#hCYT(E"6o6YX`LWE!(Zt%e#@VRLWU9b4>P*CF#qDB!&]d$escNlNs+JOHrH9=,^um@qU0P'lQ%aY]"9c_AW.q=BsUW*NbM0Jhb#4#:o';j%j[G&MlHQTd](9`h05e0>r;]MIGKGI^FO7%"cN9OrrCW6q2^<j_2QZBE_-,5Lo\XZr3;.Wgl<p^ifrM!d>/D-chBfVjQ>L^#+W>\j+id:l9B*Nr@Pe7PRlN>-iX/tC&\1B(BrB9Xkd&9faf#P*m,u2`Xeg$lauE8n+;LO*[UWm<T<%uf%P;UGTGT&Ij'gG]fI5B!uR>/dY+ZYFF>kC!7=k<iN`*pZ:r3g'WSZPqHc@72I>jXjL5'g:,i#e-9"]Uhq$NBD=@G`pQ\gXi).t-lbfJu1KQa_^$"Y8rrDBb!77qAC;S'6+i\aQ,7F.3+&O'6q$?L3)r^&#].NLMj7ee,kAD@$aR3#+\*4EZr2<(_iYnBbXf)3Gkb$FF2nSnb:]70&a8RMXp<QP7!/LRSfPA7oP-""&VnLu^\!-glHC"@+!6$;^(K:>67;r1e/cPh!98JlT?\mukrr>-3h[mi`rrA+:[Q;D/+:h_??k9U"WB:^RefWKB[BM`gj$2=KVE)>F/]J;#!2k;'poj=j@_?TR7Qn3-]P!=/6S6N1oeo>3n+E.'pUB`Ef_*J#l>KpSMr+;8k7V%_>9oE3F,nd0-Os$7IEB]$A,0VtE0h>9hXl8U)>RCm)*%1X6pp'pV%^g4hXpf+>R1_8qQZ[>3bBnFaLnu?q%aK8k@4PdeAnu"rc<"YBDlcI)Qj#>1:l(s+84ms@[I#8lTR.TgRn;!dH37URIQefjof-g]Fp#Uri`AZ]pgZ,Q5g,`Lq>bpC<rlgU3/$A1@FI'"m-ZJZ<0I25F\XdrrAe5rrD-1NfE^AV<2%<MK<-oO%[9o^HpAWmeT8R<nEu?p>>@h\`tVOrCA*jrC8$-KDZKIP(0TVNGd)/=(9hI\66!!K;S9ulDD$If(/!?%'T9'XF$K3jA5$BGQ*V%o(,\6NXfEaQF.2_$o#SW+8<IMF8l4Q9jF+)6ucY[.f"=b0uk7Wrr@bi:/>3@kl"Z.WSLe*VNO`Pb^1lNJ'mq5[EN-h\(OQdrr>56b'H9>^=H4Y=*9h]6Wh@f=X9RDo8'%1/$4'Drr?qdjstB8kLJ1+[m)5nA+JG,YA)c/_t;a9J#0X<J&QoWW?n#=07]!Dbb`0>(uagSe:6a6c:h>[<\3f!o"mTBc2Rct\XB'gnM"W:)1>=];b1fp5acWg/Rr")F5?dp6hYHKn,0a]q[$p79l9S&Mq:"u:b;6AMbLR6)^(RF=';HmQN$sCD#G9qrrAHmB?$#0F8l4p:;P/,N#^XA%R[4S4c`D3J!u_'Fr^5VEq<Nl5GK<9e,KE-VWiS2\lO7N7o4Y?FI&D`1#5f\FK<r?T%DVtp$D+-SC)ob9OZ>/k^><u^;cKqfZ&]NZ(?pap=.*/5O^P>J^^R5_/9]-lj[o^XnKHSGhZg.p=]G+r?(7T.<j:%VUpr!Zs-o"\@Ac`o%<+%?2[jWX5`7rB$P%UR$7e.pGnV[fB/M"=1-$H!t6s&/lO=3V%JdaP9CJ,^ROrs!9Q.gB)Q'9!6_/;!3hc=jOUe-bPJQm`NC*!,5]'Ndm]4M#X4GV&,K)r=ml:i7]:g\Y-m:[rOMq.R&0f_1:l(s+84ms@]a46/X?SSk@H'4`ScgU$r$ICK-X-'bnCc=nIPIUhM_AToFLh`J*j:$nd=,tV@2o3R`AOsHQ60mRoP-ONcrq')`E%mSGEV\_toXgEi](YlXhP$Bs%9(>!Fa$Jb8r%rrC8IfAlNCC^$3GRb6"n<R[Q)=t=KU\'h.UNV9I?pc1=V0u]7#XQ4#M7_a+/>TTc.Cj`ld(oCrs7*68CdIR-tIbEuc!:^!gq[IcKP"sl?e+XC9q&f=!miV>$;s[dcr>!*EPdgYm8LJBl;qsT+D^58S/b/i@MG9*P?H/mmo=,Y41&!omid_!UllEER^6^4b`Ad#\!1!=4T$gjP^16_Om#S4>-g:R1Q1u[%5NR>%kHp?N!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u_FVmq.-7tUR$,\+@[2cn`5!<:aPm1C13BQ&!2F(fK2+>YW(!'!;:9`uaBz&-)\1zzz!'!;:9`sb_z&-4<^!!!$"!WahP!!!$"!]WM<9`udCz%KHJ/z!!!!`J,fR/6:jlS%0-A.!!!-%!!"'"6:jlS)#sX:!!!-%!!"'"6:jlRo)Jaj!!!<*z!!!!"!'!;:9d^JPz$31),z!!!'[6:jlRo`+sl!!#Oi04ner!<?qJAcN#8z!<=cbAcMi3Tp_>L"onW'!!!$"1&q:S!<?:'!!!3'z!<=tW!!!$"/H>bN"onW'!!!$Z6:jlRp](9o!!$s<!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtTB6:jlSz!!!'#!'!;:9`tLtz!WW3[6:jlS0E;(Q!!!$#!'!;:9a!$Jz"onZ(!!!*\6:jlS#QOi)!!!Q1!!!$"!!5Cc!!5Cc!!!!Y6:jlS*WQ0?!!!-%!!!!Y6:jlS)?9a;!!>Rg!!!3'zz!!*K.!!KM+!!!6(6i]aX9E8E"EWB_P@K6B.!<<*"zzzz!<<*"z!!!!%YQ+Y($ig8-zzz!!*'"zzzz!"],1!!*'"zDKTc3!!!!#!!!!'@W-C,A91OUC1@5D!!*'"z;Iaf'!!!!%z<,Z^uCi=3(zz9P%gXCi=3(zz6?I-_Ci=3(!!!$.z;J0ZbCi=3(!!!/+!!!!'F)5Q#ATLmg9QL16!!,l)C1@5D!!*'"!!!!&F)5Q#AH2]1&c_n3#BO]q@qA5"Ci=3(z!!!!(B6%p5E(NH6Df01fz!!!4AEbT0#DIm^.D#aP9$q4*2Bk(^MEbT0#D?'Y:%:OC$Db"AVATD4$ARkc@!!#uDE+NTuF_q*Y!").nCh[Bj<-`Foz8Sr)_!!!!'@W-C,A91OUC1@5D!!*'"z;Iaf'!!!!%z<,Z^uCi=3(zz9P%gXCi=3(zz6?I-_Ci=3(!!!$.z;J0ZbCi=3(!!!/+!!!!$F`M:t79ELh!!!$"z!,cpqCfEi*;ucmu!<<*"!!!!nF(]&`79ELh!!!$"z#%;=i<+0E=79ELh!!!$"z%V''dCfFtjF@gOE<)$%qDf9Fm!!!!)@qBIm<+U;r<(0ng!!!!"z!"!=WEdC#fBkM<pDKTdr!!!Nu;f$/XAOp`[H9l@]B5R\L!!d%GAmoguF8u:@$$Km#F?s_WB5V9uF_q*Y!"VLsCh[Bj<b6;n6#:7JD?'Y:#@qCX@<HC.!!!!,@V8&HCi=>nH#R>+DKTdr!!!U";f$/XAO8mSDes?4<-`Foz:2b#]!!!!*FDl+oF`_\9FDPl5B)ho3z$>a9cFAI%$F(KH0Df01fz!!!F:Dfg)>D,5:rF(KH0Df01fz!!!CIBkM+$:N^c#ATVa,DJ&qL!!!!Y6:jlS-ia5I!!!E-!!!'bn,NFg!!!!Y6:jlS'EA+5!!!-%!!!*\6:jlS$ig8-!"1^c!!!$"!!&Yl!!"8E!!2!X!(28:!"0_G(]XU:f`0k0&5#D`7K<Gj!!#Oi8,rYim/RP\A8bpg?UINf!WVQf%RFWD@V#OMJ,fQL!WUmSKE)Dd#RC_B$jd4K&ISpR&JYfb$kF'i',))o',V;i$k*OQ$kWmV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*.G$O[CR%1j!Z&/5Ta%MTTe%Lrs_&I]'V$k*^[$k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*RE^]4rP!$hQ;!s'SG!YGG8&HVpf!!E9/s24q&!!!$'!<E3%!<E0#z!!<3%!X&Z2#7(VC$NU5."T\W)!<E3$z!!!$"!WrQ/"pYD?$4@CF!<`E*!X&Q.#6kG;!t6sd!!3`7"<eC4"[Q!o'-_FI1'SGTTs6p/,Sa4n@P]i]K$cpj-'D3riULE!2&;plK-j!M<+JG7UNAC1dT,:<o!="edrj^B7OOFrKs[,`eE$7u[Dg\Xoi>[JL6e^F`n';G2b-q^GDDN_\&[+`pCRB,!W`?*"9Sc1"pYA;"Z6;\!YGMX0bOUT;.4Gg'*U.BOVFLo66j<EdI8q;@c;?ZP!`._@rjKs,mG-ZZ@`B/28[d0P>n:nA49KVFCjJ&Z\66FFlW'_Pba#?Q,M25oVJt7e`HI)Ap/opVRFLqk4U/]7os>ILR4pJa8ain$j-M1!YGMH!'^JM*9V3`\FP!='\hOBa6tHAl+>r).Z3i^8mFkb\a&O3bBs6hGl?_/,<m+Y2!&8RO&C.IO5%60QJ^uM-f06(8b*h6X,lPZ#O<I0bHiu#X'd1)cWu3*>BOe(]CS4Mh>[I[;t@HYQ=ORN0gH2l\7Ho37u<]>/9@(OEQ8[@Oal<Z4ZDcRPQ(WK2#dR1M147E5P\ebrOB@uq7G.+IiJCf@VYoCdY_''=R*?,D-hkN'=G@c'*H"WlLEq\;85#=a+J0qI'<AG!;[4AqfAS5!9K2)p>RA=9+*'FSi1.]=En=,"ipJ@SaQL"oA6=l1V-_k\W(B!^m52<YL03R3sjW?JjBMV,>^lR8KWXrS2deF&s,=/[%'ACY9+4m3:T?bO?4A>U\I$T^&J)FIe&,RT8SQ8m9)!8I-gMJ'-Bk^VhNV0I0P_,e;7lRLYRA>g6P]+rr@bpB;Y.oio)qj;89)B5;)mBZstFM(d<XIric9-knQB\Oia(<j!gA5&MTI/IVFkjK3OZ&c<84%_\a%)88IMX(XRYLFJ&K9VuGIP.*A_?Z#2_][:G@?_FPqm)SFN#N-k-]Y:ALjN_J2ASJj\Xa:A.n^G0kZ>O*Y3`9G/YUKH,M>No+&g]]52l0bgYF05HB8,U-NWHjP[aqKLl1<Yi%3lq=$23'oPRf(s%"QKo<;j=a:I]apldWTHm*AXP(]//\_N$YZAZVX,OBhUSF8gXd>Um&S),aIMMWVWaFWQ1jkGGl*Z2$3,mh1546.rYCjMu35J!7mA0O,)`2N6YRH8Go`KX3$J$Z&8J7N\"#dPiPTeL_9=+pI!Hkk2YG*S@jU:LQWVA5AZYa/\fi#&)3X&rr=TarrBME"kJ"%h,cJe%i[#?at!A0&#.tI]BS&<oSU@(-2G)Oio?$Lg30oL*Sfh-+cZ603Ze\2(m\FTKWBuPI5([$d8risZ1c,A9Z5NsWjlO7?9Wfr?LP2\[f6>&2u7D=2br2df%T2%n,;;@PujmA;:Dc8_kU6g=$@b?kNUe%!:0Xbd'*(V_T9hB`crdS$hTi/;'"Hf#k8rTiT\=n/arYupQV-0DB@iZmSm,okmrUJW('\E)P-c-VuP--T@Rs?]D;G%rMI3Ir[CA2cVOQ@L]7A,CVTM)XR%R;^#,QnPQ(W/QMCI[`?tHu;uZhdDuSiMrrCJ?LmB)hM!B3a!'>bh&BET+!0;uF3lV1C%pY9*&$t)k4:gT*+4gG!YWJZ@5MUac3PC2"`X`"KVgdOuYOnl)]PaK64grbNB967`/^/Y92FmB-opXV/\+;-&out&5Dd7XIhYLL?&mXU(,a53KNn$'9%T5<8aim._q.#S,QPNBRoR;`:q,lPm3:]U.6fj9''?*2mo_seS#RdR,Z(KB(Ah1%*]XKfp((X.&@fc;Qa0i)LF)S*lrGVWQXoAAV]%;o`p?2EaQi,"l4u@cDTD=AljtlRrnXOX^"Cb-=&r8=BYH*MnRkH@Z*!\0R]0%?Rc`+CJFY)9&md!UOjquFM=@3oiS#O.%!2@L5!9D[jNV-eXk$6]!F'kDt9>IjJ6.E=1qEhAdf:Vp5hsc-+l7$->80Qsj7j4^]r"_DXJ$!jQDU7ZN@bBtU=g%"AVY#c2VRJD5o&jftYOefrH^sik:[,!*rf0tKo2(7'%UYWi[152*0Z/ejpV!YLrr<[+>a`MuEFI*Aq08\i`uH9&!/89b:L;<0rE7@Dh-87'P#%t!HRoYVdIh^kb[\)jfh]*W!'VsVH9Xd2el,@GFdCZI=N9?',b>84LnF8hXa&7n!,d;K.rX_9e^noP5:8*oo%bk#C"sQCo\A&JV75Z<`IGn,-(>,mJ;cV7V8>A4iTs4eJ*JQ09NZ:8/Fk[h_EQSrrr@b`R@dFJ0PEHaI8EpB88dl]R;r'T@p<qoh>L>@p2ALMr45,i$"s63D>!mdf/g?:/G*)'9X]Zp+IW(-=f:kWrrCtnr>NlZ!1@,*`fL"<rr=cK_9@Oj*8Kum6`H#-O&,FuR[:!s*;9GRo3=(9UE=:#rrA%Ul$laF<djR0:ju\lQCF6rh,JuJX4;Wif@[8!m-]q)d=M0g@F:,!I5PNK`g8L6`eUe'SrF3QeAci"n27\+e#:'uD@IlX%<-`tp:\dsgL^?Wg&@'2+6_<*GLVYMf9&M/>@6O&\?O$Ef]N':rE%XPioVt-c=`K2PQif83LIe;k*c0L[Di+I$o5^Q;_5JU&WcaO+V4+XS+cj^ju%X#rEfL(bG5(;Ya0e"f!e#iqQnSgXr58(qn8lU7>us,5*K1]qG6igmf*8VW.3$o[GsdU\c2YsV>gNN]%;o`p?2EaX_"+VQ3J#cALO+gi/dgF9_fue,YVjq',/ga&,J9BMuIhj&,VT@mAiJB$JTm($h5+'a&q\T**HL8<J7lBG1>(^2LBqDq?r\.qN[RkX8?u(AgfHLXo"\n5;A.Ko_smN!6e[!j7O@-"dm;uf[3u)e"5i..rLW]d\a.+p8mWU3B5/9`K8EIjCa9<^NM_E*i>6>I(VueVJ"IJaqam&o(nQ!g$/M:nG`Lc%<qf7:>W>+pCHH_+82/l+8D[2ls3Ec'u0X1\,QG"-Z0`!gcn5G,Q@?fnc&TH9o^9$`i"=X\/=uqpHR]tJ,dp_*OBh$QRB\i2sC8AQ2!#(dTd3pA+FO(O/qn#kl1XJpa,c$jaIU#[#k:f&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa:!X\:#u"K)+XVA%;=n=5*ZSs4IB36:jlS+TMKB!!$"!!!!$#!!!!0!'pTq!,hjH!+c-Q!)NZ/!,hjZ!,hjY!,)@N!,qo<!##>u!+Z(J!+Gq>!$D8<!,)@N!-A3Z!-8-R!,hjV!$D8/!)ikS!!!!"!'!;:9`tY#z#65#0!<<-$!<;!iM.h!QE&oX*DK@F=A8bpg/n8g:06goE0/5(50*"+!G]7)$CLqT1@V'1dDET34]>#O4Bk0@N=#E]+9lNI2BPC"`Eb/0q:/k_LCL]A8,!S764Ero3D/a?'FC?;:D/=*23d<e3@:X:cANF^M3c/GM@4rfIGWL(dE-,kY,!faX@V$Za9i)s"DfTD31bLO91+cui2DZI51G1I@1,^mE/0H]%0K:^>2_Qs@/MT4G0JtmJ0d%S]+<VdL+<iul4E=tE3`8@8+F%a>DK@jZA7dtKBQS?83\N.1GBYZ`1G3TdB.ku"3B8`H1+tC</TPB6/TZ2TFCBDGDK@$H4s2t.A7dkjATM@%BlJ0.Df-\<A7dl2@W-C24X)'mG\q87F#nP_E'5CYFEDI_0/%3a/n&:/@V%0%Df%.P@;mkS/heq&+F%a>DK@jL@m)#LFEDI_0/%9eEbm@HEb@%9@kVD0ASl!rFE9)i/ho"'+F%a>DK@jXBQ&!2F(fK24X+Q]FDs8o05bh`@:X:cAM.J2D(fjADffo=BQ%iC0eP.5+s;,ICi4;TG\qCo9g'\6FEDI_0/%3a/n&:/@V%0%Df%.P@;mkS/heqqD(d(UG\q87F#nAa7<Wc9,%u(?E&oX*DK@F=A8bpg/n8g:06goE0/5(506:*<E+L\#ATMd4EarZLG%GQ5,9e7TD/=*23co(JAj%>OFEDI_0/%3a/n&:/@V%0%Df%.LBkCs10eP.5+s;,ICi4;TAU%p$4X+Q]FDs8o05bh`@:X:cAM.J2D(fIFBkB"Q/heq&+F%aB3^[q!@<?F.<,Z\k4X*1&Ddm9#:hXchDf]T1E$.MH1a#M$@qfh&Df]S9+F%aB3^[q!@<?'K@<?'D+u1i+3@us@/MJqZ0fD'J1-.6N.ki\=0JF[nG\qC\9lFQVApHdQFCdTZ1,(CB/MT"40JZT^2EETO3]&iI0JPUB0HqWaD/_O1ATV?k@<>pG@<?'D+u1i+3@us@/MJqZ0fD'J2EEZT.ki\=0JF[nA7IZ4DfT]'F?Lg^D..'g05>H;B-JI;BQ&!2F(fK23^[h%DfSQjA7[nJ1Emr\BQ&!2F(fK23_;\+:i^JdBl%?D,'-XP66Jig6T-YZ2E!-B/hnOmG\qCo9fbj`F*(i.@qA5"4X,,fE%Yj=A3*+G2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?G\qCo9fb[\@s)X"DKJH<4X,,fE%Y[8A3*+F2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?G\qCo9fc'jBkM-t@;J>M@s)X"DKJH<4X,,fE%Y[8A3*+F2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?FD5?!3_sd1ASuTuFD5Z24X)U)+EV=0Aia$lATMd+F`_>9DET1"0JG170JG.70JG17+s:uAAnF),;IsofCisi6Df.]^1GCL:0JG160eb:80HqW]BkCs<;IsofCisi6Df/QmBllK^1*Ri_BkCs<:186YG%F'UB4Z.+4X)X=2CpU@2_6^A3%QgB3@lpD1+Y1>1b:C@2_6^D1b:L?0J#(;0e>(>1+Y1?1Ft:A2CpX<0e>+83%Qj?3@m$C3@m$D1+Y482CpUB0J"t<0e>(=1+Y482(UO<2(UO>1c$mK0LS;`0f)6Y0f:pK5rgn_3&O#[7PI1h2E!NM5r:k]+s:HABkBD&Bm=3*=@?k?ASuR'Df.]^0etF:+s:HABkBD&Bm=3*=[Zt@ASuR'Df.]^1,_*9+D#e3Ai`:tCi=>mE+*6f4X)U)+D#e3Ai`[qFD5o06tp:FF*'Ph1H%3N1b:I;3ArQB1b^pJ0e>+>0etI71H.$D1+Y793ArWD1b^pJ1Ft=@2)-d91b^pJ1b:F@3&W]H1H%3N3%QjA1c$s>1G^jD2_6aA3&NB@1Gh'K1+Y4<3&NQE1Gh'K2CpXC1H.6D1H.*K3%QjE1H.<F1H.*L0J#"=1H7*?1H.*L1+Y4?1H70A1H.*L1b:FA1H76C1H.*L2CpXC1H@?E1bggH1Ft@;1cR<C1bggH2Cp[>1cREF1bggH3%Qm@1c[<B1bggI1Ft@;1c[EE1bgpE3%Qm@2_mBE1bgpF0J#%83B/lI1bh!M2Cp[>3B/rK1bh!M3%Qm@3B0#M1bh!N0J#%83B8fF1bh!N1+Y7:3B8lH1bh!N1b:I<3B8rJ1bh!N2Cp[?0JPI:0J"t11b:L82Cpd<3%R'@0eb.50e>%7/28q30f1F92(UI?/29(70fU^>0J"t7/2B"41,LO;2(UL@/2B.81,pg@0KV9L6UNOe1GggT1,D6P6SgVV3C>S[2)n&n1c.W]75?&N+?XmcE(s%f883-eDfU+e+?X[TAi`k%EBYL-Eb&cCChY#5F@C@p3alN?Bl@lP,%GY)@<?'k+s:rK7<Wc6Bl8!6@;]Rd8OP]cG\qCPBk_*=6p`ae5r_=i1cR6E2E3EG5sd7b3($/)1daPu2)%Hb+s:rK7<Wc6GA(Q*4X)X80KC^>1+b18<&$9l1,_0M3@cd<3\W63+EMWnG'#cdDe=*8@<,pFB4Yt&4X*1&Ddm9#:hXchDf]T1E$.MH1a#M$@qfh&Df]S900UL@Eb&cCChY#5F@C@p3alN?Bl@lP,%GP/G%G]9ARlu-F*'ioF?4ALEa`frFCfK64X+KYDf$V2D..'g05tfA+EVNEBl.9kAM7e;AS32?4s2t.A7dl=BcqJ=7<Wc6@:OCnDf.]^F('6'A0N.;F@C@p3b`JQFCB&sAP#9Q,'[sD/no$13^c=m1I3ui1Gh'H0K(mF0gS,[3&j8p7PmIu7Pukg5p@FmF@C@p3d57KDET1!0JGL=0et=71/otd3\iTS1c['?0fh!B+s:rK7<Wc6F)PZ4G@>N'6"abHF?Lg6A8bpg+Ac`iFDl56Df?gd;`#Uk@:O"hFDl56+s:rK7<Wc6@q]:gB4YU:+tk,n4s2s@Eb&cC;e9r4+?V<%D/`3D3_3t+FDl2F4s2s@Eb&cC6tLFLEbTK7Bl@lQ+?V;tA7dl#6q0?_4>1q?G\qD:ATV?E+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+?Vl5E+*6lATT&+DIbmSG9T78s5FGh8OGjP:f:(Y8PDPQ!<E0#$qO'+DJoRf!!$kRFE18L66KB5=s+'q!!3-,!!WEX!!$G;F)XiP7T9?f!!#SZ6QgGJ7m[1Uzzzp=93Ezdk+*e+<UXazzzzzzzzzzz!"i^[Ec_9]!Diar!&J.sF(51M!JCFQ!,Qk$E-)'[!Up'h!#/mXE-)'[!X&K'!#0HU=]te*!Z1n;!#0'J=]te*!\=<O!#/mE=]te*!^H_c!#/s\DI`_I!`T."!,uIcA7PZ?!lP'=!/Pf@ARkc@"&&[p!/>Z2ATn+S"4R;N!$lB'D.rtM"8Dir!#09]@<2DK":P81!$lYt@qYiB">BfU!"<mI;F:Ea"?ZYa#Rk?F;F:Ea"?ZYa#Rk0A;F:Ea"?ZYa#RkfdG]Woc!!#B)E-ZJ<B4uB0-t=\K0f_6R+@p'fCh7^1/PokcCLM6o+@C'aE+*X0!!$P@F(51Mz!"s?N7m\=i77/sf3ArcI1+k9]zz!!!XQ;Fa%r8OZ!)0f_-M/M\q5zzzzzzzzzzzz!!$,(=s*eFzo2,Jg!!!!"(<fl`=s*eFzzz!!$,(=s*eFzDk[433;!7O"-?Vf=s*eFz@[R2r[tOe^(tr(p=s*eFz,bP,;%tjo_[a/JqF(51Mz!#A-p6Qg&aFDs8o06_Va/nnm,/n8Ppzz!!!d+77/22FEDI_0/%NnG:mT@@kM8)zzzzzzzzzzz!!$P@F(51Mz!%pi36Qe9A3ArcI1+k:(6tKt=F_l.B;Fa%r@rH1%F`JUGE+*6f+>"^W;Fa%Rzz!!"WC77/1U0f_-M/M\q5+@KdQ@<HC.+At]r+Cf>+Dfp(CF)YPtAKWQIF&GLpzzzzz!!$P@F(51Mz!%_#ZAn?!oDI[6#<bZ,hBl7Q+6Z6jQBln'-DBNY2+A#!h2DI3M2D$[:0`V1Rzz/5g%kATD@"@q?c`Bk;L&DJ((ZDf0*"FD5Z2+DG^98OZ!)0f_-M/M\q5zzzzzz!!%1VATn+S!!!!4V#C?.?S2<icP-?]mE>P5'+4dB>b1oq!!-2)=s*eF!!!!m$!%%&!!!"#+6RKP@<2DKz!!*'"zzzz!fm<]!!74UB-70S!!#Aa<$5[nEcqE_z"98E%!!N?0!"T&D!#YbX!$_Il!%e1+!&jm>!'gNQ!(m5e!)rr$!+#Y8!,)@L!-/'`!.4ct!/:K3!0@2G!1En[!2KUo!3Q=-!4Ms@!5SZT!6YAh!7_)(!8mk=!:'XS!;6Ei!<E3+!=]&C!>tn[!@7as!AX[8!BpNQ!DEMl!EfG2!G;FN!HeEj!J:E2!KmJP!MKOn!O2[9!PnfY!RUr$!T=(D!V-9f!WrK4!Yb\V![[t%!]U6I!_WSo!aPk?!c\9f!e^W8!gj%`!iuI3!l4r]!n@A1!p]p\!rrE2!u:t^""aU7"%*/d"'Pe="*+Km",[2H"/5n#"1eTT"4IA1"7--c"9nuB"<[h!"?Q`W"B>S7"E=Qn"H3JP"K2I3"N1Gl"Q9LQ"TAQ6"WR[r"ZcfY"]tq@"a:-)"dT=h"gnNQ"k<e<"ni-)"r7Cj"uc`W#$D.F#($Q5#+Yt%#/CGj#3,p\#6tJO#:g$B#>YS5#BU3*#FPgu#JUMl#NZ3c#R^n[#VlZT#[.LO#_E>J#c\0E#gs"A#l=o>#pfm=#u:k<$$ci<$)@m=$-rq>$2Y&A$7?0D$<.@I$@rPO$Ea`T$JZ![$O[=d$TSSl$Y^!!$^_=+$ci_7$i(2D$n;ZQ$sX3`%#tao%)<;)%.ao;%42NL%9a3_%?:ms%DrY3%JUDH%PA5_%V-'!%\!s:%akjT%g`am%m^_4%sebP&$lem&*si6&1.rU&7H-!&=X6A&D%Kd&JGa2&Pj!U&W@=%&]kXK&dK$r&k*FD&qgmm'#P@B'*Amm'13FC'8$so'?(XH'F#7!'M0!R'T3[-'[@E^'bV6<'il&o'q5rO(#Ti0(+'eg(2ObI(:"_,(A\gf(I8jK(Prs2(Xa,o(`O;W(hFPA(p=e,)#>*m)+>EY)3GfG);Q26)CcY&)L!*k)T<W])\a5Q)e0hE)mUF:*!.*0*)[c'*2=Lt*;(<n*Ch,h*LRqc*UFg_*^Cc]*g@_[*pFa[+$Lc\+-[k^+6js`+@.,d+IF:i+RgNo+\3c!+e^()+o<H2,#oh=,-N3H,75YT,A&0b,Jk\p,Te:+,^^l<,haON,rd2a-'opu-2/`6-<DOL-FY>c-Q"4&-[I/@-ep*Z-pK,".&&->.0_4\.;LB'.F9OG.Q&\h.[qp6.fq4Z.qpN)/(#mO/3,8!/>=]I/IX3s/Tr_H/`A;t/kdmL0"3J$0-i2S09Ip.0E*X_0PiG=0\\;p0hO0P0tK+11+G%h17L&K1CZ-01Oh3j1\!:P1hAM81tXZ!2,,r`28V6L2E*O72Qet&2^C=i2k2hY3#">K3/fi<3<_E03Ia'%3Vb]o3cmEg3q#-^4)6pX46SdS4CpXN4QARK4^gLI4lALH5%$RI52\XK5@HdN5N4pQ5\*-W5j(E^6#&]e61.&n6?5E#6MEi.6[_>;6j#hI7#FCX71r$h7@H[%7Nt<77]T#J7l<e`8&.Y!84uL98CpER8Rk>k8ao>28ps=M9+4Hl9:AN59I`_V9Y*q"9hJ-D:#&Ji:2Wh9:B40^:QnT1:a](Z:qKR/;,C,Z;<Cb2;LDB_;\N):;lWdi<'jQF<81D$<HV<Y<Y&59<iK-o=%$,Q=5[16=FF;p=W1FW=h%W?>#nh(>4l)g>ErFS>W#c@>h31.?$KYs?5d-d?G0\V?X[<J?j0q>@&dW4@8C=+@J+)$@[pos@maamA*[YjA<^WhANaUfA`mYgAs-ciB0BmkBBa(oBU3>uBgZU'C%5q/C7f88CJS`DC]A3PCp.[]D.%4kDA$i&DT$H7Dg63JE%>m^E8Y^sEKtP5E_CGMErg>fF1?<+FDu?GFXVBdFl@L-G+3[MG?/poGS,1<Gg(F_H&6h0H:E4WHN\\*Hbt.RI"?\(I6i:TIK=n,I_pRZItW=5J4G-gJI6sDJ^&d#Js(`XK3*]:KH5_rK]@bVKr]q<L2r%#LHC9`L]iNJLsCi5M4'5"MI_UeM_L'TMu8NDN67,7NL5_*Nb4<sO#E&jO9UeaOOfOYOf4ETP'W;OP>.7LPTZ3JPk:5JQ-#=KQCjKNQZ\YQQqWmWR3\2^RJ`LeRamloS$/>%S;Ed1SRe;>Sj8mMT,jP^TDG3pT\,r.Tsg[BU6_PYUNWEpUfO;3V)Y<NVAc=iVZ!E1Vr4LOW5PYoWMum;WfO1^X*(K-XB_jRX[K;$Xt?fMY84="YQ1nMYj/K$Z.?3RZGNq-Z`^Y][%+N;[>MBn[X#=N[qN8/\66>h\OsEL\i[L2].U^n]HOqW]bS5A^'_T-^Akro^\,B]_!JmM_;iC>_V;t1_plV%`6Q=p`Q6%g`l#h_a1o\YaLoVUagoPRb.#PPbI5VPbdG\Qc*bhTcF2%Xca_=^d(7UedD"$nd_XC#e&Km/eB?B;e^;rJf%ASZfAP:lf]_")g%!d>gABWTg]cJjh%8D.hAkCHh^RHdi&9N,iC)YKi`"jkj(%-8jE'D[jb2b*k*G0PkGdZ#ke-.Ll-S^"lK.>Nlhg%'m1J`UmO7M1mm-?cn6#2AnT+1"nr3/Xo;D4;oYU8tp"oCZpA=TAp_ik*q)J2jqH*OVqfhrCr0[F3rOVu$rnRNjs8W,e!"M;*Ddm8XA3^+p!!3,S!/(=Q!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E6'!WiE)!WiE)!WrN,!s8W-!s8W+!<E3%!<E3%!<E6'!<N<)!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-s1eUH#QY>:YQFn<!!3`5!tbS6h#IQXQN+l'lMpqc!WiH)!<E0#z!!!!*$3ph;"U5)2!s&E&!WiE*!<<*"z!!!!)#mLV<$3:53!Y>>3"Tnc,#7:bE"9\l1"TSN'!WrQ/"pYDG)'KV+eQ17fe!-/q(KY5t=:$_0,*Gk=e5_c";3S@%FeuK)(c!<OG%!0P-#nKu67/s86_QA+2MMeD!<W?*"9o/C#mUS6!s8],!<N?+&Hr@D+k$]60bVp!<`_R2OqX%Te5[;^OYT7$;cK$Y(1nq,)(Au=1U@c1FZ)4!Z?)cd[!%"o6O@5,d;i_RF=$EEA2XD@!"8r1!!3`7&HG#q[VfNt3?$erf/4b9F&X=3iRB,1)Db1'L>$JT]Tf6A9?BbA,aZ;73pCL"[D(!I$YUO#_RNZ%lfg#?9)2Tu1!:eF`\p>]+sK/`66^@m'3?flk6Bf<2WVM($^)AX,_`8].pAsQX[T]k(sgC^=6YE;^81LC)u&OLMlho`_b7'eImj&:UTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG5EK'KY9!%)(.[*cAC,00rDJD9oOkc'B9tqT7es^l\V,&NeQ(^Z;["deta)"JEZ$q.4jqblqQZuKb=,%rmVl5ICb,pgUC)G&0jB&?23NB$VW2O2#gF[AEgOq:=I20^/.cI+iluFt^X`IUEMOHU6J,dm&%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_dBjC1ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!3n_uB_e4F@(rT`5!H?q=RdrrB%RKDtq;?(^P[0[.K76cK'*_l*H;O8mY8%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_e$KU3ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!3n_uB_e4F@(rT`5!H?q=RdrrB%RKDtq;?(^P[0[.K76cK'*_l*H;O8m_:%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_e[,g5ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzz!!!!$J@:l7;FF!N.7tk^.7kDV92^_3Pba4OR@+X'$&4_M&J\C!?hu-]:BbHT`U?+8<@l$Ge'edpRqH63&EV97>dQJtM,*+NKt#/=>0Cq9PkoqXhLOoV=/V6MJpf(Pl896R,[:i(q\`eQ49JB.B.amYnAU`d(1u%>kus<*.U*lbf\[e6hM^8=j'0H%Ce8*@b3L"g9pr6((e,Ir1GJDN0b&=B</*hf,qMZZUhYj0IlcXs4LX"`<CkQ`.bgh)`jNGG'7#$KBm"Ac4js%ElD!b:Q!R:)/`&6aX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXW,9f]Bp8WINN9HE&UGCbGpK8_GtkHh;]f-^8(+oerA]nh=c]<^CR]_\/V:2jjcfWi@;L5DXin'?W$PrlULEHDYliY?\d?@>Rf-TEpBCfn<I<V2gEGNYGh>toqQc_[sauh0>m00Xp4-;3H\2Cpe%_<)n]^b=4DZJqU)rk>JAKDQf7Y)<s*QXS@YZ2r$>F/%GijAX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[>(:-Ij;Qs:iB#hhm_pV#A46A;bEC`hCd"lA[N0'Pq6m*mIR3amA:9so@^4Tb6AW@O[;B8V[4&fa57cH!,p[65fmQG)jF'Bsf1D*SmUVf2hTr<m$BfH`gKNlYN4A7[[KWu*.$?`jPBr9*O!,H8K5)*a(kq@]f$9VO?/@9SD%ldS:L-e_J'qCjec,WL.?<7H.V-M=06t(mWE7W)WarI8O)r]ulABFb553rAOPF9'WIq<7Jj.UVMN*=/<GdTW8T8[s:9Q#*K^/R;.@2U=)=SFVO+U#5TD`b<RYJp2$I"Cm=hUnZYX_O9lrbK8GG9Om,JPhDSR$a3=)put8VQ]B<BQR\AQ2?k[f0@IhHZYXrrCZW,PYd*LSSb'oL`AHdU"E5jVf(,)_&^;JJ$MbU-`"BF[_KXf5XDclq'8fKe$kR:Cb2Qo*]%Jp:rE/>8A9?qmopFXLDu2G9SB'>tjCdV)3/]@sTN&7sngQ5&=X392`s$Q_iKpr00rZ>`$@5^uT=R@W:j>o_bM<7ZeU"B_,Y(O#@]\OWl('Dm_&7[N$m$^D9dk\AX,,,MJEV8kGAb@Ok.]eFQ=/;%)E_NQTj-aK9MgS1SeeLojYCU7s+U%IAI?8IVl7P;-lp>`.,j;hZ4AYu+HL<(0$Uoq.<Gzz!!!![lG[4rDUL#$"b*9XNC'>fk#JH>HAh!H!gu]ZYdm]1b`LeH)35OpC0HSr!$Qf2p"f@jFmWO)Fkq.[<*iQ[[O@l0(!i%5\JiIBWMNk_.O$&)Unk#oWhuG^VL6qCaOoO4M//^WW\pnn-ORCa&IPc-9AZ/:45VXFPq3`6CY7)N6$N#cT15a-k\?GaVnd<%*RS%r;O'F4C3B7bDfR,/6tSG;LlFu(Q$'W)YuXl`]F/gYk#N.m^+m!sn$Q',o-7^kd22Li;E7k0NWe`/lADl3Nr*WnU06V`m(n3iCaXF*j,?,)jbdSDq)j^[S5qYkT:(arp88NKm<I2cpMla@MMRWAGh0?PU2M^&m4PONRCZ_M>uY,/'!'.`kBDlMlM?RQT3=15CNnJZo)(]"lJQQHZ^4Z.ItXimJ\/ooomK?d:TYSU[Cbf>H%$iLF`994fupCR^VWur5i(HHHG60BVq-jf>2An/]Y=ua]!r]Um,cbdhr-&tTPj:_]jFY2;sQpCX`"#(hHu&l?!Iiep2]Gmn*lTK:cEX@?E^=)WV*$2f!g(%D_K#q0!5ECHT?4GGPFe6-l]g0Y?05%eG@S*CKnO#2j`LsQWF92]pu[4]DNsVPRZJ)=0(UMl@!@&26GbLS'1<u9<3WT?HuhU?2bJ;ap.;P/(O;7F[!0N)V4Aa:$).uV:EB;04uo;0)knX<TO=,N0W])O1Lre2iVTsg*ZCg518`SDO7\r<>U.<Wq(_Q`_,oP8)6tC)of:tm1Xbo+),k:2bViIWf+X/<I$jcj!B#cU[G&2NT43up5-Gs&%&pX)l;o_eOABS._MElnWLRm;>4#T9^ASS:&DkO1RB\`;.Sr%nnplrigFae*MhDle*T4t)m(,qjJa%L_Z'T_'+PXXDe`$8Q+"h2N3XAR2_oGc%%b8$`](h==*L`B2i.Yd/P84(V9$@4Si^[H?KAN>Yu-Xknh,Za5%<WNc^AX'mjqCbi#4I`:#a,15%K'4\JMrrb@TXQV64)P`Zq(d)HqTJ:3M[gV,C[$<9qlZ.F=_P?*,]6.i"E1a).0C[7/&H4B%kKE<baAPARa$;3FgKfKtg@)R``(("L]._b1]m4mdtL</MrBPu9Thb3*a]MoBTPc?4r/Wi`:%*F2$IlKYC;9,%et7l_cRe;cA+WhUHO<Hf%3g:*$@[O.8>4#-8t2uipY#!:!g;Tlq%lKcSQ#,[8XX(YEPW6TU%:/pE#af9b-QHG/H?!aitBTF%*iENH#h2*EqAXFD>iZ,qVQR3*We8%5A?SY*hp8i0?jcOtm;)&hX*4u_qp/M]Mr%3XVS7dXqX>+Zm/@V`dW5^3mC2gmWYI0BKU:p!],'p8F<APbEcS^E"hR>AaD.SU]5IYD#Bi:m1<=0bZrA**&)Ru%.>;Bj=,tsWj&WiSek8%\$`jP.W1.bd&(>.4]mOUG@h&"'8VS+Wr+DYSiRId5>'(EV(CF3h#MWJ.h)O<7N<p<SkD&VBdUF>Q2RdI_j/1V0XitP4([1^&MI+!@SW]!>SW2jhOW0T<L-CZSo+1uAn^<nm+iV&U>#<fY)c<XCTrXu9S%UXF=Q0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXW,9f]Bp8WINN9HE&UGCbGpK8_GtkHh;]f-^8(+oerA]nh=c]<^CR]_\/V:2jjcfWi@;L5DXin'?W$PrlV6<aG$W_&XYTg#<;f-jY]3[/W-,bBE&17s>MDq4N8WE3aX(ee9"f;Ud[N_DgE&+UI)u)>8u%-i=:]"+N5/?C;WV3;-8rM6nD3RbPq1VBgXO=%g-7r"MN2#\jAn_:PuC:fSeB,GWPVH1Vn`uW`AO0!ki,Z;]tKuDmnWcV-rEiCh*"r[p.D;pF4p?s@=CPsB<],u$1O=\YO1:![6H/*!-nPTQ?;=I\21.M8Wd`:b%*M4)O3d-aGgN14pqimRl4f49eEUc/7t.,Mc#T_.5N^IVP^>pWMZDbVgR$Y8D)s^Lou*]ogZ3GC2%aZj[QWk8ueU,aC1O7BPFH>FHnUEXCE07\aOR6>1TE^=#j7m'=+W<^Jt4)h!')r$N$9=aHaD^M5Y/M's>M:T12elTr:_r;Ju?9eZ!WN2"bSS2+M&6"N3^:P><TE);Q?+Cfcq4IfWhkbtKK\HXiM/n'qdjjl4`>d5\M<GGuG08<ZH&>?16peJF%$7'g.%fn0E5(eT?8!tW4m@_'t%bcc,Y=B3G.;och';,T6tpM&YYY#J^\'bai]NGEal-M%'udd#cF>G^]JeOABS._MG,Hb<mm=4DZJqU)rk>JAKDQf7Y)<s*QXS@YZ2r$>F/%GijAX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXZ(_qfm@&:[*/"(1\D'(6,cl6U/pi%_SnRdC]<1.RDH9[P"OKgVS.&QPr@<]duPM%^1;UX,tAuQYTD#6)1\QdV96EQ9Po#!TtB5c.Ta*c\#GM)[!mb#'casU7:^)FZDqV4o>3L(PrMB.W%\AWnP*X73]NDR05kK?44CqCMA0#ipJ+bo4dE!WNXs38$h>(^4p(L;RI)dppn,DQ-i8-\mJbrR#ESoczzzzzz!!!FgL]7@SGk_0o62k?/OLlh=!)pE5rr=U^5M\e;R>LisMuNd4:\qOBs44OeHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzz">P8TFfou'f9)rcB3/"l(AO^=Z6`tOnItV-NDjC[.MGUdXuopGn;a7iCbg#g1sK84OP5T/2B^]-kFM8]DW;W<Fq_K#ZA'a)CKFXWrg?W*3XSr-HW_g1'1t[b=bX049ml-;,KsCa8T#QBQi/1J9beBo?dbr-ZAP2t3tI`1dZM'UZ_TuW6sKj`Y`&)bHii8lD-L(pZ4i<"zzzzzzzz!!!!"_3#UO1*\%=8GGaU!:g7m9e!pgZI=Q9[0*9$nWT#P)&)B-OI']Ag?Di7Rj+NYX)$s/SEn:GK.YU?rrB!q\J`gYL9<6I'_HQcm-U(+btBhOX+?C?r(A9<VFJO,`U%T9M8c$bmrPp,ftkX5-E>9`RD:hN"H.cc%?C2BfZM8dNhqZd[HNoKeFsTNgLg\JUpFZpFm"R'DbWqaOQ"kQ<Wk(X=)jLGCCX*^[SgI9W`h7i.h1;+<gCOs64k\.J*/YQlrpC35'CJWR2&i3Q-K9fJn:.(%H.[7N(%)`*E+es4NlAG<K9NH*/_24.q^cG2\tLD9%6m#p=q5Epp!l>eOH::Z"34MhIKs3Wj06cK@P<Jh@U^O/cYkOz!!!!)[dY(>T)fOQ:cr\3hY4GD?hWRVg/>o_F#l0&9+/uZb'V'DeZ1E0DH&06)G<[d;?[frV<Xrmp,OiUNdpU?-!K`Rq`=`DV5DQ)B0lOtoa09MFMd\!'M_)4l^ZM`I&Um1XjYjed\l=HWF.e:jNm136^h,GPPnag<4elNBk2*MCT<oTi-^As@CJiuWq?67<?R*#M)`9Nzzz53cE/V-BqJW3g4nWg.nKplr?i1(,Ur2PX0B+h4bL_iEChO3*Y5e=d0mg8-3RI+=LHQZX<SiHS>-$4;$K,a(;fXH#1r>kbePTc2LVWiGP4*f?tdH7EZeb/rBQ,V4#npFVA7)N*]<b.80'LoRJf#[@a&H9A(h1D."5C-5'JK)B3q?RAfW,W]lb658fFaJR'2VKA;A0.<Ah:Q$Q?STfc5d3aP?U<gupo#G[7mZp=M/$[EXmtkmV3\&f/A<$?;M\0-NVDqG3iT$rfQ@!6*7VcJR91L5]KP4WSki5lGN/OD&02HdLSZ4<.7ZD<n]%ucdR*ks7!!!uf84$:b(5CR\.WNKK>$GjPd$%A_EQ+ACgMNUBe>"cEO_m8_jUod=[B3GTXb_e!WiG8N6qo/2\e,TJW3K?"&J\Q^&JId:Y6#mpPu[/pBi:nDo0$il;AgFq[=M:]QqnUM,r8>G1PSc1gVQ0*%\\,/`A1*YW(AkdV%N)I7,39Bhq4F4f^EHrjW5'1hhihE1D]b:Wq:=Te5WTUm%mL!/+cD2^?^[n"EpoCm+[^qQ[!dq*WH+3M2a/:R]]*<V5IN;b&m:tm15b9f+jea[:8W!nkB)azzzHi.*,Y:RkYD-URY;V,!^0)DV*\n"e1M1u=`=#-[NGpuTYUs`\FE[<hZ`G((VJ!c95`gFdWjo-%0nWkT*81lq/(.fP6SS!Vs)LH10HDGPc1qE$B3#k_NDL<OF?C7&XW^q$-8<rXfAU=kr'AG\<Z&EV0EhX@7djCWeh(N4VHPK]IDG&k8p6F<NRj?M,_XEl@79?uGD;)A*inGeh11k)9,>GUO,\DINo8bd!#'8hJf,J)b<]3D8FO46-.;;nbhOnLje4!G0n,/?Zmp6\rVd.<e$fa#tA`8MbKiXuG80PFme'k^+]u8dHWG`\F-aSq?mL'Ub!,Bsc!!!'#rU%2J1_f=)@g]Z^;)56/?)PI5&!E1_)b,7N4qI-RXDpqDGrV`%!9Zn[?%o_17K&]<ELdT!.<IoKrmngQF'&@BV76I)SB:d2M8\i89."oL#&7U^>mYH;fUe_hf2a@SrE2ql37=]4'X-`-P'VWYzzz!$;"Qj"&;.j9o00=;80nm`W>Cbq>>!jX*%l]rRJtW4nLpU/G]&&@iFF1>(&-W;'.s*\WL-NZZIB/U_+[;-K&dF:bO:4,(jiL;t3ZBk;=[,@YA.gkk<q^uB`7F5ZqIoYe63;F>S)7'CsL/(eVST%WRTN+7:BPn:M2R5F;CBmUEGfW*4h,d&%\Vfgd0A=B!3h=Ff`WqH1[$I[C]Be725bfVb#Rr#T+7X]USP;Y-"F5tHq)di#62F[(Vcs(97BiqFmTP%``79<+Mr0"VZm%Pdek!i`c)4?C9$r_O'[3+*g%CW^:SZ9Bk-MB%?`f]-77<>si7+_O@9Fq1(zzzzzzzaS:8]ViQ>`oH33H#n+%GofJ7bo#nB<e7KScT?)8lpiQN9X)\0kZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!#h?.bu@nn9>d#Vl?Pju??N$*6,n)Sas/t?e@=YJb*LITQV-/EgK@+>iG:+i+d+Tba;`<8gloGCcQCQnWb$Q;HCp*QiDPO/)J!uJeuo=.SP`mN^98F>S64Q`4J0e)a#1,M28oX.4.[B;XIVTG6#X#Cn9<Pc'p0lE`db7&Ph!D6gQMNHD@>1fX37\P2cX$uEkb_HiOL;/;kEQOOS[<$-p]:e<ng1Y)Jpoi8<T,[lj[ph=%4%;DQGp=:bn?uU4JEB',&<j2C4>NoiJH^/seRuc;dkE/cOtFDX3&CTXert7R;1F`7X(/WF@`D9+aBAWiEX1D,jS9;pLD*j?N\Fzzzzzzzzz!"S;L\Eij:IZJVT[@3)gEng3GeL6^*7&OHml#d94-Q&*Y;^tG"3/&.ZjAJ\"U,8:#n^kJ%Fl2q!IE?onnQ"B[;*$_2Q)OK=A!4kim9L'Wl_<%1W2PT$=,l$%HdGf!GGQ:%(Ni,\aWlqHjuok?'s;<8<;us__O=,,qn2UL:Xsl\rMb(Q$CRG9H?0SOn6&+U,$pL%XV%#8W%h5i95<QfL?`bT>ZfDiQ(Wu#:m=i.eU'1(A:>\^qnpX@CpgpP<2Y&B\^ZgFY$+Dfg!OT7jBXN1MUu&W*3Q=>rlH(;X1fgkmWQ<L&R-HT/mDTGGq@u-1p62AQE2`F05<"<f<nW,4sE!.5QCcaz!$e,m1T]g:=N/6tg(ToUD93?c_m:1G[d06M(Ze)c?aH/%(m4J;)7*%0b@C.X<lH5;#YR=Dp3W,enY4mLoeVdaY)+(n[k4PD1A`K`R(](TLX[e,Bb$+4ObA>>mjFpU$r44^ZmqFqmX&59X(ipNHR;XuHTZ4X18hC<7YQ1]O%>BW>_hFaOSlY0T6aJ9Eh-G*AP&!CSrk?emM_U@pYK&TCJgObUGG(I(U"NM5nm-]'4ZTQ7^]?dCKf;cNGDBJ,?fnZLmeng`%?9pj+]H\$uKNLC*Qp3Yo8Fa+sJ@e6qmrD^k_J%_tF'1zz!!!!"@1RIGMLM<A%]hF6-Y1>9\st'6W%kO9`,RD!S!#$Nl?LF";GD/q#%UpV2^FabQr-k$h)e%(dk+<bi7dYllr<rP1De_)/9<3XjS#][+&uq]\<*o!Q)aoYXj1;-,bHRUeQ:m8WVa\)YHi1NXeS<[_J">s!1/T^n3%*G'o##)z!Yg(L>1Yl^DTU?S0rpdfe`0:hnr7CUnT+>oRo+*><i[m\Xu'ndh&0I33t.X?9NKJo8kh2kYjTf9MXP5"Nu:buL9C?;0'HW1.VdVIC/l';Tqupgpeg\jDZhPMR6)q[cd!KL/BYo<QJ?S&fgQk/7.gso1TE+6M?VAP_raU:,L]ie+sJ3TfL<SD?NCu*+`D`h=+miOzzz!"MPYb`\,H.7Qm$;F[K38hs":Pba:2;NuM6MhK<!<CB8U<('Mb5:ZXtWecP4\dMR9Z#irKGK6PFZ5"etAt58\@;CcM^\Xu4aHt"BK5@?L>\M[1`t]5%L0G@ONCH($PFQqjgF$["c$WO_,7<#%jlOfLU,f:.f%)b15,1WRL+_1@DSl,=HZnpok@n2_oRhr`CYTXS\2N`>HXpI6Whm/3dqI+58#;=@(UfO^2T\c,TSu,9!,+$u'3O`\SV`Zg^EtdracI`AV;n"Jq)==og'F(G?Zdd^g]%7lTG++uOJ:DTHB=.$+mpnSfjc-SZc=&npS9HS?eoX2Q1?6#hc5#:ki6m!T$P\3BoWmKZoQ@>H=SX)c^MAC5AlJ*_=S4QlJJF"ipa7=MsdFIf;a0'X^2f!g4N?PcDsa3<N8`X;6!VC8uU7>1L>)qg%>ZTY"ZsCj>q$uq(ea*V6+Jg2(;",0:J2mRYI,sL5MO`d6ej_N]&(=N+3G<`\j`hX_UcGW1";2_V2!Ri1tr3>$+uL1e_[%`hF\]etOBme4g4)LkpkW#^h9g4eMcTzz!!!!#,;UMf2(;!d8lA-T.7u?@V("!nV("p=Lq$.!N<kEA[NZ.dMQ45q=8T7E;He7aV3Q'9.4o/%QUtb'M(,_j2?f3rP*lO.8lf21e_8$_jOF[I.C1@r*mR@&2'hRQZqBJp.f#9^CK9&5F3^_ECA,'CNO=hGdHmQb[Z6i][_?ZthCW"".@e,6Ym8O#Ju[TFG076RX4l*'[ar$.;.>SZ+m^k!-amlTSfpB:J,fQLzzzzzz!!!!$,N8Y&lCL0=!-ce>R'7hgaa_h.62pr.0$j8hQtBfW+l`M%iR@e.a8aMn%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzz!!!"EHeS,"n\q2B?am.D4UTZFBbN"^qQuId!%o9U'7>!5%@>8#.J9-5@?bV5cRgP:)O*WMX>u'>S6LJK(h4'&^8Ch3SZopDG[1!FM/)N;W0Y!^>mt1&c;[21P.@`BcOesbFiAE"3d]G\B#PHu_WSIO>.oZfQT<6_X[R9o6CI\ceIBp,*62.%Fb5fO[NH754EYBunZAj$d:,Go't7#))_.u?Qi@%c:jG:s,VOsDagTk=@'#%'MjGZm"U5[6<_[tbAC^?$RVF=;W/ahWdZDD>Rt7WU`8`=ehXt*)auluA19Us]>SN(K00(SLY&m;PC"3e8W4Y:\T#)hX!tsL%k:5c<h+#]jzzzzzzzzzz!!=QVgp;4_baE,*CDLBR>]t6qMNi;/CID@%4hR%XKi162\U%P!T!oq861>h2)4(XAQ5u%U28bhA3r]2r(m^^<\o.ii2_BigNVkNU)Qs:*]c/14eSUf`W+1(i$=,XK%:8g5qhL5VejQT>p<7^g,\$Hh)j)2loi'AI]7qZS[ao'1Q:=i[hW8V/lJ@/"J;#P?oG,J6U4"@kVr4+8W4)%obCI^c<PUZXj.%-;AbIgrGUEFjO,J?j[82MBAVftng<!S!!5_beA7GG&+\UIc%Gk2O&`6\spLT\F%7?k1n0=&P[RU8snWA^\\+2NfKJ>iFz!!!EpSb$]^VgMWhjdZ*D[7%I_(Y*6dXU1r]<S:VhW4(5"$SpgY20jjG,N29I'&?m42PVht/Fqs9B"g.5E&JPgNHj!g[X+\B\05aXC*cj;N[F!sbFQU^HY52EY687Vk:eVRf7e)ZmB*@:Q`mWJ-L$\-4[qos5-(6n@VKis\^"?Pp=(-\]!B<T!&NpUqjqFKgbtJ)Vbh'sLtSQXP]i@*om0UV&LF<tiED(505HJDO0H?&A`b#U]GGVHHnS:6]'/1Z?DsFcBjIT=j](3%=5)h\&M.F.CKcR7\0D45\-!.FGZNdYMa:%[(!Gt*O`\]%MqNK<[E?1B%8.UqL*[_bQ%/i7zz!!!!i=1c4:P;QF,P>f%9a_M7DWGq,]o^_%JRtbslaJE!<ko9nJX!Z^FC=0EK5YB@;<o[CnY1;8m;rirE>!&1HNm'T=2mS:/(VDQVa]g!<bZ<C(/r:rVVO"M\1^;<0_\Q<^J(\_]>.D`FA!osG*q\:oeNH(>G1dceZ^"^_>1_GFaH7ZFi^B]ni^SJpVo=]$";ksa)B:/%fgL(Hi^[]3Bo(/H[Zi\'OX2DI&TA;U$0Rn_H0VE-I'lkcc[4NKk<865F.DDGQT<>k="<H7<E1Mp=_41-B:`0r4H<K'c;dq+c;dq+b.:Tu<E3%*'jFJ,HB5iA!!!4rlW[B_rfV6]qoSj<W`3p6K]LLbKs(9/B32VX`u0#&lk5/m[r&"t9UVs>-(23X)(jp;DloS955!5qInO`Na,:>REFuju;b)/3[mY%V#Ci[O=Q3)rD^(pa2)`HKj^mD>pq@-)4u@Hu4d+C?RQK:_k`)Y3djcjm:;V"HZGn=fbG+1003aUQG[5H+Fk`AJX%og!WtX8IA^m`F.1;=p;p%9*2]Zl4W@`rn8<T,]OV)a;\Sc2d%c%q4_f=&D9ln^taC0p^@q1NWUKZ1H`(__m<Gb`9<E1XEm(4Yu>IoRQ\uAg9gJ&>kMDh;j@i1LhWVqXC4=[pD8t?OScaWrTzz!!!!#BKaj+-nLp1a4-\TUa>AOA6!lak)VZc1jdODVE@IND<>+qU.r7483n,1,=Iu_,oe@Be=CpQ^U-e\gR;B@_:AHg=a<=4^/cn(8OjtRKbZGQHD[j:b]NQj6H[8<F1!oI/fVE5bD\;ZXi(sZJ#e^4VOj4?qD;1"P11lX=V\*uHPEd]RAeA&1G^gC1Gd`sB>S7nq+T"2g*.^b,%rK\&J5Te1a0XU5Q_kc>eO]VHtd`bCkFjC>;huRPk#B]I<M_hGki7X!g;!U^9^nCc;GKf"o2,5<l?:R=dEE&4@P[J_W8NM>*lt\("2VL<o,)q9et$EVm2*p,/*=--P\4RU+T#j0V.fq0cel"Xp@#]SQq[a<O[l*'24S1WPKQk[E`.#Lmh<UBm6LlnTsIr/DU&1q0usB\Kd33;;-;5e#dD#,2>m.fqf>T&g>_60BK-gNVNp$jnuS%A$E[Hjd$q0*"?ssHoE/D>%UtiWecg;e2\2W<(U^1UiL-C.)mJVDedcS0/)fHc'LCjmD?=W5L[L(A<B_$o1\I3jNk0e4a7Xo[2R!1e1d9BVJ#r0zzz!)3^0Ma[f5mWeSlag?`7Ni\,;V]AXtZ:^1'h_`BpeQR6R:hZ&1g%#bF>=d-cUe+&`=EKS:G2M"$k&&@$:uLX3DCiG.rr?CV(<9<MaI48B-C2tWe^N2_3i_CH=K)dRVTrbjGAN[gL8sUY'sW7hOfP@NRHaQ)<*^-d-BD/h>4*379/!6g7VYegWCCKp1YQGQHVDZ`!%F=nHUL7i6qmi(U*:d*-&@<VGlRgEzzzzzzz%$-2D!31;<rSKp?@_e);-3!sD\Hi-7/A".&7U_^Ar.g41!/FAH[ibXtZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzz!!!&A&ZEf#,;gmjLl:4J1Y>*&nM:>J6rd76GZ@.#<F#l20A`h5Em+3(g3Uc(@XApOqRNWtX2',.2>)DsS6JXDgT@F%0&*`T,rX'U[jH;>n!'-j:q7U'2Ki=1E6"EW_M=&.moVg&7.flFkbLUGEh_f878d7NHYDBta.Zia(/_C"9Wf&?=dU%hQ]$^$ir9!S)j@_-V0Z?\UAGh.'#f'+OmuSJ>kB2d:XWPLzzzzzzzzzzz(.%[BjlmN8CQu&g8l<1^5Hd>cD2+Q]eMTV)\TkN\N$Q_fe`'gJdWijC'"Q'_!8Ko9^\0+,ik'2Z$d<?F33BkC?V+(mS28T5>n`e/!6NSZ`;HSAHA-P0R=sUo`0b$Q;oFLGp`3'aVe0+Z*?1@9\gOP..Rp#'2kmg<>Q=a(!!%KT;PM!c.Wjo0iB`)77+nnX\qol"_hcb%8s_"$%5"h'1C^=$/Oi<(;J(:Z4g;g]9[M6e6Kot1HW\9F(!_0]W7JAY9e,<d;%XI6WhL[5N]AGL3+7fmRI3PPX\2p^3G`J7M5=4pW/-;IX'nkdGc%enC9&h5a0d6bD[PN]F!+SI2Rpm^C6H?rWjhXf15rZT<@7N$#[)/B^a/Cqa'RMIHRJ1W%S:'#g[D^sY$t`-Z1X.(X%shCNereh,I`XfVMQX"d]JNk/UqEGSrYDk^[7Ah/R2q5Z*('LL$pSOALeed7r>O]BRI8X[B-Yq`3(?szzz!!ZK@3+hp7##DXH7QuEEmMhm713-Vl^7doj0O2"liiG2(5HE4GY_c.<YD$0e#pWX%PJT*p0Q?/U@,(,i@[`n_F\tYI'eJCi/$q_J8aW@>p,/hbRU#.sf.(7>f,3;Q$OpF0VZ-XgM*XhYCenUef0jUJSX7F`)V"\nXc5bK\h4*$p.h/5<NV+Z38@+p]bcYlW:N`m;7Wh98OD`E2-icQ!1?Za8l$C<dn;6g[Sa:=Uk`9(d*.G;RlK:$a#KN'C[0g27Z+5e4:S\BVhl4A31H\nF-Y'qCunQbn^]P2ZNh1NGcq".g<,1oX@9OY`7oXo1&?i=HTWp$\a-*7AhefQO8o7\#Ecd)]2KPLG;_e%C@'<L)a]`8[9]ds_G!=UP1\4m&b4r-R/2ogG#Pee52m-:g7fS\(W/2o1W249'uP,GWP<63CbWl#g$\4,n261u?MCUW0s5Q\6^5+K9@FO2(N%!/;CqRM>cA]::<T!0X6j*?[EimWCJe)V$=rGR;g2iSEtrI9g`4!kL<2'+@+qW&f,E/G,/3'p5pVT`CT:0.c:mtjL$;>_B?3[XT#%rRPF!=]?lQ]`?$odn-Wr<D9pRi;WQdhXrD\cBGISOX@qp@'3EG*ZUFgAbXhkcsG(Y]!F2'_84e8tO\J'qj<>aV%'7Hnn4"@8Aau:3DJ,fQLzz!!"q/7Trg&2//HBQ95hG9sU_4=0CW-WKrLj5dd)C86fi2W4<SFfA&s:JC3aJ3N:IPD3m.o]qFu&kfCsK=c"VQP@?#%1cKh<Y*nQT[\K@_4lQVBjNdE1X@;/?do>KGB\h??KIUoNOg8=M>88+b^SRK!e5]6bob)H=]@95`0,`"e;/'3WjbIX+elA>6Ma=bQ>!shT!fmWjM"LOT4d<8jK^9mA*&8a;N[nl#F\5hre>"hcpO;"d^*gXu>Xa.o5-"I^Sb#W-f%3)UXfb[s'<p&bL:%VlLkpjd%I8=H2s'40I,=O6T(K%Jd`WlF?MCS%^QCS`M4q%>C1p!u#i\X1!'^rQdk/*$m^0k?[c>]JqhSg<(hF%okMLR&95QH-Bf.J71.kG6ApXf4R)d;A7iNH4*2n\C79+B.fSG?P<E4,b-C%jB&KKnJ=OhKC;%XBl<E7D%Lmh=DF<W&s>m3p8jSI>L;jf2<Wue#"i>cQ.QQ"]@<jXT.>g8b"l?CILaN0p.BdH9G,t)A#:,BNjOKpCZfah_]ADRjm`JH#_ko0>RY+F-3FX9*$pupGFLKe;S.\=de)5XSq<n-haagU<6**__*Vb`nnP\jQ?iMVBGF"*QkLO4<s4d;6k8k.>U6qedqzzz!!!!<Bqm71>^Ed$FNYR/b,3j6?`R7KA^\FRPlfK(JjSM:EF`o9]jGb,('A3Yr52I17b^ShUGdbMbG-:9"_K'[i_>5D37-LRb.jjR<n`RS-D'f1.S2G06q/AqUhQiMM_o><WPTB/gtZ$cRB;@,"^f^'WG3rG2#!r4\!;A07\]FCdcD7(V/=jc[Cp,(e;1IN<n4"_Thm0,O@YF.VEeg_NllT+c8]?([iAH!]'>NfRAiYgfBW=LDgY?/?FYmm!3^fNpKK`ASl`%sI#hK:^QCSeC1qB[)Uq/C6D/7$f($L.3rA(6X*"*4<3DNi*Q%Q]D,pLjfP2af[1TC3&G/>H4obQ_zzzzzzz!!"c<+9&8"htMO(q25;@m$IZGj<+<*m/I'.)2;`NnfBI`*C&iEJ,ds(%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzz!!*a^oNc6X"gHO2n]b1)bZQEWiDaP'T/=a3eg06q1n([/dYVs])j(GI4[4Ucb<2kXfOW+(Ebo*h\"r@agqq%;4DY+A:7^d5:=d"]Q8u3P\fCn]`I.W>4,F`;=V2r<bdfV&meoghLhU_C(Mq43CQl0+WGRNOe"L6)Cim@G4,Y/Ej4RI?rD3!PR@0J2n<o]9dk`fT9O1M.TE"rlzzzzzzzzzz!!!$O53?&?o\E\OBW6?8)X,*UHs$ms[M-s6l?;i8.S2l%Pa+[7Qf]JH#!_ejG"5\tQ[Rkp[V@>hQ-EZ5-'!5@rT$9oD2C['N2iVR<a..5mnVqN;']t_]Dg)-.Oec,O8o7\!!3?fm@)Wf>ZocW`YDr4N:pC\CTc.I)(l(Uj>SP(3K3hbg6jf&e;4ogL.6nX362%!1%^a$Cb<!&mB]`(L,5P'!(dih/r3ii%sf_5p$QSl=Oe.Nf'pG814';WB-tc(2>^X_Au6lNrr>b3YO:VERN1CrY,bN._fW<t<SV:%JVmO%>-U<-zzz!'dM85:,H%7:GFYUqG3%dA&P-j@PI1M.qe9fkco5cb/Pb-q[%[V&9kaO2R2M%!#'!X^itt\^#5i26CUsk;cU1+sJM:Y(T3N:WqW89RO.ZXbj!VY#V_=&M7!_>mQ7T<EF_ZD0re"?H/<dH//.Z4d4.$-59%<CTa?@5A*el8<llQTtBm+2^9`mqO3LWb>$XBRZSTpFBQ#[d'Dh(1]>RRlCI/$k`O)c6rcXTRnI:oH?N0>=\anA@C=f0/!-c*TsKVMcG\VPY)7r/QZkU;JJ1@L9;ShlEct<.N$uE[4'eOj>9nSaE]ejP!!%%-C,/?rdkfWFrr<]9<('_m"2_&^.^&kST6b[h':Wo?i/DGQjfpF"WuA,jX9Zu/?h`Ub3lB8i`lsW!gU19DYnQ)67(uPbEKX!DY'4?GSQ@GJlZ4iud.),#m0DbuH?Re;:U.uuMl!fr.:_K5b_q;nKio"(_e'=F>T7a]3lH-1>ZZ/=q3F$&C0F\@W0T*ARWPg_G$<0BH5DU"&Ai[Tci=%Gzz!!!,NfbRT8OtR2\_Qp-RCY*.P=,B;;dUFKOoZ?\@`'GhZiFY.W,rkLrfS3NqQD5_$b]&r1&R;h8i4\YE,-PQ0a$Ts+RTFGcN([7L>cV@:eC*N\>)92WEHg73G%&Rgn\9"B[_[)a7-Q"[b@3?29g@@4^sl(2EhXnG/n:[d0A?7u_j#Om7l]$<Sp)DaaL>Aj&m`'9kMrBO>\RpsFVIG75NunL*s*9FXNQiN_`kfFopkd%GiSYu='grBk).f).@#!Rd\E(2MOY&2X80lmS1e1u0+j.2Vp*i<]?`>(I:aY(7n7a.f]aMYd0p;l&UPPh:M22i/m^#NX_G.p9,c"S!!k[\Zg1l_l86a;@g]s`m("5ok$G2hUhkA5[O3n,`j(qWQ#W4mgsME_e-ft>RX1.EnAnZHaEAKTfD#7&#'AlT$Z8!c<A(dlDMdWq[Q:ZjG[dRk.q%=+cAMW%r(4nsRk!LFn!_==58)CKFONBNJiBQ`VJ=bk.Z;1a.r/V\3a5ni!0&S5.1m/./cmX,,5;Ft[[%s7zzz!!%>7*m(uK7H&)c2GGAiHL/8DnE=s$6q$EgAO:0cL<3%POMl<>`c:0CYmdpl/Oi<'R,KbH,.VZP_0b0h7:+,@Ne.L14KdUP(m_=b'lpF9@oH$jX_Ud6:u^rUlKlET7HK#+<Gd?QUkR7?,IeZ3V5sQp]FAUiF-R=L<D/_D"&&@%PORZU*`:3?9'Dhf<q8-#gI-g7HaWP[R4Du`P'&TR1(WZWp5f+[,E??X3oQ]<D#2G(k<*ee^D5@qiOP\k)@C%[;P'-i[7*h#r@7eeG:*dMMMoD_&Lm<0F"[(/9OCqYCD"tMXL:/\'m)eE/rP&snkWmK].RD>G-,JcK1_TVzzzzzzzz!!=J)rrD>U4oYM+d!qFe,VI2geF#X&!6["@pJI;i@XfQ\rrD$,riO6@e$KU3ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzz!!!7h^1t,G%aMU7ejZa"f'n5]QMn('4&^u)O'So/HqJK0Q"fYD(7tTf.4Tbb.u[/u>XC=<8GTnW7<76drR!ugn!1Mf$"n!P<2=E"d)0_+4cqH6c[Q_[@o4dYWc=:CC7Lj<96SnCf6&D2H*%h/,csY97QNtq4*u0/NC@oZAZ3Q*j!n9-d]^2/h956sb?*NKP&JMnMd*f3$FG](At\QYZkARJj!:lB,:?Jh@ah=(:l+Y/8b![,ZlqO7/o(a[CU060_`'1[_`3ONRc9ukYscO(Wo-Vg3IBJ"Ulig'OmAk4F.Bg@ZMZ_i2UD.nik"X@`I,o>dn(0B)cDuN"Q=Eg^%Td!X`N:/>iesk.X6s&)W1.#5j\p)k:r+f_m>+l._1O>XQI!ia_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6C'$PYDeLh$!ah"cY-*5Rt-q\>4Y,X>47F+8to#j[#/u^V`T0:=i.sYhp3@VC@25l=r[)d'2^Y1muZT@Z7jMDc!Sm1bYGa-X^>'ZpK/Q@^nZ&'s),-&(14k:gZL1u;sY:MEQFE_%2`K82g4Vs"ZNKP/b@To_Mb1<AGM5J9CQGg5L<(?=7QiI*dzz!!!/0H^Q8meFdHXXehUO>?_YEnt\<\g.]+]WS@&IL._IGg9mqQLqbre&7b_?@+V2RGo:h^cB?;MDsCB24]I;!j`gY:MMpd495I5_;rq:"'#)J&YBkAdHDqipOl,kHBgGAqA:OX[!,/gT21nQM?6X],-2<YomI\Wf4u/inBQW6*6Y,"BoVk;91HI\)Q]e/-Mi/osRVRU(iMK66_2sqMkDnT#Y)YtZ9=<!0n<kk'1KA:POuIaT7>cu%VDs_/E2+"hAjp8W:2==Y5ubn6$.,_`XcYG[O]L%3Z$l1Y(>j*M3SZ`$C%G?)eEaM7Q#a?1QWC3=B?R=*lEplPP<,O<T).PCSMER0V]V*P6`O>>UGFbE^A8`d40ja(mCT?-K(#UoZ,IXo)T^rK;647GRLuZ:+sJB9+`8"$[+$q>e5T7".QCpR,@aR_XCG*Gf!Q/X,>f$b'<lidl94&*zzz'<U\fd6V#[.!ho9'QRI\M(SG*h$0\tN7D[V%DudY5^eDd`H%Mfa?l;lm3<uk-#XS%#W5YKh"sNhl(k9"//_f+ku/KPlSNM.'J<$_6Ah9G:=VkaG$><^2:F(<Y^^E3k#r+;ZF^Or=^<fqD[BOW@u8<CBi.f[nthA8cXRT_3+Q5E:hF<OAp[5H9[DZRr8oJRYJ(GP^]<p*!!!$3?M*&hSe885_-#Ena^qQ386>YFW<,R*?9b[Z#[8rEQPr%M>E8#^Nm'iD:.L/`5$J_u'Q_#uXe!-M@Q*@T0;7E6>GcN2&\Yl[F__^,)e/#Q'[("JiG7Q77AUVb8R8Y<9`4UuRuQqQ/\"^HS+B<oG-t=D>>ZqW%Yb.lcg3\f.l<t`$G)?3&J9Bn>6nL1l-`_<$-3)Hzz!!!!Y1En&"4bQ82ci+%QMQ2K&-_;=^Sc.)B..TT81T4!682bLK6)5)qPa[4/R8tVh;J?Uf98khu\<eMu_551qOZ=>OBPZ\.f9.ShD69O]Ic'^-?4X7"@(WFgol@<a>2%WZ;i6I$*D];9[D(3`\BiT^NCqXQLH3(mh[dL^Ej"1PGKp,\m9\ADWJbC('g7d<l_,lVq/(;>@hb;]!=4be!!\hVO&kmI,[pLM,AW'!-/G1tTjmn9o1P]ZXV2Xagf5cWGis#!mCJYA1Y>JcVO/U^l'Y(:S$FO7cWkf#d.YQs&#&"-Ggn(#/3Ih$#i3>Sl4k%mm'2BB<@h^>\2%,8CNEi!7<Y[p4?6'RQF:>O`K&acZ$8@sb)4dD>1@otW`r56K"kO$la<4Rjf2"VgfFq[D/-U`W&eikWRY`=(Fj7S/us\$^AEY[r.XVU_BL.QG?rgE>aK$ZF'S?7dp5q7Z7'0k=NKN^W7E]&fLE7\5;*B./`MA6MX$n1].VfL6[."tf].sj@p$_p26B:>&J5T>#Msl:zzz!#ul=&Xi,#&Xf9R,5=G:eO3.D=l8%8U4^AWHTHf$FG"?WA/[dad?KNAE_NMH`2L,2&M7iZ>^3^ui51Z;]1AHQ!79-[;m.IGZYch=P9/WPAR5nNj'^'1J+[j%maehT26g>BRN50rlWW-\aYt+6;3@h]HVilacKjHa#7]5<L+`:Oe4@RGC8tCEED]Zf6Vb(aFrr<=dYqq)&0N,/zzzzzzzz!!!!-O,*`8Wd+::ha.6N^lZ/Srr?!.#QFcT]0G+@@@;uMLPu04LJRcU+90it%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzz!!!o`miKaIhA=V+87J[]=Z6ggU"&UtR6l7aEQY+IieXP`8a;8K2^qP3B^WD[jdC*[_J'r\:*`DjOtu%kbWP=11/PCF\uo5(mg?Uge4AVNr+Od':'])p2DukiX&\T9N,cK'GenTa1<hp@qGt/6(L6=.W0Jr&@j6&sD7t_L+sS"_Vi/T%#,tAIQP>7j0bJC&49`'E?a?f6W`uLf>>@HQzzz"dV<pQqgqdM(e5Q=GXKXnuZXY]ka+Y1p(qTPjGd"W&;Rd))5.%B"Ze7E%IZEn<Ume+8ZJj=>.=0L%=5TFEA<F4/]'_F<spj2-S!!!9G4_)!1EPnu&Kh(>.9b/(YPA3%g@nF>m/OQ>8Ps'aU=1YN9:HCAq!*rM7mLn0,jQ!#Y/UjZ>7)j.!A(A."Gt/R(E)m7)GZ1`X'0m3\h)C0N2FrG&N=S?teFd=7#)$Z<nGN3^Y:K!>MhildAdiG)-dIFl]*Yr(uQS1g0sp9@$(=X83"X]mW^,4kS6$ssjt&D^Gti2?%QX^nBM-ad].^.52M(uo?]hS"S<<Da*1C/[rQSu4@2bE_NT%>QENrCYkSgNd^&[&ll:3)j[6S]9;OLlAFdqh13(M,$%qMe`#K$=sEB@JlY2QUV7ubssN)n`hK$7"&'.d6$^cITJ"$`nJ,o2R50ddc.Rm!*o>8K^S1YF/Kn\-Q6]!&KO"%7.6=(o!rj"2";EB@VA+2%@h&rzzz!$BURTspG0`Yt#pDRAGdSi96/-uE[%j1K1fbN-k2/h4Ah6MRF)'M#CJi^UKKaMpd54^+eE9.anY=H6$O;UjYu;,YolMOG(!d9O`"Y?&22;&(Xi/P["f'eN/p[1t:P73t!Oms`dr[7-nGQM%;2BXAZe2AI9k8>fR4LsRT8\o`,T_1N2M?)3dRN?+gk-1LD@4f>[*._Kp4ac#0JY._#Cmh/T+F]1J,V38875"R#?\aOU*QV3k1<F>aD@'/*0/?]u7]>hSW^?2Vj7nFteWa`O-HE3S!06kpFX)J"<9a>=FB3.<>@@mV%?#C`#h=Zmp&&]IU+!j*fcSD-OGL&:1:cHV`kO+9bi)OQp_=r@g:W)]-4,:pIkF#-8]B>^)W#OlAF8&-An1(isi;:6o-fOiQS\sN`F3LQW?1Z?Oe.)"1\bi-1p_?uuE.-VH'CboccJe=k\`Qig0)=Zbl4-JE262lq5M5aAp2KNS25;i&bPb_`62,cf9)enjINdlnq']O017_9@p<2Wha/C41+CDTi;8$j`LOE2K=0C;lXX:AZWl[Jl,$^CP2ToWY8C4(dPd;BpCi+nG8eOOVOI4[)$s\$1%c$hX%8\gGih1k-6Q:7gf(N*g>k]hRHe5]Qgug;T;G#X[("J$kCUXi0FH(n:Uku@p`qC=AQ!VY([^j[h/on"Z8tJ.dk:Q`7zz!!!!"/Df]`'Gc#/e!`$T+\uP5CKG36eG63a7*$2"5#,'L:D%0WQZ$*.2WRhep,qTI)#2%I8MFps%AJ7fiK_UA-!eL1f=VLK*l[NFBV0'G/ZJ)LT=0aib?N#R6DSA$;e`o,q2KBs%E#Ss@dD/Oj1VMJ;U[\X\k@IQZKYn*QDYWq(,jo@R@0YqrrD[8+tq/.7BhT(^&n4aQ&<RLYq/7m4FdZmaVbl@`0M^uP&K'\<*Mi<Uq^!4cZ<O*aYg=8iBh)!N`AiP/SL1[Pl.GOFX\tsA9^TNhq76.>e!-0:p!1`?TV_RM8<rkF5FX^3808c*kE90\]_d03-u1mfWP.a0]g8GZX21FUiEe%/RB5RIB+47=1ueNX[Q-TR]"YpiMq:A?cj0V]*\q\p7!\djc.oYKqSt-%[TYGn0)i(asm.i&J<*Ml\j[s'e/JqP.=##jJE!in7Bb%P,5paX/N>E<E20q^.Rh92(V3bcY4%rhA]I4+"QpEkfWfJ6\]L%+$+T<'3ShCW,a7,7J.Un)]O4$D/+%DX0,rKRg]8szzz!1%PGcAI"_?Y,Z]2'\F)f[d4Wm.thd9]BS%l5;N1/L-H^EFiA*l)D3N+,(39D+?abVb&RXD%34f(u^b'ga-=Ha4Is3h]u\)e22*OY*RT21XFfG#A($tbFqe!`D*6$R;b%(o/@00fo*$^=-!!XD+dRg>3RX4ZHK),G$:DM1iZ`:VG-^QrrD[8,6%Xo&JkH[&>`j@OY"ju#ESoczzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIlZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzz!!"*r*,V"sH08@>Q<S@lhgNF"_[No)ET`p=_b4i%b@rgcC,/CZ7V61!5>>YKHR"N-ko?XXLl/44X(!7sBiS0[Lmh=c+ls<]<jdog4]N(+'%Kuf#`+>6<EDL2BiWN6Ecj8.I`em8ouBGKHe*7_^>*\kFSb+8Cpe4U]BW4!H+KQi&a,u\.!/U1rrAAhU*DP9D(d=4cLFhM=ZN]m$)t^a:$%k,h@#;-e%\'`.M`4d`q2][S]He7)J6IeREE)^jc'nm>.,03gEba8N$ii$Ah.X5'3$?,FAY`:2?l/R=UU?(Gg\H+aQ;?+WtRj;>Q_\N=l4O8*mUJNLtXqDD"mELkF]@eB:GZ,pVF$sG5b%i#H[C-0oosDq8>2tg$dj#cTcTSDN0k;#/'cdq'18.ZbH(O4e4t'&DSLC^O]`SrS"Nf2G\]=oB1&QNUV8>qpQDUFUt!0E/gIg"aoq9C<#Jj4n*75S\L=H_<X2O9Olc*5&h%K2LG36o?Z6n)l$s<_66%Gr^boOXREhWO(V;b`&@tTn).9n5Ba,GNK`6(]_U=X,CCQ=^@]E.SO;QOg`pIHJR:P<g9J4I:OF)PkATF@n9WCWdhqe$&"H"+NLp+QI.R)I`ou)=n8$@@^QLOllT=Q/A(f?qE=KcCHh\?IceYW@ULa,8Y<I./8DaZRn%CH:B2JEB2[J+*i)e5hG-#S@PMZSWq:k]iHlfW.oYs%b6g#$9,A4cB?Te;@Z+;hhHlDV>DrdNY:OGpCA&rBIjPm0++^8"\:-D6d4C=@(EXcb/UlkXu30PD_p&s(J=J$R1?ZAW9U!9aJ;t?YH(H$^-eNIs>LQiE+b[W;,3IS25WiCPX3]B"L740HK3l%5d4C)o32;:SPTlsQt*.);X@Zr!(RsM%"b%b[1WcVa<CRGa(B8i1P3k%hKUl:V8XGEoqC$^PNa=M%J>dn;BqYQ<CUif'5.pCWd7S'eu3I$iEeh)d$)NEc$W[gqM[_dFab#i\B'@:$,=0npp]%V@&$HS$dYo<TdR3rci]#CpXoLAA6e5Sk*[s<XB1nXgK!!f+-DS'r-[I,!bn#JmN>1Tf"F`u]E9j&Yt5*o#U:W\$7Q,W8l`GN!L>HTD'8K*g]I'(A-hUn:n]!1S>6Md2:\opFD9M8Xd,[N!)St^C5X.cXaEiL<5T68b.hA>#26$$<gY+G9cRB]1"G[C-HLnBek.]]8F79.]l;d3D9WOXm!R-L$^n#b'?\i81g=O,HFc)@:=XhJR=M(KlCAF%e/;GsF&>>3g/Zpno>NLbX/I*"IF,;T7V%9%J]E=GDRCVlpIqKeE$/S_G[o)^RlKraT<?E(qkMgrk(Y.O8*#ZFuinKbh\Z<GAt5>+&6MMSo.l6Pa@:JhkLS7ah2Z+S>_zzz#1[DU96WS$ZQ1C.V&Yq@WD)A'\K^?RXtt7WUs,&I7j>@-,-'a9A8u>N*n+?9248K%3+\nlpH!2.NPH:]VRq[Bq)931$>!L#'h[4bC*oPD$@[#>Fr6%b?9?etX)iVDY2$%o'j('+2G;V*@\eQU`L:p<ZIDT3mQY>7PC]]E]Os.WRT`ag]jb1=m?MA5j3]H*:5r&YmJ9LSfYp%<9TFq5j.t#_33mB?<jcdCNZ+4Y2(6[ko=o4ef+VLm[N`J%>uQ/Q<'GThG73Mpb3(kW-*(K!BPUH`RLomS]e<$qqn2A*k4Ycrf;2HlQ<>#Xni^i1r^=4^-NYJ9-A4M^ifA`m3&N!2;V&35KI'8qN\)ikg(6`M\DrK&6Z&MBAu-B-&JijR*`3ZpNGDO!X(!8!WiE];Lmh=FJIs`=NB.X`<I5"?<EHD\M5=4!#b32<IHGk+<hsaj@s\9UV_Fu'WQJ\B+tJO!fCe":\IP<X40rC'Ur#nK2(9o[\J'!R_YFg^qd[=1djX^Kip9N1M3tcj/Q]@%gJLkNNb'\dP.sDM.\>CO(Bd@2Bfe66dUh8V>Xs:lfo5AJg9*pmRTaj=bbn66ma1d]h/QT5b>p8!cQpj;zzzzzzzzz!!^JX>>;SUW\Xe`(g?"e)LDD`me<j0aW$@Z.m=os-E1'kb`0$TFIX[$11j$#>DQ&VGfidWcHP.TE`3!FGg?,j8u2C8,sA[tWi=(QmNh.o'#f7E:LOoA]KB/!GFCOOFQIr`Y/If7O/Pk!e&-$_StX6<8COl(:LtcaUhJlKYnlMIiuVA@R`2])]nK$qM.kT7R.P\V4hZ_U1<CH+QSIl\WHB\LQ**NQeaf;[`N9%Nf=MgX]DET->O*)7HKD*?CZffG4a8Pb#-g=mEO?C@Yr"1pCK#b]N'i*OfW+h]nJ1q#ZX21FXHG_k/RAXh4f]FS(riG-[1Npa1"1mX!>aS:?h#or+tq)NB<[2J^(W[3"2_1/9!Wfk26Z-4rB)rt.d$FE`jKGOD*eo6oh:!c`8r19XI@L`=a'JPC2u0jiBsaeZ:em`XtA2j@C*G<$o"*#MeG)[rqM%(N-]Zs1iBSCMT+#skKtRRQFD\XfWBS1GI&nqXp)?7GiC2G0n&-rEEM;hWG.o5RiS*O=`ciFasRrf**6>XJoQsLzzz!!!#Or@;Tfn'sm8T]6DiQ%Mh=rS$qU3>6Q^UM*&<[++C0D>sSfF'[gi&=G=!ITqV(!dMj_Us@3@\8k@G??jWgilbApR\Zgha&Q,"(VRbXP[[auRHa&^CR9g6MluYA0s7%M_DTu3o!.iog/Gn+Nh1G=nKUh,WU-F)[:2.@Cdknc36-2s-*_<7DdcOIU09I'-9WE0!PO@t,/G1iR5OAbWHC7dV634aeahRYlILFjleRJ=?2]e'/bP%,4`dWAgA0PUY?hT<JW*B?*,S)SCeY=J>1DIZit,Sl[OT#[4@O_LXS9,-X!Ea4$Whn]:MRm-`\FHdX[GP1N-+$ozzzzzzzz!!!!$,N8Y&lCL0=!-ce>R'7hgaa_h.62pr.0$j8hQtBfW+l`M%iR@e.a8a_t%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzz!"aMGB\'Zh2N'@a=N7L7].RiF9?X`A%i6a6>4^KAdB&(/D"b,9\YCT+cJ^'*:/Y:[)%,BV#/`MaI,MYOo;<I&>B/'5WHH)Md61,<a&XZC$rlZ&YkB/"/,1;`1t1,Z-GOrZ_jU:cP1uk&77mj@RO4H'@aqD2$ui>NMm2GC?2jna/Zos'&Ss'$/cm6l#_fa,ku,G"zzz!'AqEfsi\.NeM.MPaQ[KRc^WdU!RKB)`M?XWg+CJ)B;dVn.E1qbD`88,mbeoN06YA`a:[Lf8"7%cMkR/USbTci-a!Gos(dB)cb1(rr?LTKM<r)+sO%]*t@CYcs51FFmXM*1(1OZ-V5kL>8kL9'jTl"`(gH`X._ALF.F66Y+;Co&T$JQ],Gh?qi>"8$F:G&fW*f9G,(<k0jN_7:=EnHUU(.SN/6'/@WPrrb_KO7TQ>Rc4#8Ye`\(c\\QXhc6PHt=UkrC6prV0O=#okCSVP:g[8Em!4D+:s<+_.M]WiuUk$<e"%4#iMAMe/7:,6u7,F-]j3sts?[5O[l1K]/-!QbqPaG>f!b_V(b9[*8;LqbC,JuU"EY6!T^&J\;f's./8lU\<%bl4#MX]q'qCoWq/ajkVhEMM?V]fFoMgPn>DN=mX?Hcb"1$).3]h?,1i1UkV`p3BmlF2seQ^4sj)Gf++K'@XCeUQIC_.P@%3<1_.9b'Q3*\Iun?<lqbZ0'6bH,c.gDXbt7LgmVWJH>/XAFJQ;N_:`W_G%>V)VCY9+J,fQLzz!.%j-cae'*f5B77D'E87lFQ9MW)O*d,]Vm@WD@W(@AK=X6VSqBXiD,dL7:f$UElYZE;5%b!4hU,a*V8h6!h]<P(j4d4Khs-aOlfYqPq5`[4PH?;6<8e6o`r\pUb;NWpmakMRGfnd_tArOiq2kND!9$.eXGf8ueU0.]O:8dDhJhSL.e!?%l!4[4B+paB%k+f#qSs\?;_Iijd3F%4(17-r$f&^hj#Nr+T*,>be>?IP_!(3j4M5a7Zs6XWJ"g"gHhTb.8^m7F824%fJ0^Ed&n><+7KqN@F``F#rm:>[LK\<265"@^\<W(]OIL#eCbm_;Ag1hGs5b@Wnh?CPIp.GQ7^TV=.mE^QZi]<gb\->D[c7<4";,<iPPU8@33uK4Lj]AmT1U=K^KM<OP21--)m`B#6PW1t\D;]/tE*]qN_6@mb,P]B3))U3_!j<H511PstCCd_".T+&JQ).Z6'*=NR2*2iLn)M(($dkiH1(UO$UFTo5dj7H'+/BP1cF-+jiSX`4pb&J8h'i$'h)Mt7Lh^)\`@=O7$Jzzzzzzzzz#B=\:oujYS7^_WP>e8b1EE+/ZBQSJ.S'u+p>*Od$_M&l5rr<_9^>TZ@fL/skA41#hqptGPDEG/n^9<FHl)pIG?Sp3ECh.P*eT9U/obu=[oiH]$WUa@3Kb`-*=aAk(9S2`2M:+s?QH$1g7<>!"l67BkXUaSBLSTkl'%q79kN&\ElBU/"E_#-#;_*OCP\YT7,h'dqHIll]0cZ*\??k:fA4H"*cmI1$l$6pE5+_ObUl,LUEM:"Dh4of9]sR>hK>5p9,NS3rW5t*;AZJY\eXEnVYD]6id9b$W9?)jH("(!Xh(l[V*VOVDF1X#B(-?kK4.%8OVuQetLHg*n[JZ.j%r(2F<V\2:J'o)2\#VcDM^lZMC+XEhUta-BPnrDm,H44PKUe#t27pZ%R8BO1&o?n*mer2(Z%W]-#2OA#!2GD8g=B:o[dhlafi->1`HS_QIOd7NEZm&Y?-0:@\%=Eu&^jm<BI<`Z9cK;(WMsA(,t7N(e#nu&5$Ju&)"]<q6psF3^dLRY?^Qb%KubaDWiGQS<,qs=zzz"1YhBqW6I<UK[B1.V3Y\\>jMHZoU'-UOI>`X&49W@7#k"GZ="t\3s\cMhK<1N5m#dhR@@BG$Z!8o334mdn'r/RTHVMN]>aqHec?1;&+LZi(Y\KQ\FBeF\pXqGEl)L]BS<sP">8NXCDiIk;drY7(<0rTlHV5kpD1]N'@s/EA6Yq.dAFIbb9't8mM5KDim8b>I<WV3CR0'ZYq:KjgU-=`pA=%2g-O!2Nc<ib<9k3pVU$&Y_<l3)nMTo33_/l:Et*GrCWeIrK];Y'rm5#C)]4?>.6BZFLR\hj27+oB]u-q**DUW1Y]b'B!E?Db?MrHg9%uU,N5R$zzzzzzzzz!6FqbqPTC(h=MfO/-u]i?hHLBJ+CdhrR>EsR%MHE^\DpN!3:,>f<c$7ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzz!!$`!\@$0AdRG:EF#LOLnm0f=\fNK4jD8q8<lpLb2[r52.$f&TY1oq)6(Z$-n[0?qNSUES2K$UJa$"G7(H^@s=?_Lu2<.Nh*(Xr6@#`q^rh31kcH@,eQHL/DDre'#f&j\!MX5@I4?6'RP."oK`K&ad1#*fCAOUB]/T2P#4'a]*\1S-Mfj:c9(H#*%DW81+F)+du`Bht!D,.-/OL\;%a`RO_`9Zm%ApZEJ(BG*[&I\HHY.M:*].WuHkG"!*l(j#p_\3[&7iZA8Z&MOVX[GrbGZRIT2gsRPF\pKAQYe5r]BS<kEQ6M5XCDm_[1h%X6`1oTomd#Bzz!!"f!,;\7%/Z+#bLcBK(#V;J5SC'X_qg'lmEciAU^+T7kdu,W\g+HRZZYD(3?Fq:f`9iUk]-FA7(N.44VQ5]lE_MZngMuTnR&9PG-Lbl#\8m1:D^ef".Ve!L'ZfA/:t%L"SVP]@S.MEsF6uhpabVSVEmkItgN$07rjG;!M<Yqh+@T$BTNs5;3b5RK4YpOtW.og&!!!Unmk<7D1t@Q"ck\31%;+Cf9U-ZVjE6W^=S@ruj=7"knIb/L;37MW>"L5tj:dT:)+W>YO0S-!:<i]Ho:lrG/$eI&RBDqtQ8Z%J/:;Prm\<Jh<8#)0(,`@.[3UdX)*7-*`4s'*\n,+_G"U;I(YI6_Q8t2olEN00HTePITD:<Cl"aL]>E1:Q39&HJN]<je`uJ9B96%qLbtE%l1GpT)bfodJ]OnRRCKf;`0bG!0'#[14#`+>2&JIJTE$8sJCKcPFU*EMd6r!kQi'dKujEWk<zz!!!#CLlBZ1Lpi`N@NaXVS05.&\s#PfMX<kj*Kqo6c:G]!,Zt&,;.,8UP@IR[-2uP:QOAiej1Jm'Q,5rMC2'La$@UEh4)M[<8n2Z)9VoSUr+mU$:]@q-f<qZ\NGS&SWM.[:\J79OPM5CQ',>;$C/!dcdsAb^0\p$EEe[ro;DE8me?NiYBW:?lVdK9aCKF+teQJ4RoL&ZZ!&Y!b]!&U8PD<f-:OQ!7Ip<4&KoBk]e4Md8`hn"(Wm5"::*%#a[c1iA<rjlJ2@.EC-YE5.h]qSpoZ,IkIQmQ;(T$-9Ggs,c70U7I@dnU<Kgh"IluqqLEFVp`ADUA=k.WL#k%>_sL'o<0SNlY^DM[#Z*VO&5A80]`T"5c82f=PFiOuBdmGW4gVH9p9Suk&a?EDIlh3V$><*rmuEh6G'(ELJe'd^+55n['`Os1osDHiRp_m`(fE*RK>dp1CA1)OJ0=P2YnW7J?infhdJd]7,_WiE%:[q46:gp_D8d</>B$auKN`tWA`)TFK_CK(4hV0H!^Y*D$[ae*MPzzzzzzzzz"#;&V1Y>.5Aq'gtk:klAS05*"\mn/6B$k&PQRC3@QY"E;H+ZR6T#l#]mB'2ug66lt_hmD.=Lk3+9gIE#VJ5<oV8FH=>*7R+BU$FOKgn^CgA>bK3Dj]dR(=ZE@bTNo\N"&rFcMrqq9^(r'(N$;C96Pjk-f*2_c:m91t!T"aOSZpc!+)6'f]]WCim@G8r1auf%InT^-]U8!&\+c>,/M_SVJ]j#-(O8='\=^U19*YkBO.7[qj2:Ci[drq,G`)XdMe[3a;u&,hX7flXY@K+S&k7cQ%F%KrB7cglY_sI7biDH=V/V@dnU+=7^AgG[@E3:+I<`Za,cGmjuu-oU()oN?-UkP#]eaU)4JafXr6u7I;9pFK4Hi=Q5bcXljcd>Irk/mn16mp"+B;k#X)+H&FOE2PE.KERbYNKp_6T@r/N(-J;r:63ra;,4#nsE:qJ/mMho0iT^VFgiP5*(a<F&A8FmPnuJ*MT&mB+EiY_1WiB;=bB$sVHKi&E/"2T^>uZoo.&1\_=OaT?[9&(->qU/uPuUg[0KGnlzzz!!!n!(=V1ciA3]KLcBK!/:$ZNd6ZHm=IQ&-oSu]5\R7PV,GJ-Sf_)jl:2&@FHbR\"`b)Dq7oGe,[3VV`k,1cDaA3SIG37L)0a6T$946KNDE9dTDb6>`'@a:(D&OmC`D5Ja9r>tVLrK<*gKj\VB.r_Bfs8X-<SMWE8;gh"=%'C&D/D$XE5r=<l#bSBCiB;1[W$q=OK\]bzzzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIgZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!!!!"ij(a9ZnX.jFC^='XORs2Zft@;opUN&'XD;5,dRso4%W?8FX\h/GcW:S4Sst,Hm9iP3)]ar30r^D3+@Tl2sl"[MC'\SX2=&'[>m/>^.5>\Z*&-:*6'&005OX:h3`BFV-1!:\PbE@S//:9SA*O4D6J;Q6X#AD0f;n/424c5K"[B9K6@\aHYF6iYKIlI/K6kucE<R+B8;<(f6KeL2=_qO'&?a$'?*Rj#iqRRgc6a4DTiu>EFc+GcILFtA#cQ!LltBDP[[aRKq?^>[5`ER[h"bWF*-Mm&Y[*DD3(Vkc;`&"Nh2rcS9Yq#C0AN8^=G3M3,M[I&[or?zzz!!+J(m/7[&;OJNq-2gJ@QqJ=Hj#pCW955m,h:ft017r/4YED[[@\hBuXCPp3*72aCrm\h[YdT=):uO'rQt!H:0s?C<OXjMAU8;'rqR,uAG*qNrp?:a#,1@G'Oj6qLS330biMf5bQ]uAW.P@0'(=p3nI7LH+62pr1fC28<gANHe&r,.-)f;r*[bGX*D75pN,_k&fZk?3iD4r5>UkjjQ6q+m>oj$Z?c?#7WWiE)"C9"G%<E7JIX//g<Wg.7tWiE)!Y#Vl0FK2A*<E3<SWk)238u]o$!!!#;3U8KU)LKD(^0nQN\J1MkQ1_"gXK7nT>cg\F\.fha7B:tMegf)dB9%?KTh8JW,fY1s3I?/9VEDb`$K>$%Fl>P"A5ot@`7.l54-Qu&U2-B6[T#_nPqou]KC:@>M_86ZFK.7%Z<f#o;UgR^U:OK4SWo+ik?6JB)qcZAR'PQ6SMEpkPqie;<?%CnW30Z_8Z8=]+Z;a515AG47V*?t7=^%]NnJdc7ap(d;4h;+!J,4X>2]jQ"Q=)`MWUUd(u>`bO'OM8.f3plHE5ok<GY;HLl$.s6ODQ#*tDRY?K%gNGASU=eFuaZl$SP!D'Y-AHe6eR(*XqL1Du%4J,fQLzz!@o5X%2FA3GlY/,7&6gK1Q:VC/MO%X[N7]IifeF,>F\-K(/5-q`bnLEp)72ie777UYDW\[bh=;h?5E?pKe'[DK7#q_Y@@4T1iB^^T%*Hi:"r06fl(dfZu*'dBoM0LKlHt=_ps->@sLJUZWFT3VH[6g^Eg+!A3H1EV"TX^WP@pH+sJ3VUkpNl&Sr_h.3_A^OtD>T6psA*J$jB`IK8p=*_-.Cm6"fggt<&1X0G!uXVsm5eT.W3b@;,/-\8-6g.IPiA'.G!fh]e:pCN#IW/!Nj0[9EPnI<fuE8:VrDqb$A$o,5sk:[1G[:9j$aS!p"29oJ5Ejm(2HK&/gmC4c@7o+J3b1P]_G$M_G?Y\/gY'ZL&>)MFgKeg&QWQVVJfnQnt/,oTPVbgJAd;01ba14b7SY6q_WXL(D:Qf!aTVFM'hC]V@33@tS6YT>(b_sTdO!HCgh1T[[,e'8EQF<V&a&LSL'9<#P;Drua"u!6@WGcV9.bl@MAZaLJQq!,HcuEU!GNUHRZGiDX7,pAZ7Q8sfheL))b.1SV#37[=zzzzzzzzz!!!.hHaWKLm\]PXhY4uL_nnCYUCp;<:E`8<p:8r=k#3gEX$).&:+$fG<Ctre`&+m;W<b87RpPIjbacN6LG7OfH:GUmF'u7i=upf6P#aS)&%:-TOa(HFqGJ[b`pKOBOh#=a''-SQ'Bc4R)j2^2Bq\a7qNiR<gan!mL.bgK,B7P.gM)u.AVQX^L0I"r0Z.R8L)F\.gIs<EA<tq\QI8>k;FHbFLkrJNUM%:24n;/<3_(["\Q)X0<Gb`9>q2kc<EDeqPq'=Ec<!$o=$9P`<E@XM>q2kTV,^ShWp*O3VsJk.!!279$bk?8p8,ZS?<)6W$W>KMbcY%5',AKI!h0A"Fn\RfjZ;u-&CX2q>HXqR8K*g]3I?A:^+i@VF^_pI5l.PL\opFD9_M8ElXD6?Ln$)<k\F%#j[;O9OLf>1b5K"+qj-E@FSDn:XbnO]_WSIG7/Vk2/op/k;-^[E8nr,l<;/#I1EB6gW0F<!SOY+C/8K"5k1!VDUN-f\\L"U2g/W=-i_!2E95`?\9r.SCRj.2.Zh@!rq&+]2nBE/_C]8c6f7cgDRHde\.Q(:'H%d'J_V]BkohIU(X)IesQ1o/qi<j@\SQdE123QNcM>CB*/6#&D4mFlk,&^ngY#OFAf'7M:-I`"qzzz!$oJ<YG0W+2j2J[^1j`##if*A=Z6XNg=%,:\XPM=dqi^cI$/Y#(Q0K;Um^`sEEYM_OHV)>[I2DcaikfnG7E+IAi9)lRg"\>C-$LFZ;rtI&%:-TOa(HFqGJV.NS?qc,BDNK--L;XU16j=2+XfS1siA,I7gDGgan-qL.bgK(o=PXD75pNQ<J!W=`(TL@><.X$o66DgFP&-A<tq\QI8>k&k%t[LkrJNUK9VL4n;/:FH0@$<E3%!<OGh,FK2A*<F%)c<3"JM3F(aX>kM)s<EiI'FK2@DPuV*>X//liT:u&\zzzzzzzzz!!!lY&,uW/naH@hKD`]>+a-NXVfE=I=a#;+N5IFbq%";A!"PXoDEn0KZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!!!6L>>Jl:ranPeq97(V&J5hrB>?cW<O",*cgO?Sa-W:_=BcbFeF"?seTXW^:k\<9-:,B))mNsSai#7BG3ukQ\Ff6D%m"UM/hnrQ:"3udZ`g,D17<oUBG%cNpOPE\*hB\J'C9dLZ$hT&k^<>p2i/#u8M.9>R5/F;29;02&^jg?Y8EIZa!Y^s9^<\Nm.Ra.U%<G2S65E'?#31@bY#)>zzz%-sf#5MhisbBDGbZ<B/^<M''CI_+PiHCnp*d+6pO=!^LrYdkTE08dqbUoHhJ[`X%saD4K)bq)#A\/+k[(l@I]5i+%'U7siKV<GVTSj1Bj93gct,E8mhF>Ui*(EVAbD1sVo;gc1-7%@AR77;Op]C^'Ko!s13l/FE;p!D5AK8?d$Q\4hIWJ`M(2)NK[dAFAW,#'K^h*tS/Q)Rh7Y+U^=<Jo;fY!eUPr(\nRCe5n1Y?!d+(l'k$Fn^l89k)@q=3Rjl%i.(m7gs(F`[FrG*,Y%"/R)4T<h45:.DBf),/%tbrr?!T01rbicJdcf]F9XQ]Fi0<(rZ([e^CIuOp3+?^]4?7)YL+94]+(*Kl1]k>HQ/YMQm%7X[fm/YaLEEfB@7h\Or28T!qfj:7c?CRukIg[4S5CTkIRT7CBF&2/aJ$bY+EHh:HakMb_qLQ3XT.-%]b!,\p_BWuLE1b^GL>E[Ma-C8rn7Q<=!m/Ff"YMl<SB;R!RqOs_n!^-s5c?Ilj0i]bO#Nj2Fr/6#ZMTjK=Fgrl_o9_V\uCKR2"VfIYA-aRqi[i\OQIR9i/ldUY`QVB^(8f`%'5ClH%7AnqUqZb.<l=NV8?.\2q=(c?gVI\nKfg`[n<n-dW>1Hs%+[,8LYqibf#!VUP]kH\Ida`oT-,#ci'A[DLMQLgY6p/KPc"VULN4V`YrKMA-qs<q;)rorR3Cb=-ekUTFo&atPc^N;ZQPjt58c'oSn$C?1Di]h;jULX`F5_>01R)d)esG1%bI"iVfgC7;Sp]RGHs\6LDfq89$bX$?UN>S)^?*@?V:'h8)uK!nk8WI@q)LfhXIT&kjilg*T/EJ>/i)fHPP.i1he/Q@h]EZVarB/IkJH[?B.2R2XY75)QYCQ6ZA/AU4Sd"lpqBL"hWlOQ(O:'^7d&$1IERS]9;MNN2tu"gc8We_noBKZ=ZPu`bF-L35&3gZ>\2Vp-g[PA^<\u_^-436PW-1qc\:4\c;D.D>$l=10%/uKAI\V3H1R$cnU-k#^",r+0(S.FNR+'Aqj/1DQV%'&Dst$YS8XIHjQ-j=Z?+uKQSXlp/Y@*EXQSA<3*0IN]5lPh<.rN4?A3blX\GV=QMLr`3Y`tuAA(j/`*P1(aVm`gnOZ>FG,VpokAT^HV7LRpS!3TS?1Q&XYX81F`5uR[YBsd@F-RtZ]$<C=>8q=O.bK[L?<^du>Shg)f2>oi(R&<K`=o5C)danL`+u/lL,E7L)9]g]WZnR$=bdi(903X9(9TEs.8A3l.mB3:.[:SkPC;G/C?<sF%hTDsX&Z#KEb.A:Pj@`d?^Q_BZ(<Yf)#jRM?[0U*<ingf?TQ@\Q[pa8f[ueH.%#i2CeY@K;$u:#R#^s\fBqgZ0C#C&p8jNd,J+8#Z""I$`uAi))Oq7)6f&5Zi;`iXM6D0TT='ZY8*Dqm'%6.CFr$aN/TR`M>5kDHWcuG:afCPQV+af<H9E2#6\^Du32>SGWGe`F)WK%JP-[e(10Q3S(Lrofq/[%F*=QWs'BP77QJEu0S7G,_:oK9sg53e.)\R,)N@B$sa4WnI/[*)pY,8?q@lc/W8EjZIPgEX2)"c1\9W3jC-NascVma#`pHE@cmTa>W>po!5D/\mLc^\p7Mr`t4LO6+mpg*"*jVsgLV=uStm4OUr:uC/CT/b^M(Wjf=h.5]cmk/6$h"e'*\T*sMFJ#jnrqehR`q]>C:/Kg5-U&>lF#c_Qc"VULN4V`YrKK88g#pX>a2RUiLA+h2n@Ql3au;M"9C?%rg0H)mTte=f5&n;#09_VZ]#i9PhH\?'\as!3EoSe#ks&_grUtO.NUcOdS>!XI:4+\bk&QI-RaV)")0V?<q^?COZd5.[O,N)\%IUNCiHLVEP\tm"Qe]*o[(9&d6[sNUI,fU%?RI7?Fd&F*]XaQ-F69jDji1T&dXK=Xqs<q;)rorR3CA.pSG6CObiKe925U%"1@6]Xp/'Z(B:h0@*uE&A)r5&f_XB*i.,=X#0=c(hBlouQLAq'4q8W4)^.qM]lR+k4H#ku8kKR^hbDa&+V#?N:pY"`T2oio.Eea<k3UjZ(RE@HPCJ4)#A_LE;m%M2.cTZ?_4ti+a2nI,WL#-([;7Z:%?ZP0Zdciu-%K6!Go8W;1I%6nDekUTFo&atPc^N;ZQPjt58c'oSn$C?1Di]h;jULX`F5_>01R)d)esG1%bI"iVfgC7;Sp]RGHs\6LDfq89$bX$?UN>S)^?*@?V:'h8)uK!nk8WI@q)LfhXIT&kjilg*T/EJ>/i)fHPP.i1he/Q@h]EZVarB/IkJH[?B.2R2XY75)QYCQ6ZA/AU4Sd"lpqBL"hWlOQ(O:'^7d&$1IERS]9;MNN2tu"gc8We_noBKZ=ZPu`bF-L35&3gZ>\2Vp-g[PA^<\u_^-436PW-1qc\:4\c;D.D>$l=10%/uKAI\V3H1R$cnU-k#^",r+0(S.FNR+'Aqj/1DQV%'&Dst$YS8XIHjQ-j=Z?+uKQSXkDI+FY>\BD7j:YA*bI@biHI!f9K-uX6lT*r<BS>1/f[(bYA?)>tuarC6EoB.(QiqYT%H`Wb4?00;l)kT!apF\5g/sH!*hqr(=38YeoaiYRYAEUhu/nZTfq5l<\EL1B]T<a4Nq`O\oq"VQu:u:Lc4r8Kc3C`2VBmn0`]1\suPW/?ikKZ$,`U\&(pK9NG]??Vb2a2"MmTa>W>po!4^V8#XEP=UiPE\#;aj5[t>g?3Wo3,LAj"AdE5@k<&p3H7hnaV!sTtT#PHnP!PEfJD6def@KG*bet-u\R\c^\p7Mr`t/m]pomGF(+MDLC$%gpkP7\kh!HIsmo9j*Z5]-R`nUPFi5q\X]R/7e\q.rafE&'"#qAU!][c@Bik7[sgTB]1Jm3+gb"C[7lPt1+FooN+uN56'@d:8NTR_deN8?^G6RrK!p$;9AZQ8A5@;E/JI/9A4ET)23H2D`fG7uY?Ol&WjXLF+$Er^\P!Y`9XIH<9j$''XGpq#`-]lJMT'qL0c[VG\TB\cQ<D+MMTWaPdaZ6<rW,<nXZCK31?-a8:92]_q.caTY3Tdn8?:=>.;ur8K8cNsFs/:YVsM4>G`+@4L%gS39ilbW/#?;s-+ld9RNmD0?Xjd$Z&DIU/R)J[X'E0L(#M"2&`1$prrA[PGu_u+<(hJ@[59Wed<Hmq[Pb&[/R9j+ADr91fDkm`?1/]J3l'8#8ffP$FLs^@*eX,XmEmhsIT,Hq>LqtSCK)];l)SB5Z#<iW7(/RgO6\S<b,C,aBMFJLo.M7BEbii:jooUL\GBMg2!g*Vo0l5GW/12V6ujNMW8M]jIVpFj,24?a3O@R&b"T43[hId/R`R:*psDF\l!G]Xd&igN2<gfGRt8_JE?dk\05U2*pHE@cmTa>W>po!5F78S(c^\p7Mr`t4X*^q<pg*"*jVsgLV=uStm4OUr:uC/CT/b^M(Wjf=h.5]cmk/6$h"e'*\T*sMFJ#jnrqehR`q]>C:/Kg5-U&>lF#c_Qc"VULN4V`YrKK88g#pX>a2RUiLA+h2n@Ql3au;M"9C?%rg0H)mTte=f5&n;#09_VZ]#i9PhH\?'\as!3EoSe#ks&_grUtO.NUcOdS>!XI:4+\bk&QI-RaV)")0V?<q^?COZd5.[O,N)\%IUNCiHLVEP\tm"Qe]*o[(9&d6[sNUI,fU%?RI7?Fd&F*]XaQ-F69jDji1T&dXK=Xqs<q;)rorR3CA.pSG6CObiKe925U%"1@6]Xp/'Z(B:h0@*uE&A)r5&f_XB*i.,=X#0=c(hBlouQLAq'4q8W4)^.qM]lR+k4H#ku8kKR^hbDa&+V#?N:pY"`T2oio.Eea<k3UjZ(RE@HPCJ4)#A_LE;m%M2.cTZ?_4ti+a2nI,WL#-([;mN0FSFq@eY=j^UCDtR`dV:JgX&b_(i72).dp8'h-WF9G`Jg3"(SXAV/IWcD:8j"295`2Qmg[#e(7p,dHb&ma:#O*akb20=`0/3$<FfkiS]-R.lOdI3UJY$->:_sa]ruIB.S?+BQL^KLZ+4!Ud_1J2U+[7=pNEW./VpQ8%8A`4Q53ZAG`'Y[(t-pQ=SeUc/XoM,R#EV25u+IVFST+B_,ka^?WjI2k:'3J?bf92+Zg7"UoF5F1#=+ub[Gq[Cf=?kDi3dZb)($L-74Q,M&4g`$S5d$e4qdQj`7JD@dI0Dj,?KS@[m@l^0Yr&EL2H=)cK*JN>I1+gLFEZP1Arb<H;cj9Q0t3zzzzzzzzz!!(+8J,6((J)0`=jt$fHZ=!8dOFQiEZi/Bc)47&;Gea#qrrB*>s3e7aHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzz"?ZM2[B+V%cZ`00d]THfL-_UQhK<R[r)m&PLJhh\S6"K\7-%"(mpOY"[VTtI4P&uC;llon]npoU9RD8q2)0dd3sFG=rrAjOmHn[>@oQbiU?H__.bNp2=3nitP[oSCNL+[$kC)dRI>I,>_\[^Xl.GXU;cL`FN2X<.%6E.BfR1+d8hoO1+Gbi0Mh$V>LqbY\!=P)k<E3&X/?In4zzz!!TAcd(#+ZZZNei-W3\C9(^:A]%bhBAV4^]FN?Ab?<nV1AuW_:\J;]%,H>P'T+olSc7tHWRk[L(H"4KSLbkd##1k-)iTlMm'W-_(7`bF^Rk1s\S.8[:aV.pFU,"53`E/a7Rp"aoiqUanYgm)%4.b_h1kITm)YZrE8L6fq%ThAH[E65:lq8'uKW>AL7IU9Wzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIjpO;_+GkS7Z%_+=O4L$Q/G+37$GF`%L*Yc88B%:E^MToJ'_bIa,UIgS'8s7pT[7aYjMR:[bP&`?"Ao9*;=ITb"c$`UA^%/kEePWa"F53doaQ72@QEL?5fQ1TjS[,:3j:5I)$hEDXP4Y`INRBhpFY#t%`l1qIZ:;5YY6#l@45)R4k8r.>[_V#[WcoB7]:q0t(tS#0)7lD2oQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI.-7ST,5ZSk-6pLlBRUQIm/[?P!/:_2g%LcHXM1M1fZHrZbXM)l[AG8#lCP?F6q#L+=16]^Z,0Q)XYH*89NLR!!a2d>)C>[^4Q8UpcNK.ZJ6;/N+#mWn0!H9SBY7W1ud.[ZNQ/aYdY:V$9Y&r-L=5afD"(mb>!R'jXb<Vl<:GUg"o\?1pdr,,\C@/)#j;,ie,i26*l.3p?._kJbnYbd>!Rar2":FVD?\C!p__Z-89C^$(E/;-L/?S9M#t93R4bW$AjNNEas4W%EEFiQB/.X;#u?cT@Gdj/Z2##qfK7HdS/?<o-/B:8Wk=8,ZFRdf0:L#UC#QNj_HhEYg'@XRX@'(fKg(`H+IYeb(>Z.Hs^NN`9<gRT9:@%:0jS),l@3WbfnVb=g/=0mtAiUK9s/ZH4TZ7*uH)/WNe:%f%KVM7o6*\U.@:VKM?Rh&.F+\M)^gY9pr+?.F4cb4SqA[_";g29n:<PlC`7Ls2WOgFXP)%'kP[,Y:Q=lkP:0mEL<%)l!gMg'1J\F:^>I@W)?N`3DNV\Q7<FbGFZ/3QeA%V8:rR/_PnsMn7oYW>c#k8IK$c2XiT+9,%2&G[0@Yk:3L3Wi>*82KF<Jzzz!![)SHATp,)GI[YK.#Ju+t=)!qMdP"4Ii-F?U@>k8>o?4[k`pq6<c&k3joL7:B;l"CYX-!)/kqJ5o)W"Zo=JKD\b>ZAWoU6e&>ka<_CrtVi$PpgSVju`OU>IER\tuMm1GXElOD"ni"T,S2N9+X(5sLVSmVCl*/nZIeDN;6Y)WJV*UNUMuIPjD.-"`po,P.\>g,Yn[<:!c=UZFF[j:g2U<`mk$:r9OdCc;;qCEprr?_IWO>pN3M4@fZTCAr.k7!ZZ:]Olg,6q6*n9Pb^udB8ghUNiLt;K6>HU+NWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI.-7ST,5ZSk-6pMhK=EFb-cTo:Pu?H/*%Ejj9Aa]&2L)]&C5d8p#B_T%3-uhY2M*3j?`Yc-3f!S#W(X$e^?^@nS^#Q#0^R@pA2$S3+`rr?@X6C6%4).6riuiY4fOl6GD[imr"s[k:0Ylse`VPIDg>WOn\]]IM`=;,YG1AY69HfjoFo0rMcWM/RfKoTj^1EM2`I?$TS-Yps0E[^tO9oM/AeW-(e_[:QYig#GXFpASi"b4O0'?M9u,f'hg\L5Gs2"'P;0WJa\IQu]a#Xr]oXD:3H_@+rbJRXXS8,fanD+H[9,W27=&:/(DF?f]4CaM(j4,MZE>PLnr?j86:k?!M'Gk1M>'9pW5VQ**N%rC)kK!2G7+m%eZK<k2.=AR8VJ\YG)HYhe2QFD59N;d!j$:5XkjHA_HD#b&KLlYj%DXKD'lm98LIetU6OP=25r7+6Cl_c(CbP\*X`:=3<gd"4E6C/U:,>UF+#/]G=1Cu!ULX+]f/W15A_elohRCm>X`iEHm-e3lXA'4i_Z6pt72X]6$gCML6U>nWlGr.p3p+._d;j7A=HG$A?q)"Y8gc.ru6pr9dJH/27AqE7p+CA"?K7_&BVg7=P^*6&qWCu*JWhi)>n_f\)*kk/:GX4E9t)WUFMC3EfhEu8dPZZefQIPItV%FjrEUXabcY?EllCQHb(WS)->b[J$4c.ru6pr9dJ2cIg^O&bf*]kH9MY!4o>Ve*:A0o"^m2fqNuiu6`mh+o<m4]fsEoqQk'\GYC@SX.nJ`Z'nRh9d.uN,*RRFZblOoj9k_erB&8j7A=HG$A?q(iD4;G=64q0s0%:eFHD1eU7(o=uWg(O3Tnffkl;a@CXn5h%?da`j]23;oq4a<V+qXB\q.>5</A7A[VguL>uJsF@Nb")VoAg:F,d"=3kXSUO,J?r8ZM%QIm1s)i\[id2Lo$CN[O;4Ho"%?TkI@NU7YEo8dX0>@;LhDDebE6u.6+Xk+$3nkZ%2I.jaI2md@]c98/[D1To>\CSp\&ZtiJ[p1jjaZbbco@gll.=U[>l)fqB=">-r.c3(KE.+VDoTZTk*EeV@GNIQ>J,]L^Vc;VPR%#"\Dmo3^:6<WHUNK9bPM3JT&@6/B[Fs.Xmb/("JhY^Bb_kIt]P#jHb1\=EGNiXtnuEcVlAEYboMjhFj]'UP1h,/d"6@a1;:4A#/TT##CK-,e>usrLBjaC.,M;6\WqfX0OYOqg3799Yf(#V&=7Hkfz#lF@KlTuq]nWOQ%GH(1T:&9X>fQ=)eYr.sb4dD4R46EkFFI(\2qJ#s0P7a-ZBU:SEP9i-9`)<(9I@d@_4C]Z2e8iTrQXZ_jA88.\B<#/V*)B3B,a6nRk,kmVMQ!KJa):^o4IqfrYq2&EClt)CKi)TVeQ/cT<4.t<\L^^$rKN=WgDjpB.QP]qUO,J?r8ZMEQIm1s/A#o(S%9hKnVqFrS(jq'T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEA>_qtq<_LqS%j/Iql<uP@84u"MS&-A=uS6e<5o]L.iR!IA^oZmrlMXnq37=Q3f!(d%^^5Tm.#oF&^!;32"Du9agI-GaLo1(o_Ep"f*ndrW7R#Re@r5cTs;:8g/5,<aQ@]dU84!eb?2DJd8A`i&f0j<E90h(^S/L>HZ_lGXYTFI-Zr,S23(Z'Bq!^#F#`B@O-S:"`T"-R?90?n#`M9H!!"nN;qd)7[(V7_/?*hB\PC(=m(5mF-]+ghFl,'SIq2BMCtdlO27@ErGpHrB,>L4G,a(<gP?C\2k<;&?E)":$@jGCV<Dd>/V57Y!I@8oLCfFq>?d_R/2h=t-4Nh!E^%4#qh=t1<7;H8bcS_#s$?iFna^*Q.:DPjlZ]SF](>2m#^$V9HFm#<6+Bf@]Fk7UN.lbDcEL=gNe>,TKaY\4;\C1a>8lXg$iK7tTN:r[ooQpu4i5jqgn?mW"etO[\nZ50"U0+QtCoGibE2kc-W2lU(1_qjkP]Bd*@pO(T4iiG:jfPOO<V9?2+sJN+Xb_i!+sqs<DeR`ES9n2?gB3h`mr>J!\g(GLNGc9)DPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g<M=l/bBGXas0mFr]-]Ij!QeTKF$;!9`l=K92BM:F'D-'fK'q\L!E:hFKc`G@n9,th*u;J'0&rrB=Db1KnX]s/n,\14Iq8f/X,d_>:S7^=ouWkYFZX2*;`QT7pF79)`8lf2TIK"*G6_Y_%7RYWT==C!2X3kDF*XD1q>qHYW(6qo:66qo.bT5g,CrM!Cp]f.@qOY;*:`@[?\pE_k_9VBhrf,r`E`[NaU9Lr"4V:1rUlLEKJPE.WL39SIfO]+_)Y/;'A-bcW8?,lcR$9E<%>'VEWBc.;*<\1OKkIG,L-QVHkijI'42mmB8VhjW@.bjObWP^Ynkcjr\?eOCcO-T*l1c8fkNcUKSZ]=+T`iHVOd"m%BN1;=1?Lhr_eMPRj%i4-8N@A#)[Im_bHDNBh!kSr[[=@=,C/lmZe;,d0Y([\f/Ne`-&<`rMM,#h"3As7XEf2nf]Wn>A;GNX*:WA,+f_<8Zg7AO"A7Dt2%6(b;<B0QM@ms@-Le;NTEZ1E&?X&AlHkN:cLQ*9ICYof*Vr2U'lrLY@LYF=Z37997eOI4XM;HX_5</A7A[VguM;btqc.ru6pr9dJ9-)OQ:SZHfp9.XYZtk`J4fR+OJ]qQ4f$3"_Xn]oF>W5U'5*&_8g:_1VdB5\np8;K1#;Ltn>;pXn\)SC_E8=;8qE7p+CA"?K7_&BVg7=P^*6&qWCu*JWhi)>n_f\)*kk/:GX4E9t)WUFMC3EfhEu8dPZZefQIPItV%FjrEUXabcY?EllCQHb(WS)->b[J$4c.ru6pr9dJ2cIg^O&bf*]kH9MY!4o>Ve*:A0o"^m2fqNuiu6`mh+o<m4]fsEoqQk'\GYC@SX.nJ`Z'nRh9d.uN,*RRFZblOoj9k_erB&8j7A=HG$A?q(iD4;G=64q0s0%:eFHD1eU7(o=uWg(O3Tnffkl;a@CXn5h%?da`j]23;oq4a<V+qXB\q.>5</A7A[VguL>uJsF@Nb")VoAg:F,d"=3kXSUO,J?r8ZM%QIm1s)i\[id2Lo$CN[O;4Ho"%?TkI@NU7YEo8dX0>@;LhDDebE6u.6+Xk+$3nkZ%2I.jaI2md@]c98/[D1To>\CSp\&ZtiJ[p1jjaZbbco@glkhU/Jj3;07][KeOAj'+Ha7^qCrh/M1G,l0Z*cYE-JHUbOCj4^&ifGqmMNGRFu)W-KhFi/>aPN_[H4fd/'CS8FfQEYC)[</U5md'GuSSR(biu-Tq"=Vpbaf!4F8?:QGfQ3ElF=K@-i]-:K<(,b]9$h4XN/VEF<O([Q@3!G*\>J6&'ldS^IHsU)"5R<c,?l]s[Hqq=nuH#Oj@*+['c2EtdlU!7fp%kF+nL0^\o'Qp??CF8\nIVAFY?5+*BW',<k:_8OVJNsO\pHRJ,e$orTW#_eUC'@L7p7^)[9Vm-*:CbX"pXhWdjARWRN-(=K4L=L,jRd0(Ndpe<t<>PMu9?Ds%&H=WrH>%h`=K8XVMc*VE,gRk-5]gh&PdjArH",th*6Yc==[m!5l`FQHgKg#jriC[W4idpA,47+if2^PpbiEMB2[`Cj',Yc<A(md8TgZ\ADZqu`P1[,/E-5.9mooCXAmhA7Ja`1Zeaj:0qVh"G^%rr@RjfPb'%T3HMHq>-5d/kYen60lY6)nU7'm,<Ho!!)2dhRdDa[dLp%ocn]dQ0T'8f9;:TG3a5&_Z'W8!RG2fG0YMQh1+VQ7e!r=eg1R)-Qm<of&sAnrrDs!T#5mASGM!OrrCBpNT"nZX@a"0:-dXiXj:VfrrDg!4biXa3VBk(rrA[j)oC[>=Hjl>S:S;]>Fs+VrrDNuHO];LF6d`0rr>8]2hf@[Yp_b\3<OJC[lp67rrCssp)DV"kLSJ@rdLY]$^/24:jV\Q#4C;bHT5C4!5LV]2m1i[Xh1e7rCGc]-$mM&p#P0Ch7DD8E52DQJ90@]?*g/-G@11BOh<;=onc!#aiGF5Fh-ktJ,]KKkHNgTB0Ncl^[q+CG[-O"&qef"O>h@KF4nG1!<*#F@D-j0I;ReikNYP+\LZ5W#HoKtDXH$<Z\ADZqu`P.HL77!gUdCbcd[s5E`]>7%pi!rh:o'XB++_>p]is:p"MM"[rq]NT;`dHjKD[M*k\"o]=2"9c56K\n.'dSlaCm#DX7<&5>jFoa^25#4aB$iGAalQS1jmBi#MG0f50X$h:MXTUi-X(]jafano=s&h/7R!?iL,A3UA]-g!?e4YPe>ihA7Ja`1Zeaj:0qVh"G^%rr@RjfPb'%T3HMHq>-5d/kYen60lY6)nU7'm,<Ho!!)2dhRdDa[dLp%ocn]dQ0T'8f9;:TG3a5&_Z'W8!RG2fG0YMQh1+VQ7e!r=eg1R)-Qq6I$2^t_F[IiO]_+FJC3FHF?n*17"flVmSE%-aj\*a%/t2E7F!d%(FJi7;`;W\m:RO,W&sD:0R-1ijff1mR!DS?TCDOg4@Z/VU$gM-gLm0ai=X8gdZ(L;,7IP3cD;oa0g5=HcVDGu$Cc)\8QKH@Q6PX22?cJ)S_oB!F)`r8=SC[[bke'Hf[9MBWTj$2eW+WU2(ZZba+sJ5h+sJUl6q-SWE"NG./"I<t#G&K0bAP2)XrH*aX2Uac[]L`jG2TGq<u*q_QVV;OP5:!K;iV_--+;:1DRcL9,\g0go%+VqHfBD;lGL(7"7!)$l.HIW1YFr^Xc5a8,'I5Qd+4r%b(tqQ+a%(7NVRkUpGL>hl0h6D>80rDL$s??M>7gjWk'+u="]/(Rek:Z9uj;.a&B]b'WQ#:7Jat.);;8Snn8f>EXc]G.AWor3rOKFPc='de)Qm#,<"4kMm+PSR4!)eAcSUDFPKHm%7_1L_PIo>eLK;gX^3(=!\\nS^7m..3:]&<m%);r^FF2V29?369BL"9XIU$sZ`7_-?68bPG*+`57<5:Dc8@.k6YcZ%zzzzzzzz!!!/1qm<^=rdM@ck,bm[H+YG<e@A1',%GD!ZAm%&Gq)K%+[hSWB$o\4NdJb9-+]_KTZjrf6l+MZC&%85lDVn=%p[Z/C=m?k<[ocjl?O&rWi$#*X^B;[FMu_uc:%Tf)CXtpT$5!7'4B$7<f;qeUU!H0[f45Re(HCR;'LIG]IZM?WeoGLXWWk%#t&R'%5uoOgJ'MX[aRr/P!a(Cg'K0EVU1Ju;N`<%,Xb)*;VJ\,F.DtTSuSfjX(nZ;PuUi4WiMsrFK4S'ZF$X3WiEU1eQ#gR<HP7@Y*E!m.]]CI8t:qB!'331je,bBj`^+(lHq"\c*9j2>d)^k3).>g;Q7km9Z_3'iA,8GI$BrI33sm+NCkBY9'3\Q9LF/4QOV&(,u*o44!B2&-*ED&'cP)ip8[@Wd"uM;U*?T1?.X4InT[md2dIrs]]s'E;+B'Cc]RO'>+aN]/&7!VY(T]BqUsDQIob6[IGXGDWS%4*qUGrigCG^]q^1&Fa\/Y[A<^s2!2sd:>>1HC/\FF2fHW4.Ok9bK9TH^T0*"o*/E0<[CA>,A2$s9_QD2V90mJ&a3\&/_G'eKL&^i+HGqYG)),Z&0\m*.:rrB%Xb?H`OjI4D&e`#snU8oM6cYW8L1Xsn$^C@[Qzzz!O94;dr"!BN57g!p9?[d"/#='f&u*gaHhgX&a#9VXM/?H>33<;-9NVKaQ-!:#lal8(s>h??>eOY.=eTaB72:@W_^l;;qkf^WgnsO`1<--=Ke"hdO)MLGc84F1c$'6b5<JiM6Ad,e0jDCiO6d&:ukq.C$IQ,=%Mdp`jp>17Ch86a&[X7Yq:??@+&5Q=uLdXMFAEcHPGWgd2JXH2=6'rF\7mpY!f2<nt(9K/H-75],+r"q]0-]lPJQ,k>^?Ho=A(2]G@[Q(nT;<g5*i&RMa&PWPDHH+iG22._b@67t4O?pUsh4,`c7>=+RJLC;r0O0r^kK6po];E8eS4!!"`KDToOaTCIWcQ1>(8Wn[6['6Omk=pf\$Y9Rg^HZG5%bdi&%C2XiaaL76EC2nS>6Hlc`\BF5-RTRkr_"_*&O*XjK@_#?\OMos1cRPitN[@rm04es0D0)/(PMjY.I:LJoFl?PV*^/I]q`)c;(+@X*P=V[gaP1KseQWr_Z]PT"kKMn2l7XXC3GSMVb#U,D7$ps)>[$CCh#\b%\h1<\6N7&Ie#<ofO@QO>l\;lM[DrtofOHHfh[\a+#e=n4(l$5JOe'.BLlt_4lP=5l<B+NSg3lGu)TLF\[1_M=-4.5gpBt8O;W<_Z8p9pS<:/h5g16XJ<Ur4Dqin@bg9hL0UH^O'zzz!"Jo$I-BF9X>7Y!\73X@L9^XFlBr9bh]7<M3i*eF],$e_[NFlTqO04'UjT,F''#Ji;adRr[6DqOfc>Y"*RuubbT"s5NeTErHdZk)=X/@5(B/.e7$B-*V5X8J2Lafd)-MZZ41[mC(g",hUgiTWBu'S3\(jDjC5\eVX';D[em$u>(c8`VWH>XIBsc#n34.sf3X[?q$D1+G_BVC$%Qd(EfS^M$8Stg[Lm"!b&>?+mR[Vs!RbHJNbull`P"?^pkIp=aF5H(4QT<>k="<H7>=t<PC$K<!VP[ut;^:)l]umA<]umL!S?&Jkj],;eb,P%E60eL\[^0,4gQ[#l_dBB2UX3[2fsQ^f?D-k!_55SZZ.t[0I(._4/Ot^:V(G45Md^Sk+nf49I<Fpa6Zl[VP#Pb11GUAQ@WA"cOuXH#2%t\hEhX`L;GpNO'm-es'[N5ZGoI`CYq:%RogZ?k:<L+I&O6.,nCN,mCAPB^ngcD"R0OI0Wg?,n(An#Q9W=oR'^Mp"(se(>l_VTtl^LO_&Wk0>rr=W?X7b/<+m:[7!C_4^Z8jYIi/O2qSLe-n=kZeDms1d!<jp6`O^s[1+sjb[DGnno:(iSMG-Xe==iHQ0<7BUTg;(]%W)6Qom[gV3[R<h6&iAE0zzzzzzzz!!!6.A41$W"@Qj7q1u`r7(#l*KGJ:r;J;lr<N.';fe/GbE_Z@$1tXX1m."Uh<[CJ9W9V[KFTf4`(#^.S>WWpd9i=j(VqjpCY1q]!VDc0Mb"Nm_`kjZFp=@C*m:tr3?dU*\CigAodI(@<MX;i3'l.T"9]c*#HHDM@EiRnT5qi)6)S.D5=MLV":Lstrkk-#Q.d9LXX"qQ+aF[n1bBR@%-8`<:>]Gh)q+CU@!84_qRPJCDQ!3O^'R291SWtNH;<V!B(\NWc-1Zf.AqnCXUl<VQXpdCKZ%^;@inRH9bD%:.g8_].ejg*pB;B4l\Qq%JS4Jgg0-/-:<,*kEi>\ZV^@<5qG@E*%)m81JQHrJRXc/+J>`;'@.a%DN,>0TJ.P$c&MH)"ud3$"7,[M95rHhq"O^>XPlFa^iHEAbu"*S5NY&W$,8QPVF7UZFcR:uduZH<f5&LA\kGF3;^c'E=._/s+E4.3QH/]U-Z@>6,)p,.e%'%QG/\^"DapFWOpe]r38Wi9\+-?\Ab*4dcgL?6H7C_p(s/WM76h^iPHQ7)Yp._IBSl#W+pWiE(ED;DeYp2IeH!.].Ck4c%3c`Og_r;B40D[V`A@ShCAEX(sfDL4?MrrBhplo2*#c`Og_r;B1C(F=CGT_7C,%GeVNp2IeH!.].CDdB]A>BaHMqN8EC9(e$,lcI3e]61[NiICk-!9^TC]4X=9m_AAd,C!IYlOnj%PE7_HlZ:arrrE$!cXFM1c@'QcJ*6)dn@:(#,mUV$+E$StkHfmB!;lqj_g:^?qV/U]!70/SiGr#$8e56'5i(1scY!Xc!;Hd^L@s:]os])D!2$50_W7n&PTIK-J\/BqT$A/P!:UJF%I:HDlYc%g!'a@?KumZ+-p;i9"*\Xl4e+2*!8njj)qSohf%nsWI\^liP.b=$HLc(\mbMc-3+)[c^cCa?Y1_.']<D/28DY./HGlKLjQ$d+]%m!u^]+:aF4bD:Z_(HG?hsP\]IlhLM*^ILa;_a6\a8:)rr<&^Yhm!)5.9mooCX>Q>a=UfK@c<K2g4M.fu!ahrW1>R]lq\LD;B^)l:19R/(Q!OY9tH1mFLI,L&V/N".mDVm@=%-])McVe;`F-=0,")?;<cAgTAe7$i^5%#<dh7gH"r9FoMH6W>i_8Y?7#1]UXPb[p,HL(]OL)%XSZN[WCbPli-rL;E'<O?EknAGrZ)eqnBEhX1KHYRS1;2g^AI*Xc$gg34?;'XNg^%oh&L:ST`I-cCH>FX1IaE)EV\;\>`B7(BGAtZI`eaLr=RiK.[Om1Tp#4k-FQUL'X4)\C+"qNGBBc@RRWL<(+,k5:NE%P0Y,E^@D@dDMtP9;,;JeiO\gDNN2t6jF'.MCJr_->,nNXC7kOVZn?W8eR`O/daO'uW_1oSKc)!29E,!VMdYh"[mSf;;<G_Gdbio&G(9Hn$OOt4,>82p;-o'liOtKM/MR2)+TDGg]D=D_66l6GrUE$m2CEp2h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(Mgck["-*rZLZlqr2qc47$;Khd$I0rrCEXqDJ1:h]qm6p!@p8^%&hJ%RL*pTm--Epk-:NmtpA'n$.6"I<6H]rr>CSkh#>0I#m.uf0S;'pW!'n3=#P;hpJXe%f%3\-a&*9`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_*;\qA4WN^PFu4Ie]MG%f7'V2qL@:5P-T-NIML`aSkWlF<1'.HuH0?OFQJ"r>PYXmudM,HK[HW?MND`#9a$Hd(B-3r'B3bpVcaOGM'V!^:Fe?rrAa:oP=5S^.7XKl_*^OHfKNr*/"7k6LX-inHXH&h\4U-hdZ?"qWKpEre97WYMp&f+20,*K>,=nNV1Y=&,cmNUL1q[niqLt>mGe9h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(tt,=uI#?U`'(MA=@]A!9(;@IZ_m!Z#V;iCRX^$jBq7<,K]dB+uL5a,\Ekj&J8uMR@_8>0?Rm7WecP4\do.HLoRML$IAV$Fg,"4k`MatAQMOWlGoplaL.I`k,'dnk*kk&<&U=^7Ys%jT-5ORfOfst&lQ5;_b*"DfRmg:_7(su]8UD<\?b[Xr<,nj1mE#,^%kNI[X+h?G%6-Bd'C=ta0o-mQ,@f]1E-tT.Uib;^X>U4dn`[0r?A!#8SSo7WlV8:(VL)^()0GMzzzzzzzzzPFm'V]B[#..cbu4OX!hBquo?a&PA@\;ADhMe=nolosJX!A="101pldf2'd,t7Vo;@nYo5MIAsZQ]5hBJQO7.]@]IZKW4Q*oI!9sU9beBL^p9tSJd(jTUlc9H7$9Cik'g0=SJ7H<%`o_\4J"\Fd,n31aeEL5JRi((@:*QY]BiuN3n<j@%2.6d;D"AQP>@k+ZjM1a9bN:TN8-I2.[^U;AgA3j=s@gNlo(Df7D`]Ebfn;TkoTH/mi1Q^Y.cQHl"[D*WEh((8EG5^8G0C:H^@@8=8r9+BLG1ilYC8h3nh3cnZ%b!_Kd.IP!)gkOmZFYk;dXaWrE(m9+_aGfR,'j!$%+>N/3;6bfGTr[[EQQ&J5fcR@#Iu,-%eu_Q"e0WotsGmpjqb?hX]*0k1R$3Fl;.,c`CqWUC_2Fl$*\N7tZVIC4&?:i.WfgF$Eu,ZN7!Ke\a*[uH/$F^-SB6_'OdK$6_l&,uXY@<uXbUldL`X&hr+Wc!Xi/>l]sAlMD;fioe(ih;DgnLZ&ReQdUfUO$X+Sa!"o7FI@ET#\.XIk6J6$%g-QTE"rlzz!!!&Sg\1S`l`SX;HYSm&[rGYQ3)j'%*hLcm2Q'QS88]sq;-GXC4!F>rP5#<s'/Caf*sLnT?.U+MG[EDKCin9',VPU#?FDUKUM@@.Er(c1.f-3]RST*\^5D3LXM"!OVEoFT`9AP0lXO&:,.Z!>qM9s->[p-I8YToH&&bp4DB/#2Fd,M\;7RMh\8nW<b.aoo;l#h$cJQ%!Gt]n[A=&ldZ4)QF,#&.+-(_T+H=Q4.Ai`JeI1I58\t.P7Z!5sY,Bu<K8tnKIQ8'6i/W@)P+$0!s[l*\t\!((j@Cfc%FAT-#/9^a94[&L]7!#slD\>-Y<O[%fH8PBs!!!8pIJ+khr2EJu(+`K-Pq#b":rI%PA%&;28W`h(QJ%<>PUUBON09EfR@_8;\>#:7@Y+lUq;11J>1?PnSE7#XC*o3ePu/,,8ueU/qI:Tlfb@,$V/qd$C*fnC.bK_K9e*0CLkqL"<l1ZHna0u(W_B'dc'qOVaGr0L/g[+;'Xl],X+X-&<55:d_8f7!Og@bSbA/e\<lD-7#[X+E)a20'pbVZi+Jj"PCYgDLWE-uA=EHSb-8/e0[Q^B`g!/78CeRaX2L!9oAX43<cM2t*4YJ->eI06u7I6F7ec,X0m&!bU;WuPfBcI1Z&gRGWzz!!!!$-fLR]HY8;(C>u=C:HF3QFjq'>Q)p3HBf,OAQE&Q:n"bo:dO;=2\)20"Gc9VtNG;']%*T]<LN:QChg!lj<HkL8L+Y6U=iZfnU,X>mD(O"4@h[Bs<lUl6@lVLEgpe.0hO(2?!3#@1D(L'G:MfbXL.*#-Bd@h\C3lpqfSHPo7FU*!ZF&ACm>ObKZ*p2iNc3IK0/SFK2c\$Q%B?gW<Kr*hWHBWqq$>\gNu\\8O-80+]c!l=R#<nC`Uf+0/>)4m?"?eVWlIh/eR%iC'tas7X/1&IomDeeS>A7+lu@F8/h4O(?24F"oeX2!7Z2%)Ksp`c=oSK@M8HnYHF`@<`bHFY_gh^eYD9go=481h(6`PaRb36!\ohdDe02D;>ktZEC85_"7cG+S-ubr\WV$CA%_C_Ec[iP<G,)9:6U;_:kE[Kj7o[R86ZfTtTo<`fF4T!Xh<s;h!rH$,=/WB>V"`Oi.:Pnlc!0n0*Ac79h<]/qCJe)peQM=1[`&mV<hnHAaf:FF/G,K`zzzzzzzz!!!!".mE;/'`S/PGQ.Z.b_o%s\7Z^[=BeV`\$@>G^*4Lp+^;TZQH<)E0,_;X4e#@3etX;7Fj;N^gG<N87<i&!-53OOjpgh^U:mV^:sll*5(+KlBtJ'Cq^q3tiF=HtHVA'2bU\J2SfXq#`]',TCRVrE/MjMEV>gPU/=K]PANOThUM[CfrrCtF>QdHX,c$6S@3m?H,"ba%Y_]dpKdRUaM.-6Q<3t51WCQIE8K*Zi!(,CL_Q#IF<NuV9X\2otLjo.)re97WYMpXqq&d<uY(u&O`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_*;\qA4WN^PFu4Ie]MG%f7'V2qL@:5P-T-NIML`aSkWlF<1'.HuH0?OFQJ"r>PYXmudM,HK[HW?MND`#9a$Hd(B-3r'B3bpVcaOGM'V!^:Fe?rrAa:oP=5S^.7XKl_*^OHfKNr*/"7k6LX-inHXH&h\4U-hdZ?"qWKpEre97WYMp&f+20,*K>,=nNV1Y=&,cmNUL1q[niqLt>mGe9h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(Mgck["-*rZLZlqr2qc47$;Khd$I0rrCEXqDJ1:h]qm6p!@p8^%&hJ%RL*pTm--Epk-:NmtpA'n$.6"I<6H]rr>CSkh#>0I#m.uf0S;'pW!'n3=#P;hpJXe%f%3\-a&*9`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_0HG$SNkVA)fJ;+tLBZAnKbQLqdW._IdA`Le(g7jC7L<OD'\JIWf"fTDnoFN5K]H8CmoPoLU!?mcjTtmqtAif"o)p/>JE-T(&:AdjVaO+AqC.Dn=XHe#@Pfb>3[,ZE;Z=QK,l>;eA*#V'mN5Td3#p^d8WF:(4tJN\nL$0+9(JcWL!JY*)CLGol)-3Giin)S+%hKiM+=iN\[c_c=<,jb6E@*MAjtf6gh9^7H-$=1q,#>imN9r`*/nh"&^W]^=ejcu/8r(cS5V"418=R*t8V6h<AFFAhJfY\M4ECrPRU.!C5eF23)c^c_k3H&XGTI*TSL'Y?B,)R8Cn0mVNr*MD6Dn/dXp%mb)>@nWgD1U)X'0$\5:XEeF%??YmpBK(,t#G^Vfcs)j(dcuV3lljbLZ^S_2*a,fcS\1ZM%Gf>2kkbAP(?O[8\tS^W#]ru2k-/U@Q>FP'D^]d]GB:QG5/9;b\Ts/eW-ln-*>H+GX;\A*Rk]3CarR/2h!cAGYRa$;?=QX.+#C-V74ul$#-<)^b[,J`LM/Vj49qYJ"418=R*t8Tbj6M#9=()'WubEM(S/44g'ula!U0C\oG6QN1qKCP3s]q+m,kNea-LP\kAMblK6MCPH9T,-"hAo</uX0C_As?&3NO.(jdRuMgWCP0h;%K@O0B-\DI-gGWZO%$LIEi@CBgkcB$=S)nqUm;G<?,*liYU=Q^H4dLWo*.d7^g7_5eV[ZPT1FU"Tt3cN38,!;%&gjtsZCo/d5";XEPMC<)WV`TM.fG(Y![^j82[4U&BAN@q/WcGCS9]/cr2Z/qH0H/$I^T\\Dm*fmN96#L"=9<''iY_PY"c>*WcH"P9,G4LE%2g7@hU[/*0>F1`*lA*UM+jirhR_c$G=gJp8]V4$gh9Q,cqZ-7(jlSD2U%:>OFAhJfY\M4ECrPRU.!C5eF23)c^c_k3H&XGTI*TSL'Y?B,)RHiFA=WC9<p98-\WS`(C>cTOE2_8Y4[/eV+.Z?1e>,#9$lFr#YI2F3aE8q'HlP4DJ:(Fi&^(QNm]X>XCa3puh,LVm=f$N].p3j3[9WI:He*jc;,r,5V"nf1joi:EWp_IY%p`#Y;o\&IOjq`&=N2Pqc>rZm#`+A<>L,f#H`_#:%asaff'KSHq(f_+=0`Qi\T(WP-J5F__G]4#6@,[f?QhhH>#DMX2oPRAgnX07!#eEc3M6,HG@nQRXhCt+a%LU6qHIC%Jf#\_<YT_Fk"+.]1t/XGW9\fb30C,D<Ebg8b^E!K34c-[\ZWFjYhU#58JH/"-!8Q:bpkHM[Rlgo<*OU,iitHX=)19e20fr9o=\n)Sakt(S9n9`F&#E*4HrKpm`BVUP:54C2Wdo!Ht_'AcP=ON^O\r.m"3p42o_<`)f4rQYDU&@ii4%X?<m)rX'D3tD-Lgt.J3Kc@dR^*ln<&h[s&T_m+%;8QoK`]7K3?\D@O3h93UEDC8tKJRgu#,j3[V6$eiYgSRkcZbfnS32(;"0;Ntdi.7uBoPbfeQ8lCn#9[AC9?*YXu+sJ3THJe?H)%dGm&MtI<+92BAzzzzzzz!!!+R1*SM1+sQeUp]uE_<GY(O$'!;=]*@6<:JnFSTP:eQ<tZ+cWE[q`jRkRta\?V"=FOE^S!@npO-($Da2O<,#I0FZC?:*Mg2h)BWrPY7?sKe6L:81HdEbkJ,cA9+JPiJEZdkta94ETsaKBi5Z6<kXde"AJ[?s_ie43MroWhYRZ1-/E!i&giAZ/CGlloeKWoW.T@&$Stp>mKbDqidAI1CltJJskEUJbPW#+8)\_eC[?K*!$7TpX6&[$"$ZOs9o+cY88_]IsWhg:jlb]k_2Y]]s'MP05A@njt(Wf0/SCWk$D\.]QPZ?!Uap=&WI5<@%7daKLau*3OYFjgEBTQV+eiKiIDo`dH\E!(IL3a'+;JAiT@&@9$.\D98$Q/Q1D`i>em.d!XZ':qW@YT%N^-MC$9<OmG86S:%g`,#le=o4N8Zp+?*nM<L4Fk3&/5+uq_gg8)"DdO2Vc\g47Sp7+[`A[Ne\c1s9a`l)4D0?R:"(O!rYoMk3mWY3?-SNU"46g+B;=T,ha<#)NQ/T*PU\DrKON]?%Jj,Q+YNG^`9M_ePl>0P5`1G^gMVCqtPCDtbYW/O,46q"9l'1*leBLG88Ln"`SE[!@QX[GXQ=GWCX&NC@9e3idk8!!]Nzz!!!466tU)9MhK=R!\_i-_kB%UA"Rk_M@S".7+EncU[]t;Opd)a'M=9*k?HN]f$10QbKN"O=KC5^e>B5B8<h@^8p%RR-]:lLEpXV=qXC+'Y[ud1a[mt2oU7^PStV'XB[Kb5.X*'tI5X-.7XsE%CVsngk5FgQ2H\q,]5FW]VsX%0FA4Q5V(sN>`sUJ`HOc;QMu#<>ECFc,X8i5#!!%VCHWIQ"h5<rpVD#"?CXnfS0/M3/n*G(U6^H.BLQA4Ed^HV^Xg5=K<7k_u__a&p002\1h1dh1rU!Z^S[cssgTmC8QV9&MM.UM'?X2Yu(u\Fp;t_4]3^ioc'kZUNR5=`_VB""%e<\HJjo+'MP=1Qk<?5,=]I]%ZC`]YPdX+G5f3F,f[MJr\!>0\^6J+p9zzz!!)u+e#tac$oI;=]]3h4_[Wa"T6\tND)0:/P*YF:\=uSnOu$!pLkk*\A8HXV4W>>;<E3$2&J6Tp<F#ldRT3EU-Bl?;ehtd#OfW:IWiF^-M5=3PF<VoC<@sj2g!OkE@`Coa?PM(TS$H<`/=V]eD$uJ:>>*sKVV':$q*rTR2\nh^8M]>Kij6#@*@>l@[H>i^c:h]7HO\N/URRiV2P.leD.Q%;fde&5QJ$%&OaW0nBBXH;M,cW+B,gFq')q+*C00OtgEVk#/OZS+/SjWVSX/cN"C;:9r<jh&-%[5$bQ%VQ^9:Op6DRV^Z]'bV%[BqnbVam'U/I[L5"Vg54te-$>CYQp\dBmi3r0f(R6T2#cQ#XY!:l99`r?%paF!/cAZi&0TnE!db/i?;!9GGfM>mQu6AQK\p8hf*mdeGC"7F:5?M?U#l)?`0L>r3=>,XYFg*Ij@!00)]-I>2cP(XD__BIU!$Xq0d+,4b6'Y<9n?.Wp51sr$DSZFAX/cO?O/!ndd<Dr@i$^Qh_gikq(TOKg:MOHM,LmD_6LtdEeCpe[k>>HA%j-BZFzzzzzzzz!&bchg2aiK8XJi2>A58%Z)"=uGD42::"WL#Tag.AX^.:_-#\rO-=Sd<N^U?\CpjqSb>dXgD.3@.^fRZq^KchfM;IK2mBQ=a:.=VJ\$D"?YEf+fpu6([_MF,Ro/AAkN3U6$L*sZ7+"L9H:CX`nU3@gU\=;b1N\fM,`Zq&,Z#4oIENPdeX;b@]=;7Q.XW'Hgbpnha\>jtqUMH$m2$_5P3H])<[B;oqeaf8Z`@LNlFm[1N^Ae2RfV85^323fq0A?6Q=^BZQF>]"QCD:VRA8FsL@o3SW`0cGV`OG7!M(e.jReEhJ?R*/hfP;=qei#AtN,!$A;%WJT7\_6)N7=UH+taNb1Y>)aq+T"B.]A0'X.\D$;%Zf065?j$UMJ#WG$bK)n<Mm/UfobSW3ouVFfSW29p9^,&IiP:6\A@7^;K6Fm55g:F,8ul<:a7ae1fRUh=`MTQ@e/7BpndVE5Oj9HGZ;Z;UiY<)biff'de<K2,h9>k]:TXZ,+CR%[#t@.C1?j;I,VBcb*t6a"?[c)Lfj4nY=M>B3;,XR.OAHZflF5QEi"SL$h?c?S'lgcJDCb#4CZ*3^"Qm*eN1[`g9XshjN+aU6fLMK2t+@AhQ5k6aRfEScdC6!U),Yb\;2ek&q="V:j+$eW297MpC0Um0<"AJFn8?H4+cb)I628SV0$QG&pbCA'6c>o='rG6+a\c4We&QK&"#YQW-.]@1J0#SCS-Oo$*Q7mH"i)DXM`[8(\'>[kBJ4eIS)#6_]o[21nplZXtjPGseqX]:K,Pp&XA/bKO[C6frP'kbZtW@+C;hfo+/4;!eJTkCE2QJ9hTDo,:n2q431".<]c72.Off@e7'n4$gKhi&r/i*eN1[`g9XgB42:-?(BIT=Rs_(]^=ejcu/8r%nG7WTXQR/V:?*EfL)C"B/P<B4L8WQ4*a3#)nV[DdImV)/^)@PF[P;7&EotDc!](_/D5s,hGESDmcT,mI=QVOEq:2T;#-Z83[o5n=>aU32Ic9ePWM1C\_oUm?ljpT]Z-:;5%e:6MHub'%9W2GR(VhJ%a]+]GRm<s#GAOZ0r<D2RFjm$QY/1.<]m^#00=GHZl?WK"4?fCkUk!%Bluf*FqEl6g!*pTO"AtBcJDCb#4CZ)oR279$ZbhW>u:?fKK:Q*F'(;0b;Ni$\!/s?]=Hi_+(-.Agq:Xn<'Fr'%Z4P^edYaPc'Z02jUTXTmW]74fE\(Y0/9<R&"2';U6fLMK2t+@AhQ5k6aRfEScdC6!U),Yb\;2ek&q="V:j+$eXNW-hobaiX092V;eh^Z,#kPj[2k*5cDT/FH_,$kZ!P)B8:!,&P%p#tP9&^%V.a%3PnE@<1)X*t_&+Y[(u^@`/0/iM<u#g0A(a@Ia0E_X<-)<sdEQ\aPZ1U]?3N/de+cuPdd64heMPormuF*/@e"MGg3?f`\LF=R<k0')MMn;G'bq8Zf@ga[a1@$]B0Bd;m%nX]b[Eu:?+4ZOV$`bs:"FG8XN7D@,U'^*;5)*ib,$bR*t`6>Uaac+/[t3R>3=s&_3_;8^1o0sC7cI+Kk\0RQ*57/>K</7ZUTjM'Y`t$G,E,9,9nlH(pCi$SCLTG;6eH.]Q"pj)\H)_Bc?:oG#6U=aP$=5rYt["^K1W,qo5qVTNHiuUXu"8!.>gpd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS%ER5scMedYQbQT(mi'@JJRT-rO'Xcm^qC>nr**Db,A5mqpi#;$rEKlGCFf5bLcp&IGi)!moLATFD/e9iT7$+d^R9HAE'EfnYNQ`Ep#u)/I2iXB)rJWB_f@Y`o=p%ZAae0bqo5qVTNHiuUXtLtE%aUtIhpWFaP$=5rYt["^K1O+)Tr&1@Lle+?8p9I]b.sU>?j*3BAYfGDrtC)>S"J_/,BF*4aK89ha[b?7ecFiE86GFI.-%/R="UG54P_XkS><6kk3ta*"1.5ho3"@E]/@;^P;`!n(#5N`j3@P=G,5#f8]EA019`.(=s#:g%Wek)u5i8<s.n0b5Qs$%pk<'2poFS&\\*H>W3m?h`LUOk$J!k&%l[.q?;[<H9HN17fr<Pp[N*>gl7qRn);$LHhD>AnZ8qX(*N;6p#CH?$dfpN`O3U(2LY23LAkcQe\M(%ZG3&7K@cmMNV%0C6uRPjf+#gSpWiaWq3Sit"7I/NrdeMh?B8DOdD3F-^&2)>2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS)s*b(G%#*>qQ"1$WGpS#p%8eDdrFqqf[ViVm7-6F[d,gD.^]a"mT`YW=4Lf[/b*=)[o>sW\6MSH[*I<^S@E<h"Q5cL[d1h/5JC2MmZ5*3WtcBuIl-o-+D[1T4VcPhoO99p=kdW6n_-FbR;u3aHnfiq:g@p_*im#U465\W7?0%G\]BmWp?tFS?K>iNEE^"hCCja.`kUeW;)W<YYmnU9DY5q;E0=2T;VNS@R?r?X0t.XT5_rrCE@j/Yc.R"I)+KG:NZSQ>*n&0CVo0J!O"RLIE2'VC079atZIVq%YuAB^rkbZZULS&=GKF+0-OQkdH#K&D`b&]7^C+<QX@N!Uc"4#TJZ>:3=*?1E`JpqbjArb?ZBuM&-Jhml+Pg0]rrB(0=M$3^X7])TV&G2F$%!6oR87Bd;+.6Y@A+:-ZCd</%Ac:Za'hXXK<Y>^iG4V]iHccI\EG&+j)8M[Bmc's[[(!paWoD1T&il0Yf7Tln9r,qiN%]u+hFWs7PVTAm()OkD"kNm^"b5\Wh'3%#<Vtdzzzzzzz!!!!"m;_h[^G<LQ:9j>sVcpbd\uPP0W3dsgQR'pM8mIW1_W&S5e)TtSh30"!0[b2HZ6>7fXBUEu4ipc]nTFY'GMI-bD`#d0[beo*T#pGF[>g"*\TB^/E7b(5\?N*e;17Fcef$WM,jhCmaOL-DM8JF/[:<'=jj8g[O0i3\UU+qJ[%*8W;PW;XQPiKH.2Gir9gZY$V5%OZ]eH'E2gJKa3O$VC+K=nd/ZlJPM(Y&aD%!fG+NKGD_DtT'(JYKe.j_5ri`=U;F=K&b[ZUkBM]0;-m9\VrU8nXhc98-[N*P)L4+J)^]+):cZ;`Jk<Dq\r2U+)K3Aairhcubp=Gj4-0B)p2d"oF[&J8h'+t`p@,1o?[#XBRXn,PS$!!.\Z+fGc%9Xp8Ib8749H&>Nh$JqF6nl_T.h,>8:p+<aLgW!)CA'LJ"FGS'r<nqh&#hXJW..XhYk8$+i0KpLd[Ro;qSom\/92*<"rD=s'@P*OUW3StV0f6DbZL\+S3K]3elmm+a>9p8hQ<PqW&2dD#9`G+m!#/WUher+&;hV"8>ftZqDogO2;TL^QeLm?&VX4,Z,>gj[(r+4k;/'hq8gopM1__,rArD3L2Ht@'bg3Mr"Mkq%/hiR4K(-/d6ZUO?N+.-H]7rnQ?Yq?t<K]j*$_4Y-LkqB6K^cCoK!=q"L+WgDMX7-u)V"K+?5L]Up<lLt?M?)\Q$X8iNWra!5QCcazz!!!X9mb-!'\t-ruH=$7,%gc`,N(Gr]/;5C.f&T+@AMV5`k5dRXC#[46.6Df7Hrd`n+U1d?CX&Q@PB])Ap)L,/8CtdTD*<g3;H'^!P-N-]E\4QF,5Wg+I[7q5=Q-W!E]5Rhg0E5U6@AI=UN9kKFOS.(YGlPc'f<31?5Y><P`<ag3Mr6RVO1ehUW6f?fT.&-d*!$RAI3(:(hL!GCp;)S,bYMg8lA&F>6n*$hYA5gAWb9'c;eqUWigE.D,jSA.]TMKWk)2PWE"t"T'&9*=$=^+WiKm7WnOJQ\lDaPWihUm.XoG!n,NFg!Mk&0e`@lE3.aS.'<pW\>Ks_.>[ME^BQsI:L.O1=g6>N"18m+:?:0Y)>Zh](b8Yn6NA<G)I#"oO9R@KX9-fQ$h<N+c):I%4g953b)nl*F`G0R!)G)<a6s\'"q+XqZppN44ReC092/JP`VN0&*[=OA4g$D[5b8?:i@4eC2DREQVCGfmbi2KANf;mFN[>NL@T^nmRWRWIR*1&^6\(A#_aH[q!/Ok5Srr=af9=jPa\aK;5VWsq:T'W;-O[BcqMTFh;W7E]%S.072&J2ED.On*"Nfrk(VdqV<7bHa\WFK&M+uQK;FqL[/Lin@;5*,aEzz!!!!*a7i8@TW\.09iC'[3B:j/F59;/U"!TBRCKDE/ubg/_ot/H8#[9BPT+RbOeq?#<8hdd/i@N`c*UR?)np]c_3O_$F`AV^P=Fpn;nXc")CfGmC)X&8].AM1S2.8`'5^a>bB6]UQ5F5>bKch=>5;:3@YMp=;^/*'P%<#fRTgE"G\#33K/5;>1G^gMVJ!bXBCM=]jYIW#_4`gqoL))?'7f!O+92CegVS]GU<gHRKI_kjQIWMtj=?#HY.$ij91$-JGSMW^/T>#fF'mN6o&R3cFg+W?lD-2@7K2QGh,UFt?Iqp6jR$Z]Tp^D9.2qmYksG6#13F5'5)WC#j>rhMFNR<M,GhZt[0g`*+\dpSIRULfKd?Zui^:&+/S-g"91sNW8s3'$7bM9lE&j(=*lfYh<iRVcT2/AhD*/PtZ6SV2@p[2'".JjP2,j&q.OjnKT_<m9zzzzzzzzG*G$6@cjdj/^&I01:(;j<2!1Q[#02[OZKC>W5rj-(bln(b&R54*D04:SG77=poc3fK'0bHmq^L[3d\/u(X"Y=?7R7\2QNGD.e#<t79)NTlKUI:MQZK^.Tm2`&\:OZEnJqtLotfh]nAdB<A#Sk>p<.QObb5Z-+=A-;nN\P[?PPGr)\_t<4$9Jetu%pj!oUqU#e,aQGgk+VdD4TBdD%pdb4/8B<F@cnq$@%JuBFRh9\5POk\ViaPVKH<(B"*/7L@fC9"ZVS_:8NReX<`ka_?TMFDW/;(dbEDf%Sjn$?,V?HX1EB45Z5JK7HC@80*nH%tq/f0,m]/ph?T^M[Ws7V_J(S?!g&EfDq/2d)bC.Pr%6^XOciI#LQ0PbL402n&825p""fX5<p9r,Zpdfp-VZ?8uDRh=YJrdNr&XAW%3Jn#p5J_E52kW2d$jUip`_j\3\phDe-k`E-X<NNV!(gPVETnS-rQeRjrP/8^Tb3N_a@mb-f]WpV>lb8d;_+1WIXR@9D.E9`[_2(;-JiC["4Ank5.X)ujf.7^bhpe8Z!-iV,+\IfE-%K;0Urr<S\:XAMDXZ"PAW/-:`DgN/t!97jT2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS%ER5scMedYQbQT(mi'@JJRT-rO'Xcm^qC>nr**Db,A5mqpi#;$rEKlGCFf5bLcp&IGi)!moLATFD/e9iT7$+d^R9HAE'EfnYNQ`Ep#u)/I2iXB)rJWB_f@Y`o=p%ZAae0bqo5qVTNHiuUXtLtE%aUtIhpWFaP$=5rYt["^K1O+)Tr&1@Lle+?8p9I]b.sU>?j*3BAYfGDrtC)>S"J_/,BF*4aK89ha[b?7ecFiE86GFI.-%/R="UG54P_XkS><6kk3ta*"1.5ho3"@E]/@;^P;`!n(#5N`j3@P=G,5#f8]EA019`.(=s#:g%Wek)u5i8<s.n0b5Qs$%pk<'2poFS&\\*H>W3m?h`LUOk$J!k&%l[.q?;[<H9HN17fr<Pp[N*>gl7qRn);$LHhD>AnZ8qX(*N;6p#CH?$dfpN`O3U(2LY23LAkcQe\M(%ZG3&7K@cmMNV%0C6uRPjf+#gSpWiaWq3Sit"7I/NrdeMh?B8DOdD3F-^&2)>2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DpU-Qe`=DnLh#Pd?CUk7ho"f2@aQDG@aC;9242A.Boap2*QDDcq[jMLqd,=[S813(6ift[[@][Gr<'c?/qI-bFBMqi4JCqldGU)VN+4`QbBZq9\))IilnRbU91K879___e62aXQ4Cl:,F\CBNso?W<EIrjYVGV8*(IM1*n58@ZE(L6X(p:E[W!Did'0sV[3qlQ5<.Q/jk6-.Fgk_T<b='`U=QM//NTd5oLtF%ZRQr_89pO5Zl'`0LrdZX=DbEcM`!0dV"6qG\FSeYXLfglAof8QP%c.f<`p.PYA7,Q'fZpBZeUnjXFGTYXr"`'X;-$1cq.!OA<G?^p,P*ldao[FW*h:Hk=ZlD=D+uKHgROYq?bH]WUUKRT9*nC76.!jmIAG4jH&`l9-2J_B=&%nm@i_k3r5bm4N;h8oM_1V?JcaR?:b(`FKt3JL3l1p^=jW[F0DTk6d03(%n/LNea;nOA`Sp?k=ZlD=D+uKHgRNj-T_+%`&u%g5kJ!CrEeA$em:oHmW>`$'o%'#\%^Q;Joe,qHpc+jj:=[>T@N?!c"5ssmcR4ad9(%g$[_97kU/FfVo1^;IR*O(RJgIL*7eFerpFm5m1kA&5e"J]*eJI:WdI1XBB0Rl3M4jhn]bY+O7)1(*mn)&ZjV6JU$*jbqPV7o`dU2F;jmSjh]13R8H/%!Z0`9\HU,'Sg)bieYGut;b\,uI76.!jmIAG4jH&`l9-2J_B=&%nm@i_k3r5bm4N;h8oM_1V?JcaR?:b(`FKt3JL3l1p^=jW[F0DTk6d03(%n/LNea;nOA`Sp?k=ZlD=D+uKHgRNj-T_+%`&u%g5kJ!CrEeA$em:oHmW>`$'o%'#\%^Q;Joe,qHpc+jj:=[>T@N?!c"5ssmcR4ad9(%g$[_97kU/FfVo1^;IR*O(RJgIL*7eFerpFm5m1kA&5e"J]*eJI:WdI1XBB0Rl3M4jhn]bY+O7)1(*mn)&ZjV6JU$*jbqPV7o`dU2F;jmSjh]13R8H/%!Z0`9\HU,'Sg)bieYGut;b\,uI76.!jmIAG4jI&KWaZ0#Bdq.)b`U.JK</;2_Rl70Ze`'W&7ApkOa>bhGK]B-X>%>4!Rs]*.-"LUV["]BRE/#jY[;]FH[gptpQ.!_1)')CGL$iNPhE!OXN`P\4;&7=i;,K:e`c&LOJ)RDpW::VG;aXV23:18H\i2X8Wc=0(Z$<^OV7[S<qM2Krl,0'/B!Y%;..pf!i2OVh:hWhm[<gA0U@KNoVGc[+gm:'La4=deUW&2?QD=As_6itBflu9FpU,DaeTK9];0g[6aJ+PK=$B2$E]&ek;bFUG<(&p-8kQ_4Y*OZkRIaKU,@c`l-*DUOW7JATS1<W"6n.6$%:7TXCR:hsTK=n=.C0aAMi;NIc#%sbc-f;OZDSP`P#^85`_u*CbA;FFAV0p^QD7IUm*1XA)&Ih_TrMXD@sc$22<-c7?J`uURQ#T<1+K[_d.nGKIBk&$N^i+^-</qPl"V-WigS.DQ'/#9hTj[V0>0W.X\X-5I%K"'1k8-gFT;CAzzzzzzz!!1_M.2?WMV[eVMV,ZcgRZ"/+:S^j\9<(u>5/%.U%\Ep&jiMX8n0J>r+!l>`%G+*IGi"_4dp;K&N;7%3@uZ;8QbD\8[6H.@+$En8,m?-UQ1\"j7iGS,,]d)-VlJo?;5g+P<0r"iqk*Hi7pS=?cW(-WX"iI+6/,*\4\$jLA"Up)NX"+7<gm>\QhchGm$@A7`S)GhE,FokE0G%>I'KMA6&6IqIqW.FGC4<$Gkr_cZ$R'-@s;Bk-K[MCpe),D7GEABdeLNheF1Rr.+l8;+%,4te;Y&un"kYUG+J-jS8F>ZVBN80p;BJLhsG`pnY]XD,OLg#X,c/(`i.E.j)$W]C.rfZltNgC!35t=c$Y#1GL,`jH&-%5SZ9Bg04@XOeb644hp'04WhM$"_Y:T_O<5D$r*>\6TC6#hI*#AE<I<I`N%h"'=CP%QM<_71]A#?gAtcBO2uipY"6$7[.?mG97^ZEu7&85/n0QU7eQRUhN<YkHVm,6]e)j2?agNE^N7+$")=/WEa4!IG=a=%G?.XKUPMR#e[Q($k/"\)JE]&ec;bFUG<('.5<B\j]eMWU+oQ53DQEk/2Og0_FF5H"J[B2jFY&^Nd-`U,>?^em3C<nKB,)lH@G_X.[FWVOL*ojU"el:lm;S?gbN:mumk#2Ra'!IQ=&mAq!7,b0C2I=HS4H.(WMXZWd1$.QK96a-r0+h&5Nfl>JeNKpiWM2san)31L>@'\Y'fK'#7^B:XIP%]la]Tfi]N)8g;mG3R%B>;bU%0_+^oaq27%#uqzzz!![2eh?^f;,F0p/9k(C-!-5862l`-eRW6JmYAM0T(L+GMW^2$"<4Js^PjKb\qO;%</]<b&H)[4!G:9[Yo8[fATBPO-A8rff8Q/I_;Ase^p@:4#Y6,W%Okm';__M-N\[(N.hKZ'uJ,3gt@j=E1I+(/FE3eA;pNCtc;9rMW;WtW'&6W*W);:IU+4J@A[q\jh't74ub&q0fn+j@qK!+ER8P#p`k*hojIfUIE$.snVMm#TYA)'M@\AJ-_pnk++hY#<tPn@)S'PX9i,";2[6H^4aob3:m\]UsJGeY#$39(WXR&9l`T9"7t8]F_&Gd4M11+:Op,E9,hWVru*.]R%LL)APC!!!7UauM6&_g)1Gak-Jg'T5T/V*.hYatl?)Iu1G?Pfe%s;GLM$XYFLM'pSWo??%:\D)06&?4OaA!u0OX2[e"apZ6ee*,X0D96@a:'g7LQ2&8b)\f/SgSE:a-QbG,fY.QW2dk%u9A>mT(fM9V]p%GZ1e5s?,Tc/jBYbho.[2!t%LG.Fc:@DBH1G-MAg/cp52^)??KK#G_704RHKt,hV;pq6],EXS0*'`s*(L]Fpb'ZF;(_5iI<sqmr0g"Js7@$-;WQ:Y(GP4lL`+3]BN[D#f^oFjWQ?dgujd$OknAWi*F4d".k-E$'4-;VcY5F2j'ohpG7^Y3-2=PHM4obQ_zz!!!#T%1VPG\#Xnm'&7Ubl1i]V30h^]Ej1fRlBFYcA8?L^,A.Rj)kk99`,aRDb=(]L,>25N4`)L:[rt2J.IVF1-,p\TBQ!*Xe&Ij%g3FXThC6iLn+TRX7#PjJ9f\cTYsjop8mB,haY>)C)EK9JgIZ"F?Cpfs.QRLmGd4-4g6WVbmJ7j$6DI`Xbpj_Dgp_!ZW3e$34f#=eQV+/0LsVg6Bfl]9L)V?7l92"VAnGM'Dd1f`^Fq[cqS$`UWP,=oI'ZH<[IQm6Q-XfDeT.e+U2VE7Lf@)kI;S4S=aAk(:S.*TQ-r;Mf%3)UXfc`3eQ#uQE$g6"EUY%u!!!!$i8H>B!EsDfk)(Zi2=k&%hDq@C2]^ch;`c6iVT(KaO*Si(2_)KaQ:T79h:j'ojZg).)PFPPZV"M=D8>L(Zq]G7E8B?6R's]5ilebo,m34NT=.WUeSHg;iM`VlC5fUS+@`D/<KA\HAZY$h^91Wj[DZ'YbX"YB/L0-@rr@+8h(=HuJ+GprY8;o_,@&_uCWKZp)GH4mzzzzzzz!!!!@#79l3HmSiuDn9"=5O"VA/QH?H5pkQo6ZkA'M`l^SBTrg_Xus>lp)QoZW`Aa,VJ2s7N8,."o)A]]fqtY?kLq<X`GJ@A@+spaW`^#0XNXr`:;o^]M69Sji,t'YloJZnC\fD&f='4tbPTSbCp(ZUJ,]LDJa*'K7]qRoD2R%H<8h@\A#ATDQ8*f?O_7'_W<l?<Ht7&CN2]\?R2Ye,X@b=kaJMA*?'Vo63)Zb/2!a@X)>W_VLZKH`XaEP(1.k6dJ7LWX$"BE7>:nT_YjH;jGXi[nkindgcYR9neU*b'<CY]@QEH-G&EW=b5C[-7W@2`Yb>hhM`c9eT,BSr]&Q(O1NCC+\W[4_!>7=U3h!&>&.h)-&Dgf!)^4LF0WdI1XBB0ppU7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-r_G</k"MShTM>Mj9.5rmQI4sB&EnctnZcg(6!k-FPJpN*0lBWO#D"hjWVoFmdD;rSj.59P8$bl4eaNb^9nIs3qUp56aNTNg;j%m`5-eNP/=1\(dFSBpKopu\mQ8,%)$O(bUNg',1`d.A!BI8f,H@m;)^.EqdpDiSTd,_(#!=S@Wi4eQ$:D%Aomf@<&.jtlQ5U7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-r_G</k"MShTM>Mj9.5rmQI4sB&EnctnZcg(6!k-FPJpN*0lBWO#D"hjWVoFmdD;rSj.59P8$bl4eaNb^9nIs3qUp56aNTNg;j%m`5-eNP/=1\(dFSBpKopu\mQ8,%)$O(bUNg',1`d.A!BI8f,H@m;)^.EqdpDiSTd,_(#!=S@Wi4eQ$:D%Aomf@<&.jtlQ5U7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-sVGS=#eEOg-s.^uP8m>>\ElIGcJ;eZql<UE/C;Q8/X<F[ft$lFpr>LI(SH"<-_,\g5<@1Db4mS2j"ca7R[hRBps?^0/R4t+%=Q<>WuA9#W3R+9N0SCC$9W/@UT[NZP0B]Z[2h77Nc/+3lWHGMrXf228gI5Hpn(tb@]F.B4=2%rT^n0.hZeK9/o&:X.t9Pm*lrrAZm:PC'A-XEfj5D/N_OcLLC`HT"U?dc.PPjK?n6^9QAb0(NLrrAT+lD#R[PAf[4o+UX&6]UVWUoNH:h'h@=qD<T<r'AAI\l$Ik\l$SYoP"&Wpk+UqFJFf`FJG%<kgAu8nHU)kkslWJksm)XdA,hOiXS&`dZ-,sdZ.&:UIWO(`#NuJV&X,pV&YtS7ZWq/LcFhs8iY,j8i\g/N?9l>&96OoP]<8^P]CX>)EqVZ+QL)i.-!DF.-0.Z1jm7>6-"2\;9!gk;9?<>B_dM[K9#DBUQ"Y`UQ]W[dIS%A#9D[c7iC1J7jd-@UZNr`%QhAPN\eAsN_R9`8'FcI*-Zb+*+sVp*1MFIO-lPq3:?N536q7j3B$kr+#,tkES^&IELlN^bkce(f8cWs]s!9o8<*VuYKGrV<G/)+b&sn*`DRLU\Z4q2^-i<-<Ga"LOhUCUAK+\08G2[jAo8^59FlP]S4u'D`Ce;uM&_?u9^];4Vi'=IaR'c-7PPo.]2kncj6Uo1A_n07nQkr?rlkO]A8&D8BjLQpA%.0<G)jl`[_7#gWH<M<LFeAfN3->`O(mj2DHa7X*A=N(VL<3Vp\D4$L9TuX0<A0S;b^%MYCSc,[-U*jP3^A[R/[-uk(YV)n\-KQ=YFOCGh+(B&fB(c:dg6.@YpC*M:o.=lWiU&e!;`-f@E"$Q_l4HkMtDV;HmT[nRH$AA5T)j7iQ8[;mW=DgGr6UIh)R-,76/g]70IeCOY-=c-i1;X7<-Q=_p*dCUE9GgT/pM31&Xbjr\;,QRVPSdYFiL%*?Vj6O1EEKWAG3?Y=<5Pa'kWN2UR*C)H$C@<uXF(FKsJc>)i4A6!2(\m#fY<;e$V/-f`KRJi!KF%[0EJ#o&qQ[DS'0ui:ZeOkb8q,5e]Dm>:%l0R-'"JX*H_uKc;zzzzzz!!!"I&7Ne_8o>A!,eBMtN0;[OFD'c0FNhg^RuJ/l?<N\a(BT%!*ibXdU4r7tPHl*Mn@hCMNDJq_Pn?0#f0%F/7d6pbA8o#3cW"[Yqc1dpDC-q/I;8L/W\_*W(V(qnR3nJk#!bh)*?hkV`Rsqb!$XCF3DK$C9%b7Ab#3I^7PkT4g7KOm,#$230W?P&R;_49D69('4!0jM7b-jKnhC`$<=MBS1\W>;RS(a#@o#6l;tO%teB"]UIV4VZY@G"f;Vi-7$OhBFTLW6jStL,IPn#7OldgeBN4>#%Z\;9=?5<78OJJ<6/*bXV+9)=VS3'=\Af(HclD8=HH!>i_.r@\S]NgM<J+@G-%cXCdSapuR<d"bnN-<OGOX6m?=B-S7[1]4AGg$&fVhru/l>bomb0jYd^7-fgSuK\)`#.4bZsHZ[AmKPV(K%d/Bd,;gWSLQCbH=JaD;ddn9lTSEKF,jRhTW(NX'2TMMlQ*qNjZ*lOud:V!5k[n)[gKTGar\Pb!_b0R$cVMe1F-B`)ROh[arBt`.=Q[&2T4`J%(<<r2+HPgqs*lz!ko`Lh.qFb7-uA^$FuZd:GCpHY1'$=1?UEg8VN0LaD"ip*Wq(NlJtI?:QodZr`dK+;V52dDqUk^cO=APrh;l^>nF\+[>Sg-?KSEnSsH[Jh?Iu^:LtH?pXr1d]@.qJ9MJ+Sf:o+t'@YUAD+@U+0*8g=C_lLrN?W]r.R8Nj_KGnZzzzI8F=rWQp2kVSnZpWDo`aVphX7fj'AtVp0W%Tu)X,U/R,pPp+YNZm:W';M^-T.V`\]l)H6a-Y-1q`okG;W\o`F&R>(@bFu%R;,tcM&J8"8cTF&29iFt@A#G<DpUSG&f!VHVk;cU1,>f1U=$e)Hp\0&KiXV1B11%Jb`IBZ((*Q[5*DH[kWhM23S+O<&SKU+6qAKZ$C6kZf(/4BQ>UXHl/IcPoTCk5'N`J6=B=BOsV`m-Yf$m9XJkF]8mcLgrd8JWU7^kaTqeB>!o6Pf6`CcJEY&4`BF.#SD.GkqmohSA+/XAkallr\o>jHV+7FOYT!!!!Y3)%RG+sSro8gL)Z,2/kFC,/BmOtEPCA40ZL)L)i/=7U'4qBoiM$_XN']^o=agbqIh;3*3,EsuP>U[A"t/"7a?pUjFN*:'"c60se&U_9"0Q:J>5,BcXqj\a"/9oX=>oM^HmHt'Z49Z"LdC@PQ"[1sX^HR\Ua)5Z_2W9gEr&%$O!d'dW0T9pE"cFcM:M2Z@$Oa+$(g6S/X3O&KS,gcA!.(i[\U>$DlD%_X)zzz"5DjPFa)rZmafD/'d_Sah0;qpdHJprg.:=s1K2aL3^dNpRneipaHH,.9.VutT)f@A(LkRC!o]X7(ZKc%VmrZJFL&T)Ceb0h4g^A4;3A+?\aF63K]-nl+hB@ua*HZ+p8K4HBd-\*Er(X.eu,s'f#FtoV9W%.i@]>NNAk#Z=MsbN?Ybi].LhPUf<rtk3@S$Xi@1)A;QN+&g?N+Q`@14Y;4f!DZmYc@ZWCK"lcn2]3q;n+N:3TbFK3%>P+LE491m`@pChl\os]u<e(Mn,0*`4)Sb"ot07;*be_$Jc=#'sH.A=3"Vl)uN,>Q8sI@RH9AKn/D,>g?QC/\I>z!!gb(*'0$=Pj42u[0h%C/+@9fq9dl^#';:gWL5I&7$*0Kb)7F.RTA.jUb*p(A7RjQobA1+&67.Rpo<>#?H9=nf<O^I>4stVNbb)^MN1+o7FI'Big*bnU8XuTdF:YHEu`_2\ZT]$f/:ZZ[E,pV;,L28#Y*>t\^&d<V:;\#0imQ4%:W5kQR`nXY/s\--2"643**_4Zq@9$*3+tmZ",%P7%XMr_?c<*23PS#hcCL+R"%+Kl#0/u+uQih3]HcP[598u&?<.'(+0NLFE4PmRj5;(6S*Dm]e5+TmX30OP.lpSNGWJ[T<u!>6?hX[MV5)t]o'oJKj+/t61/(-p7Q@ma5Z2C;0UblR8T3*nnF-7m9*",.4"7AVN(9F'?FMsBbrBpg$kekOC136b1t4=NbfGikUS!#>-P)b'ha$$WMSTJMOg?d;q+eo[M$g>"--f#Qt$iY<62iL\EM&hq&Km6=];l;nsBiMQ%+KZ=8iCorrCD^okLB3.N.'#l5u_Xn,NFgzzzzzz!!+?omJRj7W[s`c<TaD?,$<ED8U"q)-+;@_?Qr1d?&'$:KM,oT8MATCPM4M<Lu;M)R7(>`2MI2=0PXj[HDs%P?P,<*W0Sp]_54G<\N:/K[?Tmhb%k:ZYrN*SZqbVI/F_(n=#B15ddgn;"e7F>HPb2B4]^f`.(UEGSLDN%D0B&o4"SC1b;#b]AZ5-o7VN9$N>[K!b7UMRfd4(:Yf[7X6:d9(OV&AG'O;uI9dGos,G-dIY&g,5Y&g,A\^"4'Y&^PBWp*M`<@X]fHeeEBHFcTrWiE2$j]/]g<HP7@WiE)`<EiGtWtgLd]h#0Y(&F.U2%#%4Roc]Al45'q$=,9T*Q`B#b^F(oC-5VC.;C[:Ku(ViMnXeSp914%m^bt>0.NAm'N$S"c]Uj>NFNgTd]RYV&J4\7;H6fKda1h>5&0?CCiRJ5[Ej3M)V2;X.cjVt.H@T`?Ia1:QXj*(3AM?tZP>*PN,@f)D&L,fM+mfPV]5Ou[k<G<9<':T3:W0\"o\ZDYL@)WL7u\i#8ItP,Ej*R#ha,6gS_Ne[&&c=o1Y%D9/K3aaX=Mb96&%sV5;=n-H^(XZ1t?*M^;o5Vm`q>JW&tnU8q2<B(^N&fchc'nnn=D5%8sa,WP5d8oEKA^!_p8^S=<C:W+5sH_h]pH_h^OIn#KdT85JppI[EjpI[G(rf&!S57hhjmZ_^^mZ_a/r>Ik/IN[[_h'h;Fh'h@=qD<T<r'AAI\l$Ik\l$SYoP"&Wpk+UqFJFf`FJG%<kgAu8nHU)kkslWJksm)XdA,hOiXS&`dZ-,sdZ.&:UIWO(`#NuJV&X,pV&YtS7ZWq/LcFhs8iY,j8i\g/N?9l>&96OoP]<8^P]CX>)EqVZ+QL)i.-!DF.-0.Z1jm7>6-"2\;9!gk;9?<>B_dM[K9#DBUQ"Y`UQ]W[dIS%A#9D[c7iC1J7jd-@UZNr`%QhAPN\eAsN_R9`8'FcI*-Zb+*+sVp*1MFIO-lPq3:?N536q7j3B$kr+#,tkES^&IELlN^hB-ofD3qm_7A`UA)/<@eCbeQoQi@%BV#LG1A9^Dc>Z6FTAcDc)EIWBG$+2R[]68JnbP\JerrBHgs3d0lDL8Ilm@/5[Q*PPeETL;h"kRcoC/l,C4+`(tQJ:s['4`[L(mSp^IC=uN*l:jUfO'kcrn=8e9\7IXpWO$dEEtLKQX(>JOiHXYRF3Ti,LJKrD*nn9`7&3m\UC'XS]i&iPSc%_>uu1"q?gCq0oI;T\a#!j,&rmS2&0q&_belHbF2Ao?>K&-g?NpD?[-1,H'8a0C6'i':AEM=k,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhB\9_E-Q5S+59;T:1`Hn4Y]H2q,C?E.+6E4,;:4Pg4F=<<G;e_1ZUU;C?I8-QP1Tr3k[4@'d-U?iad$]TZe(h+G;UWNO5hC4KH<*3h46-:0c>2L'>q35oLuic=@T_,T1R6[P1NS0cB"Z`*nLNOXQAlpAiIS.B>^(ND>`O0]dOJAK>AS(l7\XmnDV0pgC=B5d;kL-gC@mnDHCY++;O]S7c$"uSc.4</R2sB1;P^o_1rtYUU%4^s(?8.9%M:4KHO&;Ke]0t#:tJE/%9-0JaVGbVb7pnq,J2a0a"baVm'5d+2-$ZUC0H$B<=G\)UoKT@.Z!)HY?7U\/92t8(Ps=n>307qZ,hqo<4+=+73mq8-C3c-r4.$CEL/:VcH2>$:#0\O-<-BC.G5>E4QW66*e!c`CKf5"V'sR6KZ)`*rr?I&df`Oa"s:a!JW3.,XehR,f!R&E>)?6g25l=eM4kM46;g=^(2#uR,)59k)&$20et`qQ2%_B-7.9sa'1+'T&*:?C8pr57IMCOB:EIip1HW7kLO$9tPom-uZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1j)X:HqH'-`.CQgZ+*_CAH'8a0C6'h`j(=XHY&=D#]P_!&T1\]^Kf7O]_s\#ZmkS>.D,KC^Hu.7&<R'H6f8[tB;s@V(n>=q)G^\P=h<%Bmc)Nn)DiL2lC:Utcg@;^p8pr57IMCOB:Ck)o41r[jH*p/-%IpbtbuZiTRpJ$+BhtRNYJQcEWT!T+B6Tatml%-8TtWF!H)g#r1Mb"lbpi:g2>C*eFZ_kWbjP'L*Tkln<&_hA0/["k#&SV?\YVKTk._7?Y,@'3)4fVp_n=]ub(f]EV<4hJ^s0&%QSbVg][u+:[FF^C__\pKR!5$!Gu3B;1q_@[GT!pLEorV_=.9%9[^r%PG\2/FP7I2!O")+/As\shDZ_o1jZ_e^.$Ba.]!GSg8g@5`eTTAcaWi#enVYUJ:DgT"m,/p$rr?JQhPdB>/fdBei7/lJ(Mmp:<)cMnk!cW5B%NW_Q0s%INB'D+FPN]u+u;#D>9Z&T'LmFm.-Pbf.eXHnE#EVE`,J_gHu0*hMNCin[*.aR6AiP@9/;"Li[VCFc8pVXMPf]jJ,ME$Ip4IYCpgt3H7-'o$\<iqR]EQY.1]^L4-Jr;(lXE58?Q!)a*6JA!8`D@f2pPS]1$)*p=/5QA.3Yh;b'VWTCc5pA!?nLL)G;S$_6t!WBNGDM6#9[OMUe'd8U%%L=Fp:lQ5*[&K8Qkm(4j&(DR4`/SZ<@`@[Q;ETp;/\\_\a%hIb?:B&5"Wt`_@Yr3rA0,[iFC2.@QrmEsNCCAkr!5G`5(0gM1XK?g<p\Em:rm,YLrl;<BPbZs/)NXKgbg6:h;],'L-A5#'iXld%@O6hL4J"e<z!!)?Md%@:8Wc[IT3V5lX$@KoG<bY&@Wg&i]a)Qc3WN)@->XVO7.F(eU3n&mXM'Gnt7Blck)MmVCB^4`TMP;MqA(E(gh<n6XOin`77lAH0fu87pbuJMY,,4<boWp<EVOF5OB]b=8)WctPnK^T(.^AnOCUfD1a!*MY;,n3,KSh4-k'\mYPq%1YgH!QO3_T&l:76=\Z6i;6.Fl0_>e(?u.X"4J0=[jg[2GrZ;44$)'7pbnK',9J&CT"cgbfft9PYKb;U3juNC7PcetlB+CKcOR7*paGLe:dX_9COUM?kh=OcV;rf!V_SNGDBB7^WkU&ZCMALmeo4+oF8OBhtRNYJQcEWT2b-L1b^u0^gountYrn2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1k$l-_ls2M`pEe4-XgIKgFBl9/EgL^LHe'V<>"'X5-*BNKf[-;<.>h,3""RMDEGJHT>5:K\.$Q/Arr=iuaj'2$_=rZj^);)k>kMjgrj6Z<'XGa/[:+.61nU4_U+D9l7=$<r=,O.L`%fikR>[-1j^o=ARmThle1,[mVN+,;,8"cpQ-PZp!1S#^a$`<s,&pV-WoR:q&O;E8z#!^7Tr]X?&f1nApEa8=/3q&rV7]P&+fo[`8)g%K?8nq2%oa.j;/Ais5:,I0b91J(eilMO!T,=l('oHS=32YfVPkRTeF^5-l/9'.EdSm6Lr>XV54uIh:FcU<<gg3'GY!ka`H/(-(8VQX1ZOfKJ;cQdp8<P_hL:P[3e(?\*CRD9a3leWCeo?fe;,Jkh.)!fm;Bd;8Y;Hn.!>/TqcGCe*!;q)/hfraWY*HOOmD&Z$)PbH3-b_KQH)g#r1Mb9[/nn+XH*>)SCT6:eL1b^u0^gountX5"fqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1j)X:HqH'-`.CQgZ+*_CAH'8a0C6'h`j(=XHY&=D#]P_!&T1\]^Kf7O]_s\#ZmkS>.D,KC^Hu.7&<R'H6f8[tB;s@V(n>=q)G^\P=h<%Bmc)Nn)DiL2lC:Utcg@;^p8pr57IMCOB:Ck)o41r[jH*p/-%IpbtbuZiTRpJ$+BhtRNYJQcEWT!T+B6Tatml%-8TtWF!H)g#r1Mb"lbpi:g2>C*eFZ_kWbjP'L*Tkln<&_hA0/["k#&SV?\YVKTk._7?Y,@'3)4fVp_n=]ub(f]EV<4hJ^s0&%QSbVg][u+:[FF^C__\pKR!5$!Gu3B;1q_@[GT!pLEorV_=.9%9[^r%PG\2/FP7I2!O")+/As\shDZ_o1DHtV^9(QDD2V1mFmgRM111B$V;<:/mCsqoTc/<3cRldJf"(5sngi_r#*hqo%>uf$N.#>%_eLG]FD%;`,H"kXh5>\.RRt=XQ&Du&D10]b^UnEs:)Tc/u3Hh(>h!hm-bC^NjMONV'R:]Q7j,t``/XA-_ETN<ihN;+#gM/UGj`7*-MQ*_!00O=#C0gHj7Nch1(L.UIcLjlOZ*Hr4NHDgG]j9LenIn55Wjtu,&Q<hjFYqGFzz!Q)r2[,VXm%``iALSMG6]#2TdCf2<c_Ga4'7IZIraN'UHZ0[a9<m&t#*/e:#qP^Bi(\49Y4'/j[WhbKeWM*8]U8F/^lnuf[dIrm3>L1I*E$dB@cB6+*Wc9W3f)8UfX5S'@Q+?c9A$20Z;V%Td[d_Rjk=uOuE8fTt^*':k"E(/[nY1>d*<#PdT90]pLN7"XB48eM(!Vd-.%kJ\*AYd`m,Cas)N"EKL9am/d[DJ`/T*t^00<l@1Jt%,aL;a<P;Cp'gGQCig1`d5M('Vmr.B"FRriK`GI=NE&`*,9T)SdV"i'_4;AER+<OCF9>?0iT+sU[5kiu#.p6$qUlEU)k?gTT/O)kMh*H78bj3;R@`?I4#n@'Z[<n#d*;0HC_>=eI(g%bhR(]M:Xc&K#5V[gDknG^TmJ*`G8A.`[8R`oW3?2#l*D\)4+-iLen;tt68d[s/'?\LDi;ocB9%*n;s@GYiuj[ZY)CsqoTc/<3cNQ[bhl!A/pVV:<[IGpUMk"Ik]W][4uNLF0g\\&@)n[W^5I4NQk'\cnh&%j\[]ZGqS[7?JknZtm5=#Y]"?8jKN:Si??_OG>?iV/(>GF:/R2Q62?^,B\NWoie,CW>J\.J0f$peu$P4?i8YmdhbGk1(MP2oa)q2-euBD0XjHV*:1,^C"h\Vha+HS_dnp]\9.'LA9Guk,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhB_>BQUVm-1$q.=Cqq#:>oD4V:5rrE![54Heao,\q7eK.\8h]"DbeT5sQ[H*M0S3:?>>]4Ig]Q$VF1=imD385FagO>tuT..`MW7L95)ejnp=K4qi\F[@$Qb\9N-q[B7%kr"s-Htg^HfJpH=Hd)lO%!A).RtErS64a(MQ=[Q2Q%:L[<jNHX.89Rl&5(KpPs5.j,,Q#:OTo+>`,snN+6%W1-"!f]NEgT)V\?!WiG/\>bEdg)DH?.0KfM8puYm7].TT(fsPS$iQJDKa/IId;lfG]W8<S*WQM/;lF_F-f*MttaqB_7`f\7s8K(B8AQEF"R7E0C`g7^hG?/'i7-;@oOhOj]kG=3)2R5m?Q]#Vtj]1<JcERs^eBKZW33UNL6P_&\Y.?Z`dO$uZIaZ9MYq*14N,)bGc>d]93E9lc3lFHk8Gq8RV*:1,^C"h\Vhn4DL1b^u0^gountUX%NLF0g\\&@)n[W^5I4NQk'\cnh&%j\[]ZGqS[7?JknZtm5=#Y]"?8jKN:Si??_OG>?iV/(>GF:/R2Q62?^,B\NWoie,CW>J\.J0f$peu$P4?i8YmdhbGk1(MP2oa)q2-euBD0XjHV*:1,^C"h\Vha+HS_dnp]\9.'LA9Guk,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P1\R(sds>lM>*Zoa.bqRTgm[nmQ#)qiNukECg[ZeS<+qQ\;rT`!M"\2WhMAY/,$Ih&'PZ=,7IZ;SZf^&2]oBAA.56JCFBhMO00DNf9e2s9S['M^<&'D63Ro`ME[%WCX].aJ75^ZYD,H\QUF@uD%UKrgeCki,QECN/O\1[(8IO86C95R6lPDmf.U1Ois3n=bHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg6ZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!Ys2rrCS3HiEK,rr=c]86qDY!3+b+rrA?jTC/I.bf'KJ`W#qUVu9h\s4+IdHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg8ZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!Ys2rrCS3HiEK,rr=c]86qDY!3+b+rrA?jTC/I.bf'KJ`W#qUVu9h\s4=UfHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg2[t[o^hS7[O(](>XBC5^!YJ9s)p-7n^ftUYNS`N&9ormtt/jA*\IitFJW-8I<jcB?gqFCAQqfKT\rk\KHp.kMB*QIP2qt$=Q27?`AZa4@!0GgSc!1J*rmLS*F\pMnQhgY%Mo8@'\`o?3jb;]oUlETT'`SmIS$u`P7P)R<EhrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_3HQ7>0\GlQ3XWR3(Ponbql7,TrO4o)frr?\\dJDm1<;Q&,rccn<D4H&.%i8p6R0E>2H>UfcQl_GTHiF$FU&BW;ce[Karn%$743-_/lgp\1^2\M_'=QoT@?+gs!)1-bE=_N!gg@Y-A!arS^Ae2j45UWpr(]/124!cLd:rX6~>endstream
|
17 |
+
endobj
|
18 |
+
5 0 obj
|
19 |
+
<< /Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 4 0 R >> >> /Rotate 0 /Trans << >>
|
20 |
+
/Type /Page >>
|
21 |
+
endobj
|
22 |
+
6 0 obj
|
23 |
+
<< /Outlines 10 0 R /PageLabels 11 0 R /PageMode /UseNone /Pages 8 0 R /Type /Catalog >>
|
24 |
+
endobj
|
25 |
+
7 0 obj
|
26 |
+
<< /Author () /CreationDate (D:20161202175323-01'00') /Creator (\(unspecified\)) /Keywords () /Producer (ReportLab PDF Library - www.reportlab.com) /Subject (\(unspecified\))
|
27 |
+
/Title (DHL Business Customer Shipping) >>
|
28 |
+
endobj
|
29 |
+
8 0 obj
|
30 |
+
<< /Count 1 /Kids [ 5 0 R ] /Type /Pages >>
|
31 |
+
endobj
|
32 |
+
9 0 obj
|
33 |
+
<< /Length 2172 >>
|
34 |
+
stream
|
35 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
36 |
+
q
|
37 |
+
1 0 0 1 62.69291 735.3543 cm
|
38 |
+
q
|
39 |
+
0 0 0 rg
|
40 |
+
BT 1 0 0 1 0 4 Tm /F2 20 Tf 24 TL 72.14488 0 Td (DHL Business Customer Shipping) Tj T* -72.14488 0 Td ET
|
41 |
+
Q
|
42 |
+
Q
|
43 |
+
q
|
44 |
+
1 0 0 1 62.69291 705.3543 cm
|
45 |
+
q
|
46 |
+
0 0 0 rg
|
47 |
+
BT 1 0 0 1 0 3 Tm /F2 15 Tf 18 TL 193.6949 0 Td (ChangeLog) Tj T* -193.6949 0 Td ET
|
48 |
+
Q
|
49 |
+
Q
|
50 |
+
q
|
51 |
+
1 0 0 1 62.69291 689.3543 cm
|
52 |
+
Q
|
53 |
+
q
|
54 |
+
1 0 0 1 62.69291 653.3543 cm
|
55 |
+
1 1 1 rg
|
56 |
+
n 0 36 469.8898 -18 re f*
|
57 |
+
.878431 .878431 .878431 rg
|
58 |
+
n 0 18 469.8898 -18 re f*
|
59 |
+
.960784 .960784 .862745 rg
|
60 |
+
n 0 36 469.8898 -18 re f*
|
61 |
+
0 0 0 rg
|
62 |
+
BT /F1 10 Tf 12 TL ET
|
63 |
+
q
|
64 |
+
1 0 0 1 6 21 cm
|
65 |
+
q
|
66 |
+
.960784 .960784 .862745 rg
|
67 |
+
n 0 0 55.12711 12 re f*
|
68 |
+
Q
|
69 |
+
q
|
70 |
+
0 0 0 rg
|
71 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 6.723555 0 Td (Revision) Tj T* -6.723555 0 Td ET
|
72 |
+
Q
|
73 |
+
Q
|
74 |
+
q
|
75 |
+
1 0 0 1 73.12711 21 cm
|
76 |
+
q
|
77 |
+
.960784 .960784 .862745 rg
|
78 |
+
n 0 0 55.12711 12 re f*
|
79 |
+
Q
|
80 |
+
q
|
81 |
+
0 0 0 rg
|
82 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 16.72855 0 Td (Date) Tj T* -16.72855 0 Td ET
|
83 |
+
Q
|
84 |
+
Q
|
85 |
+
q
|
86 |
+
1 0 0 1 140.2542 21 cm
|
87 |
+
q
|
88 |
+
.960784 .960784 .862745 rg
|
89 |
+
n 0 0 323.6355 12 re f*
|
90 |
+
Q
|
91 |
+
q
|
92 |
+
0 0 0 rg
|
93 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 134.3128 0 Td (Description) Tj T* -134.3128 0 Td ET
|
94 |
+
Q
|
95 |
+
Q
|
96 |
+
0 0 0 rg
|
97 |
+
q
|
98 |
+
1 0 0 1 6 3 cm
|
99 |
+
q
|
100 |
+
0 0 0 rg
|
101 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (1.0.0) Tj T* ET
|
102 |
+
Q
|
103 |
+
Q
|
104 |
+
q
|
105 |
+
1 0 0 1 73.12711 3 cm
|
106 |
+
q
|
107 |
+
0 0 0 rg
|
108 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (17.10.2016) Tj T* ET
|
109 |
+
Q
|
110 |
+
Q
|
111 |
+
q
|
112 |
+
1 0 0 1 140.2542 3 cm
|
113 |
+
q
|
114 |
+
0 0 0 rg
|
115 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Initial Release) Tj T* ET
|
116 |
+
Q
|
117 |
+
Q
|
118 |
+
q
|
119 |
+
1 J
|
120 |
+
1 j
|
121 |
+
0 0 0 RG
|
122 |
+
.25 w
|
123 |
+
n 0 18 m 469.8898 18 l S
|
124 |
+
n 67.12711 0 m 67.12711 36 l S
|
125 |
+
n 134.2542 0 m 134.2542 36 l S
|
126 |
+
n 0 36 m 469.8898 36 l S
|
127 |
+
n 0 0 m 469.8898 0 l S
|
128 |
+
n 0 0 m 0 36 l S
|
129 |
+
n 469.8898 0 m 469.8898 36 l S
|
130 |
+
Q
|
131 |
+
Q
|
132 |
+
q
|
133 |
+
1 0 0 1 62.69291 653.3543 cm
|
134 |
+
Q
|
135 |
+
q
|
136 |
+
1 0 0 1 62.69291 653.3543 cm
|
137 |
+
Q
|
138 |
+
q
|
139 |
+
1 0 0 1 411.0236 779.5276 cm
|
140 |
+
q
|
141 |
+
127.5591 0 0 34.01575 0 0 cm
|
142 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
143 |
+
Q
|
144 |
+
Q
|
145 |
+
q
|
146 |
+
1 0 0 1 56.69291 56.69291 cm
|
147 |
+
0 0 0 rg
|
148 |
+
BT /F1 10 Tf 12 TL ET
|
149 |
+
q
|
150 |
+
1 0 0 1 6 3 cm
|
151 |
+
q
|
152 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
153 |
+
Q
|
154 |
+
Q
|
155 |
+
q
|
156 |
+
1 0 0 1 246.9449 3 cm
|
157 |
+
q
|
158 |
+
0 0 0 rg
|
159 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 215.0449 0 Td (1/1) Tj T* -215.0449 0 Td ET
|
160 |
+
Q
|
161 |
+
Q
|
162 |
+
q
|
163 |
+
Q
|
164 |
+
Q
|
165 |
+
|
166 |
+
endstream
|
167 |
+
endobj
|
168 |
+
10 0 obj
|
169 |
+
<< /Count 0 /Type /Outlines >>
|
170 |
+
endobj
|
171 |
+
11 0 obj
|
172 |
+
<< /Nums [ 0 12 0 R ] >>
|
173 |
+
endobj
|
174 |
+
12 0 obj
|
175 |
+
<< /S /D /St 1 >>
|
176 |
+
endobj
|
177 |
+
xref
|
178 |
+
0 13
|
179 |
+
0000000000 65535 f
|
180 |
+
0000000075 00000 n
|
181 |
+
0000000119 00000 n
|
182 |
+
0000000229 00000 n
|
183 |
+
0000000344 00000 n
|
184 |
+
0000109132 00000 n
|
185 |
+
0000109402 00000 n
|
186 |
+
0000109509 00000 n
|
187 |
+
0000109749 00000 n
|
188 |
+
0000109811 00000 n
|
189 |
+
0000112039 00000 n
|
190 |
+
0000112089 00000 n
|
191 |
+
0000112133 00000 n
|
192 |
+
trailer
|
193 |
+
<< /ID
|
194 |
+
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
195 |
+
[(\)q\261W\234:0'\013\014t\326\327\275 Q) (\)q\261W\234:0'\013\014t\326\327\275 Q)]
|
196 |
+
/Info 7 0 R /Root 6 0 R /Size 13 >>
|
197 |
+
startxref
|
198 |
+
112170
|
199 |
+
%%EOF
|
doc/Dhl_Versenden/DHL_Business_Customer_Shipping.pdf
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
%PDF-1.4
|
2 |
+
%���� ReportLab Generated PDF document http://www.reportlab.com
|
3 |
+
1 0 obj
|
4 |
+
<< /F1 2 0 R /F2 3 0 R >>
|
5 |
+
endobj
|
6 |
+
2 0 obj
|
7 |
+
<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
|
8 |
+
endobj
|
9 |
+
3 0 obj
|
10 |
+
<< /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >>
|
11 |
+
endobj
|
12 |
+
4 0 obj
|
13 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /DCTDecode ] /Height 268 /Length 108590 /Subtype /Image
|
14 |
+
/Type /XObject /Width 1200 >>
|
15 |
+
stream
|
16 |
+
s4IA0!"_al8O`[\!W`<Q!A"3Ns5=A`7<iNY!!#_f!%IsK!!iQ0!>5A7!!!!"!!*'"!?(qA!!!!"!!!".!?2"B!!!!"!!!"6!@RpM!!!!"!!3-#!AOQU!!!!?!!!">!AXWV!!!!5!!!"\LM6_k!!!!"!!!"p!!!#G!%l4+!!"AX!%l4+!!"AX6"FnCAKXf_Dffo=BQ%i46W5fa9jqOGDKKf<BE0eA0KD0K1-.*E+>Gc81,_0M3<0$]TE,#p!!!!"!!*'"TE5)r!!!!"!!!/+TE>/s!!!!"!!!$.z!!!!'!<W<(!!!!"!!WE'!?(qA!!!!"!!!$@!?2"B!!!!"!!!$H!@RpM!!!!"!!3-#!W`9(!!!!"!!!$P!Wi?)!!!!"!!!BGz!!!!i!!!!"!!!!i!!!!"s4IA0!"_al8O`[\!WW3k!([(is6Tdp6"FnCAR@f!!!3,f!"M;*Ddm8XA:OX[!!3,S!/(=\#RC\B#Rh"G$kWjS$P=*a$k*X](_[Pt',)2p$k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OF%1<OQ%LisZ%M0<a%Ls0e%LrsY'G1`^$k*OV&I]'V$k*OV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQs1eUH#QQ+MTE>3=!!3`5!tbS6h#IQX$NJ$F56(Za"T\W)!<E3$z!!!*$!<NB-"pYD?$4?k7!<iK)!<E3%z!!!!"!!36*"U52;#mq%O!!*3'!s/T,"U>5;"To/h!<<05!sBb[0a0j?@1si)JMIEDOeK$H,:""%_.#2WEe;\+#:5O3nDWnIF#=`-Z@aJlP>l']_P;32(Xc=CAb*0\_p`bgo0t*lUkQ1@`73l?V7":mjn2YdG(u<[[`6n\p,>KCB6T,tVmj^ukP#Pg!WiB("9\f0"U52:"pHjb!!3`7+YaT45uD'1+qk,8JWUY?YsK\O;UOti,\#_QJs&K"'k;;AnKeATU9]CV-8iZg7$CTF(M#s72KWNio!="edrj^B7[0^&[$ASZjRf:V`RX)C<b?N0QDV+1f&lZR2b-q^GDDN_\&\O&!"8r1!!3`7&HG#qll>2+GI[3jT+p&;qoA.S5O#f>Ik$?Ikt52N;n;2[JBN<>!-nJ(#9uGP&2`KZZB%n,HB6gl5*k*kasZ%nKLt_R]rR4Z]a*jF;TlC%qQ"!Kf[!iV='KfaF1_$-PMQ6=>Z:4'j-F4ebV;?lbd_4/cprq^"tXh\:3";de<,7=nNAhucBJ8.Q8JUAgPLC7ks+uR:]7f5O86E;It&F;!+K^C!7Ha)rE/?n]5:l,h%R3,'b^\a[Hd;CGu;=7J&d1WmX256rrDm+C\r1KrrD/?5PF(_*D6bdrgl#Z='0]W/-X)jXI\eYb4FJddPJI;XgsF,9u*&!]s#h\#s/IIWIdD=(aDjI+\<c0A"5N`o+I-L/@:p3k-#j9`AmBT.?HV0N2-/3XhF`7]RKF(Oe7Pg\*[<LUO;G$*to_hC8Zd8%=JG@UXY-7'SkIn3SKcu7/m7@a_.L>qVpHpT2EA&Aj7pH$aaCj6Pr"@9`D6o?g/:h;j#1k,i^>@_\"SeidPU&d=YYhjN^oL'>kY#)+\Q.m2+-!DKMNKZ)@TV<[c+o-F%GOhR-mU*l:GnEZ2U>!fVKsl`VesNK-]eBq6/+QH0R7,JPsUI9Z"b:;lD7)l$Ne=Bk#hCYT(E"6o6YX`LWE!(Zt%e#@VRLWU9b4>P*CF#qDB!&]d$escNlNs+JOHrH9=,^um@qU0P'lQ%aY]"9c_AW.q=BsUW*NbM0Jhb#4#:o';j%j[G&MlHQTd](9`h05e0>r;]MIGKGI^FO7%"cN9OrrCW6q2^<j_2QZBE_-,5Lo\XZr3;.Wgl<p^ifrM!d>/D-chBfVjQ>L^#+W>\j+id:l9B*Nr@Pe7PRlN>-iX/tC&\1B(BrB9Xkd&9faf#P*m,u2`Xeg$lauE8n+;LO*[UWm<T<%uf%P;UGTGT&Ij'gG]fI5B!uR>/dY+ZYFF>kC!7=k<iN`*pZ:r3g'WSZPqHc@72I>jXjL5'g:,i#e-9"]Uhq$NBD=@G`pQ\gXi).t-lbfJu1KQa_^$"Y8rrDBb!77qAC;S'6+i\aQ,7F.3+&O'6q$?L3)r^&#].NLMj7ee,kAD@$aR3#+\*4EZr2<(_iYnBbXf)3Gkb$FF2nSnb:]70&a8RMXp<QP7!/LRSfPA7oP-""&VnLu^\!-glHC"@+!6$;^(K:>67;r1e/cPh!98JlT?\mukrr>-3h[mi`rrA+:[Q;D/+:h_??k9U"WB:^RefWKB[BM`gj$2=KVE)>F/]J;#!2k;'poj=j@_?TR7Qn3-]P!=/6S6N1oeo>3n+E.'pUB`Ef_*J#l>KpSMr+;8k7V%_>9oE3F,nd0-Os$7IEB]$A,0VtE0h>9hXl8U)>RCm)*%1X6pp'pV%^g4hXpf+>R1_8qQZ[>3bBnFaLnu?q%aK8k@4PdeAnu"rc<"YBDlcI)Qj#>1:l(s+84ms@[I#8lTR.TgRn;!dH37URIQefjof-g]Fp#Uri`AZ]pgZ,Q5g,`Lq>bpC<rlgU3/$A1@FI'"m-ZJZ<0I25F\XdrrAe5rrD-1NfE^AV<2%<MK<-oO%[9o^HpAWmeT8R<nEu?p>>@h\`tVOrCA*jrC8$-KDZKIP(0TVNGd)/=(9hI\66!!K;S9ulDD$If(/!?%'T9'XF$K3jA5$BGQ*V%o(,\6NXfEaQF.2_$o#SW+8<IMF8l4Q9jF+)6ucY[.f"=b0uk7Wrr@bi:/>3@kl"Z.WSLe*VNO`Pb^1lNJ'mq5[EN-h\(OQdrr>56b'H9>^=H4Y=*9h]6Wh@f=X9RDo8'%1/$4'Drr?qdjstB8kLJ1+[m)5nA+JG,YA)c/_t;a9J#0X<J&QoWW?n#=07]!Dbb`0>(uagSe:6a6c:h>[<\3f!o"mTBc2Rct\XB'gnM"W:)1>=];b1fp5acWg/Rr")F5?dp6hYHKn,0a]q[$p79l9S&Mq:"u:b;6AMbLR6)^(RF=';HmQN$sCD#G9qrrAHmB?$#0F8l4p:;P/,N#^XA%R[4S4c`D3J!u_'Fr^5VEq<Nl5GK<9e,KE-VWiS2\lO7N7o4Y?FI&D`1#5f\FK<r?T%DVtp$D+-SC)ob9OZ>/k^><u^;cKqfZ&]NZ(?pap=.*/5O^P>J^^R5_/9]-lj[o^XnKHSGhZg.p=]G+r?(7T.<j:%VUpr!Zs-o"\@Ac`o%<+%?2[jWX5`7rB$P%UR$7e.pGnV[fB/M"=1-$H!t6s&/lO=3V%JdaP9CJ,^ROrs!9Q.gB)Q'9!6_/;!3hc=jOUe-bPJQm`NC*!,5]'Ndm]4M#X4GV&,K)r=ml:i7]:g\Y-m:[rOMq.R&0f_1:l(s+84ms@]a46/X?SSk@H'4`ScgU$r$ICK-X-'bnCc=nIPIUhM_AToFLh`J*j:$nd=,tV@2o3R`AOsHQ60mRoP-ONcrq')`E%mSGEV\_toXgEi](YlXhP$Bs%9(>!Fa$Jb8r%rrC8IfAlNCC^$3GRb6"n<R[Q)=t=KU\'h.UNV9I?pc1=V0u]7#XQ4#M7_a+/>TTc.Cj`ld(oCrs7*68CdIR-tIbEuc!:^!gq[IcKP"sl?e+XC9q&f=!miV>$;s[dcr>!*EPdgYm8LJBl;qsT+D^58S/b/i@MG9*P?H/mmo=,Y41&!omid_!UllEER^6^4b`Ad#\!1!=4T$gjP^16_Om#S4>-g:R1Q1u[%5NR>%kHp?N!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u_FVmq.-7tUR$,\+@[2cn`5!<:aPm1C13BQ&!2F(fK2+>YW(!'!;:9`uaBz&-)\1zzz!'!;:9`sb_z&-4<^!!!$"!WahP!!!$"!]WM<9`udCz%KHJ/z!!!!`J,fR/6:jlS%0-A.!!!-%!!"'"6:jlS)#sX:!!!-%!!"'"6:jlRo)Jaj!!!<*z!!!!"!'!;:9d^JPz$31),z!!!'[6:jlRo`+sl!!#Oi04ner!<?qJAcN#8z!<=cbAcMi3Tp_>L"onW'!!!$"1&q:S!<?:'!!!3'z!<=tW!!!$"/H>bN"onW'!!!$Z6:jlRp](9o!!$s<!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtTB6:jlSz!!!'#!'!;:9`tLtz!WW3[6:jlS0E;(Q!!!$#!'!;:9a!$Jz"onZ(!!!*\6:jlS#QOi)!!!Q1!!!$"!!5Cc!!5Cc!!!!Y6:jlS*WQ0?!!!-%!!!!Y6:jlS)?9a;!!>Rg!!!3'zz!!*K.!!KM+!!!6(6i]aX9E8E"EWB_P@K6B.!<<*"zzzz!<<*"z!!!!%YQ+Y($ig8-zzz!!*'"zzzz!"],1!!*'"zDKTc3!!!!#!!!!'@W-C,A91OUC1@5D!!*'"z;Iaf'!!!!%z<,Z^uCi=3(zz9P%gXCi=3(zz6?I-_Ci=3(!!!$.z;J0ZbCi=3(!!!/+!!!!'F)5Q#ATLmg9QL16!!,l)C1@5D!!*'"!!!!&F)5Q#AH2]1&c_n3#BO]q@qA5"Ci=3(z!!!!(B6%p5E(NH6Df01fz!!!4AEbT0#DIm^.D#aP9$q4*2Bk(^MEbT0#D?'Y:%:OC$Db"AVATD4$ARkc@!!#uDE+NTuF_q*Y!").nCh[Bj<-`Foz8Sr)_!!!!'@W-C,A91OUC1@5D!!*'"z;Iaf'!!!!%z<,Z^uCi=3(zz9P%gXCi=3(zz6?I-_Ci=3(!!!$.z;J0ZbCi=3(!!!/+!!!!$F`M:t79ELh!!!$"z!,cpqCfEi*;ucmu!<<*"!!!!nF(]&`79ELh!!!$"z#%;=i<+0E=79ELh!!!$"z%V''dCfFtjF@gOE<)$%qDf9Fm!!!!)@qBIm<+U;r<(0ng!!!!"z!"!=WEdC#fBkM<pDKTdr!!!Nu;f$/XAOp`[H9l@]B5R\L!!d%GAmoguF8u:@$$Km#F?s_WB5V9uF_q*Y!"VLsCh[Bj<b6;n6#:7JD?'Y:#@qCX@<HC.!!!!,@V8&HCi=>nH#R>+DKTdr!!!U";f$/XAO8mSDes?4<-`Foz:2b#]!!!!*FDl+oF`_\9FDPl5B)ho3z$>a9cFAI%$F(KH0Df01fz!!!F:Dfg)>D,5:rF(KH0Df01fz!!!CIBkM+$:N^c#ATVa,DJ&qL!!!!Y6:jlS-ia5I!!!E-!!!'bn,NFg!!!!Y6:jlS'EA+5!!!-%!!!*\6:jlS$ig8-!"1^c!!!$"!!&Yl!!"8E!!2!X!(28:!"0_G(]XU:f`0k0&5#D`7K<Gj!!#Oi8,rYim/RP\A8bpg?UINf!WVQf%RFWD@V#OMJ,fQL!WUmSKE)Dd#RC_B$jd4K&ISpR&JYfb$kF'i',))o',V;i$k*OQ$kWmV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*.G$O[CR%1j!Z&/5Ta%MTTe%Lrs_&I]'V$k*^[$k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*RE^]4rP!$hQ;!s'SG!YGG8&HVpf!!E9/s24q&!!!$'!<E3%!<E0#z!!<3%!X&Z2#7(VC$NU5."T\W)!<E3$z!!!$"!WrQ/"pYD?$4@CF!<`E*!X&Q.#6kG;!t6sd!!3`7"<eC4"[Q!o'-_FI1'SGTTs6p/,Sa4n@P]i]K$cpj-'D3riULE!2&;plK-j!M<+JG7UNAC1dT,:<o!="edrj^B7OOFrKs[,`eE$7u[Dg\Xoi>[JL6e^F`n';G2b-q^GDDN_\&[+`pCRB,!W`?*"9Sc1"pYA;"Z6;\!YGMX0bOUT;.4Gg'*U.BOVFLo66j<EdI8q;@c;?ZP!`._@rjKs,mG-ZZ@`B/28[d0P>n:nA49KVFCjJ&Z\66FFlW'_Pba#?Q,M25oVJt7e`HI)Ap/opVRFLqk4U/]7os>ILR4pJa8ain$j-M1!YGMH!'^JM*9V3`\FP!='\hOBa6tHAl+>r).Z3i^8mFkb\a&O3bBs6hGl?_/,<m+Y2!&8RO&C.IO5%60QJ^uM-f06(8b*h6X,lPZ#O<I0bHiu#X'd1)cWu3*>BOe(]CS4Mh>[I[;t@HYQ=ORN0gH2l\7Ho37u<]>/9@(OEQ8[@Oal<Z4ZDcRPQ(WK2#dR1M147E5P\ebrOB@uq7G.+IiJCf@VYoCdY_''=R*?,D-hkN'=G@c'*H"WlLEq\;85#=a+J0qI'<AG!;[4AqfAS5!9K2)p>RA=9+*'FSi1.]=En=,"ipJ@SaQL"oA6=l1V-_k\W(B!^m52<YL03R3sjW?JjBMV,>^lR8KWXrS2deF&s,=/[%'ACY9+4m3:T?bO?4A>U\I$T^&J)FIe&,RT8SQ8m9)!8I-gMJ'-Bk^VhNV0I0P_,e;7lRLYRA>g6P]+rr@bpB;Y.oio)qj;89)B5;)mBZstFM(d<XIric9-knQB\Oia(<j!gA5&MTI/IVFkjK3OZ&c<84%_\a%)88IMX(XRYLFJ&K9VuGIP.*A_?Z#2_][:G@?_FPqm)SFN#N-k-]Y:ALjN_J2ASJj\Xa:A.n^G0kZ>O*Y3`9G/YUKH,M>No+&g]]52l0bgYF05HB8,U-NWHjP[aqKLl1<Yi%3lq=$23'oPRf(s%"QKo<;j=a:I]apldWTHm*AXP(]//\_N$YZAZVX,OBhUSF8gXd>Um&S),aIMMWVWaFWQ1jkGGl*Z2$3,mh1546.rYCjMu35J!7mA0O,)`2N6YRH8Go`KX3$J$Z&8J7N\"#dPiPTeL_9=+pI!Hkk2YG*S@jU:LQWVA5AZYa/\fi#&)3X&rr=TarrBME"kJ"%h,cJe%i[#?at!A0&#.tI]BS&<oSU@(-2G)Oio?$Lg30oL*Sfh-+cZ603Ze\2(m\FTKWBuPI5([$d8risZ1c,A9Z5NsWjlO7?9Wfr?LP2\[f6>&2u7D=2br2df%T2%n,;;@PujmA;:Dc8_kU6g=$@b?kNUe%!:0Xbd'*(V_T9hB`crdS$hTi/;'"Hf#k8rTiT\=n/arYupQV-0DB@iZmSm,okmrUJW('\E)P-c-VuP--T@Rs?]D;G%rMI3Ir[CA2cVOQ@L]7A,CVTM)XR%R;^#,QnPQ(W/QMCI[`?tHu;uZhdDuSiMrrCJ?LmB)hM!B3a!'>bh&BET+!0;uF3lV1C%pY9*&$t)k4:gT*+4gG!YWJZ@5MUac3PC2"`X`"KVgdOuYOnl)]PaK64grbNB967`/^/Y92FmB-opXV/\+;-&out&5Dd7XIhYLL?&mXU(,a53KNn$'9%T5<8aim._q.#S,QPNBRoR;`:q,lPm3:]U.6fj9''?*2mo_seS#RdR,Z(KB(Ah1%*]XKfp((X.&@fc;Qa0i)LF)S*lrGVWQXoAAV]%;o`p?2EaQi,"l4u@cDTD=AljtlRrnXOX^"Cb-=&r8=BYH*MnRkH@Z*!\0R]0%?Rc`+CJFY)9&md!UOjquFM=@3oiS#O.%!2@L5!9D[jNV-eXk$6]!F'kDt9>IjJ6.E=1qEhAdf:Vp5hsc-+l7$->80Qsj7j4^]r"_DXJ$!jQDU7ZN@bBtU=g%"AVY#c2VRJD5o&jftYOefrH^sik:[,!*rf0tKo2(7'%UYWi[152*0Z/ejpV!YLrr<[+>a`MuEFI*Aq08\i`uH9&!/89b:L;<0rE7@Dh-87'P#%t!HRoYVdIh^kb[\)jfh]*W!'VsVH9Xd2el,@GFdCZI=N9?',b>84LnF8hXa&7n!,d;K.rX_9e^noP5:8*oo%bk#C"sQCo\A&JV75Z<`IGn,-(>,mJ;cV7V8>A4iTs4eJ*JQ09NZ:8/Fk[h_EQSrrr@b`R@dFJ0PEHaI8EpB88dl]R;r'T@p<qoh>L>@p2ALMr45,i$"s63D>!mdf/g?:/G*)'9X]Zp+IW(-=f:kWrrCtnr>NlZ!1@,*`fL"<rr=cK_9@Oj*8Kum6`H#-O&,FuR[:!s*;9GRo3=(9UE=:#rrA%Ul$laF<djR0:ju\lQCF6rh,JuJX4;Wif@[8!m-]q)d=M0g@F:,!I5PNK`g8L6`eUe'SrF3QeAci"n27\+e#:'uD@IlX%<-`tp:\dsgL^?Wg&@'2+6_<*GLVYMf9&M/>@6O&\?O$Ef]N':rE%XPioVt-c=`K2PQif83LIe;k*c0L[Di+I$o5^Q;_5JU&WcaO+V4+XS+cj^ju%X#rEfL(bG5(;Ya0e"f!e#iqQnSgXr58(qn8lU7>us,5*K1]qG6igmf*8VW.3$o[GsdU\c2YsV>gNN]%;o`p?2EaX_"+VQ3J#cALO+gi/dgF9_fue,YVjq',/ga&,J9BMuIhj&,VT@mAiJB$JTm($h5+'a&q\T**HL8<J7lBG1>(^2LBqDq?r\.qN[RkX8?u(AgfHLXo"\n5;A.Ko_smN!6e[!j7O@-"dm;uf[3u)e"5i..rLW]d\a.+p8mWU3B5/9`K8EIjCa9<^NM_E*i>6>I(VueVJ"IJaqam&o(nQ!g$/M:nG`Lc%<qf7:>W>+pCHH_+82/l+8D[2ls3Ec'u0X1\,QG"-Z0`!gcn5G,Q@?fnc&TH9o^9$`i"=X\/=uqpHR]tJ,dp_*OBh$QRB\i2sC8AQ2!#(dTd3pA+FO(O/qn#kl1XJpa,c$jaIU#[#k:f&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa:!X\:#u"K)+XVA%;=n=5*ZSs4IB36:jlS+TMKB!!$"!!!!$#!!!!0!'pTq!,hjH!+c-Q!)NZ/!,hjZ!,hjY!,)@N!,qo<!##>u!+Z(J!+Gq>!$D8<!,)@N!-A3Z!-8-R!,hjV!$D8/!)ikS!!!!"!'!;:9`tY#z#65#0!<<-$!<;!iM.h!QE&oX*DK@F=A8bpg/n8g:06goE0/5(50*"+!G]7)$CLqT1@V'1dDET34]>#O4Bk0@N=#E]+9lNI2BPC"`Eb/0q:/k_LCL]A8,!S764Ero3D/a?'FC?;:D/=*23d<e3@:X:cANF^M3c/GM@4rfIGWL(dE-,kY,!faX@V$Za9i)s"DfTD31bLO91+cui2DZI51G1I@1,^mE/0H]%0K:^>2_Qs@/MT4G0JtmJ0d%S]+<VdL+<iul4E=tE3`8@8+F%a>DK@jZA7dtKBQS?83\N.1GBYZ`1G3TdB.ku"3B8`H1+tC</TPB6/TZ2TFCBDGDK@$H4s2t.A7dkjATM@%BlJ0.Df-\<A7dl2@W-C24X)'mG\q87F#nP_E'5CYFEDI_0/%3a/n&:/@V%0%Df%.P@;mkS/heq&+F%a>DK@jL@m)#LFEDI_0/%9eEbm@HEb@%9@kVD0ASl!rFE9)i/ho"'+F%a>DK@jXBQ&!2F(fK24X+Q]FDs8o05bh`@:X:cAM.J2D(fjADffo=BQ%iC0eP.5+s;,ICi4;TG\qCo9g'\6FEDI_0/%3a/n&:/@V%0%Df%.P@;mkS/heqqD(d(UG\q87F#nAa7<Wc9,%u(?E&oX*DK@F=A8bpg/n8g:06goE0/5(506:*<E+L\#ATMd4EarZLG%GQ5,9e7TD/=*23co(JAj%>OFEDI_0/%3a/n&:/@V%0%Df%.LBkCs10eP.5+s;,ICi4;TAU%p$4X+Q]FDs8o05bh`@:X:cAM.J2D(fIFBkB"Q/heq&+F%aB3^[q!@<?F.<,Z\k4X*1&Ddm9#:hXchDf]T1E$.MH1a#M$@qfh&Df]S9+F%aB3^[q!@<?'K@<?'D+u1i+3@us@/MJqZ0fD'J1-.6N.ki\=0JF[nG\qC\9lFQVApHdQFCdTZ1,(CB/MT"40JZT^2EETO3]&iI0JPUB0HqWaD/_O1ATV?k@<>pG@<?'D+u1i+3@us@/MJqZ0fD'J2EEZT.ki\=0JF[nA7IZ4DfT]'F?Lg^D..'g05>H;B-JI;BQ&!2F(fK23^[h%DfSQjA7[nJ1Emr\BQ&!2F(fK23_;\+:i^JdBl%?D,'-XP66Jig6T-YZ2E!-B/hnOmG\qCo9fbj`F*(i.@qA5"4X,,fE%Yj=A3*+G2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?G\qCo9fb[\@s)X"DKJH<4X,,fE%Y[8A3*+F2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?G\qCo9fc'jBkM-t@;J>M@s)X"DKJH<4X,,fE%Y[8A3*+F2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?FD5?!3_sd1ASuTuFD5Z24X)U)+EV=0Aia$lATMd+F`_>9DET1"0JG170JG.70JG17+s:uAAnF),;IsofCisi6Df.]^1GCL:0JG160eb:80HqW]BkCs<;IsofCisi6Df/QmBllK^1*Ri_BkCs<:186YG%F'UB4Z.+4X)X=2CpU@2_6^A3%QgB3@lpD1+Y1>1b:C@2_6^D1b:L?0J#(;0e>(>1+Y1?1Ft:A2CpX<0e>+83%Qj?3@m$C3@m$D1+Y482CpUB0J"t<0e>(=1+Y482(UO<2(UO>1c$mK0LS;`0f)6Y0f:pK5rgn_3&O#[7PI1h2E!NM5r:k]+s:HABkBD&Bm=3*=@?k?ASuR'Df.]^0etF:+s:HABkBD&Bm=3*=[Zt@ASuR'Df.]^1,_*9+D#e3Ai`:tCi=>mE+*6f4X)U)+D#e3Ai`[qFD5o06tp:FF*'Ph1H%3N1b:I;3ArQB1b^pJ0e>+>0etI71H.$D1+Y793ArWD1b^pJ1Ft=@2)-d91b^pJ1b:F@3&W]H1H%3N3%QjA1c$s>1G^jD2_6aA3&NB@1Gh'K1+Y4<3&NQE1Gh'K2CpXC1H.6D1H.*K3%QjE1H.<F1H.*L0J#"=1H7*?1H.*L1+Y4?1H70A1H.*L1b:FA1H76C1H.*L2CpXC1H@?E1bggH1Ft@;1cR<C1bggH2Cp[>1cREF1bggH3%Qm@1c[<B1bggI1Ft@;1c[EE1bgpE3%Qm@2_mBE1bgpF0J#%83B/lI1bh!M2Cp[>3B/rK1bh!M3%Qm@3B0#M1bh!N0J#%83B8fF1bh!N1+Y7:3B8lH1bh!N1b:I<3B8rJ1bh!N2Cp[?0JPI:0J"t11b:L82Cpd<3%R'@0eb.50e>%7/28q30f1F92(UI?/29(70fU^>0J"t7/2B"41,LO;2(UL@/2B.81,pg@0KV9L6UNOe1GggT1,D6P6SgVV3C>S[2)n&n1c.W]75?&N+?XmcE(s%f883-eDfU+e+?X[TAi`k%EBYL-Eb&cCChY#5F@C@p3alN?Bl@lP,%GY)@<?'k+s:rK7<Wc6Bl8!6@;]Rd8OP]cG\qCPBk_*=6p`ae5r_=i1cR6E2E3EG5sd7b3($/)1daPu2)%Hb+s:rK7<Wc6GA(Q*4X)X80KC^>1+b18<&$9l1,_0M3@cd<3\W63+EMWnG'#cdDe=*8@<,pFB4Yt&4X*1&Ddm9#:hXchDf]T1E$.MH1a#M$@qfh&Df]S900UL@Eb&cCChY#5F@C@p3alN?Bl@lP,%GP/G%G]9ARlu-F*'ioF?4ALEa`frFCfK64X+KYDf$V2D..'g05tfA+EVNEBl.9kAM7e;AS32?4s2t.A7dl=BcqJ=7<Wc6@:OCnDf.]^F('6'A0N.;F@C@p3b`JQFCB&sAP#9Q,'[sD/no$13^c=m1I3ui1Gh'H0K(mF0gS,[3&j8p7PmIu7Pukg5p@FmF@C@p3d57KDET1!0JGL=0et=71/otd3\iTS1c['?0fh!B+s:rK7<Wc6F)PZ4G@>N'6"abHF?Lg6A8bpg+Ac`iFDl56Df?gd;`#Uk@:O"hFDl56+s:rK7<Wc6@q]:gB4YU:+tk,n4s2s@Eb&cC;e9r4+?V<%D/`3D3_3t+FDl2F4s2s@Eb&cC6tLFLEbTK7Bl@lQ+?V;tA7dl#6q0?_4>1q?G\qD:ATV?E+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+?Vl5E+*6lATT&+DIbmSG9T78s5FGh8OGjP:f:(Y8PDPQ!<E0#$qO'+DJoRf!!$kRFE18L66KB5=s+'q!!3-,!!WEX!!$G;F)XiP7T9?f!!#SZ6QgGJ7m[1Uzzzp=93Ezdk+*e+<UXazzzzzzzzzzz!"i^[Ec_9]!Diar!&J.sF(51M!JCFQ!,Qk$E-)'[!Up'h!#/mXE-)'[!X&K'!#0HU=]te*!Z1n;!#0'J=]te*!\=<O!#/mE=]te*!^H_c!#/s\DI`_I!`T."!,uIcA7PZ?!lP'=!/Pf@ARkc@"&&[p!/>Z2ATn+S"4R;N!$lB'D.rtM"8Dir!#09]@<2DK":P81!$lYt@qYiB">BfU!"<mI;F:Ea"?ZYa#Rk?F;F:Ea"?ZYa#Rk0A;F:Ea"?ZYa#RkfdG]Woc!!#B)E-ZJ<B4uB0-t=\K0f_6R+@p'fCh7^1/PokcCLM6o+@C'aE+*X0!!$P@F(51Mz!"s?N7m\=i77/sf3ArcI1+k9]zz!!!XQ;Fa%r8OZ!)0f_-M/M\q5zzzzzzzzzzzz!!$,(=s*eFzo2,Jg!!!!"(<fl`=s*eFzzz!!$,(=s*eFzDk[433;!7O"-?Vf=s*eFz@[R2r[tOe^(tr(p=s*eFz,bP,;%tjo_[a/JqF(51Mz!#A-p6Qg&aFDs8o06_Va/nnm,/n8Ppzz!!!d+77/22FEDI_0/%NnG:mT@@kM8)zzzzzzzzzzz!!$P@F(51Mz!%pi36Qe9A3ArcI1+k:(6tKt=F_l.B;Fa%r@rH1%F`JUGE+*6f+>"^W;Fa%Rzz!!"WC77/1U0f_-M/M\q5+@KdQ@<HC.+At]r+Cf>+Dfp(CF)YPtAKWQIF&GLpzzzzz!!$P@F(51Mz!%_#ZAn?!oDI[6#<bZ,hBl7Q+6Z6jQBln'-DBNY2+A#!h2DI3M2D$[:0`V1Rzz/5g%kATD@"@q?c`Bk;L&DJ((ZDf0*"FD5Z2+DG^98OZ!)0f_-M/M\q5zzzzzz!!%1VATn+S!!!!4V#C?.?S2<icP-?]mE>P5'+4dB>b1oq!!-2)=s*eF!!!!m$!%%&!!!"#+6RKP@<2DKz!!*'"zzzz!fm<]!!74UB-70S!!#Aa<$5[nEcqE_z"98E%!!N?0!"T&D!#YbX!$_Il!%e1+!&jm>!'gNQ!(m5e!)rr$!+#Y8!,)@L!-/'`!.4ct!/:K3!0@2G!1En[!2KUo!3Q=-!4Ms@!5SZT!6YAh!7_)(!8mk=!:'XS!;6Ei!<E3+!=]&C!>tn[!@7as!AX[8!BpNQ!DEMl!EfG2!G;FN!HeEj!J:E2!KmJP!MKOn!O2[9!PnfY!RUr$!T=(D!V-9f!WrK4!Yb\V![[t%!]U6I!_WSo!aPk?!c\9f!e^W8!gj%`!iuI3!l4r]!n@A1!p]p\!rrE2!u:t^""aU7"%*/d"'Pe="*+Km",[2H"/5n#"1eTT"4IA1"7--c"9nuB"<[h!"?Q`W"B>S7"E=Qn"H3JP"K2I3"N1Gl"Q9LQ"TAQ6"WR[r"ZcfY"]tq@"a:-)"dT=h"gnNQ"k<e<"ni-)"r7Cj"uc`W#$D.F#($Q5#+Yt%#/CGj#3,p\#6tJO#:g$B#>YS5#BU3*#FPgu#JUMl#NZ3c#R^n[#VlZT#[.LO#_E>J#c\0E#gs"A#l=o>#pfm=#u:k<$$ci<$)@m=$-rq>$2Y&A$7?0D$<.@I$@rPO$Ea`T$JZ![$O[=d$TSSl$Y^!!$^_=+$ci_7$i(2D$n;ZQ$sX3`%#tao%)<;)%.ao;%42NL%9a3_%?:ms%DrY3%JUDH%PA5_%V-'!%\!s:%akjT%g`am%m^_4%sebP&$lem&*si6&1.rU&7H-!&=X6A&D%Kd&JGa2&Pj!U&W@=%&]kXK&dK$r&k*FD&qgmm'#P@B'*Amm'13FC'8$so'?(XH'F#7!'M0!R'T3[-'[@E^'bV6<'il&o'q5rO(#Ti0(+'eg(2ObI(:"_,(A\gf(I8jK(Prs2(Xa,o(`O;W(hFPA(p=e,)#>*m)+>EY)3GfG);Q26)CcY&)L!*k)T<W])\a5Q)e0hE)mUF:*!.*0*)[c'*2=Lt*;(<n*Ch,h*LRqc*UFg_*^Cc]*g@_[*pFa[+$Lc\+-[k^+6js`+@.,d+IF:i+RgNo+\3c!+e^()+o<H2,#oh=,-N3H,75YT,A&0b,Jk\p,Te:+,^^l<,haON,rd2a-'opu-2/`6-<DOL-FY>c-Q"4&-[I/@-ep*Z-pK,".&&->.0_4\.;LB'.F9OG.Q&\h.[qp6.fq4Z.qpN)/(#mO/3,8!/>=]I/IX3s/Tr_H/`A;t/kdmL0"3J$0-i2S09Ip.0E*X_0PiG=0\\;p0hO0P0tK+11+G%h17L&K1CZ-01Oh3j1\!:P1hAM81tXZ!2,,r`28V6L2E*O72Qet&2^C=i2k2hY3#">K3/fi<3<_E03Ia'%3Vb]o3cmEg3q#-^4)6pX46SdS4CpXN4QARK4^gLI4lALH5%$RI52\XK5@HdN5N4pQ5\*-W5j(E^6#&]e61.&n6?5E#6MEi.6[_>;6j#hI7#FCX71r$h7@H[%7Nt<77]T#J7l<e`8&.Y!84uL98CpER8Rk>k8ao>28ps=M9+4Hl9:AN59I`_V9Y*q"9hJ-D:#&Ji:2Wh9:B40^:QnT1:a](Z:qKR/;,C,Z;<Cb2;LDB_;\N):;lWdi<'jQF<81D$<HV<Y<Y&59<iK-o=%$,Q=5[16=FF;p=W1FW=h%W?>#nh(>4l)g>ErFS>W#c@>h31.?$KYs?5d-d?G0\V?X[<J?j0q>@&dW4@8C=+@J+)$@[pos@maamA*[YjA<^WhANaUfA`mYgAs-ciB0BmkBBa(oBU3>uBgZU'C%5q/C7f88CJS`DC]A3PCp.[]D.%4kDA$i&DT$H7Dg63JE%>m^E8Y^sEKtP5E_CGMErg>fF1?<+FDu?GFXVBdFl@L-G+3[MG?/poGS,1<Gg(F_H&6h0H:E4WHN\\*Hbt.RI"?\(I6i:TIK=n,I_pRZItW=5J4G-gJI6sDJ^&d#Js(`XK3*]:KH5_rK]@bVKr]q<L2r%#LHC9`L]iNJLsCi5M4'5"MI_UeM_L'TMu8NDN67,7NL5_*Nb4<sO#E&jO9UeaOOfOYOf4ETP'W;OP>.7LPTZ3JPk:5JQ-#=KQCjKNQZ\YQQqWmWR3\2^RJ`LeRamloS$/>%S;Ed1SRe;>Sj8mMT,jP^TDG3pT\,r.Tsg[BU6_PYUNWEpUfO;3V)Y<NVAc=iVZ!E1Vr4LOW5PYoWMum;WfO1^X*(K-XB_jRX[K;$Xt?fMY84="YQ1nMYj/K$Z.?3RZGNq-Z`^Y][%+N;[>MBn[X#=N[qN8/\66>h\OsEL\i[L2].U^n]HOqW]bS5A^'_T-^Akro^\,B]_!JmM_;iC>_V;t1_plV%`6Q=p`Q6%g`l#h_a1o\YaLoVUagoPRb.#PPbI5VPbdG\Qc*bhTcF2%Xca_=^d(7UedD"$nd_XC#e&Km/eB?B;e^;rJf%ASZfAP:lf]_")g%!d>gABWTg]cJjh%8D.hAkCHh^RHdi&9N,iC)YKi`"jkj(%-8jE'D[jb2b*k*G0PkGdZ#ke-.Ll-S^"lK.>Nlhg%'m1J`UmO7M1mm-?cn6#2AnT+1"nr3/Xo;D4;oYU8tp"oCZpA=TAp_ik*q)J2jqH*OVqfhrCr0[F3rOVu$rnRNjs8W,e!"M;*Ddm8XA3^+p!!3,S!/(=Q!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E6'!WiE)!WiE)!WrN,!s8W-!s8W+!<E3%!<E3%!<E6'!<N<)!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-s1eUH#QY>:YQFn<!!3`5!tbS6h#IQXQN+l'lMpqc!WiH)!<E0#z!!!!*$3ph;"U5)2!s&E&!WiE*!<<*"z!!!!)#mLV<$3:53!Y>>3"Tnc,#7:bE"9\l1"TSN'!WrQ/"pYDG)'KV+eQ17fe!-/q(KY5t=:$_0,*Gk=e5_c";3S@%FeuK)(c!<OG%!0P-#nKu67/s86_QA+2MMeD!<W?*"9o/C#mUS6!s8],!<N?+&Hr@D+k$]60bVp!<`_R2OqX%Te5[;^OYT7$;cK$Y(1nq,)(Au=1U@c1FZ)4!Z?)cd[!%"o6O@5,d;i_RF=$EEA2XD@!"8r1!!3`7&HG#q[VfNt3?$erf/4b9F&X=3iRB,1)Db1'L>$JT]Tf6A9?BbA,aZ;73pCL"[D(!I$YUO#_RNZ%lfg#?9)2Tu1!:eF`\p>]+sK/`66^@m'3?flk6Bf<2WVM($^)AX,_`8].pAsQX[T]k(sgC^=6YE;^81LC)u&OLMlho`_b7'eImj&:UTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG5EK'KY9!%)(.[*cAC,00rDJD9oOkc'B9tqT7es^l\V,&NeQ(^Z;["deta)"JEZ$q.4jqblqQZuKb=,%rmVl5ICb,pgUC)G&0jB&?23NB$VW2O2#gF[AEgOq:=I20^/.cI+iluFt^X`IUEMOHU6J,dm&%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_dBjC1ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!3n_uB_e4F@(rT`5!H?q=RdrrB%RKDtq;?(^P[0[.K76cK'*_l*H;O8mY8%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_e$KU3ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!3n_uB_e4F@(rT`5!H?q=RdrrB%RKDtq;?(^P[0[.K76cK'*_l*H;O8m_:%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_e[,g5ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzz!!!!$J@:l7;FF!N.7tk^.7kDV92^_3Pba4OR@+X'$&4_M&J\C!?hu-]:BbHT`U?+8<@l$Ge'edpRqH63&EV97>dQJtM,*+NKt#/=>0Cq9PkoqXhLOoV=/V6MJpf(Pl896R,[:i(q\`eQ49JB.B.amYnAU`d(1u%>kus<*.U*lbf\[e6hM^8=j'0H%Ce8*@b3L"g9pr6((e,Ir1GJDN0b&=B</*hf,qMZZUhYj0IlcXs4LX"`<CkQ`.bgh)`jNGG'7#$KBm"Ac4js%ElD!b:Q!R:)/`&6aX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXW,9f]Bp8WINN9HE&UGCbGpK8_GtkHh;]f-^8(+oerA]nh=c]<^CR]_\/V:2jjcfWi@;L5DXin'?W$PrlULEHDYliY?\d?@>Rf-TEpBCfn<I<V2gEGNYGh>toqQc_[sauh0>m00Xp4-;3H\2Cpe%_<)n]^b=4DZJqU)rk>JAKDQf7Y)<s*QXS@YZ2r$>F/%GijAX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[>(:-Ij;Qs:iB#hhm_pV#A46A;bEC`hCd"lA[N0'Pq6m*mIR3amA:9so@^4Tb6AW@O[;B8V[4&fa57cH!,p[65fmQG)jF'Bsf1D*SmUVf2hTr<m$BfH`gKNlYN4A7[[KWu*.$?`jPBr9*O!,H8K5)*a(kq@]f$9VO?/@9SD%ldS:L-e_J'qCjec,WL.?<7H.V-M=06t(mWE7W)WarI8O)r]ulABFb553rAOPF9'WIq<7Jj.UVMN*=/<GdTW8T8[s:9Q#*K^/R;.@2U=)=SFVO+U#5TD`b<RYJp2$I"Cm=hUnZYX_O9lrbK8GG9Om,JPhDSR$a3=)put8VQ]B<BQR\AQ2?k[f0@IhHZYXrrCZW,PYd*LSSb'oL`AHdU"E5jVf(,)_&^;JJ$MbU-`"BF[_KXf5XDclq'8fKe$kR:Cb2Qo*]%Jp:rE/>8A9?qmopFXLDu2G9SB'>tjCdV)3/]@sTN&7sngQ5&=X392`s$Q_iKpr00rZ>`$@5^uT=R@W:j>o_bM<7ZeU"B_,Y(O#@]\OWl('Dm_&7[N$m$^D9dk\AX,,,MJEV8kGAb@Ok.]eFQ=/;%)E_NQTj-aK9MgS1SeeLojYCU7s+U%IAI?8IVl7P;-lp>`.,j;hZ4AYu+HL<(0$Uoq.<Gzz!!!![lG[4rDUL#$"b*9XNC'>fk#JH>HAh!H!gu]ZYdm]1b`LeH)35OpC0HSr!$Qf2p"f@jFmWO)Fkq.[<*iQ[[O@l0(!i%5\JiIBWMNk_.O$&)Unk#oWhuG^VL6qCaOoO4M//^WW\pnn-ORCa&IPc-9AZ/:45VXFPq3`6CY7)N6$N#cT15a-k\?GaVnd<%*RS%r;O'F4C3B7bDfR,/6tSG;LlFu(Q$'W)YuXl`]F/gYk#N.m^+m!sn$Q',o-7^kd22Li;E7k0NWe`/lADl3Nr*WnU06V`m(n3iCaXF*j,?,)jbdSDq)j^[S5qYkT:(arp88NKm<I2cpMla@MMRWAGh0?PU2M^&m4PONRCZ_M>uY,/'!'.`kBDlMlM?RQT3=15CNnJZo)(]"lJQQHZ^4Z.ItXimJ\/ooomK?d:TYSU[Cbf>H%$iLF`994fupCR^VWur5i(HHHG60BVq-jf>2An/]Y=ua]!r]Um,cbdhr-&tTPj:_]jFY2;sQpCX`"#(hHu&l?!Iiep2]Gmn*lTK:cEX@?E^=)WV*$2f!g(%D_K#q0!5ECHT?4GGPFe6-l]g0Y?05%eG@S*CKnO#2j`LsQWF92]pu[4]DNsVPRZJ)=0(UMl@!@&26GbLS'1<u9<3WT?HuhU?2bJ;ap.;P/(O;7F[!0N)V4Aa:$).uV:EB;04uo;0)knX<TO=,N0W])O1Lre2iVTsg*ZCg518`SDO7\r<>U.<Wq(_Q`_,oP8)6tC)of:tm1Xbo+),k:2bViIWf+X/<I$jcj!B#cU[G&2NT43up5-Gs&%&pX)l;o_eOABS._MElnWLRm;>4#T9^ASS:&DkO1RB\`;.Sr%nnplrigFae*MhDle*T4t)m(,qjJa%L_Z'T_'+PXXDe`$8Q+"h2N3XAR2_oGc%%b8$`](h==*L`B2i.Yd/P84(V9$@4Si^[H?KAN>Yu-Xknh,Za5%<WNc^AX'mjqCbi#4I`:#a,15%K'4\JMrrb@TXQV64)P`Zq(d)HqTJ:3M[gV,C[$<9qlZ.F=_P?*,]6.i"E1a).0C[7/&H4B%kKE<baAPARa$;3FgKfKtg@)R``(("L]._b1]m4mdtL</MrBPu9Thb3*a]MoBTPc?4r/Wi`:%*F2$IlKYC;9,%et7l_cRe;cA+WhUHO<Hf%3g:*$@[O.8>4#-8t2uipY#!:!g;Tlq%lKcSQ#,[8XX(YEPW6TU%:/pE#af9b-QHG/H?!aitBTF%*iENH#h2*EqAXFD>iZ,qVQR3*We8%5A?SY*hp8i0?jcOtm;)&hX*4u_qp/M]Mr%3XVS7dXqX>+Zm/@V`dW5^3mC2gmWYI0BKU:p!],'p8F<APbEcS^E"hR>AaD.SU]5IYD#Bi:m1<=0bZrA**&)Ru%.>;Bj=,tsWj&WiSek8%\$`jP.W1.bd&(>.4]mOUG@h&"'8VS+Wr+DYSiRId5>'(EV(CF3h#MWJ.h)O<7N<p<SkD&VBdUF>Q2RdI_j/1V0XitP4([1^&MI+!@SW]!>SW2jhOW0T<L-CZSo+1uAn^<nm+iV&U>#<fY)c<XCTrXu9S%UXF=Q0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXW,9f]Bp8WINN9HE&UGCbGpK8_GtkHh;]f-^8(+oerA]nh=c]<^CR]_\/V:2jjcfWi@;L5DXin'?W$PrlV6<aG$W_&XYTg#<;f-jY]3[/W-,bBE&17s>MDq4N8WE3aX(ee9"f;Ud[N_DgE&+UI)u)>8u%-i=:]"+N5/?C;WV3;-8rM6nD3RbPq1VBgXO=%g-7r"MN2#\jAn_:PuC:fSeB,GWPVH1Vn`uW`AO0!ki,Z;]tKuDmnWcV-rEiCh*"r[p.D;pF4p?s@=CPsB<],u$1O=\YO1:![6H/*!-nPTQ?;=I\21.M8Wd`:b%*M4)O3d-aGgN14pqimRl4f49eEUc/7t.,Mc#T_.5N^IVP^>pWMZDbVgR$Y8D)s^Lou*]ogZ3GC2%aZj[QWk8ueU,aC1O7BPFH>FHnUEXCE07\aOR6>1TE^=#j7m'=+W<^Jt4)h!')r$N$9=aHaD^M5Y/M's>M:T12elTr:_r;Ju?9eZ!WN2"bSS2+M&6"N3^:P><TE);Q?+Cfcq4IfWhkbtKK\HXiM/n'qdjjl4`>d5\M<GGuG08<ZH&>?16peJF%$7'g.%fn0E5(eT?8!tW4m@_'t%bcc,Y=B3G.;och';,T6tpM&YYY#J^\'bai]NGEal-M%'udd#cF>G^]JeOABS._MG,Hb<mm=4DZJqU)rk>JAKDQf7Y)<s*QXS@YZ2r$>F/%GijAX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXZ(_qfm@&:[*/"(1\D'(6,cl6U/pi%_SnRdC]<1.RDH9[P"OKgVS.&QPr@<]duPM%^1;UX,tAuQYTD#6)1\QdV96EQ9Po#!TtB5c.Ta*c\#GM)[!mb#'casU7:^)FZDqV4o>3L(PrMB.W%\AWnP*X73]NDR05kK?44CqCMA0#ipJ+bo4dE!WNXs38$h>(^4p(L;RI)dppn,DQ-i8-\mJbrR#ESoczzzzzz!!!FgL]7@SGk_0o62k?/OLlh=!)pE5rr=U^5M\e;R>LisMuNd4:\qOBs44OeHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzz">P8TFfou'f9)rcB3/"l(AO^=Z6`tOnItV-NDjC[.MGUdXuopGn;a7iCbg#g1sK84OP5T/2B^]-kFM8]DW;W<Fq_K#ZA'a)CKFXWrg?W*3XSr-HW_g1'1t[b=bX049ml-;,KsCa8T#QBQi/1J9beBo?dbr-ZAP2t3tI`1dZM'UZ_TuW6sKj`Y`&)bHii8lD-L(pZ4i<"zzzzzzzz!!!!"_3#UO1*\%=8GGaU!:g7m9e!pgZI=Q9[0*9$nWT#P)&)B-OI']Ag?Di7Rj+NYX)$s/SEn:GK.YU?rrB!q\J`gYL9<6I'_HQcm-U(+btBhOX+?C?r(A9<VFJO,`U%T9M8c$bmrPp,ftkX5-E>9`RD:hN"H.cc%?C2BfZM8dNhqZd[HNoKeFsTNgLg\JUpFZpFm"R'DbWqaOQ"kQ<Wk(X=)jLGCCX*^[SgI9W`h7i.h1;+<gCOs64k\.J*/YQlrpC35'CJWR2&i3Q-K9fJn:.(%H.[7N(%)`*E+es4NlAG<K9NH*/_24.q^cG2\tLD9%6m#p=q5Epp!l>eOH::Z"34MhIKs3Wj06cK@P<Jh@U^O/cYkOz!!!!)[dY(>T)fOQ:cr\3hY4GD?hWRVg/>o_F#l0&9+/uZb'V'DeZ1E0DH&06)G<[d;?[frV<Xrmp,OiUNdpU?-!K`Rq`=`DV5DQ)B0lOtoa09MFMd\!'M_)4l^ZM`I&Um1XjYjed\l=HWF.e:jNm136^h,GPPnag<4elNBk2*MCT<oTi-^As@CJiuWq?67<?R*#M)`9Nzzz53cE/V-BqJW3g4nWg.nKplr?i1(,Ur2PX0B+h4bL_iEChO3*Y5e=d0mg8-3RI+=LHQZX<SiHS>-$4;$K,a(;fXH#1r>kbePTc2LVWiGP4*f?tdH7EZeb/rBQ,V4#npFVA7)N*]<b.80'LoRJf#[@a&H9A(h1D."5C-5'JK)B3q?RAfW,W]lb658fFaJR'2VKA;A0.<Ah:Q$Q?STfc5d3aP?U<gupo#G[7mZp=M/$[EXmtkmV3\&f/A<$?;M\0-NVDqG3iT$rfQ@!6*7VcJR91L5]KP4WSki5lGN/OD&02HdLSZ4<.7ZD<n]%ucdR*ks7!!!uf84$:b(5CR\.WNKK>$GjPd$%A_EQ+ACgMNUBe>"cEO_m8_jUod=[B3GTXb_e!WiG8N6qo/2\e,TJW3K?"&J\Q^&JId:Y6#mpPu[/pBi:nDo0$il;AgFq[=M:]QqnUM,r8>G1PSc1gVQ0*%\\,/`A1*YW(AkdV%N)I7,39Bhq4F4f^EHrjW5'1hhihE1D]b:Wq:=Te5WTUm%mL!/+cD2^?^[n"EpoCm+[^qQ[!dq*WH+3M2a/:R]]*<V5IN;b&m:tm15b9f+jea[:8W!nkB)azzzHi.*,Y:RkYD-URY;V,!^0)DV*\n"e1M1u=`=#-[NGpuTYUs`\FE[<hZ`G((VJ!c95`gFdWjo-%0nWkT*81lq/(.fP6SS!Vs)LH10HDGPc1qE$B3#k_NDL<OF?C7&XW^q$-8<rXfAU=kr'AG\<Z&EV0EhX@7djCWeh(N4VHPK]IDG&k8p6F<NRj?M,_XEl@79?uGD;)A*inGeh11k)9,>GUO,\DINo8bd!#'8hJf,J)b<]3D8FO46-.;;nbhOnLje4!G0n,/?Zmp6\rVd.<e$fa#tA`8MbKiXuG80PFme'k^+]u8dHWG`\F-aSq?mL'Ub!,Bsc!!!'#rU%2J1_f=)@g]Z^;)56/?)PI5&!E1_)b,7N4qI-RXDpqDGrV`%!9Zn[?%o_17K&]<ELdT!.<IoKrmngQF'&@BV76I)SB:d2M8\i89."oL#&7U^>mYH;fUe_hf2a@SrE2ql37=]4'X-`-P'VWYzzz!$;"Qj"&;.j9o00=;80nm`W>Cbq>>!jX*%l]rRJtW4nLpU/G]&&@iFF1>(&-W;'.s*\WL-NZZIB/U_+[;-K&dF:bO:4,(jiL;t3ZBk;=[,@YA.gkk<q^uB`7F5ZqIoYe63;F>S)7'CsL/(eVST%WRTN+7:BPn:M2R5F;CBmUEGfW*4h,d&%\Vfgd0A=B!3h=Ff`WqH1[$I[C]Be725bfVb#Rr#T+7X]USP;Y-"F5tHq)di#62F[(Vcs(97BiqFmTP%``79<+Mr0"VZm%Pdek!i`c)4?C9$r_O'[3+*g%CW^:SZ9Bk-MB%?`f]-77<>si7+_O@9Fq1(zzzzzzzaS:8]ViQ>`oH33H#n+%GofJ7bo#nB<e7KScT?)8lpiQN9X)\0kZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!#h?.bu@nn9>d#Vl?Pju??N$*6,n)Sas/t?e@=YJb*LITQV-/EgK@+>iG:+i+d+Tba;`<8gloGCcQCQnWb$Q;HCp*QiDPO/)J!uJeuo=.SP`mN^98F>S64Q`4J0e)a#1,M28oX.4.[B;XIVTG6#X#Cn9<Pc'p0lE`db7&Ph!D6gQMNHD@>1fX37\P2cX$uEkb_HiOL;/;kEQOOS[<$-p]:e<ng1Y)Jpoi8<T,[lj[ph=%4%;DQGp=:bn?uU4JEB',&<j2C4>NoiJH^/seRuc;dkE/cOtFDX3&CTXert7R;1F`7X(/WF@`D9+aBAWiEX1D,jS9;pLD*j?N\Fzzzzzzzzz!"S;L\Eij:IZJVT[@3)gEng3GeL6^*7&OHml#d94-Q&*Y;^tG"3/&.ZjAJ\"U,8:#n^kJ%Fl2q!IE?onnQ"B[;*$_2Q)OK=A!4kim9L'Wl_<%1W2PT$=,l$%HdGf!GGQ:%(Ni,\aWlqHjuok?'s;<8<;us__O=,,qn2UL:Xsl\rMb(Q$CRG9H?0SOn6&+U,$pL%XV%#8W%h5i95<QfL?`bT>ZfDiQ(Wu#:m=i.eU'1(A:>\^qnpX@CpgpP<2Y&B\^ZgFY$+Dfg!OT7jBXN1MUu&W*3Q=>rlH(;X1fgkmWQ<L&R-HT/mDTGGq@u-1p62AQE2`F05<"<f<nW,4sE!.5QCcaz!$e,m1T]g:=N/6tg(ToUD93?c_m:1G[d06M(Ze)c?aH/%(m4J;)7*%0b@C.X<lH5;#YR=Dp3W,enY4mLoeVdaY)+(n[k4PD1A`K`R(](TLX[e,Bb$+4ObA>>mjFpU$r44^ZmqFqmX&59X(ipNHR;XuHTZ4X18hC<7YQ1]O%>BW>_hFaOSlY0T6aJ9Eh-G*AP&!CSrk?emM_U@pYK&TCJgObUGG(I(U"NM5nm-]'4ZTQ7^]?dCKf;cNGDBJ,?fnZLmeng`%?9pj+]H\$uKNLC*Qp3Yo8Fa+sJ@e6qmrD^k_J%_tF'1zz!!!!"@1RIGMLM<A%]hF6-Y1>9\st'6W%kO9`,RD!S!#$Nl?LF";GD/q#%UpV2^FabQr-k$h)e%(dk+<bi7dYllr<rP1De_)/9<3XjS#][+&uq]\<*o!Q)aoYXj1;-,bHRUeQ:m8WVa\)YHi1NXeS<[_J">s!1/T^n3%*G'o##)z!Yg(L>1Yl^DTU?S0rpdfe`0:hnr7CUnT+>oRo+*><i[m\Xu'ndh&0I33t.X?9NKJo8kh2kYjTf9MXP5"Nu:buL9C?;0'HW1.VdVIC/l';Tqupgpeg\jDZhPMR6)q[cd!KL/BYo<QJ?S&fgQk/7.gso1TE+6M?VAP_raU:,L]ie+sJ3TfL<SD?NCu*+`D`h=+miOzzz!"MPYb`\,H.7Qm$;F[K38hs":Pba:2;NuM6MhK<!<CB8U<('Mb5:ZXtWecP4\dMR9Z#irKGK6PFZ5"etAt58\@;CcM^\Xu4aHt"BK5@?L>\M[1`t]5%L0G@ONCH($PFQqjgF$["c$WO_,7<#%jlOfLU,f:.f%)b15,1WRL+_1@DSl,=HZnpok@n2_oRhr`CYTXS\2N`>HXpI6Whm/3dqI+58#;=@(UfO^2T\c,TSu,9!,+$u'3O`\SV`Zg^EtdracI`AV;n"Jq)==og'F(G?Zdd^g]%7lTG++uOJ:DTHB=.$+mpnSfjc-SZc=&npS9HS?eoX2Q1?6#hc5#:ki6m!T$P\3BoWmKZoQ@>H=SX)c^MAC5AlJ*_=S4QlJJF"ipa7=MsdFIf;a0'X^2f!g4N?PcDsa3<N8`X;6!VC8uU7>1L>)qg%>ZTY"ZsCj>q$uq(ea*V6+Jg2(;",0:J2mRYI,sL5MO`d6ej_N]&(=N+3G<`\j`hX_UcGW1";2_V2!Ri1tr3>$+uL1e_[%`hF\]etOBme4g4)LkpkW#^h9g4eMcTzz!!!!#,;UMf2(;!d8lA-T.7u?@V("!nV("p=Lq$.!N<kEA[NZ.dMQ45q=8T7E;He7aV3Q'9.4o/%QUtb'M(,_j2?f3rP*lO.8lf21e_8$_jOF[I.C1@r*mR@&2'hRQZqBJp.f#9^CK9&5F3^_ECA,'CNO=hGdHmQb[Z6i][_?ZthCW"".@e,6Ym8O#Ju[TFG076RX4l*'[ar$.;.>SZ+m^k!-amlTSfpB:J,fQLzzzzzz!!!!$,N8Y&lCL0=!-ce>R'7hgaa_h.62pr.0$j8hQtBfW+l`M%iR@e.a8aMn%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzz!!!"EHeS,"n\q2B?am.D4UTZFBbN"^qQuId!%o9U'7>!5%@>8#.J9-5@?bV5cRgP:)O*WMX>u'>S6LJK(h4'&^8Ch3SZopDG[1!FM/)N;W0Y!^>mt1&c;[21P.@`BcOesbFiAE"3d]G\B#PHu_WSIO>.oZfQT<6_X[R9o6CI\ceIBp,*62.%Fb5fO[NH754EYBunZAj$d:,Go't7#))_.u?Qi@%c:jG:s,VOsDagTk=@'#%'MjGZm"U5[6<_[tbAC^?$RVF=;W/ahWdZDD>Rt7WU`8`=ehXt*)auluA19Us]>SN(K00(SLY&m;PC"3e8W4Y:\T#)hX!tsL%k:5c<h+#]jzzzzzzzzzz!!=QVgp;4_baE,*CDLBR>]t6qMNi;/CID@%4hR%XKi162\U%P!T!oq861>h2)4(XAQ5u%U28bhA3r]2r(m^^<\o.ii2_BigNVkNU)Qs:*]c/14eSUf`W+1(i$=,XK%:8g5qhL5VejQT>p<7^g,\$Hh)j)2loi'AI]7qZS[ao'1Q:=i[hW8V/lJ@/"J;#P?oG,J6U4"@kVr4+8W4)%obCI^c<PUZXj.%-;AbIgrGUEFjO,J?j[82MBAVftng<!S!!5_beA7GG&+\UIc%Gk2O&`6\spLT\F%7?k1n0=&P[RU8snWA^\\+2NfKJ>iFz!!!EpSb$]^VgMWhjdZ*D[7%I_(Y*6dXU1r]<S:VhW4(5"$SpgY20jjG,N29I'&?m42PVht/Fqs9B"g.5E&JPgNHj!g[X+\B\05aXC*cj;N[F!sbFQU^HY52EY687Vk:eVRf7e)ZmB*@:Q`mWJ-L$\-4[qos5-(6n@VKis\^"?Pp=(-\]!B<T!&NpUqjqFKgbtJ)Vbh'sLtSQXP]i@*om0UV&LF<tiED(505HJDO0H?&A`b#U]GGVHHnS:6]'/1Z?DsFcBjIT=j](3%=5)h\&M.F.CKcR7\0D45\-!.FGZNdYMa:%[(!Gt*O`\]%MqNK<[E?1B%8.UqL*[_bQ%/i7zz!!!!i=1c4:P;QF,P>f%9a_M7DWGq,]o^_%JRtbslaJE!<ko9nJX!Z^FC=0EK5YB@;<o[CnY1;8m;rirE>!&1HNm'T=2mS:/(VDQVa]g!<bZ<C(/r:rVVO"M\1^;<0_\Q<^J(\_]>.D`FA!osG*q\:oeNH(>G1dceZ^"^_>1_GFaH7ZFi^B]ni^SJpVo=]$";ksa)B:/%fgL(Hi^[]3Bo(/H[Zi\'OX2DI&TA;U$0Rn_H0VE-I'lkcc[4NKk<865F.DDGQT<>k="<H7<E1Mp=_41-B:`0r4H<K'c;dq+c;dq+b.:Tu<E3%*'jFJ,HB5iA!!!4rlW[B_rfV6]qoSj<W`3p6K]LLbKs(9/B32VX`u0#&lk5/m[r&"t9UVs>-(23X)(jp;DloS955!5qInO`Na,:>REFuju;b)/3[mY%V#Ci[O=Q3)rD^(pa2)`HKj^mD>pq@-)4u@Hu4d+C?RQK:_k`)Y3djcjm:;V"HZGn=fbG+1003aUQG[5H+Fk`AJX%og!WtX8IA^m`F.1;=p;p%9*2]Zl4W@`rn8<T,]OV)a;\Sc2d%c%q4_f=&D9ln^taC0p^@q1NWUKZ1H`(__m<Gb`9<E1XEm(4Yu>IoRQ\uAg9gJ&>kMDh;j@i1LhWVqXC4=[pD8t?OScaWrTzz!!!!#BKaj+-nLp1a4-\TUa>AOA6!lak)VZc1jdODVE@IND<>+qU.r7483n,1,=Iu_,oe@Be=CpQ^U-e\gR;B@_:AHg=a<=4^/cn(8OjtRKbZGQHD[j:b]NQj6H[8<F1!oI/fVE5bD\;ZXi(sZJ#e^4VOj4?qD;1"P11lX=V\*uHPEd]RAeA&1G^gC1Gd`sB>S7nq+T"2g*.^b,%rK\&J5Te1a0XU5Q_kc>eO]VHtd`bCkFjC>;huRPk#B]I<M_hGki7X!g;!U^9^nCc;GKf"o2,5<l?:R=dEE&4@P[J_W8NM>*lt\("2VL<o,)q9et$EVm2*p,/*=--P\4RU+T#j0V.fq0cel"Xp@#]SQq[a<O[l*'24S1WPKQk[E`.#Lmh<UBm6LlnTsIr/DU&1q0usB\Kd33;;-;5e#dD#,2>m.fqf>T&g>_60BK-gNVNp$jnuS%A$E[Hjd$q0*"?ssHoE/D>%UtiWecg;e2\2W<(U^1UiL-C.)mJVDedcS0/)fHc'LCjmD?=W5L[L(A<B_$o1\I3jNk0e4a7Xo[2R!1e1d9BVJ#r0zzz!)3^0Ma[f5mWeSlag?`7Ni\,;V]AXtZ:^1'h_`BpeQR6R:hZ&1g%#bF>=d-cUe+&`=EKS:G2M"$k&&@$:uLX3DCiG.rr?CV(<9<MaI48B-C2tWe^N2_3i_CH=K)dRVTrbjGAN[gL8sUY'sW7hOfP@NRHaQ)<*^-d-BD/h>4*379/!6g7VYegWCCKp1YQGQHVDZ`!%F=nHUL7i6qmi(U*:d*-&@<VGlRgEzzzzzzz%$-2D!31;<rSKp?@_e);-3!sD\Hi-7/A".&7U_^Ar.g41!/FAH[ibXtZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzz!!!&A&ZEf#,;gmjLl:4J1Y>*&nM:>J6rd76GZ@.#<F#l20A`h5Em+3(g3Uc(@XApOqRNWtX2',.2>)DsS6JXDgT@F%0&*`T,rX'U[jH;>n!'-j:q7U'2Ki=1E6"EW_M=&.moVg&7.flFkbLUGEh_f878d7NHYDBta.Zia(/_C"9Wf&?=dU%hQ]$^$ir9!S)j@_-V0Z?\UAGh.'#f'+OmuSJ>kB2d:XWPLzzzzzzzzzzz(.%[BjlmN8CQu&g8l<1^5Hd>cD2+Q]eMTV)\TkN\N$Q_fe`'gJdWijC'"Q'_!8Ko9^\0+,ik'2Z$d<?F33BkC?V+(mS28T5>n`e/!6NSZ`;HSAHA-P0R=sUo`0b$Q;oFLGp`3'aVe0+Z*?1@9\gOP..Rp#'2kmg<>Q=a(!!%KT;PM!c.Wjo0iB`)77+nnX\qol"_hcb%8s_"$%5"h'1C^=$/Oi<(;J(:Z4g;g]9[M6e6Kot1HW\9F(!_0]W7JAY9e,<d;%XI6WhL[5N]AGL3+7fmRI3PPX\2p^3G`J7M5=4pW/-;IX'nkdGc%enC9&h5a0d6bD[PN]F!+SI2Rpm^C6H?rWjhXf15rZT<@7N$#[)/B^a/Cqa'RMIHRJ1W%S:'#g[D^sY$t`-Z1X.(X%shCNereh,I`XfVMQX"d]JNk/UqEGSrYDk^[7Ah/R2q5Z*('LL$pSOALeed7r>O]BRI8X[B-Yq`3(?szzz!!ZK@3+hp7##DXH7QuEEmMhm713-Vl^7doj0O2"liiG2(5HE4GY_c.<YD$0e#pWX%PJT*p0Q?/U@,(,i@[`n_F\tYI'eJCi/$q_J8aW@>p,/hbRU#.sf.(7>f,3;Q$OpF0VZ-XgM*XhYCenUef0jUJSX7F`)V"\nXc5bK\h4*$p.h/5<NV+Z38@+p]bcYlW:N`m;7Wh98OD`E2-icQ!1?Za8l$C<dn;6g[Sa:=Uk`9(d*.G;RlK:$a#KN'C[0g27Z+5e4:S\BVhl4A31H\nF-Y'qCunQbn^]P2ZNh1NGcq".g<,1oX@9OY`7oXo1&?i=HTWp$\a-*7AhefQO8o7\#Ecd)]2KPLG;_e%C@'<L)a]`8[9]ds_G!=UP1\4m&b4r-R/2ogG#Pee52m-:g7fS\(W/2o1W249'uP,GWP<63CbWl#g$\4,n261u?MCUW0s5Q\6^5+K9@FO2(N%!/;CqRM>cA]::<T!0X6j*?[EimWCJe)V$=rGR;g2iSEtrI9g`4!kL<2'+@+qW&f,E/G,/3'p5pVT`CT:0.c:mtjL$;>_B?3[XT#%rRPF!=]?lQ]`?$odn-Wr<D9pRi;WQdhXrD\cBGISOX@qp@'3EG*ZUFgAbXhkcsG(Y]!F2'_84e8tO\J'qj<>aV%'7Hnn4"@8Aau:3DJ,fQLzz!!"q/7Trg&2//HBQ95hG9sU_4=0CW-WKrLj5dd)C86fi2W4<SFfA&s:JC3aJ3N:IPD3m.o]qFu&kfCsK=c"VQP@?#%1cKh<Y*nQT[\K@_4lQVBjNdE1X@;/?do>KGB\h??KIUoNOg8=M>88+b^SRK!e5]6bob)H=]@95`0,`"e;/'3WjbIX+elA>6Ma=bQ>!shT!fmWjM"LOT4d<8jK^9mA*&8a;N[nl#F\5hre>"hcpO;"d^*gXu>Xa.o5-"I^Sb#W-f%3)UXfb[s'<p&bL:%VlLkpjd%I8=H2s'40I,=O6T(K%Jd`WlF?MCS%^QCS`M4q%>C1p!u#i\X1!'^rQdk/*$m^0k?[c>]JqhSg<(hF%okMLR&95QH-Bf.J71.kG6ApXf4R)d;A7iNH4*2n\C79+B.fSG?P<E4,b-C%jB&KKnJ=OhKC;%XBl<E7D%Lmh=DF<W&s>m3p8jSI>L;jf2<Wue#"i>cQ.QQ"]@<jXT.>g8b"l?CILaN0p.BdH9G,t)A#:,BNjOKpCZfah_]ADRjm`JH#_ko0>RY+F-3FX9*$pupGFLKe;S.\=de)5XSq<n-haagU<6**__*Vb`nnP\jQ?iMVBGF"*QkLO4<s4d;6k8k.>U6qedqzzz!!!!<Bqm71>^Ed$FNYR/b,3j6?`R7KA^\FRPlfK(JjSM:EF`o9]jGb,('A3Yr52I17b^ShUGdbMbG-:9"_K'[i_>5D37-LRb.jjR<n`RS-D'f1.S2G06q/AqUhQiMM_o><WPTB/gtZ$cRB;@,"^f^'WG3rG2#!r4\!;A07\]FCdcD7(V/=jc[Cp,(e;1IN<n4"_Thm0,O@YF.VEeg_NllT+c8]?([iAH!]'>NfRAiYgfBW=LDgY?/?FYmm!3^fNpKK`ASl`%sI#hK:^QCSeC1qB[)Uq/C6D/7$f($L.3rA(6X*"*4<3DNi*Q%Q]D,pLjfP2af[1TC3&G/>H4obQ_zzzzzzz!!"c<+9&8"htMO(q25;@m$IZGj<+<*m/I'.)2;`NnfBI`*C&iEJ,ds(%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzz!!*a^oNc6X"gHO2n]b1)bZQEWiDaP'T/=a3eg06q1n([/dYVs])j(GI4[4Ucb<2kXfOW+(Ebo*h\"r@agqq%;4DY+A:7^d5:=d"]Q8u3P\fCn]`I.W>4,F`;=V2r<bdfV&meoghLhU_C(Mq43CQl0+WGRNOe"L6)Cim@G4,Y/Ej4RI?rD3!PR@0J2n<o]9dk`fT9O1M.TE"rlzzzzzzzzzz!!!$O53?&?o\E\OBW6?8)X,*UHs$ms[M-s6l?;i8.S2l%Pa+[7Qf]JH#!_ejG"5\tQ[Rkp[V@>hQ-EZ5-'!5@rT$9oD2C['N2iVR<a..5mnVqN;']t_]Dg)-.Oec,O8o7\!!3?fm@)Wf>ZocW`YDr4N:pC\CTc.I)(l(Uj>SP(3K3hbg6jf&e;4ogL.6nX362%!1%^a$Cb<!&mB]`(L,5P'!(dih/r3ii%sf_5p$QSl=Oe.Nf'pG814';WB-tc(2>^X_Au6lNrr>b3YO:VERN1CrY,bN._fW<t<SV:%JVmO%>-U<-zzz!'dM85:,H%7:GFYUqG3%dA&P-j@PI1M.qe9fkco5cb/Pb-q[%[V&9kaO2R2M%!#'!X^itt\^#5i26CUsk;cU1+sJM:Y(T3N:WqW89RO.ZXbj!VY#V_=&M7!_>mQ7T<EF_ZD0re"?H/<dH//.Z4d4.$-59%<CTa?@5A*el8<llQTtBm+2^9`mqO3LWb>$XBRZSTpFBQ#[d'Dh(1]>RRlCI/$k`O)c6rcXTRnI:oH?N0>=\anA@C=f0/!-c*TsKVMcG\VPY)7r/QZkU;JJ1@L9;ShlEct<.N$uE[4'eOj>9nSaE]ejP!!%%-C,/?rdkfWFrr<]9<('_m"2_&^.^&kST6b[h':Wo?i/DGQjfpF"WuA,jX9Zu/?h`Ub3lB8i`lsW!gU19DYnQ)67(uPbEKX!DY'4?GSQ@GJlZ4iud.),#m0DbuH?Re;:U.uuMl!fr.:_K5b_q;nKio"(_e'=F>T7a]3lH-1>ZZ/=q3F$&C0F\@W0T*ARWPg_G$<0BH5DU"&Ai[Tci=%Gzz!!!,NfbRT8OtR2\_Qp-RCY*.P=,B;;dUFKOoZ?\@`'GhZiFY.W,rkLrfS3NqQD5_$b]&r1&R;h8i4\YE,-PQ0a$Ts+RTFGcN([7L>cV@:eC*N\>)92WEHg73G%&Rgn\9"B[_[)a7-Q"[b@3?29g@@4^sl(2EhXnG/n:[d0A?7u_j#Om7l]$<Sp)DaaL>Aj&m`'9kMrBO>\RpsFVIG75NunL*s*9FXNQiN_`kfFopkd%GiSYu='grBk).f).@#!Rd\E(2MOY&2X80lmS1e1u0+j.2Vp*i<]?`>(I:aY(7n7a.f]aMYd0p;l&UPPh:M22i/m^#NX_G.p9,c"S!!k[\Zg1l_l86a;@g]s`m("5ok$G2hUhkA5[O3n,`j(qWQ#W4mgsME_e-ft>RX1.EnAnZHaEAKTfD#7&#'AlT$Z8!c<A(dlDMdWq[Q:ZjG[dRk.q%=+cAMW%r(4nsRk!LFn!_==58)CKFONBNJiBQ`VJ=bk.Z;1a.r/V\3a5ni!0&S5.1m/./cmX,,5;Ft[[%s7zzz!!%>7*m(uK7H&)c2GGAiHL/8DnE=s$6q$EgAO:0cL<3%POMl<>`c:0CYmdpl/Oi<'R,KbH,.VZP_0b0h7:+,@Ne.L14KdUP(m_=b'lpF9@oH$jX_Ud6:u^rUlKlET7HK#+<Gd?QUkR7?,IeZ3V5sQp]FAUiF-R=L<D/_D"&&@%PORZU*`:3?9'Dhf<q8-#gI-g7HaWP[R4Du`P'&TR1(WZWp5f+[,E??X3oQ]<D#2G(k<*ee^D5@qiOP\k)@C%[;P'-i[7*h#r@7eeG:*dMMMoD_&Lm<0F"[(/9OCqYCD"tMXL:/\'m)eE/rP&snkWmK].RD>G-,JcK1_TVzzzzzzzz!!=J)rrD>U4oYM+d!qFe,VI2geF#X&!6["@pJI;i@XfQ\rrD$,riO6@e$KU3ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzz!!!7h^1t,G%aMU7ejZa"f'n5]QMn('4&^u)O'So/HqJK0Q"fYD(7tTf.4Tbb.u[/u>XC=<8GTnW7<76drR!ugn!1Mf$"n!P<2=E"d)0_+4cqH6c[Q_[@o4dYWc=:CC7Lj<96SnCf6&D2H*%h/,csY97QNtq4*u0/NC@oZAZ3Q*j!n9-d]^2/h956sb?*NKP&JMnMd*f3$FG](At\QYZkARJj!:lB,:?Jh@ah=(:l+Y/8b![,ZlqO7/o(a[CU060_`'1[_`3ONRc9ukYscO(Wo-Vg3IBJ"Ulig'OmAk4F.Bg@ZMZ_i2UD.nik"X@`I,o>dn(0B)cDuN"Q=Eg^%Td!X`N:/>iesk.X6s&)W1.#5j\p)k:r+f_m>+l._1O>XQI!ia_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6C'$PYDeLh$!ah"cY-*5Rt-q\>4Y,X>47F+8to#j[#/u^V`T0:=i.sYhp3@VC@25l=r[)d'2^Y1muZT@Z7jMDc!Sm1bYGa-X^>'ZpK/Q@^nZ&'s),-&(14k:gZL1u;sY:MEQFE_%2`K82g4Vs"ZNKP/b@To_Mb1<AGM5J9CQGg5L<(?=7QiI*dzz!!!/0H^Q8meFdHXXehUO>?_YEnt\<\g.]+]WS@&IL._IGg9mqQLqbre&7b_?@+V2RGo:h^cB?;MDsCB24]I;!j`gY:MMpd495I5_;rq:"'#)J&YBkAdHDqipOl,kHBgGAqA:OX[!,/gT21nQM?6X],-2<YomI\Wf4u/inBQW6*6Y,"BoVk;91HI\)Q]e/-Mi/osRVRU(iMK66_2sqMkDnT#Y)YtZ9=<!0n<kk'1KA:POuIaT7>cu%VDs_/E2+"hAjp8W:2==Y5ubn6$.,_`XcYG[O]L%3Z$l1Y(>j*M3SZ`$C%G?)eEaM7Q#a?1QWC3=B?R=*lEplPP<,O<T).PCSMER0V]V*P6`O>>UGFbE^A8`d40ja(mCT?-K(#UoZ,IXo)T^rK;647GRLuZ:+sJB9+`8"$[+$q>e5T7".QCpR,@aR_XCG*Gf!Q/X,>f$b'<lidl94&*zzz'<U\fd6V#[.!ho9'QRI\M(SG*h$0\tN7D[V%DudY5^eDd`H%Mfa?l;lm3<uk-#XS%#W5YKh"sNhl(k9"//_f+ku/KPlSNM.'J<$_6Ah9G:=VkaG$><^2:F(<Y^^E3k#r+;ZF^Or=^<fqD[BOW@u8<CBi.f[nthA8cXRT_3+Q5E:hF<OAp[5H9[DZRr8oJRYJ(GP^]<p*!!!$3?M*&hSe885_-#Ena^qQ386>YFW<,R*?9b[Z#[8rEQPr%M>E8#^Nm'iD:.L/`5$J_u'Q_#uXe!-M@Q*@T0;7E6>GcN2&\Yl[F__^,)e/#Q'[("JiG7Q77AUVb8R8Y<9`4UuRuQqQ/\"^HS+B<oG-t=D>>ZqW%Yb.lcg3\f.l<t`$G)?3&J9Bn>6nL1l-`_<$-3)Hzz!!!!Y1En&"4bQ82ci+%QMQ2K&-_;=^Sc.)B..TT81T4!682bLK6)5)qPa[4/R8tVh;J?Uf98khu\<eMu_551qOZ=>OBPZ\.f9.ShD69O]Ic'^-?4X7"@(WFgol@<a>2%WZ;i6I$*D];9[D(3`\BiT^NCqXQLH3(mh[dL^Ej"1PGKp,\m9\ADWJbC('g7d<l_,lVq/(;>@hb;]!=4be!!\hVO&kmI,[pLM,AW'!-/G1tTjmn9o1P]ZXV2Xagf5cWGis#!mCJYA1Y>JcVO/U^l'Y(:S$FO7cWkf#d.YQs&#&"-Ggn(#/3Ih$#i3>Sl4k%mm'2BB<@h^>\2%,8CNEi!7<Y[p4?6'RQF:>O`K&acZ$8@sb)4dD>1@otW`r56K"kO$la<4Rjf2"VgfFq[D/-U`W&eikWRY`=(Fj7S/us\$^AEY[r.XVU_BL.QG?rgE>aK$ZF'S?7dp5q7Z7'0k=NKN^W7E]&fLE7\5;*B./`MA6MX$n1].VfL6[."tf].sj@p$_p26B:>&J5T>#Msl:zzz!#ul=&Xi,#&Xf9R,5=G:eO3.D=l8%8U4^AWHTHf$FG"?WA/[dad?KNAE_NMH`2L,2&M7iZ>^3^ui51Z;]1AHQ!79-[;m.IGZYch=P9/WPAR5nNj'^'1J+[j%maehT26g>BRN50rlWW-\aYt+6;3@h]HVilacKjHa#7]5<L+`:Oe4@RGC8tCEED]Zf6Vb(aFrr<=dYqq)&0N,/zzzzzzzz!!!!-O,*`8Wd+::ha.6N^lZ/Srr?!.#QFcT]0G+@@@;uMLPu04LJRcU+90it%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzz!!!o`miKaIhA=V+87J[]=Z6ggU"&UtR6l7aEQY+IieXP`8a;8K2^qP3B^WD[jdC*[_J'r\:*`DjOtu%kbWP=11/PCF\uo5(mg?Uge4AVNr+Od':'])p2DukiX&\T9N,cK'GenTa1<hp@qGt/6(L6=.W0Jr&@j6&sD7t_L+sS"_Vi/T%#,tAIQP>7j0bJC&49`'E?a?f6W`uLf>>@HQzzz"dV<pQqgqdM(e5Q=GXKXnuZXY]ka+Y1p(qTPjGd"W&;Rd))5.%B"Ze7E%IZEn<Ume+8ZJj=>.=0L%=5TFEA<F4/]'_F<spj2-S!!!9G4_)!1EPnu&Kh(>.9b/(YPA3%g@nF>m/OQ>8Ps'aU=1YN9:HCAq!*rM7mLn0,jQ!#Y/UjZ>7)j.!A(A."Gt/R(E)m7)GZ1`X'0m3\h)C0N2FrG&N=S?teFd=7#)$Z<nGN3^Y:K!>MhildAdiG)-dIFl]*Yr(uQS1g0sp9@$(=X83"X]mW^,4kS6$ssjt&D^Gti2?%QX^nBM-ad].^.52M(uo?]hS"S<<Da*1C/[rQSu4@2bE_NT%>QENrCYkSgNd^&[&ll:3)j[6S]9;OLlAFdqh13(M,$%qMe`#K$=sEB@JlY2QUV7ubssN)n`hK$7"&'.d6$^cITJ"$`nJ,o2R50ddc.Rm!*o>8K^S1YF/Kn\-Q6]!&KO"%7.6=(o!rj"2";EB@VA+2%@h&rzzz!$BURTspG0`Yt#pDRAGdSi96/-uE[%j1K1fbN-k2/h4Ah6MRF)'M#CJi^UKKaMpd54^+eE9.anY=H6$O;UjYu;,YolMOG(!d9O`"Y?&22;&(Xi/P["f'eN/p[1t:P73t!Oms`dr[7-nGQM%;2BXAZe2AI9k8>fR4LsRT8\o`,T_1N2M?)3dRN?+gk-1LD@4f>[*._Kp4ac#0JY._#Cmh/T+F]1J,V38875"R#?\aOU*QV3k1<F>aD@'/*0/?]u7]>hSW^?2Vj7nFteWa`O-HE3S!06kpFX)J"<9a>=FB3.<>@@mV%?#C`#h=Zmp&&]IU+!j*fcSD-OGL&:1:cHV`kO+9bi)OQp_=r@g:W)]-4,:pIkF#-8]B>^)W#OlAF8&-An1(isi;:6o-fOiQS\sN`F3LQW?1Z?Oe.)"1\bi-1p_?uuE.-VH'CboccJe=k\`Qig0)=Zbl4-JE262lq5M5aAp2KNS25;i&bPb_`62,cf9)enjINdlnq']O017_9@p<2Wha/C41+CDTi;8$j`LOE2K=0C;lXX:AZWl[Jl,$^CP2ToWY8C4(dPd;BpCi+nG8eOOVOI4[)$s\$1%c$hX%8\gGih1k-6Q:7gf(N*g>k]hRHe5]Qgug;T;G#X[("J$kCUXi0FH(n:Uku@p`qC=AQ!VY([^j[h/on"Z8tJ.dk:Q`7zz!!!!"/Df]`'Gc#/e!`$T+\uP5CKG36eG63a7*$2"5#,'L:D%0WQZ$*.2WRhep,qTI)#2%I8MFps%AJ7fiK_UA-!eL1f=VLK*l[NFBV0'G/ZJ)LT=0aib?N#R6DSA$;e`o,q2KBs%E#Ss@dD/Oj1VMJ;U[\X\k@IQZKYn*QDYWq(,jo@R@0YqrrD[8+tq/.7BhT(^&n4aQ&<RLYq/7m4FdZmaVbl@`0M^uP&K'\<*Mi<Uq^!4cZ<O*aYg=8iBh)!N`AiP/SL1[Pl.GOFX\tsA9^TNhq76.>e!-0:p!1`?TV_RM8<rkF5FX^3808c*kE90\]_d03-u1mfWP.a0]g8GZX21FUiEe%/RB5RIB+47=1ueNX[Q-TR]"YpiMq:A?cj0V]*\q\p7!\djc.oYKqSt-%[TYGn0)i(asm.i&J<*Ml\j[s'e/JqP.=##jJE!in7Bb%P,5paX/N>E<E20q^.Rh92(V3bcY4%rhA]I4+"QpEkfWfJ6\]L%+$+T<'3ShCW,a7,7J.Un)]O4$D/+%DX0,rKRg]8szzz!1%PGcAI"_?Y,Z]2'\F)f[d4Wm.thd9]BS%l5;N1/L-H^EFiA*l)D3N+,(39D+?abVb&RXD%34f(u^b'ga-=Ha4Is3h]u\)e22*OY*RT21XFfG#A($tbFqe!`D*6$R;b%(o/@00fo*$^=-!!XD+dRg>3RX4ZHK),G$:DM1iZ`:VG-^QrrD[8,6%Xo&JkH[&>`j@OY"ju#ESoczzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIlZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzz!!"*r*,V"sH08@>Q<S@lhgNF"_[No)ET`p=_b4i%b@rgcC,/CZ7V61!5>>YKHR"N-ko?XXLl/44X(!7sBiS0[Lmh=c+ls<]<jdog4]N(+'%Kuf#`+>6<EDL2BiWN6Ecj8.I`em8ouBGKHe*7_^>*\kFSb+8Cpe4U]BW4!H+KQi&a,u\.!/U1rrAAhU*DP9D(d=4cLFhM=ZN]m$)t^a:$%k,h@#;-e%\'`.M`4d`q2][S]He7)J6IeREE)^jc'nm>.,03gEba8N$ii$Ah.X5'3$?,FAY`:2?l/R=UU?(Gg\H+aQ;?+WtRj;>Q_\N=l4O8*mUJNLtXqDD"mELkF]@eB:GZ,pVF$sG5b%i#H[C-0oosDq8>2tg$dj#cTcTSDN0k;#/'cdq'18.ZbH(O4e4t'&DSLC^O]`SrS"Nf2G\]=oB1&QNUV8>qpQDUFUt!0E/gIg"aoq9C<#Jj4n*75S\L=H_<X2O9Olc*5&h%K2LG36o?Z6n)l$s<_66%Gr^boOXREhWO(V;b`&@tTn).9n5Ba,GNK`6(]_U=X,CCQ=^@]E.SO;QOg`pIHJR:P<g9J4I:OF)PkATF@n9WCWdhqe$&"H"+NLp+QI.R)I`ou)=n8$@@^QLOllT=Q/A(f?qE=KcCHh\?IceYW@ULa,8Y<I./8DaZRn%CH:B2JEB2[J+*i)e5hG-#S@PMZSWq:k]iHlfW.oYs%b6g#$9,A4cB?Te;@Z+;hhHlDV>DrdNY:OGpCA&rBIjPm0++^8"\:-D6d4C=@(EXcb/UlkXu30PD_p&s(J=J$R1?ZAW9U!9aJ;t?YH(H$^-eNIs>LQiE+b[W;,3IS25WiCPX3]B"L740HK3l%5d4C)o32;:SPTlsQt*.);X@Zr!(RsM%"b%b[1WcVa<CRGa(B8i1P3k%hKUl:V8XGEoqC$^PNa=M%J>dn;BqYQ<CUif'5.pCWd7S'eu3I$iEeh)d$)NEc$W[gqM[_dFab#i\B'@:$,=0npp]%V@&$HS$dYo<TdR3rci]#CpXoLAA6e5Sk*[s<XB1nXgK!!f+-DS'r-[I,!bn#JmN>1Tf"F`u]E9j&Yt5*o#U:W\$7Q,W8l`GN!L>HTD'8K*g]I'(A-hUn:n]!1S>6Md2:\opFD9M8Xd,[N!)St^C5X.cXaEiL<5T68b.hA>#26$$<gY+G9cRB]1"G[C-HLnBek.]]8F79.]l;d3D9WOXm!R-L$^n#b'?\i81g=O,HFc)@:=XhJR=M(KlCAF%e/;GsF&>>3g/Zpno>NLbX/I*"IF,;T7V%9%J]E=GDRCVlpIqKeE$/S_G[o)^RlKraT<?E(qkMgrk(Y.O8*#ZFuinKbh\Z<GAt5>+&6MMSo.l6Pa@:JhkLS7ah2Z+S>_zzz#1[DU96WS$ZQ1C.V&Yq@WD)A'\K^?RXtt7WUs,&I7j>@-,-'a9A8u>N*n+?9248K%3+\nlpH!2.NPH:]VRq[Bq)931$>!L#'h[4bC*oPD$@[#>Fr6%b?9?etX)iVDY2$%o'j('+2G;V*@\eQU`L:p<ZIDT3mQY>7PC]]E]Os.WRT`ag]jb1=m?MA5j3]H*:5r&YmJ9LSfYp%<9TFq5j.t#_33mB?<jcdCNZ+4Y2(6[ko=o4ef+VLm[N`J%>uQ/Q<'GThG73Mpb3(kW-*(K!BPUH`RLomS]e<$qqn2A*k4Ycrf;2HlQ<>#Xni^i1r^=4^-NYJ9-A4M^ifA`m3&N!2;V&35KI'8qN\)ikg(6`M\DrK&6Z&MBAu-B-&JijR*`3ZpNGDO!X(!8!WiE];Lmh=FJIs`=NB.X`<I5"?<EHD\M5=4!#b32<IHGk+<hsaj@s\9UV_Fu'WQJ\B+tJO!fCe":\IP<X40rC'Ur#nK2(9o[\J'!R_YFg^qd[=1djX^Kip9N1M3tcj/Q]@%gJLkNNb'\dP.sDM.\>CO(Bd@2Bfe66dUh8V>Xs:lfo5AJg9*pmRTaj=bbn66ma1d]h/QT5b>p8!cQpj;zzzzzzzzz!!^JX>>;SUW\Xe`(g?"e)LDD`me<j0aW$@Z.m=os-E1'kb`0$TFIX[$11j$#>DQ&VGfidWcHP.TE`3!FGg?,j8u2C8,sA[tWi=(QmNh.o'#f7E:LOoA]KB/!GFCOOFQIr`Y/If7O/Pk!e&-$_StX6<8COl(:LtcaUhJlKYnlMIiuVA@R`2])]nK$qM.kT7R.P\V4hZ_U1<CH+QSIl\WHB\LQ**NQeaf;[`N9%Nf=MgX]DET->O*)7HKD*?CZffG4a8Pb#-g=mEO?C@Yr"1pCK#b]N'i*OfW+h]nJ1q#ZX21FXHG_k/RAXh4f]FS(riG-[1Npa1"1mX!>aS:?h#or+tq)NB<[2J^(W[3"2_1/9!Wfk26Z-4rB)rt.d$FE`jKGOD*eo6oh:!c`8r19XI@L`=a'JPC2u0jiBsaeZ:em`XtA2j@C*G<$o"*#MeG)[rqM%(N-]Zs1iBSCMT+#skKtRRQFD\XfWBS1GI&nqXp)?7GiC2G0n&-rEEM;hWG.o5RiS*O=`ciFasRrf**6>XJoQsLzzz!!!#Or@;Tfn'sm8T]6DiQ%Mh=rS$qU3>6Q^UM*&<[++C0D>sSfF'[gi&=G=!ITqV(!dMj_Us@3@\8k@G??jWgilbApR\Zgha&Q,"(VRbXP[[auRHa&^CR9g6MluYA0s7%M_DTu3o!.iog/Gn+Nh1G=nKUh,WU-F)[:2.@Cdknc36-2s-*_<7DdcOIU09I'-9WE0!PO@t,/G1iR5OAbWHC7dV634aeahRYlILFjleRJ=?2]e'/bP%,4`dWAgA0PUY?hT<JW*B?*,S)SCeY=J>1DIZit,Sl[OT#[4@O_LXS9,-X!Ea4$Whn]:MRm-`\FHdX[GP1N-+$ozzzzzzzz!!!!$,N8Y&lCL0=!-ce>R'7hgaa_h.62pr.0$j8hQtBfW+l`M%iR@e.a8a_t%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzz!"aMGB\'Zh2N'@a=N7L7].RiF9?X`A%i6a6>4^KAdB&(/D"b,9\YCT+cJ^'*:/Y:[)%,BV#/`MaI,MYOo;<I&>B/'5WHH)Md61,<a&XZC$rlZ&YkB/"/,1;`1t1,Z-GOrZ_jU:cP1uk&77mj@RO4H'@aqD2$ui>NMm2GC?2jna/Zos'&Ss'$/cm6l#_fa,ku,G"zzz!'AqEfsi\.NeM.MPaQ[KRc^WdU!RKB)`M?XWg+CJ)B;dVn.E1qbD`88,mbeoN06YA`a:[Lf8"7%cMkR/USbTci-a!Gos(dB)cb1(rr?LTKM<r)+sO%]*t@CYcs51FFmXM*1(1OZ-V5kL>8kL9'jTl"`(gH`X._ALF.F66Y+;Co&T$JQ],Gh?qi>"8$F:G&fW*f9G,(<k0jN_7:=EnHUU(.SN/6'/@WPrrb_KO7TQ>Rc4#8Ye`\(c\\QXhc6PHt=UkrC6prV0O=#okCSVP:g[8Em!4D+:s<+_.M]WiuUk$<e"%4#iMAMe/7:,6u7,F-]j3sts?[5O[l1K]/-!QbqPaG>f!b_V(b9[*8;LqbC,JuU"EY6!T^&J\;f's./8lU\<%bl4#MX]q'qCoWq/ajkVhEMM?V]fFoMgPn>DN=mX?Hcb"1$).3]h?,1i1UkV`p3BmlF2seQ^4sj)Gf++K'@XCeUQIC_.P@%3<1_.9b'Q3*\Iun?<lqbZ0'6bH,c.gDXbt7LgmVWJH>/XAFJQ;N_:`W_G%>V)VCY9+J,fQLzz!.%j-cae'*f5B77D'E87lFQ9MW)O*d,]Vm@WD@W(@AK=X6VSqBXiD,dL7:f$UElYZE;5%b!4hU,a*V8h6!h]<P(j4d4Khs-aOlfYqPq5`[4PH?;6<8e6o`r\pUb;NWpmakMRGfnd_tArOiq2kND!9$.eXGf8ueU0.]O:8dDhJhSL.e!?%l!4[4B+paB%k+f#qSs\?;_Iijd3F%4(17-r$f&^hj#Nr+T*,>be>?IP_!(3j4M5a7Zs6XWJ"g"gHhTb.8^m7F824%fJ0^Ed&n><+7KqN@F``F#rm:>[LK\<265"@^\<W(]OIL#eCbm_;Ag1hGs5b@Wnh?CPIp.GQ7^TV=.mE^QZi]<gb\->D[c7<4";,<iPPU8@33uK4Lj]AmT1U=K^KM<OP21--)m`B#6PW1t\D;]/tE*]qN_6@mb,P]B3))U3_!j<H511PstCCd_".T+&JQ).Z6'*=NR2*2iLn)M(($dkiH1(UO$UFTo5dj7H'+/BP1cF-+jiSX`4pb&J8h'i$'h)Mt7Lh^)\`@=O7$Jzzzzzzzzz#B=\:oujYS7^_WP>e8b1EE+/ZBQSJ.S'u+p>*Od$_M&l5rr<_9^>TZ@fL/skA41#hqptGPDEG/n^9<FHl)pIG?Sp3ECh.P*eT9U/obu=[oiH]$WUa@3Kb`-*=aAk(9S2`2M:+s?QH$1g7<>!"l67BkXUaSBLSTkl'%q79kN&\ElBU/"E_#-#;_*OCP\YT7,h'dqHIll]0cZ*\??k:fA4H"*cmI1$l$6pE5+_ObUl,LUEM:"Dh4of9]sR>hK>5p9,NS3rW5t*;AZJY\eXEnVYD]6id9b$W9?)jH("(!Xh(l[V*VOVDF1X#B(-?kK4.%8OVuQetLHg*n[JZ.j%r(2F<V\2:J'o)2\#VcDM^lZMC+XEhUta-BPnrDm,H44PKUe#t27pZ%R8BO1&o?n*mer2(Z%W]-#2OA#!2GD8g=B:o[dhlafi->1`HS_QIOd7NEZm&Y?-0:@\%=Eu&^jm<BI<`Z9cK;(WMsA(,t7N(e#nu&5$Ju&)"]<q6psF3^dLRY?^Qb%KubaDWiGQS<,qs=zzz"1YhBqW6I<UK[B1.V3Y\\>jMHZoU'-UOI>`X&49W@7#k"GZ="t\3s\cMhK<1N5m#dhR@@BG$Z!8o334mdn'r/RTHVMN]>aqHec?1;&+LZi(Y\KQ\FBeF\pXqGEl)L]BS<sP">8NXCDiIk;drY7(<0rTlHV5kpD1]N'@s/EA6Yq.dAFIbb9't8mM5KDim8b>I<WV3CR0'ZYq:KjgU-=`pA=%2g-O!2Nc<ib<9k3pVU$&Y_<l3)nMTo33_/l:Et*GrCWeIrK];Y'rm5#C)]4?>.6BZFLR\hj27+oB]u-q**DUW1Y]b'B!E?Db?MrHg9%uU,N5R$zzzzzzzzz!6FqbqPTC(h=MfO/-u]i?hHLBJ+CdhrR>EsR%MHE^\DpN!3:,>f<c$7ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzz!!$`!\@$0AdRG:EF#LOLnm0f=\fNK4jD8q8<lpLb2[r52.$f&TY1oq)6(Z$-n[0?qNSUES2K$UJa$"G7(H^@s=?_Lu2<.Nh*(Xr6@#`q^rh31kcH@,eQHL/DDre'#f&j\!MX5@I4?6'RP."oK`K&ad1#*fCAOUB]/T2P#4'a]*\1S-Mfj:c9(H#*%DW81+F)+du`Bht!D,.-/OL\;%a`RO_`9Zm%ApZEJ(BG*[&I\HHY.M:*].WuHkG"!*l(j#p_\3[&7iZA8Z&MOVX[GrbGZRIT2gsRPF\pKAQYe5r]BS<kEQ6M5XCDm_[1h%X6`1oTomd#Bzz!!"f!,;\7%/Z+#bLcBK(#V;J5SC'X_qg'lmEciAU^+T7kdu,W\g+HRZZYD(3?Fq:f`9iUk]-FA7(N.44VQ5]lE_MZngMuTnR&9PG-Lbl#\8m1:D^ef".Ve!L'ZfA/:t%L"SVP]@S.MEsF6uhpabVSVEmkItgN$07rjG;!M<Yqh+@T$BTNs5;3b5RK4YpOtW.og&!!!Unmk<7D1t@Q"ck\31%;+Cf9U-ZVjE6W^=S@ruj=7"knIb/L;37MW>"L5tj:dT:)+W>YO0S-!:<i]Ho:lrG/$eI&RBDqtQ8Z%J/:;Prm\<Jh<8#)0(,`@.[3UdX)*7-*`4s'*\n,+_G"U;I(YI6_Q8t2olEN00HTePITD:<Cl"aL]>E1:Q39&HJN]<je`uJ9B96%qLbtE%l1GpT)bfodJ]OnRRCKf;`0bG!0'#[14#`+>2&JIJTE$8sJCKcPFU*EMd6r!kQi'dKujEWk<zz!!!#CLlBZ1Lpi`N@NaXVS05.&\s#PfMX<kj*Kqo6c:G]!,Zt&,;.,8UP@IR[-2uP:QOAiej1Jm'Q,5rMC2'La$@UEh4)M[<8n2Z)9VoSUr+mU$:]@q-f<qZ\NGS&SWM.[:\J79OPM5CQ',>;$C/!dcdsAb^0\p$EEe[ro;DE8me?NiYBW:?lVdK9aCKF+teQJ4RoL&ZZ!&Y!b]!&U8PD<f-:OQ!7Ip<4&KoBk]e4Md8`hn"(Wm5"::*%#a[c1iA<rjlJ2@.EC-YE5.h]qSpoZ,IkIQmQ;(T$-9Ggs,c70U7I@dnU<Kgh"IluqqLEFVp`ADUA=k.WL#k%>_sL'o<0SNlY^DM[#Z*VO&5A80]`T"5c82f=PFiOuBdmGW4gVH9p9Suk&a?EDIlh3V$><*rmuEh6G'(ELJe'd^+55n['`Os1osDHiRp_m`(fE*RK>dp1CA1)OJ0=P2YnW7J?infhdJd]7,_WiE%:[q46:gp_D8d</>B$auKN`tWA`)TFK_CK(4hV0H!^Y*D$[ae*MPzzzzzzzzz"#;&V1Y>.5Aq'gtk:klAS05*"\mn/6B$k&PQRC3@QY"E;H+ZR6T#l#]mB'2ug66lt_hmD.=Lk3+9gIE#VJ5<oV8FH=>*7R+BU$FOKgn^CgA>bK3Dj]dR(=ZE@bTNo\N"&rFcMrqq9^(r'(N$;C96Pjk-f*2_c:m91t!T"aOSZpc!+)6'f]]WCim@G8r1auf%InT^-]U8!&\+c>,/M_SVJ]j#-(O8='\=^U19*YkBO.7[qj2:Ci[drq,G`)XdMe[3a;u&,hX7flXY@K+S&k7cQ%F%KrB7cglY_sI7biDH=V/V@dnU+=7^AgG[@E3:+I<`Za,cGmjuu-oU()oN?-UkP#]eaU)4JafXr6u7I;9pFK4Hi=Q5bcXljcd>Irk/mn16mp"+B;k#X)+H&FOE2PE.KERbYNKp_6T@r/N(-J;r:63ra;,4#nsE:qJ/mMho0iT^VFgiP5*(a<F&A8FmPnuJ*MT&mB+EiY_1WiB;=bB$sVHKi&E/"2T^>uZoo.&1\_=OaT?[9&(->qU/uPuUg[0KGnlzzz!!!n!(=V1ciA3]KLcBK!/:$ZNd6ZHm=IQ&-oSu]5\R7PV,GJ-Sf_)jl:2&@FHbR\"`b)Dq7oGe,[3VV`k,1cDaA3SIG37L)0a6T$946KNDE9dTDb6>`'@a:(D&OmC`D5Ja9r>tVLrK<*gKj\VB.r_Bfs8X-<SMWE8;gh"=%'C&D/D$XE5r=<l#bSBCiB;1[W$q=OK\]bzzzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIgZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!!!!"ij(a9ZnX.jFC^='XORs2Zft@;opUN&'XD;5,dRso4%W?8FX\h/GcW:S4Sst,Hm9iP3)]ar30r^D3+@Tl2sl"[MC'\SX2=&'[>m/>^.5>\Z*&-:*6'&005OX:h3`BFV-1!:\PbE@S//:9SA*O4D6J;Q6X#AD0f;n/424c5K"[B9K6@\aHYF6iYKIlI/K6kucE<R+B8;<(f6KeL2=_qO'&?a$'?*Rj#iqRRgc6a4DTiu>EFc+GcILFtA#cQ!LltBDP[[aRKq?^>[5`ER[h"bWF*-Mm&Y[*DD3(Vkc;`&"Nh2rcS9Yq#C0AN8^=G3M3,M[I&[or?zzz!!+J(m/7[&;OJNq-2gJ@QqJ=Hj#pCW955m,h:ft017r/4YED[[@\hBuXCPp3*72aCrm\h[YdT=):uO'rQt!H:0s?C<OXjMAU8;'rqR,uAG*qNrp?:a#,1@G'Oj6qLS330biMf5bQ]uAW.P@0'(=p3nI7LH+62pr1fC28<gANHe&r,.-)f;r*[bGX*D75pN,_k&fZk?3iD4r5>UkjjQ6q+m>oj$Z?c?#7WWiE)"C9"G%<E7JIX//g<Wg.7tWiE)!Y#Vl0FK2A*<E3<SWk)238u]o$!!!#;3U8KU)LKD(^0nQN\J1MkQ1_"gXK7nT>cg\F\.fha7B:tMegf)dB9%?KTh8JW,fY1s3I?/9VEDb`$K>$%Fl>P"A5ot@`7.l54-Qu&U2-B6[T#_nPqou]KC:@>M_86ZFK.7%Z<f#o;UgR^U:OK4SWo+ik?6JB)qcZAR'PQ6SMEpkPqie;<?%CnW30Z_8Z8=]+Z;a515AG47V*?t7=^%]NnJdc7ap(d;4h;+!J,4X>2]jQ"Q=)`MWUUd(u>`bO'OM8.f3plHE5ok<GY;HLl$.s6ODQ#*tDRY?K%gNGASU=eFuaZl$SP!D'Y-AHe6eR(*XqL1Du%4J,fQLzz!@o5X%2FA3GlY/,7&6gK1Q:VC/MO%X[N7]IifeF,>F\-K(/5-q`bnLEp)72ie777UYDW\[bh=;h?5E?pKe'[DK7#q_Y@@4T1iB^^T%*Hi:"r06fl(dfZu*'dBoM0LKlHt=_ps->@sLJUZWFT3VH[6g^Eg+!A3H1EV"TX^WP@pH+sJ3VUkpNl&Sr_h.3_A^OtD>T6psA*J$jB`IK8p=*_-.Cm6"fggt<&1X0G!uXVsm5eT.W3b@;,/-\8-6g.IPiA'.G!fh]e:pCN#IW/!Nj0[9EPnI<fuE8:VrDqb$A$o,5sk:[1G[:9j$aS!p"29oJ5Ejm(2HK&/gmC4c@7o+J3b1P]_G$M_G?Y\/gY'ZL&>)MFgKeg&QWQVVJfnQnt/,oTPVbgJAd;01ba14b7SY6q_WXL(D:Qf!aTVFM'hC]V@33@tS6YT>(b_sTdO!HCgh1T[[,e'8EQF<V&a&LSL'9<#P;Drua"u!6@WGcV9.bl@MAZaLJQq!,HcuEU!GNUHRZGiDX7,pAZ7Q8sfheL))b.1SV#37[=zzzzzzzzz!!!.hHaWKLm\]PXhY4uL_nnCYUCp;<:E`8<p:8r=k#3gEX$).&:+$fG<Ctre`&+m;W<b87RpPIjbacN6LG7OfH:GUmF'u7i=upf6P#aS)&%:-TOa(HFqGJ[b`pKOBOh#=a''-SQ'Bc4R)j2^2Bq\a7qNiR<gan!mL.bgK,B7P.gM)u.AVQX^L0I"r0Z.R8L)F\.gIs<EA<tq\QI8>k;FHbFLkrJNUM%:24n;/<3_(["\Q)X0<Gb`9>q2kc<EDeqPq'=Ec<!$o=$9P`<E@XM>q2kTV,^ShWp*O3VsJk.!!279$bk?8p8,ZS?<)6W$W>KMbcY%5',AKI!h0A"Fn\RfjZ;u-&CX2q>HXqR8K*g]3I?A:^+i@VF^_pI5l.PL\opFD9_M8ElXD6?Ln$)<k\F%#j[;O9OLf>1b5K"+qj-E@FSDn:XbnO]_WSIG7/Vk2/op/k;-^[E8nr,l<;/#I1EB6gW0F<!SOY+C/8K"5k1!VDUN-f\\L"U2g/W=-i_!2E95`?\9r.SCRj.2.Zh@!rq&+]2nBE/_C]8c6f7cgDRHde\.Q(:'H%d'J_V]BkohIU(X)IesQ1o/qi<j@\SQdE123QNcM>CB*/6#&D4mFlk,&^ngY#OFAf'7M:-I`"qzzz!$oJ<YG0W+2j2J[^1j`##if*A=Z6XNg=%,:\XPM=dqi^cI$/Y#(Q0K;Um^`sEEYM_OHV)>[I2DcaikfnG7E+IAi9)lRg"\>C-$LFZ;rtI&%:-TOa(HFqGJV.NS?qc,BDNK--L;XU16j=2+XfS1siA,I7gDGgan-qL.bgK(o=PXD75pNQ<J!W=`(TL@><.X$o66DgFP&-A<tq\QI8>k&k%t[LkrJNUK9VL4n;/:FH0@$<E3%!<OGh,FK2A*<F%)c<3"JM3F(aX>kM)s<EiI'FK2@DPuV*>X//liT:u&\zzzzzzzzz!!!lY&,uW/naH@hKD`]>+a-NXVfE=I=a#;+N5IFbq%";A!"PXoDEn0KZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!!!6L>>Jl:ranPeq97(V&J5hrB>?cW<O",*cgO?Sa-W:_=BcbFeF"?seTXW^:k\<9-:,B))mNsSai#7BG3ukQ\Ff6D%m"UM/hnrQ:"3udZ`g,D17<oUBG%cNpOPE\*hB\J'C9dLZ$hT&k^<>p2i/#u8M.9>R5/F;29;02&^jg?Y8EIZa!Y^s9^<\Nm.Ra.U%<G2S65E'?#31@bY#)>zzz%-sf#5MhisbBDGbZ<B/^<M''CI_+PiHCnp*d+6pO=!^LrYdkTE08dqbUoHhJ[`X%saD4K)bq)#A\/+k[(l@I]5i+%'U7siKV<GVTSj1Bj93gct,E8mhF>Ui*(EVAbD1sVo;gc1-7%@AR77;Op]C^'Ko!s13l/FE;p!D5AK8?d$Q\4hIWJ`M(2)NK[dAFAW,#'K^h*tS/Q)Rh7Y+U^=<Jo;fY!eUPr(\nRCe5n1Y?!d+(l'k$Fn^l89k)@q=3Rjl%i.(m7gs(F`[FrG*,Y%"/R)4T<h45:.DBf),/%tbrr?!T01rbicJdcf]F9XQ]Fi0<(rZ([e^CIuOp3+?^]4?7)YL+94]+(*Kl1]k>HQ/YMQm%7X[fm/YaLEEfB@7h\Or28T!qfj:7c?CRukIg[4S5CTkIRT7CBF&2/aJ$bY+EHh:HakMb_qLQ3XT.-%]b!,\p_BWuLE1b^GL>E[Ma-C8rn7Q<=!m/Ff"YMl<SB;R!RqOs_n!^-s5c?Ilj0i]bO#Nj2Fr/6#ZMTjK=Fgrl_o9_V\uCKR2"VfIYA-aRqi[i\OQIR9i/ldUY`QVB^(8f`%'5ClH%7AnqUqZb.<l=NV8?.\2q=(c?gVI\nKfg`[n<n-dW>1Hs%+[,8LYqibf#!VUP]kH\Ida`oT-,#ci'A[DLMQLgY6p/KPc"VULN4V`YrKMA-qs<q;)rorR3Cb=-ekUTFo&atPc^N;ZQPjt58c'oSn$C?1Di]h;jULX`F5_>01R)d)esG1%bI"iVfgC7;Sp]RGHs\6LDfq89$bX$?UN>S)^?*@?V:'h8)uK!nk8WI@q)LfhXIT&kjilg*T/EJ>/i)fHPP.i1he/Q@h]EZVarB/IkJH[?B.2R2XY75)QYCQ6ZA/AU4Sd"lpqBL"hWlOQ(O:'^7d&$1IERS]9;MNN2tu"gc8We_noBKZ=ZPu`bF-L35&3gZ>\2Vp-g[PA^<\u_^-436PW-1qc\:4\c;D.D>$l=10%/uKAI\V3H1R$cnU-k#^",r+0(S.FNR+'Aqj/1DQV%'&Dst$YS8XIHjQ-j=Z?+uKQSXlp/Y@*EXQSA<3*0IN]5lPh<.rN4?A3blX\GV=QMLr`3Y`tuAA(j/`*P1(aVm`gnOZ>FG,VpokAT^HV7LRpS!3TS?1Q&XYX81F`5uR[YBsd@F-RtZ]$<C=>8q=O.bK[L?<^du>Shg)f2>oi(R&<K`=o5C)danL`+u/lL,E7L)9]g]WZnR$=bdi(903X9(9TEs.8A3l.mB3:.[:SkPC;G/C?<sF%hTDsX&Z#KEb.A:Pj@`d?^Q_BZ(<Yf)#jRM?[0U*<ingf?TQ@\Q[pa8f[ueH.%#i2CeY@K;$u:#R#^s\fBqgZ0C#C&p8jNd,J+8#Z""I$`uAi))Oq7)6f&5Zi;`iXM6D0TT='ZY8*Dqm'%6.CFr$aN/TR`M>5kDHWcuG:afCPQV+af<H9E2#6\^Du32>SGWGe`F)WK%JP-[e(10Q3S(Lrofq/[%F*=QWs'BP77QJEu0S7G,_:oK9sg53e.)\R,)N@B$sa4WnI/[*)pY,8?q@lc/W8EjZIPgEX2)"c1\9W3jC-NascVma#`pHE@cmTa>W>po!5D/\mLc^\p7Mr`t4LO6+mpg*"*jVsgLV=uStm4OUr:uC/CT/b^M(Wjf=h.5]cmk/6$h"e'*\T*sMFJ#jnrqehR`q]>C:/Kg5-U&>lF#c_Qc"VULN4V`YrKK88g#pX>a2RUiLA+h2n@Ql3au;M"9C?%rg0H)mTte=f5&n;#09_VZ]#i9PhH\?'\as!3EoSe#ks&_grUtO.NUcOdS>!XI:4+\bk&QI-RaV)")0V?<q^?COZd5.[O,N)\%IUNCiHLVEP\tm"Qe]*o[(9&d6[sNUI,fU%?RI7?Fd&F*]XaQ-F69jDji1T&dXK=Xqs<q;)rorR3CA.pSG6CObiKe925U%"1@6]Xp/'Z(B:h0@*uE&A)r5&f_XB*i.,=X#0=c(hBlouQLAq'4q8W4)^.qM]lR+k4H#ku8kKR^hbDa&+V#?N:pY"`T2oio.Eea<k3UjZ(RE@HPCJ4)#A_LE;m%M2.cTZ?_4ti+a2nI,WL#-([;7Z:%?ZP0Zdciu-%K6!Go8W;1I%6nDekUTFo&atPc^N;ZQPjt58c'oSn$C?1Di]h;jULX`F5_>01R)d)esG1%bI"iVfgC7;Sp]RGHs\6LDfq89$bX$?UN>S)^?*@?V:'h8)uK!nk8WI@q)LfhXIT&kjilg*T/EJ>/i)fHPP.i1he/Q@h]EZVarB/IkJH[?B.2R2XY75)QYCQ6ZA/AU4Sd"lpqBL"hWlOQ(O:'^7d&$1IERS]9;MNN2tu"gc8We_noBKZ=ZPu`bF-L35&3gZ>\2Vp-g[PA^<\u_^-436PW-1qc\:4\c;D.D>$l=10%/uKAI\V3H1R$cnU-k#^",r+0(S.FNR+'Aqj/1DQV%'&Dst$YS8XIHjQ-j=Z?+uKQSXkDI+FY>\BD7j:YA*bI@biHI!f9K-uX6lT*r<BS>1/f[(bYA?)>tuarC6EoB.(QiqYT%H`Wb4?00;l)kT!apF\5g/sH!*hqr(=38YeoaiYRYAEUhu/nZTfq5l<\EL1B]T<a4Nq`O\oq"VQu:u:Lc4r8Kc3C`2VBmn0`]1\suPW/?ikKZ$,`U\&(pK9NG]??Vb2a2"MmTa>W>po!4^V8#XEP=UiPE\#;aj5[t>g?3Wo3,LAj"AdE5@k<&p3H7hnaV!sTtT#PHnP!PEfJD6def@KG*bet-u\R\c^\p7Mr`t/m]pomGF(+MDLC$%gpkP7\kh!HIsmo9j*Z5]-R`nUPFi5q\X]R/7e\q.rafE&'"#qAU!][c@Bik7[sgTB]1Jm3+gb"C[7lPt1+FooN+uN56'@d:8NTR_deN8?^G6RrK!p$;9AZQ8A5@;E/JI/9A4ET)23H2D`fG7uY?Ol&WjXLF+$Er^\P!Y`9XIH<9j$''XGpq#`-]lJMT'qL0c[VG\TB\cQ<D+MMTWaPdaZ6<rW,<nXZCK31?-a8:92]_q.caTY3Tdn8?:=>.;ur8K8cNsFs/:YVsM4>G`+@4L%gS39ilbW/#?;s-+ld9RNmD0?Xjd$Z&DIU/R)J[X'E0L(#M"2&`1$prrA[PGu_u+<(hJ@[59Wed<Hmq[Pb&[/R9j+ADr91fDkm`?1/]J3l'8#8ffP$FLs^@*eX,XmEmhsIT,Hq>LqtSCK)];l)SB5Z#<iW7(/RgO6\S<b,C,aBMFJLo.M7BEbii:jooUL\GBMg2!g*Vo0l5GW/12V6ujNMW8M]jIVpFj,24?a3O@R&b"T43[hId/R`R:*psDF\l!G]Xd&igN2<gfGRt8_JE?dk\05U2*pHE@cmTa>W>po!5F78S(c^\p7Mr`t4X*^q<pg*"*jVsgLV=uStm4OUr:uC/CT/b^M(Wjf=h.5]cmk/6$h"e'*\T*sMFJ#jnrqehR`q]>C:/Kg5-U&>lF#c_Qc"VULN4V`YrKK88g#pX>a2RUiLA+h2n@Ql3au;M"9C?%rg0H)mTte=f5&n;#09_VZ]#i9PhH\?'\as!3EoSe#ks&_grUtO.NUcOdS>!XI:4+\bk&QI-RaV)")0V?<q^?COZd5.[O,N)\%IUNCiHLVEP\tm"Qe]*o[(9&d6[sNUI,fU%?RI7?Fd&F*]XaQ-F69jDji1T&dXK=Xqs<q;)rorR3CA.pSG6CObiKe925U%"1@6]Xp/'Z(B:h0@*uE&A)r5&f_XB*i.,=X#0=c(hBlouQLAq'4q8W4)^.qM]lR+k4H#ku8kKR^hbDa&+V#?N:pY"`T2oio.Eea<k3UjZ(RE@HPCJ4)#A_LE;m%M2.cTZ?_4ti+a2nI,WL#-([;mN0FSFq@eY=j^UCDtR`dV:JgX&b_(i72).dp8'h-WF9G`Jg3"(SXAV/IWcD:8j"295`2Qmg[#e(7p,dHb&ma:#O*akb20=`0/3$<FfkiS]-R.lOdI3UJY$->:_sa]ruIB.S?+BQL^KLZ+4!Ud_1J2U+[7=pNEW./VpQ8%8A`4Q53ZAG`'Y[(t-pQ=SeUc/XoM,R#EV25u+IVFST+B_,ka^?WjI2k:'3J?bf92+Zg7"UoF5F1#=+ub[Gq[Cf=?kDi3dZb)($L-74Q,M&4g`$S5d$e4qdQj`7JD@dI0Dj,?KS@[m@l^0Yr&EL2H=)cK*JN>I1+gLFEZP1Arb<H;cj9Q0t3zzzzzzzzz!!(+8J,6((J)0`=jt$fHZ=!8dOFQiEZi/Bc)47&;Gea#qrrB*>s3e7aHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzz"?ZM2[B+V%cZ`00d]THfL-_UQhK<R[r)m&PLJhh\S6"K\7-%"(mpOY"[VTtI4P&uC;llon]npoU9RD8q2)0dd3sFG=rrAjOmHn[>@oQbiU?H__.bNp2=3nitP[oSCNL+[$kC)dRI>I,>_\[^Xl.GXU;cL`FN2X<.%6E.BfR1+d8hoO1+Gbi0Mh$V>LqbY\!=P)k<E3&X/?In4zzz!!TAcd(#+ZZZNei-W3\C9(^:A]%bhBAV4^]FN?Ab?<nV1AuW_:\J;]%,H>P'T+olSc7tHWRk[L(H"4KSLbkd##1k-)iTlMm'W-_(7`bF^Rk1s\S.8[:aV.pFU,"53`E/a7Rp"aoiqUanYgm)%4.b_h1kITm)YZrE8L6fq%ThAH[E65:lq8'uKW>AL7IU9Wzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIjpO;_+GkS7Z%_+=O4L$Q/G+37$GF`%L*Yc88B%:E^MToJ'_bIa,UIgS'8s7pT[7aYjMR:[bP&`?"Ao9*;=ITb"c$`UA^%/kEePWa"F53doaQ72@QEL?5fQ1TjS[,:3j:5I)$hEDXP4Y`INRBhpFY#t%`l1qIZ:;5YY6#l@45)R4k8r.>[_V#[WcoB7]:q0t(tS#0)7lD2oQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI.-7ST,5ZSk-6pLlBRUQIm/[?P!/:_2g%LcHXM1M1fZHrZbXM)l[AG8#lCP?F6q#L+=16]^Z,0Q)XYH*89NLR!!a2d>)C>[^4Q8UpcNK.ZJ6;/N+#mWn0!H9SBY7W1ud.[ZNQ/aYdY:V$9Y&r-L=5afD"(mb>!R'jXb<Vl<:GUg"o\?1pdr,,\C@/)#j;,ie,i26*l.3p?._kJbnYbd>!Rar2":FVD?\C!p__Z-89C^$(E/;-L/?S9M#t93R4bW$AjNNEas4W%EEFiQB/.X;#u?cT@Gdj/Z2##qfK7HdS/?<o-/B:8Wk=8,ZFRdf0:L#UC#QNj_HhEYg'@XRX@'(fKg(`H+IYeb(>Z.Hs^NN`9<gRT9:@%:0jS),l@3WbfnVb=g/=0mtAiUK9s/ZH4TZ7*uH)/WNe:%f%KVM7o6*\U.@:VKM?Rh&.F+\M)^gY9pr+?.F4cb4SqA[_";g29n:<PlC`7Ls2WOgFXP)%'kP[,Y:Q=lkP:0mEL<%)l!gMg'1J\F:^>I@W)?N`3DNV\Q7<FbGFZ/3QeA%V8:rR/_PnsMn7oYW>c#k8IK$c2XiT+9,%2&G[0@Yk:3L3Wi>*82KF<Jzzz!![)SHATp,)GI[YK.#Ju+t=)!qMdP"4Ii-F?U@>k8>o?4[k`pq6<c&k3joL7:B;l"CYX-!)/kqJ5o)W"Zo=JKD\b>ZAWoU6e&>ka<_CrtVi$PpgSVju`OU>IER\tuMm1GXElOD"ni"T,S2N9+X(5sLVSmVCl*/nZIeDN;6Y)WJV*UNUMuIPjD.-"`po,P.\>g,Yn[<:!c=UZFF[j:g2U<`mk$:r9OdCc;;qCEprr?_IWO>pN3M4@fZTCAr.k7!ZZ:]Olg,6q6*n9Pb^udB8ghUNiLt;K6>HU+NWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI.-7ST,5ZSk-6pMhK=EFb-cTo:Pu?H/*%Ejj9Aa]&2L)]&C5d8p#B_T%3-uhY2M*3j?`Yc-3f!S#W(X$e^?^@nS^#Q#0^R@pA2$S3+`rr?@X6C6%4).6riuiY4fOl6GD[imr"s[k:0Ylse`VPIDg>WOn\]]IM`=;,YG1AY69HfjoFo0rMcWM/RfKoTj^1EM2`I?$TS-Yps0E[^tO9oM/AeW-(e_[:QYig#GXFpASi"b4O0'?M9u,f'hg\L5Gs2"'P;0WJa\IQu]a#Xr]oXD:3H_@+rbJRXXS8,fanD+H[9,W27=&:/(DF?f]4CaM(j4,MZE>PLnr?j86:k?!M'Gk1M>'9pW5VQ**N%rC)kK!2G7+m%eZK<k2.=AR8VJ\YG)HYhe2QFD59N;d!j$:5XkjHA_HD#b&KLlYj%DXKD'lm98LIetU6OP=25r7+6Cl_c(CbP\*X`:=3<gd"4E6C/U:,>UF+#/]G=1Cu!ULX+]f/W15A_elohRCm>X`iEHm-e3lXA'4i_Z6pt72X]6$gCML6U>nWlGr.p3p+._d;j7A=HG$A?q)"Y8gc.ru6pr9dJH/27AqE7p+CA"?K7_&BVg7=P^*6&qWCu*JWhi)>n_f\)*kk/:GX4E9t)WUFMC3EfhEu8dPZZefQIPItV%FjrEUXabcY?EllCQHb(WS)->b[J$4c.ru6pr9dJ2cIg^O&bf*]kH9MY!4o>Ve*:A0o"^m2fqNuiu6`mh+o<m4]fsEoqQk'\GYC@SX.nJ`Z'nRh9d.uN,*RRFZblOoj9k_erB&8j7A=HG$A?q(iD4;G=64q0s0%:eFHD1eU7(o=uWg(O3Tnffkl;a@CXn5h%?da`j]23;oq4a<V+qXB\q.>5</A7A[VguL>uJsF@Nb")VoAg:F,d"=3kXSUO,J?r8ZM%QIm1s)i\[id2Lo$CN[O;4Ho"%?TkI@NU7YEo8dX0>@;LhDDebE6u.6+Xk+$3nkZ%2I.jaI2md@]c98/[D1To>\CSp\&ZtiJ[p1jjaZbbco@gll.=U[>l)fqB=">-r.c3(KE.+VDoTZTk*EeV@GNIQ>J,]L^Vc;VPR%#"\Dmo3^:6<WHUNK9bPM3JT&@6/B[Fs.Xmb/("JhY^Bb_kIt]P#jHb1\=EGNiXtnuEcVlAEYboMjhFj]'UP1h,/d"6@a1;:4A#/TT##CK-,e>usrLBjaC.,M;6\WqfX0OYOqg3799Yf(#V&=7Hkfz#lF@KlTuq]nWOQ%GH(1T:&9X>fQ=)eYr.sb4dD4R46EkFFI(\2qJ#s0P7a-ZBU:SEP9i-9`)<(9I@d@_4C]Z2e8iTrQXZ_jA88.\B<#/V*)B3B,a6nRk,kmVMQ!KJa):^o4IqfrYq2&EClt)CKi)TVeQ/cT<4.t<\L^^$rKN=WgDjpB.QP]qUO,J?r8ZMEQIm1s/A#o(S%9hKnVqFrS(jq'T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEA>_qtq<_LqS%j/Iql<uP@84u"MS&-A=uS6e<5o]L.iR!IA^oZmrlMXnq37=Q3f!(d%^^5Tm.#oF&^!;32"Du9agI-GaLo1(o_Ep"f*ndrW7R#Re@r5cTs;:8g/5,<aQ@]dU84!eb?2DJd8A`i&f0j<E90h(^S/L>HZ_lGXYTFI-Zr,S23(Z'Bq!^#F#`B@O-S:"`T"-R?90?n#`M9H!!"nN;qd)7[(V7_/?*hB\PC(=m(5mF-]+ghFl,'SIq2BMCtdlO27@ErGpHrB,>L4G,a(<gP?C\2k<;&?E)":$@jGCV<Dd>/V57Y!I@8oLCfFq>?d_R/2h=t-4Nh!E^%4#qh=t1<7;H8bcS_#s$?iFna^*Q.:DPjlZ]SF](>2m#^$V9HFm#<6+Bf@]Fk7UN.lbDcEL=gNe>,TKaY\4;\C1a>8lXg$iK7tTN:r[ooQpu4i5jqgn?mW"etO[\nZ50"U0+QtCoGibE2kc-W2lU(1_qjkP]Bd*@pO(T4iiG:jfPOO<V9?2+sJN+Xb_i!+sqs<DeR`ES9n2?gB3h`mr>J!\g(GLNGc9)DPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g<M=l/bBGXas0mFr]-]Ij!QeTKF$;!9`l=K92BM:F'D-'fK'q\L!E:hFKc`G@n9,th*u;J'0&rrB=Db1KnX]s/n,\14Iq8f/X,d_>:S7^=ouWkYFZX2*;`QT7pF79)`8lf2TIK"*G6_Y_%7RYWT==C!2X3kDF*XD1q>qHYW(6qo:66qo.bT5g,CrM!Cp]f.@qOY;*:`@[?\pE_k_9VBhrf,r`E`[NaU9Lr"4V:1rUlLEKJPE.WL39SIfO]+_)Y/;'A-bcW8?,lcR$9E<%>'VEWBc.;*<\1OKkIG,L-QVHkijI'42mmB8VhjW@.bjObWP^Ynkcjr\?eOCcO-T*l1c8fkNcUKSZ]=+T`iHVOd"m%BN1;=1?Lhr_eMPRj%i4-8N@A#)[Im_bHDNBh!kSr[[=@=,C/lmZe;,d0Y([\f/Ne`-&<`rMM,#h"3As7XEf2nf]Wn>A;GNX*:WA,+f_<8Zg7AO"A7Dt2%6(b;<B0QM@ms@-Le;NTEZ1E&?X&AlHkN:cLQ*9ICYof*Vr2U'lrLY@LYF=Z37997eOI4XM;HX_5</A7A[VguM;btqc.ru6pr9dJ9-)OQ:SZHfp9.XYZtk`J4fR+OJ]qQ4f$3"_Xn]oF>W5U'5*&_8g:_1VdB5\np8;K1#;Ltn>;pXn\)SC_E8=;8qE7p+CA"?K7_&BVg7=P^*6&qWCu*JWhi)>n_f\)*kk/:GX4E9t)WUFMC3EfhEu8dPZZefQIPItV%FjrEUXabcY?EllCQHb(WS)->b[J$4c.ru6pr9dJ2cIg^O&bf*]kH9MY!4o>Ve*:A0o"^m2fqNuiu6`mh+o<m4]fsEoqQk'\GYC@SX.nJ`Z'nRh9d.uN,*RRFZblOoj9k_erB&8j7A=HG$A?q(iD4;G=64q0s0%:eFHD1eU7(o=uWg(O3Tnffkl;a@CXn5h%?da`j]23;oq4a<V+qXB\q.>5</A7A[VguL>uJsF@Nb")VoAg:F,d"=3kXSUO,J?r8ZM%QIm1s)i\[id2Lo$CN[O;4Ho"%?TkI@NU7YEo8dX0>@;LhDDebE6u.6+Xk+$3nkZ%2I.jaI2md@]c98/[D1To>\CSp\&ZtiJ[p1jjaZbbco@glkhU/Jj3;07][KeOAj'+Ha7^qCrh/M1G,l0Z*cYE-JHUbOCj4^&ifGqmMNGRFu)W-KhFi/>aPN_[H4fd/'CS8FfQEYC)[</U5md'GuSSR(biu-Tq"=Vpbaf!4F8?:QGfQ3ElF=K@-i]-:K<(,b]9$h4XN/VEF<O([Q@3!G*\>J6&'ldS^IHsU)"5R<c,?l]s[Hqq=nuH#Oj@*+['c2EtdlU!7fp%kF+nL0^\o'Qp??CF8\nIVAFY?5+*BW',<k:_8OVJNsO\pHRJ,e$orTW#_eUC'@L7p7^)[9Vm-*:CbX"pXhWdjARWRN-(=K4L=L,jRd0(Ndpe<t<>PMu9?Ds%&H=WrH>%h`=K8XVMc*VE,gRk-5]gh&PdjArH",th*6Yc==[m!5l`FQHgKg#jriC[W4idpA,47+if2^PpbiEMB2[`Cj',Yc<A(md8TgZ\ADZqu`P1[,/E-5.9mooCXAmhA7Ja`1Zeaj:0qVh"G^%rr@RjfPb'%T3HMHq>-5d/kYen60lY6)nU7'm,<Ho!!)2dhRdDa[dLp%ocn]dQ0T'8f9;:TG3a5&_Z'W8!RG2fG0YMQh1+VQ7e!r=eg1R)-Qm<of&sAnrrDs!T#5mASGM!OrrCBpNT"nZX@a"0:-dXiXj:VfrrDg!4biXa3VBk(rrA[j)oC[>=Hjl>S:S;]>Fs+VrrDNuHO];LF6d`0rr>8]2hf@[Yp_b\3<OJC[lp67rrCssp)DV"kLSJ@rdLY]$^/24:jV\Q#4C;bHT5C4!5LV]2m1i[Xh1e7rCGc]-$mM&p#P0Ch7DD8E52DQJ90@]?*g/-G@11BOh<;=onc!#aiGF5Fh-ktJ,]KKkHNgTB0Ncl^[q+CG[-O"&qef"O>h@KF4nG1!<*#F@D-j0I;ReikNYP+\LZ5W#HoKtDXH$<Z\ADZqu`P.HL77!gUdCbcd[s5E`]>7%pi!rh:o'XB++_>p]is:p"MM"[rq]NT;`dHjKD[M*k\"o]=2"9c56K\n.'dSlaCm#DX7<&5>jFoa^25#4aB$iGAalQS1jmBi#MG0f50X$h:MXTUi-X(]jafano=s&h/7R!?iL,A3UA]-g!?e4YPe>ihA7Ja`1Zeaj:0qVh"G^%rr@RjfPb'%T3HMHq>-5d/kYen60lY6)nU7'm,<Ho!!)2dhRdDa[dLp%ocn]dQ0T'8f9;:TG3a5&_Z'W8!RG2fG0YMQh1+VQ7e!r=eg1R)-Qq6I$2^t_F[IiO]_+FJC3FHF?n*17"flVmSE%-aj\*a%/t2E7F!d%(FJi7;`;W\m:RO,W&sD:0R-1ijff1mR!DS?TCDOg4@Z/VU$gM-gLm0ai=X8gdZ(L;,7IP3cD;oa0g5=HcVDGu$Cc)\8QKH@Q6PX22?cJ)S_oB!F)`r8=SC[[bke'Hf[9MBWTj$2eW+WU2(ZZba+sJ5h+sJUl6q-SWE"NG./"I<t#G&K0bAP2)XrH*aX2Uac[]L`jG2TGq<u*q_QVV;OP5:!K;iV_--+;:1DRcL9,\g0go%+VqHfBD;lGL(7"7!)$l.HIW1YFr^Xc5a8,'I5Qd+4r%b(tqQ+a%(7NVRkUpGL>hl0h6D>80rDL$s??M>7gjWk'+u="]/(Rek:Z9uj;.a&B]b'WQ#:7Jat.);;8Snn8f>EXc]G.AWor3rOKFPc='de)Qm#,<"4kMm+PSR4!)eAcSUDFPKHm%7_1L_PIo>eLK;gX^3(=!\\nS^7m..3:]&<m%);r^FF2V29?369BL"9XIU$sZ`7_-?68bPG*+`57<5:Dc8@.k6YcZ%zzzzzzzz!!!/1qm<^=rdM@ck,bm[H+YG<e@A1',%GD!ZAm%&Gq)K%+[hSWB$o\4NdJb9-+]_KTZjrf6l+MZC&%85lDVn=%p[Z/C=m?k<[ocjl?O&rWi$#*X^B;[FMu_uc:%Tf)CXtpT$5!7'4B$7<f;qeUU!H0[f45Re(HCR;'LIG]IZM?WeoGLXWWk%#t&R'%5uoOgJ'MX[aRr/P!a(Cg'K0EVU1Ju;N`<%,Xb)*;VJ\,F.DtTSuSfjX(nZ;PuUi4WiMsrFK4S'ZF$X3WiEU1eQ#gR<HP7@Y*E!m.]]CI8t:qB!'331je,bBj`^+(lHq"\c*9j2>d)^k3).>g;Q7km9Z_3'iA,8GI$BrI33sm+NCkBY9'3\Q9LF/4QOV&(,u*o44!B2&-*ED&'cP)ip8[@Wd"uM;U*?T1?.X4InT[md2dIrs]]s'E;+B'Cc]RO'>+aN]/&7!VY(T]BqUsDQIob6[IGXGDWS%4*qUGrigCG^]q^1&Fa\/Y[A<^s2!2sd:>>1HC/\FF2fHW4.Ok9bK9TH^T0*"o*/E0<[CA>,A2$s9_QD2V90mJ&a3\&/_G'eKL&^i+HGqYG)),Z&0\m*.:rrB%Xb?H`OjI4D&e`#snU8oM6cYW8L1Xsn$^C@[Qzzz!O94;dr"!BN57g!p9?[d"/#='f&u*gaHhgX&a#9VXM/?H>33<;-9NVKaQ-!:#lal8(s>h??>eOY.=eTaB72:@W_^l;;qkf^WgnsO`1<--=Ke"hdO)MLGc84F1c$'6b5<JiM6Ad,e0jDCiO6d&:ukq.C$IQ,=%Mdp`jp>17Ch86a&[X7Yq:??@+&5Q=uLdXMFAEcHPGWgd2JXH2=6'rF\7mpY!f2<nt(9K/H-75],+r"q]0-]lPJQ,k>^?Ho=A(2]G@[Q(nT;<g5*i&RMa&PWPDHH+iG22._b@67t4O?pUsh4,`c7>=+RJLC;r0O0r^kK6po];E8eS4!!"`KDToOaTCIWcQ1>(8Wn[6['6Omk=pf\$Y9Rg^HZG5%bdi&%C2XiaaL76EC2nS>6Hlc`\BF5-RTRkr_"_*&O*XjK@_#?\OMos1cRPitN[@rm04es0D0)/(PMjY.I:LJoFl?PV*^/I]q`)c;(+@X*P=V[gaP1KseQWr_Z]PT"kKMn2l7XXC3GSMVb#U,D7$ps)>[$CCh#\b%\h1<\6N7&Ie#<ofO@QO>l\;lM[DrtofOHHfh[\a+#e=n4(l$5JOe'.BLlt_4lP=5l<B+NSg3lGu)TLF\[1_M=-4.5gpBt8O;W<_Z8p9pS<:/h5g16XJ<Ur4Dqin@bg9hL0UH^O'zzz!"Jo$I-BF9X>7Y!\73X@L9^XFlBr9bh]7<M3i*eF],$e_[NFlTqO04'UjT,F''#Ji;adRr[6DqOfc>Y"*RuubbT"s5NeTErHdZk)=X/@5(B/.e7$B-*V5X8J2Lafd)-MZZ41[mC(g",hUgiTWBu'S3\(jDjC5\eVX';D[em$u>(c8`VWH>XIBsc#n34.sf3X[?q$D1+G_BVC$%Qd(EfS^M$8Stg[Lm"!b&>?+mR[Vs!RbHJNbull`P"?^pkIp=aF5H(4QT<>k="<H7>=t<PC$K<!VP[ut;^:)l]umA<]umL!S?&Jkj],;eb,P%E60eL\[^0,4gQ[#l_dBB2UX3[2fsQ^f?D-k!_55SZZ.t[0I(._4/Ot^:V(G45Md^Sk+nf49I<Fpa6Zl[VP#Pb11GUAQ@WA"cOuXH#2%t\hEhX`L;GpNO'm-es'[N5ZGoI`CYq:%RogZ?k:<L+I&O6.,nCN,mCAPB^ngcD"R0OI0Wg?,n(An#Q9W=oR'^Mp"(se(>l_VTtl^LO_&Wk0>rr=W?X7b/<+m:[7!C_4^Z8jYIi/O2qSLe-n=kZeDms1d!<jp6`O^s[1+sjb[DGnno:(iSMG-Xe==iHQ0<7BUTg;(]%W)6Qom[gV3[R<h6&iAE0zzzzzzzz!!!6.A41$W"@Qj7q1u`r7(#l*KGJ:r;J;lr<N.';fe/GbE_Z@$1tXX1m."Uh<[CJ9W9V[KFTf4`(#^.S>WWpd9i=j(VqjpCY1q]!VDc0Mb"Nm_`kjZFp=@C*m:tr3?dU*\CigAodI(@<MX;i3'l.T"9]c*#HHDM@EiRnT5qi)6)S.D5=MLV":Lstrkk-#Q.d9LXX"qQ+aF[n1bBR@%-8`<:>]Gh)q+CU@!84_qRPJCDQ!3O^'R291SWtNH;<V!B(\NWc-1Zf.AqnCXUl<VQXpdCKZ%^;@inRH9bD%:.g8_].ejg*pB;B4l\Qq%JS4Jgg0-/-:<,*kEi>\ZV^@<5qG@E*%)m81JQHrJRXc/+J>`;'@.a%DN,>0TJ.P$c&MH)"ud3$"7,[M95rHhq"O^>XPlFa^iHEAbu"*S5NY&W$,8QPVF7UZFcR:uduZH<f5&LA\kGF3;^c'E=._/s+E4.3QH/]U-Z@>6,)p,.e%'%QG/\^"DapFWOpe]r38Wi9\+-?\Ab*4dcgL?6H7C_p(s/WM76h^iPHQ7)Yp._IBSl#W+pWiE(ED;DeYp2IeH!.].Ck4c%3c`Og_r;B40D[V`A@ShCAEX(sfDL4?MrrBhplo2*#c`Og_r;B1C(F=CGT_7C,%GeVNp2IeH!.].CDdB]A>BaHMqN8EC9(e$,lcI3e]61[NiICk-!9^TC]4X=9m_AAd,C!IYlOnj%PE7_HlZ:arrrE$!cXFM1c@'QcJ*6)dn@:(#,mUV$+E$StkHfmB!;lqj_g:^?qV/U]!70/SiGr#$8e56'5i(1scY!Xc!;Hd^L@s:]os])D!2$50_W7n&PTIK-J\/BqT$A/P!:UJF%I:HDlYc%g!'a@?KumZ+-p;i9"*\Xl4e+2*!8njj)qSohf%nsWI\^liP.b=$HLc(\mbMc-3+)[c^cCa?Y1_.']<D/28DY./HGlKLjQ$d+]%m!u^]+:aF4bD:Z_(HG?hsP\]IlhLM*^ILa;_a6\a8:)rr<&^Yhm!)5.9mooCX>Q>a=UfK@c<K2g4M.fu!ahrW1>R]lq\LD;B^)l:19R/(Q!OY9tH1mFLI,L&V/N".mDVm@=%-])McVe;`F-=0,")?;<cAgTAe7$i^5%#<dh7gH"r9FoMH6W>i_8Y?7#1]UXPb[p,HL(]OL)%XSZN[WCbPli-rL;E'<O?EknAGrZ)eqnBEhX1KHYRS1;2g^AI*Xc$gg34?;'XNg^%oh&L:ST`I-cCH>FX1IaE)EV\;\>`B7(BGAtZI`eaLr=RiK.[Om1Tp#4k-FQUL'X4)\C+"qNGBBc@RRWL<(+,k5:NE%P0Y,E^@D@dDMtP9;,;JeiO\gDNN2t6jF'.MCJr_->,nNXC7kOVZn?W8eR`O/daO'uW_1oSKc)!29E,!VMdYh"[mSf;;<G_Gdbio&G(9Hn$OOt4,>82p;-o'liOtKM/MR2)+TDGg]D=D_66l6GrUE$m2CEp2h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(Mgck["-*rZLZlqr2qc47$;Khd$I0rrCEXqDJ1:h]qm6p!@p8^%&hJ%RL*pTm--Epk-:NmtpA'n$.6"I<6H]rr>CSkh#>0I#m.uf0S;'pW!'n3=#P;hpJXe%f%3\-a&*9`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_*;\qA4WN^PFu4Ie]MG%f7'V2qL@:5P-T-NIML`aSkWlF<1'.HuH0?OFQJ"r>PYXmudM,HK[HW?MND`#9a$Hd(B-3r'B3bpVcaOGM'V!^:Fe?rrAa:oP=5S^.7XKl_*^OHfKNr*/"7k6LX-inHXH&h\4U-hdZ?"qWKpEre97WYMp&f+20,*K>,=nNV1Y=&,cmNUL1q[niqLt>mGe9h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(tt,=uI#?U`'(MA=@]A!9(;@IZ_m!Z#V;iCRX^$jBq7<,K]dB+uL5a,\Ekj&J8uMR@_8>0?Rm7WecP4\do.HLoRML$IAV$Fg,"4k`MatAQMOWlGoplaL.I`k,'dnk*kk&<&U=^7Ys%jT-5ORfOfst&lQ5;_b*"DfRmg:_7(su]8UD<\?b[Xr<,nj1mE#,^%kNI[X+h?G%6-Bd'C=ta0o-mQ,@f]1E-tT.Uib;^X>U4dn`[0r?A!#8SSo7WlV8:(VL)^()0GMzzzzzzzzzPFm'V]B[#..cbu4OX!hBquo?a&PA@\;ADhMe=nolosJX!A="101pldf2'd,t7Vo;@nYo5MIAsZQ]5hBJQO7.]@]IZKW4Q*oI!9sU9beBL^p9tSJd(jTUlc9H7$9Cik'g0=SJ7H<%`o_\4J"\Fd,n31aeEL5JRi((@:*QY]BiuN3n<j@%2.6d;D"AQP>@k+ZjM1a9bN:TN8-I2.[^U;AgA3j=s@gNlo(Df7D`]Ebfn;TkoTH/mi1Q^Y.cQHl"[D*WEh((8EG5^8G0C:H^@@8=8r9+BLG1ilYC8h3nh3cnZ%b!_Kd.IP!)gkOmZFYk;dXaWrE(m9+_aGfR,'j!$%+>N/3;6bfGTr[[EQQ&J5fcR@#Iu,-%eu_Q"e0WotsGmpjqb?hX]*0k1R$3Fl;.,c`CqWUC_2Fl$*\N7tZVIC4&?:i.WfgF$Eu,ZN7!Ke\a*[uH/$F^-SB6_'OdK$6_l&,uXY@<uXbUldL`X&hr+Wc!Xi/>l]sAlMD;fioe(ih;DgnLZ&ReQdUfUO$X+Sa!"o7FI@ET#\.XIk6J6$%g-QTE"rlzz!!!&Sg\1S`l`SX;HYSm&[rGYQ3)j'%*hLcm2Q'QS88]sq;-GXC4!F>rP5#<s'/Caf*sLnT?.U+MG[EDKCin9',VPU#?FDUKUM@@.Er(c1.f-3]RST*\^5D3LXM"!OVEoFT`9AP0lXO&:,.Z!>qM9s->[p-I8YToH&&bp4DB/#2Fd,M\;7RMh\8nW<b.aoo;l#h$cJQ%!Gt]n[A=&ldZ4)QF,#&.+-(_T+H=Q4.Ai`JeI1I58\t.P7Z!5sY,Bu<K8tnKIQ8'6i/W@)P+$0!s[l*\t\!((j@Cfc%FAT-#/9^a94[&L]7!#slD\>-Y<O[%fH8PBs!!!8pIJ+khr2EJu(+`K-Pq#b":rI%PA%&;28W`h(QJ%<>PUUBON09EfR@_8;\>#:7@Y+lUq;11J>1?PnSE7#XC*o3ePu/,,8ueU/qI:Tlfb@,$V/qd$C*fnC.bK_K9e*0CLkqL"<l1ZHna0u(W_B'dc'qOVaGr0L/g[+;'Xl],X+X-&<55:d_8f7!Og@bSbA/e\<lD-7#[X+E)a20'pbVZi+Jj"PCYgDLWE-uA=EHSb-8/e0[Q^B`g!/78CeRaX2L!9oAX43<cM2t*4YJ->eI06u7I6F7ec,X0m&!bU;WuPfBcI1Z&gRGWzz!!!!$-fLR]HY8;(C>u=C:HF3QFjq'>Q)p3HBf,OAQE&Q:n"bo:dO;=2\)20"Gc9VtNG;']%*T]<LN:QChg!lj<HkL8L+Y6U=iZfnU,X>mD(O"4@h[Bs<lUl6@lVLEgpe.0hO(2?!3#@1D(L'G:MfbXL.*#-Bd@h\C3lpqfSHPo7FU*!ZF&ACm>ObKZ*p2iNc3IK0/SFK2c\$Q%B?gW<Kr*hWHBWqq$>\gNu\\8O-80+]c!l=R#<nC`Uf+0/>)4m?"?eVWlIh/eR%iC'tas7X/1&IomDeeS>A7+lu@F8/h4O(?24F"oeX2!7Z2%)Ksp`c=oSK@M8HnYHF`@<`bHFY_gh^eYD9go=481h(6`PaRb36!\ohdDe02D;>ktZEC85_"7cG+S-ubr\WV$CA%_C_Ec[iP<G,)9:6U;_:kE[Kj7o[R86ZfTtTo<`fF4T!Xh<s;h!rH$,=/WB>V"`Oi.:Pnlc!0n0*Ac79h<]/qCJe)peQM=1[`&mV<hnHAaf:FF/G,K`zzzzzzzz!!!!".mE;/'`S/PGQ.Z.b_o%s\7Z^[=BeV`\$@>G^*4Lp+^;TZQH<)E0,_;X4e#@3etX;7Fj;N^gG<N87<i&!-53OOjpgh^U:mV^:sll*5(+KlBtJ'Cq^q3tiF=HtHVA'2bU\J2SfXq#`]',TCRVrE/MjMEV>gPU/=K]PANOThUM[CfrrCtF>QdHX,c$6S@3m?H,"ba%Y_]dpKdRUaM.-6Q<3t51WCQIE8K*Zi!(,CL_Q#IF<NuV9X\2otLjo.)re97WYMpXqq&d<uY(u&O`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_*;\qA4WN^PFu4Ie]MG%f7'V2qL@:5P-T-NIML`aSkWlF<1'.HuH0?OFQJ"r>PYXmudM,HK[HW?MND`#9a$Hd(B-3r'B3bpVcaOGM'V!^:Fe?rrAa:oP=5S^.7XKl_*^OHfKNr*/"7k6LX-inHXH&h\4U-hdZ?"qWKpEre97WYMp&f+20,*K>,=nNV1Y=&,cmNUL1q[niqLt>mGe9h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(Mgck["-*rZLZlqr2qc47$;Khd$I0rrCEXqDJ1:h]qm6p!@p8^%&hJ%RL*pTm--Epk-:NmtpA'n$.6"I<6H]rr>CSkh#>0I#m.uf0S;'pW!'n3=#P;hpJXe%f%3\-a&*9`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_0HG$SNkVA)fJ;+tLBZAnKbQLqdW._IdA`Le(g7jC7L<OD'\JIWf"fTDnoFN5K]H8CmoPoLU!?mcjTtmqtAif"o)p/>JE-T(&:AdjVaO+AqC.Dn=XHe#@Pfb>3[,ZE;Z=QK,l>;eA*#V'mN5Td3#p^d8WF:(4tJN\nL$0+9(JcWL!JY*)CLGol)-3Giin)S+%hKiM+=iN\[c_c=<,jb6E@*MAjtf6gh9^7H-$=1q,#>imN9r`*/nh"&^W]^=ejcu/8r(cS5V"418=R*t8V6h<AFFAhJfY\M4ECrPRU.!C5eF23)c^c_k3H&XGTI*TSL'Y?B,)R8Cn0mVNr*MD6Dn/dXp%mb)>@nWgD1U)X'0$\5:XEeF%??YmpBK(,t#G^Vfcs)j(dcuV3lljbLZ^S_2*a,fcS\1ZM%Gf>2kkbAP(?O[8\tS^W#]ru2k-/U@Q>FP'D^]d]GB:QG5/9;b\Ts/eW-ln-*>H+GX;\A*Rk]3CarR/2h!cAGYRa$;?=QX.+#C-V74ul$#-<)^b[,J`LM/Vj49qYJ"418=R*t8Tbj6M#9=()'WubEM(S/44g'ula!U0C\oG6QN1qKCP3s]q+m,kNea-LP\kAMblK6MCPH9T,-"hAo</uX0C_As?&3NO.(jdRuMgWCP0h;%K@O0B-\DI-gGWZO%$LIEi@CBgkcB$=S)nqUm;G<?,*liYU=Q^H4dLWo*.d7^g7_5eV[ZPT1FU"Tt3cN38,!;%&gjtsZCo/d5";XEPMC<)WV`TM.fG(Y![^j82[4U&BAN@q/WcGCS9]/cr2Z/qH0H/$I^T\\Dm*fmN96#L"=9<''iY_PY"c>*WcH"P9,G4LE%2g7@hU[/*0>F1`*lA*UM+jirhR_c$G=gJp8]V4$gh9Q,cqZ-7(jlSD2U%:>OFAhJfY\M4ECrPRU.!C5eF23)c^c_k3H&XGTI*TSL'Y?B,)RHiFA=WC9<p98-\WS`(C>cTOE2_8Y4[/eV+.Z?1e>,#9$lFr#YI2F3aE8q'HlP4DJ:(Fi&^(QNm]X>XCa3puh,LVm=f$N].p3j3[9WI:He*jc;,r,5V"nf1joi:EWp_IY%p`#Y;o\&IOjq`&=N2Pqc>rZm#`+A<>L,f#H`_#:%asaff'KSHq(f_+=0`Qi\T(WP-J5F__G]4#6@,[f?QhhH>#DMX2oPRAgnX07!#eEc3M6,HG@nQRXhCt+a%LU6qHIC%Jf#\_<YT_Fk"+.]1t/XGW9\fb30C,D<Ebg8b^E!K34c-[\ZWFjYhU#58JH/"-!8Q:bpkHM[Rlgo<*OU,iitHX=)19e20fr9o=\n)Sakt(S9n9`F&#E*4HrKpm`BVUP:54C2Wdo!Ht_'AcP=ON^O\r.m"3p42o_<`)f4rQYDU&@ii4%X?<m)rX'D3tD-Lgt.J3Kc@dR^*ln<&h[s&T_m+%;8QoK`]7K3?\D@O3h93UEDC8tKJRgu#,j3[V6$eiYgSRkcZbfnS32(;"0;Ntdi.7uBoPbfeQ8lCn#9[AC9?*YXu+sJ3THJe?H)%dGm&MtI<+92BAzzzzzzz!!!+R1*SM1+sQeUp]uE_<GY(O$'!;=]*@6<:JnFSTP:eQ<tZ+cWE[q`jRkRta\?V"=FOE^S!@npO-($Da2O<,#I0FZC?:*Mg2h)BWrPY7?sKe6L:81HdEbkJ,cA9+JPiJEZdkta94ETsaKBi5Z6<kXde"AJ[?s_ie43MroWhYRZ1-/E!i&giAZ/CGlloeKWoW.T@&$Stp>mKbDqidAI1CltJJskEUJbPW#+8)\_eC[?K*!$7TpX6&[$"$ZOs9o+cY88_]IsWhg:jlb]k_2Y]]s'MP05A@njt(Wf0/SCWk$D\.]QPZ?!Uap=&WI5<@%7daKLau*3OYFjgEBTQV+eiKiIDo`dH\E!(IL3a'+;JAiT@&@9$.\D98$Q/Q1D`i>em.d!XZ':qW@YT%N^-MC$9<OmG86S:%g`,#le=o4N8Zp+?*nM<L4Fk3&/5+uq_gg8)"DdO2Vc\g47Sp7+[`A[Ne\c1s9a`l)4D0?R:"(O!rYoMk3mWY3?-SNU"46g+B;=T,ha<#)NQ/T*PU\DrKON]?%Jj,Q+YNG^`9M_ePl>0P5`1G^gMVCqtPCDtbYW/O,46q"9l'1*leBLG88Ln"`SE[!@QX[GXQ=GWCX&NC@9e3idk8!!]Nzz!!!466tU)9MhK=R!\_i-_kB%UA"Rk_M@S".7+EncU[]t;Opd)a'M=9*k?HN]f$10QbKN"O=KC5^e>B5B8<h@^8p%RR-]:lLEpXV=qXC+'Y[ud1a[mt2oU7^PStV'XB[Kb5.X*'tI5X-.7XsE%CVsngk5FgQ2H\q,]5FW]VsX%0FA4Q5V(sN>`sUJ`HOc;QMu#<>ECFc,X8i5#!!%VCHWIQ"h5<rpVD#"?CXnfS0/M3/n*G(U6^H.BLQA4Ed^HV^Xg5=K<7k_u__a&p002\1h1dh1rU!Z^S[cssgTmC8QV9&MM.UM'?X2Yu(u\Fp;t_4]3^ioc'kZUNR5=`_VB""%e<\HJjo+'MP=1Qk<?5,=]I]%ZC`]YPdX+G5f3F,f[MJr\!>0\^6J+p9zzz!!)u+e#tac$oI;=]]3h4_[Wa"T6\tND)0:/P*YF:\=uSnOu$!pLkk*\A8HXV4W>>;<E3$2&J6Tp<F#ldRT3EU-Bl?;ehtd#OfW:IWiF^-M5=3PF<VoC<@sj2g!OkE@`Coa?PM(TS$H<`/=V]eD$uJ:>>*sKVV':$q*rTR2\nh^8M]>Kij6#@*@>l@[H>i^c:h]7HO\N/URRiV2P.leD.Q%;fde&5QJ$%&OaW0nBBXH;M,cW+B,gFq')q+*C00OtgEVk#/OZS+/SjWVSX/cN"C;:9r<jh&-%[5$bQ%VQ^9:Op6DRV^Z]'bV%[BqnbVam'U/I[L5"Vg54te-$>CYQp\dBmi3r0f(R6T2#cQ#XY!:l99`r?%paF!/cAZi&0TnE!db/i?;!9GGfM>mQu6AQK\p8hf*mdeGC"7F:5?M?U#l)?`0L>r3=>,XYFg*Ij@!00)]-I>2cP(XD__BIU!$Xq0d+,4b6'Y<9n?.Wp51sr$DSZFAX/cO?O/!ndd<Dr@i$^Qh_gikq(TOKg:MOHM,LmD_6LtdEeCpe[k>>HA%j-BZFzzzzzzzz!&bchg2aiK8XJi2>A58%Z)"=uGD42::"WL#Tag.AX^.:_-#\rO-=Sd<N^U?\CpjqSb>dXgD.3@.^fRZq^KchfM;IK2mBQ=a:.=VJ\$D"?YEf+fpu6([_MF,Ro/AAkN3U6$L*sZ7+"L9H:CX`nU3@gU\=;b1N\fM,`Zq&,Z#4oIENPdeX;b@]=;7Q.XW'Hgbpnha\>jtqUMH$m2$_5P3H])<[B;oqeaf8Z`@LNlFm[1N^Ae2RfV85^323fq0A?6Q=^BZQF>]"QCD:VRA8FsL@o3SW`0cGV`OG7!M(e.jReEhJ?R*/hfP;=qei#AtN,!$A;%WJT7\_6)N7=UH+taNb1Y>)aq+T"B.]A0'X.\D$;%Zf065?j$UMJ#WG$bK)n<Mm/UfobSW3ouVFfSW29p9^,&IiP:6\A@7^;K6Fm55g:F,8ul<:a7ae1fRUh=`MTQ@e/7BpndVE5Oj9HGZ;Z;UiY<)biff'de<K2,h9>k]:TXZ,+CR%[#t@.C1?j;I,VBcb*t6a"?[c)Lfj4nY=M>B3;,XR.OAHZflF5QEi"SL$h?c?S'lgcJDCb#4CZ*3^"Qm*eN1[`g9XshjN+aU6fLMK2t+@AhQ5k6aRfEScdC6!U),Yb\;2ek&q="V:j+$eW297MpC0Um0<"AJFn8?H4+cb)I628SV0$QG&pbCA'6c>o='rG6+a\c4We&QK&"#YQW-.]@1J0#SCS-Oo$*Q7mH"i)DXM`[8(\'>[kBJ4eIS)#6_]o[21nplZXtjPGseqX]:K,Pp&XA/bKO[C6frP'kbZtW@+C;hfo+/4;!eJTkCE2QJ9hTDo,:n2q431".<]c72.Off@e7'n4$gKhi&r/i*eN1[`g9XgB42:-?(BIT=Rs_(]^=ejcu/8r%nG7WTXQR/V:?*EfL)C"B/P<B4L8WQ4*a3#)nV[DdImV)/^)@PF[P;7&EotDc!](_/D5s,hGESDmcT,mI=QVOEq:2T;#-Z83[o5n=>aU32Ic9ePWM1C\_oUm?ljpT]Z-:;5%e:6MHub'%9W2GR(VhJ%a]+]GRm<s#GAOZ0r<D2RFjm$QY/1.<]m^#00=GHZl?WK"4?fCkUk!%Bluf*FqEl6g!*pTO"AtBcJDCb#4CZ)oR279$ZbhW>u:?fKK:Q*F'(;0b;Ni$\!/s?]=Hi_+(-.Agq:Xn<'Fr'%Z4P^edYaPc'Z02jUTXTmW]74fE\(Y0/9<R&"2';U6fLMK2t+@AhQ5k6aRfEScdC6!U),Yb\;2ek&q="V:j+$eXNW-hobaiX092V;eh^Z,#kPj[2k*5cDT/FH_,$kZ!P)B8:!,&P%p#tP9&^%V.a%3PnE@<1)X*t_&+Y[(u^@`/0/iM<u#g0A(a@Ia0E_X<-)<sdEQ\aPZ1U]?3N/de+cuPdd64heMPormuF*/@e"MGg3?f`\LF=R<k0')MMn;G'bq8Zf@ga[a1@$]B0Bd;m%nX]b[Eu:?+4ZOV$`bs:"FG8XN7D@,U'^*;5)*ib,$bR*t`6>Uaac+/[t3R>3=s&_3_;8^1o0sC7cI+Kk\0RQ*57/>K</7ZUTjM'Y`t$G,E,9,9nlH(pCi$SCLTG;6eH.]Q"pj)\H)_Bc?:oG#6U=aP$=5rYt["^K1W,qo5qVTNHiuUXu"8!.>gpd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS%ER5scMedYQbQT(mi'@JJRT-rO'Xcm^qC>nr**Db,A5mqpi#;$rEKlGCFf5bLcp&IGi)!moLATFD/e9iT7$+d^R9HAE'EfnYNQ`Ep#u)/I2iXB)rJWB_f@Y`o=p%ZAae0bqo5qVTNHiuUXtLtE%aUtIhpWFaP$=5rYt["^K1O+)Tr&1@Lle+?8p9I]b.sU>?j*3BAYfGDrtC)>S"J_/,BF*4aK89ha[b?7ecFiE86GFI.-%/R="UG54P_XkS><6kk3ta*"1.5ho3"@E]/@;^P;`!n(#5N`j3@P=G,5#f8]EA019`.(=s#:g%Wek)u5i8<s.n0b5Qs$%pk<'2poFS&\\*H>W3m?h`LUOk$J!k&%l[.q?;[<H9HN17fr<Pp[N*>gl7qRn);$LHhD>AnZ8qX(*N;6p#CH?$dfpN`O3U(2LY23LAkcQe\M(%ZG3&7K@cmMNV%0C6uRPjf+#gSpWiaWq3Sit"7I/NrdeMh?B8DOdD3F-^&2)>2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS)s*b(G%#*>qQ"1$WGpS#p%8eDdrFqqf[ViVm7-6F[d,gD.^]a"mT`YW=4Lf[/b*=)[o>sW\6MSH[*I<^S@E<h"Q5cL[d1h/5JC2MmZ5*3WtcBuIl-o-+D[1T4VcPhoO99p=kdW6n_-FbR;u3aHnfiq:g@p_*im#U465\W7?0%G\]BmWp?tFS?K>iNEE^"hCCja.`kUeW;)W<YYmnU9DY5q;E0=2T;VNS@R?r?X0t.XT5_rrCE@j/Yc.R"I)+KG:NZSQ>*n&0CVo0J!O"RLIE2'VC079atZIVq%YuAB^rkbZZULS&=GKF+0-OQkdH#K&D`b&]7^C+<QX@N!Uc"4#TJZ>:3=*?1E`JpqbjArb?ZBuM&-Jhml+Pg0]rrB(0=M$3^X7])TV&G2F$%!6oR87Bd;+.6Y@A+:-ZCd</%Ac:Za'hXXK<Y>^iG4V]iHccI\EG&+j)8M[Bmc's[[(!paWoD1T&il0Yf7Tln9r,qiN%]u+hFWs7PVTAm()OkD"kNm^"b5\Wh'3%#<Vtdzzzzzzz!!!!"m;_h[^G<LQ:9j>sVcpbd\uPP0W3dsgQR'pM8mIW1_W&S5e)TtSh30"!0[b2HZ6>7fXBUEu4ipc]nTFY'GMI-bD`#d0[beo*T#pGF[>g"*\TB^/E7b(5\?N*e;17Fcef$WM,jhCmaOL-DM8JF/[:<'=jj8g[O0i3\UU+qJ[%*8W;PW;XQPiKH.2Gir9gZY$V5%OZ]eH'E2gJKa3O$VC+K=nd/ZlJPM(Y&aD%!fG+NKGD_DtT'(JYKe.j_5ri`=U;F=K&b[ZUkBM]0;-m9\VrU8nXhc98-[N*P)L4+J)^]+):cZ;`Jk<Dq\r2U+)K3Aairhcubp=Gj4-0B)p2d"oF[&J8h'+t`p@,1o?[#XBRXn,PS$!!.\Z+fGc%9Xp8Ib8749H&>Nh$JqF6nl_T.h,>8:p+<aLgW!)CA'LJ"FGS'r<nqh&#hXJW..XhYk8$+i0KpLd[Ro;qSom\/92*<"rD=s'@P*OUW3StV0f6DbZL\+S3K]3elmm+a>9p8hQ<PqW&2dD#9`G+m!#/WUher+&;hV"8>ftZqDogO2;TL^QeLm?&VX4,Z,>gj[(r+4k;/'hq8gopM1__,rArD3L2Ht@'bg3Mr"Mkq%/hiR4K(-/d6ZUO?N+.-H]7rnQ?Yq?t<K]j*$_4Y-LkqB6K^cCoK!=q"L+WgDMX7-u)V"K+?5L]Up<lLt?M?)\Q$X8iNWra!5QCcazz!!!X9mb-!'\t-ruH=$7,%gc`,N(Gr]/;5C.f&T+@AMV5`k5dRXC#[46.6Df7Hrd`n+U1d?CX&Q@PB])Ap)L,/8CtdTD*<g3;H'^!P-N-]E\4QF,5Wg+I[7q5=Q-W!E]5Rhg0E5U6@AI=UN9kKFOS.(YGlPc'f<31?5Y><P`<ag3Mr6RVO1ehUW6f?fT.&-d*!$RAI3(:(hL!GCp;)S,bYMg8lA&F>6n*$hYA5gAWb9'c;eqUWigE.D,jSA.]TMKWk)2PWE"t"T'&9*=$=^+WiKm7WnOJQ\lDaPWihUm.XoG!n,NFg!Mk&0e`@lE3.aS.'<pW\>Ks_.>[ME^BQsI:L.O1=g6>N"18m+:?:0Y)>Zh](b8Yn6NA<G)I#"oO9R@KX9-fQ$h<N+c):I%4g953b)nl*F`G0R!)G)<a6s\'"q+XqZppN44ReC092/JP`VN0&*[=OA4g$D[5b8?:i@4eC2DREQVCGfmbi2KANf;mFN[>NL@T^nmRWRWIR*1&^6\(A#_aH[q!/Ok5Srr=af9=jPa\aK;5VWsq:T'W;-O[BcqMTFh;W7E]%S.072&J2ED.On*"Nfrk(VdqV<7bHa\WFK&M+uQK;FqL[/Lin@;5*,aEzz!!!!*a7i8@TW\.09iC'[3B:j/F59;/U"!TBRCKDE/ubg/_ot/H8#[9BPT+RbOeq?#<8hdd/i@N`c*UR?)np]c_3O_$F`AV^P=Fpn;nXc")CfGmC)X&8].AM1S2.8`'5^a>bB6]UQ5F5>bKch=>5;:3@YMp=;^/*'P%<#fRTgE"G\#33K/5;>1G^gMVJ!bXBCM=]jYIW#_4`gqoL))?'7f!O+92CegVS]GU<gHRKI_kjQIWMtj=?#HY.$ij91$-JGSMW^/T>#fF'mN6o&R3cFg+W?lD-2@7K2QGh,UFt?Iqp6jR$Z]Tp^D9.2qmYksG6#13F5'5)WC#j>rhMFNR<M,GhZt[0g`*+\dpSIRULfKd?Zui^:&+/S-g"91sNW8s3'$7bM9lE&j(=*lfYh<iRVcT2/AhD*/PtZ6SV2@p[2'".JjP2,j&q.OjnKT_<m9zzzzzzzzG*G$6@cjdj/^&I01:(;j<2!1Q[#02[OZKC>W5rj-(bln(b&R54*D04:SG77=poc3fK'0bHmq^L[3d\/u(X"Y=?7R7\2QNGD.e#<t79)NTlKUI:MQZK^.Tm2`&\:OZEnJqtLotfh]nAdB<A#Sk>p<.QObb5Z-+=A-;nN\P[?PPGr)\_t<4$9Jetu%pj!oUqU#e,aQGgk+VdD4TBdD%pdb4/8B<F@cnq$@%JuBFRh9\5POk\ViaPVKH<(B"*/7L@fC9"ZVS_:8NReX<`ka_?TMFDW/;(dbEDf%Sjn$?,V?HX1EB45Z5JK7HC@80*nH%tq/f0,m]/ph?T^M[Ws7V_J(S?!g&EfDq/2d)bC.Pr%6^XOciI#LQ0PbL402n&825p""fX5<p9r,Zpdfp-VZ?8uDRh=YJrdNr&XAW%3Jn#p5J_E52kW2d$jUip`_j\3\phDe-k`E-X<NNV!(gPVETnS-rQeRjrP/8^Tb3N_a@mb-f]WpV>lb8d;_+1WIXR@9D.E9`[_2(;-JiC["4Ank5.X)ujf.7^bhpe8Z!-iV,+\IfE-%K;0Urr<S\:XAMDXZ"PAW/-:`DgN/t!97jT2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS%ER5scMedYQbQT(mi'@JJRT-rO'Xcm^qC>nr**Db,A5mqpi#;$rEKlGCFf5bLcp&IGi)!moLATFD/e9iT7$+d^R9HAE'EfnYNQ`Ep#u)/I2iXB)rJWB_f@Y`o=p%ZAae0bqo5qVTNHiuUXtLtE%aUtIhpWFaP$=5rYt["^K1O+)Tr&1@Lle+?8p9I]b.sU>?j*3BAYfGDrtC)>S"J_/,BF*4aK89ha[b?7ecFiE86GFI.-%/R="UG54P_XkS><6kk3ta*"1.5ho3"@E]/@;^P;`!n(#5N`j3@P=G,5#f8]EA019`.(=s#:g%Wek)u5i8<s.n0b5Qs$%pk<'2poFS&\\*H>W3m?h`LUOk$J!k&%l[.q?;[<H9HN17fr<Pp[N*>gl7qRn);$LHhD>AnZ8qX(*N;6p#CH?$dfpN`O3U(2LY23LAkcQe\M(%ZG3&7K@cmMNV%0C6uRPjf+#gSpWiaWq3Sit"7I/NrdeMh?B8DOdD3F-^&2)>2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DpU-Qe`=DnLh#Pd?CUk7ho"f2@aQDG@aC;9242A.Boap2*QDDcq[jMLqd,=[S813(6ift[[@][Gr<'c?/qI-bFBMqi4JCqldGU)VN+4`QbBZq9\))IilnRbU91K879___e62aXQ4Cl:,F\CBNso?W<EIrjYVGV8*(IM1*n58@ZE(L6X(p:E[W!Did'0sV[3qlQ5<.Q/jk6-.Fgk_T<b='`U=QM//NTd5oLtF%ZRQr_89pO5Zl'`0LrdZX=DbEcM`!0dV"6qG\FSeYXLfglAof8QP%c.f<`p.PYA7,Q'fZpBZeUnjXFGTYXr"`'X;-$1cq.!OA<G?^p,P*ldao[FW*h:Hk=ZlD=D+uKHgROYq?bH]WUUKRT9*nC76.!jmIAG4jH&`l9-2J_B=&%nm@i_k3r5bm4N;h8oM_1V?JcaR?:b(`FKt3JL3l1p^=jW[F0DTk6d03(%n/LNea;nOA`Sp?k=ZlD=D+uKHgRNj-T_+%`&u%g5kJ!CrEeA$em:oHmW>`$'o%'#\%^Q;Joe,qHpc+jj:=[>T@N?!c"5ssmcR4ad9(%g$[_97kU/FfVo1^;IR*O(RJgIL*7eFerpFm5m1kA&5e"J]*eJI:WdI1XBB0Rl3M4jhn]bY+O7)1(*mn)&ZjV6JU$*jbqPV7o`dU2F;jmSjh]13R8H/%!Z0`9\HU,'Sg)bieYGut;b\,uI76.!jmIAG4jH&`l9-2J_B=&%nm@i_k3r5bm4N;h8oM_1V?JcaR?:b(`FKt3JL3l1p^=jW[F0DTk6d03(%n/LNea;nOA`Sp?k=ZlD=D+uKHgRNj-T_+%`&u%g5kJ!CrEeA$em:oHmW>`$'o%'#\%^Q;Joe,qHpc+jj:=[>T@N?!c"5ssmcR4ad9(%g$[_97kU/FfVo1^;IR*O(RJgIL*7eFerpFm5m1kA&5e"J]*eJI:WdI1XBB0Rl3M4jhn]bY+O7)1(*mn)&ZjV6JU$*jbqPV7o`dU2F;jmSjh]13R8H/%!Z0`9\HU,'Sg)bieYGut;b\,uI76.!jmIAG4jI&KWaZ0#Bdq.)b`U.JK</;2_Rl70Ze`'W&7ApkOa>bhGK]B-X>%>4!Rs]*.-"LUV["]BRE/#jY[;]FH[gptpQ.!_1)')CGL$iNPhE!OXN`P\4;&7=i;,K:e`c&LOJ)RDpW::VG;aXV23:18H\i2X8Wc=0(Z$<^OV7[S<qM2Krl,0'/B!Y%;..pf!i2OVh:hWhm[<gA0U@KNoVGc[+gm:'La4=deUW&2?QD=As_6itBflu9FpU,DaeTK9];0g[6aJ+PK=$B2$E]&ek;bFUG<(&p-8kQ_4Y*OZkRIaKU,@c`l-*DUOW7JATS1<W"6n.6$%:7TXCR:hsTK=n=.C0aAMi;NIc#%sbc-f;OZDSP`P#^85`_u*CbA;FFAV0p^QD7IUm*1XA)&Ih_TrMXD@sc$22<-c7?J`uURQ#T<1+K[_d.nGKIBk&$N^i+^-</qPl"V-WigS.DQ'/#9hTj[V0>0W.X\X-5I%K"'1k8-gFT;CAzzzzzzz!!1_M.2?WMV[eVMV,ZcgRZ"/+:S^j\9<(u>5/%.U%\Ep&jiMX8n0J>r+!l>`%G+*IGi"_4dp;K&N;7%3@uZ;8QbD\8[6H.@+$En8,m?-UQ1\"j7iGS,,]d)-VlJo?;5g+P<0r"iqk*Hi7pS=?cW(-WX"iI+6/,*\4\$jLA"Up)NX"+7<gm>\QhchGm$@A7`S)GhE,FokE0G%>I'KMA6&6IqIqW.FGC4<$Gkr_cZ$R'-@s;Bk-K[MCpe),D7GEABdeLNheF1Rr.+l8;+%,4te;Y&un"kYUG+J-jS8F>ZVBN80p;BJLhsG`pnY]XD,OLg#X,c/(`i.E.j)$W]C.rfZltNgC!35t=c$Y#1GL,`jH&-%5SZ9Bg04@XOeb644hp'04WhM$"_Y:T_O<5D$r*>\6TC6#hI*#AE<I<I`N%h"'=CP%QM<_71]A#?gAtcBO2uipY"6$7[.?mG97^ZEu7&85/n0QU7eQRUhN<YkHVm,6]e)j2?agNE^N7+$")=/WEa4!IG=a=%G?.XKUPMR#e[Q($k/"\)JE]&ec;bFUG<('.5<B\j]eMWU+oQ53DQEk/2Og0_FF5H"J[B2jFY&^Nd-`U,>?^em3C<nKB,)lH@G_X.[FWVOL*ojU"el:lm;S?gbN:mumk#2Ra'!IQ=&mAq!7,b0C2I=HS4H.(WMXZWd1$.QK96a-r0+h&5Nfl>JeNKpiWM2san)31L>@'\Y'fK'#7^B:XIP%]la]Tfi]N)8g;mG3R%B>;bU%0_+^oaq27%#uqzzz!![2eh?^f;,F0p/9k(C-!-5862l`-eRW6JmYAM0T(L+GMW^2$"<4Js^PjKb\qO;%</]<b&H)[4!G:9[Yo8[fATBPO-A8rff8Q/I_;Ase^p@:4#Y6,W%Okm';__M-N\[(N.hKZ'uJ,3gt@j=E1I+(/FE3eA;pNCtc;9rMW;WtW'&6W*W);:IU+4J@A[q\jh't74ub&q0fn+j@qK!+ER8P#p`k*hojIfUIE$.snVMm#TYA)'M@\AJ-_pnk++hY#<tPn@)S'PX9i,";2[6H^4aob3:m\]UsJGeY#$39(WXR&9l`T9"7t8]F_&Gd4M11+:Op,E9,hWVru*.]R%LL)APC!!!7UauM6&_g)1Gak-Jg'T5T/V*.hYatl?)Iu1G?Pfe%s;GLM$XYFLM'pSWo??%:\D)06&?4OaA!u0OX2[e"apZ6ee*,X0D96@a:'g7LQ2&8b)\f/SgSE:a-QbG,fY.QW2dk%u9A>mT(fM9V]p%GZ1e5s?,Tc/jBYbho.[2!t%LG.Fc:@DBH1G-MAg/cp52^)??KK#G_704RHKt,hV;pq6],EXS0*'`s*(L]Fpb'ZF;(_5iI<sqmr0g"Js7@$-;WQ:Y(GP4lL`+3]BN[D#f^oFjWQ?dgujd$OknAWi*F4d".k-E$'4-;VcY5F2j'ohpG7^Y3-2=PHM4obQ_zz!!!#T%1VPG\#Xnm'&7Ubl1i]V30h^]Ej1fRlBFYcA8?L^,A.Rj)kk99`,aRDb=(]L,>25N4`)L:[rt2J.IVF1-,p\TBQ!*Xe&Ij%g3FXThC6iLn+TRX7#PjJ9f\cTYsjop8mB,haY>)C)EK9JgIZ"F?Cpfs.QRLmGd4-4g6WVbmJ7j$6DI`Xbpj_Dgp_!ZW3e$34f#=eQV+/0LsVg6Bfl]9L)V?7l92"VAnGM'Dd1f`^Fq[cqS$`UWP,=oI'ZH<[IQm6Q-XfDeT.e+U2VE7Lf@)kI;S4S=aAk(:S.*TQ-r;Mf%3)UXfc`3eQ#uQE$g6"EUY%u!!!!$i8H>B!EsDfk)(Zi2=k&%hDq@C2]^ch;`c6iVT(KaO*Si(2_)KaQ:T79h:j'ojZg).)PFPPZV"M=D8>L(Zq]G7E8B?6R's]5ilebo,m34NT=.WUeSHg;iM`VlC5fUS+@`D/<KA\HAZY$h^91Wj[DZ'YbX"YB/L0-@rr@+8h(=HuJ+GprY8;o_,@&_uCWKZp)GH4mzzzzzzz!!!!@#79l3HmSiuDn9"=5O"VA/QH?H5pkQo6ZkA'M`l^SBTrg_Xus>lp)QoZW`Aa,VJ2s7N8,."o)A]]fqtY?kLq<X`GJ@A@+spaW`^#0XNXr`:;o^]M69Sji,t'YloJZnC\fD&f='4tbPTSbCp(ZUJ,]LDJa*'K7]qRoD2R%H<8h@\A#ATDQ8*f?O_7'_W<l?<Ht7&CN2]\?R2Ye,X@b=kaJMA*?'Vo63)Zb/2!a@X)>W_VLZKH`XaEP(1.k6dJ7LWX$"BE7>:nT_YjH;jGXi[nkindgcYR9neU*b'<CY]@QEH-G&EW=b5C[-7W@2`Yb>hhM`c9eT,BSr]&Q(O1NCC+\W[4_!>7=U3h!&>&.h)-&Dgf!)^4LF0WdI1XBB0ppU7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-r_G</k"MShTM>Mj9.5rmQI4sB&EnctnZcg(6!k-FPJpN*0lBWO#D"hjWVoFmdD;rSj.59P8$bl4eaNb^9nIs3qUp56aNTNg;j%m`5-eNP/=1\(dFSBpKopu\mQ8,%)$O(bUNg',1`d.A!BI8f,H@m;)^.EqdpDiSTd,_(#!=S@Wi4eQ$:D%Aomf@<&.jtlQ5U7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-r_G</k"MShTM>Mj9.5rmQI4sB&EnctnZcg(6!k-FPJpN*0lBWO#D"hjWVoFmdD;rSj.59P8$bl4eaNb^9nIs3qUp56aNTNg;j%m`5-eNP/=1\(dFSBpKopu\mQ8,%)$O(bUNg',1`d.A!BI8f,H@m;)^.EqdpDiSTd,_(#!=S@Wi4eQ$:D%Aomf@<&.jtlQ5U7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-sVGS=#eEOg-s.^uP8m>>\ElIGcJ;eZql<UE/C;Q8/X<F[ft$lFpr>LI(SH"<-_,\g5<@1Db4mS2j"ca7R[hRBps?^0/R4t+%=Q<>WuA9#W3R+9N0SCC$9W/@UT[NZP0B]Z[2h77Nc/+3lWHGMrXf228gI5Hpn(tb@]F.B4=2%rT^n0.hZeK9/o&:X.t9Pm*lrrAZm:PC'A-XEfj5D/N_OcLLC`HT"U?dc.PPjK?n6^9QAb0(NLrrAT+lD#R[PAf[4o+UX&6]UVWUoNH:h'h@=qD<T<r'AAI\l$Ik\l$SYoP"&Wpk+UqFJFf`FJG%<kgAu8nHU)kkslWJksm)XdA,hOiXS&`dZ-,sdZ.&:UIWO(`#NuJV&X,pV&YtS7ZWq/LcFhs8iY,j8i\g/N?9l>&96OoP]<8^P]CX>)EqVZ+QL)i.-!DF.-0.Z1jm7>6-"2\;9!gk;9?<>B_dM[K9#DBUQ"Y`UQ]W[dIS%A#9D[c7iC1J7jd-@UZNr`%QhAPN\eAsN_R9`8'FcI*-Zb+*+sVp*1MFIO-lPq3:?N536q7j3B$kr+#,tkES^&IELlN^bkce(f8cWs]s!9o8<*VuYKGrV<G/)+b&sn*`DRLU\Z4q2^-i<-<Ga"LOhUCUAK+\08G2[jAo8^59FlP]S4u'D`Ce;uM&_?u9^];4Vi'=IaR'c-7PPo.]2kncj6Uo1A_n07nQkr?rlkO]A8&D8BjLQpA%.0<G)jl`[_7#gWH<M<LFeAfN3->`O(mj2DHa7X*A=N(VL<3Vp\D4$L9TuX0<A0S;b^%MYCSc,[-U*jP3^A[R/[-uk(YV)n\-KQ=YFOCGh+(B&fB(c:dg6.@YpC*M:o.=lWiU&e!;`-f@E"$Q_l4HkMtDV;HmT[nRH$AA5T)j7iQ8[;mW=DgGr6UIh)R-,76/g]70IeCOY-=c-i1;X7<-Q=_p*dCUE9GgT/pM31&Xbjr\;,QRVPSdYFiL%*?Vj6O1EEKWAG3?Y=<5Pa'kWN2UR*C)H$C@<uXF(FKsJc>)i4A6!2(\m#fY<;e$V/-f`KRJi!KF%[0EJ#o&qQ[DS'0ui:ZeOkb8q,5e]Dm>:%l0R-'"JX*H_uKc;zzzzzz!!!"I&7Ne_8o>A!,eBMtN0;[OFD'c0FNhg^RuJ/l?<N\a(BT%!*ibXdU4r7tPHl*Mn@hCMNDJq_Pn?0#f0%F/7d6pbA8o#3cW"[Yqc1dpDC-q/I;8L/W\_*W(V(qnR3nJk#!bh)*?hkV`Rsqb!$XCF3DK$C9%b7Ab#3I^7PkT4g7KOm,#$230W?P&R;_49D69('4!0jM7b-jKnhC`$<=MBS1\W>;RS(a#@o#6l;tO%teB"]UIV4VZY@G"f;Vi-7$OhBFTLW6jStL,IPn#7OldgeBN4>#%Z\;9=?5<78OJJ<6/*bXV+9)=VS3'=\Af(HclD8=HH!>i_.r@\S]NgM<J+@G-%cXCdSapuR<d"bnN-<OGOX6m?=B-S7[1]4AGg$&fVhru/l>bomb0jYd^7-fgSuK\)`#.4bZsHZ[AmKPV(K%d/Bd,;gWSLQCbH=JaD;ddn9lTSEKF,jRhTW(NX'2TMMlQ*qNjZ*lOud:V!5k[n)[gKTGar\Pb!_b0R$cVMe1F-B`)ROh[arBt`.=Q[&2T4`J%(<<r2+HPgqs*lz!ko`Lh.qFb7-uA^$FuZd:GCpHY1'$=1?UEg8VN0LaD"ip*Wq(NlJtI?:QodZr`dK+;V52dDqUk^cO=APrh;l^>nF\+[>Sg-?KSEnSsH[Jh?Iu^:LtH?pXr1d]@.qJ9MJ+Sf:o+t'@YUAD+@U+0*8g=C_lLrN?W]r.R8Nj_KGnZzzzI8F=rWQp2kVSnZpWDo`aVphX7fj'AtVp0W%Tu)X,U/R,pPp+YNZm:W';M^-T.V`\]l)H6a-Y-1q`okG;W\o`F&R>(@bFu%R;,tcM&J8"8cTF&29iFt@A#G<DpUSG&f!VHVk;cU1,>f1U=$e)Hp\0&KiXV1B11%Jb`IBZ((*Q[5*DH[kWhM23S+O<&SKU+6qAKZ$C6kZf(/4BQ>UXHl/IcPoTCk5'N`J6=B=BOsV`m-Yf$m9XJkF]8mcLgrd8JWU7^kaTqeB>!o6Pf6`CcJEY&4`BF.#SD.GkqmohSA+/XAkallr\o>jHV+7FOYT!!!!Y3)%RG+sSro8gL)Z,2/kFC,/BmOtEPCA40ZL)L)i/=7U'4qBoiM$_XN']^o=agbqIh;3*3,EsuP>U[A"t/"7a?pUjFN*:'"c60se&U_9"0Q:J>5,BcXqj\a"/9oX=>oM^HmHt'Z49Z"LdC@PQ"[1sX^HR\Ua)5Z_2W9gEr&%$O!d'dW0T9pE"cFcM:M2Z@$Oa+$(g6S/X3O&KS,gcA!.(i[\U>$DlD%_X)zzz"5DjPFa)rZmafD/'d_Sah0;qpdHJprg.:=s1K2aL3^dNpRneipaHH,.9.VutT)f@A(LkRC!o]X7(ZKc%VmrZJFL&T)Ceb0h4g^A4;3A+?\aF63K]-nl+hB@ua*HZ+p8K4HBd-\*Er(X.eu,s'f#FtoV9W%.i@]>NNAk#Z=MsbN?Ybi].LhPUf<rtk3@S$Xi@1)A;QN+&g?N+Q`@14Y;4f!DZmYc@ZWCK"lcn2]3q;n+N:3TbFK3%>P+LE491m`@pChl\os]u<e(Mn,0*`4)Sb"ot07;*be_$Jc=#'sH.A=3"Vl)uN,>Q8sI@RH9AKn/D,>g?QC/\I>z!!gb(*'0$=Pj42u[0h%C/+@9fq9dl^#';:gWL5I&7$*0Kb)7F.RTA.jUb*p(A7RjQobA1+&67.Rpo<>#?H9=nf<O^I>4stVNbb)^MN1+o7FI'Big*bnU8XuTdF:YHEu`_2\ZT]$f/:ZZ[E,pV;,L28#Y*>t\^&d<V:;\#0imQ4%:W5kQR`nXY/s\--2"643**_4Zq@9$*3+tmZ",%P7%XMr_?c<*23PS#hcCL+R"%+Kl#0/u+uQih3]HcP[598u&?<.'(+0NLFE4PmRj5;(6S*Dm]e5+TmX30OP.lpSNGWJ[T<u!>6?hX[MV5)t]o'oJKj+/t61/(-p7Q@ma5Z2C;0UblR8T3*nnF-7m9*",.4"7AVN(9F'?FMsBbrBpg$kekOC136b1t4=NbfGikUS!#>-P)b'ha$$WMSTJMOg?d;q+eo[M$g>"--f#Qt$iY<62iL\EM&hq&Km6=];l;nsBiMQ%+KZ=8iCorrCD^okLB3.N.'#l5u_Xn,NFgzzzzzz!!+?omJRj7W[s`c<TaD?,$<ED8U"q)-+;@_?Qr1d?&'$:KM,oT8MATCPM4M<Lu;M)R7(>`2MI2=0PXj[HDs%P?P,<*W0Sp]_54G<\N:/K[?Tmhb%k:ZYrN*SZqbVI/F_(n=#B15ddgn;"e7F>HPb2B4]^f`.(UEGSLDN%D0B&o4"SC1b;#b]AZ5-o7VN9$N>[K!b7UMRfd4(:Yf[7X6:d9(OV&AG'O;uI9dGos,G-dIY&g,5Y&g,A\^"4'Y&^PBWp*M`<@X]fHeeEBHFcTrWiE2$j]/]g<HP7@WiE)`<EiGtWtgLd]h#0Y(&F.U2%#%4Roc]Al45'q$=,9T*Q`B#b^F(oC-5VC.;C[:Ku(ViMnXeSp914%m^bt>0.NAm'N$S"c]Uj>NFNgTd]RYV&J4\7;H6fKda1h>5&0?CCiRJ5[Ej3M)V2;X.cjVt.H@T`?Ia1:QXj*(3AM?tZP>*PN,@f)D&L,fM+mfPV]5Ou[k<G<9<':T3:W0\"o\ZDYL@)WL7u\i#8ItP,Ej*R#ha,6gS_Ne[&&c=o1Y%D9/K3aaX=Mb96&%sV5;=n-H^(XZ1t?*M^;o5Vm`q>JW&tnU8q2<B(^N&fchc'nnn=D5%8sa,WP5d8oEKA^!_p8^S=<C:W+5sH_h]pH_h^OIn#KdT85JppI[EjpI[G(rf&!S57hhjmZ_^^mZ_a/r>Ik/IN[[_h'h;Fh'h@=qD<T<r'AAI\l$Ik\l$SYoP"&Wpk+UqFJFf`FJG%<kgAu8nHU)kkslWJksm)XdA,hOiXS&`dZ-,sdZ.&:UIWO(`#NuJV&X,pV&YtS7ZWq/LcFhs8iY,j8i\g/N?9l>&96OoP]<8^P]CX>)EqVZ+QL)i.-!DF.-0.Z1jm7>6-"2\;9!gk;9?<>B_dM[K9#DBUQ"Y`UQ]W[dIS%A#9D[c7iC1J7jd-@UZNr`%QhAPN\eAsN_R9`8'FcI*-Zb+*+sVp*1MFIO-lPq3:?N536q7j3B$kr+#,tkES^&IELlN^hB-ofD3qm_7A`UA)/<@eCbeQoQi@%BV#LG1A9^Dc>Z6FTAcDc)EIWBG$+2R[]68JnbP\JerrBHgs3d0lDL8Ilm@/5[Q*PPeETL;h"kRcoC/l,C4+`(tQJ:s['4`[L(mSp^IC=uN*l:jUfO'kcrn=8e9\7IXpWO$dEEtLKQX(>JOiHXYRF3Ti,LJKrD*nn9`7&3m\UC'XS]i&iPSc%_>uu1"q?gCq0oI;T\a#!j,&rmS2&0q&_belHbF2Ao?>K&-g?NpD?[-1,H'8a0C6'i':AEM=k,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhB\9_E-Q5S+59;T:1`Hn4Y]H2q,C?E.+6E4,;:4Pg4F=<<G;e_1ZUU;C?I8-QP1Tr3k[4@'d-U?iad$]TZe(h+G;UWNO5hC4KH<*3h46-:0c>2L'>q35oLuic=@T_,T1R6[P1NS0cB"Z`*nLNOXQAlpAiIS.B>^(ND>`O0]dOJAK>AS(l7\XmnDV0pgC=B5d;kL-gC@mnDHCY++;O]S7c$"uSc.4</R2sB1;P^o_1rtYUU%4^s(?8.9%M:4KHO&;Ke]0t#:tJE/%9-0JaVGbVb7pnq,J2a0a"baVm'5d+2-$ZUC0H$B<=G\)UoKT@.Z!)HY?7U\/92t8(Ps=n>307qZ,hqo<4+=+73mq8-C3c-r4.$CEL/:VcH2>$:#0\O-<-BC.G5>E4QW66*e!c`CKf5"V'sR6KZ)`*rr?I&df`Oa"s:a!JW3.,XehR,f!R&E>)?6g25l=eM4kM46;g=^(2#uR,)59k)&$20et`qQ2%_B-7.9sa'1+'T&*:?C8pr57IMCOB:EIip1HW7kLO$9tPom-uZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1j)X:HqH'-`.CQgZ+*_CAH'8a0C6'h`j(=XHY&=D#]P_!&T1\]^Kf7O]_s\#ZmkS>.D,KC^Hu.7&<R'H6f8[tB;s@V(n>=q)G^\P=h<%Bmc)Nn)DiL2lC:Utcg@;^p8pr57IMCOB:Ck)o41r[jH*p/-%IpbtbuZiTRpJ$+BhtRNYJQcEWT!T+B6Tatml%-8TtWF!H)g#r1Mb"lbpi:g2>C*eFZ_kWbjP'L*Tkln<&_hA0/["k#&SV?\YVKTk._7?Y,@'3)4fVp_n=]ub(f]EV<4hJ^s0&%QSbVg][u+:[FF^C__\pKR!5$!Gu3B;1q_@[GT!pLEorV_=.9%9[^r%PG\2/FP7I2!O")+/As\shDZ_o1jZ_e^.$Ba.]!GSg8g@5`eTTAcaWi#enVYUJ:DgT"m,/p$rr?JQhPdB>/fdBei7/lJ(Mmp:<)cMnk!cW5B%NW_Q0s%INB'D+FPN]u+u;#D>9Z&T'LmFm.-Pbf.eXHnE#EVE`,J_gHu0*hMNCin[*.aR6AiP@9/;"Li[VCFc8pVXMPf]jJ,ME$Ip4IYCpgt3H7-'o$\<iqR]EQY.1]^L4-Jr;(lXE58?Q!)a*6JA!8`D@f2pPS]1$)*p=/5QA.3Yh;b'VWTCc5pA!?nLL)G;S$_6t!WBNGDM6#9[OMUe'd8U%%L=Fp:lQ5*[&K8Qkm(4j&(DR4`/SZ<@`@[Q;ETp;/\\_\a%hIb?:B&5"Wt`_@Yr3rA0,[iFC2.@QrmEsNCCAkr!5G`5(0gM1XK?g<p\Em:rm,YLrl;<BPbZs/)NXKgbg6:h;],'L-A5#'iXld%@O6hL4J"e<z!!)?Md%@:8Wc[IT3V5lX$@KoG<bY&@Wg&i]a)Qc3WN)@->XVO7.F(eU3n&mXM'Gnt7Blck)MmVCB^4`TMP;MqA(E(gh<n6XOin`77lAH0fu87pbuJMY,,4<boWp<EVOF5OB]b=8)WctPnK^T(.^AnOCUfD1a!*MY;,n3,KSh4-k'\mYPq%1YgH!QO3_T&l:76=\Z6i;6.Fl0_>e(?u.X"4J0=[jg[2GrZ;44$)'7pbnK',9J&CT"cgbfft9PYKb;U3juNC7PcetlB+CKcOR7*paGLe:dX_9COUM?kh=OcV;rf!V_SNGDBB7^WkU&ZCMALmeo4+oF8OBhtRNYJQcEWT2b-L1b^u0^gountYrn2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1k$l-_ls2M`pEe4-XgIKgFBl9/EgL^LHe'V<>"'X5-*BNKf[-;<.>h,3""RMDEGJHT>5:K\.$Q/Arr=iuaj'2$_=rZj^);)k>kMjgrj6Z<'XGa/[:+.61nU4_U+D9l7=$<r=,O.L`%fikR>[-1j^o=ARmThle1,[mVN+,;,8"cpQ-PZp!1S#^a$`<s,&pV-WoR:q&O;E8z#!^7Tr]X?&f1nApEa8=/3q&rV7]P&+fo[`8)g%K?8nq2%oa.j;/Ais5:,I0b91J(eilMO!T,=l('oHS=32YfVPkRTeF^5-l/9'.EdSm6Lr>XV54uIh:FcU<<gg3'GY!ka`H/(-(8VQX1ZOfKJ;cQdp8<P_hL:P[3e(?\*CRD9a3leWCeo?fe;,Jkh.)!fm;Bd;8Y;Hn.!>/TqcGCe*!;q)/hfraWY*HOOmD&Z$)PbH3-b_KQH)g#r1Mb9[/nn+XH*>)SCT6:eL1b^u0^gountX5"fqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1j)X:HqH'-`.CQgZ+*_CAH'8a0C6'h`j(=XHY&=D#]P_!&T1\]^Kf7O]_s\#ZmkS>.D,KC^Hu.7&<R'H6f8[tB;s@V(n>=q)G^\P=h<%Bmc)Nn)DiL2lC:Utcg@;^p8pr57IMCOB:Ck)o41r[jH*p/-%IpbtbuZiTRpJ$+BhtRNYJQcEWT!T+B6Tatml%-8TtWF!H)g#r1Mb"lbpi:g2>C*eFZ_kWbjP'L*Tkln<&_hA0/["k#&SV?\YVKTk._7?Y,@'3)4fVp_n=]ub(f]EV<4hJ^s0&%QSbVg][u+:[FF^C__\pKR!5$!Gu3B;1q_@[GT!pLEorV_=.9%9[^r%PG\2/FP7I2!O")+/As\shDZ_o1DHtV^9(QDD2V1mFmgRM111B$V;<:/mCsqoTc/<3cRldJf"(5sngi_r#*hqo%>uf$N.#>%_eLG]FD%;`,H"kXh5>\.RRt=XQ&Du&D10]b^UnEs:)Tc/u3Hh(>h!hm-bC^NjMONV'R:]Q7j,t``/XA-_ETN<ihN;+#gM/UGj`7*-MQ*_!00O=#C0gHj7Nch1(L.UIcLjlOZ*Hr4NHDgG]j9LenIn55Wjtu,&Q<hjFYqGFzz!Q)r2[,VXm%``iALSMG6]#2TdCf2<c_Ga4'7IZIraN'UHZ0[a9<m&t#*/e:#qP^Bi(\49Y4'/j[WhbKeWM*8]U8F/^lnuf[dIrm3>L1I*E$dB@cB6+*Wc9W3f)8UfX5S'@Q+?c9A$20Z;V%Td[d_Rjk=uOuE8fTt^*':k"E(/[nY1>d*<#PdT90]pLN7"XB48eM(!Vd-.%kJ\*AYd`m,Cas)N"EKL9am/d[DJ`/T*t^00<l@1Jt%,aL;a<P;Cp'gGQCig1`d5M('Vmr.B"FRriK`GI=NE&`*,9T)SdV"i'_4;AER+<OCF9>?0iT+sU[5kiu#.p6$qUlEU)k?gTT/O)kMh*H78bj3;R@`?I4#n@'Z[<n#d*;0HC_>=eI(g%bhR(]M:Xc&K#5V[gDknG^TmJ*`G8A.`[8R`oW3?2#l*D\)4+-iLen;tt68d[s/'?\LDi;ocB9%*n;s@GYiuj[ZY)CsqoTc/<3cNQ[bhl!A/pVV:<[IGpUMk"Ik]W][4uNLF0g\\&@)n[W^5I4NQk'\cnh&%j\[]ZGqS[7?JknZtm5=#Y]"?8jKN:Si??_OG>?iV/(>GF:/R2Q62?^,B\NWoie,CW>J\.J0f$peu$P4?i8YmdhbGk1(MP2oa)q2-euBD0XjHV*:1,^C"h\Vha+HS_dnp]\9.'LA9Guk,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhB_>BQUVm-1$q.=Cqq#:>oD4V:5rrE![54Heao,\q7eK.\8h]"DbeT5sQ[H*M0S3:?>>]4Ig]Q$VF1=imD385FagO>tuT..`MW7L95)ejnp=K4qi\F[@$Qb\9N-q[B7%kr"s-Htg^HfJpH=Hd)lO%!A).RtErS64a(MQ=[Q2Q%:L[<jNHX.89Rl&5(KpPs5.j,,Q#:OTo+>`,snN+6%W1-"!f]NEgT)V\?!WiG/\>bEdg)DH?.0KfM8puYm7].TT(fsPS$iQJDKa/IId;lfG]W8<S*WQM/;lF_F-f*MttaqB_7`f\7s8K(B8AQEF"R7E0C`g7^hG?/'i7-;@oOhOj]kG=3)2R5m?Q]#Vtj]1<JcERs^eBKZW33UNL6P_&\Y.?Z`dO$uZIaZ9MYq*14N,)bGc>d]93E9lc3lFHk8Gq8RV*:1,^C"h\Vhn4DL1b^u0^gountUX%NLF0g\\&@)n[W^5I4NQk'\cnh&%j\[]ZGqS[7?JknZtm5=#Y]"?8jKN:Si??_OG>?iV/(>GF:/R2Q62?^,B\NWoie,CW>J\.J0f$peu$P4?i8YmdhbGk1(MP2oa)q2-euBD0XjHV*:1,^C"h\Vha+HS_dnp]\9.'LA9Guk,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P1\R(sds>lM>*Zoa.bqRTgm[nmQ#)qiNukECg[ZeS<+qQ\;rT`!M"\2WhMAY/,$Ih&'PZ=,7IZ;SZf^&2]oBAA.56JCFBhMO00DNf9e2s9S['M^<&'D63Ro`ME[%WCX].aJ75^ZYD,H\QUF@uD%UKrgeCki,QECN/O\1[(8IO86C95R6lPDmf.U1Ois3n=bHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg6ZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!Ys2rrCS3HiEK,rr=c]86qDY!3+b+rrA?jTC/I.bf'KJ`W#qUVu9h\s4+IdHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg8ZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!Ys2rrCS3HiEK,rr=c]86qDY!3+b+rrA?jTC/I.bf'KJ`W#qUVu9h\s4=UfHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg2[t[o^hS7[O(](>XBC5^!YJ9s)p-7n^ftUYNS`N&9ormtt/jA*\IitFJW-8I<jcB?gqFCAQqfKT\rk\KHp.kMB*QIP2qt$=Q27?`AZa4@!0GgSc!1J*rmLS*F\pMnQhgY%Mo8@'\`o?3jb;]oUlETT'`SmIS$u`P7P)R<EhrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_3HQ7>0\GlQ3XWR3(Ponbql7,TrO4o)frr?\\dJDm1<;Q&,rccn<D4H&.%i8p6R0E>2H>UfcQl_GTHiF$FU&BW;ce[Karn%$743-_/lgp\1^2\M_'=QoT@?+gs!)1-bE=_N!gg@Y-A!arS^Ae2j45UWpr(]/124!cLd:rX6~>endstream
|
17 |
+
endobj
|
18 |
+
5 0 obj
|
19 |
+
<< /Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 4 0 R >> >> /Rotate 0 /Trans << >>
|
20 |
+
/Type /Page >>
|
21 |
+
endobj
|
22 |
+
6 0 obj
|
23 |
+
<< /Outlines 10 0 R /PageLabels 11 0 R /PageMode /UseNone /Pages 8 0 R /Type /Catalog >>
|
24 |
+
endobj
|
25 |
+
7 0 obj
|
26 |
+
<< /Author () /CreationDate (D:20161202175323-01'00') /Creator (\(unspecified\)) /Keywords () /Producer (ReportLab PDF Library - www.reportlab.com) /Subject (\(unspecified\))
|
27 |
+
/Title (DHL Business Customer Shipping) >>
|
28 |
+
endobj
|
29 |
+
8 0 obj
|
30 |
+
<< /Count 1 /Kids [ 5 0 R ] /Type /Pages >>
|
31 |
+
endobj
|
32 |
+
9 0 obj
|
33 |
+
<< /Length 656 >>
|
34 |
+
stream
|
35 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
36 |
+
q
|
37 |
+
1 0 0 1 62.69291 735.3543 cm
|
38 |
+
q
|
39 |
+
0 0 0 rg
|
40 |
+
BT 1 0 0 1 0 4 Tm /F2 20 Tf 24 TL 72.14488 0 Td (DHL Business Customer Shipping) Tj T* -72.14488 0 Td ET
|
41 |
+
Q
|
42 |
+
Q
|
43 |
+
q
|
44 |
+
1 0 0 1 62.69291 725.3543 cm
|
45 |
+
Q
|
46 |
+
q
|
47 |
+
1 0 0 1 411.0236 779.5276 cm
|
48 |
+
q
|
49 |
+
127.5591 0 0 34.01575 0 0 cm
|
50 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
51 |
+
Q
|
52 |
+
Q
|
53 |
+
q
|
54 |
+
1 0 0 1 56.69291 56.69291 cm
|
55 |
+
0 0 0 rg
|
56 |
+
BT /F1 10 Tf 12 TL ET
|
57 |
+
q
|
58 |
+
1 0 0 1 6 3 cm
|
59 |
+
q
|
60 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
61 |
+
Q
|
62 |
+
Q
|
63 |
+
q
|
64 |
+
1 0 0 1 246.9449 3 cm
|
65 |
+
q
|
66 |
+
0 0 0 rg
|
67 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 215.0449 0 Td (1/1) Tj T* -215.0449 0 Td ET
|
68 |
+
Q
|
69 |
+
Q
|
70 |
+
q
|
71 |
+
Q
|
72 |
+
Q
|
73 |
+
|
74 |
+
endstream
|
75 |
+
endobj
|
76 |
+
10 0 obj
|
77 |
+
<< /Count 0 /Type /Outlines >>
|
78 |
+
endobj
|
79 |
+
11 0 obj
|
80 |
+
<< /Nums [ 0 12 0 R ] >>
|
81 |
+
endobj
|
82 |
+
12 0 obj
|
83 |
+
<< /S /D /St 1 >>
|
84 |
+
endobj
|
85 |
+
xref
|
86 |
+
0 13
|
87 |
+
0000000000 65535 f
|
88 |
+
0000000075 00000 n
|
89 |
+
0000000119 00000 n
|
90 |
+
0000000229 00000 n
|
91 |
+
0000000344 00000 n
|
92 |
+
0000109132 00000 n
|
93 |
+
0000109402 00000 n
|
94 |
+
0000109509 00000 n
|
95 |
+
0000109749 00000 n
|
96 |
+
0000109811 00000 n
|
97 |
+
0000110522 00000 n
|
98 |
+
0000110572 00000 n
|
99 |
+
0000110616 00000 n
|
100 |
+
trailer
|
101 |
+
<< /ID
|
102 |
+
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
103 |
+
[(\010\300]UFU\240\012\257#\327\354\302\002\)\275) (\010\300]UFU\240\012\257#\327\354\302\002\)\275)]
|
104 |
+
/Info 7 0 R /Root 6 0 R /Size 13 >>
|
105 |
+
startxref
|
106 |
+
110653
|
107 |
+
%%EOF
|
doc/Dhl_Versenden/DHL_Versenden.pdf
ADDED
@@ -0,0 +1,3986 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
%PDF-1.4
|
2 |
+
%���� ReportLab Generated PDF document http://www.reportlab.com
|
3 |
+
1 0 obj
|
4 |
+
<< /F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 74 0 R /F5 76 0 R /F6 77 0 R >>
|
5 |
+
endobj
|
6 |
+
2 0 obj
|
7 |
+
<< /BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font >>
|
8 |
+
endobj
|
9 |
+
3 0 obj
|
10 |
+
<< /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font >>
|
11 |
+
endobj
|
12 |
+
4 0 obj
|
13 |
+
<< /BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font >>
|
14 |
+
endobj
|
15 |
+
5 0 obj
|
16 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /DCTDecode ] /Height 268 /Length 108590 /Subtype /Image
|
17 |
+
/Type /XObject /Width 1200 >>
|
18 |
+
stream
|
19 |
+
s4IA0!"_al8O`[\!W`<Q!A"3Ns5=A`7<iNY!!#_f!%IsK!!iQ0!>5A7!!!!"!!*'"!?(qA!!!!"!!!".!?2"B!!!!"!!!"6!@RpM!!!!"!!3-#!AOQU!!!!?!!!">!AXWV!!!!5!!!"\LM6_k!!!!"!!!"p!!!#G!%l4+!!"AX!%l4+!!"AX6"FnCAKXf_Dffo=BQ%i46W5fa9jqOGDKKf<BE0eA0KD0K1-.*E+>Gc81,_0M3<0$]TE,#p!!!!"!!*'"TE5)r!!!!"!!!/+TE>/s!!!!"!!!$.z!!!!'!<W<(!!!!"!!WE'!?(qA!!!!"!!!$@!?2"B!!!!"!!!$H!@RpM!!!!"!!3-#!W`9(!!!!"!!!$P!Wi?)!!!!"!!!BGz!!!!i!!!!"!!!!i!!!!"s4IA0!"_al8O`[\!WW3k!([(is6Tdp6"FnCAR@f!!!3,f!"M;*Ddm8XA:OX[!!3,S!/(=\#RC\B#Rh"G$kWjS$P=*a$k*X](_[Pt',)2p$k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OF%1<OQ%LisZ%M0<a%Ls0e%LrsY'G1`^$k*OV&I]'V$k*OV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQs1eUH#QQ+MTE>3=!!3`5!tbS6h#IQX$NJ$F56(Za"T\W)!<E3$z!!!*$!<NB-"pYD?$4?k7!<iK)!<E3%z!!!!"!!36*"U52;#mq%O!!*3'!s/T,"U>5;"To/h!<<05!sBb[0a0j?@1si)JMIEDOeK$H,:""%_.#2WEe;\+#:5O3nDWnIF#=`-Z@aJlP>l']_P;32(Xc=CAb*0\_p`bgo0t*lUkQ1@`73l?V7":mjn2YdG(u<[[`6n\p,>KCB6T,tVmj^ukP#Pg!WiB("9\f0"U52:"pHjb!!3`7+YaT45uD'1+qk,8JWUY?YsK\O;UOti,\#_QJs&K"'k;;AnKeATU9]CV-8iZg7$CTF(M#s72KWNio!="edrj^B7[0^&[$ASZjRf:V`RX)C<b?N0QDV+1f&lZR2b-q^GDDN_\&\O&!"8r1!!3`7&HG#qll>2+GI[3jT+p&;qoA.S5O#f>Ik$?Ikt52N;n;2[JBN<>!-nJ(#9uGP&2`KZZB%n,HB6gl5*k*kasZ%nKLt_R]rR4Z]a*jF;TlC%qQ"!Kf[!iV='KfaF1_$-PMQ6=>Z:4'j-F4ebV;?lbd_4/cprq^"tXh\:3";de<,7=nNAhucBJ8.Q8JUAgPLC7ks+uR:]7f5O86E;It&F;!+K^C!7Ha)rE/?n]5:l,h%R3,'b^\a[Hd;CGu;=7J&d1WmX256rrDm+C\r1KrrD/?5PF(_*D6bdrgl#Z='0]W/-X)jXI\eYb4FJddPJI;XgsF,9u*&!]s#h\#s/IIWIdD=(aDjI+\<c0A"5N`o+I-L/@:p3k-#j9`AmBT.?HV0N2-/3XhF`7]RKF(Oe7Pg\*[<LUO;G$*to_hC8Zd8%=JG@UXY-7'SkIn3SKcu7/m7@a_.L>qVpHpT2EA&Aj7pH$aaCj6Pr"@9`D6o?g/:h;j#1k,i^>@_\"SeidPU&d=YYhjN^oL'>kY#)+\Q.m2+-!DKMNKZ)@TV<[c+o-F%GOhR-mU*l:GnEZ2U>!fVKsl`VesNK-]eBq6/+QH0R7,JPsUI9Z"b:;lD7)l$Ne=Bk#hCYT(E"6o6YX`LWE!(Zt%e#@VRLWU9b4>P*CF#qDB!&]d$escNlNs+JOHrH9=,^um@qU0P'lQ%aY]"9c_AW.q=BsUW*NbM0Jhb#4#:o';j%j[G&MlHQTd](9`h05e0>r;]MIGKGI^FO7%"cN9OrrCW6q2^<j_2QZBE_-,5Lo\XZr3;.Wgl<p^ifrM!d>/D-chBfVjQ>L^#+W>\j+id:l9B*Nr@Pe7PRlN>-iX/tC&\1B(BrB9Xkd&9faf#P*m,u2`Xeg$lauE8n+;LO*[UWm<T<%uf%P;UGTGT&Ij'gG]fI5B!uR>/dY+ZYFF>kC!7=k<iN`*pZ:r3g'WSZPqHc@72I>jXjL5'g:,i#e-9"]Uhq$NBD=@G`pQ\gXi).t-lbfJu1KQa_^$"Y8rrDBb!77qAC;S'6+i\aQ,7F.3+&O'6q$?L3)r^&#].NLMj7ee,kAD@$aR3#+\*4EZr2<(_iYnBbXf)3Gkb$FF2nSnb:]70&a8RMXp<QP7!/LRSfPA7oP-""&VnLu^\!-glHC"@+!6$;^(K:>67;r1e/cPh!98JlT?\mukrr>-3h[mi`rrA+:[Q;D/+:h_??k9U"WB:^RefWKB[BM`gj$2=KVE)>F/]J;#!2k;'poj=j@_?TR7Qn3-]P!=/6S6N1oeo>3n+E.'pUB`Ef_*J#l>KpSMr+;8k7V%_>9oE3F,nd0-Os$7IEB]$A,0VtE0h>9hXl8U)>RCm)*%1X6pp'pV%^g4hXpf+>R1_8qQZ[>3bBnFaLnu?q%aK8k@4PdeAnu"rc<"YBDlcI)Qj#>1:l(s+84ms@[I#8lTR.TgRn;!dH37URIQefjof-g]Fp#Uri`AZ]pgZ,Q5g,`Lq>bpC<rlgU3/$A1@FI'"m-ZJZ<0I25F\XdrrAe5rrD-1NfE^AV<2%<MK<-oO%[9o^HpAWmeT8R<nEu?p>>@h\`tVOrCA*jrC8$-KDZKIP(0TVNGd)/=(9hI\66!!K;S9ulDD$If(/!?%'T9'XF$K3jA5$BGQ*V%o(,\6NXfEaQF.2_$o#SW+8<IMF8l4Q9jF+)6ucY[.f"=b0uk7Wrr@bi:/>3@kl"Z.WSLe*VNO`Pb^1lNJ'mq5[EN-h\(OQdrr>56b'H9>^=H4Y=*9h]6Wh@f=X9RDo8'%1/$4'Drr?qdjstB8kLJ1+[m)5nA+JG,YA)c/_t;a9J#0X<J&QoWW?n#=07]!Dbb`0>(uagSe:6a6c:h>[<\3f!o"mTBc2Rct\XB'gnM"W:)1>=];b1fp5acWg/Rr")F5?dp6hYHKn,0a]q[$p79l9S&Mq:"u:b;6AMbLR6)^(RF=';HmQN$sCD#G9qrrAHmB?$#0F8l4p:;P/,N#^XA%R[4S4c`D3J!u_'Fr^5VEq<Nl5GK<9e,KE-VWiS2\lO7N7o4Y?FI&D`1#5f\FK<r?T%DVtp$D+-SC)ob9OZ>/k^><u^;cKqfZ&]NZ(?pap=.*/5O^P>J^^R5_/9]-lj[o^XnKHSGhZg.p=]G+r?(7T.<j:%VUpr!Zs-o"\@Ac`o%<+%?2[jWX5`7rB$P%UR$7e.pGnV[fB/M"=1-$H!t6s&/lO=3V%JdaP9CJ,^ROrs!9Q.gB)Q'9!6_/;!3hc=jOUe-bPJQm`NC*!,5]'Ndm]4M#X4GV&,K)r=ml:i7]:g\Y-m:[rOMq.R&0f_1:l(s+84ms@]a46/X?SSk@H'4`ScgU$r$ICK-X-'bnCc=nIPIUhM_AToFLh`J*j:$nd=,tV@2o3R`AOsHQ60mRoP-ONcrq')`E%mSGEV\_toXgEi](YlXhP$Bs%9(>!Fa$Jb8r%rrC8IfAlNCC^$3GRb6"n<R[Q)=t=KU\'h.UNV9I?pc1=V0u]7#XQ4#M7_a+/>TTc.Cj`ld(oCrs7*68CdIR-tIbEuc!:^!gq[IcKP"sl?e+XC9q&f=!miV>$;s[dcr>!*EPdgYm8LJBl;qsT+D^58S/b/i@MG9*P?H/mmo=,Y41&!omid_!UllEER^6^4b`Ad#\!1!=4T$gjP^16_Om#S4>-g:R1Q1u[%5NR>%kHp?N!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u_FVmq.-7tUR$,\+@[2cn`5!<:aPm1C13BQ&!2F(fK2+>YW(!'!;:9`uaBz&-)\1zzz!'!;:9`sb_z&-4<^!!!$"!WahP!!!$"!]WM<9`udCz%KHJ/z!!!!`J,fR/6:jlS%0-A.!!!-%!!"'"6:jlS)#sX:!!!-%!!"'"6:jlRo)Jaj!!!<*z!!!!"!'!;:9d^JPz$31),z!!!'[6:jlRo`+sl!!#Oi04ner!<?qJAcN#8z!<=cbAcMi3Tp_>L"onW'!!!$"1&q:S!<?:'!!!3'z!<=tW!!!$"/H>bN"onW'!!!$Z6:jlRp](9o!!$s<!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtS_!<<*!s8W-!s8W-!s8W-!s8W-!s8W*$kPtTB6:jlSz!!!'#!'!;:9`tLtz!WW3[6:jlS0E;(Q!!!$#!'!;:9a!$Jz"onZ(!!!*\6:jlS#QOi)!!!Q1!!!$"!!5Cc!!5Cc!!!!Y6:jlS*WQ0?!!!-%!!!!Y6:jlS)?9a;!!>Rg!!!3'zz!!*K.!!KM+!!!6(6i]aX9E8E"EWB_P@K6B.!<<*"zzzz!<<*"z!!!!%YQ+Y($ig8-zzz!!*'"zzzz!"],1!!*'"zDKTc3!!!!#!!!!'@W-C,A91OUC1@5D!!*'"z;Iaf'!!!!%z<,Z^uCi=3(zz9P%gXCi=3(zz6?I-_Ci=3(!!!$.z;J0ZbCi=3(!!!/+!!!!'F)5Q#ATLmg9QL16!!,l)C1@5D!!*'"!!!!&F)5Q#AH2]1&c_n3#BO]q@qA5"Ci=3(z!!!!(B6%p5E(NH6Df01fz!!!4AEbT0#DIm^.D#aP9$q4*2Bk(^MEbT0#D?'Y:%:OC$Db"AVATD4$ARkc@!!#uDE+NTuF_q*Y!").nCh[Bj<-`Foz8Sr)_!!!!'@W-C,A91OUC1@5D!!*'"z;Iaf'!!!!%z<,Z^uCi=3(zz9P%gXCi=3(zz6?I-_Ci=3(!!!$.z;J0ZbCi=3(!!!/+!!!!$F`M:t79ELh!!!$"z!,cpqCfEi*;ucmu!<<*"!!!!nF(]&`79ELh!!!$"z#%;=i<+0E=79ELh!!!$"z%V''dCfFtjF@gOE<)$%qDf9Fm!!!!)@qBIm<+U;r<(0ng!!!!"z!"!=WEdC#fBkM<pDKTdr!!!Nu;f$/XAOp`[H9l@]B5R\L!!d%GAmoguF8u:@$$Km#F?s_WB5V9uF_q*Y!"VLsCh[Bj<b6;n6#:7JD?'Y:#@qCX@<HC.!!!!,@V8&HCi=>nH#R>+DKTdr!!!U";f$/XAO8mSDes?4<-`Foz:2b#]!!!!*FDl+oF`_\9FDPl5B)ho3z$>a9cFAI%$F(KH0Df01fz!!!F:Dfg)>D,5:rF(KH0Df01fz!!!CIBkM+$:N^c#ATVa,DJ&qL!!!!Y6:jlS-ia5I!!!E-!!!'bn,NFg!!!!Y6:jlS'EA+5!!!-%!!!*\6:jlS$ig8-!"1^c!!!$"!!&Yl!!"8E!!2!X!(28:!"0_G(]XU:f`0k0&5#D`7K<Gj!!#Oi8,rYim/RP\A8bpg?UINf!WVQf%RFWD@V#OMJ,fQL!WUmSKE)Dd#RC_B$jd4K&ISpR&JYfb$kF'i',))o',V;i$k*OQ$kWmV$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*.G$O[CR%1j!Z&/5Ta%MTTe%Lrs_&I]'V$k*^[$k*OQ$k*^V$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*OQ$k*RE^]4rP!$hQ;!s'SG!YGG8&HVpf!!E9/s24q&!!!$'!<E3%!<E0#z!!<3%!X&Z2#7(VC$NU5."T\W)!<E3$z!!!$"!WrQ/"pYD?$4@CF!<`E*!X&Q.#6kG;!t6sd!!3`7"<eC4"[Q!o'-_FI1'SGTTs6p/,Sa4n@P]i]K$cpj-'D3riULE!2&;plK-j!M<+JG7UNAC1dT,:<o!="edrj^B7OOFrKs[,`eE$7u[Dg\Xoi>[JL6e^F`n';G2b-q^GDDN_\&[+`pCRB,!W`?*"9Sc1"pYA;"Z6;\!YGMX0bOUT;.4Gg'*U.BOVFLo66j<EdI8q;@c;?ZP!`._@rjKs,mG-ZZ@`B/28[d0P>n:nA49KVFCjJ&Z\66FFlW'_Pba#?Q,M25oVJt7e`HI)Ap/opVRFLqk4U/]7os>ILR4pJa8ain$j-M1!YGMH!'^JM*9V3`\FP!='\hOBa6tHAl+>r).Z3i^8mFkb\a&O3bBs6hGl?_/,<m+Y2!&8RO&C.IO5%60QJ^uM-f06(8b*h6X,lPZ#O<I0bHiu#X'd1)cWu3*>BOe(]CS4Mh>[I[;t@HYQ=ORN0gH2l\7Ho37u<]>/9@(OEQ8[@Oal<Z4ZDcRPQ(WK2#dR1M147E5P\ebrOB@uq7G.+IiJCf@VYoCdY_''=R*?,D-hkN'=G@c'*H"WlLEq\;85#=a+J0qI'<AG!;[4AqfAS5!9K2)p>RA=9+*'FSi1.]=En=,"ipJ@SaQL"oA6=l1V-_k\W(B!^m52<YL03R3sjW?JjBMV,>^lR8KWXrS2deF&s,=/[%'ACY9+4m3:T?bO?4A>U\I$T^&J)FIe&,RT8SQ8m9)!8I-gMJ'-Bk^VhNV0I0P_,e;7lRLYRA>g6P]+rr@bpB;Y.oio)qj;89)B5;)mBZstFM(d<XIric9-knQB\Oia(<j!gA5&MTI/IVFkjK3OZ&c<84%_\a%)88IMX(XRYLFJ&K9VuGIP.*A_?Z#2_][:G@?_FPqm)SFN#N-k-]Y:ALjN_J2ASJj\Xa:A.n^G0kZ>O*Y3`9G/YUKH,M>No+&g]]52l0bgYF05HB8,U-NWHjP[aqKLl1<Yi%3lq=$23'oPRf(s%"QKo<;j=a:I]apldWTHm*AXP(]//\_N$YZAZVX,OBhUSF8gXd>Um&S),aIMMWVWaFWQ1jkGGl*Z2$3,mh1546.rYCjMu35J!7mA0O,)`2N6YRH8Go`KX3$J$Z&8J7N\"#dPiPTeL_9=+pI!Hkk2YG*S@jU:LQWVA5AZYa/\fi#&)3X&rr=TarrBME"kJ"%h,cJe%i[#?at!A0&#.tI]BS&<oSU@(-2G)Oio?$Lg30oL*Sfh-+cZ603Ze\2(m\FTKWBuPI5([$d8risZ1c,A9Z5NsWjlO7?9Wfr?LP2\[f6>&2u7D=2br2df%T2%n,;;@PujmA;:Dc8_kU6g=$@b?kNUe%!:0Xbd'*(V_T9hB`crdS$hTi/;'"Hf#k8rTiT\=n/arYupQV-0DB@iZmSm,okmrUJW('\E)P-c-VuP--T@Rs?]D;G%rMI3Ir[CA2cVOQ@L]7A,CVTM)XR%R;^#,QnPQ(W/QMCI[`?tHu;uZhdDuSiMrrCJ?LmB)hM!B3a!'>bh&BET+!0;uF3lV1C%pY9*&$t)k4:gT*+4gG!YWJZ@5MUac3PC2"`X`"KVgdOuYOnl)]PaK64grbNB967`/^/Y92FmB-opXV/\+;-&out&5Dd7XIhYLL?&mXU(,a53KNn$'9%T5<8aim._q.#S,QPNBRoR;`:q,lPm3:]U.6fj9''?*2mo_seS#RdR,Z(KB(Ah1%*]XKfp((X.&@fc;Qa0i)LF)S*lrGVWQXoAAV]%;o`p?2EaQi,"l4u@cDTD=AljtlRrnXOX^"Cb-=&r8=BYH*MnRkH@Z*!\0R]0%?Rc`+CJFY)9&md!UOjquFM=@3oiS#O.%!2@L5!9D[jNV-eXk$6]!F'kDt9>IjJ6.E=1qEhAdf:Vp5hsc-+l7$->80Qsj7j4^]r"_DXJ$!jQDU7ZN@bBtU=g%"AVY#c2VRJD5o&jftYOefrH^sik:[,!*rf0tKo2(7'%UYWi[152*0Z/ejpV!YLrr<[+>a`MuEFI*Aq08\i`uH9&!/89b:L;<0rE7@Dh-87'P#%t!HRoYVdIh^kb[\)jfh]*W!'VsVH9Xd2el,@GFdCZI=N9?',b>84LnF8hXa&7n!,d;K.rX_9e^noP5:8*oo%bk#C"sQCo\A&JV75Z<`IGn,-(>,mJ;cV7V8>A4iTs4eJ*JQ09NZ:8/Fk[h_EQSrrr@b`R@dFJ0PEHaI8EpB88dl]R;r'T@p<qoh>L>@p2ALMr45,i$"s63D>!mdf/g?:/G*)'9X]Zp+IW(-=f:kWrrCtnr>NlZ!1@,*`fL"<rr=cK_9@Oj*8Kum6`H#-O&,FuR[:!s*;9GRo3=(9UE=:#rrA%Ul$laF<djR0:ju\lQCF6rh,JuJX4;Wif@[8!m-]q)d=M0g@F:,!I5PNK`g8L6`eUe'SrF3QeAci"n27\+e#:'uD@IlX%<-`tp:\dsgL^?Wg&@'2+6_<*GLVYMf9&M/>@6O&\?O$Ef]N':rE%XPioVt-c=`K2PQif83LIe;k*c0L[Di+I$o5^Q;_5JU&WcaO+V4+XS+cj^ju%X#rEfL(bG5(;Ya0e"f!e#iqQnSgXr58(qn8lU7>us,5*K1]qG6igmf*8VW.3$o[GsdU\c2YsV>gNN]%;o`p?2EaX_"+VQ3J#cALO+gi/dgF9_fue,YVjq',/ga&,J9BMuIhj&,VT@mAiJB$JTm($h5+'a&q\T**HL8<J7lBG1>(^2LBqDq?r\.qN[RkX8?u(AgfHLXo"\n5;A.Ko_smN!6e[!j7O@-"dm;uf[3u)e"5i..rLW]d\a.+p8mWU3B5/9`K8EIjCa9<^NM_E*i>6>I(VueVJ"IJaqam&o(nQ!g$/M:nG`Lc%<qf7:>W>+pCHH_+82/l+8D[2ls3Ec'u0X1\,QG"-Z0`!gcn5G,Q@?fnc&TH9o^9$`i"=X\/=uqpHR]tJ,dp_*OBh$QRB\i2sC8AQ2!#(dTd3pA+FO(O/qn#kl1XJpa,c$jaIU#[#k:f&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa,c$jaIU#[$(Fh&RT>G-g:R1Q1u[%5NR>%kHpEP!"iRRoI&l&!1!=*qEO(j$g4m[rr<X<C\0"<rrA>Z-2KjfILG>GP5bLo?Yf9]kl1XJpa:!X\:#u"K)+XVA%;=n=5*ZSs4IB36:jlS+TMKB!!$"!!!!$#!!!!0!'pTq!,hjH!+c-Q!)NZ/!,hjZ!,hjY!,)@N!,qo<!##>u!+Z(J!+Gq>!$D8<!,)@N!-A3Z!-8-R!,hjV!$D8/!)ikS!!!!"!'!;:9`tY#z#65#0!<<-$!<;!iM.h!QE&oX*DK@F=A8bpg/n8g:06goE0/5(50*"+!G]7)$CLqT1@V'1dDET34]>#O4Bk0@N=#E]+9lNI2BPC"`Eb/0q:/k_LCL]A8,!S764Ero3D/a?'FC?;:D/=*23d<e3@:X:cANF^M3c/GM@4rfIGWL(dE-,kY,!faX@V$Za9i)s"DfTD31bLO91+cui2DZI51G1I@1,^mE/0H]%0K:^>2_Qs@/MT4G0JtmJ0d%S]+<VdL+<iul4E=tE3`8@8+F%a>DK@jZA7dtKBQS?83\N.1GBYZ`1G3TdB.ku"3B8`H1+tC</TPB6/TZ2TFCBDGDK@$H4s2t.A7dkjATM@%BlJ0.Df-\<A7dl2@W-C24X)'mG\q87F#nP_E'5CYFEDI_0/%3a/n&:/@V%0%Df%.P@;mkS/heq&+F%a>DK@jL@m)#LFEDI_0/%9eEbm@HEb@%9@kVD0ASl!rFE9)i/ho"'+F%a>DK@jXBQ&!2F(fK24X+Q]FDs8o05bh`@:X:cAM.J2D(fjADffo=BQ%iC0eP.5+s;,ICi4;TG\qCo9g'\6FEDI_0/%3a/n&:/@V%0%Df%.P@;mkS/heqqD(d(UG\q87F#nAa7<Wc9,%u(?E&oX*DK@F=A8bpg/n8g:06goE0/5(506:*<E+L\#ATMd4EarZLG%GQ5,9e7TD/=*23co(JAj%>OFEDI_0/%3a/n&:/@V%0%Df%.LBkCs10eP.5+s;,ICi4;TAU%p$4X+Q]FDs8o05bh`@:X:cAM.J2D(fIFBkB"Q/heq&+F%aB3^[q!@<?F.<,Z\k4X*1&Ddm9#:hXchDf]T1E$.MH1a#M$@qfh&Df]S9+F%aB3^[q!@<?'K@<?'D+u1i+3@us@/MJqZ0fD'J1-.6N.ki\=0JF[nG\qC\9lFQVApHdQFCdTZ1,(CB/MT"40JZT^2EETO3]&iI0JPUB0HqWaD/_O1ATV?k@<>pG@<?'D+u1i+3@us@/MJqZ0fD'J2EEZT.ki\=0JF[nA7IZ4DfT]'F?Lg^D..'g05>H;B-JI;BQ&!2F(fK23^[h%DfSQjA7[nJ1Emr\BQ&!2F(fK23_;\+:i^JdBl%?D,'-XP66Jig6T-YZ2E!-B/hnOmG\qCo9fbj`F*(i.@qA5"4X,,fE%Yj=A3*+G2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?G\qCo9fb[\@s)X"DKJH<4X,,fE%Y[8A3*+F2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?G\qCo9fc'jBkM-t@;J>M@s)X"DKJH<4X,,fE%Y[8A3*+F2)@NX7Pck\1,(UG0eks\0K;$Z7Rf4%5t3^c76r+?FD5?!3_sd1ASuTuFD5Z24X)U)+EV=0Aia$lATMd+F`_>9DET1"0JG170JG.70JG17+s:uAAnF),;IsofCisi6Df.]^1GCL:0JG160eb:80HqW]BkCs<;IsofCisi6Df/QmBllK^1*Ri_BkCs<:186YG%F'UB4Z.+4X)X=2CpU@2_6^A3%QgB3@lpD1+Y1>1b:C@2_6^D1b:L?0J#(;0e>(>1+Y1?1Ft:A2CpX<0e>+83%Qj?3@m$C3@m$D1+Y482CpUB0J"t<0e>(=1+Y482(UO<2(UO>1c$mK0LS;`0f)6Y0f:pK5rgn_3&O#[7PI1h2E!NM5r:k]+s:HABkBD&Bm=3*=@?k?ASuR'Df.]^0etF:+s:HABkBD&Bm=3*=[Zt@ASuR'Df.]^1,_*9+D#e3Ai`:tCi=>mE+*6f4X)U)+D#e3Ai`[qFD5o06tp:FF*'Ph1H%3N1b:I;3ArQB1b^pJ0e>+>0etI71H.$D1+Y793ArWD1b^pJ1Ft=@2)-d91b^pJ1b:F@3&W]H1H%3N3%QjA1c$s>1G^jD2_6aA3&NB@1Gh'K1+Y4<3&NQE1Gh'K2CpXC1H.6D1H.*K3%QjE1H.<F1H.*L0J#"=1H7*?1H.*L1+Y4?1H70A1H.*L1b:FA1H76C1H.*L2CpXC1H@?E1bggH1Ft@;1cR<C1bggH2Cp[>1cREF1bggH3%Qm@1c[<B1bggI1Ft@;1c[EE1bgpE3%Qm@2_mBE1bgpF0J#%83B/lI1bh!M2Cp[>3B/rK1bh!M3%Qm@3B0#M1bh!N0J#%83B8fF1bh!N1+Y7:3B8lH1bh!N1b:I<3B8rJ1bh!N2Cp[?0JPI:0J"t11b:L82Cpd<3%R'@0eb.50e>%7/28q30f1F92(UI?/29(70fU^>0J"t7/2B"41,LO;2(UL@/2B.81,pg@0KV9L6UNOe1GggT1,D6P6SgVV3C>S[2)n&n1c.W]75?&N+?XmcE(s%f883-eDfU+e+?X[TAi`k%EBYL-Eb&cCChY#5F@C@p3alN?Bl@lP,%GY)@<?'k+s:rK7<Wc6Bl8!6@;]Rd8OP]cG\qCPBk_*=6p`ae5r_=i1cR6E2E3EG5sd7b3($/)1daPu2)%Hb+s:rK7<Wc6GA(Q*4X)X80KC^>1+b18<&$9l1,_0M3@cd<3\W63+EMWnG'#cdDe=*8@<,pFB4Yt&4X*1&Ddm9#:hXchDf]T1E$.MH1a#M$@qfh&Df]S900UL@Eb&cCChY#5F@C@p3alN?Bl@lP,%GP/G%G]9ARlu-F*'ioF?4ALEa`frFCfK64X+KYDf$V2D..'g05tfA+EVNEBl.9kAM7e;AS32?4s2t.A7dl=BcqJ=7<Wc6@:OCnDf.]^F('6'A0N.;F@C@p3b`JQFCB&sAP#9Q,'[sD/no$13^c=m1I3ui1Gh'H0K(mF0gS,[3&j8p7PmIu7Pukg5p@FmF@C@p3d57KDET1!0JGL=0et=71/otd3\iTS1c['?0fh!B+s:rK7<Wc6F)PZ4G@>N'6"abHF?Lg6A8bpg+Ac`iFDl56Df?gd;`#Uk@:O"hFDl56+s:rK7<Wc6@q]:gB4YU:+tk,n4s2s@Eb&cC;e9r4+?V<%D/`3D3_3t+FDl2F4s2s@Eb&cC6tLFLEbTK7Bl@lQ+?V;tA7dl#6q0?_4>1q?G\qD:ATV?E+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+<VdL+?Vl5E+*6lATT&+DIbmSG9T78s5FGh8OGjP:f:(Y8PDPQ!<E0#$qO'+DJoRf!!$kRFE18L66KB5=s+'q!!3-,!!WEX!!$G;F)XiP7T9?f!!#SZ6QgGJ7m[1Uzzzp=93Ezdk+*e+<UXazzzzzzzzzzz!"i^[Ec_9]!Diar!&J.sF(51M!JCFQ!,Qk$E-)'[!Up'h!#/mXE-)'[!X&K'!#0HU=]te*!Z1n;!#0'J=]te*!\=<O!#/mE=]te*!^H_c!#/s\DI`_I!`T."!,uIcA7PZ?!lP'=!/Pf@ARkc@"&&[p!/>Z2ATn+S"4R;N!$lB'D.rtM"8Dir!#09]@<2DK":P81!$lYt@qYiB">BfU!"<mI;F:Ea"?ZYa#Rk?F;F:Ea"?ZYa#Rk0A;F:Ea"?ZYa#RkfdG]Woc!!#B)E-ZJ<B4uB0-t=\K0f_6R+@p'fCh7^1/PokcCLM6o+@C'aE+*X0!!$P@F(51Mz!"s?N7m\=i77/sf3ArcI1+k9]zz!!!XQ;Fa%r8OZ!)0f_-M/M\q5zzzzzzzzzzzz!!$,(=s*eFzo2,Jg!!!!"(<fl`=s*eFzzz!!$,(=s*eFzDk[433;!7O"-?Vf=s*eFz@[R2r[tOe^(tr(p=s*eFz,bP,;%tjo_[a/JqF(51Mz!#A-p6Qg&aFDs8o06_Va/nnm,/n8Ppzz!!!d+77/22FEDI_0/%NnG:mT@@kM8)zzzzzzzzzzz!!$P@F(51Mz!%pi36Qe9A3ArcI1+k:(6tKt=F_l.B;Fa%r@rH1%F`JUGE+*6f+>"^W;Fa%Rzz!!"WC77/1U0f_-M/M\q5+@KdQ@<HC.+At]r+Cf>+Dfp(CF)YPtAKWQIF&GLpzzzzz!!$P@F(51Mz!%_#ZAn?!oDI[6#<bZ,hBl7Q+6Z6jQBln'-DBNY2+A#!h2DI3M2D$[:0`V1Rzz/5g%kATD@"@q?c`Bk;L&DJ((ZDf0*"FD5Z2+DG^98OZ!)0f_-M/M\q5zzzzzz!!%1VATn+S!!!!4V#C?.?S2<icP-?]mE>P5'+4dB>b1oq!!-2)=s*eF!!!!m$!%%&!!!"#+6RKP@<2DKz!!*'"zzzz!fm<]!!74UB-70S!!#Aa<$5[nEcqE_z"98E%!!N?0!"T&D!#YbX!$_Il!%e1+!&jm>!'gNQ!(m5e!)rr$!+#Y8!,)@L!-/'`!.4ct!/:K3!0@2G!1En[!2KUo!3Q=-!4Ms@!5SZT!6YAh!7_)(!8mk=!:'XS!;6Ei!<E3+!=]&C!>tn[!@7as!AX[8!BpNQ!DEMl!EfG2!G;FN!HeEj!J:E2!KmJP!MKOn!O2[9!PnfY!RUr$!T=(D!V-9f!WrK4!Yb\V![[t%!]U6I!_WSo!aPk?!c\9f!e^W8!gj%`!iuI3!l4r]!n@A1!p]p\!rrE2!u:t^""aU7"%*/d"'Pe="*+Km",[2H"/5n#"1eTT"4IA1"7--c"9nuB"<[h!"?Q`W"B>S7"E=Qn"H3JP"K2I3"N1Gl"Q9LQ"TAQ6"WR[r"ZcfY"]tq@"a:-)"dT=h"gnNQ"k<e<"ni-)"r7Cj"uc`W#$D.F#($Q5#+Yt%#/CGj#3,p\#6tJO#:g$B#>YS5#BU3*#FPgu#JUMl#NZ3c#R^n[#VlZT#[.LO#_E>J#c\0E#gs"A#l=o>#pfm=#u:k<$$ci<$)@m=$-rq>$2Y&A$7?0D$<.@I$@rPO$Ea`T$JZ![$O[=d$TSSl$Y^!!$^_=+$ci_7$i(2D$n;ZQ$sX3`%#tao%)<;)%.ao;%42NL%9a3_%?:ms%DrY3%JUDH%PA5_%V-'!%\!s:%akjT%g`am%m^_4%sebP&$lem&*si6&1.rU&7H-!&=X6A&D%Kd&JGa2&Pj!U&W@=%&]kXK&dK$r&k*FD&qgmm'#P@B'*Amm'13FC'8$so'?(XH'F#7!'M0!R'T3[-'[@E^'bV6<'il&o'q5rO(#Ti0(+'eg(2ObI(:"_,(A\gf(I8jK(Prs2(Xa,o(`O;W(hFPA(p=e,)#>*m)+>EY)3GfG);Q26)CcY&)L!*k)T<W])\a5Q)e0hE)mUF:*!.*0*)[c'*2=Lt*;(<n*Ch,h*LRqc*UFg_*^Cc]*g@_[*pFa[+$Lc\+-[k^+6js`+@.,d+IF:i+RgNo+\3c!+e^()+o<H2,#oh=,-N3H,75YT,A&0b,Jk\p,Te:+,^^l<,haON,rd2a-'opu-2/`6-<DOL-FY>c-Q"4&-[I/@-ep*Z-pK,".&&->.0_4\.;LB'.F9OG.Q&\h.[qp6.fq4Z.qpN)/(#mO/3,8!/>=]I/IX3s/Tr_H/`A;t/kdmL0"3J$0-i2S09Ip.0E*X_0PiG=0\\;p0hO0P0tK+11+G%h17L&K1CZ-01Oh3j1\!:P1hAM81tXZ!2,,r`28V6L2E*O72Qet&2^C=i2k2hY3#">K3/fi<3<_E03Ia'%3Vb]o3cmEg3q#-^4)6pX46SdS4CpXN4QARK4^gLI4lALH5%$RI52\XK5@HdN5N4pQ5\*-W5j(E^6#&]e61.&n6?5E#6MEi.6[_>;6j#hI7#FCX71r$h7@H[%7Nt<77]T#J7l<e`8&.Y!84uL98CpER8Rk>k8ao>28ps=M9+4Hl9:AN59I`_V9Y*q"9hJ-D:#&Ji:2Wh9:B40^:QnT1:a](Z:qKR/;,C,Z;<Cb2;LDB_;\N):;lWdi<'jQF<81D$<HV<Y<Y&59<iK-o=%$,Q=5[16=FF;p=W1FW=h%W?>#nh(>4l)g>ErFS>W#c@>h31.?$KYs?5d-d?G0\V?X[<J?j0q>@&dW4@8C=+@J+)$@[pos@maamA*[YjA<^WhANaUfA`mYgAs-ciB0BmkBBa(oBU3>uBgZU'C%5q/C7f88CJS`DC]A3PCp.[]D.%4kDA$i&DT$H7Dg63JE%>m^E8Y^sEKtP5E_CGMErg>fF1?<+FDu?GFXVBdFl@L-G+3[MG?/poGS,1<Gg(F_H&6h0H:E4WHN\\*Hbt.RI"?\(I6i:TIK=n,I_pRZItW=5J4G-gJI6sDJ^&d#Js(`XK3*]:KH5_rK]@bVKr]q<L2r%#LHC9`L]iNJLsCi5M4'5"MI_UeM_L'TMu8NDN67,7NL5_*Nb4<sO#E&jO9UeaOOfOYOf4ETP'W;OP>.7LPTZ3JPk:5JQ-#=KQCjKNQZ\YQQqWmWR3\2^RJ`LeRamloS$/>%S;Ed1SRe;>Sj8mMT,jP^TDG3pT\,r.Tsg[BU6_PYUNWEpUfO;3V)Y<NVAc=iVZ!E1Vr4LOW5PYoWMum;WfO1^X*(K-XB_jRX[K;$Xt?fMY84="YQ1nMYj/K$Z.?3RZGNq-Z`^Y][%+N;[>MBn[X#=N[qN8/\66>h\OsEL\i[L2].U^n]HOqW]bS5A^'_T-^Akro^\,B]_!JmM_;iC>_V;t1_plV%`6Q=p`Q6%g`l#h_a1o\YaLoVUagoPRb.#PPbI5VPbdG\Qc*bhTcF2%Xca_=^d(7UedD"$nd_XC#e&Km/eB?B;e^;rJf%ASZfAP:lf]_")g%!d>gABWTg]cJjh%8D.hAkCHh^RHdi&9N,iC)YKi`"jkj(%-8jE'D[jb2b*k*G0PkGdZ#ke-.Ll-S^"lK.>Nlhg%'m1J`UmO7M1mm-?cn6#2AnT+1"nr3/Xo;D4;oYU8tp"oCZpA=TAp_ik*q)J2jqH*OVqfhrCr0[F3rOVu$rnRNjs8W,e!"M;*Ddm8XA3^+p!!3,S!/(=Q!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E3%!<E6'!WiE)!WiE)!WrN,!s8W-!s8W+!<E3%!<E3%!<E6'!<N<)!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-s1eUH#QY>:YQFn<!!3`5!tbS6h#IQXQN+l'lMpqc!WiH)!<E0#z!!!!*$3ph;"U5)2!s&E&!WiE*!<<*"z!!!!)#mLV<$3:53!Y>>3"Tnc,#7:bE"9\l1"TSN'!WrQ/"pYDG)'KV+eQ17fe!-/q(KY5t=:$_0,*Gk=e5_c";3S@%FeuK)(c!<OG%!0P-#nKu67/s86_QA+2MMeD!<W?*"9o/C#mUS6!s8],!<N?+&Hr@D+k$]60bVp!<`_R2OqX%Te5[;^OYT7$;cK$Y(1nq,)(Au=1U@c1FZ)4!Z?)cd[!%"o6O@5,d;i_RF=$EEA2XD@!"8r1!!3`7&HG#q[VfNt3?$erf/4b9F&X=3iRB,1)Db1'L>$JT]Tf6A9?BbA,aZ;73pCL"[D(!I$YUO#_RNZ%lfg#?9)2Tu1!:eF`\p>]+sK/`66^@m'3?flk6Bf<2WVM($^)AX,_`8].pAsQX[T]k(sgC^=6YE;^81LC)u&OLMlho`_b7'eImj&:UTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG-Qb9NN$E&;DmbtoEe6QlsIMuL"oM:!`3sTf_8FlM?qI*@lWBK#qkLtirMpK:6X<*5f%nC$q>KIpmo"RjJSb4ABLA^pGFg65eBm#'U4osm6*Qr^QbMH=bKi>^]pMf#^C+cqJ57K6LH7-Kk*J:n@,^FaZr@k6qe=Q(IoBeut`TQ3Vedk1D#G\MI/`_sGH!dE`:AU11_g[$4]%F[n1qLNeT)eM,%ct?cjmO_l_PuEjHan"?[23$`T8&\74VQ`pNksM[P!$G>I[F+sl;)U5q=^QK@e9*;lNa/3"4>a_QL[P4]W]ckVgV/)iP.S+?#3hr)I6bC:OmaQ#BJZlo(SFG@8u]p4kr!Zg5E(kcbiDW*f9@s7ptahaW=dZ^J$,Jod@A+r;0?6Z$H+YFbA(*!U/kjbBY>UhH/rq;nf(%E8R:&0"*Dt%5+l2-bqkcK=PnGH$d^40WK?HT'dQhm7#UFkM`8g%n-0tUTeqojGts>?`"Q5qNKaQIXS0+fY%,=]#!U&!;(FEjh-`;mjn%IWS^U#\8T^$(L%]JL6l"*'Aspl_;)M_4MBj*QrQ65:Nm9Dp7gk^oC12o#GQSJdF^OHnjf%ZYL<iVI7`kc^HU.QCgMQ/?"!;#J9j9^Eo'@XpQbS`<:?eLgc+EMMlho`_b7'PM=;$G@.%7@*a\EP9IcV+-bG-2qb_L@H2))rK@)j`kj0>5GpCMh=6YE;^81LBhk+X9[P'iS0!KXL^c`]j\Sia=Hcl:@WcusamMkcb7FoH@iMG*97/."^Y]h\[O"YccVA2l&PMO-*IAja0]_jUt_<@KkoQC`+]TM=E/+g]Xhbng2DpPg->8NodQWQBai#[opgp`G/^#a^1<BKJAG7FBAU?c:[nC$V-U3m'jfK5Di8!glldgE"$8abQP51EkS?@Eeu@.[6FH92@PhFR53Q24ogn#8J*2s8nQXc(NC9<91kn./#smT[dS?Lkj).\65[]8$7\;0B-hph=l'd67TpllF8p,KnqFl%N'MV"\icT5$!e00]muY^.\44WT0cD^9UTb5F#oGLW5P)tWGcf#?h2V:H/Fp]mRuG:hm:06pp%'i+Uhh8=\iW4LWor%u"$kaqkIFq3WHOlc$^oYRTb;L>olca=Qn(S?GK=?R>U*fe(l[urkejaNRs46fUc%Jf^llXKJTdd%.4HiqdK4-oG5EK'KY9!%)(.[*cAC,00rDJD9oOkc'B9tqT7es^l\V,&NeQ(^Z;["deta)"JEZ$q.4jqblqQZuKb=,%rmVl5ICb,pgUC)G&0jB&?23NB$VW2O2#gF[AEgOq:=I20^/.cI+iluFt^X`IUEMOHU6J,dm&%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_dBjC1ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!3n_uB_e4F@(rT`5!H?q=RdrrB%RKDtq;?(^P[0[.K76cK'*_l*H;O8mY8%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_e$KU3ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!3n_uB_e4F@(rT`5!H?q=RdrrB%RKDtq;?(^P[0[.K76cK'*_l*H;O8m_:%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#"QT2!7a2YrpQN[!&7kP?'>3fWSE.+!1$o_m\;J[`;W-CrrBs7rEG?_e[,g5ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzz!!!!$J@:l7;FF!N.7tk^.7kDV92^_3Pba4OR@+X'$&4_M&J\C!?hu-]:BbHT`U?+8<@l$Ge'edpRqH63&EV97>dQJtM,*+NKt#/=>0Cq9PkoqXhLOoV=/V6MJpf(Pl896R,[:i(q\`eQ49JB.B.amYnAU`d(1u%>kus<*.U*lbf\[e6hM^8=j'0H%Ce8*@b3L"g9pr6((e,Ir1GJDN0b&=B</*hf,qMZZUhYj0IlcXs4LX"`<CkQ`.bgh)`jNGG'7#$KBm"Ac4js%ElD!b:Q!R:)/`&6aX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXW,9f]Bp8WINN9HE&UGCbGpK8_GtkHh;]f-^8(+oerA]nh=c]<^CR]_\/V:2jjcfWi@;L5DXin'?W$PrlULEHDYliY?\d?@>Rf-TEpBCfn<I<V2gEGNYGh>toqQc_[sauh0>m00Xp4-;3H\2Cpe%_<)n]^b=4DZJqU)rk>JAKDQf7Y)<s*QXS@YZ2r$>F/%GijAX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[>(:-Ij;Qs:iB#hhm_pV#A46A;bEC`hCd"lA[N0'Pq6m*mIR3amA:9so@^4Tb6AW@O[;B8V[4&fa57cH!,p[65fmQG)jF'Bsf1D*SmUVf2hTr<m$BfH`gKNlYN4A7[[KWu*.$?`jPBr9*O!,H8K5)*a(kq@]f$9VO?/@9SD%ldS:L-e_J'qCjec,WL.?<7H.V-M=06t(mWE7W)WarI8O)r]ulABFb553rAOPF9'WIq<7Jj.UVMN*=/<GdTW8T8[s:9Q#*K^/R;.@2U=)=SFVO+U#5TD`b<RYJp2$I"Cm=hUnZYX_O9lrbK8GG9Om,JPhDSR$a3=)put8VQ]B<BQR\AQ2?k[f0@IhHZYXrrCZW,PYd*LSSb'oL`AHdU"E5jVf(,)_&^;JJ$MbU-`"BF[_KXf5XDclq'8fKe$kR:Cb2Qo*]%Jp:rE/>8A9?qmopFXLDu2G9SB'>tjCdV)3/]@sTN&7sngQ5&=X392`s$Q_iKpr00rZ>`$@5^uT=R@W:j>o_bM<7ZeU"B_,Y(O#@]\OWl('Dm_&7[N$m$^D9dk\AX,,,MJEV8kGAb@Ok.]eFQ=/;%)E_NQTj-aK9MgS1SeeLojYCU7s+U%IAI?8IVl7P;-lp>`.,j;hZ4AYu+HL<(0$Uoq.<Gzz!!!![lG[4rDUL#$"b*9XNC'>fk#JH>HAh!H!gu]ZYdm]1b`LeH)35OpC0HSr!$Qf2p"f@jFmWO)Fkq.[<*iQ[[O@l0(!i%5\JiIBWMNk_.O$&)Unk#oWhuG^VL6qCaOoO4M//^WW\pnn-ORCa&IPc-9AZ/:45VXFPq3`6CY7)N6$N#cT15a-k\?GaVnd<%*RS%r;O'F4C3B7bDfR,/6tSG;LlFu(Q$'W)YuXl`]F/gYk#N.m^+m!sn$Q',o-7^kd22Li;E7k0NWe`/lADl3Nr*WnU06V`m(n3iCaXF*j,?,)jbdSDq)j^[S5qYkT:(arp88NKm<I2cpMla@MMRWAGh0?PU2M^&m4PONRCZ_M>uY,/'!'.`kBDlMlM?RQT3=15CNnJZo)(]"lJQQHZ^4Z.ItXimJ\/ooomK?d:TYSU[Cbf>H%$iLF`994fupCR^VWur5i(HHHG60BVq-jf>2An/]Y=ua]!r]Um,cbdhr-&tTPj:_]jFY2;sQpCX`"#(hHu&l?!Iiep2]Gmn*lTK:cEX@?E^=)WV*$2f!g(%D_K#q0!5ECHT?4GGPFe6-l]g0Y?05%eG@S*CKnO#2j`LsQWF92]pu[4]DNsVPRZJ)=0(UMl@!@&26GbLS'1<u9<3WT?HuhU?2bJ;ap.;P/(O;7F[!0N)V4Aa:$).uV:EB;04uo;0)knX<TO=,N0W])O1Lre2iVTsg*ZCg518`SDO7\r<>U.<Wq(_Q`_,oP8)6tC)of:tm1Xbo+),k:2bViIWf+X/<I$jcj!B#cU[G&2NT43up5-Gs&%&pX)l;o_eOABS._MElnWLRm;>4#T9^ASS:&DkO1RB\`;.Sr%nnplrigFae*MhDle*T4t)m(,qjJa%L_Z'T_'+PXXDe`$8Q+"h2N3XAR2_oGc%%b8$`](h==*L`B2i.Yd/P84(V9$@4Si^[H?KAN>Yu-Xknh,Za5%<WNc^AX'mjqCbi#4I`:#a,15%K'4\JMrrb@TXQV64)P`Zq(d)HqTJ:3M[gV,C[$<9qlZ.F=_P?*,]6.i"E1a).0C[7/&H4B%kKE<baAPARa$;3FgKfKtg@)R``(("L]._b1]m4mdtL</MrBPu9Thb3*a]MoBTPc?4r/Wi`:%*F2$IlKYC;9,%et7l_cRe;cA+WhUHO<Hf%3g:*$@[O.8>4#-8t2uipY#!:!g;Tlq%lKcSQ#,[8XX(YEPW6TU%:/pE#af9b-QHG/H?!aitBTF%*iENH#h2*EqAXFD>iZ,qVQR3*We8%5A?SY*hp8i0?jcOtm;)&hX*4u_qp/M]Mr%3XVS7dXqX>+Zm/@V`dW5^3mC2gmWYI0BKU:p!],'p8F<APbEcS^E"hR>AaD.SU]5IYD#Bi:m1<=0bZrA**&)Ru%.>;Bj=,tsWj&WiSek8%\$`jP.W1.bd&(>.4]mOUG@h&"'8VS+Wr+DYSiRId5>'(EV(CF3h#MWJ.h)O<7N<p<SkD&VBdUF>Q2RdI_j/1V0XitP4([1^&MI+!@SW]!>SW2jhOW0T<L-CZSo+1uAn^<nm+iV&U>#<fY)c<XCTrXu9S%UXF=Q0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXW,9f]Bp8WINN9HE&UGCbGpK8_GtkHh;]f-^8(+oerA]nh=c]<^CR]_\/V:2jjcfWi@;L5DXin'?W$PrlV6<aG$W_&XYTg#<;f-jY]3[/W-,bBE&17s>MDq4N8WE3aX(ee9"f;Ud[N_DgE&+UI)u)>8u%-i=:]"+N5/?C;WV3;-8rM6nD3RbPq1VBgXO=%g-7r"MN2#\jAn_:PuC:fSeB,GWPVH1Vn`uW`AO0!ki,Z;]tKuDmnWcV-rEiCh*"r[p.D;pF4p?s@=CPsB<],u$1O=\YO1:![6H/*!-nPTQ?;=I\21.M8Wd`:b%*M4)O3d-aGgN14pqimRl4f49eEUc/7t.,Mc#T_.5N^IVP^>pWMZDbVgR$Y8D)s^Lou*]ogZ3GC2%aZj[QWk8ueU,aC1O7BPFH>FHnUEXCE07\aOR6>1TE^=#j7m'=+W<^Jt4)h!')r$N$9=aHaD^M5Y/M's>M:T12elTr:_r;Ju?9eZ!WN2"bSS2+M&6"N3^:P><TE);Q?+Cfcq4IfWhkbtKK\HXiM/n'qdjjl4`>d5\M<GGuG08<ZH&>?16peJF%$7'g.%fn0E5(eT?8!tW4m@_'t%bcc,Y=B3G.;och';,T6tpM&YYY#J^\'bai]NGEal-M%'udd#cF>G^]JeOABS._MG,Hb<mm=4DZJqU)rk>JAKDQf7Y)<s*QXS@YZ2r$>F/%GijAX6Mn6I;%IpXl!f]bOGC%X+@igc<XCTrXu9S#4EE[eb(#,5.#5Hf'ft?jnO8#e\KuoB.g2:rr<@*jTB^cQ0S4,\t<.bNGEal-M%'udd#b.Qa<#Y(Oq+<nq"Em9(dU&h+t-l`jNGG'7#$KBm"AR9A.LgMnd,/GsL3G-$m;#m\eWqj'(:4M7gS6[(<adV<m<o7Gm&R]V'04P.b4"pJ^BInZ?^+7,D:+g0Iqmde7_HU@7T:?;NS*a^20Lql07`Gh0?PU2M^&m4POGl$GF5;0Ve-Y:(@&A?T(aIFS,@]PC`cd5RENp6Sh_FM43UW4VsR=-O0N10:OA53dQ0hDMFmBUd37qb*u@\mEZf<*fJ9X3(Y8)(X81+*BcSD]73qZq]ZWIAPK0h(NCnW\4;O$!$'hGDqgPqN&4[=uVFVGM4D7r'&Qoi,4mfQW4iOKW=To]>dJ9I7N*hXZ(_qfm@&:[*/"(1\D'(6,cl6U/pi%_SnRdC]<1.RDH9[P"OKgVS.&QPr@<]duPM%^1;UX,tAuQYTD#6)1\QdV96EQ9Po#!TtB5c.Ta*c\#GM)[!mb#'casU7:^)FZDqV4o>3L(PrMB.W%\AWnP*X73]NDR05kK?44CqCMA0#ipJ+bo4dE!WNXs38$h>(^4p(L;RI)dppn,DQ-i8-\mJbrR#ESoczzzzzz!!!FgL]7@SGk_0o62k?/OLlh=!)pE5rr=U^5M\e;R>LisMuNd4:\qOBs44OeHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzz">P8TFfou'f9)rcB3/"l(AO^=Z6`tOnItV-NDjC[.MGUdXuopGn;a7iCbg#g1sK84OP5T/2B^]-kFM8]DW;W<Fq_K#ZA'a)CKFXWrg?W*3XSr-HW_g1'1t[b=bX049ml-;,KsCa8T#QBQi/1J9beBo?dbr-ZAP2t3tI`1dZM'UZ_TuW6sKj`Y`&)bHii8lD-L(pZ4i<"zzzzzzzz!!!!"_3#UO1*\%=8GGaU!:g7m9e!pgZI=Q9[0*9$nWT#P)&)B-OI']Ag?Di7Rj+NYX)$s/SEn:GK.YU?rrB!q\J`gYL9<6I'_HQcm-U(+btBhOX+?C?r(A9<VFJO,`U%T9M8c$bmrPp,ftkX5-E>9`RD:hN"H.cc%?C2BfZM8dNhqZd[HNoKeFsTNgLg\JUpFZpFm"R'DbWqaOQ"kQ<Wk(X=)jLGCCX*^[SgI9W`h7i.h1;+<gCOs64k\.J*/YQlrpC35'CJWR2&i3Q-K9fJn:.(%H.[7N(%)`*E+es4NlAG<K9NH*/_24.q^cG2\tLD9%6m#p=q5Epp!l>eOH::Z"34MhIKs3Wj06cK@P<Jh@U^O/cYkOz!!!!)[dY(>T)fOQ:cr\3hY4GD?hWRVg/>o_F#l0&9+/uZb'V'DeZ1E0DH&06)G<[d;?[frV<Xrmp,OiUNdpU?-!K`Rq`=`DV5DQ)B0lOtoa09MFMd\!'M_)4l^ZM`I&Um1XjYjed\l=HWF.e:jNm136^h,GPPnag<4elNBk2*MCT<oTi-^As@CJiuWq?67<?R*#M)`9Nzzz53cE/V-BqJW3g4nWg.nKplr?i1(,Ur2PX0B+h4bL_iEChO3*Y5e=d0mg8-3RI+=LHQZX<SiHS>-$4;$K,a(;fXH#1r>kbePTc2LVWiGP4*f?tdH7EZeb/rBQ,V4#npFVA7)N*]<b.80'LoRJf#[@a&H9A(h1D."5C-5'JK)B3q?RAfW,W]lb658fFaJR'2VKA;A0.<Ah:Q$Q?STfc5d3aP?U<gupo#G[7mZp=M/$[EXmtkmV3\&f/A<$?;M\0-NVDqG3iT$rfQ@!6*7VcJR91L5]KP4WSki5lGN/OD&02HdLSZ4<.7ZD<n]%ucdR*ks7!!!uf84$:b(5CR\.WNKK>$GjPd$%A_EQ+ACgMNUBe>"cEO_m8_jUod=[B3GTXb_e!WiG8N6qo/2\e,TJW3K?"&J\Q^&JId:Y6#mpPu[/pBi:nDo0$il;AgFq[=M:]QqnUM,r8>G1PSc1gVQ0*%\\,/`A1*YW(AkdV%N)I7,39Bhq4F4f^EHrjW5'1hhihE1D]b:Wq:=Te5WTUm%mL!/+cD2^?^[n"EpoCm+[^qQ[!dq*WH+3M2a/:R]]*<V5IN;b&m:tm15b9f+jea[:8W!nkB)azzzHi.*,Y:RkYD-URY;V,!^0)DV*\n"e1M1u=`=#-[NGpuTYUs`\FE[<hZ`G((VJ!c95`gFdWjo-%0nWkT*81lq/(.fP6SS!Vs)LH10HDGPc1qE$B3#k_NDL<OF?C7&XW^q$-8<rXfAU=kr'AG\<Z&EV0EhX@7djCWeh(N4VHPK]IDG&k8p6F<NRj?M,_XEl@79?uGD;)A*inGeh11k)9,>GUO,\DINo8bd!#'8hJf,J)b<]3D8FO46-.;;nbhOnLje4!G0n,/?Zmp6\rVd.<e$fa#tA`8MbKiXuG80PFme'k^+]u8dHWG`\F-aSq?mL'Ub!,Bsc!!!'#rU%2J1_f=)@g]Z^;)56/?)PI5&!E1_)b,7N4qI-RXDpqDGrV`%!9Zn[?%o_17K&]<ELdT!.<IoKrmngQF'&@BV76I)SB:d2M8\i89."oL#&7U^>mYH;fUe_hf2a@SrE2ql37=]4'X-`-P'VWYzzz!$;"Qj"&;.j9o00=;80nm`W>Cbq>>!jX*%l]rRJtW4nLpU/G]&&@iFF1>(&-W;'.s*\WL-NZZIB/U_+[;-K&dF:bO:4,(jiL;t3ZBk;=[,@YA.gkk<q^uB`7F5ZqIoYe63;F>S)7'CsL/(eVST%WRTN+7:BPn:M2R5F;CBmUEGfW*4h,d&%\Vfgd0A=B!3h=Ff`WqH1[$I[C]Be725bfVb#Rr#T+7X]USP;Y-"F5tHq)di#62F[(Vcs(97BiqFmTP%``79<+Mr0"VZm%Pdek!i`c)4?C9$r_O'[3+*g%CW^:SZ9Bk-MB%?`f]-77<>si7+_O@9Fq1(zzzzzzzaS:8]ViQ>`oH33H#n+%GofJ7bo#nB<e7KScT?)8lpiQN9X)\0kZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!#h?.bu@nn9>d#Vl?Pju??N$*6,n)Sas/t?e@=YJb*LITQV-/EgK@+>iG:+i+d+Tba;`<8gloGCcQCQnWb$Q;HCp*QiDPO/)J!uJeuo=.SP`mN^98F>S64Q`4J0e)a#1,M28oX.4.[B;XIVTG6#X#Cn9<Pc'p0lE`db7&Ph!D6gQMNHD@>1fX37\P2cX$uEkb_HiOL;/;kEQOOS[<$-p]:e<ng1Y)Jpoi8<T,[lj[ph=%4%;DQGp=:bn?uU4JEB',&<j2C4>NoiJH^/seRuc;dkE/cOtFDX3&CTXert7R;1F`7X(/WF@`D9+aBAWiEX1D,jS9;pLD*j?N\Fzzzzzzzzz!"S;L\Eij:IZJVT[@3)gEng3GeL6^*7&OHml#d94-Q&*Y;^tG"3/&.ZjAJ\"U,8:#n^kJ%Fl2q!IE?onnQ"B[;*$_2Q)OK=A!4kim9L'Wl_<%1W2PT$=,l$%HdGf!GGQ:%(Ni,\aWlqHjuok?'s;<8<;us__O=,,qn2UL:Xsl\rMb(Q$CRG9H?0SOn6&+U,$pL%XV%#8W%h5i95<QfL?`bT>ZfDiQ(Wu#:m=i.eU'1(A:>\^qnpX@CpgpP<2Y&B\^ZgFY$+Dfg!OT7jBXN1MUu&W*3Q=>rlH(;X1fgkmWQ<L&R-HT/mDTGGq@u-1p62AQE2`F05<"<f<nW,4sE!.5QCcaz!$e,m1T]g:=N/6tg(ToUD93?c_m:1G[d06M(Ze)c?aH/%(m4J;)7*%0b@C.X<lH5;#YR=Dp3W,enY4mLoeVdaY)+(n[k4PD1A`K`R(](TLX[e,Bb$+4ObA>>mjFpU$r44^ZmqFqmX&59X(ipNHR;XuHTZ4X18hC<7YQ1]O%>BW>_hFaOSlY0T6aJ9Eh-G*AP&!CSrk?emM_U@pYK&TCJgObUGG(I(U"NM5nm-]'4ZTQ7^]?dCKf;cNGDBJ,?fnZLmeng`%?9pj+]H\$uKNLC*Qp3Yo8Fa+sJ@e6qmrD^k_J%_tF'1zz!!!!"@1RIGMLM<A%]hF6-Y1>9\st'6W%kO9`,RD!S!#$Nl?LF";GD/q#%UpV2^FabQr-k$h)e%(dk+<bi7dYllr<rP1De_)/9<3XjS#][+&uq]\<*o!Q)aoYXj1;-,bHRUeQ:m8WVa\)YHi1NXeS<[_J">s!1/T^n3%*G'o##)z!Yg(L>1Yl^DTU?S0rpdfe`0:hnr7CUnT+>oRo+*><i[m\Xu'ndh&0I33t.X?9NKJo8kh2kYjTf9MXP5"Nu:buL9C?;0'HW1.VdVIC/l';Tqupgpeg\jDZhPMR6)q[cd!KL/BYo<QJ?S&fgQk/7.gso1TE+6M?VAP_raU:,L]ie+sJ3TfL<SD?NCu*+`D`h=+miOzzz!"MPYb`\,H.7Qm$;F[K38hs":Pba:2;NuM6MhK<!<CB8U<('Mb5:ZXtWecP4\dMR9Z#irKGK6PFZ5"etAt58\@;CcM^\Xu4aHt"BK5@?L>\M[1`t]5%L0G@ONCH($PFQqjgF$["c$WO_,7<#%jlOfLU,f:.f%)b15,1WRL+_1@DSl,=HZnpok@n2_oRhr`CYTXS\2N`>HXpI6Whm/3dqI+58#;=@(UfO^2T\c,TSu,9!,+$u'3O`\SV`Zg^EtdracI`AV;n"Jq)==og'F(G?Zdd^g]%7lTG++uOJ:DTHB=.$+mpnSfjc-SZc=&npS9HS?eoX2Q1?6#hc5#:ki6m!T$P\3BoWmKZoQ@>H=SX)c^MAC5AlJ*_=S4QlJJF"ipa7=MsdFIf;a0'X^2f!g4N?PcDsa3<N8`X;6!VC8uU7>1L>)qg%>ZTY"ZsCj>q$uq(ea*V6+Jg2(;",0:J2mRYI,sL5MO`d6ej_N]&(=N+3G<`\j`hX_UcGW1";2_V2!Ri1tr3>$+uL1e_[%`hF\]etOBme4g4)LkpkW#^h9g4eMcTzz!!!!#,;UMf2(;!d8lA-T.7u?@V("!nV("p=Lq$.!N<kEA[NZ.dMQ45q=8T7E;He7aV3Q'9.4o/%QUtb'M(,_j2?f3rP*lO.8lf21e_8$_jOF[I.C1@r*mR@&2'hRQZqBJp.f#9^CK9&5F3^_ECA,'CNO=hGdHmQb[Z6i][_?ZthCW"".@e,6Ym8O#Ju[TFG076RX4l*'[ar$.;.>SZ+m^k!-amlTSfpB:J,fQLzzzzzz!!!!$,N8Y&lCL0=!-ce>R'7hgaa_h.62pr.0$j8hQtBfW+l`M%iR@e.a8aMn%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzz!!!"EHeS,"n\q2B?am.D4UTZFBbN"^qQuId!%o9U'7>!5%@>8#.J9-5@?bV5cRgP:)O*WMX>u'>S6LJK(h4'&^8Ch3SZopDG[1!FM/)N;W0Y!^>mt1&c;[21P.@`BcOesbFiAE"3d]G\B#PHu_WSIO>.oZfQT<6_X[R9o6CI\ceIBp,*62.%Fb5fO[NH754EYBunZAj$d:,Go't7#))_.u?Qi@%c:jG:s,VOsDagTk=@'#%'MjGZm"U5[6<_[tbAC^?$RVF=;W/ahWdZDD>Rt7WU`8`=ehXt*)auluA19Us]>SN(K00(SLY&m;PC"3e8W4Y:\T#)hX!tsL%k:5c<h+#]jzzzzzzzzzz!!=QVgp;4_baE,*CDLBR>]t6qMNi;/CID@%4hR%XKi162\U%P!T!oq861>h2)4(XAQ5u%U28bhA3r]2r(m^^<\o.ii2_BigNVkNU)Qs:*]c/14eSUf`W+1(i$=,XK%:8g5qhL5VejQT>p<7^g,\$Hh)j)2loi'AI]7qZS[ao'1Q:=i[hW8V/lJ@/"J;#P?oG,J6U4"@kVr4+8W4)%obCI^c<PUZXj.%-;AbIgrGUEFjO,J?j[82MBAVftng<!S!!5_beA7GG&+\UIc%Gk2O&`6\spLT\F%7?k1n0=&P[RU8snWA^\\+2NfKJ>iFz!!!EpSb$]^VgMWhjdZ*D[7%I_(Y*6dXU1r]<S:VhW4(5"$SpgY20jjG,N29I'&?m42PVht/Fqs9B"g.5E&JPgNHj!g[X+\B\05aXC*cj;N[F!sbFQU^HY52EY687Vk:eVRf7e)ZmB*@:Q`mWJ-L$\-4[qos5-(6n@VKis\^"?Pp=(-\]!B<T!&NpUqjqFKgbtJ)Vbh'sLtSQXP]i@*om0UV&LF<tiED(505HJDO0H?&A`b#U]GGVHHnS:6]'/1Z?DsFcBjIT=j](3%=5)h\&M.F.CKcR7\0D45\-!.FGZNdYMa:%[(!Gt*O`\]%MqNK<[E?1B%8.UqL*[_bQ%/i7zz!!!!i=1c4:P;QF,P>f%9a_M7DWGq,]o^_%JRtbslaJE!<ko9nJX!Z^FC=0EK5YB@;<o[CnY1;8m;rirE>!&1HNm'T=2mS:/(VDQVa]g!<bZ<C(/r:rVVO"M\1^;<0_\Q<^J(\_]>.D`FA!osG*q\:oeNH(>G1dceZ^"^_>1_GFaH7ZFi^B]ni^SJpVo=]$";ksa)B:/%fgL(Hi^[]3Bo(/H[Zi\'OX2DI&TA;U$0Rn_H0VE-I'lkcc[4NKk<865F.DDGQT<>k="<H7<E1Mp=_41-B:`0r4H<K'c;dq+c;dq+b.:Tu<E3%*'jFJ,HB5iA!!!4rlW[B_rfV6]qoSj<W`3p6K]LLbKs(9/B32VX`u0#&lk5/m[r&"t9UVs>-(23X)(jp;DloS955!5qInO`Na,:>REFuju;b)/3[mY%V#Ci[O=Q3)rD^(pa2)`HKj^mD>pq@-)4u@Hu4d+C?RQK:_k`)Y3djcjm:;V"HZGn=fbG+1003aUQG[5H+Fk`AJX%og!WtX8IA^m`F.1;=p;p%9*2]Zl4W@`rn8<T,]OV)a;\Sc2d%c%q4_f=&D9ln^taC0p^@q1NWUKZ1H`(__m<Gb`9<E1XEm(4Yu>IoRQ\uAg9gJ&>kMDh;j@i1LhWVqXC4=[pD8t?OScaWrTzz!!!!#BKaj+-nLp1a4-\TUa>AOA6!lak)VZc1jdODVE@IND<>+qU.r7483n,1,=Iu_,oe@Be=CpQ^U-e\gR;B@_:AHg=a<=4^/cn(8OjtRKbZGQHD[j:b]NQj6H[8<F1!oI/fVE5bD\;ZXi(sZJ#e^4VOj4?qD;1"P11lX=V\*uHPEd]RAeA&1G^gC1Gd`sB>S7nq+T"2g*.^b,%rK\&J5Te1a0XU5Q_kc>eO]VHtd`bCkFjC>;huRPk#B]I<M_hGki7X!g;!U^9^nCc;GKf"o2,5<l?:R=dEE&4@P[J_W8NM>*lt\("2VL<o,)q9et$EVm2*p,/*=--P\4RU+T#j0V.fq0cel"Xp@#]SQq[a<O[l*'24S1WPKQk[E`.#Lmh<UBm6LlnTsIr/DU&1q0usB\Kd33;;-;5e#dD#,2>m.fqf>T&g>_60BK-gNVNp$jnuS%A$E[Hjd$q0*"?ssHoE/D>%UtiWecg;e2\2W<(U^1UiL-C.)mJVDedcS0/)fHc'LCjmD?=W5L[L(A<B_$o1\I3jNk0e4a7Xo[2R!1e1d9BVJ#r0zzz!)3^0Ma[f5mWeSlag?`7Ni\,;V]AXtZ:^1'h_`BpeQR6R:hZ&1g%#bF>=d-cUe+&`=EKS:G2M"$k&&@$:uLX3DCiG.rr?CV(<9<MaI48B-C2tWe^N2_3i_CH=K)dRVTrbjGAN[gL8sUY'sW7hOfP@NRHaQ)<*^-d-BD/h>4*379/!6g7VYegWCCKp1YQGQHVDZ`!%F=nHUL7i6qmi(U*:d*-&@<VGlRgEzzzzzzz%$-2D!31;<rSKp?@_e);-3!sD\Hi-7/A".&7U_^Ar.g41!/FAH[ibXtZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzz!!!&A&ZEf#,;gmjLl:4J1Y>*&nM:>J6rd76GZ@.#<F#l20A`h5Em+3(g3Uc(@XApOqRNWtX2',.2>)DsS6JXDgT@F%0&*`T,rX'U[jH;>n!'-j:q7U'2Ki=1E6"EW_M=&.moVg&7.flFkbLUGEh_f878d7NHYDBta.Zia(/_C"9Wf&?=dU%hQ]$^$ir9!S)j@_-V0Z?\UAGh.'#f'+OmuSJ>kB2d:XWPLzzzzzzzzzzz(.%[BjlmN8CQu&g8l<1^5Hd>cD2+Q]eMTV)\TkN\N$Q_fe`'gJdWijC'"Q'_!8Ko9^\0+,ik'2Z$d<?F33BkC?V+(mS28T5>n`e/!6NSZ`;HSAHA-P0R=sUo`0b$Q;oFLGp`3'aVe0+Z*?1@9\gOP..Rp#'2kmg<>Q=a(!!%KT;PM!c.Wjo0iB`)77+nnX\qol"_hcb%8s_"$%5"h'1C^=$/Oi<(;J(:Z4g;g]9[M6e6Kot1HW\9F(!_0]W7JAY9e,<d;%XI6WhL[5N]AGL3+7fmRI3PPX\2p^3G`J7M5=4pW/-;IX'nkdGc%enC9&h5a0d6bD[PN]F!+SI2Rpm^C6H?rWjhXf15rZT<@7N$#[)/B^a/Cqa'RMIHRJ1W%S:'#g[D^sY$t`-Z1X.(X%shCNereh,I`XfVMQX"d]JNk/UqEGSrYDk^[7Ah/R2q5Z*('LL$pSOALeed7r>O]BRI8X[B-Yq`3(?szzz!!ZK@3+hp7##DXH7QuEEmMhm713-Vl^7doj0O2"liiG2(5HE4GY_c.<YD$0e#pWX%PJT*p0Q?/U@,(,i@[`n_F\tYI'eJCi/$q_J8aW@>p,/hbRU#.sf.(7>f,3;Q$OpF0VZ-XgM*XhYCenUef0jUJSX7F`)V"\nXc5bK\h4*$p.h/5<NV+Z38@+p]bcYlW:N`m;7Wh98OD`E2-icQ!1?Za8l$C<dn;6g[Sa:=Uk`9(d*.G;RlK:$a#KN'C[0g27Z+5e4:S\BVhl4A31H\nF-Y'qCunQbn^]P2ZNh1NGcq".g<,1oX@9OY`7oXo1&?i=HTWp$\a-*7AhefQO8o7\#Ecd)]2KPLG;_e%C@'<L)a]`8[9]ds_G!=UP1\4m&b4r-R/2ogG#Pee52m-:g7fS\(W/2o1W249'uP,GWP<63CbWl#g$\4,n261u?MCUW0s5Q\6^5+K9@FO2(N%!/;CqRM>cA]::<T!0X6j*?[EimWCJe)V$=rGR;g2iSEtrI9g`4!kL<2'+@+qW&f,E/G,/3'p5pVT`CT:0.c:mtjL$;>_B?3[XT#%rRPF!=]?lQ]`?$odn-Wr<D9pRi;WQdhXrD\cBGISOX@qp@'3EG*ZUFgAbXhkcsG(Y]!F2'_84e8tO\J'qj<>aV%'7Hnn4"@8Aau:3DJ,fQLzz!!"q/7Trg&2//HBQ95hG9sU_4=0CW-WKrLj5dd)C86fi2W4<SFfA&s:JC3aJ3N:IPD3m.o]qFu&kfCsK=c"VQP@?#%1cKh<Y*nQT[\K@_4lQVBjNdE1X@;/?do>KGB\h??KIUoNOg8=M>88+b^SRK!e5]6bob)H=]@95`0,`"e;/'3WjbIX+elA>6Ma=bQ>!shT!fmWjM"LOT4d<8jK^9mA*&8a;N[nl#F\5hre>"hcpO;"d^*gXu>Xa.o5-"I^Sb#W-f%3)UXfb[s'<p&bL:%VlLkpjd%I8=H2s'40I,=O6T(K%Jd`WlF?MCS%^QCS`M4q%>C1p!u#i\X1!'^rQdk/*$m^0k?[c>]JqhSg<(hF%okMLR&95QH-Bf.J71.kG6ApXf4R)d;A7iNH4*2n\C79+B.fSG?P<E4,b-C%jB&KKnJ=OhKC;%XBl<E7D%Lmh=DF<W&s>m3p8jSI>L;jf2<Wue#"i>cQ.QQ"]@<jXT.>g8b"l?CILaN0p.BdH9G,t)A#:,BNjOKpCZfah_]ADRjm`JH#_ko0>RY+F-3FX9*$pupGFLKe;S.\=de)5XSq<n-haagU<6**__*Vb`nnP\jQ?iMVBGF"*QkLO4<s4d;6k8k.>U6qedqzzz!!!!<Bqm71>^Ed$FNYR/b,3j6?`R7KA^\FRPlfK(JjSM:EF`o9]jGb,('A3Yr52I17b^ShUGdbMbG-:9"_K'[i_>5D37-LRb.jjR<n`RS-D'f1.S2G06q/AqUhQiMM_o><WPTB/gtZ$cRB;@,"^f^'WG3rG2#!r4\!;A07\]FCdcD7(V/=jc[Cp,(e;1IN<n4"_Thm0,O@YF.VEeg_NllT+c8]?([iAH!]'>NfRAiYgfBW=LDgY?/?FYmm!3^fNpKK`ASl`%sI#hK:^QCSeC1qB[)Uq/C6D/7$f($L.3rA(6X*"*4<3DNi*Q%Q]D,pLjfP2af[1TC3&G/>H4obQ_zzzzzzz!!"c<+9&8"htMO(q25;@m$IZGj<+<*m/I'.)2;`NnfBI`*C&iEJ,ds(%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzz!!*a^oNc6X"gHO2n]b1)bZQEWiDaP'T/=a3eg06q1n([/dYVs])j(GI4[4Ucb<2kXfOW+(Ebo*h\"r@agqq%;4DY+A:7^d5:=d"]Q8u3P\fCn]`I.W>4,F`;=V2r<bdfV&meoghLhU_C(Mq43CQl0+WGRNOe"L6)Cim@G4,Y/Ej4RI?rD3!PR@0J2n<o]9dk`fT9O1M.TE"rlzzzzzzzzzz!!!$O53?&?o\E\OBW6?8)X,*UHs$ms[M-s6l?;i8.S2l%Pa+[7Qf]JH#!_ejG"5\tQ[Rkp[V@>hQ-EZ5-'!5@rT$9oD2C['N2iVR<a..5mnVqN;']t_]Dg)-.Oec,O8o7\!!3?fm@)Wf>ZocW`YDr4N:pC\CTc.I)(l(Uj>SP(3K3hbg6jf&e;4ogL.6nX362%!1%^a$Cb<!&mB]`(L,5P'!(dih/r3ii%sf_5p$QSl=Oe.Nf'pG814';WB-tc(2>^X_Au6lNrr>b3YO:VERN1CrY,bN._fW<t<SV:%JVmO%>-U<-zzz!'dM85:,H%7:GFYUqG3%dA&P-j@PI1M.qe9fkco5cb/Pb-q[%[V&9kaO2R2M%!#'!X^itt\^#5i26CUsk;cU1+sJM:Y(T3N:WqW89RO.ZXbj!VY#V_=&M7!_>mQ7T<EF_ZD0re"?H/<dH//.Z4d4.$-59%<CTa?@5A*el8<llQTtBm+2^9`mqO3LWb>$XBRZSTpFBQ#[d'Dh(1]>RRlCI/$k`O)c6rcXTRnI:oH?N0>=\anA@C=f0/!-c*TsKVMcG\VPY)7r/QZkU;JJ1@L9;ShlEct<.N$uE[4'eOj>9nSaE]ejP!!%%-C,/?rdkfWFrr<]9<('_m"2_&^.^&kST6b[h':Wo?i/DGQjfpF"WuA,jX9Zu/?h`Ub3lB8i`lsW!gU19DYnQ)67(uPbEKX!DY'4?GSQ@GJlZ4iud.),#m0DbuH?Re;:U.uuMl!fr.:_K5b_q;nKio"(_e'=F>T7a]3lH-1>ZZ/=q3F$&C0F\@W0T*ARWPg_G$<0BH5DU"&Ai[Tci=%Gzz!!!,NfbRT8OtR2\_Qp-RCY*.P=,B;;dUFKOoZ?\@`'GhZiFY.W,rkLrfS3NqQD5_$b]&r1&R;h8i4\YE,-PQ0a$Ts+RTFGcN([7L>cV@:eC*N\>)92WEHg73G%&Rgn\9"B[_[)a7-Q"[b@3?29g@@4^sl(2EhXnG/n:[d0A?7u_j#Om7l]$<Sp)DaaL>Aj&m`'9kMrBO>\RpsFVIG75NunL*s*9FXNQiN_`kfFopkd%GiSYu='grBk).f).@#!Rd\E(2MOY&2X80lmS1e1u0+j.2Vp*i<]?`>(I:aY(7n7a.f]aMYd0p;l&UPPh:M22i/m^#NX_G.p9,c"S!!k[\Zg1l_l86a;@g]s`m("5ok$G2hUhkA5[O3n,`j(qWQ#W4mgsME_e-ft>RX1.EnAnZHaEAKTfD#7&#'AlT$Z8!c<A(dlDMdWq[Q:ZjG[dRk.q%=+cAMW%r(4nsRk!LFn!_==58)CKFONBNJiBQ`VJ=bk.Z;1a.r/V\3a5ni!0&S5.1m/./cmX,,5;Ft[[%s7zzz!!%>7*m(uK7H&)c2GGAiHL/8DnE=s$6q$EgAO:0cL<3%POMl<>`c:0CYmdpl/Oi<'R,KbH,.VZP_0b0h7:+,@Ne.L14KdUP(m_=b'lpF9@oH$jX_Ud6:u^rUlKlET7HK#+<Gd?QUkR7?,IeZ3V5sQp]FAUiF-R=L<D/_D"&&@%PORZU*`:3?9'Dhf<q8-#gI-g7HaWP[R4Du`P'&TR1(WZWp5f+[,E??X3oQ]<D#2G(k<*ee^D5@qiOP\k)@C%[;P'-i[7*h#r@7eeG:*dMMMoD_&Lm<0F"[(/9OCqYCD"tMXL:/\'m)eE/rP&snkWmK].RD>G-,JcK1_TVzzzzzzzz!!=J)rrD>U4oYM+d!qFe,VI2geF#X&!6["@pJI;i@XfQ\rrD$,riO6@e$KU3ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzz!!!7h^1t,G%aMU7ejZa"f'n5]QMn('4&^u)O'So/HqJK0Q"fYD(7tTf.4Tbb.u[/u>XC=<8GTnW7<76drR!ugn!1Mf$"n!P<2=E"d)0_+4cqH6c[Q_[@o4dYWc=:CC7Lj<96SnCf6&D2H*%h/,csY97QNtq4*u0/NC@oZAZ3Q*j!n9-d]^2/h956sb?*NKP&JMnMd*f3$FG](At\QYZkARJj!:lB,:?Jh@ah=(:l+Y/8b![,ZlqO7/o(a[CU060_`'1[_`3ONRc9ukYscO(Wo-Vg3IBJ"Ulig'OmAk4F.Bg@ZMZ_i2UD.nik"X@`I,o>dn(0B)cDuN"Q=Eg^%Td!X`N:/>iesk.X6s&)W1.#5j\p)k:r+f_m>+l._1O>XQI!ia_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6@FU#>Qg/'jtZh_g(iRu,G'jSbZ<]?quDN[f?C,lB=#.ONa:ch"Mq91eVfu'[%>fNgF2lFc8P#'>;3<OC.\,=rV4$p:LbW"M6_kn/R`iE-!Vo`h>:X*W7"*FgWr7Xt/6F6L32rWH-VA3@UX&_0Wa_m8;c"]6C'$PYDeLh$!ah"cY-*5Rt-q\>4Y,X>47F+8to#j[#/u^V`T0:=i.sYhp3@VC@25l=r[)d'2^Y1muZT@Z7jMDc!Sm1bYGa-X^>'ZpK/Q@^nZ&'s),-&(14k:gZL1u;sY:MEQFE_%2`K82g4Vs"ZNKP/b@To_Mb1<AGM5J9CQGg5L<(?=7QiI*dzz!!!/0H^Q8meFdHXXehUO>?_YEnt\<\g.]+]WS@&IL._IGg9mqQLqbre&7b_?@+V2RGo:h^cB?;MDsCB24]I;!j`gY:MMpd495I5_;rq:"'#)J&YBkAdHDqipOl,kHBgGAqA:OX[!,/gT21nQM?6X],-2<YomI\Wf4u/inBQW6*6Y,"BoVk;91HI\)Q]e/-Mi/osRVRU(iMK66_2sqMkDnT#Y)YtZ9=<!0n<kk'1KA:POuIaT7>cu%VDs_/E2+"hAjp8W:2==Y5ubn6$.,_`XcYG[O]L%3Z$l1Y(>j*M3SZ`$C%G?)eEaM7Q#a?1QWC3=B?R=*lEplPP<,O<T).PCSMER0V]V*P6`O>>UGFbE^A8`d40ja(mCT?-K(#UoZ,IXo)T^rK;647GRLuZ:+sJB9+`8"$[+$q>e5T7".QCpR,@aR_XCG*Gf!Q/X,>f$b'<lidl94&*zzz'<U\fd6V#[.!ho9'QRI\M(SG*h$0\tN7D[V%DudY5^eDd`H%Mfa?l;lm3<uk-#XS%#W5YKh"sNhl(k9"//_f+ku/KPlSNM.'J<$_6Ah9G:=VkaG$><^2:F(<Y^^E3k#r+;ZF^Or=^<fqD[BOW@u8<CBi.f[nthA8cXRT_3+Q5E:hF<OAp[5H9[DZRr8oJRYJ(GP^]<p*!!!$3?M*&hSe885_-#Ena^qQ386>YFW<,R*?9b[Z#[8rEQPr%M>E8#^Nm'iD:.L/`5$J_u'Q_#uXe!-M@Q*@T0;7E6>GcN2&\Yl[F__^,)e/#Q'[("JiG7Q77AUVb8R8Y<9`4UuRuQqQ/\"^HS+B<oG-t=D>>ZqW%Yb.lcg3\f.l<t`$G)?3&J9Bn>6nL1l-`_<$-3)Hzz!!!!Y1En&"4bQ82ci+%QMQ2K&-_;=^Sc.)B..TT81T4!682bLK6)5)qPa[4/R8tVh;J?Uf98khu\<eMu_551qOZ=>OBPZ\.f9.ShD69O]Ic'^-?4X7"@(WFgol@<a>2%WZ;i6I$*D];9[D(3`\BiT^NCqXQLH3(mh[dL^Ej"1PGKp,\m9\ADWJbC('g7d<l_,lVq/(;>@hb;]!=4be!!\hVO&kmI,[pLM,AW'!-/G1tTjmn9o1P]ZXV2Xagf5cWGis#!mCJYA1Y>JcVO/U^l'Y(:S$FO7cWkf#d.YQs&#&"-Ggn(#/3Ih$#i3>Sl4k%mm'2BB<@h^>\2%,8CNEi!7<Y[p4?6'RQF:>O`K&acZ$8@sb)4dD>1@otW`r56K"kO$la<4Rjf2"VgfFq[D/-U`W&eikWRY`=(Fj7S/us\$^AEY[r.XVU_BL.QG?rgE>aK$ZF'S?7dp5q7Z7'0k=NKN^W7E]&fLE7\5;*B./`MA6MX$n1].VfL6[."tf].sj@p$_p26B:>&J5T>#Msl:zzz!#ul=&Xi,#&Xf9R,5=G:eO3.D=l8%8U4^AWHTHf$FG"?WA/[dad?KNAE_NMH`2L,2&M7iZ>^3^ui51Z;]1AHQ!79-[;m.IGZYch=P9/WPAR5nNj'^'1J+[j%maehT26g>BRN50rlWW-\aYt+6;3@h]HVilacKjHa#7]5<L+`:Oe4@RGC8tCEED]Zf6Vb(aFrr<=dYqq)&0N,/zzzzzzzz!!!!-O,*`8Wd+::ha.6N^lZ/Srr?!.#QFcT]0G+@@@;uMLPu04LJRcU+90it%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzzzzzzzz!!!o`miKaIhA=V+87J[]=Z6ggU"&UtR6l7aEQY+IieXP`8a;8K2^qP3B^WD[jdC*[_J'r\:*`DjOtu%kbWP=11/PCF\uo5(mg?Uge4AVNr+Od':'])p2DukiX&\T9N,cK'GenTa1<hp@qGt/6(L6=.W0Jr&@j6&sD7t_L+sS"_Vi/T%#,tAIQP>7j0bJC&49`'E?a?f6W`uLf>>@HQzzz"dV<pQqgqdM(e5Q=GXKXnuZXY]ka+Y1p(qTPjGd"W&;Rd))5.%B"Ze7E%IZEn<Ume+8ZJj=>.=0L%=5TFEA<F4/]'_F<spj2-S!!!9G4_)!1EPnu&Kh(>.9b/(YPA3%g@nF>m/OQ>8Ps'aU=1YN9:HCAq!*rM7mLn0,jQ!#Y/UjZ>7)j.!A(A."Gt/R(E)m7)GZ1`X'0m3\h)C0N2FrG&N=S?teFd=7#)$Z<nGN3^Y:K!>MhildAdiG)-dIFl]*Yr(uQS1g0sp9@$(=X83"X]mW^,4kS6$ssjt&D^Gti2?%QX^nBM-ad].^.52M(uo?]hS"S<<Da*1C/[rQSu4@2bE_NT%>QENrCYkSgNd^&[&ll:3)j[6S]9;OLlAFdqh13(M,$%qMe`#K$=sEB@JlY2QUV7ubssN)n`hK$7"&'.d6$^cITJ"$`nJ,o2R50ddc.Rm!*o>8K^S1YF/Kn\-Q6]!&KO"%7.6=(o!rj"2";EB@VA+2%@h&rzzz!$BURTspG0`Yt#pDRAGdSi96/-uE[%j1K1fbN-k2/h4Ah6MRF)'M#CJi^UKKaMpd54^+eE9.anY=H6$O;UjYu;,YolMOG(!d9O`"Y?&22;&(Xi/P["f'eN/p[1t:P73t!Oms`dr[7-nGQM%;2BXAZe2AI9k8>fR4LsRT8\o`,T_1N2M?)3dRN?+gk-1LD@4f>[*._Kp4ac#0JY._#Cmh/T+F]1J,V38875"R#?\aOU*QV3k1<F>aD@'/*0/?]u7]>hSW^?2Vj7nFteWa`O-HE3S!06kpFX)J"<9a>=FB3.<>@@mV%?#C`#h=Zmp&&]IU+!j*fcSD-OGL&:1:cHV`kO+9bi)OQp_=r@g:W)]-4,:pIkF#-8]B>^)W#OlAF8&-An1(isi;:6o-fOiQS\sN`F3LQW?1Z?Oe.)"1\bi-1p_?uuE.-VH'CboccJe=k\`Qig0)=Zbl4-JE262lq5M5aAp2KNS25;i&bPb_`62,cf9)enjINdlnq']O017_9@p<2Wha/C41+CDTi;8$j`LOE2K=0C;lXX:AZWl[Jl,$^CP2ToWY8C4(dPd;BpCi+nG8eOOVOI4[)$s\$1%c$hX%8\gGih1k-6Q:7gf(N*g>k]hRHe5]Qgug;T;G#X[("J$kCUXi0FH(n:Uku@p`qC=AQ!VY([^j[h/on"Z8tJ.dk:Q`7zz!!!!"/Df]`'Gc#/e!`$T+\uP5CKG36eG63a7*$2"5#,'L:D%0WQZ$*.2WRhep,qTI)#2%I8MFps%AJ7fiK_UA-!eL1f=VLK*l[NFBV0'G/ZJ)LT=0aib?N#R6DSA$;e`o,q2KBs%E#Ss@dD/Oj1VMJ;U[\X\k@IQZKYn*QDYWq(,jo@R@0YqrrD[8+tq/.7BhT(^&n4aQ&<RLYq/7m4FdZmaVbl@`0M^uP&K'\<*Mi<Uq^!4cZ<O*aYg=8iBh)!N`AiP/SL1[Pl.GOFX\tsA9^TNhq76.>e!-0:p!1`?TV_RM8<rkF5FX^3808c*kE90\]_d03-u1mfWP.a0]g8GZX21FUiEe%/RB5RIB+47=1ueNX[Q-TR]"YpiMq:A?cj0V]*\q\p7!\djc.oYKqSt-%[TYGn0)i(asm.i&J<*Ml\j[s'e/JqP.=##jJE!in7Bb%P,5paX/N>E<E20q^.Rh92(V3bcY4%rhA]I4+"QpEkfWfJ6\]L%+$+T<'3ShCW,a7,7J.Un)]O4$D/+%DX0,rKRg]8szzz!1%PGcAI"_?Y,Z]2'\F)f[d4Wm.thd9]BS%l5;N1/L-H^EFiA*l)D3N+,(39D+?abVb&RXD%34f(u^b'ga-=Ha4Is3h]u\)e22*OY*RT21XFfG#A($tbFqe!`D*6$R;b%(o/@00fo*$^=-!!XD+dRg>3RX4ZHK),G$:DM1iZ`:VG-^QrrD[8,6%Xo&JkH[&>`j@OY"ju#ESoczzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIlZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzz!!"*r*,V"sH08@>Q<S@lhgNF"_[No)ET`p=_b4i%b@rgcC,/CZ7V61!5>>YKHR"N-ko?XXLl/44X(!7sBiS0[Lmh=c+ls<]<jdog4]N(+'%Kuf#`+>6<EDL2BiWN6Ecj8.I`em8ouBGKHe*7_^>*\kFSb+8Cpe4U]BW4!H+KQi&a,u\.!/U1rrAAhU*DP9D(d=4cLFhM=ZN]m$)t^a:$%k,h@#;-e%\'`.M`4d`q2][S]He7)J6IeREE)^jc'nm>.,03gEba8N$ii$Ah.X5'3$?,FAY`:2?l/R=UU?(Gg\H+aQ;?+WtRj;>Q_\N=l4O8*mUJNLtXqDD"mELkF]@eB:GZ,pVF$sG5b%i#H[C-0oosDq8>2tg$dj#cTcTSDN0k;#/'cdq'18.ZbH(O4e4t'&DSLC^O]`SrS"Nf2G\]=oB1&QNUV8>qpQDUFUt!0E/gIg"aoq9C<#Jj4n*75S\L=H_<X2O9Olc*5&h%K2LG36o?Z6n)l$s<_66%Gr^boOXREhWO(V;b`&@tTn).9n5Ba,GNK`6(]_U=X,CCQ=^@]E.SO;QOg`pIHJR:P<g9J4I:OF)PkATF@n9WCWdhqe$&"H"+NLp+QI.R)I`ou)=n8$@@^QLOllT=Q/A(f?qE=KcCHh\?IceYW@ULa,8Y<I./8DaZRn%CH:B2JEB2[J+*i)e5hG-#S@PMZSWq:k]iHlfW.oYs%b6g#$9,A4cB?Te;@Z+;hhHlDV>DrdNY:OGpCA&rBIjPm0++^8"\:-D6d4C=@(EXcb/UlkXu30PD_p&s(J=J$R1?ZAW9U!9aJ;t?YH(H$^-eNIs>LQiE+b[W;,3IS25WiCPX3]B"L740HK3l%5d4C)o32;:SPTlsQt*.);X@Zr!(RsM%"b%b[1WcVa<CRGa(B8i1P3k%hKUl:V8XGEoqC$^PNa=M%J>dn;BqYQ<CUif'5.pCWd7S'eu3I$iEeh)d$)NEc$W[gqM[_dFab#i\B'@:$,=0npp]%V@&$HS$dYo<TdR3rci]#CpXoLAA6e5Sk*[s<XB1nXgK!!f+-DS'r-[I,!bn#JmN>1Tf"F`u]E9j&Yt5*o#U:W\$7Q,W8l`GN!L>HTD'8K*g]I'(A-hUn:n]!1S>6Md2:\opFD9M8Xd,[N!)St^C5X.cXaEiL<5T68b.hA>#26$$<gY+G9cRB]1"G[C-HLnBek.]]8F79.]l;d3D9WOXm!R-L$^n#b'?\i81g=O,HFc)@:=XhJR=M(KlCAF%e/;GsF&>>3g/Zpno>NLbX/I*"IF,;T7V%9%J]E=GDRCVlpIqKeE$/S_G[o)^RlKraT<?E(qkMgrk(Y.O8*#ZFuinKbh\Z<GAt5>+&6MMSo.l6Pa@:JhkLS7ah2Z+S>_zzz#1[DU96WS$ZQ1C.V&Yq@WD)A'\K^?RXtt7WUs,&I7j>@-,-'a9A8u>N*n+?9248K%3+\nlpH!2.NPH:]VRq[Bq)931$>!L#'h[4bC*oPD$@[#>Fr6%b?9?etX)iVDY2$%o'j('+2G;V*@\eQU`L:p<ZIDT3mQY>7PC]]E]Os.WRT`ag]jb1=m?MA5j3]H*:5r&YmJ9LSfYp%<9TFq5j.t#_33mB?<jcdCNZ+4Y2(6[ko=o4ef+VLm[N`J%>uQ/Q<'GThG73Mpb3(kW-*(K!BPUH`RLomS]e<$qqn2A*k4Ycrf;2HlQ<>#Xni^i1r^=4^-NYJ9-A4M^ifA`m3&N!2;V&35KI'8qN\)ikg(6`M\DrK&6Z&MBAu-B-&JijR*`3ZpNGDO!X(!8!WiE];Lmh=FJIs`=NB.X`<I5"?<EHD\M5=4!#b32<IHGk+<hsaj@s\9UV_Fu'WQJ\B+tJO!fCe":\IP<X40rC'Ur#nK2(9o[\J'!R_YFg^qd[=1djX^Kip9N1M3tcj/Q]@%gJLkNNb'\dP.sDM.\>CO(Bd@2Bfe66dUh8V>Xs:lfo5AJg9*pmRTaj=bbn66ma1d]h/QT5b>p8!cQpj;zzzzzzzzz!!^JX>>;SUW\Xe`(g?"e)LDD`me<j0aW$@Z.m=os-E1'kb`0$TFIX[$11j$#>DQ&VGfidWcHP.TE`3!FGg?,j8u2C8,sA[tWi=(QmNh.o'#f7E:LOoA]KB/!GFCOOFQIr`Y/If7O/Pk!e&-$_StX6<8COl(:LtcaUhJlKYnlMIiuVA@R`2])]nK$qM.kT7R.P\V4hZ_U1<CH+QSIl\WHB\LQ**NQeaf;[`N9%Nf=MgX]DET->O*)7HKD*?CZffG4a8Pb#-g=mEO?C@Yr"1pCK#b]N'i*OfW+h]nJ1q#ZX21FXHG_k/RAXh4f]FS(riG-[1Npa1"1mX!>aS:?h#or+tq)NB<[2J^(W[3"2_1/9!Wfk26Z-4rB)rt.d$FE`jKGOD*eo6oh:!c`8r19XI@L`=a'JPC2u0jiBsaeZ:em`XtA2j@C*G<$o"*#MeG)[rqM%(N-]Zs1iBSCMT+#skKtRRQFD\XfWBS1GI&nqXp)?7GiC2G0n&-rEEM;hWG.o5RiS*O=`ciFasRrf**6>XJoQsLzzz!!!#Or@;Tfn'sm8T]6DiQ%Mh=rS$qU3>6Q^UM*&<[++C0D>sSfF'[gi&=G=!ITqV(!dMj_Us@3@\8k@G??jWgilbApR\Zgha&Q,"(VRbXP[[auRHa&^CR9g6MluYA0s7%M_DTu3o!.iog/Gn+Nh1G=nKUh,WU-F)[:2.@Cdknc36-2s-*_<7DdcOIU09I'-9WE0!PO@t,/G1iR5OAbWHC7dV634aeahRYlILFjleRJ=?2]e'/bP%,4`dWAgA0PUY?hT<JW*B?*,S)SCeY=J>1DIZit,Sl[OT#[4@O_LXS9,-X!Ea4$Whn]:MRm-`\FHdX[GP1N-+$ozzzzzzzz!!!!$,N8Y&lCL0=!-ce>R'7hgaa_h.62pr.0$j8hQtBfW+l`M%iR@e.a8a_t%X\2UhB0EWI^8b6Kss;>7@PC;k5B+ML1NU?%NYQL!PdH)LP//U-ia5Izzzzzzz!"aMGB\'Zh2N'@a=N7L7].RiF9?X`A%i6a6>4^KAdB&(/D"b,9\YCT+cJ^'*:/Y:[)%,BV#/`MaI,MYOo;<I&>B/'5WHH)Md61,<a&XZC$rlZ&YkB/"/,1;`1t1,Z-GOrZ_jU:cP1uk&77mj@RO4H'@aqD2$ui>NMm2GC?2jna/Zos'&Ss'$/cm6l#_fa,ku,G"zzz!'AqEfsi\.NeM.MPaQ[KRc^WdU!RKB)`M?XWg+CJ)B;dVn.E1qbD`88,mbeoN06YA`a:[Lf8"7%cMkR/USbTci-a!Gos(dB)cb1(rr?LTKM<r)+sO%]*t@CYcs51FFmXM*1(1OZ-V5kL>8kL9'jTl"`(gH`X._ALF.F66Y+;Co&T$JQ],Gh?qi>"8$F:G&fW*f9G,(<k0jN_7:=EnHUU(.SN/6'/@WPrrb_KO7TQ>Rc4#8Ye`\(c\\QXhc6PHt=UkrC6prV0O=#okCSVP:g[8Em!4D+:s<+_.M]WiuUk$<e"%4#iMAMe/7:,6u7,F-]j3sts?[5O[l1K]/-!QbqPaG>f!b_V(b9[*8;LqbC,JuU"EY6!T^&J\;f's./8lU\<%bl4#MX]q'qCoWq/ajkVhEMM?V]fFoMgPn>DN=mX?Hcb"1$).3]h?,1i1UkV`p3BmlF2seQ^4sj)Gf++K'@XCeUQIC_.P@%3<1_.9b'Q3*\Iun?<lqbZ0'6bH,c.gDXbt7LgmVWJH>/XAFJQ;N_:`W_G%>V)VCY9+J,fQLzz!.%j-cae'*f5B77D'E87lFQ9MW)O*d,]Vm@WD@W(@AK=X6VSqBXiD,dL7:f$UElYZE;5%b!4hU,a*V8h6!h]<P(j4d4Khs-aOlfYqPq5`[4PH?;6<8e6o`r\pUb;NWpmakMRGfnd_tArOiq2kND!9$.eXGf8ueU0.]O:8dDhJhSL.e!?%l!4[4B+paB%k+f#qSs\?;_Iijd3F%4(17-r$f&^hj#Nr+T*,>be>?IP_!(3j4M5a7Zs6XWJ"g"gHhTb.8^m7F824%fJ0^Ed&n><+7KqN@F``F#rm:>[LK\<265"@^\<W(]OIL#eCbm_;Ag1hGs5b@Wnh?CPIp.GQ7^TV=.mE^QZi]<gb\->D[c7<4";,<iPPU8@33uK4Lj]AmT1U=K^KM<OP21--)m`B#6PW1t\D;]/tE*]qN_6@mb,P]B3))U3_!j<H511PstCCd_".T+&JQ).Z6'*=NR2*2iLn)M(($dkiH1(UO$UFTo5dj7H'+/BP1cF-+jiSX`4pb&J8h'i$'h)Mt7Lh^)\`@=O7$Jzzzzzzzzz#B=\:oujYS7^_WP>e8b1EE+/ZBQSJ.S'u+p>*Od$_M&l5rr<_9^>TZ@fL/skA41#hqptGPDEG/n^9<FHl)pIG?Sp3ECh.P*eT9U/obu=[oiH]$WUa@3Kb`-*=aAk(9S2`2M:+s?QH$1g7<>!"l67BkXUaSBLSTkl'%q79kN&\ElBU/"E_#-#;_*OCP\YT7,h'dqHIll]0cZ*\??k:fA4H"*cmI1$l$6pE5+_ObUl,LUEM:"Dh4of9]sR>hK>5p9,NS3rW5t*;AZJY\eXEnVYD]6id9b$W9?)jH("(!Xh(l[V*VOVDF1X#B(-?kK4.%8OVuQetLHg*n[JZ.j%r(2F<V\2:J'o)2\#VcDM^lZMC+XEhUta-BPnrDm,H44PKUe#t27pZ%R8BO1&o?n*mer2(Z%W]-#2OA#!2GD8g=B:o[dhlafi->1`HS_QIOd7NEZm&Y?-0:@\%=Eu&^jm<BI<`Z9cK;(WMsA(,t7N(e#nu&5$Ju&)"]<q6psF3^dLRY?^Qb%KubaDWiGQS<,qs=zzz"1YhBqW6I<UK[B1.V3Y\\>jMHZoU'-UOI>`X&49W@7#k"GZ="t\3s\cMhK<1N5m#dhR@@BG$Z!8o334mdn'r/RTHVMN]>aqHec?1;&+LZi(Y\KQ\FBeF\pXqGEl)L]BS<sP">8NXCDiIk;drY7(<0rTlHV5kpD1]N'@s/EA6Yq.dAFIbb9't8mM5KDim8b>I<WV3CR0'ZYq:KjgU-=`pA=%2g-O!2Nc<ib<9k3pVU$&Y_<l3)nMTo33_/l:Et*GrCWeIrK];Y'rm5#C)]4?>.6BZFLR\hj27+oB]u-q**DUW1Y]b'B!E?Db?MrHg9%uU,N5R$zzzzzzzzz!6FqbqPTC(h=MfO/-u]i?hHLBJ+CdhrR>EsR%MHE^\DpN!3:,>f<c$7ri=lt]d8-5q!*RB5P7I7+2m=?Ck[UT5Oo:)rr<)7h._Xt7lDaqzzzzzzz!!$`!\@$0AdRG:EF#LOLnm0f=\fNK4jD8q8<lpLb2[r52.$f&TY1oq)6(Z$-n[0?qNSUES2K$UJa$"G7(H^@s=?_Lu2<.Nh*(Xr6@#`q^rh31kcH@,eQHL/DDre'#f&j\!MX5@I4?6'RP."oK`K&ad1#*fCAOUB]/T2P#4'a]*\1S-Mfj:c9(H#*%DW81+F)+du`Bht!D,.-/OL\;%a`RO_`9Zm%ApZEJ(BG*[&I\HHY.M:*].WuHkG"!*l(j#p_\3[&7iZA8Z&MOVX[GrbGZRIT2gsRPF\pKAQYe5r]BS<kEQ6M5XCDm_[1h%X6`1oTomd#Bzz!!"f!,;\7%/Z+#bLcBK(#V;J5SC'X_qg'lmEciAU^+T7kdu,W\g+HRZZYD(3?Fq:f`9iUk]-FA7(N.44VQ5]lE_MZngMuTnR&9PG-Lbl#\8m1:D^ef".Ve!L'ZfA/:t%L"SVP]@S.MEsF6uhpabVSVEmkItgN$07rjG;!M<Yqh+@T$BTNs5;3b5RK4YpOtW.og&!!!Unmk<7D1t@Q"ck\31%;+Cf9U-ZVjE6W^=S@ruj=7"knIb/L;37MW>"L5tj:dT:)+W>YO0S-!:<i]Ho:lrG/$eI&RBDqtQ8Z%J/:;Prm\<Jh<8#)0(,`@.[3UdX)*7-*`4s'*\n,+_G"U;I(YI6_Q8t2olEN00HTePITD:<Cl"aL]>E1:Q39&HJN]<je`uJ9B96%qLbtE%l1GpT)bfodJ]OnRRCKf;`0bG!0'#[14#`+>2&JIJTE$8sJCKcPFU*EMd6r!kQi'dKujEWk<zz!!!#CLlBZ1Lpi`N@NaXVS05.&\s#PfMX<kj*Kqo6c:G]!,Zt&,;.,8UP@IR[-2uP:QOAiej1Jm'Q,5rMC2'La$@UEh4)M[<8n2Z)9VoSUr+mU$:]@q-f<qZ\NGS&SWM.[:\J79OPM5CQ',>;$C/!dcdsAb^0\p$EEe[ro;DE8me?NiYBW:?lVdK9aCKF+teQJ4RoL&ZZ!&Y!b]!&U8PD<f-:OQ!7Ip<4&KoBk]e4Md8`hn"(Wm5"::*%#a[c1iA<rjlJ2@.EC-YE5.h]qSpoZ,IkIQmQ;(T$-9Ggs,c70U7I@dnU<Kgh"IluqqLEFVp`ADUA=k.WL#k%>_sL'o<0SNlY^DM[#Z*VO&5A80]`T"5c82f=PFiOuBdmGW4gVH9p9Suk&a?EDIlh3V$><*rmuEh6G'(ELJe'd^+55n['`Os1osDHiRp_m`(fE*RK>dp1CA1)OJ0=P2YnW7J?infhdJd]7,_WiE%:[q46:gp_D8d</>B$auKN`tWA`)TFK_CK(4hV0H!^Y*D$[ae*MPzzzzzzzzz"#;&V1Y>.5Aq'gtk:klAS05*"\mn/6B$k&PQRC3@QY"E;H+ZR6T#l#]mB'2ug66lt_hmD.=Lk3+9gIE#VJ5<oV8FH=>*7R+BU$FOKgn^CgA>bK3Dj]dR(=ZE@bTNo\N"&rFcMrqq9^(r'(N$;C96Pjk-f*2_c:m91t!T"aOSZpc!+)6'f]]WCim@G8r1auf%InT^-]U8!&\+c>,/M_SVJ]j#-(O8='\=^U19*YkBO.7[qj2:Ci[drq,G`)XdMe[3a;u&,hX7flXY@K+S&k7cQ%F%KrB7cglY_sI7biDH=V/V@dnU+=7^AgG[@E3:+I<`Za,cGmjuu-oU()oN?-UkP#]eaU)4JafXr6u7I;9pFK4Hi=Q5bcXljcd>Irk/mn16mp"+B;k#X)+H&FOE2PE.KERbYNKp_6T@r/N(-J;r:63ra;,4#nsE:qJ/mMho0iT^VFgiP5*(a<F&A8FmPnuJ*MT&mB+EiY_1WiB;=bB$sVHKi&E/"2T^>uZoo.&1\_=OaT?[9&(->qU/uPuUg[0KGnlzzz!!!n!(=V1ciA3]KLcBK!/:$ZNd6ZHm=IQ&-oSu]5\R7PV,GJ-Sf_)jl:2&@FHbR\"`b)Dq7oGe,[3VV`k,1cDaA3SIG37L)0a6T$946KNDE9dTDb6>`'@a:(D&OmC`D5Ja9r>tVLrK<*gKj\VB.r_Bfs8X-<SMWE8;gh"=%'C&D/D$XE5r=<l#bSBCiB;1[W$q=OK\]bzzzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIgZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!!!!"ij(a9ZnX.jFC^='XORs2Zft@;opUN&'XD;5,dRso4%W?8FX\h/GcW:S4Sst,Hm9iP3)]ar30r^D3+@Tl2sl"[MC'\SX2=&'[>m/>^.5>\Z*&-:*6'&005OX:h3`BFV-1!:\PbE@S//:9SA*O4D6J;Q6X#AD0f;n/424c5K"[B9K6@\aHYF6iYKIlI/K6kucE<R+B8;<(f6KeL2=_qO'&?a$'?*Rj#iqRRgc6a4DTiu>EFc+GcILFtA#cQ!LltBDP[[aRKq?^>[5`ER[h"bWF*-Mm&Y[*DD3(Vkc;`&"Nh2rcS9Yq#C0AN8^=G3M3,M[I&[or?zzz!!+J(m/7[&;OJNq-2gJ@QqJ=Hj#pCW955m,h:ft017r/4YED[[@\hBuXCPp3*72aCrm\h[YdT=):uO'rQt!H:0s?C<OXjMAU8;'rqR,uAG*qNrp?:a#,1@G'Oj6qLS330biMf5bQ]uAW.P@0'(=p3nI7LH+62pr1fC28<gANHe&r,.-)f;r*[bGX*D75pN,_k&fZk?3iD4r5>UkjjQ6q+m>oj$Z?c?#7WWiE)"C9"G%<E7JIX//g<Wg.7tWiE)!Y#Vl0FK2A*<E3<SWk)238u]o$!!!#;3U8KU)LKD(^0nQN\J1MkQ1_"gXK7nT>cg\F\.fha7B:tMegf)dB9%?KTh8JW,fY1s3I?/9VEDb`$K>$%Fl>P"A5ot@`7.l54-Qu&U2-B6[T#_nPqou]KC:@>M_86ZFK.7%Z<f#o;UgR^U:OK4SWo+ik?6JB)qcZAR'PQ6SMEpkPqie;<?%CnW30Z_8Z8=]+Z;a515AG47V*?t7=^%]NnJdc7ap(d;4h;+!J,4X>2]jQ"Q=)`MWUUd(u>`bO'OM8.f3plHE5ok<GY;HLl$.s6ODQ#*tDRY?K%gNGASU=eFuaZl$SP!D'Y-AHe6eR(*XqL1Du%4J,fQLzz!@o5X%2FA3GlY/,7&6gK1Q:VC/MO%X[N7]IifeF,>F\-K(/5-q`bnLEp)72ie777UYDW\[bh=;h?5E?pKe'[DK7#q_Y@@4T1iB^^T%*Hi:"r06fl(dfZu*'dBoM0LKlHt=_ps->@sLJUZWFT3VH[6g^Eg+!A3H1EV"TX^WP@pH+sJ3VUkpNl&Sr_h.3_A^OtD>T6psA*J$jB`IK8p=*_-.Cm6"fggt<&1X0G!uXVsm5eT.W3b@;,/-\8-6g.IPiA'.G!fh]e:pCN#IW/!Nj0[9EPnI<fuE8:VrDqb$A$o,5sk:[1G[:9j$aS!p"29oJ5Ejm(2HK&/gmC4c@7o+J3b1P]_G$M_G?Y\/gY'ZL&>)MFgKeg&QWQVVJfnQnt/,oTPVbgJAd;01ba14b7SY6q_WXL(D:Qf!aTVFM'hC]V@33@tS6YT>(b_sTdO!HCgh1T[[,e'8EQF<V&a&LSL'9<#P;Drua"u!6@WGcV9.bl@MAZaLJQq!,HcuEU!GNUHRZGiDX7,pAZ7Q8sfheL))b.1SV#37[=zzzzzzzzz!!!.hHaWKLm\]PXhY4uL_nnCYUCp;<:E`8<p:8r=k#3gEX$).&:+$fG<Ctre`&+m;W<b87RpPIjbacN6LG7OfH:GUmF'u7i=upf6P#aS)&%:-TOa(HFqGJ[b`pKOBOh#=a''-SQ'Bc4R)j2^2Bq\a7qNiR<gan!mL.bgK,B7P.gM)u.AVQX^L0I"r0Z.R8L)F\.gIs<EA<tq\QI8>k;FHbFLkrJNUM%:24n;/<3_(["\Q)X0<Gb`9>q2kc<EDeqPq'=Ec<!$o=$9P`<E@XM>q2kTV,^ShWp*O3VsJk.!!279$bk?8p8,ZS?<)6W$W>KMbcY%5',AKI!h0A"Fn\RfjZ;u-&CX2q>HXqR8K*g]3I?A:^+i@VF^_pI5l.PL\opFD9_M8ElXD6?Ln$)<k\F%#j[;O9OLf>1b5K"+qj-E@FSDn:XbnO]_WSIG7/Vk2/op/k;-^[E8nr,l<;/#I1EB6gW0F<!SOY+C/8K"5k1!VDUN-f\\L"U2g/W=-i_!2E95`?\9r.SCRj.2.Zh@!rq&+]2nBE/_C]8c6f7cgDRHde\.Q(:'H%d'J_V]BkohIU(X)IesQ1o/qi<j@\SQdE123QNcM>CB*/6#&D4mFlk,&^ngY#OFAf'7M:-I`"qzzz!$oJ<YG0W+2j2J[^1j`##if*A=Z6XNg=%,:\XPM=dqi^cI$/Y#(Q0K;Um^`sEEYM_OHV)>[I2DcaikfnG7E+IAi9)lRg"\>C-$LFZ;rtI&%:-TOa(HFqGJV.NS?qc,BDNK--L;XU16j=2+XfS1siA,I7gDGgan-qL.bgK(o=PXD75pNQ<J!W=`(TL@><.X$o66DgFP&-A<tq\QI8>k&k%t[LkrJNUK9VL4n;/:FH0@$<E3%!<OGh,FK2A*<F%)c<3"JM3F(aX>kM)s<EiI'FK2@DPuV*>X//liT:u&\zzzzzzzzz!!!lY&,uW/naH@hKD`]>+a-NXVfE=I=a#;+N5IFbq%";A!"PXoDEn0KZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzz!!!6L>>Jl:ranPeq97(V&J5hrB>?cW<O",*cgO?Sa-W:_=BcbFeF"?seTXW^:k\<9-:,B))mNsSai#7BG3ukQ\Ff6D%m"UM/hnrQ:"3udZ`g,D17<oUBG%cNpOPE\*hB\J'C9dLZ$hT&k^<>p2i/#u8M.9>R5/F;29;02&^jg?Y8EIZa!Y^s9^<\Nm.Ra.U%<G2S65E'?#31@bY#)>zzz%-sf#5MhisbBDGbZ<B/^<M''CI_+PiHCnp*d+6pO=!^LrYdkTE08dqbUoHhJ[`X%saD4K)bq)#A\/+k[(l@I]5i+%'U7siKV<GVTSj1Bj93gct,E8mhF>Ui*(EVAbD1sVo;gc1-7%@AR77;Op]C^'Ko!s13l/FE;p!D5AK8?d$Q\4hIWJ`M(2)NK[dAFAW,#'K^h*tS/Q)Rh7Y+U^=<Jo;fY!eUPr(\nRCe5n1Y?!d+(l'k$Fn^l89k)@q=3Rjl%i.(m7gs(F`[FrG*,Y%"/R)4T<h45:.DBf),/%tbrr?!T01rbicJdcf]F9XQ]Fi0<(rZ([e^CIuOp3+?^]4?7)YL+94]+(*Kl1]k>HQ/YMQm%7X[fm/YaLEEfB@7h\Or28T!qfj:7c?CRukIg[4S5CTkIRT7CBF&2/aJ$bY+EHh:HakMb_qLQ3XT.-%]b!,\p_BWuLE1b^GL>E[Ma-C8rn7Q<=!m/Ff"YMl<SB;R!RqOs_n!^-s5c?Ilj0i]bO#Nj2Fr/6#ZMTjK=Fgrl_o9_V\uCKR2"VfIYA-aRqi[i\OQIR9i/ldUY`QVB^(8f`%'5ClH%7AnqUqZb.<l=NV8?.\2q=(c?gVI\nKfg`[n<n-dW>1Hs%+[,8LYqibf#!VUP]kH\Ida`oT-,#ci'A[DLMQLgY6p/KPc"VULN4V`YrKMA-qs<q;)rorR3Cb=-ekUTFo&atPc^N;ZQPjt58c'oSn$C?1Di]h;jULX`F5_>01R)d)esG1%bI"iVfgC7;Sp]RGHs\6LDfq89$bX$?UN>S)^?*@?V:'h8)uK!nk8WI@q)LfhXIT&kjilg*T/EJ>/i)fHPP.i1he/Q@h]EZVarB/IkJH[?B.2R2XY75)QYCQ6ZA/AU4Sd"lpqBL"hWlOQ(O:'^7d&$1IERS]9;MNN2tu"gc8We_noBKZ=ZPu`bF-L35&3gZ>\2Vp-g[PA^<\u_^-436PW-1qc\:4\c;D.D>$l=10%/uKAI\V3H1R$cnU-k#^",r+0(S.FNR+'Aqj/1DQV%'&Dst$YS8XIHjQ-j=Z?+uKQSXlp/Y@*EXQSA<3*0IN]5lPh<.rN4?A3blX\GV=QMLr`3Y`tuAA(j/`*P1(aVm`gnOZ>FG,VpokAT^HV7LRpS!3TS?1Q&XYX81F`5uR[YBsd@F-RtZ]$<C=>8q=O.bK[L?<^du>Shg)f2>oi(R&<K`=o5C)danL`+u/lL,E7L)9]g]WZnR$=bdi(903X9(9TEs.8A3l.mB3:.[:SkPC;G/C?<sF%hTDsX&Z#KEb.A:Pj@`d?^Q_BZ(<Yf)#jRM?[0U*<ingf?TQ@\Q[pa8f[ueH.%#i2CeY@K;$u:#R#^s\fBqgZ0C#C&p8jNd,J+8#Z""I$`uAi))Oq7)6f&5Zi;`iXM6D0TT='ZY8*Dqm'%6.CFr$aN/TR`M>5kDHWcuG:afCPQV+af<H9E2#6\^Du32>SGWGe`F)WK%JP-[e(10Q3S(Lrofq/[%F*=QWs'BP77QJEu0S7G,_:oK9sg53e.)\R,)N@B$sa4WnI/[*)pY,8?q@lc/W8EjZIPgEX2)"c1\9W3jC-NascVma#`pHE@cmTa>W>po!5D/\mLc^\p7Mr`t4LO6+mpg*"*jVsgLV=uStm4OUr:uC/CT/b^M(Wjf=h.5]cmk/6$h"e'*\T*sMFJ#jnrqehR`q]>C:/Kg5-U&>lF#c_Qc"VULN4V`YrKK88g#pX>a2RUiLA+h2n@Ql3au;M"9C?%rg0H)mTte=f5&n;#09_VZ]#i9PhH\?'\as!3EoSe#ks&_grUtO.NUcOdS>!XI:4+\bk&QI-RaV)")0V?<q^?COZd5.[O,N)\%IUNCiHLVEP\tm"Qe]*o[(9&d6[sNUI,fU%?RI7?Fd&F*]XaQ-F69jDji1T&dXK=Xqs<q;)rorR3CA.pSG6CObiKe925U%"1@6]Xp/'Z(B:h0@*uE&A)r5&f_XB*i.,=X#0=c(hBlouQLAq'4q8W4)^.qM]lR+k4H#ku8kKR^hbDa&+V#?N:pY"`T2oio.Eea<k3UjZ(RE@HPCJ4)#A_LE;m%M2.cTZ?_4ti+a2nI,WL#-([;7Z:%?ZP0Zdciu-%K6!Go8W;1I%6nDekUTFo&atPc^N;ZQPjt58c'oSn$C?1Di]h;jULX`F5_>01R)d)esG1%bI"iVfgC7;Sp]RGHs\6LDfq89$bX$?UN>S)^?*@?V:'h8)uK!nk8WI@q)LfhXIT&kjilg*T/EJ>/i)fHPP.i1he/Q@h]EZVarB/IkJH[?B.2R2XY75)QYCQ6ZA/AU4Sd"lpqBL"hWlOQ(O:'^7d&$1IERS]9;MNN2tu"gc8We_noBKZ=ZPu`bF-L35&3gZ>\2Vp-g[PA^<\u_^-436PW-1qc\:4\c;D.D>$l=10%/uKAI\V3H1R$cnU-k#^",r+0(S.FNR+'Aqj/1DQV%'&Dst$YS8XIHjQ-j=Z?+uKQSXkDI+FY>\BD7j:YA*bI@biHI!f9K-uX6lT*r<BS>1/f[(bYA?)>tuarC6EoB.(QiqYT%H`Wb4?00;l)kT!apF\5g/sH!*hqr(=38YeoaiYRYAEUhu/nZTfq5l<\EL1B]T<a4Nq`O\oq"VQu:u:Lc4r8Kc3C`2VBmn0`]1\suPW/?ikKZ$,`U\&(pK9NG]??Vb2a2"MmTa>W>po!4^V8#XEP=UiPE\#;aj5[t>g?3Wo3,LAj"AdE5@k<&p3H7hnaV!sTtT#PHnP!PEfJD6def@KG*bet-u\R\c^\p7Mr`t/m]pomGF(+MDLC$%gpkP7\kh!HIsmo9j*Z5]-R`nUPFi5q\X]R/7e\q.rafE&'"#qAU!][c@Bik7[sgTB]1Jm3+gb"C[7lPt1+FooN+uN56'@d:8NTR_deN8?^G6RrK!p$;9AZQ8A5@;E/JI/9A4ET)23H2D`fG7uY?Ol&WjXLF+$Er^\P!Y`9XIH<9j$''XGpq#`-]lJMT'qL0c[VG\TB\cQ<D+MMTWaPdaZ6<rW,<nXZCK31?-a8:92]_q.caTY3Tdn8?:=>.;ur8K8cNsFs/:YVsM4>G`+@4L%gS39ilbW/#?;s-+ld9RNmD0?Xjd$Z&DIU/R)J[X'E0L(#M"2&`1$prrA[PGu_u+<(hJ@[59Wed<Hmq[Pb&[/R9j+ADr91fDkm`?1/]J3l'8#8ffP$FLs^@*eX,XmEmhsIT,Hq>LqtSCK)];l)SB5Z#<iW7(/RgO6\S<b,C,aBMFJLo.M7BEbii:jooUL\GBMg2!g*Vo0l5GW/12V6ujNMW8M]jIVpFj,24?a3O@R&b"T43[hId/R`R:*psDF\l!G]Xd&igN2<gfGRt8_JE?dk\05U2*pHE@cmTa>W>po!5F78S(c^\p7Mr`t4X*^q<pg*"*jVsgLV=uStm4OUr:uC/CT/b^M(Wjf=h.5]cmk/6$h"e'*\T*sMFJ#jnrqehR`q]>C:/Kg5-U&>lF#c_Qc"VULN4V`YrKK88g#pX>a2RUiLA+h2n@Ql3au;M"9C?%rg0H)mTte=f5&n;#09_VZ]#i9PhH\?'\as!3EoSe#ks&_grUtO.NUcOdS>!XI:4+\bk&QI-RaV)")0V?<q^?COZd5.[O,N)\%IUNCiHLVEP\tm"Qe]*o[(9&d6[sNUI,fU%?RI7?Fd&F*]XaQ-F69jDji1T&dXK=Xqs<q;)rorR3CA.pSG6CObiKe925U%"1@6]Xp/'Z(B:h0@*uE&A)r5&f_XB*i.,=X#0=c(hBlouQLAq'4q8W4)^.qM]lR+k4H#ku8kKR^hbDa&+V#?N:pY"`T2oio.Eea<k3UjZ(RE@HPCJ4)#A_LE;m%M2.cTZ?_4ti+a2nI,WL#-([;mN0FSFq@eY=j^UCDtR`dV:JgX&b_(i72).dp8'h-WF9G`Jg3"(SXAV/IWcD:8j"295`2Qmg[#e(7p,dHb&ma:#O*akb20=`0/3$<FfkiS]-R.lOdI3UJY$->:_sa]ruIB.S?+BQL^KLZ+4!Ud_1J2U+[7=pNEW./VpQ8%8A`4Q53ZAG`'Y[(t-pQ=SeUc/XoM,R#EV25u+IVFST+B_,ka^?WjI2k:'3J?bf92+Zg7"UoF5F1#=+ub[Gq[Cf=?kDi3dZb)($L-74Q,M&4g`$S5d$e4qdQj`7JD@dI0Dj,?KS@[m@l^0Yr&EL2H=)cK*JN>I1+gLFEZP1Arb<H;cj9Q0t3zzzzzzzzz!!(+8J,6((J)0`=jt$fHZ=!8dOFQiEZi/Bc)47&;Gea#qrrB*>s3e7aHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzz"?ZM2[B+V%cZ`00d]THfL-_UQhK<R[r)m&PLJhh\S6"K\7-%"(mpOY"[VTtI4P&uC;llon]npoU9RD8q2)0dd3sFG=rrAjOmHn[>@oQbiU?H__.bNp2=3nitP[oSCNL+[$kC)dRI>I,>_\[^Xl.GXU;cL`FN2X<.%6E.BfR1+d8hoO1+Gbi0Mh$V>LqbY\!=P)k<E3&X/?In4zzz!!TAcd(#+ZZZNei-W3\C9(^:A]%bhBAV4^]FN?Ab?<nV1AuW_:\J;]%,H>P'T+olSc7tHWRk[L(H"4KSLbkd##1k-)iTlMm'W-_(7`bF^Rk1s\S.8[:aV.pFU,"53`E/a7Rp"aoiqUanYgm)%4.b_h1kITm)YZrE8L6fq%ThAH[E65:lq8'uKW>AL7IU9Wzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"!ce)!:$.=rr@8iJ!dGc0$/UmmQpjQb:_-8;4(s)Ij*hO!9)E+XiLIjpO;_+GkS7Z%_+=O4L$Q/G+37$GF`%L*Yc88B%:E^MToJ'_bIa,UIgS'8s7pT[7aYjMR:[bP&`?"Ao9*;=ITb"c$`UA^%/kEePWa"F53doaQ72@QEL?5fQ1TjS[,:3j:5I)$hEDXP4Y`INRBhpFY#t%`l1qIZ:;5YY6#l@45)R4k8r.>[_V#[WcoB7]:q0t(tS#0)7lD2oQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI.-7ST,5ZSk-6pLlBRUQIm/[?P!/:_2g%LcHXM1M1fZHrZbXM)l[AG8#lCP?F6q#L+=16]^Z,0Q)XYH*89NLR!!a2d>)C>[^4Q8UpcNK.ZJ6;/N+#mWn0!H9SBY7W1ud.[ZNQ/aYdY:V$9Y&r-L=5afD"(mb>!R'jXb<Vl<:GUg"o\?1pdr,,\C@/)#j;,ie,i26*l.3p?._kJbnYbd>!Rar2":FVD?\C!p__Z-89C^$(E/;-L/?S9M#t93R4bW$AjNNEas4W%EEFiQB/.X;#u?cT@Gdj/Z2##qfK7HdS/?<o-/B:8Wk=8,ZFRdf0:L#UC#QNj_HhEYg'@XRX@'(fKg(`H+IYeb(>Z.Hs^NN`9<gRT9:@%:0jS),l@3WbfnVb=g/=0mtAiUK9s/ZH4TZ7*uH)/WNe:%f%KVM7o6*\U.@:VKM?Rh&.F+\M)^gY9pr+?.F4cb4SqA[_";g29n:<PlC`7Ls2WOgFXP)%'kP[,Y:Q=lkP:0mEL<%)l!gMg'1J\F:^>I@W)?N`3DNV\Q7<FbGFZ/3QeA%V8:rR/_PnsMn7oYW>c#k8IK$c2XiT+9,%2&G[0@Yk:3L3Wi>*82KF<Jzzz!![)SHATp,)GI[YK.#Ju+t=)!qMdP"4Ii-F?U@>k8>o?4[k`pq6<c&k3joL7:B;l"CYX-!)/kqJ5o)W"Zo=JKD\b>ZAWoU6e&>ka<_CrtVi$PpgSVju`OU>IER\tuMm1GXElOD"ni"T,S2N9+X(5sLVSmVCl*/nZIeDN;6Y)WJV*UNUMuIPjD.-"`po,P.\>g,Yn[<:!c=UZFF[j:g2U<`mk$:r9OdCc;;qCEprr?_IWO>pN3M4@fZTCAr.k7!ZZ:]Olg,6q6*n9Pb^udB8ghUNiLt;K6>HU+NWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI.-7ST,5ZSk-6pMhK=EFb-cTo:Pu?H/*%Ejj9Aa]&2L)]&C5d8p#B_T%3-uhY2M*3j?`Yc-3f!S#W(X$e^?^@nS^#Q#0^R@pA2$S3+`rr?@X6C6%4).6riuiY4fOl6GD[imr"s[k:0Ylse`VPIDg>WOn\]]IM`=;,YG1AY69HfjoFo0rMcWM/RfKoTj^1EM2`I?$TS-Yps0E[^tO9oM/AeW-(e_[:QYig#GXFpASi"b4O0'?M9u,f'hg\L5Gs2"'P;0WJa\IQu]a#Xr]oXD:3H_@+rbJRXXS8,fanD+H[9,W27=&:/(DF?f]4CaM(j4,MZE>PLnr?j86:k?!M'Gk1M>'9pW5VQ**N%rC)kK!2G7+m%eZK<k2.=AR8VJ\YG)HYhe2QFD59N;d!j$:5XkjHA_HD#b&KLlYj%DXKD'lm98LIetU6OP=25r7+6Cl_c(CbP\*X`:=3<gd"4E6C/U:,>UF+#/]G=1Cu!ULX+]f/W15A_elohRCm>X`iEHm-e3lXA'4i_Z6pt72X]6$gCML6U>nWlGr.p3p+._d;j7A=HG$A?q)"Y8gc.ru6pr9dJH/27AqE7p+CA"?K7_&BVg7=P^*6&qWCu*JWhi)>n_f\)*kk/:GX4E9t)WUFMC3EfhEu8dPZZefQIPItV%FjrEUXabcY?EllCQHb(WS)->b[J$4c.ru6pr9dJ2cIg^O&bf*]kH9MY!4o>Ve*:A0o"^m2fqNuiu6`mh+o<m4]fsEoqQk'\GYC@SX.nJ`Z'nRh9d.uN,*RRFZblOoj9k_erB&8j7A=HG$A?q(iD4;G=64q0s0%:eFHD1eU7(o=uWg(O3Tnffkl;a@CXn5h%?da`j]23;oq4a<V+qXB\q.>5</A7A[VguL>uJsF@Nb")VoAg:F,d"=3kXSUO,J?r8ZM%QIm1s)i\[id2Lo$CN[O;4Ho"%?TkI@NU7YEo8dX0>@;LhDDebE6u.6+Xk+$3nkZ%2I.jaI2md@]c98/[D1To>\CSp\&ZtiJ[p1jjaZbbco@gll.=U[>l)fqB=">-r.c3(KE.+VDoTZTk*EeV@GNIQ>J,]L^Vc;VPR%#"\Dmo3^:6<WHUNK9bPM3JT&@6/B[Fs.Xmb/("JhY^Bb_kIt]P#jHb1\=EGNiXtnuEcVlAEYboMjhFj]'UP1h,/d"6@a1;:4A#/TT##CK-,e>usrLBjaC.,M;6\WqfX0OYOqg3799Yf(#V&=7Hkfz#lF@KlTuq]nWOQ%GH(1T:&9X>fQ=)eYr.sb4dD4R46EkFFI(\2qJ#s0P7a-ZBU:SEP9i-9`)<(9I@d@_4C]Z2e8iTrQXZ_jA88.\B<#/V*)B3B,a6nRk,kmVMQ!KJa):^o4IqfrYq2&EClt)CKi)TVeQ/cT<4.t<\L^^$rKN=WgDjpB.QP]qUO,J?r8ZMEQIm1s/A#o(S%9hKnVqFrS(jq'T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEA>_qtq<_LqS%j/Iql<uP@84u"MS&-A=uS6e<5o]L.iR!IA^oZmrlMXnq37=Q3f!(d%^^5Tm.#oF&^!;32"Du9agI-GaLo1(o_Ep"f*ndrW7R#Re@r5cTs;:8g/5,<aQ@]dU84!eb?2DJd8A`i&f0j<E90h(^S/L>HZ_lGXYTFI-Zr,S23(Z'Bq!^#F#`B@O-S:"`T"-R?90?n#`M9H!!"nN;qd)7[(V7_/?*hB\PC(=m(5mF-]+ghFl,'SIq2BMCtdlO27@ErGpHrB,>L4G,a(<gP?C\2k<;&?E)":$@jGCV<Dd>/V57Y!I@8oLCfFq>?d_R/2h=t-4Nh!E^%4#qh=t1<7;H8bcS_#s$?iFna^*Q.:DPjlZ]SF](>2m#^$V9HFm#<6+Bf@]Fk7UN.lbDcEL=gNe>,TKaY\4;\C1a>8lXg$iK7tTN:r[ooQpu4i5jqgn?mW"etO[\nZ50"U0+QtCoGibE2kc-W2lU(1_qjkP]Bd*@pO(T4iiG:jfPOO<V9?2+sJN+Xb_i!+sqs<DeR`ES9n2?gB3h`mr>J!\g(GLNGc9)DPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g66UKi7fm7ti@%V#sf[Vk;gDoOZGiOYUPoQm^4ea#]uNH+d7[6#tE3K,m8ft3t9^DPPfL?a%3dH\Gm=03Fq294l$eEjWZjtPS+B'tK+r*rs6)l_nj8#lCP?F4Waf,pN0;mP-[R)<pGS%9hKnVqFrDPrYG*inJ3HI9F$>^g\[:<RG`@h$GdDWm'u`\k?d\t2LcHEWpjlULT-EV[Y_4"[ZsN&M[.]:q0t(tS#-l?Oc)lFqUHXW,tOa6+Mnm'a^l0\gGUmYKHl@p?)TWT9[AWql$gZu9X0+.R[VZJ,JK_f;fJ\g(GLNGc7DVilHLX66m:dCl;[IW=aMbA7Yu%E>hok`'N#27hbXSk8R#YFa;17eVg]q8]m)/[.6o2]CA]U,B\&f'A(UGph#)^3`q`)qm0ik8r.>[_V#ZghUNiLt;K6>HSpEjI\rBq<_LqDeR`ES9n2?gB3h\ENP_A,?s\tDRaS^P'nCPkI#W`]q\h]EU?NEC^sqa`jTdKNGlfo]&C5l8b@>4T%3-rp5O(fa0du\YW7Y$)VM`s28:!Zl\=\M-dh4nHWR<gg,6q6*n9Pb^ud?+CM*!jf)0#^XrFA$T1>pWm9[/<B\+>rHW.6)".6uGXdcmH>Od\j\8J4-I3,HP[<g<M=l/bBGXas0mFr]-]Ij!QeTKF$;!9`l=K92BM:F'D-'fK'q\L!E:hFKc`G@n9,th*u;J'0&rrB=Db1KnX]s/n,\14Iq8f/X,d_>:S7^=ouWkYFZX2*;`QT7pF79)`8lf2TIK"*G6_Y_%7RYWT==C!2X3kDF*XD1q>qHYW(6qo:66qo.bT5g,CrM!Cp]f.@qOY;*:`@[?\pE_k_9VBhrf,r`E`[NaU9Lr"4V:1rUlLEKJPE.WL39SIfO]+_)Y/;'A-bcW8?,lcR$9E<%>'VEWBc.;*<\1OKkIG,L-QVHkijI'42mmB8VhjW@.bjObWP^Ynkcjr\?eOCcO-T*l1c8fkNcUKSZ]=+T`iHVOd"m%BN1;=1?Lhr_eMPRj%i4-8N@A#)[Im_bHDNBh!kSr[[=@=,C/lmZe;,d0Y([\f/Ne`-&<`rMM,#h"3As7XEf2nf]Wn>A;GNX*:WA,+f_<8Zg7AO"A7Dt2%6(b;<B0QM@ms@-Le;NTEZ1E&?X&AlHkN:cLQ*9ICYof*Vr2U'lrLY@LYF=Z37997eOI4XM;HX_5</A7A[VguM;btqc.ru6pr9dJ9-)OQ:SZHfp9.XYZtk`J4fR+OJ]qQ4f$3"_Xn]oF>W5U'5*&_8g:_1VdB5\np8;K1#;Ltn>;pXn\)SC_E8=;8qE7p+CA"?K7_&BVg7=P^*6&qWCu*JWhi)>n_f\)*kk/:GX4E9t)WUFMC3EfhEu8dPZZefQIPItV%FjrEUXabcY?EllCQHb(WS)->b[J$4c.ru6pr9dJ2cIg^O&bf*]kH9MY!4o>Ve*:A0o"^m2fqNuiu6`mh+o<m4]fsEoqQk'\GYC@SX.nJ`Z'nRh9d.uN,*RRFZblOoj9k_erB&8j7A=HG$A?q(iD4;G=64q0s0%:eFHD1eU7(o=uWg(O3Tnffkl;a@CXn5h%?da`j]23;oq4a<V+qXB\q.>5</A7A[VguL>uJsF@Nb")VoAg:F,d"=3kXSUO,J?r8ZM%QIm1s)i\[id2Lo$CN[O;4Ho"%?TkI@NU7YEo8dX0>@;LhDDebE6u.6+Xk+$3nkZ%2I.jaI2md@]c98/[D1To>\CSp\&ZtiJ[p1jjaZbbco@glkhU/Jj3;07][KeOAj'+Ha7^qCrh/M1G,l0Z*cYE-JHUbOCj4^&ifGqmMNGRFu)W-KhFi/>aPN_[H4fd/'CS8FfQEYC)[</U5md'GuSSR(biu-Tq"=Vpbaf!4F8?:QGfQ3ElF=K@-i]-:K<(,b]9$h4XN/VEF<O([Q@3!G*\>J6&'ldS^IHsU)"5R<c,?l]s[Hqq=nuH#Oj@*+['c2EtdlU!7fp%kF+nL0^\o'Qp??CF8\nIVAFY?5+*BW',<k:_8OVJNsO\pHRJ,e$orTW#_eUC'@L7p7^)[9Vm-*:CbX"pXhWdjARWRN-(=K4L=L,jRd0(Ndpe<t<>PMu9?Ds%&H=WrH>%h`=K8XVMc*VE,gRk-5]gh&PdjArH",th*6Yc==[m!5l`FQHgKg#jriC[W4idpA,47+if2^PpbiEMB2[`Cj',Yc<A(md8TgZ\ADZqu`P1[,/E-5.9mooCXAmhA7Ja`1Zeaj:0qVh"G^%rr@RjfPb'%T3HMHq>-5d/kYen60lY6)nU7'm,<Ho!!)2dhRdDa[dLp%ocn]dQ0T'8f9;:TG3a5&_Z'W8!RG2fG0YMQh1+VQ7e!r=eg1R)-Qm<of&sAnrrDs!T#5mASGM!OrrCBpNT"nZX@a"0:-dXiXj:VfrrDg!4biXa3VBk(rrA[j)oC[>=Hjl>S:S;]>Fs+VrrDNuHO];LF6d`0rr>8]2hf@[Yp_b\3<OJC[lp67rrCssp)DV"kLSJ@rdLY]$^/24:jV\Q#4C;bHT5C4!5LV]2m1i[Xh1e7rCGc]-$mM&p#P0Ch7DD8E52DQJ90@]?*g/-G@11BOh<;=onc!#aiGF5Fh-ktJ,]KKkHNgTB0Ncl^[q+CG[-O"&qef"O>h@KF4nG1!<*#F@D-j0I;ReikNYP+\LZ5W#HoKtDXH$<Z\ADZqu`P.HL77!gUdCbcd[s5E`]>7%pi!rh:o'XB++_>p]is:p"MM"[rq]NT;`dHjKD[M*k\"o]=2"9c56K\n.'dSlaCm#DX7<&5>jFoa^25#4aB$iGAalQS1jmBi#MG0f50X$h:MXTUi-X(]jafano=s&h/7R!?iL,A3UA]-g!?e4YPe>ihA7Ja`1Zeaj:0qVh"G^%rr@RjfPb'%T3HMHq>-5d/kYen60lY6)nU7'm,<Ho!!)2dhRdDa[dLp%ocn]dQ0T'8f9;:TG3a5&_Z'W8!RG2fG0YMQh1+VQ7e!r=eg1R)-Qq6I$2^t_F[IiO]_+FJC3FHF?n*17"flVmSE%-aj\*a%/t2E7F!d%(FJi7;`;W\m:RO,W&sD:0R-1ijff1mR!DS?TCDOg4@Z/VU$gM-gLm0ai=X8gdZ(L;,7IP3cD;oa0g5=HcVDGu$Cc)\8QKH@Q6PX22?cJ)S_oB!F)`r8=SC[[bke'Hf[9MBWTj$2eW+WU2(ZZba+sJ5h+sJUl6q-SWE"NG./"I<t#G&K0bAP2)XrH*aX2Uac[]L`jG2TGq<u*q_QVV;OP5:!K;iV_--+;:1DRcL9,\g0go%+VqHfBD;lGL(7"7!)$l.HIW1YFr^Xc5a8,'I5Qd+4r%b(tqQ+a%(7NVRkUpGL>hl0h6D>80rDL$s??M>7gjWk'+u="]/(Rek:Z9uj;.a&B]b'WQ#:7Jat.);;8Snn8f>EXc]G.AWor3rOKFPc='de)Qm#,<"4kMm+PSR4!)eAcSUDFPKHm%7_1L_PIo>eLK;gX^3(=!\\nS^7m..3:]&<m%);r^FF2V29?369BL"9XIU$sZ`7_-?68bPG*+`57<5:Dc8@.k6YcZ%zzzzzzzz!!!/1qm<^=rdM@ck,bm[H+YG<e@A1',%GD!ZAm%&Gq)K%+[hSWB$o\4NdJb9-+]_KTZjrf6l+MZC&%85lDVn=%p[Z/C=m?k<[ocjl?O&rWi$#*X^B;[FMu_uc:%Tf)CXtpT$5!7'4B$7<f;qeUU!H0[f45Re(HCR;'LIG]IZM?WeoGLXWWk%#t&R'%5uoOgJ'MX[aRr/P!a(Cg'K0EVU1Ju;N`<%,Xb)*;VJ\,F.DtTSuSfjX(nZ;PuUi4WiMsrFK4S'ZF$X3WiEU1eQ#gR<HP7@Y*E!m.]]CI8t:qB!'331je,bBj`^+(lHq"\c*9j2>d)^k3).>g;Q7km9Z_3'iA,8GI$BrI33sm+NCkBY9'3\Q9LF/4QOV&(,u*o44!B2&-*ED&'cP)ip8[@Wd"uM;U*?T1?.X4InT[md2dIrs]]s'E;+B'Cc]RO'>+aN]/&7!VY(T]BqUsDQIob6[IGXGDWS%4*qUGrigCG^]q^1&Fa\/Y[A<^s2!2sd:>>1HC/\FF2fHW4.Ok9bK9TH^T0*"o*/E0<[CA>,A2$s9_QD2V90mJ&a3\&/_G'eKL&^i+HGqYG)),Z&0\m*.:rrB%Xb?H`OjI4D&e`#snU8oM6cYW8L1Xsn$^C@[Qzzz!O94;dr"!BN57g!p9?[d"/#='f&u*gaHhgX&a#9VXM/?H>33<;-9NVKaQ-!:#lal8(s>h??>eOY.=eTaB72:@W_^l;;qkf^WgnsO`1<--=Ke"hdO)MLGc84F1c$'6b5<JiM6Ad,e0jDCiO6d&:ukq.C$IQ,=%Mdp`jp>17Ch86a&[X7Yq:??@+&5Q=uLdXMFAEcHPGWgd2JXH2=6'rF\7mpY!f2<nt(9K/H-75],+r"q]0-]lPJQ,k>^?Ho=A(2]G@[Q(nT;<g5*i&RMa&PWPDHH+iG22._b@67t4O?pUsh4,`c7>=+RJLC;r0O0r^kK6po];E8eS4!!"`KDToOaTCIWcQ1>(8Wn[6['6Omk=pf\$Y9Rg^HZG5%bdi&%C2XiaaL76EC2nS>6Hlc`\BF5-RTRkr_"_*&O*XjK@_#?\OMos1cRPitN[@rm04es0D0)/(PMjY.I:LJoFl?PV*^/I]q`)c;(+@X*P=V[gaP1KseQWr_Z]PT"kKMn2l7XXC3GSMVb#U,D7$ps)>[$CCh#\b%\h1<\6N7&Ie#<ofO@QO>l\;lM[DrtofOHHfh[\a+#e=n4(l$5JOe'.BLlt_4lP=5l<B+NSg3lGu)TLF\[1_M=-4.5gpBt8O;W<_Z8p9pS<:/h5g16XJ<Ur4Dqin@bg9hL0UH^O'zzz!"Jo$I-BF9X>7Y!\73X@L9^XFlBr9bh]7<M3i*eF],$e_[NFlTqO04'UjT,F''#Ji;adRr[6DqOfc>Y"*RuubbT"s5NeTErHdZk)=X/@5(B/.e7$B-*V5X8J2Lafd)-MZZ41[mC(g",hUgiTWBu'S3\(jDjC5\eVX';D[em$u>(c8`VWH>XIBsc#n34.sf3X[?q$D1+G_BVC$%Qd(EfS^M$8Stg[Lm"!b&>?+mR[Vs!RbHJNbull`P"?^pkIp=aF5H(4QT<>k="<H7>=t<PC$K<!VP[ut;^:)l]umA<]umL!S?&Jkj],;eb,P%E60eL\[^0,4gQ[#l_dBB2UX3[2fsQ^f?D-k!_55SZZ.t[0I(._4/Ot^:V(G45Md^Sk+nf49I<Fpa6Zl[VP#Pb11GUAQ@WA"cOuXH#2%t\hEhX`L;GpNO'm-es'[N5ZGoI`CYq:%RogZ?k:<L+I&O6.,nCN,mCAPB^ngcD"R0OI0Wg?,n(An#Q9W=oR'^Mp"(se(>l_VTtl^LO_&Wk0>rr=W?X7b/<+m:[7!C_4^Z8jYIi/O2qSLe-n=kZeDms1d!<jp6`O^s[1+sjb[DGnno:(iSMG-Xe==iHQ0<7BUTg;(]%W)6Qom[gV3[R<h6&iAE0zzzzzzzz!!!6.A41$W"@Qj7q1u`r7(#l*KGJ:r;J;lr<N.';fe/GbE_Z@$1tXX1m."Uh<[CJ9W9V[KFTf4`(#^.S>WWpd9i=j(VqjpCY1q]!VDc0Mb"Nm_`kjZFp=@C*m:tr3?dU*\CigAodI(@<MX;i3'l.T"9]c*#HHDM@EiRnT5qi)6)S.D5=MLV":Lstrkk-#Q.d9LXX"qQ+aF[n1bBR@%-8`<:>]Gh)q+CU@!84_qRPJCDQ!3O^'R291SWtNH;<V!B(\NWc-1Zf.AqnCXUl<VQXpdCKZ%^;@inRH9bD%:.g8_].ejg*pB;B4l\Qq%JS4Jgg0-/-:<,*kEi>\ZV^@<5qG@E*%)m81JQHrJRXc/+J>`;'@.a%DN,>0TJ.P$c&MH)"ud3$"7,[M95rHhq"O^>XPlFa^iHEAbu"*S5NY&W$,8QPVF7UZFcR:uduZH<f5&LA\kGF3;^c'E=._/s+E4.3QH/]U-Z@>6,)p,.e%'%QG/\^"DapFWOpe]r38Wi9\+-?\Ab*4dcgL?6H7C_p(s/WM76h^iPHQ7)Yp._IBSl#W+pWiE(ED;DeYp2IeH!.].Ck4c%3c`Og_r;B40D[V`A@ShCAEX(sfDL4?MrrBhplo2*#c`Og_r;B1C(F=CGT_7C,%GeVNp2IeH!.].CDdB]A>BaHMqN8EC9(e$,lcI3e]61[NiICk-!9^TC]4X=9m_AAd,C!IYlOnj%PE7_HlZ:arrrE$!cXFM1c@'QcJ*6)dn@:(#,mUV$+E$StkHfmB!;lqj_g:^?qV/U]!70/SiGr#$8e56'5i(1scY!Xc!;Hd^L@s:]os])D!2$50_W7n&PTIK-J\/BqT$A/P!:UJF%I:HDlYc%g!'a@?KumZ+-p;i9"*\Xl4e+2*!8njj)qSohf%nsWI\^liP.b=$HLc(\mbMc-3+)[c^cCa?Y1_.']<D/28DY./HGlKLjQ$d+]%m!u^]+:aF4bD:Z_(HG?hsP\]IlhLM*^ILa;_a6\a8:)rr<&^Yhm!)5.9mooCX>Q>a=UfK@c<K2g4M.fu!ahrW1>R]lq\LD;B^)l:19R/(Q!OY9tH1mFLI,L&V/N".mDVm@=%-])McVe;`F-=0,")?;<cAgTAe7$i^5%#<dh7gH"r9FoMH6W>i_8Y?7#1]UXPb[p,HL(]OL)%XSZN[WCbPli-rL;E'<O?EknAGrZ)eqnBEhX1KHYRS1;2g^AI*Xc$gg34?;'XNg^%oh&L:ST`I-cCH>FX1IaE)EV\;\>`B7(BGAtZI`eaLr=RiK.[Om1Tp#4k-FQUL'X4)\C+"qNGBBc@RRWL<(+,k5:NE%P0Y,E^@D@dDMtP9;,;JeiO\gDNN2t6jF'.MCJr_->,nNXC7kOVZn?W8eR`O/daO'uW_1oSKc)!29E,!VMdYh"[mSf;;<G_Gdbio&G(9Hn$OOt4,>82p;-o'liOtKM/MR2)+TDGg]D=D_66l6GrUE$m2CEp2h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(Mgck["-*rZLZlqr2qc47$;Khd$I0rrCEXqDJ1:h]qm6p!@p8^%&hJ%RL*pTm--Epk-:NmtpA'n$.6"I<6H]rr>CSkh#>0I#m.uf0S;'pW!'n3=#P;hpJXe%f%3\-a&*9`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_*;\qA4WN^PFu4Ie]MG%f7'V2qL@:5P-T-NIML`aSkWlF<1'.HuH0?OFQJ"r>PYXmudM,HK[HW?MND`#9a$Hd(B-3r'B3bpVcaOGM'V!^:Fe?rrAa:oP=5S^.7XKl_*^OHfKNr*/"7k6LX-inHXH&h\4U-hdZ?"qWKpEre97WYMp&f+20,*K>,=nNV1Y=&,cmNUL1q[niqLt>mGe9h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(tt,=uI#?U`'(MA=@]A!9(;@IZ_m!Z#V;iCRX^$jBq7<,K]dB+uL5a,\Ekj&J8uMR@_8>0?Rm7WecP4\do.HLoRML$IAV$Fg,"4k`MatAQMOWlGoplaL.I`k,'dnk*kk&<&U=^7Ys%jT-5ORfOfst&lQ5;_b*"DfRmg:_7(su]8UD<\?b[Xr<,nj1mE#,^%kNI[X+h?G%6-Bd'C=ta0o-mQ,@f]1E-tT.Uib;^X>U4dn`[0r?A!#8SSo7WlV8:(VL)^()0GMzzzzzzzzzPFm'V]B[#..cbu4OX!hBquo?a&PA@\;ADhMe=nolosJX!A="101pldf2'd,t7Vo;@nYo5MIAsZQ]5hBJQO7.]@]IZKW4Q*oI!9sU9beBL^p9tSJd(jTUlc9H7$9Cik'g0=SJ7H<%`o_\4J"\Fd,n31aeEL5JRi((@:*QY]BiuN3n<j@%2.6d;D"AQP>@k+ZjM1a9bN:TN8-I2.[^U;AgA3j=s@gNlo(Df7D`]Ebfn;TkoTH/mi1Q^Y.cQHl"[D*WEh((8EG5^8G0C:H^@@8=8r9+BLG1ilYC8h3nh3cnZ%b!_Kd.IP!)gkOmZFYk;dXaWrE(m9+_aGfR,'j!$%+>N/3;6bfGTr[[EQQ&J5fcR@#Iu,-%eu_Q"e0WotsGmpjqb?hX]*0k1R$3Fl;.,c`CqWUC_2Fl$*\N7tZVIC4&?:i.WfgF$Eu,ZN7!Ke\a*[uH/$F^-SB6_'OdK$6_l&,uXY@<uXbUldL`X&hr+Wc!Xi/>l]sAlMD;fioe(ih;DgnLZ&ReQdUfUO$X+Sa!"o7FI@ET#\.XIk6J6$%g-QTE"rlzz!!!&Sg\1S`l`SX;HYSm&[rGYQ3)j'%*hLcm2Q'QS88]sq;-GXC4!F>rP5#<s'/Caf*sLnT?.U+MG[EDKCin9',VPU#?FDUKUM@@.Er(c1.f-3]RST*\^5D3LXM"!OVEoFT`9AP0lXO&:,.Z!>qM9s->[p-I8YToH&&bp4DB/#2Fd,M\;7RMh\8nW<b.aoo;l#h$cJQ%!Gt]n[A=&ldZ4)QF,#&.+-(_T+H=Q4.Ai`JeI1I58\t.P7Z!5sY,Bu<K8tnKIQ8'6i/W@)P+$0!s[l*\t\!((j@Cfc%FAT-#/9^a94[&L]7!#slD\>-Y<O[%fH8PBs!!!8pIJ+khr2EJu(+`K-Pq#b":rI%PA%&;28W`h(QJ%<>PUUBON09EfR@_8;\>#:7@Y+lUq;11J>1?PnSE7#XC*o3ePu/,,8ueU/qI:Tlfb@,$V/qd$C*fnC.bK_K9e*0CLkqL"<l1ZHna0u(W_B'dc'qOVaGr0L/g[+;'Xl],X+X-&<55:d_8f7!Og@bSbA/e\<lD-7#[X+E)a20'pbVZi+Jj"PCYgDLWE-uA=EHSb-8/e0[Q^B`g!/78CeRaX2L!9oAX43<cM2t*4YJ->eI06u7I6F7ec,X0m&!bU;WuPfBcI1Z&gRGWzz!!!!$-fLR]HY8;(C>u=C:HF3QFjq'>Q)p3HBf,OAQE&Q:n"bo:dO;=2\)20"Gc9VtNG;']%*T]<LN:QChg!lj<HkL8L+Y6U=iZfnU,X>mD(O"4@h[Bs<lUl6@lVLEgpe.0hO(2?!3#@1D(L'G:MfbXL.*#-Bd@h\C3lpqfSHPo7FU*!ZF&ACm>ObKZ*p2iNc3IK0/SFK2c\$Q%B?gW<Kr*hWHBWqq$>\gNu\\8O-80+]c!l=R#<nC`Uf+0/>)4m?"?eVWlIh/eR%iC'tas7X/1&IomDeeS>A7+lu@F8/h4O(?24F"oeX2!7Z2%)Ksp`c=oSK@M8HnYHF`@<`bHFY_gh^eYD9go=481h(6`PaRb36!\ohdDe02D;>ktZEC85_"7cG+S-ubr\WV$CA%_C_Ec[iP<G,)9:6U;_:kE[Kj7o[R86ZfTtTo<`fF4T!Xh<s;h!rH$,=/WB>V"`Oi.:Pnlc!0n0*Ac79h<]/qCJe)peQM=1[`&mV<hnHAaf:FF/G,K`zzzzzzzz!!!!".mE;/'`S/PGQ.Z.b_o%s\7Z^[=BeV`\$@>G^*4Lp+^;TZQH<)E0,_;X4e#@3etX;7Fj;N^gG<N87<i&!-53OOjpgh^U:mV^:sll*5(+KlBtJ'Cq^q3tiF=HtHVA'2bU\J2SfXq#`]',TCRVrE/MjMEV>gPU/=K]PANOThUM[CfrrCtF>QdHX,c$6S@3m?H,"ba%Y_]dpKdRUaM.-6Q<3t51WCQIE8K*Zi!(,CL_Q#IF<NuV9X\2otLjo.)re97WYMpXqq&d<uY(u&O`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_*;\qA4WN^PFu4Ie]MG%f7'V2qL@:5P-T-NIML`aSkWlF<1'.HuH0?OFQJ"r>PYXmudM,HK[HW?MND`#9a$Hd(B-3r'B3bpVcaOGM'V!^:Fe?rrAa:oP=5S^.7XKl_*^OHfKNr*/"7k6LX-inHXH&h\4U-hdZ?"qWKpEre97WYMp&f+20,*K>,=nNV1Y=&,cmNUL1q[niqLt>mGe9h](mSj<+47In%2/461kcT"5F/(VVi[6-):_0)gi[&9l4onNCt7p+Lf3Y(Mgck["-*rZLZlqr2qc47$;Khd$I0rrCEXqDJ1:h]qm6p!@p8^%&hJ%RL*pTm--Epk-:NmtpA'n$.6"I<6H]rr>CSkh#>0I#m.uf0S;'pW!'n3=#P;hpJXe%f%3\-a&*9`UAfZcuKZq$brHD`#\D5Hr"#QI>cu%l_0HG$SNkVA)fJ;+tLBZAnKbQLqdW._IdA`Le(g7jC7L<OD'\JIWf"fTDnoFN5K]H8CmoPoLU!?mcjTtmqtAif"o)p/>JE-T(&:AdjVaO+AqC.Dn=XHe#@Pfb>3[,ZE;Z=QK,l>;eA*#V'mN5Td3#p^d8WF:(4tJN\nL$0+9(JcWL!JY*)CLGol)-3Giin)S+%hKiM+=iN\[c_c=<,jb6E@*MAjtf6gh9^7H-$=1q,#>imN9r`*/nh"&^W]^=ejcu/8r(cS5V"418=R*t8V6h<AFFAhJfY\M4ECrPRU.!C5eF23)c^c_k3H&XGTI*TSL'Y?B,)R8Cn0mVNr*MD6Dn/dXp%mb)>@nWgD1U)X'0$\5:XEeF%??YmpBK(,t#G^Vfcs)j(dcuV3lljbLZ^S_2*a,fcS\1ZM%Gf>2kkbAP(?O[8\tS^W#]ru2k-/U@Q>FP'D^]d]GB:QG5/9;b\Ts/eW-ln-*>H+GX;\A*Rk]3CarR/2h!cAGYRa$;?=QX.+#C-V74ul$#-<)^b[,J`LM/Vj49qYJ"418=R*t8Tbj6M#9=()'WubEM(S/44g'ula!U0C\oG6QN1qKCP3s]q+m,kNea-LP\kAMblK6MCPH9T,-"hAo</uX0C_As?&3NO.(jdRuMgWCP0h;%K@O0B-\DI-gGWZO%$LIEi@CBgkcB$=S)nqUm;G<?,*liYU=Q^H4dLWo*.d7^g7_5eV[ZPT1FU"Tt3cN38,!;%&gjtsZCo/d5";XEPMC<)WV`TM.fG(Y![^j82[4U&BAN@q/WcGCS9]/cr2Z/qH0H/$I^T\\Dm*fmN96#L"=9<''iY_PY"c>*WcH"P9,G4LE%2g7@hU[/*0>F1`*lA*UM+jirhR_c$G=gJp8]V4$gh9Q,cqZ-7(jlSD2U%:>OFAhJfY\M4ECrPRU.!C5eF23)c^c_k3H&XGTI*TSL'Y?B,)RHiFA=WC9<p98-\WS`(C>cTOE2_8Y4[/eV+.Z?1e>,#9$lFr#YI2F3aE8q'HlP4DJ:(Fi&^(QNm]X>XCa3puh,LVm=f$N].p3j3[9WI:He*jc;,r,5V"nf1joi:EWp_IY%p`#Y;o\&IOjq`&=N2Pqc>rZm#`+A<>L,f#H`_#:%asaff'KSHq(f_+=0`Qi\T(WP-J5F__G]4#6@,[f?QhhH>#DMX2oPRAgnX07!#eEc3M6,HG@nQRXhCt+a%LU6qHIC%Jf#\_<YT_Fk"+.]1t/XGW9\fb30C,D<Ebg8b^E!K34c-[\ZWFjYhU#58JH/"-!8Q:bpkHM[Rlgo<*OU,iitHX=)19e20fr9o=\n)Sakt(S9n9`F&#E*4HrKpm`BVUP:54C2Wdo!Ht_'AcP=ON^O\r.m"3p42o_<`)f4rQYDU&@ii4%X?<m)rX'D3tD-Lgt.J3Kc@dR^*ln<&h[s&T_m+%;8QoK`]7K3?\D@O3h93UEDC8tKJRgu#,j3[V6$eiYgSRkcZbfnS32(;"0;Ntdi.7uBoPbfeQ8lCn#9[AC9?*YXu+sJ3THJe?H)%dGm&MtI<+92BAzzzzzzz!!!+R1*SM1+sQeUp]uE_<GY(O$'!;=]*@6<:JnFSTP:eQ<tZ+cWE[q`jRkRta\?V"=FOE^S!@npO-($Da2O<,#I0FZC?:*Mg2h)BWrPY7?sKe6L:81HdEbkJ,cA9+JPiJEZdkta94ETsaKBi5Z6<kXde"AJ[?s_ie43MroWhYRZ1-/E!i&giAZ/CGlloeKWoW.T@&$Stp>mKbDqidAI1CltJJskEUJbPW#+8)\_eC[?K*!$7TpX6&[$"$ZOs9o+cY88_]IsWhg:jlb]k_2Y]]s'MP05A@njt(Wf0/SCWk$D\.]QPZ?!Uap=&WI5<@%7daKLau*3OYFjgEBTQV+eiKiIDo`dH\E!(IL3a'+;JAiT@&@9$.\D98$Q/Q1D`i>em.d!XZ':qW@YT%N^-MC$9<OmG86S:%g`,#le=o4N8Zp+?*nM<L4Fk3&/5+uq_gg8)"DdO2Vc\g47Sp7+[`A[Ne\c1s9a`l)4D0?R:"(O!rYoMk3mWY3?-SNU"46g+B;=T,ha<#)NQ/T*PU\DrKON]?%Jj,Q+YNG^`9M_ePl>0P5`1G^gMVCqtPCDtbYW/O,46q"9l'1*leBLG88Ln"`SE[!@QX[GXQ=GWCX&NC@9e3idk8!!]Nzz!!!466tU)9MhK=R!\_i-_kB%UA"Rk_M@S".7+EncU[]t;Opd)a'M=9*k?HN]f$10QbKN"O=KC5^e>B5B8<h@^8p%RR-]:lLEpXV=qXC+'Y[ud1a[mt2oU7^PStV'XB[Kb5.X*'tI5X-.7XsE%CVsngk5FgQ2H\q,]5FW]VsX%0FA4Q5V(sN>`sUJ`HOc;QMu#<>ECFc,X8i5#!!%VCHWIQ"h5<rpVD#"?CXnfS0/M3/n*G(U6^H.BLQA4Ed^HV^Xg5=K<7k_u__a&p002\1h1dh1rU!Z^S[cssgTmC8QV9&MM.UM'?X2Yu(u\Fp;t_4]3^ioc'kZUNR5=`_VB""%e<\HJjo+'MP=1Qk<?5,=]I]%ZC`]YPdX+G5f3F,f[MJr\!>0\^6J+p9zzz!!)u+e#tac$oI;=]]3h4_[Wa"T6\tND)0:/P*YF:\=uSnOu$!pLkk*\A8HXV4W>>;<E3$2&J6Tp<F#ldRT3EU-Bl?;ehtd#OfW:IWiF^-M5=3PF<VoC<@sj2g!OkE@`Coa?PM(TS$H<`/=V]eD$uJ:>>*sKVV':$q*rTR2\nh^8M]>Kij6#@*@>l@[H>i^c:h]7HO\N/URRiV2P.leD.Q%;fde&5QJ$%&OaW0nBBXH;M,cW+B,gFq')q+*C00OtgEVk#/OZS+/SjWVSX/cN"C;:9r<jh&-%[5$bQ%VQ^9:Op6DRV^Z]'bV%[BqnbVam'U/I[L5"Vg54te-$>CYQp\dBmi3r0f(R6T2#cQ#XY!:l99`r?%paF!/cAZi&0TnE!db/i?;!9GGfM>mQu6AQK\p8hf*mdeGC"7F:5?M?U#l)?`0L>r3=>,XYFg*Ij@!00)]-I>2cP(XD__BIU!$Xq0d+,4b6'Y<9n?.Wp51sr$DSZFAX/cO?O/!ndd<Dr@i$^Qh_gikq(TOKg:MOHM,LmD_6LtdEeCpe[k>>HA%j-BZFzzzzzzzz!&bchg2aiK8XJi2>A58%Z)"=uGD42::"WL#Tag.AX^.:_-#\rO-=Sd<N^U?\CpjqSb>dXgD.3@.^fRZq^KchfM;IK2mBQ=a:.=VJ\$D"?YEf+fpu6([_MF,Ro/AAkN3U6$L*sZ7+"L9H:CX`nU3@gU\=;b1N\fM,`Zq&,Z#4oIENPdeX;b@]=;7Q.XW'Hgbpnha\>jtqUMH$m2$_5P3H])<[B;oqeaf8Z`@LNlFm[1N^Ae2RfV85^323fq0A?6Q=^BZQF>]"QCD:VRA8FsL@o3SW`0cGV`OG7!M(e.jReEhJ?R*/hfP;=qei#AtN,!$A;%WJT7\_6)N7=UH+taNb1Y>)aq+T"B.]A0'X.\D$;%Zf065?j$UMJ#WG$bK)n<Mm/UfobSW3ouVFfSW29p9^,&IiP:6\A@7^;K6Fm55g:F,8ul<:a7ae1fRUh=`MTQ@e/7BpndVE5Oj9HGZ;Z;UiY<)biff'de<K2,h9>k]:TXZ,+CR%[#t@.C1?j;I,VBcb*t6a"?[c)Lfj4nY=M>B3;,XR.OAHZflF5QEi"SL$h?c?S'lgcJDCb#4CZ*3^"Qm*eN1[`g9XshjN+aU6fLMK2t+@AhQ5k6aRfEScdC6!U),Yb\;2ek&q="V:j+$eW297MpC0Um0<"AJFn8?H4+cb)I628SV0$QG&pbCA'6c>o='rG6+a\c4We&QK&"#YQW-.]@1J0#SCS-Oo$*Q7mH"i)DXM`[8(\'>[kBJ4eIS)#6_]o[21nplZXtjPGseqX]:K,Pp&XA/bKO[C6frP'kbZtW@+C;hfo+/4;!eJTkCE2QJ9hTDo,:n2q431".<]c72.Off@e7'n4$gKhi&r/i*eN1[`g9XgB42:-?(BIT=Rs_(]^=ejcu/8r%nG7WTXQR/V:?*EfL)C"B/P<B4L8WQ4*a3#)nV[DdImV)/^)@PF[P;7&EotDc!](_/D5s,hGESDmcT,mI=QVOEq:2T;#-Z83[o5n=>aU32Ic9ePWM1C\_oUm?ljpT]Z-:;5%e:6MHub'%9W2GR(VhJ%a]+]GRm<s#GAOZ0r<D2RFjm$QY/1.<]m^#00=GHZl?WK"4?fCkUk!%Bluf*FqEl6g!*pTO"AtBcJDCb#4CZ)oR279$ZbhW>u:?fKK:Q*F'(;0b;Ni$\!/s?]=Hi_+(-.Agq:Xn<'Fr'%Z4P^edYaPc'Z02jUTXTmW]74fE\(Y0/9<R&"2';U6fLMK2t+@AhQ5k6aRfEScdC6!U),Yb\;2ek&q="V:j+$eXNW-hobaiX092V;eh^Z,#kPj[2k*5cDT/FH_,$kZ!P)B8:!,&P%p#tP9&^%V.a%3PnE@<1)X*t_&+Y[(u^@`/0/iM<u#g0A(a@Ia0E_X<-)<sdEQ\aPZ1U]?3N/de+cuPdd64heMPormuF*/@e"MGg3?f`\LF=R<k0')MMn;G'bq8Zf@ga[a1@$]B0Bd;m%nX]b[Eu:?+4ZOV$`bs:"FG8XN7D@,U'^*;5)*ib,$bR*t`6>Uaac+/[t3R>3=s&_3_;8^1o0sC7cI+Kk\0RQ*57/>K</7ZUTjM'Y`t$G,E,9,9nlH(pCi$SCLTG;6eH.]Q"pj)\H)_Bc?:oG#6U=aP$=5rYt["^K1W,qo5qVTNHiuUXu"8!.>gpd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS%ER5scMedYQbQT(mi'@JJRT-rO'Xcm^qC>nr**Db,A5mqpi#;$rEKlGCFf5bLcp&IGi)!moLATFD/e9iT7$+d^R9HAE'EfnYNQ`Ep#u)/I2iXB)rJWB_f@Y`o=p%ZAae0bqo5qVTNHiuUXtLtE%aUtIhpWFaP$=5rYt["^K1O+)Tr&1@Lle+?8p9I]b.sU>?j*3BAYfGDrtC)>S"J_/,BF*4aK89ha[b?7ecFiE86GFI.-%/R="UG54P_XkS><6kk3ta*"1.5ho3"@E]/@;^P;`!n(#5N`j3@P=G,5#f8]EA019`.(=s#:g%Wek)u5i8<s.n0b5Qs$%pk<'2poFS&\\*H>W3m?h`LUOk$J!k&%l[.q?;[<H9HN17fr<Pp[N*>gl7qRn);$LHhD>AnZ8qX(*N;6p#CH?$dfpN`O3U(2LY23LAkcQe\M(%ZG3&7K@cmMNV%0C6uRPjf+#gSpWiaWq3Sit"7I/NrdeMh?B8DOdD3F-^&2)>2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS)s*b(G%#*>qQ"1$WGpS#p%8eDdrFqqf[ViVm7-6F[d,gD.^]a"mT`YW=4Lf[/b*=)[o>sW\6MSH[*I<^S@E<h"Q5cL[d1h/5JC2MmZ5*3WtcBuIl-o-+D[1T4VcPhoO99p=kdW6n_-FbR;u3aHnfiq:g@p_*im#U465\W7?0%G\]BmWp?tFS?K>iNEE^"hCCja.`kUeW;)W<YYmnU9DY5q;E0=2T;VNS@R?r?X0t.XT5_rrCE@j/Yc.R"I)+KG:NZSQ>*n&0CVo0J!O"RLIE2'VC079atZIVq%YuAB^rkbZZULS&=GKF+0-OQkdH#K&D`b&]7^C+<QX@N!Uc"4#TJZ>:3=*?1E`JpqbjArb?ZBuM&-Jhml+Pg0]rrB(0=M$3^X7])TV&G2F$%!6oR87Bd;+.6Y@A+:-ZCd</%Ac:Za'hXXK<Y>^iG4V]iHccI\EG&+j)8M[Bmc's[[(!paWoD1T&il0Yf7Tln9r,qiN%]u+hFWs7PVTAm()OkD"kNm^"b5\Wh'3%#<Vtdzzzzzzz!!!!"m;_h[^G<LQ:9j>sVcpbd\uPP0W3dsgQR'pM8mIW1_W&S5e)TtSh30"!0[b2HZ6>7fXBUEu4ipc]nTFY'GMI-bD`#d0[beo*T#pGF[>g"*\TB^/E7b(5\?N*e;17Fcef$WM,jhCmaOL-DM8JF/[:<'=jj8g[O0i3\UU+qJ[%*8W;PW;XQPiKH.2Gir9gZY$V5%OZ]eH'E2gJKa3O$VC+K=nd/ZlJPM(Y&aD%!fG+NKGD_DtT'(JYKe.j_5ri`=U;F=K&b[ZUkBM]0;-m9\VrU8nXhc98-[N*P)L4+J)^]+):cZ;`Jk<Dq\r2U+)K3Aairhcubp=Gj4-0B)p2d"oF[&J8h'+t`p@,1o?[#XBRXn,PS$!!.\Z+fGc%9Xp8Ib8749H&>Nh$JqF6nl_T.h,>8:p+<aLgW!)CA'LJ"FGS'r<nqh&#hXJW..XhYk8$+i0KpLd[Ro;qSom\/92*<"rD=s'@P*OUW3StV0f6DbZL\+S3K]3elmm+a>9p8hQ<PqW&2dD#9`G+m!#/WUher+&;hV"8>ftZqDogO2;TL^QeLm?&VX4,Z,>gj[(r+4k;/'hq8gopM1__,rArD3L2Ht@'bg3Mr"Mkq%/hiR4K(-/d6ZUO?N+.-H]7rnQ?Yq?t<K]j*$_4Y-LkqB6K^cCoK!=q"L+WgDMX7-u)V"K+?5L]Up<lLt?M?)\Q$X8iNWra!5QCcazz!!!X9mb-!'\t-ruH=$7,%gc`,N(Gr]/;5C.f&T+@AMV5`k5dRXC#[46.6Df7Hrd`n+U1d?CX&Q@PB])Ap)L,/8CtdTD*<g3;H'^!P-N-]E\4QF,5Wg+I[7q5=Q-W!E]5Rhg0E5U6@AI=UN9kKFOS.(YGlPc'f<31?5Y><P`<ag3Mr6RVO1ehUW6f?fT.&-d*!$RAI3(:(hL!GCp;)S,bYMg8lA&F>6n*$hYA5gAWb9'c;eqUWigE.D,jSA.]TMKWk)2PWE"t"T'&9*=$=^+WiKm7WnOJQ\lDaPWihUm.XoG!n,NFg!Mk&0e`@lE3.aS.'<pW\>Ks_.>[ME^BQsI:L.O1=g6>N"18m+:?:0Y)>Zh](b8Yn6NA<G)I#"oO9R@KX9-fQ$h<N+c):I%4g953b)nl*F`G0R!)G)<a6s\'"q+XqZppN44ReC092/JP`VN0&*[=OA4g$D[5b8?:i@4eC2DREQVCGfmbi2KANf;mFN[>NL@T^nmRWRWIR*1&^6\(A#_aH[q!/Ok5Srr=af9=jPa\aK;5VWsq:T'W;-O[BcqMTFh;W7E]%S.072&J2ED.On*"Nfrk(VdqV<7bHa\WFK&M+uQK;FqL[/Lin@;5*,aEzz!!!!*a7i8@TW\.09iC'[3B:j/F59;/U"!TBRCKDE/ubg/_ot/H8#[9BPT+RbOeq?#<8hdd/i@N`c*UR?)np]c_3O_$F`AV^P=Fpn;nXc")CfGmC)X&8].AM1S2.8`'5^a>bB6]UQ5F5>bKch=>5;:3@YMp=;^/*'P%<#fRTgE"G\#33K/5;>1G^gMVJ!bXBCM=]jYIW#_4`gqoL))?'7f!O+92CegVS]GU<gHRKI_kjQIWMtj=?#HY.$ij91$-JGSMW^/T>#fF'mN6o&R3cFg+W?lD-2@7K2QGh,UFt?Iqp6jR$Z]Tp^D9.2qmYksG6#13F5'5)WC#j>rhMFNR<M,GhZt[0g`*+\dpSIRULfKd?Zui^:&+/S-g"91sNW8s3'$7bM9lE&j(=*lfYh<iRVcT2/AhD*/PtZ6SV2@p[2'".JjP2,j&q.OjnKT_<m9zzzzzzzzG*G$6@cjdj/^&I01:(;j<2!1Q[#02[OZKC>W5rj-(bln(b&R54*D04:SG77=poc3fK'0bHmq^L[3d\/u(X"Y=?7R7\2QNGD.e#<t79)NTlKUI:MQZK^.Tm2`&\:OZEnJqtLotfh]nAdB<A#Sk>p<.QObb5Z-+=A-;nN\P[?PPGr)\_t<4$9Jetu%pj!oUqU#e,aQGgk+VdD4TBdD%pdb4/8B<F@cnq$@%JuBFRh9\5POk\ViaPVKH<(B"*/7L@fC9"ZVS_:8NReX<`ka_?TMFDW/;(dbEDf%Sjn$?,V?HX1EB45Z5JK7HC@80*nH%tq/f0,m]/ph?T^M[Ws7V_J(S?!g&EfDq/2d)bC.Pr%6^XOciI#LQ0PbL402n&825p""fX5<p9r,Zpdfp-VZ?8uDRh=YJrdNr&XAW%3Jn#p5J_E52kW2d$jUip`_j\3\phDe-k`E-X<NNV!(gPVETnS-rQeRjrP/8^Tb3N_a@mb-f]WpV>lb8d;_+1WIXR@9D.E9`[_2(;-JiC["4Ank5.X)ujf.7^bhpe8Z!-iV,+\IfE-%K;0Urr<S\:XAMDXZ"PAW/-:`DgN/t!97jT2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DR#CIIk4.rakQK_#)-W^S"\]f;$rWoPcHODgrPS%ER5scMedYQbQT(mi'@JJRT-rO'Xcm^qC>nr**Db,A5mqpi#;$rEKlGCFf5bLcp&IGi)!moLATFD/e9iT7$+d^R9HAE'EfnYNQ`Ep#u)/I2iXB)rJWB_f@Y`o=p%ZAae0bqo5qVTNHiuUXtLtE%aUtIhpWFaP$=5rYt["^K1O+)Tr&1@Lle+?8p9I]b.sU>?j*3BAYfGDrtC)>S"J_/,BF*4aK89ha[b?7ecFiE86GFI.-%/R="UG54P_XkS><6kk3ta*"1.5ho3"@E]/@;^P;`!n(#5N`j3@P=G,5#f8]EA019`.(=s#:g%Wek)u5i8<s.n0b5Qs$%pk<'2poFS&\\*H>W3m?h`LUOk$J!k&%l[.q?;[<H9HN17fr<Pp[N*>gl7qRn);$LHhD>AnZ8qX(*N;6p#CH?$dfpN`O3U(2LY23LAkcQe\M(%ZG3&7K@cmMNV%0C6uRPjf+#gSpWiaWq3Sit"7I/NrdeMh?B8DOdD3F-^&2)>2^;tm48<aV?N"+>]PB%o"c,<f4a>jS!q\tVnSN7#NLtUeiP1e-ol*+bXKUh'+SFskj*_mTd2Uu^[DpU-Qe`=DnLh#Pd?CUk7ho"f2@aQDG@aC;9242A.Boap2*QDDcq[jMLqd,=[S813(6ift[[@][Gr<'c?/qI-bFBMqi4JCqldGU)VN+4`QbBZq9\))IilnRbU91K879___e62aXQ4Cl:,F\CBNso?W<EIrjYVGV8*(IM1*n58@ZE(L6X(p:E[W!Did'0sV[3qlQ5<.Q/jk6-.Fgk_T<b='`U=QM//NTd5oLtF%ZRQr_89pO5Zl'`0LrdZX=DbEcM`!0dV"6qG\FSeYXLfglAof8QP%c.f<`p.PYA7,Q'fZpBZeUnjXFGTYXr"`'X;-$1cq.!OA<G?^p,P*ldao[FW*h:Hk=ZlD=D+uKHgROYq?bH]WUUKRT9*nC76.!jmIAG4jH&`l9-2J_B=&%nm@i_k3r5bm4N;h8oM_1V?JcaR?:b(`FKt3JL3l1p^=jW[F0DTk6d03(%n/LNea;nOA`Sp?k=ZlD=D+uKHgRNj-T_+%`&u%g5kJ!CrEeA$em:oHmW>`$'o%'#\%^Q;Joe,qHpc+jj:=[>T@N?!c"5ssmcR4ad9(%g$[_97kU/FfVo1^;IR*O(RJgIL*7eFerpFm5m1kA&5e"J]*eJI:WdI1XBB0Rl3M4jhn]bY+O7)1(*mn)&ZjV6JU$*jbqPV7o`dU2F;jmSjh]13R8H/%!Z0`9\HU,'Sg)bieYGut;b\,uI76.!jmIAG4jH&`l9-2J_B=&%nm@i_k3r5bm4N;h8oM_1V?JcaR?:b(`FKt3JL3l1p^=jW[F0DTk6d03(%n/LNea;nOA`Sp?k=ZlD=D+uKHgRNj-T_+%`&u%g5kJ!CrEeA$em:oHmW>`$'o%'#\%^Q;Joe,qHpc+jj:=[>T@N?!c"5ssmcR4ad9(%g$[_97kU/FfVo1^;IR*O(RJgIL*7eFerpFm5m1kA&5e"J]*eJI:WdI1XBB0Rl3M4jhn]bY+O7)1(*mn)&ZjV6JU$*jbqPV7o`dU2F;jmSjh]13R8H/%!Z0`9\HU,'Sg)bieYGut;b\,uI76.!jmIAG4jI&KWaZ0#Bdq.)b`U.JK</;2_Rl70Ze`'W&7ApkOa>bhGK]B-X>%>4!Rs]*.-"LUV["]BRE/#jY[;]FH[gptpQ.!_1)')CGL$iNPhE!OXN`P\4;&7=i;,K:e`c&LOJ)RDpW::VG;aXV23:18H\i2X8Wc=0(Z$<^OV7[S<qM2Krl,0'/B!Y%;..pf!i2OVh:hWhm[<gA0U@KNoVGc[+gm:'La4=deUW&2?QD=As_6itBflu9FpU,DaeTK9];0g[6aJ+PK=$B2$E]&ek;bFUG<(&p-8kQ_4Y*OZkRIaKU,@c`l-*DUOW7JATS1<W"6n.6$%:7TXCR:hsTK=n=.C0aAMi;NIc#%sbc-f;OZDSP`P#^85`_u*CbA;FFAV0p^QD7IUm*1XA)&Ih_TrMXD@sc$22<-c7?J`uURQ#T<1+K[_d.nGKIBk&$N^i+^-</qPl"V-WigS.DQ'/#9hTj[V0>0W.X\X-5I%K"'1k8-gFT;CAzzzzzzz!!1_M.2?WMV[eVMV,ZcgRZ"/+:S^j\9<(u>5/%.U%\Ep&jiMX8n0J>r+!l>`%G+*IGi"_4dp;K&N;7%3@uZ;8QbD\8[6H.@+$En8,m?-UQ1\"j7iGS,,]d)-VlJo?;5g+P<0r"iqk*Hi7pS=?cW(-WX"iI+6/,*\4\$jLA"Up)NX"+7<gm>\QhchGm$@A7`S)GhE,FokE0G%>I'KMA6&6IqIqW.FGC4<$Gkr_cZ$R'-@s;Bk-K[MCpe),D7GEABdeLNheF1Rr.+l8;+%,4te;Y&un"kYUG+J-jS8F>ZVBN80p;BJLhsG`pnY]XD,OLg#X,c/(`i.E.j)$W]C.rfZltNgC!35t=c$Y#1GL,`jH&-%5SZ9Bg04@XOeb644hp'04WhM$"_Y:T_O<5D$r*>\6TC6#hI*#AE<I<I`N%h"'=CP%QM<_71]A#?gAtcBO2uipY"6$7[.?mG97^ZEu7&85/n0QU7eQRUhN<YkHVm,6]e)j2?agNE^N7+$")=/WEa4!IG=a=%G?.XKUPMR#e[Q($k/"\)JE]&ec;bFUG<('.5<B\j]eMWU+oQ53DQEk/2Og0_FF5H"J[B2jFY&^Nd-`U,>?^em3C<nKB,)lH@G_X.[FWVOL*ojU"el:lm;S?gbN:mumk#2Ra'!IQ=&mAq!7,b0C2I=HS4H.(WMXZWd1$.QK96a-r0+h&5Nfl>JeNKpiWM2san)31L>@'\Y'fK'#7^B:XIP%]la]Tfi]N)8g;mG3R%B>;bU%0_+^oaq27%#uqzzz!![2eh?^f;,F0p/9k(C-!-5862l`-eRW6JmYAM0T(L+GMW^2$"<4Js^PjKb\qO;%</]<b&H)[4!G:9[Yo8[fATBPO-A8rff8Q/I_;Ase^p@:4#Y6,W%Okm';__M-N\[(N.hKZ'uJ,3gt@j=E1I+(/FE3eA;pNCtc;9rMW;WtW'&6W*W);:IU+4J@A[q\jh't74ub&q0fn+j@qK!+ER8P#p`k*hojIfUIE$.snVMm#TYA)'M@\AJ-_pnk++hY#<tPn@)S'PX9i,";2[6H^4aob3:m\]UsJGeY#$39(WXR&9l`T9"7t8]F_&Gd4M11+:Op,E9,hWVru*.]R%LL)APC!!!7UauM6&_g)1Gak-Jg'T5T/V*.hYatl?)Iu1G?Pfe%s;GLM$XYFLM'pSWo??%:\D)06&?4OaA!u0OX2[e"apZ6ee*,X0D96@a:'g7LQ2&8b)\f/SgSE:a-QbG,fY.QW2dk%u9A>mT(fM9V]p%GZ1e5s?,Tc/jBYbho.[2!t%LG.Fc:@DBH1G-MAg/cp52^)??KK#G_704RHKt,hV;pq6],EXS0*'`s*(L]Fpb'ZF;(_5iI<sqmr0g"Js7@$-;WQ:Y(GP4lL`+3]BN[D#f^oFjWQ?dgujd$OknAWi*F4d".k-E$'4-;VcY5F2j'ohpG7^Y3-2=PHM4obQ_zz!!!#T%1VPG\#Xnm'&7Ubl1i]V30h^]Ej1fRlBFYcA8?L^,A.Rj)kk99`,aRDb=(]L,>25N4`)L:[rt2J.IVF1-,p\TBQ!*Xe&Ij%g3FXThC6iLn+TRX7#PjJ9f\cTYsjop8mB,haY>)C)EK9JgIZ"F?Cpfs.QRLmGd4-4g6WVbmJ7j$6DI`Xbpj_Dgp_!ZW3e$34f#=eQV+/0LsVg6Bfl]9L)V?7l92"VAnGM'Dd1f`^Fq[cqS$`UWP,=oI'ZH<[IQm6Q-XfDeT.e+U2VE7Lf@)kI;S4S=aAk(:S.*TQ-r;Mf%3)UXfc`3eQ#uQE$g6"EUY%u!!!!$i8H>B!EsDfk)(Zi2=k&%hDq@C2]^ch;`c6iVT(KaO*Si(2_)KaQ:T79h:j'ojZg).)PFPPZV"M=D8>L(Zq]G7E8B?6R's]5ilebo,m34NT=.WUeSHg;iM`VlC5fUS+@`D/<KA\HAZY$h^91Wj[DZ'YbX"YB/L0-@rr@+8h(=HuJ+GprY8;o_,@&_uCWKZp)GH4mzzzzzzz!!!!@#79l3HmSiuDn9"=5O"VA/QH?H5pkQo6ZkA'M`l^SBTrg_Xus>lp)QoZW`Aa,VJ2s7N8,."o)A]]fqtY?kLq<X`GJ@A@+spaW`^#0XNXr`:;o^]M69Sji,t'YloJZnC\fD&f='4tbPTSbCp(ZUJ,]LDJa*'K7]qRoD2R%H<8h@\A#ATDQ8*f?O_7'_W<l?<Ht7&CN2]\?R2Ye,X@b=kaJMA*?'Vo63)Zb/2!a@X)>W_VLZKH`XaEP(1.k6dJ7LWX$"BE7>:nT_YjH;jGXi[nkindgcYR9neU*b'<CY]@QEH-G&EW=b5C[-7W@2`Yb>hhM`c9eT,BSr]&Q(O1NCC+\W[4_!>7=U3h!&>&.h)-&Dgf!)^4LF0WdI1XBB0ppU7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-r_G</k"MShTM>Mj9.5rmQI4sB&EnctnZcg(6!k-FPJpN*0lBWO#D"hjWVoFmdD;rSj.59P8$bl4eaNb^9nIs3qUp56aNTNg;j%m`5-eNP/=1\(dFSBpKopu\mQ8,%)$O(bUNg',1`d.A!BI8f,H@m;)^.EqdpDiSTd,_(#!=S@Wi4eQ$:D%Aomf@<&.jtlQ5U7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-r_G</k"MShTM>Mj9.5rmQI4sB&EnctnZcg(6!k-FPJpN*0lBWO#D"hjWVoFmdD;rSj.59P8$bl4eaNb^9nIs3qUp56aNTNg;j%m`5-eNP/=1\(dFSBpKopu\mQ8,%)$O(bUNg',1`d.A!BI8f,H@m;)^.EqdpDiSTd,_(#!=S@Wi4eQ$:D%Aomf@<&.jtlQ5U7BQppA!dUnjiFqV2o;k1YN#Gp<`FFSUFGr*b.DWH7@);YA]G:0-l$k3`u*5_`aYshe`li3S2eF+m(TO#GRa7lLt#8ZLUN[F/=q2X>AQ6^%ThF':jPMiZ;So+F5K\ri^7#CG-sVGS=#eEOg-s.^uP8m>>\ElIGcJ;eZql<UE/C;Q8/X<F[ft$lFpr>LI(SH"<-_,\g5<@1Db4mS2j"ca7R[hRBps?^0/R4t+%=Q<>WuA9#W3R+9N0SCC$9W/@UT[NZP0B]Z[2h77Nc/+3lWHGMrXf228gI5Hpn(tb@]F.B4=2%rT^n0.hZeK9/o&:X.t9Pm*lrrAZm:PC'A-XEfj5D/N_OcLLC`HT"U?dc.PPjK?n6^9QAb0(NLrrAT+lD#R[PAf[4o+UX&6]UVWUoNH:h'h@=qD<T<r'AAI\l$Ik\l$SYoP"&Wpk+UqFJFf`FJG%<kgAu8nHU)kkslWJksm)XdA,hOiXS&`dZ-,sdZ.&:UIWO(`#NuJV&X,pV&YtS7ZWq/LcFhs8iY,j8i\g/N?9l>&96OoP]<8^P]CX>)EqVZ+QL)i.-!DF.-0.Z1jm7>6-"2\;9!gk;9?<>B_dM[K9#DBUQ"Y`UQ]W[dIS%A#9D[c7iC1J7jd-@UZNr`%QhAPN\eAsN_R9`8'FcI*-Zb+*+sVp*1MFIO-lPq3:?N536q7j3B$kr+#,tkES^&IELlN^bkce(f8cWs]s!9o8<*VuYKGrV<G/)+b&sn*`DRLU\Z4q2^-i<-<Ga"LOhUCUAK+\08G2[jAo8^59FlP]S4u'D`Ce;uM&_?u9^];4Vi'=IaR'c-7PPo.]2kncj6Uo1A_n07nQkr?rlkO]A8&D8BjLQpA%.0<G)jl`[_7#gWH<M<LFeAfN3->`O(mj2DHa7X*A=N(VL<3Vp\D4$L9TuX0<A0S;b^%MYCSc,[-U*jP3^A[R/[-uk(YV)n\-KQ=YFOCGh+(B&fB(c:dg6.@YpC*M:o.=lWiU&e!;`-f@E"$Q_l4HkMtDV;HmT[nRH$AA5T)j7iQ8[;mW=DgGr6UIh)R-,76/g]70IeCOY-=c-i1;X7<-Q=_p*dCUE9GgT/pM31&Xbjr\;,QRVPSdYFiL%*?Vj6O1EEKWAG3?Y=<5Pa'kWN2UR*C)H$C@<uXF(FKsJc>)i4A6!2(\m#fY<;e$V/-f`KRJi!KF%[0EJ#o&qQ[DS'0ui:ZeOkb8q,5e]Dm>:%l0R-'"JX*H_uKc;zzzzzz!!!"I&7Ne_8o>A!,eBMtN0;[OFD'c0FNhg^RuJ/l?<N\a(BT%!*ibXdU4r7tPHl*Mn@hCMNDJq_Pn?0#f0%F/7d6pbA8o#3cW"[Yqc1dpDC-q/I;8L/W\_*W(V(qnR3nJk#!bh)*?hkV`Rsqb!$XCF3DK$C9%b7Ab#3I^7PkT4g7KOm,#$230W?P&R;_49D69('4!0jM7b-jKnhC`$<=MBS1\W>;RS(a#@o#6l;tO%teB"]UIV4VZY@G"f;Vi-7$OhBFTLW6jStL,IPn#7OldgeBN4>#%Z\;9=?5<78OJJ<6/*bXV+9)=VS3'=\Af(HclD8=HH!>i_.r@\S]NgM<J+@G-%cXCdSapuR<d"bnN-<OGOX6m?=B-S7[1]4AGg$&fVhru/l>bomb0jYd^7-fgSuK\)`#.4bZsHZ[AmKPV(K%d/Bd,;gWSLQCbH=JaD;ddn9lTSEKF,jRhTW(NX'2TMMlQ*qNjZ*lOud:V!5k[n)[gKTGar\Pb!_b0R$cVMe1F-B`)ROh[arBt`.=Q[&2T4`J%(<<r2+HPgqs*lz!ko`Lh.qFb7-uA^$FuZd:GCpHY1'$=1?UEg8VN0LaD"ip*Wq(NlJtI?:QodZr`dK+;V52dDqUk^cO=APrh;l^>nF\+[>Sg-?KSEnSsH[Jh?Iu^:LtH?pXr1d]@.qJ9MJ+Sf:o+t'@YUAD+@U+0*8g=C_lLrN?W]r.R8Nj_KGnZzzzI8F=rWQp2kVSnZpWDo`aVphX7fj'AtVp0W%Tu)X,U/R,pPp+YNZm:W';M^-T.V`\]l)H6a-Y-1q`okG;W\o`F&R>(@bFu%R;,tcM&J8"8cTF&29iFt@A#G<DpUSG&f!VHVk;cU1,>f1U=$e)Hp\0&KiXV1B11%Jb`IBZ((*Q[5*DH[kWhM23S+O<&SKU+6qAKZ$C6kZf(/4BQ>UXHl/IcPoTCk5'N`J6=B=BOsV`m-Yf$m9XJkF]8mcLgrd8JWU7^kaTqeB>!o6Pf6`CcJEY&4`BF.#SD.GkqmohSA+/XAkallr\o>jHV+7FOYT!!!!Y3)%RG+sSro8gL)Z,2/kFC,/BmOtEPCA40ZL)L)i/=7U'4qBoiM$_XN']^o=agbqIh;3*3,EsuP>U[A"t/"7a?pUjFN*:'"c60se&U_9"0Q:J>5,BcXqj\a"/9oX=>oM^HmHt'Z49Z"LdC@PQ"[1sX^HR\Ua)5Z_2W9gEr&%$O!d'dW0T9pE"cFcM:M2Z@$Oa+$(g6S/X3O&KS,gcA!.(i[\U>$DlD%_X)zzz"5DjPFa)rZmafD/'d_Sah0;qpdHJprg.:=s1K2aL3^dNpRneipaHH,.9.VutT)f@A(LkRC!o]X7(ZKc%VmrZJFL&T)Ceb0h4g^A4;3A+?\aF63K]-nl+hB@ua*HZ+p8K4HBd-\*Er(X.eu,s'f#FtoV9W%.i@]>NNAk#Z=MsbN?Ybi].LhPUf<rtk3@S$Xi@1)A;QN+&g?N+Q`@14Y;4f!DZmYc@ZWCK"lcn2]3q;n+N:3TbFK3%>P+LE491m`@pChl\os]u<e(Mn,0*`4)Sb"ot07;*be_$Jc=#'sH.A=3"Vl)uN,>Q8sI@RH9AKn/D,>g?QC/\I>z!!gb(*'0$=Pj42u[0h%C/+@9fq9dl^#';:gWL5I&7$*0Kb)7F.RTA.jUb*p(A7RjQobA1+&67.Rpo<>#?H9=nf<O^I>4stVNbb)^MN1+o7FI'Big*bnU8XuTdF:YHEu`_2\ZT]$f/:ZZ[E,pV;,L28#Y*>t\^&d<V:;\#0imQ4%:W5kQR`nXY/s\--2"643**_4Zq@9$*3+tmZ",%P7%XMr_?c<*23PS#hcCL+R"%+Kl#0/u+uQih3]HcP[598u&?<.'(+0NLFE4PmRj5;(6S*Dm]e5+TmX30OP.lpSNGWJ[T<u!>6?hX[MV5)t]o'oJKj+/t61/(-p7Q@ma5Z2C;0UblR8T3*nnF-7m9*",.4"7AVN(9F'?FMsBbrBpg$kekOC136b1t4=NbfGikUS!#>-P)b'ha$$WMSTJMOg?d;q+eo[M$g>"--f#Qt$iY<62iL\EM&hq&Km6=];l;nsBiMQ%+KZ=8iCorrCD^okLB3.N.'#l5u_Xn,NFgzzzzzz!!+?omJRj7W[s`c<TaD?,$<ED8U"q)-+;@_?Qr1d?&'$:KM,oT8MATCPM4M<Lu;M)R7(>`2MI2=0PXj[HDs%P?P,<*W0Sp]_54G<\N:/K[?Tmhb%k:ZYrN*SZqbVI/F_(n=#B15ddgn;"e7F>HPb2B4]^f`.(UEGSLDN%D0B&o4"SC1b;#b]AZ5-o7VN9$N>[K!b7UMRfd4(:Yf[7X6:d9(OV&AG'O;uI9dGos,G-dIY&g,5Y&g,A\^"4'Y&^PBWp*M`<@X]fHeeEBHFcTrWiE2$j]/]g<HP7@WiE)`<EiGtWtgLd]h#0Y(&F.U2%#%4Roc]Al45'q$=,9T*Q`B#b^F(oC-5VC.;C[:Ku(ViMnXeSp914%m^bt>0.NAm'N$S"c]Uj>NFNgTd]RYV&J4\7;H6fKda1h>5&0?CCiRJ5[Ej3M)V2;X.cjVt.H@T`?Ia1:QXj*(3AM?tZP>*PN,@f)D&L,fM+mfPV]5Ou[k<G<9<':T3:W0\"o\ZDYL@)WL7u\i#8ItP,Ej*R#ha,6gS_Ne[&&c=o1Y%D9/K3aaX=Mb96&%sV5;=n-H^(XZ1t?*M^;o5Vm`q>JW&tnU8q2<B(^N&fchc'nnn=D5%8sa,WP5d8oEKA^!_p8^S=<C:W+5sH_h]pH_h^OIn#KdT85JppI[EjpI[G(rf&!S57hhjmZ_^^mZ_a/r>Ik/IN[[_h'h;Fh'h@=qD<T<r'AAI\l$Ik\l$SYoP"&Wpk+UqFJFf`FJG%<kgAu8nHU)kkslWJksm)XdA,hOiXS&`dZ-,sdZ.&:UIWO(`#NuJV&X,pV&YtS7ZWq/LcFhs8iY,j8i\g/N?9l>&96OoP]<8^P]CX>)EqVZ+QL)i.-!DF.-0.Z1jm7>6-"2\;9!gk;9?<>B_dM[K9#DBUQ"Y`UQ]W[dIS%A#9D[c7iC1J7jd-@UZNr`%QhAPN\eAsN_R9`8'FcI*-Zb+*+sVp*1MFIO-lPq3:?N536q7j3B$kr+#,tkES^&IELlN^hB-ofD3qm_7A`UA)/<@eCbeQoQi@%BV#LG1A9^Dc>Z6FTAcDc)EIWBG$+2R[]68JnbP\JerrBHgs3d0lDL8Ilm@/5[Q*PPeETL;h"kRcoC/l,C4+`(tQJ:s['4`[L(mSp^IC=uN*l:jUfO'kcrn=8e9\7IXpWO$dEEtLKQX(>JOiHXYRF3Ti,LJKrD*nn9`7&3m\UC'XS]i&iPSc%_>uu1"q?gCq0oI;T\a#!j,&rmS2&0q&_belHbF2Ao?>K&-g?NpD?[-1,H'8a0C6'i':AEM=k,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhB\9_E-Q5S+59;T:1`Hn4Y]H2q,C?E.+6E4,;:4Pg4F=<<G;e_1ZUU;C?I8-QP1Tr3k[4@'d-U?iad$]TZe(h+G;UWNO5hC4KH<*3h46-:0c>2L'>q35oLuic=@T_,T1R6[P1NS0cB"Z`*nLNOXQAlpAiIS.B>^(ND>`O0]dOJAK>AS(l7\XmnDV0pgC=B5d;kL-gC@mnDHCY++;O]S7c$"uSc.4</R2sB1;P^o_1rtYUU%4^s(?8.9%M:4KHO&;Ke]0t#:tJE/%9-0JaVGbVb7pnq,J2a0a"baVm'5d+2-$ZUC0H$B<=G\)UoKT@.Z!)HY?7U\/92t8(Ps=n>307qZ,hqo<4+=+73mq8-C3c-r4.$CEL/:VcH2>$:#0\O-<-BC.G5>E4QW66*e!c`CKf5"V'sR6KZ)`*rr?I&df`Oa"s:a!JW3.,XehR,f!R&E>)?6g25l=eM4kM46;g=^(2#uR,)59k)&$20et`qQ2%_B-7.9sa'1+'T&*:?C8pr57IMCOB:EIip1HW7kLO$9tPom-uZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1j)X:HqH'-`.CQgZ+*_CAH'8a0C6'h`j(=XHY&=D#]P_!&T1\]^Kf7O]_s\#ZmkS>.D,KC^Hu.7&<R'H6f8[tB;s@V(n>=q)G^\P=h<%Bmc)Nn)DiL2lC:Utcg@;^p8pr57IMCOB:Ck)o41r[jH*p/-%IpbtbuZiTRpJ$+BhtRNYJQcEWT!T+B6Tatml%-8TtWF!H)g#r1Mb"lbpi:g2>C*eFZ_kWbjP'L*Tkln<&_hA0/["k#&SV?\YVKTk._7?Y,@'3)4fVp_n=]ub(f]EV<4hJ^s0&%QSbVg][u+:[FF^C__\pKR!5$!Gu3B;1q_@[GT!pLEorV_=.9%9[^r%PG\2/FP7I2!O")+/As\shDZ_o1jZ_e^.$Ba.]!GSg8g@5`eTTAcaWi#enVYUJ:DgT"m,/p$rr?JQhPdB>/fdBei7/lJ(Mmp:<)cMnk!cW5B%NW_Q0s%INB'D+FPN]u+u;#D>9Z&T'LmFm.-Pbf.eXHnE#EVE`,J_gHu0*hMNCin[*.aR6AiP@9/;"Li[VCFc8pVXMPf]jJ,ME$Ip4IYCpgt3H7-'o$\<iqR]EQY.1]^L4-Jr;(lXE58?Q!)a*6JA!8`D@f2pPS]1$)*p=/5QA.3Yh;b'VWTCc5pA!?nLL)G;S$_6t!WBNGDM6#9[OMUe'd8U%%L=Fp:lQ5*[&K8Qkm(4j&(DR4`/SZ<@`@[Q;ETp;/\\_\a%hIb?:B&5"Wt`_@Yr3rA0,[iFC2.@QrmEsNCCAkr!5G`5(0gM1XK?g<p\Em:rm,YLrl;<BPbZs/)NXKgbg6:h;],'L-A5#'iXld%@O6hL4J"e<z!!)?Md%@:8Wc[IT3V5lX$@KoG<bY&@Wg&i]a)Qc3WN)@->XVO7.F(eU3n&mXM'Gnt7Blck)MmVCB^4`TMP;MqA(E(gh<n6XOin`77lAH0fu87pbuJMY,,4<boWp<EVOF5OB]b=8)WctPnK^T(.^AnOCUfD1a!*MY;,n3,KSh4-k'\mYPq%1YgH!QO3_T&l:76=\Z6i;6.Fl0_>e(?u.X"4J0=[jg[2GrZ;44$)'7pbnK',9J&CT"cgbfft9PYKb;U3juNC7PcetlB+CKcOR7*paGLe:dX_9COUM?kh=OcV;rf!V_SNGDBB7^WkU&ZCMALmeo4+oF8OBhtRNYJQcEWT2b-L1b^u0^gountYrn2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1k$l-_ls2M`pEe4-XgIKgFBl9/EgL^LHe'V<>"'X5-*BNKf[-;<.>h,3""RMDEGJHT>5:K\.$Q/Arr=iuaj'2$_=rZj^);)k>kMjgrj6Z<'XGa/[:+.61nU4_U+D9l7=$<r=,O.L`%fikR>[-1j^o=ARmThle1,[mVN+,;,8"cpQ-PZp!1S#^a$`<s,&pV-WoR:q&O;E8z#!^7Tr]X?&f1nApEa8=/3q&rV7]P&+fo[`8)g%K?8nq2%oa.j;/Ais5:,I0b91J(eilMO!T,=l('oHS=32YfVPkRTeF^5-l/9'.EdSm6Lr>XV54uIh:FcU<<gg3'GY!ka`H/(-(8VQX1ZOfKJ;cQdp8<P_hL:P[3e(?\*CRD9a3leWCeo?fe;,Jkh.)!fm;Bd;8Y;Hn.!>/TqcGCe*!;q)/hfraWY*HOOmD&Z$)PbH3-b_KQH)g#r1Mb9[/nn+XH*>)SCT6:eL1b^u0^gountX5"fqmi3S&!:P)j`CZd_+2j9srL?qnk5%ba<UD<-_<t)`54XF*JS1j)X:HqH'-`.CQgZ+*_CAH'8a0C6'h`j(=XHY&=D#]P_!&T1\]^Kf7O]_s\#ZmkS>.D,KC^Hu.7&<R'H6f8[tB;s@V(n>=q)G^\P=h<%Bmc)Nn)DiL2lC:Utcg@;^p8pr57IMCOB:Ck)o41r[jH*p/-%IpbtbuZiTRpJ$+BhtRNYJQcEWT!T+B6Tatml%-8TtWF!H)g#r1Mb"lbpi:g2>C*eFZ_kWbjP'L*Tkln<&_hA0/["k#&SV?\YVKTk._7?Y,@'3)4fVp_n=]ub(f]EV<4hJ^s0&%QSbVg][u+:[FF^C__\pKR!5$!Gu3B;1q_@[GT!pLEorV_=.9%9[^r%PG\2/FP7I2!O")+/As\shDZ_o1DHtV^9(QDD2V1mFmgRM111B$V;<:/mCsqoTc/<3cRldJf"(5sngi_r#*hqo%>uf$N.#>%_eLG]FD%;`,H"kXh5>\.RRt=XQ&Du&D10]b^UnEs:)Tc/u3Hh(>h!hm-bC^NjMONV'R:]Q7j,t``/XA-_ETN<ihN;+#gM/UGj`7*-MQ*_!00O=#C0gHj7Nch1(L.UIcLjlOZ*Hr4NHDgG]j9LenIn55Wjtu,&Q<hjFYqGFzz!Q)r2[,VXm%``iALSMG6]#2TdCf2<c_Ga4'7IZIraN'UHZ0[a9<m&t#*/e:#qP^Bi(\49Y4'/j[WhbKeWM*8]U8F/^lnuf[dIrm3>L1I*E$dB@cB6+*Wc9W3f)8UfX5S'@Q+?c9A$20Z;V%Td[d_Rjk=uOuE8fTt^*':k"E(/[nY1>d*<#PdT90]pLN7"XB48eM(!Vd-.%kJ\*AYd`m,Cas)N"EKL9am/d[DJ`/T*t^00<l@1Jt%,aL;a<P;Cp'gGQCig1`d5M('Vmr.B"FRriK`GI=NE&`*,9T)SdV"i'_4;AER+<OCF9>?0iT+sU[5kiu#.p6$qUlEU)k?gTT/O)kMh*H78bj3;R@`?I4#n@'Z[<n#d*;0HC_>=eI(g%bhR(]M:Xc&K#5V[gDknG^TmJ*`G8A.`[8R`oW3?2#l*D\)4+-iLen;tt68d[s/'?\LDi;ocB9%*n;s@GYiuj[ZY)CsqoTc/<3cNQ[bhl!A/pVV:<[IGpUMk"Ik]W][4uNLF0g\\&@)n[W^5I4NQk'\cnh&%j\[]ZGqS[7?JknZtm5=#Y]"?8jKN:Si??_OG>?iV/(>GF:/R2Q62?^,B\NWoie,CW>J\.J0f$peu$P4?i8YmdhbGk1(MP2oa)q2-euBD0XjHV*:1,^C"h\Vha+HS_dnp]\9.'LA9Guk,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhB_>BQUVm-1$q.=Cqq#:>oD4V:5rrE![54Heao,\q7eK.\8h]"DbeT5sQ[H*M0S3:?>>]4Ig]Q$VF1=imD385FagO>tuT..`MW7L95)ejnp=K4qi\F[@$Qb\9N-q[B7%kr"s-Htg^HfJpH=Hd)lO%!A).RtErS64a(MQ=[Q2Q%:L[<jNHX.89Rl&5(KpPs5.j,,Q#:OTo+>`,snN+6%W1-"!f]NEgT)V\?!WiG/\>bEdg)DH?.0KfM8puYm7].TT(fsPS$iQJDKa/IId;lfG]W8<S*WQM/;lF_F-f*MttaqB_7`f\7s8K(B8AQEF"R7E0C`g7^hG?/'i7-;@oOhOj]kG=3)2R5m?Q]#Vtj]1<JcERs^eBKZW33UNL6P_&\Y.?Z`dO$uZIaZ9MYq*14N,)bGc>d]93E9lc3lFHk8Gq8RV*:1,^C"h\Vhn4DL1b^u0^gountUX%NLF0g\\&@)n[W^5I4NQk'\cnh&%j\[]ZGqS[7?JknZtm5=#Y]"?8jKN:Si??_OG>?iV/(>GF:/R2Q62?^,B\NWoie,CW>J\.J0f$peu$P4?i8YmdhbGk1(MP2oa)q2-euBD0XjHV*:1,^C"h\Vha+HS_dnp]\9.'LA9Guk,Xuec*&(Q1oJd7fATH3eF<@Q1V:kuGFMQW:u<3K][_(J)7ALFk*5^DRf"VC\t1!gAp8Na%eFFr.N@D[Q^Y'q"#df0>gf6:o3[20f2KTU%*n;s@GYiuj[4E3ddpJ`i+CT#bF2Ao?>K&-g?Np2iL/Na9KUM!4K*1XRU0a>]F<Na\T:Ak/'WMWgKdSc]JDX^abP/L8!OPRZV/PE2h@H)2_Jf?V0T8]Rqo"^pP*=)R5"(fW:HXr2JIH:k3t0B`oYGooWL.I;f-Y>54Heao-PL?eK.[K`m$.o>i#[%Ghfj+5*b9F$>lrDLY`o>hIOO:g7ufFpt;M+X.-oLY8`fbVp`60iD$`0nGC*Z]?HXdRoFZ0h]"DbeT5sQ[Gu;iPknIMr$f(cSf`2hGBoA^o4j=9)rkOsR]^Q22S<p4d[s/'?\LDi;oA&4cL3MshJH-O6[W^uo2X&nB%N$cRT&HWC[e4Tl?Ia9RGI"!43acfW,IZa?>@$`%,16^F%Uj2c$gA]>u)!D1HW7kLO$9tPn!8i9?gNsJX]t)/nn+XH*>)SCT6:eL1b^u0^gountEcUBmH`@n2"k"jio7HY;Q)RD07s)nBC=l-6;7!*`P)<bqCqZh?IhAgps7FQ0,ggD6BdlhAMm@AAc(6UWS>dfqmi3S&!:P1\R(sds>lM>*Zoa.bqRTgm[nmQ#)qiNukECg[ZeS<+qQ\;rT`!M"\2WhMAY/,$Ih&'PZ=,7IZ;SZf^&2]oBAA.56JCFBhMO00DNf9e2s9S['M^<&'D63Ro`ME[%WCX].aJ75^ZYD,H\QUF@uD%UKrgeCki,QECN/O\1[(8IO86C95R6lPDmf.U1Ois3n=bHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg6ZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!Ys2rrCS3HiEK,rr=c]86qDY!3+b+rrA?jTC/I.bf'KJ`W#qUVu9h\s4+IdHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg8ZjqH^X54r3-%</pl@l]3ogP>l`9.#7Kna/'ndZ]?!!0jjBnq@32CJP*zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!Ys2rrCS3HiEK,rr=c]86qDY!3+b+rrA?jTC/I.bf'KJ`W#qUVu9h\s4=UfHiC)&+2&tLZM<^=[m0OSRifT2rG71BAO#_q*WH*?^YNUZKL[pKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!'8&P?,eNA3Xn"B[\0jmOXP5bN]gk5V,Q<g-NUG0p1r^4[)!5k`5>EAg2[t[o^hS7[O(](>XBC5^!YJ9s)p-7n^ftUYNS`N&9ormtt/jA*\IitFJW-8I<jcB?gqFCAQqfKT\rk\KHp.kMB*QIP2qt$=Q27?`AZa4@!0GgSc!1J*rmLS*F\pMnQhgY%Mo8@'\`o?3jb;]oUlETT'`SmIS$u`P7P)R<EhrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_34]X^!pq.]'2ql<o6gNXnmu.cWO%]I*#N:[9Z1:`fp\Hu3"4^o0rr@tnpg\`RI$?h.rf6choiUk$ip_C6heO;[&$LJX^+_]N4YQTC+,2`.a2p^7hrsNf%onZ`r\"N8NV9XJ;#9q_46$FnA((AWMo#0uIB7g\5/$rUpqZQ)oY9DTIMgsX+!hH$J"s_3HQ7>0\GlQ3XWR3(Ponbql7,TrO4o)frr?\\dJDm1<;Q&,rccn<D4H&.%i8p6R0E>2H>UfcQl_GTHiF$FU&BW;ce[Karn%$743-_/lgp\1^2\M_'=QoT@?+gs!)1-bE=_N!gg@Y-A!arS^Ae2j45UWpr(]/124!cLd:rX6~>endstream
|
20 |
+
endobj
|
21 |
+
6 0 obj
|
22 |
+
<< /Contents 147 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0 /Trans << >>
|
23 |
+
/Type /Page >>
|
24 |
+
endobj
|
25 |
+
7 0 obj
|
26 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 72 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 62.69291 718.1043 159.9429 730.1043 ] /Subtype /Link /Type /Annot >>
|
27 |
+
endobj
|
28 |
+
8 0 obj
|
29 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 72 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 527.0227 718.1043 532.5827 730.1043 ] /Subtype /Link /Type /Annot >>
|
30 |
+
endobj
|
31 |
+
9 0 obj
|
32 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 72 0 R /XYZ 62.69291 708.3543 0 ] /Rect [ 82.69291 700.1043 151.2129 712.1043 ] /Subtype /Link /Type /Annot >>
|
33 |
+
endobj
|
34 |
+
10 0 obj
|
35 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 72 0 R /XYZ 62.69291 708.3543 0 ] /Rect [ 527.0227 700.1043 532.5827 712.1043 ] /Subtype /Link /Type /Annot >>
|
36 |
+
endobj
|
37 |
+
11 0 obj
|
38 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 72 0 R /XYZ 62.69291 602.3543 0 ] /Rect [ 82.69291 682.1043 125.4929 694.1043 ] /Subtype /Link /Type /Annot >>
|
39 |
+
endobj
|
40 |
+
12 0 obj
|
41 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 72 0 R /XYZ 62.69291 602.3543 0 ] /Rect [ 527.0227 682.1043 532.5827 694.1043 ] /Subtype /Link /Type /Annot >>
|
42 |
+
endobj
|
43 |
+
13 0 obj
|
44 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 75 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 62.69291 664.1043 258.3029 676.1043 ] /Subtype /Link /Type /Annot >>
|
45 |
+
endobj
|
46 |
+
14 0 obj
|
47 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 75 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 527.0227 664.1043 532.5827 676.1043 ] /Subtype /Link /Type /Annot >>
|
48 |
+
endobj
|
49 |
+
15 0 obj
|
50 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 75 0 R /XYZ 62.69291 726.3543 0 ] /Rect [ 82.69291 646.1043 244.4429 658.1043 ] /Subtype /Link /Type /Annot >>
|
51 |
+
endobj
|
52 |
+
16 0 obj
|
53 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 75 0 R /XYZ 62.69291 726.3543 0 ] /Rect [ 527.0227 646.1043 532.5827 658.1043 ] /Subtype /Link /Type /Annot >>
|
54 |
+
endobj
|
55 |
+
17 0 obj
|
56 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 75 0 R /XYZ 62.69291 624.3543 0 ] /Rect [ 82.69291 628.1043 197.2029 640.1043 ] /Subtype /Link /Type /Annot >>
|
57 |
+
endobj
|
58 |
+
18 0 obj
|
59 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 75 0 R /XYZ 62.69291 624.3543 0 ] /Rect [ 527.0227 628.1043 532.5827 640.1043 ] /Subtype /Link /Type /Annot >>
|
60 |
+
endobj
|
61 |
+
19 0 obj
|
62 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 62.69291 610.1043 218.8229 622.1043 ] /Subtype /Link /Type /Annot >>
|
63 |
+
endobj
|
64 |
+
20 0 obj
|
65 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 527.0227 610.1043 532.5827 622.1043 ] /Subtype /Link /Type /Annot >>
|
66 |
+
endobj
|
67 |
+
21 0 obj
|
68 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 696.3543 0 ] /Rect [ 82.69291 592.1043 152.7329 604.1043 ] /Subtype /Link /Type /Annot >>
|
69 |
+
endobj
|
70 |
+
22 0 obj
|
71 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 696.3543 0 ] /Rect [ 527.0227 592.1043 532.5827 604.1043 ] /Subtype /Link /Type /Annot >>
|
72 |
+
endobj
|
73 |
+
23 0 obj
|
74 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 538.3543 0 ] /Rect [ 82.69291 574.1043 189.4129 586.1043 ] /Subtype /Link /Type /Annot >>
|
75 |
+
endobj
|
76 |
+
24 0 obj
|
77 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 538.3543 0 ] /Rect [ 527.0227 574.1043 532.5827 586.1043 ] /Subtype /Link /Type /Annot >>
|
78 |
+
endobj
|
79 |
+
25 0 obj
|
80 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 102.6929 556.1043 245.5429 568.1043 ] /Subtype /Link /Type /Annot >>
|
81 |
+
endobj
|
82 |
+
26 0 obj
|
83 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 527.0227 556.1043 532.5827 568.1043 ] /Subtype /Link /Type /Annot >>
|
84 |
+
endobj
|
85 |
+
27 0 obj
|
86 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 477.3543 0 ] /Rect [ 102.6929 538.1043 189.9629 550.1043 ] /Subtype /Link /Type /Annot >>
|
87 |
+
endobj
|
88 |
+
28 0 obj
|
89 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 477.3543 0 ] /Rect [ 527.0227 538.1043 532.5827 550.1043 ] /Subtype /Link /Type /Annot >>
|
90 |
+
endobj
|
91 |
+
29 0 obj
|
92 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 408.3543 0 ] /Rect [ 102.6929 520.1043 207.2029 532.1043 ] /Subtype /Link /Type /Annot >>
|
93 |
+
endobj
|
94 |
+
30 0 obj
|
95 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 408.3543 0 ] /Rect [ 527.0227 520.1043 532.5827 532.1043 ] /Subtype /Link /Type /Annot >>
|
96 |
+
endobj
|
97 |
+
31 0 obj
|
98 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 155.3543 0 ] /Rect [ 102.6929 502.1043 289.9929 514.1043 ] /Subtype /Link /Type /Annot >>
|
99 |
+
endobj
|
100 |
+
32 0 obj
|
101 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 79 0 R /XYZ 62.69291 155.3543 0 ] /Rect [ 527.0227 502.1043 532.5827 514.1043 ] /Subtype /Link /Type /Annot >>
|
102 |
+
endobj
|
103 |
+
33 0 obj
|
104 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 404.3543 0 ] /Rect [ 102.6929 484.1043 285.0129 496.1043 ] /Subtype /Link /Type /Annot >>
|
105 |
+
endobj
|
106 |
+
34 0 obj
|
107 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 404.3543 0 ] /Rect [ 527.0227 484.1043 532.5827 496.1043 ] /Subtype /Link /Type /Annot >>
|
108 |
+
endobj
|
109 |
+
35 0 obj
|
110 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 305.3543 0 ] /Rect [ 102.6929 466.1043 227.7629 478.1043 ] /Subtype /Link /Type /Annot >>
|
111 |
+
endobj
|
112 |
+
36 0 obj
|
113 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 305.3543 0 ] /Rect [ 527.0227 466.1043 532.5827 478.1043 ] /Subtype /Link /Type /Annot >>
|
114 |
+
endobj
|
115 |
+
37 0 obj
|
116 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 248.3543 0 ] /Rect [ 102.6929 448.1043 205.5329 460.1043 ] /Subtype /Link /Type /Annot >>
|
117 |
+
endobj
|
118 |
+
38 0 obj
|
119 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 248.3543 0 ] /Rect [ 527.0227 448.1043 532.5827 460.1043 ] /Subtype /Link /Type /Annot >>
|
120 |
+
endobj
|
121 |
+
39 0 obj
|
122 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 179.3543 0 ] /Rect [ 102.6929 430.1043 209.9729 442.1043 ] /Subtype /Link /Type /Annot >>
|
123 |
+
endobj
|
124 |
+
40 0 obj
|
125 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 80 0 R /XYZ 62.69291 179.3543 0 ] /Rect [ 527.0227 430.1043 532.5827 442.1043 ] /Subtype /Link /Type /Annot >>
|
126 |
+
endobj
|
127 |
+
41 0 obj
|
128 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 83 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 62.69291 412.1043 238.8429 424.1043 ] /Subtype /Link /Type /Annot >>
|
129 |
+
endobj
|
130 |
+
42 0 obj
|
131 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 83 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 527.0227 412.1043 532.5827 424.1043 ] /Subtype /Link /Type /Annot >>
|
132 |
+
endobj
|
133 |
+
43 0 obj
|
134 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 83 0 R /XYZ 62.69291 726.3543 0 ] /Rect [ 82.69291 394.1043 222.2129 406.1043 ] /Subtype /Link /Type /Annot >>
|
135 |
+
endobj
|
136 |
+
44 0 obj
|
137 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 83 0 R /XYZ 62.69291 726.3543 0 ] /Rect [ 527.0227 394.1043 532.5827 406.1043 ] /Subtype /Link /Type /Annot >>
|
138 |
+
endobj
|
139 |
+
45 0 obj
|
140 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 83 0 R /XYZ 62.69291 678.3543 0 ] /Rect [ 102.6929 376.1043 175.5129 388.1043 ] /Subtype /Link /Type /Annot >>
|
141 |
+
endobj
|
142 |
+
46 0 obj
|
143 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 83 0 R /XYZ 62.69291 678.3543 0 ] /Rect [ 527.0227 376.1043 532.5827 388.1043 ] /Subtype /Link /Type /Annot >>
|
144 |
+
endobj
|
145 |
+
47 0 obj
|
146 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 102.6929 358.1043 189.9529 370.1043 ] /Subtype /Link /Type /Annot >>
|
147 |
+
endobj
|
148 |
+
48 0 obj
|
149 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 527.0227 358.1043 532.5827 370.1043 ] /Subtype /Link /Type /Annot >>
|
150 |
+
endobj
|
151 |
+
49 0 obj
|
152 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 690.3543 0 ] /Rect [ 102.6929 340.1043 411.1629 352.1043 ] /Subtype /Link /Type /Annot >>
|
153 |
+
endobj
|
154 |
+
50 0 obj
|
155 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 690.3543 0 ] /Rect [ 527.0227 340.1043 532.5827 352.1043 ] /Subtype /Link /Type /Annot >>
|
156 |
+
endobj
|
157 |
+
51 0 obj
|
158 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 475.3543 0 ] /Rect [ 82.69291 322.1043 246.6629 334.1043 ] /Subtype /Link /Type /Annot >>
|
159 |
+
endobj
|
160 |
+
52 0 obj
|
161 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 475.3543 0 ] /Rect [ 527.0227 322.1043 532.5827 334.1043 ] /Subtype /Link /Type /Annot >>
|
162 |
+
endobj
|
163 |
+
53 0 obj
|
164 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 415.3543 0 ] /Rect [ 102.6929 304.1043 229.4429 316.1043 ] /Subtype /Link /Type /Annot >>
|
165 |
+
endobj
|
166 |
+
54 0 obj
|
167 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 415.3543 0 ] /Rect [ 527.0227 304.1043 532.5827 316.1043 ] /Subtype /Link /Type /Annot >>
|
168 |
+
endobj
|
169 |
+
55 0 obj
|
170 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 92 0 R /XYZ 62.69291 604.3543 0 ] /Rect [ 102.6929 286.1043 247.7929 298.1043 ] /Subtype /Link /Type /Annot >>
|
171 |
+
endobj
|
172 |
+
56 0 obj
|
173 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 92 0 R /XYZ 62.69291 604.3543 0 ] /Rect [ 521.4627 286.1043 532.5827 298.1043 ] /Subtype /Link /Type /Annot >>
|
174 |
+
endobj
|
175 |
+
57 0 obj
|
176 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 92 0 R /XYZ 62.69291 517.3543 0 ] /Rect [ 102.6929 268.1043 207.7329 280.1043 ] /Subtype /Link /Type /Annot >>
|
177 |
+
endobj
|
178 |
+
58 0 obj
|
179 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 92 0 R /XYZ 62.69291 517.3543 0 ] /Rect [ 521.4627 268.1043 532.5827 280.1043 ] /Subtype /Link /Type /Annot >>
|
180 |
+
endobj
|
181 |
+
59 0 obj
|
182 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 82.69291 250.1043 243.3229 262.1043 ] /Subtype /Link /Type /Annot >>
|
183 |
+
endobj
|
184 |
+
60 0 obj
|
185 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 521.4627 250.1043 532.5827 262.1043 ] /Subtype /Link /Type /Annot >>
|
186 |
+
endobj
|
187 |
+
61 0 obj
|
188 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 641.3543 0 ] /Rect [ 82.69291 232.1043 253.8929 244.1043 ] /Subtype /Link /Type /Annot >>
|
189 |
+
endobj
|
190 |
+
62 0 obj
|
191 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 641.3543 0 ] /Rect [ 521.4627 232.1043 532.5827 244.1043 ] /Subtype /Link /Type /Annot >>
|
192 |
+
endobj
|
193 |
+
63 0 obj
|
194 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 379.6043 0 ] /Rect [ 82.69291 214.1043 256.6729 226.1043 ] /Subtype /Link /Type /Annot >>
|
195 |
+
endobj
|
196 |
+
64 0 obj
|
197 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 379.6043 0 ] /Rect [ 521.4627 214.1043 532.5827 226.1043 ] /Subtype /Link /Type /Annot >>
|
198 |
+
endobj
|
199 |
+
65 0 obj
|
200 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 99 0 R /XYZ 62.69291 723.3543 0 ] /Rect [ 82.69291 196.1043 185.5329 208.1043 ] /Subtype /Link /Type /Annot >>
|
201 |
+
endobj
|
202 |
+
66 0 obj
|
203 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 99 0 R /XYZ 62.69291 723.3543 0 ] /Rect [ 521.4627 196.1043 532.5827 208.1043 ] /Subtype /Link /Type /Annot >>
|
204 |
+
endobj
|
205 |
+
67 0 obj
|
206 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 107 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 62.69291 178.1043 258.8729 190.1043 ] /Subtype /Link /Type /Annot >>
|
207 |
+
endobj
|
208 |
+
68 0 obj
|
209 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 107 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 521.4627 178.1043 532.5827 190.1043 ] /Subtype /Link /Type /Annot >>
|
210 |
+
endobj
|
211 |
+
69 0 obj
|
212 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 110 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 62.69291 160.1043 176.6129 172.1043 ] /Subtype /Link /Type /Annot >>
|
213 |
+
endobj
|
214 |
+
70 0 obj
|
215 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 110 0 R /XYZ 62.69291 759.3543 0 ] /Rect [ 521.4627 160.1043 532.5827 172.1043 ] /Subtype /Link /Type /Annot >>
|
216 |
+
endobj
|
217 |
+
71 0 obj
|
218 |
+
<< /Annots [ 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R 15 0 R 16 0 R
|
219 |
+
17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R
|
220 |
+
27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R
|
221 |
+
37 0 R 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R
|
222 |
+
47 0 R 48 0 R 49 0 R 50 0 R 51 0 R 52 0 R 53 0 R 54 0 R 55 0 R 56 0 R
|
223 |
+
57 0 R 58 0 R 59 0 R 60 0 R 61 0 R 62 0 R 63 0 R 64 0 R 65 0 R 66 0 R
|
224 |
+
67 0 R 68 0 R 69 0 R 70 0 R ] /Contents 148 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0
|
225 |
+
/Trans << >> /Type /Page >>
|
226 |
+
endobj
|
227 |
+
72 0 obj
|
228 |
+
<< /Contents 149 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0 /Trans << >>
|
229 |
+
/Type /Page >>
|
230 |
+
endobj
|
231 |
+
73 0 obj
|
232 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 541.3543 0 ] /Rect [ 430.6229 679.1043 515.1029 691.1043 ] /Subtype /Link /Type /Annot >>
|
233 |
+
endobj
|
234 |
+
74 0 obj
|
235 |
+
<< /BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font >>
|
236 |
+
endobj
|
237 |
+
75 0 obj
|
238 |
+
<< /Annots [ 73 0 R ] /Contents 150 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0
|
239 |
+
/Trans << >> /Type /Page >>
|
240 |
+
endobj
|
241 |
+
76 0 obj
|
242 |
+
<< /BaseFont /Symbol /Encoding /SymbolEncoding /Name /F5 /Subtype /Type1 /Type /Font >>
|
243 |
+
endobj
|
244 |
+
77 0 obj
|
245 |
+
<< /BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F6 /Subtype /Type1 /Type /Font >>
|
246 |
+
endobj
|
247 |
+
78 0 obj
|
248 |
+
<< /Contents 151 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0 /Trans << >>
|
249 |
+
/Type /Page >>
|
250 |
+
endobj
|
251 |
+
79 0 obj
|
252 |
+
<< /Contents 152 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0 /Trans << >>
|
253 |
+
/Type /Page >>
|
254 |
+
endobj
|
255 |
+
80 0 obj
|
256 |
+
<< /Contents 153 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0 /Trans << >>
|
257 |
+
/Type /Page >>
|
258 |
+
endobj
|
259 |
+
81 0 obj
|
260 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 541.3543 0 ] /Rect [ 91.04291 646.1043 178.3029 658.1043 ] /Subtype /Link /Type /Annot >>
|
261 |
+
endobj
|
262 |
+
82 0 obj
|
263 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 863 /Length 53797 /Subtype /Image
|
264 |
+
/Type /XObject /Width 760 >>
|
265 |
+
stream
|
266 |
+
Gb"-Vh2`N<J`loOAmYa(DnC(9E.Ilhp3&%m^@K5E\am]`R#<gU5RtRq.Y);bB&G#56!2>&TH\mn(a7BpW(@7<6nB5_OXQ6'>D-Pl*EjDn-+5Bt@lg>8dC*^][+mOE#n,j)oQacCMT+0o]@j84p&0D3XCea&WRp=RkBVrm[g)m5z!!!"Pmo'2dJ/&fBc2mtGzzzzz/DB!O]fO28fP:Qh!74*Y!<<,#MOXbK!*0gp#64b*.WQ"!!*E7^)uouCWYUk@^:O0pc8T'ZoQ\;YO'hnZ[;Z''bIt*j5K\tSmB:^UM5_PEo'F0LcdatWJ,Uk#M!I"gI/Cl'rU)UNCAd"%n6PG)(LOcMoP=/.0uV:cHMp@+Hp(a$f*^-DH!O-.<4o,L2`Go'msR(+7UJ*_hYs#"h8[67'3=)^m^L5SeXc__Dn'0T!+:9aCX7;(adm@?qr=0`60HY9ci3QKiK4H[04$GQ3KLrO])STS'2bQ3Gk@9ua2a5[G<Yru\SL*6rhXr<lc,FGT?@-&gmud[Fe-gQma];^hgJA7gV:DH#N%Xfr>Xo<jagn)"HpA[<4r4#djs9VO1J\)^\-R*937a3l0c>Rp:dj4=)R2jkM@9(-PKRT\%^\Sn"+m\]%>[H'=K@j!170*!4-1lr)-Sl`LVYU>H+.^m9<?c?ba>HL[.aNh!'%sQlh9#+-C))\G:0Ss)3,\q"2,Of>T,OgAUG8LY=o*E]SV)qtbX7qQi8UQ]#d3]?q]pABrkRp;LfC(KF$.ZP^nH"3(/;qdSO<e$&-C)id=cSpC,tj6!u"'`7mDcRSSLBoAMQK+@DU!._tU,33!Up<Co*msTW:S?o\Kms=r3_C'atiiCD-gs1+dGaLYWluaC4qpW.SU\KnVf?`hZ>l<X<n)iJTXh4?&hX+q_+5\$/H)L8iF4\.6dg]i\rGp2TCa46qI'si)S<na(p4et$nO(""Bih";9QCUC!;!I6c?\RFh9K*X(X&H+4*8d$lZU#@e,"uR2"LFuX`*:5er8:'N^t_Y3;:IoZ9@CB+69SRj0],9`dCtRghJsH)d^I7?Fp-2@$'kiroi40B?ji`_'f4eVT:d/S]Y=/UQ;$qnW$eJYHP]i]s$I4nga9D8Bq59?p5q#QD\*hjN^hf?[hD0VdB4=%QS1jX#Gqucb.pOrQgVdOT!S>6QtFYUL!3)CX6gFY*6fac6jPaatC,8?bZ2cSHi5?#6N$-6K,N;NAS@nrT5ot^nBoJbeJ&nU&J$ZQ8_WQMO_$9aD#hQ@7#1pX?ZRe\!2q8GJEt%#BrWgAb7HsgOYjs!5NtU#VAicoYK(u?bO!MInK_7>]Pj>^@3(\\t*c3X2!lmq!?b,1Uss(^]!<4^@%o4Y</<2QiD$f]>)(_b'a*J>q[erIe^"#*<*U_*V77cT]j)mnn$e3f:IHeJXZ1h3TmG5er.@.X=mohKWF?<JXcfB^takX/O+(d*duksH1u#3o?8TFa:>'`G;`E(\9IQ,e%^@Y)m6Ms^K(6OcK!1pq.a0Lq,He-p$o^pHeh1F^:a%rmPO2un"J2'#"9'0ZudC-S@eKr*2kYn^XWj8DSO_s&,u@RE1<5E)uGl#5gBB1?r"^rQ?0N*VO#8n]?_HDkD4Ah;h+Z*LQB1Go%Zl"h[PUDR;%&/bY'.;HoYn4ZMik\\_XI`*nqXErW,$+H_&0g:DZ4*2fe&-hE[WY?d:D:fm2uHST!?N^QWI-j(J>FfV_sXEXi'LF#(ILB'5T!c"F`A[pFE#Dt!!NbO7Xld\J4\W>><n_7._G/DRf59^[*(ptOKA+j2sQJ,73kr_%J0jZ>goc*R<+2p^%_O7jXNC-;ICLN`sZIJhGSVc(m?REL^N48#Ms2)\dR]'k(/hg!t+1jUKqC0]+C2uH?UL#+r63<0''a5h]J^f[-foik!_q;lBfSJrW"]C51k%]"n67>,nt9+E=ur5j`OqWYD#MK]GP*o2,&4R,+JI.58XHKhI+4e0PG(TooJICSB/NIo_m(_]bQIefF7WH#ZdfXUPC`_4pT.X[oGQTkWFe?9++IRiZ[DEd`V\rD-t.Kmm_c2doQ5/PB$H]LA#p%2Cj/]B[:\IU?nn\ZSib5UJI2tV#;bC=p=g7*TiQM90iVfMJ!^=eVZA_?tNS+9X:7hk!g.)rf%=3&Ni9sM<Mmcq,gT)8$LMspA2q]L@o8>`$lMii54X'W,\=2E]&j;\."k$uQ(1Z^.R[/g7-kTT*h!.\'<c2dnFX,<DL!!$%73<oNaX=A6#!!$,$j;\."Yc>c)zzzzzz!.a+u;ZHfJ'bto;!WW3#zzzzzzzzzzzzzzzzzzz!!!!=7(6bsUfalbr_4WnE"98iVj3=B3Q4X^6d5l:!$"p\2%^^LkRb!`Vc,*XXI/6)d#>uH<3Fa7md63ZS9d52#dJ4;O@<t%';h.ZBpHe#!!'*rd5f60igf&9$DS@U0i`IdQu`6-!2ei=*&BC<Cn+NYWnp@6X+aO.LdVke>JAL%QEu$-N#>FQCE<GMG.j9JU5!Q\M'gZi\ijMr:-G^,M<;JF]Br'JQaH=33@A/cB+o#G7QasoWMMQ`rE1.tr-oVc/shHb\k!]W>&P/8\U<,%;(P^`G1@cuV7:h-;3>GZ()kF3o'VH_$e;:Y8B(4qA!U\h_uKcsp85nk5+-K'NGM:$J7L^)[e(9]XST/,:$\I787aP*SLYoS6>NN6aJl'GGF$o[XkC/[VsknNJ@Gq$@rdUP2jP2&j&]3n)d!8"QLNcg;Djka7ctaSKf;eOTmKNj(\?N@:%)q>%KHLLfuSUm6\ZXH,XbT,@]<Tb=))TM?&\)K<,6]2G!2n'OlL`"l!q98HEU?!@4%E^%Q`Fc@"pGsa^!M9B^m:%R4>[^VqW]3$,i"sA5(9gs1)cD!lL9$<CkZjS@`na`$/6i417:"l])QtUR54u\!hDKO%sQaX8r=*%&V*+WOe^#`jE+OXPh'P+b@rEFBb#X.M4Q7-Ij8L0L`>VZ!JR+-g1+K0&+:E?s!!S`X6Qq9[</E>3mijT9#S.S-&c,EgWTY.[Y:W?;!qr)H:Ko*%s3<ZfV2\R_qL7*2g9MDPpJfBAJNBMD:JBq?"c&3QGjqH]_iP'tcQ+3D[p\_0>kRW-4gG'*A5bj(Plkj*7[Pd;3`OZ/)Jq.rE=@B&!tYH+3fFhE9XC(McAuVc->Y':E=3jUTLS3]6Z<d<t7V3QLS"MochGXFepL]l*8\:7lV*FsDEECeO`LL&36l-Z3F_hg`Z&&j6t>bs^@02R%[EjK^DDsOUS],=qMjh#1/n'?Nj7W+7<,u0^dK5@1[9reQ>cUEJeECD1ZTO\R?IM3C_:[t!!('rX>sohhcHD.q]fn#R$B;6D)REcYM>0Xo"@`%dG5c"FR#]-8k^%W7B'PFlejg#cA>[1?!K2Eh,YR68o7`!/`H5Aa_Pa^-0N@W/u@CYc""jhg:^jaT2Gjn!(UX7*-0r+j.b6.Q=ICN\%gZtpIBSYLRp.!!5LRPauOWJ[<n=hB[gt&MWG?FkQq4hJFOD?F1V$\i$N^)+#iJ_ScJfkzzzzz!!!"Wn-/="#lAE?!%_=+2%QoN@@qB:J40jXjoH5Fm'@-$Y\7Is4M]s0IC9.V(+nmA#?[M#cSbd=U4lnE!/hNaf`hFY['4<e?ua%IgAh53(3[q)/5Fi1)ZX9n_QJ07`<lEX!rsn+_<Qq_[r20DpV22X&cX$R3T'Z=3!s)dD#f)TS$f,<o]X]QX&n2)l`JpNDh"iFS'=1qi=FPC>n_,s7GS*j9A!kr!+=2dXXW+)4rkiAcM$u*/9>Q3gkZ@m:0_PY=s.3f@@qB:J45s,RV4Mr>?b>+P[^nb8u99%rU7Mlat*<Aj`4Kt0_NXn(Jh-)]s0Y7<AfsF2_L]T>W6b^1,ht!^X=%8^r[891ooHP<poU:FjnTRk5+5.o9XAXR-1L.!5^qS!!%p8;`/RZd\WM*SbM#ks2'Hth[U4t'S!47C1;doB6N>rB=Dl0W5U/oT%P/&2^V<_e#_8)cE%IL/8T29F@$c:f`hFY[$dqN?iKV_n%JIeLc#/0ci5!/3N#WC&q=^S)Ie;tB/Vg6m+s_6^3TPJcM<[ik)#!J))3b9h-=;k'<dCZfupl'&'+s@'C(SMNDmCHes-JA:?g>rp%)WA]<+^RofkAfNp%FO4Rju/g>+dL2WJVD]sQ7Od:Tk9Hi$_/9Ql2]'=+jg2?:Oebu@F(Rra&KMdK.@Zgg%gD0,<uq/$jO=r0u+34%_$Rg4q2V`%:UQJ#`VEIMsb]A;%V[!0f6DOe8cm[m?W\#O7Lcsc"OQ'47YS@gVA2^V<_rN&Dlf)+0?eoQhGm?tjC_EQ]S!/ia62=\g>YLI<p$2mn6JuNC[`ZZ:Ul.a;%`f_9Rf?@02I+[78ZdIYje@p<.:=e8_H(mMhZn@k.ET)*!&%gSoh!QA)AiJ$#L6dhX_9S5lSn1r3>,*_ai>;muC]aYgg.^&8cHa`$YJ:(N,-oIm;lBWjTDr&L*2-=]M$^&Ng%b92'5i$@DBlV31"S?ZoPA?FXe3=J:\G7""og44f]\f/-okr7G&SF^\]O5Ka%P&t)ZX9nAu[1!5(*.F)fJuqI/3^a,6*J._us#bCq?.C2JT2]m`q6.NUsW7rn]l7&GiNiHX!!9]n)?UDf"=.$S,arT5=RY7@U]^q!c037F!?I9!qj)Tnr^[rtHVH]J[m&p<Pa69^c.C0[4M47RN3jBlBP!2hKjb]<*$3G5n(YK84MonF1&ii8NMH453i>>hQh7#Ph&bGe[DS06d<#GPCp4$Tk)i]+8dd3Ibegi-q`RKmgB1!#BG&Rc<qb5JMF2hHOp3ou\egr'D"qZ+[h&r[?WlAPQ1b*&5j;9lp97^6r`FFlhu0qH7smP.]2sgrSl]CpSKco',f\k6FNTmP])1D?`>m2SlcVFr*(i9qHV#]7\,Y=AI-J?.`d/!+=1a<aRt:peV*_Q6Q<<QL66[<&mH<N(``Uno\C$AFT<_#<+9,5-_!A3-"fmp-<DR43c'i1FLb"5OR/#]K9HP37Z2%j!W^`h4Y!2/n[st"F_`fFRF1%QkQp4cSbd=U4lnEKZ"m&]Z+gG:R&*02?:OeKjF;'jL4oUS'=SN>Cj#Y_EQ]S!/hV9bnH-2V%`F1%K&K]'.3(P%03VG@FmWWie2`g!<<lem$\/]S?U<t!5P=_?1S&S'DC)`!*HV4CE?l'_EQ]S!/hV9bl]LlfOl-'@*uioH%<j?qeQ?7/6^[`&$S$%T5=RY716`i!>['LZOHo=BOTLT^uC#q[K-@.zzzzzzzzzzzzzz!!'h)k-T0VLm4o$@@%,t!+9tn2%^^<U`7T13N#f5X%BF.GOu#51M[IQ`/H!`Q1bn0b%[X\q134^7H+@K!)ji-F3I)6*&gaF`dB'$@<)hX!&ss3kEq[W5_^-"3Sf#,MFC7WDiM$-V5DHbm:'lS]N@PS`QpR7ZE=,QW@%;.U:I.rb)o96r0\L9ghZ4ql7&KXma8\)45FL/CW5*$AB%RD>)*dp!!!(tcT-/O:)T$=X@,297Lp^i&rg2?>#@52`2mK)R4:#u'?=M+ES=tsIj.bXW.,UO=>J[BHVl7Cb2fpeWOTQ"1EgD'X`X9JNN<Ig7Qd*aUts![Z\.QD!!&U$,Q"U%N!^C(rDn*^D(ot@G.XK<A'Bmh1pcgYRAO]nm5BfQgD/i&*S[35X/HC@/%!i6LAJ%+`OK6#XkaTCorKXC**.07gBmo\/=0L[:;*%"@`Io%#9BEM/+gj931X4rSV[!ch<gmSauS:H2-afD;6c1.K)kt&V(li%Q.%A(h'SL_^0!!(FaMEX3@A/$31[?:2TJ@g:+Q"G?C#;:$`.mSOI2PZW]K=1WF@``emO:D!!)L_RrdpgIohf&>6]+C][Rh4R"=cf[bL0aM'Rt![':O?dqb$7`Z>ZO*5@Gm2gmMepD\)<Au.K;D<_*$i!D,\H]I"R'XL\/^\c0u3DMa)%2Fn-<[tlQ3+T:!ml%25R(?LCs(0-3WFWjbM!X7D5=UL='36kel0R*2N&Qk2NQ'rS^8p4X!!!!pYSljZD\c84hO*hTTpQ=ukD8r`ErJd7dG_SiP]Pn5dVa)_B'Wa7SklqA9dMR6U(qLjO_#u<j5)BK<iN4E;pH`g429j)mcd&tiAgl<zzzzzzzz!+8+,!1k$9T5=RY716`i!>['LZOHo=BOTLT^uC#q[K-@D/aSo2=IcVA2?:OeKjF9MM\Gg;"oqc4Y\P:fEPaoo!!%omG0L+?:=s1u!+=3kY'GQ:$2\N@!%_=+2%QoN@@qB:J42P%I<"T(Xl'0XpTH(+5K#eL>9<l9+mcNE!3g.CeeF/d4h>t4l<A2?Fo1n"O-O=`q1h34iS(\TiiSuSRt,bjqeQ?7/D@0_`EUK_6U]GWhVOi8:9BEnOTEIY9<Bl$>FTD@G'7LMf^S6'XCiK-Sde^lfOl-'@*rSd-5ql`f%/Ec1!8U`Qsf3IaWPWt`c)LBD-XZVeXEIBj(:N?EunT>*6_G=?B'qEmHk:Z:TPF[WjNM<0C6'DIWrS[)jdk.]W!+fF8b1Q$Wh50_\O`gZOHo=BJWX%QS)Rtg"CY#N*<>1-CB*kj)WG8b`Hnid5gC+cIoV!C"IEDOXIn*=I@:0bY\E,e2BU*Ohs<:!!%p8;`4*g?iKW0pYHjUEuL$mQsf3INQX>"^X[t-m)DLJ2E\KiAps9FD#`.)D.QL\XKSb0XfZN5\THk_pV@(r(J_(O,!D;4B.i%S9ZfB]kATfn^@nB:3fU)WmPZ]-h/"IJ*pidli#8/.)gtIl[r/Q`R<I>Em>KXRkNQ)QW3FT+!5P>R<))_KF+3Y;?VEVhI<(@h!]P-=)d,$eqo\0rPF#J<h:!`H?Y\dYZ$ZB=R>oH!.fJ/:E5LBiHUXffh=gR<;k"`gV"PeG1dt/#EU)o0mInW&Z+GEVLQbFk\[4#,\?.ui8<_ruS'O@3O)a1=iB-.?0O^Sj!.[M-WLA(nPuh_.g4Xo*0u;?q;r`rKOZ,C/VWj(-hJJcIZ#Os!EVYigEcrD4NK[S_;(rNh:N)c[I^$G*H>V]ZmGQmJXK>4KDe5Hm)DSClI9AM](oQ1bXkiB.D@=aT#Q).qH;8o96<M)ggAh532H)K<Za99"l`ZAm3MfVF9JH.`p2/-<A2B4d6DlI%,gs8G,%@WlS-[bLQPo#\q2P&P?`Ful^K(0NcAgTG#J4@05%rc^I)^#;fbi,T19[4SHR%17ZZ^XC#%;Mg52-&;M`+KknaPMT2r8f>o&\'4+\1T8nWoPMlC#n[F&'>!0'u:ZbZ!7@P(Ln<fc0hOS3FQEoBSGcjG##joLsNJCNR>ALj+X*e/c3.IQi"/eS]/8LG#Z^$N"WA!%cj*28t=mIOK53WDonJC(3W0L\RbQ3T@/DjtoNPOo8>H]&-,hkj13JlXjLfaFf3cfXnb:``tSE\8=hJM](fhH>quiaYOaAFrIIf&)+.V9;gU8TME(>I*gO&^2i>XG,&uOnVP)E`pJ33*F,Ga??b*!R7fKm]5ebZ<c6AC:NO;$6A9ir!<<mPesbUicTf0gn(q8e^%KMuYP^^!s098N/cI0TRUo5mN^MZ#R:@a$%XDpYoOZi2db`*:=EiMG=r0+,F#1:Jj*%JG@k2bDA&B;_\Nt_@9V2t7gc3f(_oekE,o_9qG]r(pjk2@Ib)a9ASGUGF/F9\P!3g,AX"PMXHmjS@9+h1Y96ZY>T:E67U[Pqf[_AsC$hqAUGuOP8qSq[NbIsL?#<+9,3MFm>g1L'$D4-OkqP/4P?TNOS_uHi&A*q46gm1/,\(/G+1^g_#c_'(`!fD9_oS)]3h[,hFma-:I>WfX/mSCR2H%t2_>dU`]2?:OeKjF9i*tS"*Ro*[YYp.%KgAh53(3[rDD!^"<CW`4omY=tS@@qB:J40jXjuG>;bBpGD8)/?CeIhN."oqc4Y\P:fEPaoo!!%omG0L+?:=s1u!+=3kY'GQ:$2\N@!%_=+2%QoN@@qB:J40jXjoH5Fm'@-$Y\7Is4M]s0IC9.V(+nmA#?[M#cSbd=U4lnE!/hNaf`hFY['4<e?ua%IgAh3Rzzzzzzzzzzzzzzzz!1;0as+;+@?G(OQil,],Y=7Rn!!%P'+m/h*J5o%`!<<,#MOXbK!*0gp#64b*.WQ"!!*E7^)uouCWlR1#!+8fhErZ3UWZpU+!.\'<c2dnFX,<DL!!$%73<oNaX=A6#!!$,$j;\."Yc>c)!!$D,O`LL&^oAUA!!%OL7Eto6!3;!I!rr=%'fcL!!3@Yj%KHK2<D/["hYFq\G5dBN1;1UY!rsGX9:'^7IkKp%CPcA,QN7'tMQ=pdF*@O4r/-uq9J<Zo!!!;D<H8SQ,CYbr!!$H<9$ZC<`%Q-@!$EgoaZ7"opdNI/!/0J!PFHX-bl>9os5C0Erqbi.r;!8VJ*Qt*:SoSVS\P-HI:jt*C&Re@)#13-bESXts*j]lqOcL?hLD&-'u[!kV>^QW#6;"#T%'8TCB+&-l[M*US.eR(PKV>NDgsY+XM4IrIm<GU.6i(W49+OF\P<iTDBXe*!rrVS':Ep=Ct:TD915aeF34O+0H?BH>^?(Is3&+u'[m1$h>6Si0kHd9foe_J!<@f=aic\Ck(J#n5$e3;iA*C-rK@=oPs*Y+2.\:7YR,">>kddGs4No0%QOao&>CO'k=hK]k4KYGHSo@PL7;43%[lI3"5Qu+kIPZ8:ZNJq^f#KqEmBn0iCJ%8P[t\L=qS#PRL]Tmf?BKF6l_YFa<B^H!(-=2jdc5*q+ou3S11e%GR]mbb-!Ae$Jt(@dJs"5l&3.M^&LXK!<B3c-S4H)p\!eITC*X>K&^pLcRO]q*?\:;fC5p.j;\08dNdopoJOm1g<KZk=2>J%e,84M+^]\:f1_TI_L5kR*!!beHfB+lP^-Zp-Y9.ppEHo)s,dJ,R0<sYdr=V\3QX8]JCX1#kF=!-a2#CI;t^Il4[C8+/YK_u+'iqm\uWn4!.`EZ_)^\:J,/h;L4LRF!iu8Dk5YM!EqKa`3RbIB*7`lr:X4lg!rrVMeKrC!L[<glr;UnhH1+:Z"T,r&4QVbfDlBR`%`EuKT@>Q6htf1=J0"!Q(NcnW++Cs,!,rKF=O(nmOhWJhUdK`dM.QNRKas.HT(7NMYs["7`#[e/n_aB"=0MRZG`d%I!)$hTEm@p]Dfp/1@,ONF"([[bRUq)GLl_07m"]n=3W2tYJ?US/c8fi<rT3j)GLU'ZcJSV40]X59M<*-5E8X6)NipFfh7rqB:@V,WO);e<_s_dL!"S"FaZ6rQC<Agq#C$\?NbZ_7B?oh"j@;8j8Dg\$YT><8%KIVFbEd2Zdr0@s/KXBZfDdu&@.=>3Q+a/h8/6Lrq2qi9n,R2!XT/>oA(bnJ_('6`eN]JdpOW'eh>,g?r:oa\C`qTuf7BRD3FrlNNJY-U:YAl/j\(YphVC<\4:f3a!<>*8A]m*SkP8/kVL?j`!rrVM<H8SQ,CYbr!!$H<9$ZC<`%Q-@!$EgoaZ7"opdNI/!/0J!ZK7V1Tl9ti[G[D(AH2^`ip*i2S9Ot9^"Qi_>,IY=AH2^`@d.o.kcGN2%e'N"+;Ba8K;e5=!5Ke@ErZ3UWZpU+!.\'<c2dnFX,<DL!!$%73<oNaX=A6#!!$,$j;\."Yc>c)!!$D,O`LL&^oAUA!!%OL7Eto6!3;!I!rr=%'fcL!!3@Yj%KHK2<TG,"!3iKE3<0%e<KV>&!5PTYk5YL4<CP16!!''WS-&`k<Y[V"!!')MEXi'L=B4E%!!'7'a>j5#?r`>1!!'g7,3Jq+J5o%`!<<,#MOXbK!*0gp#64b*.WQ"!!*E5oQ#iI-er95mf"69(,AkO%[]8.DbgMGQksDfFGS@Fl0m?4GT/rfn,d=r?$&7,592-)E[iE*2N*^8#d+617lZJ$G>3"d$=5B;pP*)20lm&-r;buX`=$+4#!ru_999jSl3gEqsPq[;(M5SeTP)';5aZ3tgZE-I<STc?FXk@H@\`B9o:-#!p8sJFBSQ7B./gjun"TDe@)@ME_j;\08P@1qANo\chOa*k#s5<"/GeTEK<*V+dl*>2hnL@nH=Ni*[TS_b8g.T)K@qM5,%D/4\\]%7oA`Z"GS?pg"lD[[e7eco@cc)HOa9^cI[a%9Q7[;&Q5^IRd$*@GjWABrVjm0@eAX]HSjWuc/)G_+?3]Wa7+`51l_u4qn-oQ[d)6H4[PL,dAOf`eYCM6h<FMck,a[2c'[o_FUPF>Vu?#800rM"@n>tsR/VQ7-X=ue)skC"aWDKU;c=rske$NP^&=eV?1X4:n-X#^ooTu<GQ'AYV1LsNSZ8@lh7@SA&5E5eT'KJIDiEE`1:[iDks-Q8=E2FO)#]%pPU$3aAh*18pjA2:=>>>Np$kpE0M3g\19B!8/,k3#/CO^h:W9NidZ7)]XR))LDl2+,>:IjntRS^$=qHMn8;qmuH"/8h:?fpl/4/GPoFcEURW\+QcRd]62@o.uT@@]>`7,@/R&CW3ZM.8utbKlVfH*<<m&X\d=-mh=-c`G`.42*88&m</`@aG?AH-PmX*H9#WZ9KC.#:qYG^W%qM@Rehr1Xk.^5L0fFFE_\HhhWraUIR3q`O[Q'KY1B)5Y2dU2Fk_q8AC^B3@&quF[HAfX89(u,DGp"kU-kV5MmV6<k&d'bC8G/bjt,sg_+gInWrbdIDU2ZkG>?7jis<**.(Na^XT/>kCP?ehRlftW]GD7T*AfON4XV7dcT,ON<H"gU4Hj_O9ii,nRS)fi;q*<S<R/u$-&k/TEn]VS?U'W\'q/EH&oZobS'g%I:+IFP7@&Lpj#8oR1t&A!h<$9+D`lL>JV-[0nUfM;k-mYLP:K&H!<=+A<QmISQnWm4Z0OEZdjEP2j7o.X?L(8&cQ1hFb4,GjGH'71h<Uh?=siC%Ag$8YgTm)62RSbV=a-sUR"\a,fp^ocUE+$onT'XOfr1G$2#L(tFVj6OF6XJ"_`9*1Y8.f>J%;[V.<k\hXjL'cLdLksk9*.5!<Cd(Eoifd24mJ+cB<tq:M!#ODfr:S1O-Z74Qd1iR6'M!U2b)S:Vt87)JW__r"]f%e9L_W#D6'\#KjDOku>Od21J<B3DM_O7&!^CRkGKH)4bhJ!3rSBQu^71LfFkBc^C#=,134]5VhIJZaSnR15a"+H*J&HlFT:DW#<&"YsL1q^ZIBEZ!IaBR<6T/RAQM"T3j.7c0%`YcN+$ifi$q%WI@(pJ2tZr)tN`EC'XP4S3Ddl%2=7%:9X?3^#-I]pdP.hQEt\4U/iV9F5=PjVd7SMr[;T.,?2Lk%nk_sQ&*!`cA\ZYc)KE<6umA;l&)AGhHa.+@S6Yt'[7YT1RrO)r7j3$W6U=lI]I#7hpPsYB.G"C>ue'QbUO(oXT8E@85#4hYS[K&ErZ2B<ob5/+m/h*<WkDf!!')MEXi'L=B4E%!!'7'a>j5#?r`>1!!'g7,3Jq+J5o%`!<<,#MOXbK!*7V_jrC:).g-r6@)f9ATt8QGg?nb;LdRK-s4J(amko_ni]QE+]]X8=T+;MdGJ3(D`nSJb@97ED8UHG0SHAlc[qn(&>L3,+PD[@3.hUCZD2RJE'C5[0cT->q24"q2V=noN3I@;h2O-lN`.ka:\TB<lYKo:MOE1C%LU15Ga(]dZnkN7JIb!%e<H;6Org1s49Y&h(@`D=ARf!"S?"6@*Hm,Va-YZaErLR)Y>/arO4rmllQEj`@-DIC3n8d2k<,-a0WHp+m(";Uid<N7TEkInUc^3GM;Auf^=VSsqI*?6l\`A'KmecjcUS9;2?-K<"RT"FZ;oKf*(5()=jST6mR\C4cTCqTYX#[ZRbD[gCO^Jrgcdq`W`JeIS;f6`U02MV#5C9(kcJ*[Q\XCTcO#2nEMr+06l[ahKb3+b1H`gZ!Vo2'nQ)F$EH`^,gkQeSdM/9R5Gc&)CPiJtQ(B@hH/QL*d@ud^8LY:4BRNS1NPY1bIWGB;be$N]c86D/o&7g=T^#b-/S7@nLZ$8$pc/l7!Uop`RRbq>&W,Yb(9Np$-#uU*%3Cj'3l?B3Rb+64`UQj/%s#-(oI(iFWpD;Wn"Y)3JCFOHca]_cYV&P$Ij2h+=:8d/BZYZll_O6E$je:h2DSpf<Hd#*Y;fSS!F.?8SXp^L.Zd:!T;Bkm1=e9>JNm(PGU_WKbLa1g*h/A-D5+g/5;K:/bNA^,BaiC'P1RXI52+Fn>"EobBo/<WtAp;S(("7KK,#*p==rs7+!!#g)V91f)[AVbIqH?Kj$IQaZA?tG\Nmhh]j'HU@liD+(<;!QSBM`GeCqJHh]'V**::"9/PXU[i8,TmUIaCX^8ZUT\G5V%R22r[`F?0*[\*BfF:04iiQn^rC[+j!i:T2SCEfSVunO7mnY,=5Y_4]gG`lJ@a^&BS2ec.4bNL5?.]+$XrBkC7gVTCjgU+0!;XLFhC/Uifj.p&h%)D/LAZ+[h.1,FC2QecE0riShm^8\8>9&4YX^D-`VInQ&JHL3_u*QG6oPCCu>bW4["Y>HT:%G`&G3F4!\Zb_G`+ASu%oNDd"0t3>m/t4TN'"CqdTO`K2F)5-ilR&;'`ohT3I'QY81J*gGEdBNI/R*de"`hmr"-b=)*uKq'QGOTP*6]Vpg]j`h9i[c&EfQK'<*4./"flPhRAj)WIqiA9;ua#j)M@Z;aZ0?Or@M$pOl,B9nMq=I50"$P\in(S>EUVj)npW(N]S-7Sg.Gg7cYPmB%AO_?3<]&[HG'/4f)nBHVQZLT&]"(`:Q(1+)DRJl#>!L6,SK^_nrAGS7o@b#cqZKE.kO+)X`4Sg2l$ZWHc/.2[d#jV^db:Xn?Y.M)hKjb;kU=[Ui*9UK/i*dr'YAVU>(jF0^d&m5\Lul-!+UMq$Ld;_LeOcG5/7!'INP/*D`RYEk%A%2a(8R8!8,F2Y[*G<AI@8nYGt9IcHd)KFHTiHKRHi?.JY'n):sE6duOMd^0)KtKJK<p(G_50"])XN0MBN8XK$;)u[84>E&Q>eX;Z*a7X6;n7<3_1*9Wn[64'3DR2^jrZ>;8\(GWPSH-:6tL>_G#]muO\mY[iGCNE7@O$SD`-#q@d['\l,r%?-omqIm>m([0B^uQKIBMLPKSjnlfK1T-N,fBa6-RPi:rhi3QE'B'ME$/q,4!>!LXdEdi/;Fag>kEB2;QIeU0CioBt6c@rX#io>[K(S"]a=ebqUa7^"s&&l#l9En&7Bhtoq"]PQ3k8b]YB&PdEiQHhMI,.p!lb]p/?SCjDX`rd-@?BO6"]h<++m`6'Fn&Z[&gq/PZk^G%)G>d<=@3]B#f*a%@A2to;Y>O"Z:O0^?+&LH<Z>Lo?2!#==Tp!fqQGLN\CV=Y5:9uABNrRQuZIE1gNkBuq(&*%_KD/T0bW.HM](`YT6sAl;ErZ2-Q8%K0C/-RO9W$5U+mgU.1HkJ>\H)]g\0C+;18gQ-[J@ljSQt:Or6-8`!(W'>!rr=%'fcL!!3@Yj%KHK2<TG,"!3iKE3<0%e<KV>&!5PTYk5YL4<CP16!!''WS-&`k<Y[V"!!')MEXi'L=B4E%!!'7'a>j5#?r`>1!!'g7,3Jq+J5o%`!<<,#MOXbK!*0gp8*F!U82T4E_Cc(Z5dt>ob\Zmt#E)MV).pIb9F%-;aI#GsIeZo]je<?fet#=!i*"d9g*t&eZ!oeZANS-_h.V.1]:=m!&Kqb7[Tb(OQ?2D56L7f1)lOgh[?TJ$<`L3A:,?[skDZE2VQ5d?QZKa_En8Z/?R0)Kj2k!"0opCS?&6b%Ea8sKR5#pM1R:Sn/'Vth]8:91X,-&iE3D-Z>gZZY1OeIlZ!6%TXo;Hr7Y4jA;\I^+_GQp!+ls]S@1j=PYY4@8q>dQMCX-qb@co#:6\V+ANU4#&\R`oIg^GuNV$f/-_P1,a;<OHhRsND`,U1\Z(8@0Nn(J=O(Z"oL*-F^>(f;e^DGJh0ZfR^0SiB5*e:^:J>IPWNCNkh,JW@3NbW/P<8<gceY[*&(VWm344i_HLg:#f*+lo.gabiLG\SAJ"m<7l?ZW>5F;T3qBVqu/?!M*aN*H;FDXjF!^13"OJVVOl-O?#hu/0jOg<FsE*YEssOrjQ1@N+hWM>NX!edso[-Zs'$Z3b3+cZ<\3=2jPmO3jq#t3mDt2T2+OuMN(d2$9Qt31LX5NFk^A0cZ1ka'\YX1k+?^R<)!OH:8=>>b(#E,.*J'#jJcg)QDuf%<(iU"@eipEN9YiHXf%ra>WHYIm5\Kqcm^7BWBOH*3fon-2<VE\6kc:9p2c7"bIcY8N***Q>@X1(4rT:>ME*2eROAg%lA2HBI?Umi(ZiBc.VBAkGCeG)Y*`4cR4]8o40enX\%b]1eY.##ipmGLf%[kP3#u-g6[rB5Ue>Gth*s+>2r1Ykq3p,Da/D(24B34\6,dTXJup+i1E/2&<LMR#6HWS'/=E]RorG_L75MoqI`mPDbO#mSg5%$'0#lG\BCreljW(Z[U3\'+'o6GmQC0/%O3#<^IJ1kQR""mof2_;91j0TR[=9CWAp+./D3itl)J35k#dqiR71nD+k)LdHmUfI?:?OD/(bt"fG98ok]Y!(u2J+Z+FIRu;@4'fA%Ng6s,9:G@M[`0sVsWqe1S-5`pJib9'Z@ha5&=Eu]%k<CVoIr\7!sL1HLm(unq^@'ZjNY2HQ'CM*++5.+;]kdRFYTjN62+o/!lBRmSl]F3gAX#;+F::U.6kG4E2Pa?6u>7M_1LIAS\Q<WRtVG;QjXV._!Zu%IThMWBqakGg,fH=WP34479tUaWDV:<I8eP-b6^KjQYc3l"#^&g[s=6U55@!Z3>QkVA<fMZ<-p![Aeq&:,G&FYLQW3ShK>/,dg!/*bGMNW<MJPYApJ'Ng]<<(enP`mRMmi8+'Bfs&AmALs,II3b=3>N8#]U#VY8%hRQU$2+m;!'=Dp*o_5k?/sl/&]WR@_MUa553&nPCCtr5T\Hgq+X9g8:>q`"d,)NGfJ)NH`a`tHM@Es^rg9"gh2X*2l@Nq8@Fl^@mOE:-;hP0EMLOZld>@-Z>/ao8/iij6lCpk[o>N.]91/7FI5b2nWBW=mGZodZDR)X&A#Z<$:/7#>8`)k([[l]kN@3eM2!43^@\=kE]Gm.+gWAWF^h5Q9)7bYO:b&bpf*Ic:2-Y=o.D0I#@DV%NA;(Ka*+[2bu7WH\qLel-=^EWhH7]qZum51l_dVo;k/@"+3+[Vs'(G>]'R&Nua/'msIpdu7PO[1&XifqZPl`Epo;+O*f)IQt5%ON(L$56"2D;!OAjdSHsm'VaX3pW$i,4N%a#ub2RA56&2R@J=fXFabt^1"(NZUUdi:?>7(1(:59OC&L:(+eMs*PKXT7(-'1[G/s3W!24m]P>aW(_Lhl(G/!E<)JrnUY-6c&2On;e(qsUSDuHFZt@Im\;rfT-ar3Z*G6WsiPkd/F,R&Y?/=/0&$A[.RYc@&HJm9iH(<Np[(O8U^Y5en0deU5@qRd(!55UFbMtgLYI/6#(f3iuK'gWHGKM.)2):Q@6DZkj_?C]<D@mQGY>[#qJu24AWS-RPMnA.^\(,/L<KXo#;tIaDN8HhZNgW'EF3_jfO5$]5Z^!==q?Km9]@>BM[mesmUOl<A?;]dW.V:GVqi'F^JXeO`VB4#CU\;+0lA@MM%C+dWN\ffOlPIc*,)0X'&TtrNm:K:_>jejd+`=gQVOqq"G$0J<bADYLF1E>OEMb535"Bk3+tj`ieX%Yte^Rcn:9u-?4gg'q&LI-u\M!0&Ai1NcGZTqqg+`HU?q4I2oZE$j.`j%)8_6"K+H,^;a^RWfIWb18c8gYA)3;2%bW4[=(KY$$Ptsj/"`a?TcC/h8pZ"L`O5Fm;eC2*uThb_gShfSild[bjR:YH'Rr5P`ZFB_uh2#4%P5]LO.E7",2S1HR8p*UFJuDU<?WC+TUg"[#kK(%LCkn8bejeT='0/>V;iXj4P/V`o6N=/notS)\s3rEP$51%,ACZ3n)t$:a=^k>XdAWS1:=qtfp:hJ'42//9K[,[#o\L-lT_M\8@W#7r8=ldNs4nT+Em>Q-$EDM29U?^7^5cNm$L$AYnf$t'Du/Xu^Po1F6sML)R:KQMS^b]6qcB&(C5ns!7T5S4?dd=li1ul!crnu$_"tX1eBg)I//cMh,E<H5NH+1K))oI<"n9Ea>XYc.\C\VRma.Nq85hBK54(4oa`b0\h/.K.(-QgQPK8UAd43n/X^XTYBNndi%.CR4)l7@+&W=6XU35G7DXapO9`M[tCsO!hnSqcU5hDL/W5`<";C3:qV3OuKo#mISB(*eZHZ:"6WI$X<l:jF@hl=/h#HkXJ&$php%?Absc)U'pRX8bWr&s31!1e22,!;<kjUX'_GId-+EMb53F@Wk=L=YYtkV`#CoG#K+8me^tF,j@[fJcjd><-n.A$:%SV+H*D+hr@]-LAH\:W?m\3HL3b+hCr&Zfdj0?015h4j;S54ecC`hh23Z3-foion=q^Hu!EG953(B/3`4)@0C3/p-&lqp/"g@=c(=?P#:["5Neuh1!jj4``ttA,?X5ahFJB"<4!N9Nc%6c_+FnZnZC[HP,#L!mt.OF<IH:YaML`BF4@-,g#RYXIOhl?93+.I<)d.rj]+WP@G5`2]R"8&S.f!.h*Von]H>o=]oVf/R7b^"68UC?5lFWWE#HdJ^]l[18f]sAc4NR"W[)pS"lkWY8NB:j9CFsP<4D9\[B$=D;)r:=EAFi.)`P[>"n9AuTZZ_O;WXEgL[K7S>$p7T<kU&unEO&]5gC7VLl!pOQi'gb,@Z[(31YpQJki3e&q\m'.pE<X`Hk/e!UUV>linPYbk*Q1\t%f1I-alS,V*DF.*@p@CNW))A*RTE)aWSr&P-3`Wo#Bjh51\CS7sqTUmr+NS-(caggSc0jd]khD;0X3\`11EZFhKQ9=jPJ&]csE3@jWj_ctRAbB<iA1KA^t42TOJp2Z1[49fkeqR3>,`Ig0@2*31+Q)7`qhQ4_5=EQb;A0aD&bjT()G*Y#KW-YGAqo'rDSBU3g<IH/cq;7Y>SC8G7d;R0tis^B5FUlS^6FI<$er7FsN#:%oa0NVkNO$2Tq&.o03SdR"3PFjLd2Z@JN/esgVL-A+Z7X[K9/pL0cLa-;BpTIl)jH@<LX.u,5G\_OW7Uks_HK'''O/e>JEgn:QYi1]e(\!,MC>/\*i<Vs)4P][YK9PC;cOaW3UoFA2B2P\j^X@eYt*04Qg%!+LP\$(`2O>.:?4P3CX;N`348g9f[.7<f@K'HS8j>PPXjHc)5hBNdB++3cIq[Q(eO/IBY':_WO>f2"<FP)NTk2ZDoBiUHui&U04Nh/1Nof/&P&CSaQI*X;=Q%Qb7p--TXKFF*+qrlcM1*Sa>q^el@\2gEJI]3Jakbg8,L"A%d'9p[\c+aid(8+a1.>8s2:>*4OY>0;s#(urOb/;StjlHGMMPWF*)ipmr:ST*:@?"es88XoSgmPo!FJ>RpDpBP5X<dWq*C>M0L]BMTWlN:?udbHrGr7.o"dG9equs*-")HcEYPn/=A$=AC#\5/&(Th;rX:Zf2ZQ'VX>Cbj(b%5P.KIhjNTdGWbNBu^2EMupmc4b,F\q</MX#<]3`e+nN!_'*!0>Za=^Xnl:/0\Bff)%S1@R.WYqMbPZ*N$39=9pQ=opNP8q#@lL*o1nN#(\S;J;Kd^;1-X'`^T`LHjUX$Ta&5gQAaX5Q7)hU5u%6Gs.1#4a:R\:1hHZ<^2mi5n""Bbk_XpY29F(IsM>^N)EWnMqW#dot:r2a1kjc8!c_q&R4#nq-5mQKogN^s-u3AW'8['t$\a^K!WAF>@+2UQEM9Jatn5\9t?Hf^-Enn*Fd]NYAA"jCdgSZW8^#/qrgUVsi+PI@R8+(ik"a*!b&pQ1FA<S<5TI=+ER!Oba3RWmk^?UU-,M>J].S,7iTZO0idV'h`(pEmU>f_6Hk_aHYhp)LCFb`[kRSh>Q;U+feNsinq8@p4ZL_G&2GeVdj65X_,g<l9pk,:o>O=,puHVaQ/jIG,l*N'DeVbDStrW]K8<T13%]eKM<I,T/5T+5$6)JGF/j.\=p%ZXf#`hWJ`ndM]Nu(\'eQ\KnNk[FD_t;\K7\JVCKnk8,/mM,JWl.cZVCp;TeX7`5.t=8gUW_D/kDH<n)+F1$?&h85=V!XBIp6<R5FRPHe?<>#o5A#4&@.cB5"n2Qe"ZHNP=8F/nE:S#=^1D!rtZH1-;G&ma=@U0@)bb;jS_7Q).Yn#_FMR:=&u"M2iu`Z:L$mpF2$oJ"<_2^teS4Si5uqX1h-qfdo8o$.8YgtRg_Hf'PBHcV'OH-`YdIdb-IGl?-%[d$+4jEUUZrDm6_mL2+Rf0^TRUiPR"IQsafkSsM$OTUTHC8bC1M,*MIdp;WU5-[o/&V'QLNkC"a]0,iU5DY]d@.<Tn)OGLhZ+.Lq+a?XMX.7b]Tf=1cRHRJmObKoKjRAhB4.KsY#aF)GW,Kq:,RQn]8+<u^eBeMMQe%O=GMpsfF.@?!2kZ#f2<We620t"P$P9i4akmHbGfo/IJI]LnL[LBsRU%T.;SARQjDo&(X\XB>>E)m@c7<DR^H070DnYEG(]Oj#FK/L<SgnaQaMm;+F2TrQh8_uI>nEEKTD"dH>BSm!O=-U6VQ+YISF>HnbPCm:V+1LEfD&(rJ%sO$9cYX>LfN;:iZin:B0sl]F-mDQ_biEAGeK09E]M;[auOh6$\o_$VX@h4H+=ur;l1th\8=!Lc8"AUC1%86I-i#J,E<`3?7>P%R$_sURMM(_65rX2`Rdr$$$jOS;)U+^p)B(!=L+G!**6SJX=FcGrT%Ku^O*/7d*1ela<qS1`J=tQF]pBX*+1D?3Qi^n59k+e*ECDLe>mn?L#&nDA&a=3jB=;!*+1D?3D2g>`oP9Lhm([k.-ERl_Pg6+'h6IL!!''WS-&`k<Y[V"!!')MEXi'L=B4E%!!'7'a>j5#?r]?e3G7-<^WqLf,T[Wj]tnY"5<lR:r*R*r%6kIC!3e;G.d*`P0^V":;*BLXnFPc4E=D8&>J*H49R;dmcQ%"drnZqtYG3JOAbVTJ=`]=)=&I<$EbFAqTCtk&3U4/0aVi8anjhW9fGF,#)tG]lo'&&b:Qq6:JMg>d$Vi7hZXNoBR4M@`;3,YFccFp`TDbH)8*<()UM:[[8%<YEX\RLHs568+N\]dr-fQ"EU"5CQU$T-*eRCG)ek^O1luoEm;jF='*:,gWMjuT<S?r70:s\'fq&.ej)I+NUQj!K6cZ8+eol.UCDS]2bB:@(LVYc#bg">=KNm)5"HYk6`LS)\Y'?q<ahD<L+qAG\!3Cc4Z1[70R0'tj:9a-/;TpThlhIkq?rEd,f?/XD!62N<EaDfG0$Djj$0KQrKl5>*9@So@1;/M6JZR:a2jZeC(Y;A!Y-LukLSh->s4b%?;fi3@jSo23=T*9+7C0g0qn8Y*!gUZB/NAC>,98Q1]\Q3Somk(tdo5q#3@g-B%s5fG,h$91V')G1eqesL%m5b(1$i,J#5ZuW9i^[k6J^kI>aD"`2*@)__ks!0e4ekdmWG1hRaf3SsX\muN-RW`_bjYWqY]nhJs1+Zjk>&)GUFk"&&pU(]^GNQoGIP&TSe]oNV\#o:>\P#T"ta!'fkVD;.^r?67l--J3FO88?+9Ct^4P+a7^HSd6FTrdqbOIo:QuXf9Y'$FZl92KH,P8kY?Oe\5a,91)=P"kQ4_C<c]*q&d`#Crh.]kFdErKiQ@U.kc^*Xu6cR]Z@hpf3We3<EA-$5dn_OiDDS$`Ebd@3qDl6OWLdX#rUd?pt,EXS0e_IGbmud$Jb18!fH7LPEd?BJQ)eM]*hcap\BI'b8f(?ktjm63W9YEjXZjLe-bBeANI*N<I2&;%Gb>%g)Pu]L"4\C1-ojb#H\6mN!\%@9RiYL"(hP>e)fr^17)UHOG3'2;s+LY!JFZIU7'8^AoY,gYQ(:N!UmI.OLjd_/HG/ODD\CRd:I!CW5r&Zc#PE*gHWfJd/eugOG=";b6"B\9#aZQ>^!%bTjb;lTNOKB:A`JUO-?!1g^8(c#bGH^1VW\u>=P4=oRkV)(<p&0B5hb$(2?<?!sMQa5P92uF5</s?5n*!X+FF3&$K'YrURuEj9KC*aAQC;Xi71>U2D\X[NC<u.(;3EfD&ZGUq/i8=K_L[.dfsIE@_T%m9NYc^TbN+0<5H;r\lNU=*D<f#Kq?LjT&J@OAQ"*M5E>g$H,^X%*7+"KdSEVrl4um9BmLJBLZ(#iC2._E7=I.hu-=Vmj+o7;nHUYm\WhEo9EmBmg[W_]^D/"80-=ThN+9(\*4soIFZ=,2EYI0C,+;+[-B\@EdXppQE:-B=lYsu1^Lq9Qk:)Il;&X?SSN5RL5L2'\MUQ\41*17?BF,p//fm<*!ogDb[mfP;>n*Bt?EcsOh=s7V&nO22I(,9>tcKQ'O0^$NnX:`@B]a/pRU,:Mq1QZZWo8[Vp)dbMRn0)hKfS3j&X)4dco%kK)8([?BEfSTt>DAR:j2/<r1Ji@XbrO6i`dMmQf\PAMF2i(FJ^m_>,k,3_Ngj&RF,j#\p@t.6m=t!K_#:;]cA7:E.b7gIf*NM[j8,mr[t;8^c&J*UX*2QG!*71hjW$Dn-WN]-F_rW]he=m<.pDqij]/G=9-H+Q**LJ)$6skmVTV!Fi.+n^m\7#0rehV6YacBn^)Li1kL^N[-,_nmPg*pb<fM-p&/YAIlg,MCF(ApJ&^*&CIIdh_6\"]`A7G=$c%gA#^Lkr3`r4V4`pN3.S25&H*iqN&l_g&"24D'=B6;ErSYpHlg@j^"hWV6&p`+bmg3)'bG2rb0!FUJE0B[Q^3.'[SWg<F7*N8<d`H]<pQWpoSBiS`.b4I],c`X/+J;pRF`-:QCZW:,E'rK,6:90J4Vt/qqZ_QrtC=VmLA-q)eZ0rlk*%:!K+Y]$l]%#qcjm\40UKXZ+%9?J+0OBjiFR<[#*AuUQ+HsqpCL8;911mX)+VPGD=_`s87M<p*Fu=+T<iNhN10b\tZ.\BKS(51,9A\eC5poO.[r&b5W5pRS2Nl.s)U6iMH)l/@R;Og\S<L$t\cL:Hmf)`:@lET0C9$eaZ-hTQU:FH3QFp5>`$/Lm>Q5W7O3a5'_iAHWOo8*k_qK:7?;/E;;ap+>1L4^O/`%o=&k4.@)i:TjHptMmG$F((.()7_(nUn<,qNKM;;Z;EpGM4*TY59lU1PjPj(`6oeB6i.d2?tbr'r'rh6(3T'5;S>dWFk:Neg[QbIc:N@`GKc\`l!Zm(8)Q<NIPG\W$=^S-_2gche.nIu$q013sqG)0:]ImG6,FZ#"0epFf0=kCMB>]N`#E\$MiVLB@)gF&'?;G4-ABjpIM_Rtk:ql^O3!==TYsq40fWnTWg$P,rc&g5PkUQMO`AHiMnb\:[:hdLj`)m7K8knpW)6*fgeT%/$`"s8>tsCtLI&8)CH3rl1Y"8E])"DKhgmZ^B7=Lo1X?$\1;K\PYon,Kf#FU:1lJh[7.k=N6k`-V('K2\P5Krp@@LIObE6,*?qcbW).s7GaCbD_&#eUEbLj0,JX=!/-/uK4Do8k.GRGeRu5D.>ODq!21V"!!%OL7Eto6!3;!I!rr=%'fcL!!3@Yj%KHK2<TG,"!3iKE3<0%e<KV>&!5PTYk5YL4<CP16!!''WS-&`k<Y[V"!!')MEXmUSrag7](E!5LO`LM]+`baJB0jfDE9r[-!/s4h!O24;3<7&Ak5\V1jIB@4c)_e>6uu'MSAj)Y7O/TsFs]r5Xlg@lO:a8\<\]qtdk8Q_O]:/>-fpY2cY9Q@*[gPHc2k0AQ7;!q.Oc!3e\#0&oobH;Fn`I)=nu8:>Ptm-N/K,oq:6/.04X<$]:9E?[R>,tZlkWIU&uq*2"ShBQ)WL7PqWhDAM`$1`&n1AXqu,hEkC'YkAnQ<KIo9D,<\f516RW)<TeMsoaKoOl@maa5Q&jBPQ(PC0Dsn=CZHH8a5/T5*)T@2Z48P/g0_miA@4#h?NhMF]6PZ!3jSTFjIA"0[0_dkIG#PPQJ7NC-]X!n)(BEZ@jGM/dct2mdLi;P@*Z=YHLh)u!G=RkPB/r[Y5c31n*g289l^_o@rA8dNZ2kXrS]RgU+V;#j,o.cBuiNGE`$i0:KHk#<T]uC7=RD..ph&+dY!Z3=7XJ#X<Jjn9LWM:Vc1iDVYX>0`mY+i[GGd8drG%N,ALf4Xfb`TR@-Z-X87PpZ#mPD35I9#ZFS(kf*^b1<%YtC-$-JS>6EQ$GKE<:?***r\r`poYsLNK9oWl5$2.R`SQ\2lo9W=>bAcfo7MW.FG9(>g1a3;BA$XL_<mJWX1O\;lgh^S'f?%>./Jd\J<\7kq;70u:6F5uqXdl6fPfT.@C%6ab+BUY+I'gYb+^)9%mZD%jm*<sKjQc-0f^=&1jTZZ+`\)SURWe"2g!Eg.ojO%4[q3D*MQ1j7B^WPao/KM+U6C-sMu>WsE=tCR,#Kjpf"9\>MLn7XLTTd-m@_c0[8Gsqoj5+-c)9RtQnr6OK(k+MG1Jj/3N&>'N;hl6O+):OrTg"]7Rb]"a8@f8%Y3SV\T3^;JZ)hK]4h,tdsGk>c;C3)B(K0uD-0kdV1]7JKkd_nasH)i;FbmB`?Mkq.%=7;>;T:IqMQ%&=urK1j&E^-2bFrjQ,Ku)9!,41fU/TA/%']*Pa67+AJ:9V0#VmdQH<^%0jWV7SC>R!9WJjI)mXD-l)Hu^M.]K3WX&pjcXsc^IOX-S84>DM1L_9WbrHC3cU96aBhur53g8ZGC%^?i;5ZJ">h%Rb\VsbWpK*n\Vq"W/AQc.(l$\_mSt!3JLgeB\P=`hS7/H6(qdUC)Ebj<RnjL$`1N>N-G*;4@'L=8sK1:1ta,.9=,EW`HMCrtaeXbtbEK@AlLqM8Y+XoT`=L,,-jW&K>j>1P;p2:1;?d>o,a_2ks'ZXHYbpnm@h4+<1XNAJAcae5Xqu8p.%Y1C[A3%]rQq>oAhKU'M'%#Omp!B5Nop:fh"'dme*k/.T[iri8=.<O69=H7_HAg.G3uFJ_8%3$mqCA^pcJ2/#ou2<+It[\oe]ULL4)1YI;#g.p3FKUlUZ\*87c8CMBVe8teb>Q0UftZ6^!V6-ohj1o\lf7Th>QLoK8n,9mUU3dE_TbV_mI%UG#^t_;,q8<SeX&AkF9rg&P)4T\)5Th.D[(8m^P]HhAUE/$TcYEF)tR?e1/TA?&(X>p,Zs9hR;5*G&1gFj$Xu!ra7M;4t3tRc8fK;*oh-9);,\VQZIb6M99g-]&AV(@NuAnO[eH&S%h%o0$!2RA*P8uEr[209:'^Ac!hr6*E<,.XdH8?<KEGMeP33]]_dudhpk]^?MB$G#+i#@F<*T1>PcBGLtP5PRrnLJNmk.A/[m+F1u2c5DU%`e]00H@7-("$8!IMVCFJ2^1>SlT6d++r*49g9brIfIG`t/EN'C?[7_LO[3X#pnSXje!oglWmDON__X)tNjH;&UgId`4uFEd)?l@VNC7Q2!="/II=KHAK_pu=b\A/Qh.5>JlbZ@:drST>G3HKrWGbrOUWlsJ8u<r/0s*uVQ,%[1tj\Zi5?EnpXEEXmV0DY\=54%L`jZ./R/:+\'sho[5"gTU5`HG$OulZX:C-IuOmA%-3lPaj`+^]1d5dVmIrG1qN9l20Q^<Mu9'4^t:jWZ&,VV^]BaH]8/7rH5pL*4He/?Z3?;<`Aoda**tZc5A^ghI+XN7siucFj3V&3OWhib'GXF3b&RtS[q<<W`paGhBVpZSF3mUO'P]W)+3bKZC!J?9oK$#Pggcnc<QBng;iWU^%Ru)3`)\7:A!g>ZaF,=>O(5Ra>nQtZ!:Qe^"Z?cUr5dCDR!'ZgaJq<cG^lBDPhkc*SI&Rc2hnN/7Hg1%*[,d(:m/UX1\0"HG($WCdnnf;$/B1n=%btQ^C.aN2Q:/C9:O",>,oKo5;_jT9F98k87sPa11t=&#k@ga^jP9S#VoKjN?"f3M03UOn$G2B,OG*$AGQ&)`i7l:*c.TpX1JcC3t2Q:.C61O<[ujpn>B/c5ARc5gJ'3@tZ)SUfc*!WA[d&+]`?"c>hW%+?",?OO*-![f'4(>tq;,3T[gnVUK@(VqNBmjda#hM]T@)HX:oX$l>1hf7N#$OuXL0N``ZYLCm<nZRJnMB\%$$gZLPY/WtF-:-k,U-jSb!.Kpn>kGYdFP5._X;T^<Y\78BrrHHh',BD);?bZ$#J,%=O`HTB`!1(JWjrEgoo!nS'DJf?Q3PcZ#lrmGNret$kC9*ZJj&*jF:[ba7\R_?t@dniI82QGX27jO9Vu$iY@qjUR;Fmf?"ApZbla:QQl`]U']R+"e>e0&MIdI#6rC"?,1N:*oGFOZ)=%A>6#iqL1dgY@Y;;E&ERSad.d4AG?E;*CP`j/fD=..HH^6BS<L35"<OK>acfH^:US-b)p]r$,C<-qVC[\;p9Wk],Ubi:\I]@G*I<W)`rp,u1#YP4jJ)4Cl:nb%HWOFA]a**T52:SqAupJk@2,kC#e[>tn[Vg@bmJ+n/:(]>X?#Jb@^b+,f>]'WP%o4.F6Nb)V-g4"qKmdr`D?Y2DaMdB;:gLC(%14Z2kc<2!r.S&VJ150bZ>gu!U&jN[/DE^*rCo_8]MrdRAT^VlgNp`5OO3=8ae7#g'3=!@J,NgUSTU/"EoO+XYru^N5!2j,I\QqVgL[cjrKrmh#MdB;:gg]=a!)&BC"(2OX%Y1BGc2fW=^W\=s+p1(pEXi'L=B4E%!!'7'a>j5#?r`>1!!'g7,3Jq+J5o%`!<<,#MOXbK!*0gp#64b*.WQ"!!*E7^)uouCWlR1#!+8fhErZ3UWZpU+!.\'<c2dnFX,<DL!!$'M;WXFL95):F+mcKS"M5du/%,fc//*'L&R2M?#eMVm_(H#LMX:HFbClC,`)^[h_Cj"tYR<e,@_2WU1*Pg#Yn^JsYfh%um"3TdfId0.9ZT4aCrKEum'7T6]-)2G[L3'd'6;A1>Hq06].=3'/dU9jm/d:2KUd,%<brMf0$?Pb$UV=3])]W%+m0iM'jHBrbAn0\K$^XP/c`+La>lb,`E"/KZ5a"Z+ET-B$NM^kEm>8$YuM(A/-j!D#i1C*!W^DSWH-9s?T_N'f8?[sk_3F]KO,L=!J"`JcJ]*pb:80O(j84/Kjbbt==3)KY4/d!6Kj,3(PH*3Fod,)6I+Ns5KbO0?5RiOk_3F]!*CT/*3Se;X?u-)@2FT'(j5q1AO=]$$9u]`KO,L=60O#2(B@Paj;b>lZ`HLWKjbdN?5RhdJ7V'mi<hfm.YM+FG!Y>G@2AoG-KH/Ln?]2_k_3F]KO,L=!J"`JcJ]*pb:80O(j84/Kjbbt==3)KY4/d!6Kj,3(PH*3Fod,)6I+Ns5KbO0?5RiOk_3F]!*CT/*3Se;X?u-)@2FT'(j5q1Ab#ueSGTo/Qhq-iaF<ntd8tR96/QJPiVe>B[&ZDUot1kKf"QA%ou?E>hZ`tZnF5:eqh)(tXMP$__8F:SbkK\\PC()mhT?n]/c`+LT#dGNgrd?=7b!]Bo-[U'RWHHQJ1LQ4h7qFK?;n!c=s*cKs1==UD7t/"EGo_,@Ze:\rpH:lfH])RpM[hCUC@rN,&>d*g-,E/h-5RHOi[A0$X7P`ETq,%)0u5ZXhc-%Cj*XN<OdJVq8`O\H0,#<m=P3oZ>8IWVpA`(qH`Xh&*8:RYKqV5!*CRD?I$+=pmJXZYFR^]gj8YK8b'K4j6$jh$19ZWrUK$=^:6CO,'3#BHud(9XMSTl]Xq+Cec5E\8$*=$=Kg7u)YZ;+GBZ9#?Ug^SG<VQjq*-rm8p8uBph[F.1'2Ubk3q^YcX$%5qBHU#f$>$_s6_i!(IXD#GNl88YFRJq7:,a`bFe.hh.,321NF4Rn*]OAYAEOVX!p'Fq>0VtcPa2"DIf>s4I<]3j/!#JQ4[7]9?mR0Cen<]\UW_J\FsKXG'd<6kK_TFIrY3A-R-Qeb\sX`[k=`Ik/OSC7rWaD_^^$\F3KW)g_b57"-I]jGJ)(sdsgcQg<SHn3p2IV"hHkU\K>*tX4ls\**Nu8@Mdh5]GZPg?b!6<q9^-/7;2R$IJ7/U'Rr:;o<U*k?5#^">KnH>*5O6E[gKeTmVW!NL`"79q6Y;tC);^+I^jHJUDK1kbU9:tY6'6Nn\jOZ><cJU6r$aqYB]g!fT_Mqq*jf-pVSMZN/2akk?*1srUc:t7>eYSRB?MbYg[ut[e&qc?2<BMI;j7?k?gGihn"9,F3`EDE,TMJ@[t%#?p;OnZ<cs=kNm7%1ZKPuc&8<*h0e8!_sPpY2/;ONYI8Uh=&`?]:;(rI3:;B<X3fTk"n@B@T,gd"34e\<Dk-hT&V/0>HKE0>.i6Mo+,RXL@K'Pf!1(`jR<),(]abW[ao8^dR-%`8eYF(.rb/n9%mNE?kBuRXS6IK+fUr,srT<e,41Eq78"Jf4cT*4nJZ?@,cTS2<%QC_4[#SeNiP_6rT%Wi:IeV7urSc`1m"0Y+cFrTe4r5rT3AoqMIM[6YJ%0p(DmDC+!e@-;`8qte--U1PSL,f'lSOa-]>)a1hWng7CF/lAZd2hJ>4'=b\p3rI44e8UqVBuR5()g9O`EY>h>Pj;0;?ecpE+M>F>qdFG(JBBk,Ft[IWOiGH-;^^Hc"Q^_;-]rC#Y.%qVn8CS*i8%k(O84F1em,<&nUW39Ha9X.]Hk)KXKlesNeZ?(ce/nO'KO;"]p5F+>Xn':3dqQ>L+f;n2V'+.nVsE=.7?a7id+mTfQfnebH6T7-7_LQ.j.mJ=H`\*i%#pRPLTmJ#>*Ir#("D9u&<j+m6Y@LLoopY$_b"*[a6[W\f.LU9)A?*IQ1Z+Q:`qr]U2p?-'V-8;OEEY.SMmFNqPfhVOJGid1//tN[@ptY*mk<>,V0"YNX._(HuOZ>>^/92Q^^QEq.+pZg:0"kFJ/'$=+T48irn76n:EfPD#h*,bZbFoWiqPg+UN4>H<08V4B7dn?b@s*JAY=G.q[r/i1Zcq/_DLM;:Cq&*rjMAn2m]0FdrHbU>cE.WGIC_M,`@YmBgjegU?R=O_5%R.5IW@PlN[SZ.G<aK!kF!9gMq@n]F77+e;]Db"c$957g#!h5hp31H$G%r>43,@2"n.'*Q(KAQ/hkM/jSA(G`^^KA!e@-;7-:":YIhd&Rm4JdD6uO=Hb9.G'+rpoI8&C:p3WdISRXcGB?Y/c](h$Zr0^W1=s)R;r9hVkU:*4J*f!2NJpG*H<dqM4kOP-m<,0Bq!J"`Jc>d4c\'JtVfDB]t(ZtDfJI>]ds!?EC52N].iX112-#[[4?LWG/BC42ek0]P0dOppYCLQ>>GPh71cF`[_"'O/[!+;4VF+UUO]Cd,NS]9KrN2]q$/,[dJmXDM4DZ09!Eu@om/iY2](#&llQ3fR,/,Us!&:.d;"ec`e>l\9#OE7qKca!nO(PZ3,H=>G0!1!pOLF`9RWt9ScfEIrbL0XdeR?2L"_U#LpTbiGh&:.d;"TXhp3JT-_/?9>.@FtaW(PZ2q@%!*t\AHRt$DA8j>nD<jfED8@#s!bkr%+l[H=<+K(Yl_%66u-=>b9jkg+M$kraRaiG$LYO]D0u$Y?_,po*"3GG-,`[Kf/gMJ86g6cG/&&lVH:Xr>"2'J+(t'?JeW+Y^63C]=72lphXA?pd<?,ET)2JftVaqDVs>U^D4"]i2Q7eHP_Li7rOoRoS=aVo_C*-frt-fr9D=8Il3Q7F.W7]E*p6-U`lB!csOlkni<'L,IJasjR/j\k1nPD\L_XD]0I1hB5Su9F*kjFPcFdlBfpAqkO*9L1EAB'I,WUKQ[\i'1Ri0BkNDE?a9>l.^NfD8rV,0Oe_Y#q^AH<5GOIBGXmbVhqb_!'=85/.9';_#H0.`&XlKE3BiSk!A'S4=;nV\`es5,-04_e0MW="!`HaQZm7;GPqspJu$Q".]k5K5nHrVi_*91=t$NJn\hnC6lrmpChm.]VnQ4rHEqb407WrQOA4D?gRrOWk6m?Dt,f,DDN?iB`tqUWuU)f+`m^\5@IYKs83BAT[sJ(t_mkN7R"f)*XgO7[pLf"TV3X/C=4]Q<\q]hdh^Yk$,#,3M?<c_#E*_>P<;dqrlLcFLQ85,fUn))7bUbB"N`Ih^"kauR:SergOo2bqI"PV5>;Q/<irS9gstY0j)0m[n%83R7S(Wpmj2pmu5UHGOGG]YAmRL]:nb2-KtY:UY02]Q2qep8$dioruMnZ2'SVDq8./0<KFOSNc_1bL`3omPh:Z`$GA)iRV6`Pe"!7K9'p$A:)W!+5H=,*r1;p5Ij]/!TurDK+HZXhJTu)X1eILHTqC2F"G)K3A::m]+Km9rr;BAmnXm(U-JWA.Za-KchaT$WdW5d=6`CaeQ7VYiMp"<XACR5S$,NIbr:Z)br->Z[`7ZCd?%h"=CI2FnTI)-412sRF2Ld$?kUe^b_;L9+j0!GR'F]Oiua*aGl3">g*UDoF6;(7mlBP>bITkq+uCnLn=u9e?DZl%^O#j687MS4nEj4K)k,LS?UaV5WLWSW:28uBM%,<tNla:E[moW^Z6N&'r)Lp?n*",^G$rVkmJ#]aHc\/<@,q!Pb\/*s5H"tfr3+%kn-s\$H/%lh<VN)-(BBtpDTb&950qLb&,*"&Q^tRRo5cf:BfeH3QN*;P1Y@E=EmL@0rQ=<dUsf9e3@jRt[^RibOsqjS5CAk^Gr;-dAtJ2?]aO;>.[G,[k-@S,L0hP>Xs?Q=g@P9,NVdI&GkJ6@rVoSP9+I8+h_QsV`DokfkNo>+l(adV\^&;W6<]hP7@d\3)Q)-a"6kZW1NO&<EdB+/h5"-<<F_Z-r6pZLdJ'`S!8uXS?d:*#N%:m\+)fM7'NUX:b1uakV6?epkNbA,?)+%c5A87?C\-6H_Tm%Jo>U85*N3/aatGLqf=WO):aoWKSOu(pQJ62mL>#aY2<X&p2Wh_"bu#!eOuCINJNoEd)QCEP"DPQ`rc.T4Sq:/E3O_&O5DMX\h5A0OR+ndlj"0T1lHl'-X7bZ:*frbhkOM%8SV:9KMp;;$F2Hh@mK.o[drd\6<CYDZ@ZsEuLUL4rD5+cD5./Mu9\Q+[;0*5(2m:AfF8#S\\!0R`V!VDuJ'S(urg`<YmE_I,@$u0\=KYBHdAp/WfOXq@JT?68TVl;rF#n8h%Z^s$$\'HOkNXX=Mb]W(aIH2#T>UPIDMY.gS1se\!4lF%jd]CJBZ#,'s0(>;RD(mA4W,*00@p]12\lTh`HcOmksfQ9@E/?1)R%q&N#M]iSa6t2X]f"[nKRj>odS!=aX>bIAUBF7/[_t^il0*cec2Lr^SpaFGg=uh[5o6un2[6)bco(KkO]1ChG;AQ+!%0KF,#hoGCGRgqc98QF3)'HbWK!8Z]R<tkEOi4R]Lbk8tDUG(L`c&QS@g2`V^^+mabr0LK&n(@eAfufBW8RldpV(HGG"$`l>cJY-ALaXpn)QmXK#[>\hME_X64ajjhAndu6=P-i#_HXhNe?k-lquqc;#qme^%"cI)U<pPnO@,^s_(pT:N(HUd0Oo_VYn^H\XFE_cF+#NZrchk.6SHf&Q<moog7]<9=;+8V&?G2_3aK2ZaWKu#2<J51]dK,VIh>r_Sqi"V].@;lPRTT^M]TS@Ar(XB]J3!JJO(n:X-kTn50W8Ut6Kl\mU:;OIW#,_G$3XKg:CA:hQiS4fn;fM/Y_'oA7:4f!g)SVJB3;:;J'V'MYE!cT<P9B%]L2UW>cFknk"m92/S,r]S,fi!EiEOuhF"[qs_7:?dVZ6]X$$$Mjpf;Rsg^Aa5E:/Fr.0+lnJt.H3^6Mt`pVPi&S9n[`$36`_+QoDPDe0a1]eDDLk?]!q!W_F0a>p3X>M4^O0+:Ul\JGIJ!!#%dEXljZ<d*HW$\MAsmY/J+!.[hm;)nj]!!&Yqa>j5#!+8jK3<0$Z?rk?/!!!",<ld9$!!$D-a>j5#!+8jK3<0$Z?rk?/!!!",<ld9$!!$D-a>j5#!+8jK3<0$Z?rk?/!!!",<ld9$!!$D-a>j5#!+8jK3<0$Z?rk?/!!!",<ld9$!!$D-a>j5#!+8jK3<0$Z?rk?/!!!",<ld9$Duom=Fm!%@!9aR,3<4"!OPKE.(!&B8ckPO\!4W#jErb,l+Qia?"b<*F!+u?nV\R19JB_Q.$S02?>sg7(YZS!`bWE#$\M=k#+s+@MCrtX3(>a=8mm@[mAG\"LI(!?QM35*Rij.XS=_rY55C&ME]g+Y]s118kMkMT@3<4"F3[s7Q_PAfn3$[uug<+YR]h[k[6IKYW=PRnMHn%XVA-kaSgRb;/PkWKaMWf8r4CM.',24-=:GQ0VECD"pPLX$N6noMN\m4**Y"fl0Og991IXgF[N^X&(9Yg%9#Gd:)YSL96Je60BA2,?_7CbQ329Iqu'gKB$hX_ZHB<[iZ0W3F2Y1e4W'J^_U'1U_u'QpEscE@b5#JU,r+/i!8AG:c>Q]Q7gi#Qo;c6:NqDAm"uD6CktO-l^BAV!@Ri@V2gW.S+=T6#,?HH2Q)"=;?_@-'P0#^)YSc;?@UJA7'9a&j<J'.^3!Y1e7XI&NS,.+J,C8N?`1E-$:!k-b47J,PFD;njO>!'n^g.d*bhL?FL>*JL^WI89@7b+_-Ub@6#m<!jho6`rDPg3H+_+,,UjQAK)@ON1d@%>R0nlKb/q#2D-1aD>qo_AW&97>gl1lpIi0m>kfd>0aDKj0=,mrP[ZQjbe!<W3c'*Rr,a(M[OF:*LkNYY#H?IOBJ9aa)oa3ZE>TO7c.r!o]PGE<ad<>GM.8X?,#M0qg)Zs7.ZutW>#]YMB/tSh16DY/(pW#GiHiLa)6#gT,Sb)hO<3`%_M+M=0,.?UFqd.O.t1hMo5chq<Rt!V&6uUm##OJh<OKf\STKn*^TH5kSUJuoT$/NAgbhfCYd*T+Obd'=%je)Z&a&!aV+QU,Fmd!YLH0[V%U[P^.Q#k795Ko?@LJ,%X0&@P==SQN^ucV#O)TJi\jkoS3;9bN&lnslPpd[^#i<Jd:6R,o-K971/o`r7hFckh<V**MkS^MTd2uH426@fSrb?:=KtkLQF^g;JQ5cQF.&sNk:Adcp3ui!^n"!n?aH=gP+_F6K-fRu!,,AFjd]5q@(Ab-FOf/Fr__LA_nP(9KE?&B3mm11En!M[;HQVM;8M;bY\&tS%i0pZ&Fcq1AG9^DV+m*g`ohJJH"0l'.bPPnb/=C`7>f2tWu`eiWt5r`W8G^S8W'CQ7g1mjn^;QjKNL?(g+#,F[b3/mG8fV6>_MO5bo;\$nVE58l@lPOg\F`GS!)Ea3(RKi@ptEm/Y78:XL'_VLIjV,QZMqQ&411l=Cr\\_TA9>^C]loFQlP!STE;UmcUXW>&8)+LhFoR))I"_<mO=eN[Sm+?%^'kU<P3uXYf:*97W%<qT-4HRrdfU8O3JCItaIdQC]+J=H[L=mrA^If`?Pl8br;c5:_oI.k7A?@rlpDDVj7`aVAi*Lji+%VO0p7:sF&\1t[,V.m=cE(QpqsIp0q?nl_K6W$oXgH3r>R8`d)%Fk+pZ:jl]TZ!iP@'IUpFjE%k'\I0o=GERqTi^o=2C[YR%e^`I-V;_?B?Y>..h[]L(!8sDi=O'cV)peej4GSJF@f6%m:X,l2F(cde5F6*55bE>PNZ`O:>`mPP[udCc4:+`pMD!%,Ino+M'<B=,l)j5u+njA9D5(_cdYd;:k#:aj+1J25kDR(Gr#@<O'\EDB:&Aob)mZgC.4]Dh(:k\]8Qu'Oh3$-E-/OTE-h0OBTeJT<C0\%6<`Ud`BheDCTPYtO[`&/J5NfQ/_YdMO"k!lR\KNLBXdPfDdlX;.ED(U@W,4Tq4-)TO5W-VCC1dYK/if3p5hQ%?9NETW7A?8$*NGhXo8XE3A6?uNf>c.;Ib^r:E/k:5[smTT:bmKH\LU1^jBUutiG">>NmVuLB`2Bgh&$"U3/+l,/"[s_\<YIu'e=40-IpC%O7%Dm-TYqkpNOj-!J#CBEB33a*+PNm8XVHIG.3)]qQ.6V)M%ZEa.]phlGNk;<2&*8Dfp:k8NFiWqW_deQ1K(<lM*_/?X8gqqQ>Wl=K!-Pr1:ANkK'C`oHl+aEX;H/fr,57O_X<[;K4*'jW&+Q$=B8]UEh?/k(;g&1rq]26'Lsp#$#Q,I:BQqUE*5/f]Zup]*)fYi@Qn42YD.:ku1a/M1X<<A97RA.g<X7Ve2aS4u-+u7kltn\N1O)q+PF(Di#]8lKBCF[\$kH%3!7^\`JaCHs[Sn0u$rKT\UWEe$,[p3C\?C=5IUbWg.XkB"`<%lC'b_Kq&5FXm<WiUJB6WqV>ueZ(**,R+4pO6hkKY[p!:@[V]cG5i%sJ'pYlSl0nTF^ZgoXrg\S1;u#C`61[Lu);9Z"diMo=UFi)N]olm26nTi'%%k.IC"/b"nU?4;oeuG:)t+!9#Ei54TbY/#;QOViN/j8kCL3t+i_VjX8'WP%Xk@AX=>q.h_@qd9XYt*Jr/WMRk4J/ebB&\)2T?Q8Rrbrp9U=Z>H[.97jaB!-XZo>$ai1^uEt4ft>VnE1%CXOmTT>-al0%H<ODf,l1?G8r<i6Yt>ZWLa%&`NO67rrCZdZ_P4mDfaN39t)jd]uTJ+jA!qu)/Ddm$.D!J'<S@*[.opg=1;/.G^'rTDnmLrJW=o-r=%5+Q"Y]07TXE7g\p:eXP0UTAJ*8VO6(5KBtQca!>0MF$i5a9:-(BKA&eA<imjc-M6dj3\F/J`-m:kh@?Ll.Y+iGQb!Z3'YGmp\;lah?9QU8LoESDoCc]-'(RK]F%`)[["G$NNRq1aU#r+=G4u(Z-a+[eIi`?0r*<)c#FN2<sXQ`l8*oOEm@n,2&klf>A'2p/'r`.[3Mdf9@ViV^a<74)-(M0LaR(^.[@NaB(lEPnROBrde[s(dAm"&FBm'MkHI<fFa?1,E4/U?*&Yl!jOEb"m7skaj@@;jnbG1o2T(9pLf)2aNNT>508@o'6&KQ$GXG>K/7JW<RCT]+`TH`9I'K3X("gh2*;cB-e2odRS-&c[WY9H6p&_d'D&@Mei!AWiI$J5mcP![u"YlLBP8miXh<>[Qo7BIkDH6YLQ,V#Q0T>jLZL"hsO):VYNN4]]nJ>\;nasTB9ocQJRhhLBT2Z6V\#SFZ8\-[][p??W`Ot0*qXTWKBm\%[;-)T>.D79S\g=A)`!guE8El<>:E_X*&<!o2h!/ai2:pOoF^q8)-bPMVVX"@880RsbS^$8WX[jT_>I%'eBb]Z&f]V7,NI;tJ:328WhC<PH]Phrha:tsX5-`bcAhhn"7h'N7c#HPQFuXp-8pr;6b2/L8PdXrb\n_1Q.-LW#)"MF^JmK45;0P"%G4t6JC0lJYb;o="IJS^`r6[<)UI,8H#6:4@OZ<Zl?Qkaf&,<DD,P?fL0#j@=,/`k:#(SL\S-/4F&Ns0Qe`@=^@^-2g4l"_^ha2a7CPI`V3<oQ0"EG!b'A`EgrABJt08R6mCPI`U3<oQ0"EFtP>QDi*!,s9HErb,"pfm(0]>t!!$'93.!!'g9OE1C%!5P[tErZ1?^oWW=!!!#7XH7K'!!'g9OE1C%!5P[tErZ1?^oWW=!!!#7XH7K'!!'g9OE1C%!5P[tErZ1?^oWW=!!!#7XH7K'!!'g9OE1C%!5P[tErZ1?^oTRHkPY&N?H<"!h_"m/!-AY1*98+#)uosm/*%]2*98(>!&,qa*98+#)uosm/*%]2*98(>!&,qa*98+#)uosm/*%]2*98(>!&,qa*98+#)uosm/*%]2*98(>!&,pekF<Q,`rDC^WtrSG[6*kCg22*E2*ZSu>Pn""RWDZhCZHH8!&+S?jdb/)pIB`.EG#"]:ErX:4Vg]:NR@WEZ]WYMd_?%8YF:A..u@,!*t(UTbL_@[WP&)&Q+=[f)uJ,Cn9nd;/99%U_U$-:cO7;XN]6cUA8%Wkmt:#]J'DhD5C/U+5<=1)IK__:!!(6f4?7%ej2pr<51ZSAb\sI@a+)W[e\bkBX4:pne^?8'>gD"sJ)>%PHMrWr$1VB>J<`NndAM(4dLT]KYV\<XR@>83:/XpGO&CUjSQ9ob,a7?#d;N1!qKfZYk$0Z(fOq$&>/)*u9f/Dj<bB(R>5N24bpF&fhs;ZHrcTp/pF7\JDm8S<]=$!j5L4\J2#mW,F(:Z/Z^^TM.*t%pc!&CQ,lFH-H1YPA7l*l#i4R3NW%5uJ*im8+,PgX!=,@kA.Kr_^lK:*CQE.KXon-0N]0MP$'IiG"CU=UAb;m11J*`rX.Qf(*jsI_dY4PFZc0YT"Q--(78\.7j>2Nlae_C-24FM_D7Eto6J1b5uSFcWYQ.=,\]?<G4lM>Rtd6Ei5E,.N),b:=679]P'GEsagamRGTrY>J)Wb/#u925t'-/%>@_Q2RCB.G&<[5GVnf)SMcogaL8fnI+@\`K+ShU]QQV4>H7UjBb)U;dr!TiD"=%l:Dr?.c0J>BZgQ^bm&%IO7M>>$^";h+?G6MOXbK!9RpcSATE+53M8`gousm>jZt`s.kXd5G`/N=YGQqcVkdJCO;>8qWlbu4IckHD:m"7Mcsa*cT+5!1$A$j'fdZ7=0(HK+'5kBAq)/LmFk6Z?4[K2RXs.ob#Q-tc@8&DJ,],#T1`+ABK$`J%KHKN"*<WFd[FD?RS_a_2X480F'`G,$O^Eqr^iu-'qHTfJIZr'H"^7QMA?^trWR/ob%kkc\CKi6_ma*g5-^4(H'M%/cD?Dgo@r\&.`HTt>``8lX=?0pZ&tP7(k,BY3H>T0!-AM\jd_;XinW>8?IH.RrU@"DR**hNXhM5GXSr.frTWe_S[n@"d+gbEh!AB=T'-R;:X%/T5H0WDg-D$J^`T/:pof.P^:s)O>N[0u/h\L4s$\0`<R91]>`+QID*=;+X"R1M^:nUQcPEQoTp`CDG;Af-Z`BZZZg'.g`!i2lS=E6rL?[LYJKO(;'33Ec3<oNabeuV(LX!'RERPd_HRjppq!6m>>G#P-gh8%q<"0%O^$7_MNJ15R07EZ<g,o(>Wm1!toCoe;)]`M'8L2jQCh8r7E][JS;Qsr!VI$ge]\d)(%l>DGh!`^AFS/\pi:igU%0-CdgmBJP>gP_(]aL>0)XR:kd"><keV5pX?bI6@i,"Tkm>Q2h!!&[%+Qm#%S?o\i)Z>Rgl]LH3+d$\g%ELO0!77R(F"Vjc@=MUc85D%p`cGjUErZ1?b)g[*,Ni=)>lXj)kSVB$a>q=%!!$D-a>q=%a>j5#?rk?/a>q=%!!$D-a>q=%a>j5#?rk?/a>q=%!!$D-*L1[G!!!"&J=H]A!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!1i@mXZPtq"2G.sS-&b^M<'t8X[(/4kXNWR!77-qEr_jfj;\0`9ZT3ockpdu.uGhXS&JhQ<f.u@Z\mtP==c)0:iE%:0'75:`@Q1N>lIPG3s0MVmY*%[@1R?&`>-/4@LK9Y0leaKEMZBFc$6?+M^.edc^3U6PrQJ*h"@kXMZYsE!#k1!S<F?0(=:0<B1;Gp/66\pn@"FSFgdbs4`\J4Q>hM_B@KJdDpD3hX;OSJ2BrBkBUmJm#,mUi\6\NQ<3Psl@W(a2X5!+;L[$L:d9Xtdo2ZVo6<KH[.oATg[d3cFar<cmWEXdK>IMH<$N3tO!HZOJm;c4P=dfkHm!ns*&&bAqr,U`a%t6sm!J$3Q3GMdd#h*C?`uC),U]4nV8$+6mY3;9:*hQBVBgO!'TnatXHaeT4+;ZltS;@c=F,JW^lfPP+r2%r31?\QrFmVCa_YI-&p\Wp=hgS/VcDS@L8'![j?*C#DNZ)e[c6u;6Ou]$rVcJEdZ\"atPTE[NLboWVUC1hm9u7(7hQ>X:4QLKaC";\Ao-'^"/-alfhASA%i=,UX,"6lSp7^%)p;aHB/a(danQ<TGIcBk9E^d]sUpa1%_]ssmq_UgtCe#lko/gfts*snFZ]rgC.99,D9Kr_Z46KS%>8;4!_9KH"F*cBB(>3p>=]qn(-lO\T$L`j!UHXI`&R'VBUMX;(-_hm/8T_l(@Ue!5pYP=tWr&0Cq>"p_h4ZgQS@1[Oi[_+K!Zm+kh6&EB;U?Ee1$Wu9fh^D^Q-+9WQr@(&Fa1goO=o_Ggl]T,1bS(X'c&Rs34MD2?X;_(Aj^aU39pjT$eapG;]!-i%5L!uG'Z$Um<"UoVk>*r/3W%[7,)!rIN5Ak&:.%#]Kp^p?YNQ=T9Ot8YUYr!k]a_j=-qms.usfrSMjh3?rrs)pt=faNJ713D(^=.S`>Tt;p6Q*5*rsifd+>2a_<(\L/g<@oGFQ/;.2mT-"N"hks+idKHH53X)V\@S#Tb3ME^2Sbn"1Yo#nb^Mu94,n:-VJdlXsjS-..*3\0BXJd0CUm-gblH/4PHjrF((:EU?jZPoFCB2KHS87=5%7Knk%_chEd'^Y;n!^7BNm/B\PZq40_qn0SEpLXc.Xn;3sb"%b0mAnKu<7D]:@\qVe=,=%CM>Cq'mg)>A8^a]%G1CITYtVWV%<IOBpK6\LPRnL"43tqlUk7[6lC*R^^M5;ue;b=SMJccL.80>S%Z:ksOPmC1p+bg4g;d,P-PpdUh*P)bAE"aK3sanol9Sh8'EgURW$:#r#LDE!p]Gt&D=UM#F(^C?=(kjgg.-(8k$qIdk0_j"+=E!UII`C0B-^!MO#f:V?R8$pXc=FJ+q7.$>9oF&8AOWbd0ujX+YHe@HFDHQZjY=Io_LZ[[@@C\)=c.O>s^*6Oc/LKSUm^f`WUV@ZE)/Vl]kS0Z]e+gI;l6r7/9;kP@MlsC_+lUdcVV@>mEt"nRRB-&\E3lb,eO,7O'(lDZP!mjQt@A8b<VT&U%?J[-+j<5:?21BiF)[(+ZT.s0Gb:b=u"B7e:\ek!Rc"M#J@o?ofk%PZesUJ;,*+>*_C=o;ObCF,neoUBM_^+a(BM&`aFY.p<Bd8CD+BKI6\/=d3LsKZblY<e"n[:sOm@s&,:$P[j;.BVW@IA3SB6p?ar&>Es7>hg:Em!o<ph`U-on`A0qSbXdeH24%1i_Rj<*ji.'V7ihP,fV,,<aGs_DaGr^,lC=WeHe[mR[TIedpaORNr2GI?SPcg]ecaGu@Bd(1K,)*X/?7Y9_ePk'<s%i-j2Z]sKDIUK(<GtT$?d/01IZb'D;If=X/MlSh//trTciqKW-L`n-2`(d+erKX7o?n`AF1",c]l8sX0*EQh4&5S=NJn?W)m$]NM,E#RV!#LXjek&/F\9fP6tMk2U'K9N_S"UO,`\28+rUk5.>9HT%p2$p%+'AYq>QgeFBREhCn+%*W,SuT*#(34##je-A+-U199*qD?jt*'K2\^2?rhqN]&J?J'O?0P_Q,M:JE5do@j+A+K:m'6WQ_CpdfQS@+SK->0dgq=QsRBNR.LaSC2J'"o>a3mL3f(%$rDB:+iQ=F&)*IDmr?N_V<V@S>0W3g0qAA9"edN#=1L2]'o/#;1=4u1dB$"8"S=>@F;$P"iI+UXss2`2*-reW'H!(3mpqkk@j>#nS<kr<[eJ6d8$No,Ze7pV4nl5OSVG]aM(l<":EgqlX`1bl1$H64[4_Z0JkjkNa'I)l56/D`_NQbc?fT8Yu4k+3*5BNWo/i<<F+#;:<)@pWGZRr3GcLrdp?nh$98?alZHOZ;((TfrGFOn=AG$:fBW(A/EQ[4Kd<:obU3ijr5#XEcJaXQ<p`'ErqkSpa\mU`6-c_?nCea&-eIb3BkP`MF%T`cPoPu6E]L[,g)6?#N0YpDauS1_(&hHUS9&^C<K@8E#o,IUJ)lKgO@*#IP($VV3J[@l=?UZkJY*D"d%"UQ,7R]Keu5MN_kT^0@3qg57O!OBi$878Nj91?X'61TG_]5rS>0Cdnqn8r_b>X%%k=`D6;G4cR`IKm?Vi/7<K"OW9<AmICgHq^mZ2!+7MHj-OlG-'"k6ABG-Y*?kHH_or+n,b0rH#nFfrL1%AUkl>E*jb=hX@*K?O.;b$@N&rAeMQF2klq"#m-X]5j!S!4l29jrE3q**-^U#^5SI=0"-bi<LHs&\tsnkk(=tbmIU+_rgTF@U_)1eZ.T02F#6ccHiclP);O0W1&-32*XU'F8/,+h<jb-PD\>s*37QS0+2EaQWl:LRpcqha.je=Hc?Y$.I(u7iA/q:Mt,DYfaK,ecbc]Z%AS>N#F);BIjc;ro2)K/%Ljt4?\H_N:oAHbQG$-H.8%7j_Wi8!7I:TE-duHn)QhArW('9Q)eYp_HsG7bs--taOc>4G1`c(te]nnbO>TWKjD(pR>lHFfT#<>=TKSN>12L\@3O@d[ZR^^SLG94oC(]YA&L9f9TAq:h2AZ!Hpft'n.8.>^oHS\[_"fa^IR,JIq0k4,M_E.5G3E0L@K'?^/Oh,3LghprA`]V*Kb"8hD!jP:/9o>_a6Gc,Rtocho_d1^)pQ'u3Br9ecr7,#<pXjj@Ad/OR31kqe"=AH5$0idF-(GC\l'p<*:3oMVtq/dmm!MlPbf[jA:Vu=[^u\tS+Q</VFJg&+WD(W\oFe9pT7%@bnt#Bg2GH1c8h_Afc7_nD"t_E,tIaF/)IbX`mklAoNTc,*.qft[4DJ1`7#!+P[c4AaN9nEK&Jm/Z;L!P)dbSi58>i/Ea4%9L`U\qon\^mo7jN'^@!?;r*XUBUD_Hlf4NF[gl]T,1bNP1U\D2Rg;PtnRr[?R-Rd.&mpIEu#q&g6[*t'eBp:Fg.B3jPd.bg0V>%)amnC9G\F+dG)BFcWS8XK/&/(B'=-q_`@.4(PlqNX<T-8[@OD%@tC\,N>](<n=VND7Nn#2.T1F_[!LPkLeLAcZ$nu@;;]r"6D<n(WYI,@PCD:':tQ=dbn5PIUBo(uJa'NVcf9rX7rQ=dgP#4f0Ka>j79F_&dKo2([XjVMA#Gf;cBU7VsjK8SB.ME0M/<@>)/9a6e>_s]qsJB![lTIIOg_sS6`Yum5"Ss1U.>VI0teBYseBUuk6PT3rECM+l2R</3.grMJUckpd51oZSeINojPQ3`>X->-2'GTBc5c;Th!g+ObXfNm3LeN=Yh3<7DCEXi(k-KH-HBFHm+!'8Td>'Jgl#(R3o3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#CWhXU[ldr=/;4IdiBH='880--Eap\827RuP[;GG9=gm55G5dqoE#H:)9]+b87@<GPp+\uWc.0ooq-e':>>mE@p!4iC"&:gp9S-&as"*Fl7f0R[_J?FGa"JG''k5[d!5TKpQFc^YETPL21!U)Sc3<7D`:ko$m*TS1?kSgBe!4iY\%KLS[e0+ftVjh_PanBOiUeDVpS6<uV2>>Z"m,H7=GYn;"`74/5g.l_Hr=D`4B7uCN-IVeS>rI4k"$$UZlZ?FXR9\T5+c['+2]!i2a?L1RIkSPr3AN?RPKrU_+-Ebp/)+k(fr<(]roAKbdp=Cl7gIQC-J?LtoFCc=_9pX6.O)[=6d>_r3bHJo8(m.L%ZRaB.7DE@C9T_@02;f5@cOPaUaJWbkaFdY3lr`ra4*fkj3qK25V:=382-K=S=(@l]dcZImDW0fdPDP&hG$C"N2G0deBaIneZT*'+"f'<#*tJN6aDnRC%Wjro"uo!2%s0ne]IMY:mbE[o:Lu"43H!iaOnD;(hG"]b*'+g&QFZ-S;=&OO/c8."=L&_ftfbkMUUVNBB)pIbld"n!h;(-*.Y2%QCLlsU+B"F_<CISnX?It/(+Dn05``8cIjQW+?6uM(c)ZmgNho=kiCgc?tVJ<$q<0iP>60/mfU]_`5,%4`SMXe:CG%8QmFsX:q"guXRVge09OSYdjuO[CaNg>gM&/%<9B^G/.".s,0M#Q:e_7+Cesg[f@]`Tg@c"*h>R`:aUqrjG%m0<HUg(WfdFbp5G1/H#OH4:Br'EhRN*37c0h4:4ZV6BYGGrZT`J)J8i29bca$2X^9-,D"ZU/93<3@*CcUZl4#&@H-amf5+0_7kZ*^j`./E3RM%u"rFA@"tZ'"QF7K$:O0ja-"HH;Om3d#(YH=Aub#eCm.X?YmADUl-2U\SB#P[MSda*>m,dc4jE7JlYlnt[sGrb('Xl>t7e1.`>ENif)$-r2Cq5=\FO$nXt`-eY4UbMpaq`0f,T_b.=4Ha]g#Ru2)?lsPeU3YKqc%WmKRBY+9-$onQcl^03c*3;S]_UOab(f08''r<IAO,PCMGEgG[+O"N4&LU(",jf9949sQ-i5k\p[&G%8n7?Ct*.u44.+&7!F?)kYGnS9PkYa3&Td&[d/<3f8L39RSauT@IPTWXFQFCRJ=jidMKfn%N*_u5[Wh;9FG-\lKR+;JuVYC.\d<5Q9)0-3Pf.g.J3S?u"$GdUTM);V\%W.7Gjp)fZK^$X!YbSTTQ?1\.b<a)qk85h[,O5/CFT"41RhO5^]IHq7T-I(]gqO%RLDF3`g!g@9c8h`i+7-'l*$5L4kd/HpZ7/P/N(fE]NOB46cB*)I\rLKFcI(dl0k$f&&F(Mo:/==/%NbTG<[UE74)<i?0J]oSRcFA.fr:s+Rl+j%*p(@tOccp4i`^g2kih5<IqO+RG)Z1Ycq2BrW0H1(f[$aXdm8V+/#1'cZ3ef-ZQE`,1ZR1OjF')2BPNY>&Y7::4)7J`:?AUJT>N_"-510:<9`I/a_.Fr3bP<Uc=*OfRpAr&%edAu'9g9=b;gq398Q*oa7K"4HZ=Y^p"j%NLh\m!d1.c#$sg!OFofl+EXk@d0h]gFQR423EJuTB4^tU'NKj!'ofV<n`6=t,qU,k<3\Qnn-u7g9q1YfQM<Te0rqgb-j$1FOElOtg71t)bcd+=J9`Kb'jQo5p%lmjChb&<*Bg`f1S6b.1,=e4Z!pseY$9bfR[o-RgU;&E2\k&_O24U:[[(SHD[OmG65>4It]K^%Y/Q)?b6:(:2%ioMe059r8ZUtJ0k&pdN)0-3Pf.fqD0a/I[lFkpE<fJgN&d!;:B!4Q%i"Y7BF*=e$]XGL@a2@-5(*PYQfMb/.m"j]=e2pC[!<?'L+TP=TEm?]"Q_N2Q=Kq>q&&nOr`)us`"9?Hc=GHlA?-##+co"XT!-B7B*!#1@W'^Qr%WW$ZF:H_C!*ogi#6;=>l4AKKK:E#D>m#3T5hG8!S0Noc/B_lZ$NP8f;L=KdjLe+d!$>63jdar+?^#5>('("MV"PpR86[Q"!9b7?Q#cp*!!$2QS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5F!!$VbS-&`k!+pqT!rr<$Aqc`W!!!"2Kq&5Fk4Q47STg1sTWO;s!5Q6<DL'e?j;\0+6-]K2o0U_'k]Y$-!+9-S3<7kF3N!V2Q%7+gYmW)$p9.[4>o&@;,o3L=RIOH4(.Uc1rt[,oe'+s0=!A\I.AbSR:DW4HGL<Ap24QbsJl'"6K,da,VWtr9>RtK*/?e>_A5o@0Ql[cMe3Z`hEr`dW-fl=Ka]Y.8a]Ck@D&c)^>=d1#b8j[*VfK^IQ>hM_B2iB1,3R%S?+%2CJk@a6ot"DbBWfX`nIo=%q#135=WQK4U(',\^e^<b3#&]N]iJNTjIC6cq(apfX.%q2<aV^h%nt'I*c6'(f`c]K$5jpk_BUNf^4(5cB5'QjZ2a@C57jIdn]QKu5PPsR#JfC].He?D@W!)o_Q92:'ra^IdJpMf6^hc@%_JHJf(WV4SC7Tec:_9?@HoC\b;nWm#\;EeM4C?]=).E4bDb8EjRFJ<rlYd5^OL,"g6(KuEmCjefD^CJS3Q[l^E:2cm?]*dI+fNcKU`-PC)rR\eB3nTImqITW^<W0WR[;L4$t&#$R3h_XuL?]H1T60oF/o2Z$=@MYgQ"`iK(>C:mAqLgW%r!S'r2!YV.J(`91YQ>4$3W/6gK$?^j8$$b4hb*539W!+ATe,:#bW/j!9o41moGpL5`mp:9O+>?6ML8BSSs0';/FRt#6qH:.%/[9\]J@4s.$bnX[u_n8PN`C_6Lj/gS'W+;WO[tC%$mL#nbZ4aaCaf*No,q[:umG[VHoSo\5Iu_6S.BI306FQ'8Z@*l<L?KF:8Yo63<ZE3>h&V<VNX];u:HTNgfWD=?o2\Wi=X^%oAp*qoEPYNO3\P+$]dCd[QcOWe@nOki19itL`+#<YcDe4XNE<(?*)]Tls,fM.'XD2hlVu37_lI*@[4a!ekJY=N)\]U24cu$#oalt8h#(Y@\U<6P?;sop5%f7r:L+/6Y3KQAn$Lb][V4ZZlaFX%3n02@.(r><F9e@6hB2(G4g0Q#-aZ@*hCn%Cbn"1Yo#nb^Mu94,n:-VJdlXsjS-*/2SX"7gocM@7m-g6<mOA17DU.388K\^dZUQT5^+2]Z1a%LkU_jh/:(O=\MnDor34sfmO$t2'5>rtIP-cl+YELia?4nGaMnn(Z61D.o]4)-5Rs0tL'Mi=3m\$ZsX5oPULMbc4$i%D1MqS?2BFUlajn8/@bn8(^b3\g,r#Q+36QeHn>S.qcD^^pqA7>Rp73)k791[O)gD<I3Em/C,=1/JGF&">S94ILIj'k-fp;RuqnqK_Og:\ql*?PO.,%<+iTo\X0R&lR=1pIP"5:jo.Sqpi.lr<^Z#k38Ec8kRkRN>CW8DmF&]TqG.l;E7.+M^dC2NgsRB8_aNaE*Bd`NKn?.TGIKEf06:ItX>:OW>DL)kO$W;/$gW4_%gTWmb8)Xp6I_g94foZn&KV79+Kk'n[`9lS>Dg<En,k.E$:%ST4TOin^f@(s=dVp$tt$:X#[7W5/eB/lMT/k:Fl5Y5Jt23<3?X_fAN:M2o#)r..^^YP<'$T:/\Ck?,EFj@-37`Icf/\O5A6g>DJ0ORuXWB]A].;3omBeEYZ-7a=Of:01-P$h5!`&#cI33S!<<QZe9ZjlflFOVP;IDqAg>Uf,nXD)3]c9FBpgSSE5ri]:4+@jQ6;N5rIIjIF)Ehkh>hi0,Z^e"Wq^kmo>J85bUOs%PFSRL$n0ejp0KW%)YB-_dp9"c<2a,3RJ3C\=(c8ESD2ooYg';nI)85K!DHjba7(>A16-/a#*gfo3_pJ2a'(WB"k8[nYUhK8YUo4Ec:(>jelXf)pl:"ngfa:M5s@79+b,NK.u&bFki8RMW]s)6Z(eoOmNho=q;(l?N&`3i5pGKUseoRrZfX&%l8t)*7K[0g>oYoK"Vfn4,cB8'7o9Z+J]-`YF3XU\rfM61_,$F]#'+d%q*2%XIUF)+r&^g2g@GV[\a<=a6i;`=r]f@u9qU_ujm@DIBlO:[55(K;p<i<mJbD"XrK&o)'KADkns5b/oa#p\1`SB&,\2k?9^`3HAh!7aDt$)B#uMV*9\Bm\E``g(mIP+^(3\e@E:.rAdU=Fnr\7^*V/<>Rh(:q)O>KcK6%HYafc*S",DArXt",D(CTMZ*>uHCrM<(4uTpL$ne.:q)Nh_4o'9'Mb9t?a(9Lpf=26X\uM5^j-BD.8N;lI9!c*6m#;%6`Cr-o[WY!lP]PK-eYg+7p_@fZJ>mZtcI&3rrGFOn=AG#+bj+o6ZtDh9"J;mAVdJq"J\!js.k94_`(Lp?rqkU</4ju<E_\&Z)e_:qjEQ)*dU&YWN]tA/buON$jS355h4.s_W)\0fU\<kedm4#8LJJjubt+=E:4YR->J9Ql*0V[hXGj`\_k4U/JRheeBSA(7<2[#;:B^,l.JF;@K:m.SQ"Ka$7aBu5g_!Ep$Qm?^rAb'DgLu<;SAWWE^ok-DX:L=Mmm;b81^/a0&^aN[RX/1`;:WoO[#F99;YtO,f=\'-4QePH`iJW6^uJqrO0_uXeJpc!O#aSMR[-^ImLj>:c($TX*>l:H<S`pmS-*.k*LLni'6@9J$1$3Jkhk4S"&X0'17ut2Agbsi2+Giki354iTpV3@7Tk]>8VO6(Q,9_"V6KfZ8o$Gb^d^U@/g2R!Z&mSRRmBnK7'CKW%fNGlZt=H%N]'U!SZ,3g^q0Ls%Y'_E47),d:>A^W3p.@*cQQNeQNSK_9'M7&FioSs*0>Duc0]I=BbR[gAEYbCg\6E^@P$N:ZV5'qWGZQW3t^3AP/Zi(_VkKeP>]dj2mq8F@Yl)bo0[=HO2nBq9TZ>iYd5qD*0rS>jda6;P:%%\j&&"PLF1P<Z0"JT2s7D*?eT<;HCYmY<+hbCRQTW.n<l6OF^e*[RZ?+ng?K"+Md)]XIje5LfOC+L3G3fNpJ6;8dedG:FNd%r!AL'>bW4D;\Mi7fa+%l"=SG.@Oppj%MfuQPAs7[*X'(E3s$AUjG]_tHeaH^Fln1ML&#[rtX+I.\j5]c#1.aOQP)[VgpT5FhgGfr:>LgqX2IA$#='tkK42bL1ajO7jG_s>[9\@=^92t'oU\Cl?\`31ZpT:gscb*]Z26j0:BdKOfN'sT<7O7)4NORhM3t\iA8\qOCZR3U7VoPp.f]u_G6lhb-LYV;(d;N3rfj$CX[cO#H5KW]Do8q(#f_CU!a"hWQT&$K7Wl@J-0BY:t3]UBu?[c;3^8T=>k;7P*X6G+t:?f7MGY>`,/Y5d!mc.B(VqKrK;'Y6Tc$JU_jD4LOEr`d;8*1dFX[4XE*_0HAfNXo+!Dj*;%iM%p+m6Y[Tnjbj`Tm#LA$K-hs$e6rRJh/AkR,Bk!8S,F#;-YFcj9S=HKq[^"F+"h3<7kF3<oQ.$TSHbgEG_[J9h*qFm!%@!,*nD)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"^RNljAc?b[@FE>APIFen^RF\#^d1B?VU*L1\:2'pFd>KR!Ih1jE#U^fER;?4LfePS>^4H[%J+99cZ:ko$m*TS1?kSgBe!4iY\%KLS[e0+ft#<<"h\d%F2J?FNp!ruU/FU17a6-]L]Y(8V:T^*``!'o.$*<OT1OE1DpCS2.<kW6dF*TLgGBkDB:.#a)jj3bj5UCXlr[Af:n`6QJ[gEOGdkjCJ7TIZEXkNkhT,K.*Zf@o8[[7Tr8F)%:Bp9S4M+umFCa![X=jaHt-AT<*.;EAK:IG;)<_IT,'c-`sZ4q`71s'Rp#P]Mkj;^4VNo;(Z8R;F2n\=eq)!4n3$EmE>0U``>`mIO-!1$9NncNZmkdIa;VE--3+^U(J`3&<Fu8c)oP/a&Yb'4\o/)XkU)fq&KWe(G8_UP#'=Aq?HScumQtF!f>)dZb<5i=S>AF%Aul*#!SSMD.4GApM[pc#RcL;2gOaT*Z1;b<("6iRA_1Jsf;C95.p$.o)-1q6uh11HO2$a(m#SPKauIMhh!h-1WE7ZV2sJa]8Sr)mtm$/sUNplJ_:t>7"Lbb(A'(,"9PlB/d4bS1)SYbG<>q1J@N^Kqm=9U6Mbi,][-*'jf0?;Mqiib7bE<p9h<rY9g'u@2TrPQk3HI3@@GD*I3"9XA>HYfkEb>RaUSY&=f+oU`ZlU'O;DcGgG$pFB[M6r?[VA+/[R@Z`+J%q4P&;k5]TEZfN0\71;A)V=2_jaD^7,K;4WoPCoFfBJ?AS#1AHj#a5dc2KojH;ksM&_5Y@n?J44=HT4LKp:M<,a=9aa32)>:7)-FdTKhRPF#H!%9I6JcfkP(^W9V\P!Ci^kpu:!c.>+pUEjVU,oLR(f*##38&)NUmc2l`_&r1(cPu:F$5F<-Dks@o9oTV$fHb);8DU'CE(RN7`GHta<"lAL^Fu_Og[(Us.Yg7c+P]KUKqK$E?LgeT^?^_rPS'@+KHucTd?V@`@`_Xt"lk2==b4a8j5Yj*rgEbsd+4)gQUEJ\aF-(GC\rPHac9BPkD"(&hF&)G8MmLkGj$A6?0sDsLG<or;Mio,_5Gql057ERVJYJpaW">IJGG!qfRpFEu;%qdDbga/VHP;p*MJG>CSBa,u7uceA1];9=Z;a^C[WIFu*9<sLEFFH1\V"IVC_GhY8YiFtVe>GIbrM!2#PuF'!BAc&&VTCHR&`/`2);SPZX:"*<a?WQWjs@o3@?sE,#"mnQ(tAYU%/Ma$^2]&s$^u=hZnZI+Qi`H*>@QTqH#S"V3G05KBu9NA:.G3A=Y6XNNACdb+HGF&KigJEt405,9qdMBogl7mm/on:pu](PJRS9+SBg$anEV,2R-n-T="@"I&Cup7?Ro/6]rg?(<7p58+OU_%\4qf%LWfS^P$22I<p3pq)Lo+;J4d"7s_+oPQeIg`QAk4i`?gS#MpJA%RAW#A^2Gn->D,QAePij76R?NJu;5gUrAjFP`6$d)M:=uSQ%1iZoL:d'*Z]%qkXHH!Xp#jS'WK[2j&/`Ana6V\tZ+&M4DIE:+E^'C<eQhOfAhdb;lCDEj2nDOH,cHT-3;^Rj$qpF<,Gb*-HiAHd/'=cUrLm,T)g;qZm#o2/tZZHecadkKoQn`b99eT$JG1fp%dpdrfFN_.mFg7U4g*fr+:C.GN#Vl(AH3Z2A!tL4a(!Lofn"UcQ;qT2)5lpZ]&PFEG09ga[Zd#'GssMj&6(%fOhl=u7X$-J!A(\djsP<a+3>20k!I[?1c8;qY7CCQ$TFOTmh$XHcP7+_rB2a=b_4N3qB4A$dJ.5]H'5=Z--Y>r=\G-TatX`T:sfiHDH=35HDL.d-.OcV@1tgr(0QBFHm+T^.t&kKqduWg%R<.lsH>4>\oGP1\2TcDg_Q3:pLL7$]Jpo92'g[_gG#PaIjY0E(_ens*c<-_08Hdpmcgd,N>Bp&(>DrT/fu61s=gO\Gg.jdbSsj_=Et=E&:]dO$0EpQVQNcA`*>PI4a&,?\D@h>`7g&'#XN*'2T9csFSX&K_q;6T0DNWqMJ"<Gs56+&'s4MNd<C@./;Re!VQ5pVrZE3OFQ8[hf%aOE1E5Nd5Zj3M6I>]'6d+E5>he3WoH.*-0?:UN9(C]\EVi(Y&\i6NH'2+m6MEPKfN#ddLKHJ.?P'l4<sj!0D7%TPL21!U)Sc3<7D`:ko$m*TS1?kSgBe!4iY\%KLS[e0+ft#<<"h\d%F2J?I?u3CacP=dIf?('*PVV"PpRaEa*R!'[KEauQY4^F%L\/-%s$8F8_.OLA,#!73G].d$d3!!'A+3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#C$98=k!!(4M3<oNa!6bd1#64`(bR-?8!!!#CWhXU[mf6Xg/b^4b5ds,+!P"6FEmFadF?AP'J.&>.pDa/u[mSFA\<,EbcN+#f46.B3$`P`P)ur756d>_BOP4a$!<@4'j;`[XW@dia!'n"\c2kG:g2bL?!-C<`*.SEr/b^4b5drOfcM?AtrSL!e&W&pDSjGUd59^K*;%!Qsrn;D=!<@4'oB)S=q>"BHq.7SHq%6cf9\QEBgd#dCg-(XBCU/0\qsS'2D1#c2?n.Y8\UJrRf?tT/M<hjaT'ZHjq]sNM0UH]R1#Y:&jdlPSk]Z+53C!QAoDd</(2.ks]2G<B@dWDkH?so6#4FZ/MukTlSDD`C^4@%%$"K?DIa>4#k'$"h[MW#OSF_)6>"H=oM4i\YEmFadF?B*VS:CP0T3HH#"e&^5aZ4bOpN,GG:(?h*c5EF/o?B;aWg%S_JnW=j#6<-<baW[*_;JL&A:\@E<L%XH#H:q@f+[u;F/c.4_<]$)J,eGt'^J-6kF?ol(`3O_cZ?'I2onnH^odJHq'_RH)X+G.HM[pO8'1>6X)l,e^952$Tt)^Y_sYC$rkLkc52F@HIrF5(qs8BPc697Q^OA],AVD[jVVTa]hA`G"UG]7gN=P[Uo^qj?c/!k)GA>oJ=1Wm^TDlL4IrKKQ-1h^#jS=*,(J977ltmj#g\fk"rmB64SQg1lID,SH$*>J`"l[&$R@,FDKDhRGLf7#]b<6(1d-Zp9RW1CO/<Ik8Ol'G=bc(\H]@(ABc`P^"0'D;fN"5Ij/`bERp@5m1fst>cK/;2\rg`nM\HOjBj:XCtqPUWH6T,n*-9O4un+ZR^D3T&N%64NcX:3*/Vq)c8cV=rA%&h'^q'T*"qQ2mq3@?aEf[DLLeAO.1&s)F+h4-9/lfl1'iu-P+^-7*cEE<eLH>^srA<U47*UL-*+m1\Y/b^4b5ds,+Bgu+J+T\ITpI:ll"q8TpU^:+DcBB4S3ISBd:(>qU1T4ZPKSY)?!t<5P8mu1Q@BcZB"AK?,*%^9Sjq`^Jqg!,-mr`YGXYnK*<fDFfAd0a]F0\aC]gKANXF+K]Va8Vm@Jr?c*MuKYs&SJ/fjWs3k-X6A!s%P.a>qMDRYT\QInT/MaZm<X\97,g&9[;b:TpG"q#,gIr<*#3K5)'l]AIPo)7Vk46H?Wk;O'7TG;V*9UonLs7^%f3Mm8;;)s($bQ=p.YffOUFf*D3MYP7_G>%j.AC9<&a+'i&1otJuEPG-.NY-d7f-g0]*-./p&EP7d?\OtQPrQ%"DC!/XE!7:+pF..)`gks9M%;6tJ^[idWbrOA3!/UjSKj/tXpY"aD%1+muf%/rQh:,9Yi/BR:7[sEV-g+V/7nG8Rbm\@#7_@@b3>+&mlJrpVk[g_e6ZYkBIni8\T0lYSp?+Q;fU(,MID*W\k>Zp@n+8rlBgQ%l3<4SIBAT0MO+7)&Ia/fM)f'V&[;ug"qb\="h:7q0;La_Xio`mX\PA=uT:_lQc-<.U#6QM5d+#m%O'$mhehrXe$%975\iHZF%llRmU[JD6pPTM5%Ig%.-J\7ecu0i(J]+hp>OS[3M9V03ErT14ND2&Ucd/;+KX;G[98sG6X=WP]cD_lXA[C1/kk4qH3rM'Ta*Y5i3TM%5lF$=0k;9"epDa/u[khsJM)%ODL]$Am]mJ#,bFh(T#+"S'I08(+Dql0JSP')fBW5\8o;P"T^_CY<eb?0MY$W7f\8b$0P.^[&[,5K'p%AnJClo:Uhq((H3-aIai-s\bp"h_YV;f2Z>iJd+$Qcp\pBQ%^4hYAX\#,`fpTN$K@[(qY)!\G1//DIYp!H1mc2a=hFS^D9ZFV!lgtW?&DT)s2]uS^Qf@PM#BLX1m0Q:[T.-LM7HJaU]jnd>'!rY.(C<JaF!7:,WRr^JG2Fs#,a$9P83p!"6r9+%UpTrP]rW4"%b9mMIFJ&;+27<^3[,mk]!9eUgbrNQ;p=kKA0@gRpJ,YrhE(2FD)=0tjf5JoI4YQ.2ZdQ']$Z_).f6(#Zk&0f$+QbMY/b^4b5drOfc@P_s]/h`9J$ItJ!;YO<6Sn0jg-j!Ik]e(Oc&L,)GPLROh5N"#)ur756d>_BOP4a$!<@4'j;`[XW@dia!'n"\c2kG:g2bL?!-C<`*.SEr/b^4b5ds,+!P"6FEmFadF?AP'J.&>.pDa/u[mSFA\<,EbcN+#f46.B3$`P`P)ur75l_p<U!!!#G!ot=$!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,qa)uos=0Iu3(!!!!Q/*%ZM!!"]'j;\."!&,o:kFBG\c\EQk-boJM)^Y2aIQ!E3hEA:&6GE0V(W@>-md[-GG4n,`7M"t,1092G0+C'f^V$d@`\cOCYuH'Gn_X,k9>g)[j7]U[H09=&T;UE;bMKgP\_4=Y-N,'03O4!VAjlj4E&oZ8]TJi$kR0Vh9Q0XD/&A.@V"\WUgLjk&*c<Q:)1!2_4J'="=KX\K5gCf,_tTH\\kS7$V4gC$LF)[mJSoo1q8Yk%G7=tlSC?bL%X5Z)HM#bZb'Nc+n!i:T:K"C^I#le'=,*@'gO"!d>hhE-[doC!9:8G^T?X"eXrZ@>j-P=C41M,=E>-o,c8g8I>0kaqXeuJHc?nA8H7b\VRbjiMWQTM/RAAhkOiui;kFBON*HDX3T2*QiZLmM+;!Nu7*GM^e=*U:%eit*Wr&CS'W4G4/j50=b])8"5qJ`XB?>?Ca3p.J!D?^n1s7AE#+7:-bAQcR1>.$fi1At'i>qX4ef]_O>:93][R<(nCQ1rl<FnYQh2#m@AL[IJ)YRY#5o&3`[.C:i.Lg9u#a*WNWHqGT,a#@3l`uI+;$1E!Ml*YVJC9#E:Q1p3>S@\]i`]"oY%Wn8eauSg&jl?/brCsltI/-A`59.Fubru#mF``!fQFU8'"qTn[V,)j1kEghLn5bZ'>du46IPS\:h;.]<o"ap+YN"E:ECKbN+ohAbUH[Op+7@j#ZcB$)rU7+2V+\;H[eX33pVh&KcbBfN@[gT9];r)&QZM#b9C#pjFFd*&RD(N8,?=u%T+=.gqM;:4p%a!;r)Os+J+Qac$FB7LWpRLTrb=!,RI.k(_P5`i[^r'arAc]qI4c7o<^N9Qm:l=CfSalUR$Z^/LG\[L/AJ%4iM7cJ(Aqa3(2kT7hE.<i4=ZsSH:^6)d7r4QH>hB$<^0ZpT)NtJnWS'SSKJO@PMo$E4<K9D_u/$UMe)70qkqKInD>eKDB]Jr?Z(DZ(%7\H#.62Af,Y=/GIuTf6/@mN_NK9A2.*76kIaqn936!a%DP$.?22,#cUqh_kg:3i7<3J*MlAYeAKbR\Kl3-ISRHP^fZj*Zh%u5t(!+^.n68/-GL5Gi5Q*2]Z1U6U33k-d9GGO$].q%[jBSd@9<k7O2`Uc!145,n"$QMUVi=f0IAjdQg"o<<^HDDSeDA_<h+aH/\&[a?HFPR8:YjH7Fb.Et9ib"eQn-"Nh`WX\/O(iE+@DP=UrrS2U7A(Z*8O>%E",e-S=2qJ^goJUk8_V`+.qs63Ss'@?Moa_+E+'doHiI!puUJkiSjVo=dW9CDpi]f0*g*=HZ*#Mp[$&lZe1sT%:0s%qOOF`n*2rE</';hib(ok5*2+s8.BY%SjHZEQg5_&5F\Pm(T"84XhsVenXD[%s4)'\D<P]Z=hO=S`nfhT>J&$sR"P^4<q7!uddi[XR@DN\D"/=6hgYLJ(2p0D]p.qXmA+r59@EB$2'5n&<H`(m27UB0?DoDrj%WM?U27I?kd1)Uog2O4gC)neF?8SA[@TiJa(Ts:%oQM1S+"&g(UkK7Oks^S:qdlqoZ8b?\%JgdalM<%lt'URpU,BR-g/uCH9;MGQOE@mEU.2MDn'u93S`F`bD1GbD[m9g([!T@=nGTF&ja*#/s<n7N*Kc"T.QXPe-l_gcT)3KH_64iU+nfsaL09*DB'G?0?O4-3BTL^>$q<np<m5MS5RWUG<n7M(_scb5A,o0"i;b&M9%_bb!@plbg+M/cXJQj?bYBCq9jFj)`67&rqpr^`n!`LN]rUbb%EO'`E[jhI_EJgnuL`gO601bkMsMdWCpaeo5n3t>V'1C2f*hZnDhCTfV=Mqjk"3/3/g"FHo_+Flg:[A;g[tJ+0fEQNP$fJ-:`ONnF5faEb`ZJ\EW6ANno,*-,L"1GUT]/%+=J#<.Br-IVG0j%'G/%c7q?]!%-/t3JYn8iHM=4]<skp0>'GKqJNVE:N^BR>PhOul?92_$6S`K"kG*.C/F583/plmO"]B:NC*1':QN7_DgW`[P6PnTS[nY3YA-Tcp#;IQR?*+Fn`QuLd_$'k(q64q1kZ>7(g*r-MYDRGUoW?d_p.Jab""&W!;QA1XiK7L&q'255@]jWj-.+@GPM>Zj%WJqqf58Q^92?>2f@1*H5blb_u8-;gKUZLV6TDc2(M<mQ\-s"C5e,$mE_bOoSToGaRY4sp".$bg,\?`iSND$B:fDN?f;ZjGb1nG8Ef,o9^l$%MK.T*qf?Ken,4knMFeqWL6o:HJ`:-beJ:o0FIPMBX*K6W*)\i^UZ&+:/N"C\^,kG=X6''(iTIE;H(jfq*7*MjFI><&]NP7\I>P'o?)Mi^<1Qa,"`@:`l-M%]h;uTKSTQ?go*2*'/@V8..odq.00Zq[7/pEGT6#>I%$+L(Vl"\tXR"s+nV431>R$+Q_Ab5?W4OnD0BX0W"/Y>+n-B#]9P<H,H/kZ'rAid)rZ!u1UjM5U<J.YF+O/K4/)$W=Zld"jc6;lYZR`n-RQS3EKQB\UI8YL>%qBf^XRCtp/`ZparQUMB3`Q[-A#3hOMO_#^]Q?_IYKT#.6Y8krT#Hb(6X80Km=.W`[qo//[S1],jj*AO'V4T:fZY]7BJ$6RX\gn;1p`d.3QH)gFnIZKG<0$9I$tg(#A^]*:$8%pd<e"re06;POE9WlXZ#M0QmM$d3G3:-PG.WJS5Z?T7QIAG]_B&UBOcAM_=#n2+aJ+[S_;&*YjXT#S0p84(]'XXP[^2I4*%+5=3o3d@nGsQd?UAHF.M1lqQod*n_U%a&[h-)M*U-&]$0;H=.N(ZcVmbmkiJ`2]QtS,ZC@ns2u)@C6jIgUhn!oV.D/_0k>^kTXWuE8WM-6eZh!3JDLn$u$gd8.Vi=o/r6tL*ei37C3QLV-.-DSF,62+,*L1[abg387$nPD2Cdq-Y)1[]e%`q^XgePKEQTjPmW2\!2OV_@2l'kk!TrZ:>auT*^NcmZfCU.Z$;q4D\^0J@g)rJZ)W)ujW6[.qsS0lh9\3J#IJ+YgW(1up0HtoA(3G1(`RiD@1L,nFY5!bMs9FPs%IQH'7Q?/(+i>^pLpUh=m-\83(dj&5Va/YXSXN.cX^UUuPadc9/a;`Dl0!OlXiT50(DCHq6IVGp"h_=9?WUBK-2Jga4e(,J.gbg20Q=?aRp6s&_7RsOp$T1\=g7P]qW^!EBc/.mVc0uqC8QKn-`KNiV3QLn5d.QQ=*!$&'l)^CB]85]e$X`h+Hf+*HH`;SqY^#X)UJ#)91&:M=bMD*/N7M!U]GQ!C3OjD0,omZVgY8?e[b3Ki7QH7#(\7L)c9U67nHnT4<bq]:</*Lfh3AN4^&?Tro[-M,3TmNWr9VSnV=0]Xo'r3e_J<laAXF"K2q,.UcT`A4^0B<f8)UV]-1BXekn0Q.gVbEgGE:$n8puu]>Mgq^9$_@l2<H&@ZQ>]ZCs2JL0C@)j^'ib1Ik0^F]_q[c3O??`jRMiO\GgLr]VNdPWQ7(FE2Ml^J,+C`<pmuke>^#>LC^mc_(B])$B%QXT@KHeI&ME]Rf<-=X[7#UlfC'8#3/alF&&:C2p=;NG;0pkVY>OC]_p6%HESa?]>;SKb&JqXM@\ebTAP+i3L`ZX<-[8JHLk_<n?=;_^0+6M$nq'dd<Bknl!H34fi;mN"SafcKD@O:T@+$(a2_E1?dMq.9;`_42EuuC\#Gaee(,K9GlK*NFHPt04`[YGe+XX,Co0hbS7?f^RQ*0C%HcgnhOB"DGDj.!F]\qLUkTspaU"s="`e%uR:EAkk87M-](n>j7t<-H07=np?9]HM!BO)UjW+9sF2$(/FLiGsWqcNQL#)4)pL=!]f0:]ITcYAr[+@#bh+iA2@;co<c8k7-mImhDn!%u!O=ESDYHneSQY+3]r:tsS>*Cn9F4=9-ptI2aO$3n8)r@UH;HGh1h"t[YMdYh5p8Z^\Z'Q+':?,'=g;0WI:\^D4GLsUARkfBKWr@<XcI#?TTRWQQ$E)ai3jl^;oeq;TjepOF7U"ei*n>LVq/C9I/j%7c1LJBk-dVS\Et3OoLqcoPqX!)8=+WKH]ScW7isUETHL0=/F%_j(auP31Dk(n*lXDP]9M)\f-Cd,>,?2<W^:1N?aj?e9de&m;e1<_!Hllno.n*gI+3X!9V5oWiO2bMU1.hW7I4JOHpT9/kIhl!j0)I,0nB8"Wmos)F[RIUu#,f4k.eAc`Itl`Kq&8jd%JJ**Lc'0e.c.Y_c):D,.aPV_]NF6%4&irSkOJ8p]6c-TcS;p6.^#h@7tAlQ>!09$(BDg*SX4Bth?+2qO1rDnl8^lNhmW[fh$H(H9^cs#hD-284&"+1)C+4;P4O9q!rsD]EXnIC@AcmA'r#29l7\9Po73>5!$<,"%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!14LA%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!14LA%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!14LA%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!14LA%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!14LA%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!14LA%KHJ/QkaWO!!!"d'ljca!!&B$EXi'L!1;:Ac8kZP5PTjqpk(g+K0LIK%fcS0zzzzzzz!!!!a2u.r*G"r;~>endstream
|
267 |
+
endobj
|
268 |
+
83 0 obj
|
269 |
+
<< /Annots [ 81 0 R ] /Contents 154 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R /FormXob.575524246c7c586090f6eb3cf78c0855 82 0 R >> >> /Rotate 0
|
270 |
+
/Trans << >> /Type /Page >>
|
271 |
+
endobj
|
272 |
+
84 0 obj
|
273 |
+
<< /A << /S /URI /Type /Action /URI (https://www.magentocommerce.com/magento-connect/dhl-location-finder-standortsuche.html) >> /Border [ 0 0 0 ] /Rect [ 396.7429 558.1043 491.2229 570.1043 ] /Subtype /Link /Type /Annot >>
|
274 |
+
endobj
|
275 |
+
85 0 obj
|
276 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 100 /Length 4739 /Subtype /Image
|
277 |
+
/Type /XObject /Width 200 >>
|
278 |
+
stream
|
279 |
+
Gb"/jBiJ="RE+L__jiN\+6K*h0[n=;cI>#!LUMB[[##I*WRI_>dPOlMPDPbiNoT0R0fFq9N0%-M#2AJ]$jHjS#g@0EA&']$)[o3U_X'>sRfl&#Z"!gGleHh5<kVu,#`,VGIt$pupUSV^4HH*2^@/I*Idu[]?N>Vaq;qX(#ln#hNR*UbJCSr:Z`aAElKnK,UB"\EhYJ2lXO#XV^'4S<ZgZ5\!5Rmt$37MbA&8TR@!2/_p]LSucDe-&zz!!)M_i8WjB/Z#CB2H\Bi=kl!..oh<MhJr8%]]0Y-?<f*O8;_/;]138m_m=CV$q%Knh`du7/+5PA'"?oM"("AJL*m\cO7d5M)LKL\.L(Lq3rO+\DNsio\*LV[AeI^_h#bNNL8(0`L,:=qKF8Qh>InFF5+0`<Yn*j4-n9Yk\_%-dFE&+ppqDmPA&I#g7o<T9>8,!8=Grqm_'f@k?sZFBKM%5<7L3",=.]2m]qtNU:4q_P3?d)3H09\@m=a0WZE$qf,I:0,7t#G>Y*X;BN6\Fmom'=<4YrO"lA+(m;cduX*CRWBgKLb\;pHG3OiQ]t^\'%,pgLoql`t3i!a-FW@<Ci-bS)P@#VO`sp?JKr=3g@S]=WFFZ_!l)G]-Z*_o6<qilVsPTrpKW>AklTnTh5=cg/.i]JJ;18WERl>X)#'i4bURSuE0[gU*6J>![,ulF%X=YCqI`Z72o9<qd&i7f'^:5H.RTp%D+(2`urf?=%>4O7]#MeZ=X:!7U22R[E[V_:8m<q#t[+=ak4>Ij*lJ?_:N*kiaV4h5FGh?AZnHZ4hm==,li&T.<q<%Va<:T`F=h+'@4L.Edj6.@UZ-(7#k#pU%N*_&H\gKuES%]l;AUNulA!%G(T:m(#k]/*6.)(Ha7hrj$PBDL7^r7T.t'Rac:O;E(8t(Hi]gDpceSj5hk-LY/V_UA!aKEE@/Uhd9IOH50Z@5K#ORnL\QX%qPokg7<@JT@VV$T-N?bccXd,gt:HY3'\lo]<7N.?`n.)3Ub,WZOu<J\t0XZKc3VB*32moA-nYiq%k:D2<A07Zq!j4hQKU:4BWGHEQ,NPm!n'K]V_ep1Ek&udqs(F6O'qXNRM4ENN./6^"QTT0+$Wbh/`1qGC#Ho6ET;@C55pU]irt]bl$u*m*1;kVkY`4j/).C8]Rc%6sXM@h(Y_R/>/b\ldV3@2,U2f83b.)HXL4\JY"96_5a*o0B?+,%;,IKXf<\R\oJO^WX!=MSbK4D@sCB@MY5+,3L8.EqL2F7H?>Ot3TIV_2n#jng;ATEdq._%IjIJY\7K\_7r.0kq=2:]4:=<RXt-m6NYfJH&XM&"2)sucf&RAi[22o8M5cr8`K]'oVs)9A_TP]/QT7K!C)`O"*qB;.<uPpVn0Jk]?]IdGF1%HZlH9'Q[T9<D<6!0X2*\0Ch=M;^kk87pHK2@`-,=aH?F-e&??nSC<Lf8X)?V))=4EKH4VlAm421&Yo9;_FD_Afl.hj/_R(DSLO^3.8Qo@*nM\g;2[;)RsYBZaf=C"uDk-NM?YXS=48m@Mnd<E2BA#mpD5IS1)EU%:!_hjK''>aGC)I2X$nZ90'He9\V;-07D#=S]NEaW=06,<*)>WCO137W.[K5_*FU/4f+5OKN/lMD;Hegn5:+n\0?:(^4CmcAR;=F7,*U55$pI9UlN#j'(Ve^Ke+-*[+Z?],83>kI*&?`Q,mV?NW>=C#"obi^:)kF["6G#6nqFcNL\<n-?_S9ArH=O>qB:'BB)X]M>`m.sTkBoT\:T(+7C<;%YE@Lacgr8=<ti`+=R#IqSF>)bil$Pb8\%VL1X[]2A4g]YjQH:Z/RG"#]A<S'%R+ncP?EqU/JkuXL\&7^R0Z4o1*U\O0\STec#A6Wr-,AKiL\mgU/4,-33`I[AYS`f,R?<fEK;&JY[$u0c#G+Q/]#(*-$"`)-WZ=2qUD')e.ldV6M%6-a=qJ0b9<.4oO;cLd>$F1_p+#OLV,fi*no<_+qEM$"V%D@(aE`OXXb)X!9F>2kQ`&?%)*NiGh&$kD'$a/4T04&uZeCUI0XD]W5P'(kHXS@]&^2Nd0Q#_,`?d\n_CftEF';cCCILiS&la3Q8^NOui4Z>(a]^tCd5`mSF%9ZbkV^SE9g9,'aOucLk,qhdpiKc,r%u\nU%Sj!mdgZiF$1bA=qod&P;90@Lii4n2H*c3X?"OmRr(ZZDT:=8lgA\CtJbSrK%\NFKnOWd8,0*pi5P<5p.IF'rO#6Nj1-FqD^2^Vn^LQgN:@M&4^u#[/ds]LPJ"N@Gh^SLELU@$RP(O5fa.,88Ht!'Uz-QVs^@!01IGo?[acC^.;!s#CnVp>hRJCW?Cs,eCJ.2`>@[QnjEBF?X$!c<L%&-rC?JNt=h#Qt3[5TgUD"9O->+:ne]!eETZ&-rC?JNt=h#Qt3[^',GPju[@_.;)l&QBSXm>u=bn>9`>+s'VG02>h:u>>C3(m"i6qI*WGhe62LS.;V"))lfsGG:eA@SRm;?_NpClOh)a#hm!;>F\#;SZ@?`B)!(q?QBSY;\frEs/:gJ8dZ^9d,GbFbT?CC:FENeam$/U;d[Fu-kI55##/T[p[V<XAc*ahi>F-=MPj,93bl"ljP3tc$1d)aH,].%A`nWHmh-fT*\r)!d''Ri=4BEiRSCL@)DmA-_EiE\+AF4M3dD=[7`"34j-\EOC_R?KEb9iZ[O"F%cPfX,!4a<U2h+QP,?ok3]T<'iF)ge\)TJ<p8?Z%Q@KSJImaY.Z(lfK<gL\.C^H]`IUo$KnEe(dX*]9]Wo[rDYp0d_*%KS6maM^Z]?VOqp`GDFCeMt>V[(FN-;#1ba[-&W8;``kAMVGXZA3B4Sa85:Z3/'**/c1mIlc<]"'rkVL5qCg3eZ24j\':N&GYV*4BO^`BYGe90')ShBflbqVn6RZP[\q<]T'd>4iBl"&t1"7a?eK2S;%hQ-K'ZSC0ZHAE.f\[7g;MrX;4^(6cmc,4g)7r10eJHZR/8Zq]Uo;Fsn8!Bp6)P4S8WEHem0mNn&)q;(3nmpFT=F\/EV!\7n2e22:W<u$HgoMj2QMJh7(+m3_5-'?CJ54IN?\`tJHn2-dWcLhn2!3*3bt8QU1?Q#hmb+soQ\Y`8!_d@/P;3]O3>thpXl1M<`JJLB[7+430m.mo-R!"[*`raP8!Ti3D@onKga];>^Vd+AHMTNdSX^5L+qLZebB`chSF8RBc<maGXO0V<):tQ&jj59cU_Gl\p]Bd(lGjB3fceu6-!lek=?e:gR2#Z/p9W[1&nY2NJ7Db*+\>rT%$lgil**2$W63&GeHL7lKWXg4sVoW@c=rh$9:i,O?%6`f+6VL>#%V;NgFrFD\7-T/M-fI=Me--_+@nE)bZ$!-f9'0m4^!E'St/hG*Fj2#+LS)"`0t\n$5F.JZAM[ja!@8#bqb$Z,W;]g??)la^G6(D.H7ob^:F(A(ODSliU3jp6\0CHt-o)%'q=Ia?P>Jmku&Y&)\lAnX/-7jMqDpnkCLkf7&[=]o:WokK)D)=lZXN9uW-qX,`s0OB9[mV@Mi^NHQti2Ia<FmX$R9C*GNh*Od[900"kkf<`r)50,n@NBJ4a3T^I4r[)7t,L]t'd7IdUS+Gp+g$9KK.1i9Ea\$%i=!>PtArTBP_p^iD4HF"&.eX*)%OAT"o%`Bg0Z89V`IA/Wp="+>*qqHi>$bEq!JW,nicTC.a^KpMFoi&"eK@%MW!8UBbp6`VYG,Jjnc+Fd?!$E#)?P)MK2*H0P8[FP^G]Q6-18;qIqg1l-FXk@_Hr":mh&EV8&&L=GQiH0X;H8hkTCZ@!R(/n1!/C5(n(94+lGkFlh87!:H\JR_i6(QPH#/H:*Kk=5`iubmd2P)*G\?lj3%.X.*nYjBue(U]1f=DcYZDe6f:.UJ>C4`#q`K)H")?G[/=T+#c<?[(kQ,8P0X\&;p=Ao`4^m_0Sdsdo%':bi'.ds#!+?P6?ZLf]q*gja;ci+N'!Mdh-A17L2Qs!rmD>$6)G.V8a-qI(O2']\V7S"]Nue5>Ma/pS%JVP6Zt1'7FMkB<ZK2O#Q1ir?fB6]PZ!GDs6"cg5ASb@n4Xms+_[SWO8.[]>U8&qjT2ei\?dUqUbU#ID*FPKBCH0AHcW+\+/1pYj&f)_17ml"%*k5&[lHH"5;_/X);ff+mb8N+Z93e5]*q,+joe-frWSL5JN%=W\cIli.Fp8nY!VrV@DrBa_487in@7;qfF@@[mX-=sDk/,-\FZ!X%i^HJ>urVMchmXP3U"td4H3/u3F:XTb/d[%qeG;=#of5tO/CZ)^VuTWP?&7S?1U7l$opo?%*jklon:D6KC`N1M'h7N"d/Y&eel:GAZ:R]f]uA*.1i<&pEs(>b]m#3$A5i?i'RmD5K,+EZCZ-^7!UiZnG'eB-c\dA=d#=G4Wa<LKaa?FAU+OirpSmlXd!fMS?=1/pN&OTj:kNgF&]1FQBfEQloAj;[1p6s'RNCk\&3[%_:[!iGQ(r$JP;U\B1a\po$<`Y)'e`dND[E$r7g#gfB3&2K=r%A?]Om<L?,ET4//n5rl#N6e=f"(OY/2GDnJ?@`[K^s69Nne<um.:+3*''j+n>/r&uB=h:Tt0lh\qn5c/E.s-EcFpZAb[aldJ[d5)5"cG!F),\R).c)!Z!>tZ;=[t_Xl@EZdG:gNVjaV*ge=n]<RCcOKpW[l,>ZiiF4QMkY->>EI5lAG+7K2"A\)Rc0+FmBA;!eETZ&-rC?JO$ZC4qME!K";##KqPS6>9TpqcrOi9\cRFJ+:ne]!eETZ&-rEEQMqE=kVli~>endstream
|
280 |
+
endobj
|
281 |
+
86 0 obj
|
282 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 121 /Length 8421 /Subtype /Image
|
283 |
+
/Type /XObject /Width 300 >>
|
284 |
+
stream
|
285 |
+
Gb"/lBi%dlR`D>g_c0@TLT-`2R]=KZ]f/M/1Qu'bk@VN>d6KWIcp4oc#RD%S>_>=IY$2N_A%W^=+sP/V(fss=+pbJF6T:-->VI]QJdBH3o]\OKo:4\$jn.d>c*^u-:AmAHo:Gu'T(hW$s1[Z<2iga,ih%>!@Qd8M"@3T7JK@2jl[g0G&F4oh6kJ[9*^gS*Jf[;kl[g0G&F4oh6kJ[9*^gS*Jf[;kl[g0G&F4oh6kJ[9*^gS*Jf[;kA)r<1(b(^[QY76S&coQq+97hk\^5s7@Xq-U3n.4Rr\<uFa!W7*5!!<UraEG5&'XnQ!'>-*NGo4-+9Sm&l-P%gU'iMh?-b.DE^)\Hpq%Its,lF>?B3sW>f"2<]2QKT*'tm?!WgA-CuK,b*jd8"V]ors[s9#\LN7h]0d.U<g#Oa?pi+%(25U$sY/N7.:8AiWSF!@1F(RL'`I6jET7T'PgFc2DN2+kqa-)J!*G3^%TJYj+9>#a]\`aRSMuHQ5p\mOppE030^^_>N,Fef9a?U.WQ4+*`BMH9p$TsUl9;m8Q;17RF\+tIhRd&^+[e$LXA[=)gIa:End@7_$msah!Z#PZ#pE3<_[m\=t\gd.l4QrUIBAF/K=<6nYj.MH-nbU+rZ*?$FJJ^^)R0Mk@CSL,\@-C(mn,/Gpo1>\G@<0:1-OuJY`t/+57Un0P45p&m'#P\Vi\'m;U8H/u0Me:@Mkg09la!)uPJakY?KD/[.b?3C@cKW3M[YnAH['IXXB\9Fq`UA3X*M-32Kg^E)rm^+oM]j4CF?Gc/le7n=8]GKhhs^K*nU-OD@RgGTrd,3lPjt/g4^KO[p_i)$CF]AG@"%$n_j!YG[,UQkWRH:RH(&X.\cBmTa,:0%+db%kbLT)&L!_I^2R`9*SiXX%!C:c^P_sgo23T,:R9H#k&qpcYkH'sOF\633.isXi:T(%"`*Pf'@.1?iV4Z_'9U^jd1.4A6W1+2K(\9gmr/qX5LhBO8/q7,EJ,\i$=pI%B;tmUb7;"?87X<%%H`D^8jRe9)@m<UMp#K&?I0/A'\^Z&Rg[NQgMk_L]0/iP]Y#-)FcEQjVcO?mg*3'I[,mWj6>-)UPiBui+C<]]01R;K89XEPLng+768LZ$rA!f7aV;1rSV;>E8<FS.p"Q>?VLY?Q>lM>\k`8NVro\"*&^*B,/\DDpConIc0)Qs85`?bS_<Bd72V_IfE!Xa*Ka7P(iSGb-6#!oO!]_EZgXLD&^6oPn*kC`B5F`@q?!bSY45M-WAFfF-iJrIlm:*1&BeR??K=WM=PF4TNSFtr4W:(-Vj!*lD.?,NT,rP'164;Z6%\N`h]#m4a8nY'Ke%&Q6#LjiABLZX?5PcEXRDPH.6JP3k%R8b8/Vqu+;cFeh>PdN\Og_rW)6G8FeOA2lGd_?ns+=Q1@"8'sCVfV67+d)"4ZKdqs%LF-\2:YX0""RchTe:t(;/#Mcd-ZplYP<`[0Jj2B@!ijiGOHeV^@\m[o3>IS%4Pa\D%/Kcf6QMD($:r+PfK1H;Hh[Fu%P0K!SdTlYBI\?+nAG\Se[5MeJA0m=!d@<qP\fTDk:*8nm85Rp.cToB+?\"E$BlYe*jj3g9NipRpab!c#i3'WQT;2['V4f(ILLLbH>\d_K`-3Uu\(>&`A;?ZQGo8YAL14EMgjkL#0tcj2B<UBbEc#5=j,9&"7ggA>b<mj]W_qm"*[N<b0m0/K5tm.YU,T9UXbQ*st(jKLc7%A@u?bq,^+aC)tJ&)jBhV/,p#=7V'"*n3uZS]p`:W--I$7B(;nOa!C#_=9S\>XYXBSbCcGZ;sSn*>an`3<#hY%r"LGW^$>$1nVY;K>^;pZJ^eo.i1$SVMlr_KljgVG/J::6gA'$1j=FkeVXP';>("25`D=nc=#j!=RnRCBHML><[-4d$OP#DB)D%6*$2l0l7%])3euO/'h]M>LH#O7e_QS8`80O%[dT2m)4&?IO+c.=^>1E9]nj%E[i[OckI$\Ah@o9sZLsl;*n3cTo3b"NCT)QC^rChE:(@;Z](IB$I7&u#-,$Y/-q/9VQUIE9mtMQ[RTHlPaY3)YOEu$@A#FYp1t*=G&#OXOWFh-"G3I_Z3>l?'gOo-^ioQ\bF\XDO#%I5_%#3Vk&u%7$Vk4ubn)>.omRHHW23)a*pRUd&Ib%$M9D5nUI=7i47+?H;HE!AsO2p4)LW&&qKp@Q9]TF2E^h01YJXg5i([3$`^9^2J(O1[fL])1<Xfme+9f2M#G`'M`nIHIrEt)-P(OCRRC3Q>cLBE=Hk]!6$"*@.=&"6K2D.a>Knf9]5%ZV%5;;Xr+`7iTZWm%C*&)HECbUI3gGff-p[;2<P2Rm=PE>hJj[0CF]h9Ck^Dqs9J!X'VJ0mXBsV@YH221OB7F`*2.Ktser?>E7Q(pL'?me1[Mdq59h3"%JQUB_BA$B[nQZbmf`U'49G(-^WiY]60$c'<nCo&@l9rXIV0Tg]=p5R([*Iklm&6kEY>:pmQDmk<i]ICK"INe$74!KGth^(JJjgZI+h4B)?Z5QEPNUB_BA$BZ"]^)+8aQeE0DE,.E/4Pf;sm$iN[mt./"$3jlC%\XJ0JH04'`ntSWaOC9_Oq&6dT)\M5PZrS^0/q*=4(LWXi#D`?i"-gc'F6s9q4A4m#8)V)0GiMT1,(#(^e:C,&]ECr#8+ncTEc(I\tB9?`4DTH&]D8R#8+ncTEc'^*G%j?rlXFj">PWJOgMd"Wi;u!W$j;PIo'0H-;eZb",G5/Va(5;bB'?^&]B3nJHoSig=k9Ck2t7GelT%]]mfpk;n9^S*'tm?!WgA-CgfBs+G(I"r-@taVb]BWC`ihbL$?s:1BY>*p+:0n*6K)!]$kD.Q$&"P6nr+C1TG4&DnMFoSJ13"S^dNt2U["R=mm%PWiE(4Bk_#96'-ZM_K>"XRDHB<`>o-055a?2T+tS@9.Yu-ZS1TZ5,5\)1$m)0Z5Qo(AC?&G%G:j3.39BioX20;Zgf0Z5\sjio\dqYm6OVL_d-\uT@i]9ou&27Sm>M?jQaO)EHGL!,-@_=Y,Ypr',COqG^(@'n$D#ZkihbJ#6q`nqeh=?3F_,%bG)M"\RNGP7=AmQ3=]=\A"&?DHF8Q_*p]ja`@-*sQ2B"bOs>ljmHk'@9+If:/G*2F.S;ME)SZ8g*??/:4:!\R>PR?T#A465%jhu4g#2"u1[hJ?dlp[=_p?a1>[=U>-@1+iaO+YTP<i1X>N^F/Hl8'=^M^cFc^(S;Z+MmlCS!4O=kSkp/Bactog<>K$0rB"V7iaLBI:WV1@!H(nM9[n;"Y#'DJ81U;L/;MeAqeOJk=Pg-..>N/`=GuAioNB:@gJC)-Kj[]=?t8%qf$]LU))q]]3NJa#guFPcA0X]&qU.BG<Tnio^)3g&Qp60-Bb*q4YBenSAf\U:@GG0GbDR.Fh'uBNJhgo\me-)*M*USEa\#1;6t<c(=iP#Jh[$r5o?2CBug&<,Eb4&51kbo\dpn4?1r$>>B?cq%c2AT=C=6jh5>Ih+n)i9QIm?e!mXok8*s)Gl78/-@0]+i48U!+IjIbEl?_o5S`nD!gZ8pofPcH9N\2l07BPMnY)?X2p05*_;`$>!p@=oW*Y@TWqF6Nf(_ZE,4phD-6r@=A[/pVD:*.!Gjif`3pY^>C*!4T\IMBcK1.>Lip(cM^6l-"#^rCP%;*Ll4?1&1as;TS0coa:S<B`pTu6-ueN2>e(s[8rA;sq/mmRglFMF:^ahAd*n$qM!o8mMD\(uU?s4!t@iH_Zt4RDM2D+J,e#E)_#`MG]<=A2gUK_Ck'U!XZ5B(d?063c-s^>:>o8'%ugY-tJf<W/)08X,-3`8,T]*kZrN'h@jX38kdj,^L#q7DBbFX=IkSa5"Y=QhmPtobgWCXrJLDj1=<P.s9?)W[/]s=VR4VB.PCbV,u05Xqn8Hg4I=MN#j7@3VW5n]=<-@KSStW]tr#nH$8u.SR"RbS\9f.kcs2+_TCC(-1SSR"IV)EZ0Ej/JR>/T^>IF7p@e[a*Bf!J!i#Ku(iNgqgm1TSn*b;VDbf_km%s3\C'ZR4Lk;)60OKT\FpmHE/_cNI2YeHciGZ.:`9PF>AM#PbCMG=L.r#!+#o](Y]2T(lbB'?^&]D8R#8+ncTEc(I\tB9?`4DTH&]D8R#8+ncTEc(I\tB9?`4DTH&VQ9%'22O9oH8`&;'mY34FU7Sp$0NgoQ*SqM=L-+Z-!N!i"-gc'F6s9\KB4O#bk,J@/mF0W@8]&).dAj2)R7P+$Zp/X(tOLYQK[-#cBof1([Z'_[1TB2/n$6q(-!fV6o@D,#7(qVVqjESHM;;S%P#9'Ll(Pn5T@/(`bY;.&X/HhY>(?75`?^@B,(+15j-%8)MU2W.*G;D"caYMMsE90k\)<s7j:3F=YDO-6T509]rf>`3OhUW2_D]F6?;&>?c#an%c`Si8EP?d*T";K,lq)7Q:PQOF\68/BKjp&&,^;cWRoa;<t`S>N^SRKO+FC`Xk"MjX%rSiSgN6NZu?);PsjJ'9haL[\tNo+/TC2=Y-a?qR7E(md$tSQcQ&D&ns:sk8KrHTrIq=S[?YdDXP/&;]aG3IVLtnYKY(t!\7Q+J,]f7"p0m;(d]dq3$AgT?H''fn;+7]W=DG`GPaB)hgT_*\:gVpH-,p.b:,.eI%CG$C[W4UVn-*V[\T^X.N0`sZC&tCpK/-6oD!>:rH444$KX2Mfl]cl2g%4UUn"^<VK!u+MJB$FN`IeQVCHs3O+h00:7W2kBr!R,A6"&"W,fRJ\GF.(i2&a-!k1T'n)Y+,lQB+X:tf%*&H2I"'D*DciN<H8e1[gd[hncQ0)&\\-GVpX%arTAVKJ!V9[i`D<E`R0@q-abH;_`l"<[e$KY0/QP/P%\dIoaO15;dGib'XpH-lr%lV3U_<0rpcG@h$K_LA:mogj8oJV^(a!\*GuP42LuE^MYA[V@)NmT)gs2gl2l<hV?QHW*l;P.B!fD;@j%0emMe9NV!GlkoWJSMVBuPYJ+Q.(l>W)i*hTi)6E-Kr\M7W2^?]7*N&(Bk'kt9Ck1`rEE^UKA>DN2o=BP;+5(fG\]4I7UQ*KdZO)Cm@1uN6'fJ_FZZ7Xf:4pHm_t)#YgP7Q&-O*X0nd2&&'?02`N/d*S#Ba*?9.;ih,^%aWe@.E]VM?![*mVVoQ9Mdp&T#18X:YK94+4\k!Z68@eH(hE:u!XT]mqj,#bm.[2ib[_b&TS,7g6Gn7gN0[^@_F2-:8Ma<6sKohh*TT"N.m??P1HNf^7VW#6(d/Ps#\OkC&6f2%%>6+7]EJS705hjh3u4n)W*r0)@d`bX8@VYK85Wol[:2hgdIOO[%RpL#T*lIDq:i%fn(!s-K-*isdZ*[LX.mr`^.='d^c[6Z3s0(1T%_GOTF'(.+TTAJA/0pjnD2CEJ0JVW'XX@l/$f>Wd%cQ&tA+;>`?cueBA,#bm.[2h&%h2&4t7NOBhiR=`8Chm=FnfWR$6IeT*igcV+CK(tT2gIPffr.YVVA:RcCm"N"T\E82Fg.YrH'/&q0BUJ]&=T+<<I1n-9n?t65Q"F1l^TZtNG#l8'%@tuHW-:oaDRm>HgjmIC2-gOQ]/lf1(Zgo>P4X_<.!7tYVW7h&)[9Rj^AhQ,AH:s9Hrl6Qk[C,5BX)^D+VjtkG^f83nSX@6<Q..V$BGdC2`Bl0N?c%Xa=cp%^O3N)@QGjSWiRdlft7f[;<Bg/X(Cu7<4(ERS#GoQtq7Fk[I!I-\/1C;-@8_laE>W[_#gn@b!MAcn4K4=Y1':FY:gR92Rn+Xn!T_0iHIAA6Z]Ghh+_Qe'kq@]@hE?A0?Vg\*H>)b4s9>F^_5L0M_H&N4BR]U:SfH,#>"Y_nCpaY@tP3?ej1EX@l.qQELr]L>H_q+c!?YA*f2I#8o#LRB!sBc@^hXFY>U@29"V%K.O=,p=Yf#[(q=VX,k+cFglAGP*88K^Rr!Lj9hi.:$6e`Tb]&)XP%T]oq6k*j[$12D79b*kHUnk8##MrI5+XK*b8Kf<8W=(04)9sk*!('5R(['H-76SLMs!nf[p=?^D8Y)_NALnF#]?O^p.s"FRY:d:=:;W5Y9([SGWHs\b"tT4oKSs>3kLbY,\+r#>'N]p*Mj3(=RH4?W0pFDgIZ1F&DO3[/V,N/_t,t#L-6jV'`3hAF/_L57`*&VhKm5W,CgJ0$6uuPW%+Z\FfW3q#-kFDqqa/=qAdD=713Oq)45DQWAHp^)1Q3_e1akAt$F=lS:4NH?snQ@O0t<!g%sM6Jf-UOdV.S?_U9BQf-=2"o0]*1K1[kRe7fE5R\g%A4-sBCS1p#!CP\TQeU*B"tih.DBJosLs^jrKKp&'UQ@^>YHOq(W)0UK$jHh8a?][s5EeBps3Jb:7tqt(F72^H&m4;SDH$5'2:[I9Wh64U,Fef9a?]Y]J#e;HmfM#5IIcNe0C-R9P/>(f]Y(oDm-NKL%<gY@)W;A95\AuAK-YaS60P:u4%of\Y94c!A<VU]<feu!1b0(UWDh:uW29OQ$],om&8Qn>6kJ[9*^gS*Jf[;kl[g0G&F4oh6kJ[9*h6Ej/H:(X*Q4+$K-$Odi9_Ap`(/Z5P+DTtOu\.9S6@<O?Jm!q'^3AI"m*RB#NVEW4ZKPD%k:KEBT]2S.SBDq^*jm=Glthl*)_bCoZ0],4ZKR:*mYM_d;V6VZmg4CBS/c673A6Jo.m.h]M,O!=q]@f)/LM>=]&<r$)C"I1t,Nt"D74"8i]K0aIHat4C@\#pm_"g*dVd/6$Y.m[K3Vbd2Ghs6P())WO[J?'%MH1f9d2DaP3`)Ca(@nbL*#gZ+^?0U5<[NEomc$)D,#(WQnHGRTD9=O?KJPGLg-K4#ZeKL&%mWn+1'U%o+XjKCZOu%=ie#)Xe8jMX"uW?0\<:-q_b7$^BXZLgK,\1S\@7#QF;(3FpF]U]#h0VXoQ%k;i*X?U^#67g5;o,_5A7l'1qc:Q>pKe4!+mP7NO@A]fhc@`9p3AX5"1G>^p9#cb.*Ui'/nXkBUsfgW<X-'3sA1k!a<iKZ5LQXm#R<OY_ZFtAjB?:(l*:c$&XULZJs#8gbt.Mm1#=FhN`<_si"nX0F-1SDS<2qUP=Sh%R^7t(0,a>cf:V=TqG3_6IEr+TnPQ2/SONks#nb9Q*0(s7/18'-t'nr)Cc9#3K$j<^Mt]WhIR'<"B7rFjkJntM]Qb13aOq.NnfH$,[P[=@O;+rU-C4S8qOoD1"`F.8ms0d\P#ci/tTn(;U8W8n1P'/aJoMZe-Md-75Rf5S8EB+=[@=WO4W#^rf-m`h&)Mk`,RHcU;!Grg!O(ga8hb]JmdkeUs:GYiSE'*G0D@<=F3.8*hqh>4>Gl^QBU,B&O9eGQEGLUto@YOUBsC0laFjb;%#`Wd,YCh6+Kan$Ribo)rERI!<A[7k[k00_@Q?D%]Kqe`n?C6rj:.2ksDfDXeqbu-IFP35&`V0_dR*8-HMAS4BOS!!9O=mEf684o(nK\CnqcB)L7m%k2;[$1nh3iEGneI6!:h>9T`HE6U79:7H-m=<=1MQ(r=5n?^@^k9R45;kdo_3$p,ju,YV&Qs+91>oS5@jIc@TQ-3bZua_2.UT.+QunL+/Ff#(g8;X#p*e5dM)aduo\_pdiE>dS<HtKuqJ(d+jQ5KuC;I^LY7\'-Wk^QNoKUaa<<\ul$Pi4XJgj-Fa8!r)aAU7d-f$r1V.u?a\]B"#9Y=D"h.$h=E*>PQnG<_):u.$ZlLKc0T??-r`52J=hu6Z#2LrS&8kj>`no;ZRYOP:;eQD/]bD"J]89)gGQJb)LRO^Jl+`YSinmKKZfaf1P$e4.<itjiI&TR;]=mBb-Tl4bKSrE\;)(8EgrLEZ^6fR_V13^A.ViUKPO)J"$7*I)n6C)<U::bcoX"X-"d/6>"?Rr#AYm!9MXT/l(p\`;:m:S2LrND&&$](E[``GFe"p3g52.r,OM:%VYjr]hgaB:g!3DRhh,%kWF!U=M"IT]:!]]S0dF.DUTn"g9%a8pOMgI^c/*PES%'2GD!J@HnWa!<Dr:mMq@YBi&a<[g94Jb8#P.^1-pINb/-7?3MLnmh.S"WiLt:b,CnR2!"Og<iX+H\]A10(nA./B*0"`NB;TF(r3US;nU9M:)4';WAe/pBWoAXe7edo0!1t^RG3BNqTjD/V;.6-B+_L,UAD1l#1+(ln%i"_It)g](6$`9!Vnk::9h]O;D`4OF80B&+1Q`^IKq:W=;q+f[#o9e;gQWoKOJ%gFM#%0M*;;;b3eafeDnl1c8bbqO'o@+/0e6A@o>*<q](0Du"E,Z%llqbiR8pO,-kdN)S^c2;Y$RO3iO.$Llup2udIuo69i6+im=X4ZKR:4LjK[BJK0a2,eg3VLT_X<e(F12uPQ':4XIV<e(F1f)HES:4XIV<_sirr^Z%?!^/NFTKF(a&'-g9H>m$gD[5hC@`b-+%jHgP5n>/qF[6N^Likuo,)CA-%jHgP5n>/qF[6N^Likuo,)CA-%jHgP5n>/qF[6N^Likuo,)C@B%jD9g?2bA64Ds6~>endstream
|
286 |
+
endobj
|
287 |
+
87 0 obj
|
288 |
+
<< /Annots [ 84 0 R ] /Contents 155 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R /FormXob.951dab6e6d9000cdbeb6f1e39f570c2f 85 0 R /FormXob.c37f45addc2f33c7ad1bb648907f364c 86 0 R >> >> /Rotate 0
|
289 |
+
/Trans << >> /Type /Page >>
|
290 |
+
endobj
|
291 |
+
88 0 obj
|
292 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 99 0 R /XYZ 62.69291 726.3543 0 ] /Rect [ 87.15291 617.1043 167.7529 629.1043 ] /Subtype /Link /Type /Annot >>
|
293 |
+
endobj
|
294 |
+
89 0 obj
|
295 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 417.8543 0 ] /Rect [ 236.6629 530.1043 335.6129 542.1043 ] /Subtype /Link /Type /Annot >>
|
296 |
+
endobj
|
297 |
+
90 0 obj
|
298 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 590 /Length 49841 /Subtype /Image
|
299 |
+
/Type /XObject /Width 1061 >>
|
300 |
+
stream
|
301 |
+
Gb"-6I;BkSRK*-l]%Eb@U5Qu+[srM)Mo@;lZ"R".+G<?`+bC*$"Jf:'.L>9nNZ'q[Qk0NJgbRH7'%KSWQZ3De"cA5>.Kk]JDQ#ChJqcl:<kk,[r?Yq4:k;=e2OW3h-MGqBdo`"p%>=YgpUn_3o1!FBH8m/4qnZtr;<5q]cTLANchG*!kKX).zzz!$"+Ez!!!#W<Wfl5z!!$sDa:/+LzJ3uS>z!!!!=!ceACz!8nEM)ZTj<zLOe.[z!!"t]j9>Saz^`agZz!!!!/!P&42z!,r4b%0-A.!!!"L6U5Mhz!!!u?EWZ:Azi"1thz!!!"SJD:,)z!'#X+\KMYbYu"dDV)o6Va]@L$hm0g)m-4qRg:7=dz!8mib95Y$'0[UcS6opOVV@u?KFS3mplru&4j]j-r.nfd<49,?]!!!#W?slKBaH]_T.#_9://!pc$i,KU3kI]>JlL#@6JZb.UG%kQ0EiUNKY"_rYo%bsqu;H_;Ira<b!a=(\4k;ODTJ)Z1<^P/!g1%+Y[`)Uo!UqrD'`0n*B"6)z!8pmcD_mZG:BnEjJT,^CThqQm6<[1YF`g4&KoM'Y3muj7QR!K&ac3IkBKDL+QYY7[q)P]T1da,pXq7BQUFnLdN>\H6q@]45H9N(@58>HECJ+CN\OnDS&ZY.)M.fT1,ldoFzDe&gG\5Zb[AQ$Vu?Y5+)"M(&hld?A;=1R,M:+1IkUdD/pX"0VTb&`-:Y&K-\"BB>1(&D*qI"oI$@!PJWOq)K2'8e.!10j,Fz!!'Zl*P!?UB;1N%\u]H<@ZI&@#j6jM.Lgt;<ViF@8c17Hhb5o**X%hQ1K8!4UJ,g7>u1a9OfGY[$0@.e<Ko&<8cQGp>F8&O\COM0"98E%!!!#g1cEZtYiF])\V3^8PDTP-6Gm&2Q3rId\cjRq^6)%mPZ&K*DJ6b.MQ%![n`5GSGbMC1MXA$uc-c3B862t+VN?c@\c]3R\LNiMFL<Ba`GR.*z!5+B+buD!1:IToY2Q,tNF=tTm1eHd4jUAWWW4;P:DT,kV9Dd//8&\3SPcM?_E.HiZ00GH9DCPVdz%KcE<rVuouz%KX*@z!!$sDa:/+LzJ3uS>z!!!!=!ceACz!8nEM)ZTj<zLOe.[z!!"t]j9>Saz^`i'cNOJlfz!2)@>a:/+Lz!8%O<)ZTj<zLOe.[z!!"t]j9>Saz^`agZz!!!!/!P&42z!,r4b%0-A.!!!"L6U5Mhz!!!u?EWZ:Azi"1thz!!!"SJD:,)z!&t,B"onW'!!!#7+Wr]Dz!!!K0\H)[1zE!XMoz!!%O:fT@,&q9*.%GiOe@rq<h%-HM+K^]$9>6YC-Az!!"uDfT@+@:n0^tHFjLE:ZMtUW@\)MzhuI1UDS5c(M`4ACp"!?P=H*0Er(PtojJ0,H_`hGr<(U]:/<9Q4rn1$BX1UIYp\>#SDooJs7JopA[_nt893Wq<POTCH(>M2ZRj:]G?P^o\D;HP;FF9Ucg"/;H^Ze"a%j]XlLkCN&\Bd+F=DRqg1;/ihE_Xus/8["6:J;KLlOWB6\2*J.@=7hMz^l0;EEU)&QX*QC)]Qi%6G7=rhI/j*$Y>d"4%8B%/2$HSLaj7i0P-YUiUfeuW+9(Mf'7%'pgu+G8?#i\X8=M,&9.QK+Ea$"1h+Ob*^Ugs%5]%o?[GpK*VBh(hCTGG./MN*jglREcGtf,ELtuhR`>-8\a[u%'HRFh,e),%7D#jV:!!$nXm)Y0&2Z!_BnTasr)*e/sccNBO%F%'eXi6R4>[3gBnmZ(F:Oa,SY9YV4[uLu^*1Y>jZc*KQ7Tauh4#oC!/-ej#e)X9\>+QZ*1X4?03,s>*-i6eUEGDkI]f8-"Z7%2C_]PN6T-j"X8kQtb;qG*Hc,KHs0>H"UI$$u'G55J<M:q]%FWH2e$Uap)pZdL;2Erq;CH=Jj.`bicKBiF"Ef[T<Uf?&43jlnD02M[-(lslIHRDnO?)%U]([8>Ph'YcE7&noEVe4uUZi9LJ<@4<=CL41[26-r0(1FcD/p9tcZWrqCf,1-N*Zno^T3bckASpWOT3X6HjYs`FU"*CIZDU@6QCg(+/hdQ(U[1!6/[Wpp^e4NELhk$Yq5_2d)7eN>SXjDsF3i78:=-Sn[?XnW)>$PF@@HuGNj6jY=6m<&EZs_,EG"Usq#%Mabl@_D!!&Wqm)ok/[NGPEa5k"7</PINA2;9Wa"DCbmmH?!(Bpg#r6rV/?"'+*("c2E8_<'0jG(u>YuhWlip<>$U9E"80YXh=e;B/_PB!&;'&=1uCBh,gCW2QARdJFeA<up&]s5(J>!#;39tI,DD(X5Yl+u''9gKQHVFQE^k>t9F7J6qKJTF-(4)o;K<*Yk1XDe!!CWl=Uo7lmY0=aqaU+,^+8o_2I4ADt9^/Pb(QYCJ'HEt%,LddJRP?Y/S8-LAekphb4jT`hP:Tge%DG%O:ihU//`!._jF>qqOQJAS(.^H9],ciW<BeJeF=qu7)OW2%)PGR!a$FBd%r*$529(/NNS"&3\ghME)%:XecS8!C1A[]lQ0A&T1R6pF>YL\B/[H$f!WKU#aY]l8N=Bo()D]CoCPI]K<NKP*9.pV%tA8u[Q\\ZCq/O<i')4b+\c[I=g]MZ'02kr%ljbAHsOiu*dpu>#cnJ8+56#HZ&!!(quN_R&Mh@kl<M8U5M)rk,^SpTlK0CCDNPSALkOba(53[BlMd2s.e'k+AJgmD3?kr_`a-`A.Ia\I?\#"L&=k*OZOJk(sJaKP*G?^<SDj9HqK'#:`>9&*TS?9CCj+(m%rMTC!c.Cg_MDJ,F[Z.ME]Ls(Otrj:oPS"EfJ855u[qS/4^RELS9R]B*#f6"!:07T6;\LFP]Ct)]tR="D@'%9ReaGnSY6-ZM,6B1]PonHZ+dB_<H-KE8qnql5^iEl)"Mc=liVej,-;JB072&W$V5/(9rgX5d'=^3tKTfd\@>?5j;UYSUT>jEO7FAoX?2rd7aXDXD28D^-l9MlXaB1$P:!!!#WF,g.KNS3"<s&?Q#c9$OUqqp$"<p_@qG`pC?,al*(<q`O,iZotRD`Q3UCW]m@9DM-Tf;kcuF;Oo8r6tl,;Dl!7.WT$emjY8RQF6ofGBSUM`^[L)13Au)N_c9P?=>YFFh+1c->?Cr#YN+\10.PBfOZm[K5E/;1mT[a4L+";WTL[#boO:tPauH%.]ua6^"SPe]@C.9;L.FE4g(A,&bpK,lP@obVP9KinlT!'"]^Rr)esLcb>p,(@q(PtATa9n?uVk>^ftL4%QigXHu_,/_)="CVi$YK+cl)$g+$sfB<OJ1dI8-d+ZENHeE0:o/XuR*hNbKh_odZI#Nh&e=+DDPznG/rXZQ"&+nbi")CQEN&.Q;P'HA9aI?\/hj-MZ(Ls.1@I+_LB-g1HIaLtP47#g;bShSK!X-Jb%'mo9mLd%:N?(0=S(l"9bJpmT]+DUA=-5IIl,=_!<R`/5[1Rr$&sD<kZ//&paRelGO@qR)flNmAfVge9Rb]sON>=qkMlAh(5DC@q;dAoWshMU]!V2os&(O8c-?@VKCW9jra%9ds>1OLLHHX2inn6.8fG=j7\+@SCXG[)2gMP[[AHocKc2h(5f_BJ%Ad-?lh3F^mF?@T=,op]2:U!PijtV6.]CJ+)n!lBY6s/ZO/a\F0i%0<Of)@fG&Dge;VT/U&_a/THtm"C!EpXrSVG%^Q\V+^2C;ip1\NgtKpK\>H)&zT2Y*tNTZm[Y-'=3io%kp[J];k^Y8)H4>CX<@T'q7MXOeY?Oo5lSBj>^5J6=I#!:kGS@J9Rc`V3n^eX']O,BFf`f@FJ^PI&PG#Kr_A2j2W7jm?^Cq$dZ`%Nr,ac?2fm9$t?("^8;8Er^aARVuqBR57N1==5RG0X2Mokl`=?N32@,'0W9Q,D7pfboG)1]Q#`=7'r()HUYkH##.[%oZ0I+!5E$DD\u#7B:W3]tp:)Y=h"`DkW0WCjl7t!n;!E4">+\%cZ1n4*a#9P.#dag?PV]96,ZpSV7I!="!f0ql+kpTNh!K^&S-5!!!6>4*'A21B,W'nu&n'[Ed:Q;<6HZFF7j"pe#7AZa`ELq+e"2N.5!(o//bB[W3./oAikuC3FT^fS+`FJ\&5tzi,abr\T.H9AKiOoHg\FW9q47eMYu_]Pq/E)Xg?*VQ"bC.`9/57[e_UUDpnHM+'`#1MmQJkK@):?z!.7PH,<%gcpuADVY?l+`+92++nqPH>('"=7!!!"<J?U7Wz!!!",+$a]Dz!!!u?EWZ:Azi"1thz!!!"SJD:,)z!&t,B"onW'!!!#7+Wr]Dz!!!K0\H)[1zE!XMoz!!%O:5]-Q%z!#u&\!rr<$!!!#W&<Ih2z!!%e)g].<Sz3!A:Hz!!'eX+?'9#z!"K%?!<<*"!!!"<#fmGTz!.[F%D?/jE$T&+NC'iP85&dWiJ@Shb[^$EKX!R*Z(>rR%\H/5<mHEYG@'5fGXm?/AC'g9.-"&8#^pR@_DINVV-BK1^3S]X$Sd+=l$/!BaE35FV\QT'CZ4C3@-0uroi*ZVs!M%'pkiHMdY*OU?liYjS$(.b>?n;,i[9CFb@K?rcO;ktqgl>^4#3KY,fZHBsXd4LJ=ou.<%pZ.]lm<M+?imk>SAXaXj_8,*Q@Q+("4q8oR&_N@/,R,i>/G/d!=gH<)o+JhNaA:]k%Y4Tb!'dHQ@QML!k,BF>cT1;-5PNI!kA?%_sQ[LBje*0J?A/?f4kVZX!M.(qnTUC_JWf`%OR8V^cC21?ChA`C'iP85&dWiJ@Shb[^$EKX!R*Z(>rR%\H/5<mHEYG@'5fGXm?/AC'g9.-"&8#^pR@_DINVV-BK1^3Bm<3'9m)4k%_qAY1L_;"g/#MFj+*nf>l(RlrsGff)J!L<pV.Ki*ZVs!M%(#B^b$aF1#L1fB_JY!nW%73bC"rlf7)9FtM<EH7p)HM$5l+5]-SbE';p%\\MJ;R*51!Ge(Vt@'5NXbOt^V\X6[Gop"=V`GT,c%OR8V^c>Y\p0K@*=$,Pb]foaTE%RHXA*.gF5$fjRf5a$NpN!O.=Fc#1j9BQ5f;$$G$d@.]\Ql>!QO@%+k3A>E>d'3TMqPLC:[,Ptlm<M+?imk>SAY#5n)XUl[::i@lf7(.f7LOoAhM^$j5j`n/_<pI0,M6W"ZVl7D?/j=4kb7n^g-8obOt^V\\PU\Y)\pnp%ipDQsIo.PhsU&DINVV-BK1^3F%X=?7mp546CRs5$fj\/XWSKk&S.!?7ojAE]p8nEj;*9J:e0h#&k((UV3!%bgh`a>d'3T$X=)%lBo+eYE,$.fsP'\l+L?g-5PNI!kA?%_t@^3jT9M2@kQC!j5g?oK"3pS0%]FLj^NBbf2HuK(V>M-31)sK!9\;ag3^BG>j[p%p%ipD^pRRQNg\)`qKTQ<?-Do*hTNlU@K?rcO;ktq>`\Sb/hg?gk&S.!?7p1KR&a`ZEkOYC/nW^U4f.mnZ("jGK*gTCE":Kp]pB,NeW.1FYE,"X>RT]ZR(6J*O-bdX[9QMl]j0nN(>rR%\H/5<ePLatGiJ^r_1@(8^nJeTWj3FZ>^YMo`6c<X^qel114/GDa$q73c1U6a^&RNT>8>":mtr3)C]:^>d?X<9[k<('Z)^[L>=m,"o;?3?M&5jZO$<@"S(Hk^gLlNUqW\JPG/cu>ns4&oou)p"cTV0Hh#mSoa'ZF=lI5Bk\[KgH3Aj-/Mo;P6NDVX[VM9IZ%csm>a'<N9b-ECDHK"\?mN1ll&,6B!VOf5T]3.;'CUp%bJ+i33s1mg0o@OkE='kjr;a:1l0Cc(2I,d^E^@W<(#&k!l%H&3Y`q_-g4?,$`.U?])pI,%Tm"LKarSZ@crioh94Rh@0_u?ng07%CZEj%5??b<\Qp"n40WONM?Q+&F&<5lhKV2OeAcCTUBd$A`KN:u.q,9HO"V8>S%K+F;>8osfrZ,$[sY.JDBB"%8::V9go1"&;^9SM-dqQ!*kq\-/X."?Ej>W5<:%1O:cqWm.?qZ]Q>G$appb#<Kp9OoVZ8tfOlM.KJq;RjJk36bFB"VU;pIX04#[b>_(DLCF!?i8AY9X1U<j,USjkjnP\IWXqW^UWUa52S;JnJfOYi"V7l^cC2.o/DS+NIg4arpHA7;eu[2-D,@nEctm8J+'_1>oY9+PiR5_V[H^5(]M>VKm`RLb1lCBA.'A!M=8,V^%05<[NILcj^Mi?J%q^/[a,p6*gh6Ek*9$9n*(iS1cj"@4"tirF*"AL<Q;$dW^c#%hRIg5lDdPLOL^`iN[g@BR>r3N4H3N?]/iMm2OBnuZ0[<HDEM*uo(JS'DnTV\*EV@BB1r9Ylg).FhLG!rbDeHpoTOgOpV!cF:]>\*TD^t2%t=B,O;ktY+?+gl\/4<mG]pa_:dLL)^%'fD"2jA\nu$P):(HslHm=]cHH!jSdSi`_T<D8@^@V=or7@"5$ZBss-Z+A0Yp>ojqn9$Pr`Qf4\Y1H2hL'QU32Ht>$VuiX*.I!Q2>>I+U,#9&F8a=HPPtGM??X`.4QK\34n8AALO)INSTnh,DAaA'n&3E%9Vn!@QgaO,W2m'[bE!/C*'(.hb5:,M8XJW*/^<Bd9e:W8?.>8,p\B,+OS=a4]dEY_9]lBPeM"W5arR,QqB*H'O;hPPJ6;(5?bK'\rls'`o_JCqI+cL;<-Ao_E%lju!7'P0S2V`SUNO,`b4V*^%ek3bileaPR,u=Vl,,_kHKUhlfDb]i8"W%ak_^h2ks,*g:#d2f%P)JMb&]`9q?r(+^4Ad\WmXUT0-;3':K36TDEOZ9NO.jms8=Ts@(2_/Ct5=/ZMeAC<;:B=GlGe"JB*>XRrX,ra:7&CO;ktqg`)+F4p30e\WX_>J)Z/TT70V\^Jn7RCH@^S:VDYW]X71Q<$+"V;n_f%LY".ZcC?n9Q>hRWWSNZlH_;EPEnD.f#M43`6aq"C*BebOP$<2-9f8oIEoU"5Vc>n@>*_<kqphKli94<4UK('^-`TUT-gbLqDE8iBgru:XRENjt=S,"m`_ermch*%&HD8I@`g<ru$?Q]t%H&3YN^QqU&,$O3oK.:N4?;7SEe5;H^\mZMiVpa*%pZ30Qd#-m[>Rb>MLUN6%<Ko::jkc8a<3KachIQ9CpqYQ*Ub(rlnn9G?EAJ4[C%4]6[UiQp6d;Jq[]AJ.ck:,Ob(MLEI[qcpk:(bHO^kI4AaqZ>cq,Ig_6Xfqr=U,(SG%a4uUn4J&0++H=ke"QJ?`NNjnXN`Lk"EESq[q)o+I=*Jls^Hi2_DIt,5JJ*`:6Pcru??\D(eHaDToEo/NiG!f4-/.&_n/!\91b1efP(Z@\uR*1K\cQl#[C\84qs+Kr3\EBGH1,_DrD.)^m;kEjR+LfU,eJ#-YIWB1V)UL]j(ghrs/_<c_&KbJJ)+i>mXF'ipKR`4<fpg:DH=,fT[k^uIn]]HP`g?f(LZ7Qma1d8C@r_ZYKF9gGj9BQ5f1/:`(RV6DF1GU!0,M,6bgeFh\R$@2(UInf/iUFJlm<M+?imk>SAY#5n)XUl[::i@lf7(.f7LOoAhM^$j5j`n/_<pI0,M6W"ZVl7D?/j=4kb7n^g-8obOt^V\\PU\Y)\pnp%ipDQsIo.PhsU&DINVV-BK1^3F%X=?7mp546CRs5$fj\/XWSKk&S.!?7ojAE]p8nEj;*9J:e0h#&k((UV3!%bgh`a>d'3T$X=)%lBo+eYE,$.fsP'\l+L?g-5PNI!kA?%_t@^3jT9M2@kQC!j5g?oK"3pS0%]FLj^NBbf2HuK(V>M-31)sK!9\;ag3^BG>j[p%p%ipD^pRRQNg\)`qKTQ<?-Do*hTNlU@K?rcO;ktq>`\Sb/hg?gk&S.!?7p1KR&a`ZEkOYC/nW^U4f.mnZ("jGK*gTCE":Kp]pB,NeW.1FYE,"X>RT]ZR(6J*O-bdX[9QMl]j0nN(>rR%\H/5<ok<gU!ctbZ0%]FLjT=%c\N4=TfB_JY@Wj?T;gL)5]86\NQp>NhkAW6,?[V*?I&,Xiko[V==Q.++[tgP<7j@[W,@A4VhRTbpB*`.ZcFnGtg7R31cgKq9W>[^R;a!<O:Z@XTN>KnoN0'C'?M0>2H-*I-\PfrhVdX!2_'`RdJGn`do+O9Bo%+kpqnY&>Q2KIf7$!mV\C:09UOtbf@&gm<8bJDprGHtNB5D_YB>YXkl5_q`fF*s]2_DA6X`ds7)k[)kmsfB02g`*C^@uP1q6.R4b\_b/\ad33EW\:VHZB&%dh=l3O1eepUX.3M/#eZfOe81gJ+VEB,]]q4gOHe2WRO-,:o;#,q+i*^.VENu5BPXD]:7!?C(Rr'hrF1iO2#d*IBdg%Uo2i-H4m`GX^(7MZk0dq1RtW;?ai6JAaf*^NBD4[-Md>S`=&$f:(]X#/g`L]H3PHDWFi^2g;=$+4hb>S2a4g%TmHO3Vp+7/9o.Tg3NNSf/*C8#3ni%Ie``B,-t_(O/X_+K9BguQpRV>O48.3iTDl_1jCd@/J+;hd>aH:h)kS2p2h5tZ3"eA/g2eZH?dZAd.D2m.RJp%-5C@-dBP;X`h`l5X`2bMN:#7VVbo='s>8OHn=#<+TIc]:UDNZ)*q=*soF'BC%g[G.#g;gALb%r\sW^5adcm,Np_0_fhc<f0fF*.'BUIU%Q\T./9UQ\%IK*)4.6\cb5q3![Qj_@Se741$-\[FEHhg^;]%'(<o>NP>A),2+l*D!nf;mk/siQ(EU+3*T#U$1PA/a!p>HH2Vk8:'C.B-/!1n<7`L0J^%4]'^;;mC4T(roQ`.nbE7doXeI[Jc,AtYQ+S<8%u]0ji/>0TD7RkI$ZJuII!IL?hk7R"#pDD#&k%ga2BKH0&/D<dk`t,hiUF$aLtj;,L5tKB?'CgRSBigZ0C]>07.@XEm7j]gq7[tS[2rYDkDOR]g#c9nu(klqYJ7a05X^(=/8X5cQE,U,5Kp:,nFqHMTLhkY<G$.E&^Y&"5S4niK<o7[E#i5\FAR(s4B!Nctr4Jl(<t/'>`u<>IiK%5I-@iT2`.,4lajf+ZIWR,'%2kRGq.T"&gl%acPgAh)G2WMhQoj+?,7u,WE/=:&=aNY?`ZBr]']^gK=-bg*6^unX$m5r7tR=+L:!6rEN?Mk?E0/n/nu0CbsVBJ+Jln2h,f8=%fI*P.g2952S;"IL!Ca*!('^3/<E%+tGT*SU^>.D#.gmUo3tT-dFK4Z$idBJ*)S$O3Wh'I:H&?DUck%\$+U!"l[.9PquY5rUE[Ug_AVJe8EA*YM8]YGH\T%VSa@]ic=)7V8E05';mI2H>W&j8>>T>RELT5VoFOC<Mr_JOc4VG"]q#9]]NB5EoX,2P#Pe?gb@K?b)K?MMl.$ohZ)U.:G1bt*I6`<V:QhKbf)nd,`(6#oB[-crJ=V*/SF7q6iI=K/oB5s]9[eaK9]NP<;OScIWF>\h>&(c3kkR.J,L+1n^T:U(Xiomb<:6.eScQhJ0R<s!9\<<,eEcfd3B%\`Xm3toZ.$g]Q*b$qu$DJ*a<kIs)RAjWC)'ph5*_i``sTms201"Y&-+(Oi;Oi^@V?tLQEIPU<&<5f3_8]N]hgaV8VRb`ToH+2g-k:bu?@9HNkNONQkE<[UO:;d\e0L5<3[irlih),KJ*d]E,QO;9YN/dR1]l5C<2GjG$,!bu\QGqY)*1oS`"<?b;M8Mn?^oam]3m7\n*!r[%Nl^L)9E>EBf>3?U82F1=+@dI2,?)0tS&1-8N^jnoKVLO7%H(N-nZ@)%!lZ^SM@a#EQ7jMn*ir(0##[SdcVggoS*[]`ss?`C\^p!:Y&<+i7]`+CJO2s:cB"pQDD7VL)Kb)K3Ckr2Q6N'2m><4(lN`jKj\_1CIJ-g4Vj5]2s*V8s*T[/1)_miECFG(\SS.QY+[j5S8&`d7oM]R5G*a2`r2j-n4lP:p<"eUP@1Po4m5j'*$6q:`uJYK_d99n)oSYqLR7oImoULGurW68qh/D?-Sbg]5XYig=uNiX<dRPqU#Iq*u&FfX]i*1Jc#Gq?MdF7RtJX%il]2R!I/gYBfZ$\N[T*s!$5SB=H/n:qidkP7Km&n"$RQAZN-0://6UUZ)`nn]?bL+!'h[*2>Ufl>hM/X%a-1j%%'qWd;Q`me4S[N*h7m1GJgTPAg"C&TYd".ogJ7FT(;hYA](C<lb`NUAlEBs2a0>?`<NqN9t[^+&S)V`tsV>g+ho^ggJ1?kJG@XiVL:cN<bLAmFA]02caL>papZ^j.!:qIY7'mHL_H*)o)b&2h5tZ3$rsd^g-8obOt^V\\PU\Y)\pnp%ipDQsIm(\`*Kr2mE>f'?CX@*3MeY0,L"V*HSbt+"nG?(<k;`F1GU!0,Ls1\Xq5r\_'V-^qg.o"#u)%dGE%Mk%_qAY1L_;"g/#MFj+*nf>l(RlrpQioNj.n'+8b5J_U7NiHhm*Ee1dT0ph5!nT'1r_-A!:Qg=>7E\Y1llRBN6Mqu;Q*)%J6J9/4AmCcb4Y'/%NH@<G2i*%g9a3<XkICrh/Y2st%n)\";YlG"Ba:7&IY"*gl(RV6DF1GU!0,M,6bgeFh\R$@2(UInfT$htrfM*p4_$"c\3/?hIhTH)bC<'S^f>l&<Xp&lhbZq=&a32Hg>-=dq?7pC7$ZIeNg]5XYHF3EeJ[sJhQg=>7Ee/#B>TGVelh0dg0tWb;.D;(+h8B@79HZ9EF1<:Y]j+sJG0K&oICrhC=tj$ubiO/!]Ni[`ja'Pfj^L0R!!a1Y%H&5/7scm*R&_6K\R$@2(Ut7)eM2-U?6:g:ZYR+CdX/OW9e=)r"EFT(L[3@Eb6@$Ca'>e!a3+Xh"`nh1>cu]!bJigOY,Cnu/p7m9E%lju!7'PL[.eTl\_8d)lh0dgJSW),*Aa&Jp$m&W]9_b3]pFZ5_u^oP+?+gl\/t%N>[X^XbiO/!]NjAu0NZ<=ja)?f>g0A4H:mYf@Q1Ol#8>/fz!!%O:5]-Q%z!#u&\!rr<$!!!#W&<Ih2z!!%e)g].<Sz3!A:Hz!!'eX+?'9#z!"K%?!<<*"!!!"<#fmGTz!.[F%D?'Y:z*5[`kprd%Do#;Ver:[V7>r=oSI/W`iaW!9>>6"X'!!!#7!Q'lP+G/VFl-nB]+FbSRkY,goz!!!604*'B#(LOghiiT]HMT'&c^Z9%uL*e"ESK.A!HDa@jqdjcs8+=iBdU2+\=hi9AG^N/u[4UB^,.ATLhkf"=H*sHMQ2/PsMU;"/db5s\d.jp!ljB%#.NKTY/bepuc>Pbjp?%/]j,JiABrED@H],kQcSrF;C]AuA]om;S:"$d-D(\OY9GJl>&+,4X`-bNWP:+KNGB?D1pkc4;29ai<^*6a.bW`>:G!$gQFJ=6bzF::6Oj4(&,=7oh2Gk%rKmMZoZq#:$&?`@#G)k)/=k@>k.hk>>J37$K::XX'CM%BWn,KXjcE^SPc=^#"^P]R4CZhIYGNQ)^7OA"'9UiQ(-Rp/3l1J,-c]!ShLCbH+O02ep^]!a'0io\s0Z$$KnDCmfC,(1XK7M0,0WjT5LcLTsOQOVDZeeSolj>!iU8U<T5QAJi?:+d8?C\t5d!gDopaDh1[!!%P0@7P3GZe7S,M9"ZVanY\XInkG=DeSiIBe?J5jPoG-ak\9jr:F'As%9RcEU3BBahIRu2p8Fm)I[>in)Wi"Z4J^t9N+o9CO'[EcSS;`i5BU]&!T\E;kq%m`Snq&1nA6!_]PN6T-j$&Ze_?*G8-E:&D#tk#5Rp=k>uB7W3/jN/91?^lS2XI(p_o0=#UQ>Qac)^eZ7,@#&/-MWOdS$C5FARJ]b45GauG%41XqM)DtI+8?^!2kt0;=es+"Mff8l1IsdR4S=?FC[<QkD[(_Qr;IA7A92jnWj0R4pK?UjSMbCCXQG)=b`n\/I22udC2eg/Vk_),Yb2>Br5B#ubo%Pb'6J>\'&,1)P%EB8Xgu.2GnO`^pY@8n42b%HCg$@E\=:5j<90>hLXirO2TN>T_dDW64aL*<tA`&0H\mY4F<FibEnWX"=M7`*A7HK<TVl"/5QrWK94LrNTqPmFjAqq*ek#^_B]1Ji_MH'l&heAYSIc?BB"98E%!8%t^EeD$la$9PXq/7aJi`[Rp9QKg2Mqh-Lgiu\h]#-a</CH@iE`HLgr$5.+GEEh$gFERsEHY/Mc<"__(gkr/C;n/kaZ.K%`76hQ/XTgM/$@+E4FadbZ\4t7NQ&<Rg<"=\pQNS@,%5>6MIh*t,gi\Fd=c^iV79Z5Su.?!H!=Q*86a9$^%?WORf^^%CWl=Uo7l=J0=bN*ISJI"VKqOlal8U/(.mrI4)o;C7&i8p9@nJ8Sjnn.SQo<'h3=_tM)oA.19nd?Pb0>t4LZ])>:gSV=;uIN)ntj+V:sK-Zh*\a>-55*YJcd!<17(@_JWUs9Wj6c^Gt%(7@rm#':1;XK'd1@:Tr?&XgR3Zaf1J'.Ir1tnbJI0g(JhokfK:;jb@]<]NAF43BV/H\@K[%pW9fp6"6EC3knkP/2"o0f88(-ATh6h$=X`];jN]@eCQOaINm@oW#>M3/#A\Jr@(oMhrsT>9dlR.:O6JM;WQ`pVGJcp:J\uCM47)E<VfJje8hN8M=`7mj%IA9dONdpe@G4#Z?m)dzE"/:WK=iQMN=q(&2E&R_`]a(O6XJPPDCEX$oHFkN7!2$uEJjb"33NUG?00)E.S\uL@QC\?a]g.gcMGB)af5*427DF?A>u"Q]dq9pHh*pDqNDU;b:uRP\nSG+_(+)^s*cn*eZWA+I@aZ+,Z@E#239Y`bDgf\X@q'pFGY;sJ$gmQq!Kt-@IU@H=1L&s/F4eIkN64MJFoJ=^8?%bW3ps3X44ra;7<E#3m#oA/$4n*Zc[U0puM);jV$Bg``L%:9(&lFA&Ts!F<7149Z<Mnb91)dZLTN`6eslM')BP@S`]>$3``_XMAh='m54VQIHLIs9&jsoPG!#SCLV%-O`&P"d;Gi@-IY<Z?10-@z*l\-D`pE'YJ#_:LkFKBfrU9'!X*0aIRVa43,f`r+-anGXVQkLQSBn2+)01_li-Ue]>1fmQKsFN[=e)+Qi*33.=%,Pq/G%[c[E[-c+R.0hY`,"5e++hil53KE$jfP?bHa34P`u:;[nL[A?=+p98i63?Pa3jl4RM7"AEL@3boO;7Pl560U9:#5@BVTML2n-NL>6/L9eel5"08Sigb<'`Z<c6j]qZ6int%_-57^Nu.Slpq<p[&#*m5pDitH8#OFO8YW>k<YrM6RD-@NnfZPs>aOW/=n[7kFtUsu]<?e)it`g/*%j!Q]s-ENj"??2g_Vl'Em]5i,YT9I7=e]%@K8[c<lY(E)'L*EURUW@%3!<<*"!:VBgS_^4pNp!$a?@.oH=1PTReh_]5Hq@T%;n9U>qh+Z5RF.46S&H\fKr(d(&=2@/]n>k:9tDW"hQ%\!Tg&u]/Zu6/e&/l4nMSEdD?qb4QG:H(p(P<sVSp5"C\7DeAoWr6C1:>maUPs=Ar40ak+TiYO'?M!)Ot,;;->IXZ=YnX`Ut0jK7'3gkau$2Q<*3e)jVEN%=,=eUIZ$/V5CVGSB[?Y:"5GL+li/ECF^b[rOuJZ2k""#Wa-'B8KY&1]`:Z6D7^P2f&D@tGBeFV9;n-.`[L*Sr+a-u9<5+OFBauZ[Nmeq)glGW8o[MZj;YoNMjnL(]n/;b*ccm;K6bq'p5rNB7uc<Npdmhj=?h3a\KS+M&,5oJ(/$MnCNXr"lTDkEMlS.dG8\i/;Mk5JYdt0rPN2]D!!)LLG3$YacTP?2(.<03j5F0jorDHep3Ah^h,l"#;Gk0'Kmb]BKQ:u)q#'WaWuLElYB&4JY8isA8&^a'[(<$l#.YoI^&AISU+6VPou"EUqP3%*gK)5<RdY])gpkTtEs7KfCZG[](Tj3U2]NR9ViaC09FWLB[?%X-#gLs)Uobq\Lr%4/l,InPqK$=UDD\u&7D!a.H@meYn`)FJW`(FM@&N2R?O*61]@g&$PAh)bB%b;td?F2ZbOW$j;=WdhK=t`IT!#;BNg_W<ebFtjDHK)NbLI'u`lUMqlae;PfuaI>Pt>HTUsa_,m\i,+"onW'!'H8^\a_m%IqSoZe(WMZB5.ft6*;e6a/>eqYEUq(MbA.bcpZVq=QICX!<<*"!5Rb&4*'BPji^%g4SRWPc^Hh9l4j'CPq,os;d6IFEc#Ak?2O0fa/>DSa/eOX"98E%!!&W1m)Y0I5Q:HCeZ5%+nAdcmOh@AD[06O1z*$FUh%0-A.zfE[KWz!!!"SJD:,)z!&t,B"onW'!!!#7+Wr]Dz!!!K0\H)[1zE!XMoz!!%O:5]-Q%z!#u&\!rr<$!!!#W&<Ih2z!!%e)g].<Sz3!A:Hz!!'eX+?'9#z!"K%?!<<*"!!!"<#fmGTz!.[F%D?'Y:z*!1-_z!!(pgO;ktq55OmbP\.mNY5`t:J"SVKE34:gbOm?1\\MJ;R*51!Ge*0bj94C!"EFT(L[3@EbJe9Mf2HuK(V!L-Y2stp]NejIG0K&oICrhY4)tCA)ZmPNSAY#5n)\":Qg6*6QO@'!*S5>F8mX,(=$,Pb]foaTq].Zt\.+#E!7'PL[.eSqS'1JhhTH)*eW+FU?6q6@R&_6K\R$@2Qi2r7!8N;oD?/j=4kb7nR*F`=9(1jCf4r@6>d'<W$d@.]\Ql>!QcjhJ:&o0!+?+gl\/t%N>g2>N4f.mnJSV[R>-:rKb6@$Ca'>e!a3/&/,:<K#+cmYY3F%X=?7oi2\Xq5r\\PW,E@oeCjQ-Ga[::i@lf7*4hiSS&gCVF8i#JmiHS62A\Qhqp]j0K!mC8JJ<Ut0]\_8d)lh0dgg$cug^hjA<#&k((UV3"Pfj(\XoNj.hX`dsmodY6t^g-8obOt^V\a4P$"Q20@EW\:V6S\MYq95PKqq&:B^Rgl3*uGj]miQuIaZ$Ejq`:'M8KSupkU4t"*)#G>h&n@ghn2jss3O[\DJ\4s^e!N[UAe6/]D(&DhnPK6@)'GGV3UrW_s\gtqg3Pc6h-H??:TE`onVVIs&`^]q<X*U=q,ssk0tCV=DhA.I;F:Ek"Yg7hELP;d@QJu0'rU!gZP/VjR.T8JU[X7TuUNO6smTPK3WTZU#Pa72k5(DLWj>n5p'B]l.G(D!:)p,q$ZoNA[p$N2](m$,o7H_+27JOi<*]-NqPkrb[n8gH^9RC*1[oj^-pfAYnsF_AbR&HgGG7l[N_Q:HZ3BPe0Y+[p6hh>N:d#E#DP_Y5Q4R2hA%RC4"lnjh+:fOn9G4Y"#u&<!W6+]p[C_WcduACYKo?dg4*IiVLk-A%h/q2>h\&dFfrK$T7?(gCNPr@q1*tUM=Vh%prL.(81$#OG%g0/MXr(?/PjbYqqY>FqVeo^[SUMO*Ub$m^OA7fjR60"qCg_N0AlGH+7A;Q]\N&VZ2\2b1:cqEYQ*Omhu(<7^O>;>^Zkdt=0EZ1\T-lA9OaAGB0`)?>[)PcUu1@A0/lSV\QM*NdQdP$Km;>E=-!jb-XO?,j6XX2'4XE/J[(&YO1oXmP=([_ie=9XqF=;N^-[.mg%:+#mUn3AmlKW\2V`dhSgN;q?@-e0s5;W(:A7-]b[nPoHX>ccB.*PrIX-[Fc.>`)+ab^4_1';[/MNN$[\=uEq8_qN?-bITji5R9@fu[n);:-8rSYX>6Y!kn\+`<B!]thD8S<7u<WIN=J_U7NEQb-ONUmO7WUu+PA]FZ5G^V;&6@S',o_+]J_mY:1MsFV4pL=-PqAe5:6$AgB0-nU,]l2p0-dNjPeVu4G2<=?<rQC6'%CpKOaoCb-@t."V^`-Y[$$gs_CGp9cq)Ym1Ep=b8oR6V^mkn-)5()pnn,,qIs8-/QpPjUNenqt&IJR(DTdO2mq3^#mWk&!sNgtDRhJZJ5R'39/b8V8D<N3Ue/H,.r6h,L64n@#Ik?[D>Rqn(Vq!$$rkKdG>OmuU[LLf><rJ._$ETG7m%kF&hB7&Vi^I;pth;^QJ8qiVSMOgrQ:%]$f34HXVGY?9Bcs8i0?14Ka*e0lJ^Um!u)]q1(hK(*KB_*1Hgtt>bfmA:f19`_%lqZ:BJBp$5)o+J($KIJFWK5XihL'QU3*!--YE&>s[Qdip\W3QBX?:WDs!YMAolHu$f5=hU?+)Udg[7USX&JXPY5\:$5C)Q&`N[[q$0mQF:]+G#chE'%?ejge?MW=tIFn5,#JTc[s7n6HDLA/Mn39-[lANV+s1%op>JHf16`rjjRl/XPD#2NRUW)QNf'LQho6%4NFJsEEfSPC'k]VuKqbFfJPFkK\:LDhi<dsYq_;.e]l\Vf.1bejscQ9WDaPYl>I.,H`2H(K>ifuH$,K/2[l/Zo;c2;dq-TYfkRuOg]Y.R>-Oe+\m?5RM)>gD&\['=RgO(NO0B-L9cc?:STqgF*X[^(^a$1,eb]$B.5>645=#''f*LJqW/2n@=cp_DQ$LP=Nn<]kAGs6rD%?Z^H"[2b$@H&Bn)=`/WGm:6/kZ5`fS^\YZn)<0q2IJkN(r6sF's-,_;`Qr_>c<md1oke'oT1Zlqld>l'DLCKD?iQDUr<H\I>^q$2o^4*PPFld%-T>?k6rM,s?E2FVqNm8'p)M5`FK&L&>#*mH-T<+5nb"9^hY8U>/r]H5rTrm"Y!^F)*#tCr:_St5HH\UnGJDoCk.7CK]i95u`';7cijBL*gG>2&[aN8,IWf4;TXSQAo\Q>j*ZQ#GZtrf]=9`ri%0/Eoj9BQ5Vo#re]V`:H*`RTc]*O.OC:7>Ob2;UH=O)O:jMpn]-fY:2P7+5#[nf(@&p6T[I,V1Ph]T\kq7tmU[SblNp3g5(\aK=:-bEXHe\A`:BAf8ops&1Q2e\fCoC_bLOM]`(1\AcQ`f0llKb:0K,??7f-Bm,32<c3]]4L*B;#f%G[sUVSGLpm#?<XmZ2DnJ&M>DWR+19N1DnPn--B0igk?sd[`Psep)GcqHI(CBbFq'(aR`ei<l/fpEb872DneNrTJ,KX5D>!.gK8R&H)&A't#'S&s!'1AG#&k'M_RN>fB[00&h>D);SL5f^7im$QQ>`S.58&*(DI!,Dh*^<$m_>TZII4"D?d&H.b9gA#k;n+cp<m#7[/=e7LI@h`C[N!gF4Gj5)Xb`W9keNgj3qdZ7g=\hHhGOZ2"Q!%]Utb^mAOe\FY@SBg-0Ro=P41+j8:]grK\qW`cWo*3n-65m*0>2FbYo:Q8s0C>dpT82p3SgqT%(]jLL7(fUfXD[?Y'9<1b)pT0,QgCKs)PCpa5HXa[WM@#*M;TQ<A9!9\;NN9aOka=s/)mI-r7`p\DOV/Ln6>j'6[&,,4alh_@!FZRWa>].4EV=aNSM\=qEqYU/Q/Sa6OFep&mLYQQhSa32GS>'BKg$^"Dr:mBY)nr4c3HZub:Scme8t.h#2Nqq<9T&g1QO9_0_u9JCNlTCe9,`0Qe005f*dWco9@a$Z@!h$VelKf8<9KjE)B&#T%+$e,YM/52]*<H"%0/Eoj9BQ5VamH`?-MGO3b(D$"g6C9CUmat0,L"V*HSbt+"ruZNgp+)L-TVVkAWT<Hb#Ngja'PfjT=%Ka0f0UP*ZR#eW.1FYE,$nIRd-5DF5O*J9/4AmCccKk&NV]pMth#[GtGn=38Vhk%_qAY1L_;A\TH;!4O,5)o+I=O7lm4AokMSdX/O?[G#UPf;muo!ctbZ0%]FLjg*d+'7egKa:7&IY"*gl(ULYW:[,Pti*,NXQKqQAEe1dT0ph5!nT*=Oa9fY!#il2/%bIJhQ]'O%Y,Cnu/o[q9>g)diH+C^qm?l)iqKTR;GN8nb2?\%&3/?hIhTNlS0%X$J0,M-!40I[kQ+U@0Y'/%NH@<G2p,d9rE#Skh!M%(#B^b%l2OE_Y]pB+3Wu]f4]h2T`0NU?uEkOYC0)HYL!OrSig]5XYHF3Ee0q6AZPhsReY18PJ\R$R8(RV6DF1GU!0:2WtS,h?!5]-Q%z!#u&\!rr<$!!!#W&<Ih2z!!%e)g].<Sz3!A:Hz!!'eX+?'9#z!"K%?!<<*"!!!"<#fmGTz!.[F%D?'Y:z*!1-_z!!(pgO;ktqA5T;d&p*A=6#+&58Hl`;_APXfTt1g#lA??&Bg!'"X2mA#3L?ql<`e$HKT[9TJ(YKL,97-qK:u*q'M`6j/R>-?Nl:L_rHF%6$WZnqR#?'/7<7aiUt$V_S+d*"7PldcrPn[=atr"pL+HC6\W%@gf(AChBWdebKi;%G;]^tq&G6<sLq`E!.S8sRY-(#d+Yo6k%NsjXJ]7dnI^<raV>9gh\<.3-np]D-.ruln_u';3)9(^UoitqoL(ZH2mT/+Z+&8Orb""gb%sO(q=a*ue,]32->DfdB8,QGnP$"*.KHcOL31=%&\mZa#dWt:&I:"PL7D`JRR;cu99Wo[BF3+]7+dpfJKKQ$f9\JXOD>9S<9+R7;$^$5XN`Zjg[>dT;$CWl@WZgN!O\E1INQ>\*XO/2#4S:bH)l^$C`raZ"H&3UGW&rZ*:[=CPq\'RJOl.4gZa:e>mKtCC'!dYuGdb=HXnF<BWbmMu0qS_M'D-EiF]3X?U1p)kZ&ZhaN3LG.P`RCqEk-A<]gq^\$B^'iKG%Fg#'Ds0g$_O-+$m4`[lB\]QF(`Ba:7&I@Nh9JG'A^SZK6DFV/i=a(oV)+eV.t8YIcMc2BRVH*ApC;$&4^O09t]e+iCg7.j8mU(hF^n,+3^#(5fA_dIAjFk$@_N8WnEjg/L+[Zg5L`aUMaF888`mXXg"Zo>s7RNi6g;NRjTW'tM/Sam\(H'".,N9N]iTSX1;?biU(Z+`/dK66s]e[6M!aO9o^7V+GRk$>I#ue`@.1A.\@;&Bf6.&nU@^B#bq&+]YhiE$3N06ou<SGj6MjbU?=[D+6&+BQQIik4Z0Ol>P1N;;6-/+suXW),7sU!cM'uQ3]pboG=J<e!PWW\/g$tP\RfB'F.*0j)s&]6?XN#25%BEbYqRthp6GUdInMt1E\W,K8>6269^lBcpUG`eu)D<#UTXr1m*gGJV]?Z1Zb`T/C;o`dEKAIPtWAAN^O1>Q@73BJ\D[%a3o(`L^"nUZm6:3:cOT+9-t>"E-Oi6JOd#'5U;WPW3V4)bHs15OIM*2X$gQ?JkY&8N0"SLnDPVl4!19^g]U3`[aH=bVC:noP5",Ce&UcFlNn=ukfcr)]KR!$O>oeN4-G@ioo).mK='bQ;Xm/6ZmAY9frSs7)C&<XAE_Z<lkcMmN'ri^W^MMDJG_,?#mJ4fl_7Y/,\*'P\@X7VdN#f\9lS#>q+J7lK%b.$F5cQT:gu^H<\'L_F_A0l#,K#Yjo6hNN3`;5,"Z7d7"Y>uU.1HL=Z11k-Z7U2P.48i&WT=jM-,ib)X?SlH\aGL8Ym/7o=iHJ1"r^:.%(b47'jU"]$u<`GgS(H7Ccj[r,p\'A7P5sTAN0DK$d]%DLPK#,uIKf11*Z3Ze<8U6[eUS)XF&CTOL2)p8SM:mKcNd8Ua:[<0Jt8M9A'Z^X<_b=JOCB9e&i1M/K1_eL[?CQ+<*_7e#hSW"QLFM"VV49-SG!H<Qa0->ePAJjaJ^\[_k7X%6T!G@FjZ&(^#%hFL)g]>IKdK5/*;RVnoAlPi`Vs!4#5;<H]'<'FiX<tS_,&l,im-.aG_Sba2r82e^fZi@7M`Fuia9g6Mg6<U7__s//%=@bnZj:2XTTt"2Jg(tt-B:V.4n-;6C6_?,LE?pt$H(N5q8^p1j`!fh%"SZAN4V?1S36gLgof(Ho=bYB;e<mq8pP]q9%r=)6>hGuUZOs$bU^F,feCV_$p*0Nq0btWGc$ChPU>\S$pGJ'P\fdjV5)(?`l^4>-O_3R=R>EOFPiop*ol?KQBX-W9?.unPhqISCW`h3t3Z^mrC^dRWC@C\N5L6pr+JCa6/jO^o]<77Y6PJ^i_2(SB.abb/LM[lFpCW_aX=0)+X8cOqLPBJu0-(qfa[3.l:BnGBkr;PTJYBChUOh41Kj(UUdC[f7]%j6>5D*P$%RGi0:S(fXq0P(lIFE!\bH>@ai4Hp$A!M4R=bD1K.VUUI*9IOU=WfXgBAl"KS7-_rr">Q)0-hHV__gQ.aJ>g]Bh`J9NMR!UV[DgDI%ZbU@t!=+W%9[ek*i,=/sR[aEd)^]R\DlC8?WFKfiUcmqoGEUYcG,-/F^2ZJ]A*]^sS"^R19/pKn]3/N??d-MX<>H08F8;VjYqe8D;!;ATRFha6+=c1*@?A_,u_R,.UmuQR-AR^*G1p1[0:HN-BZM!2!=mg.00(E.j64Uu%dZZ]nEsq3VeibY&8!+Kr%T9nu=*?8pe;h$Bf?]Oo*Z1iHj#B$I4e\)C#_4;3UWCQO:>jG$WpIW@<4c;n`AZ3b+pQ5p@FYAUSV#MAf:f?6Mg5n]l8P8hc8D_eW'q/t"/K*D!#g."tiX8Kp.]Qh&E4&HY0lQGC5-rHOWEs%sK%abfMh]qBcaV>PW;cbnOcV)`Tb)5eIq.MHZOLX'OZ7<r&1?kgD8g8N_T@$_d8U^K.>c&TCa!%FPMM10F(oioA;E5VRABOPAlhM!p5#Z+.d2lf2Yo7%7q+d7`!`md[F<IFJ0<mA;M=uMs#YTPEU5ptN>a"ucd6AOiKC0!0lOJZ%h0fUsQ35\M\5sIZ_&0Kfq$_[X1Bi?Titi'"/J'3!9a&?_+rBHkQ&=$[C$&WhaGiS1`7Gs,+-B<!%mfl(gPHb.%lE"AXobOI$M3=8(F/=MhoFgOr%jMmF\NCA0G=d>)_%i?K&"]VYt"4;?l]oFB\YHBat2%76sGiB5T:Cf&<@@Bnri,$JWo%oeZ-X>%AC#Ap[aQ.XUKT(NaFjd\KOtY)/a]131&X2(u,AeZ%,tp2!_C=qWp)V9'"BRZ^N3PNt93c]Tu:\j<<-b\fi"S]7o#ogg[0QoWD8bDl-tG6XNnrM"X&sAY_4OOJ1^@/U>Q:jJP2i^!2;;mRj>VhE5BgWas^"Q:X`oFC0*Bkq%o8TX-%5>f]AZR7_`W3`d(UG**`4DFaFS-9$U*Uq89"AOJkY"TKV!!^X[1T3X:,4/ofrU!A0[PtX"GbmELB5^+p!0,"hXnY2>+n7?i&Eei,/b!LcX1T]aH[+:4%/t5&-l,%7aaj\p#M2RG*>`'#?QH=cbH%Z&`)D;fQa[dfs%*-f^1sH>B[X'c6-.coWQ.(lB%%@GEUO.3/823f*L]O3+go)iY\c['_L<0Or=$ofD5jG*SX`Ug;dKDe#be<Xb]kSg9LCJ9V>Ym@D?,*HZ%JPr'`8iMRDDZ4EdE#P3k%jN?of%^bT[q1[(=`9#E2e0W:Z?Z,+I_VhH_>14,JB\,`No;MGc$Qu&@Gs*97"-WH<uRSG<J6ujp7O;&+TfBoSAJf_bRd1Ci.EnV4,\fU3WGpS!,5#*6aPGR:n"bBC[p#6^b4rf,&%noI*[\/mf\]:%kdX3OPff7ST)HPNQ>aCP32>1E0?J40,s_QJ*in@rp:-(9'N4Bug`AkcSu86B]kgQ:'c,]%]G:LMq;f]ol#7fMbISoU.WQ0#:)I:X!VB/$J:4DeQ%Xlf+\E(d`]rmbd4TFf4(H@Mh84\_Nj_,*O:D&kf+a[&Jr)m?KkME*ZbO19k4hG6#QZDU>n"O2AiGBGWT2Z)/JmXCD<m`k-n2q@$;JAa;Aj+#stTg%+cAh>%hAhe$n]5)1PW+]$%.I?FHaj&b'R8e2O)W<E*G+qb1,<ONf,RWqZY]XhP-@I*=7F+b8IX*-S;cS0K9jc/f$:$%,4Z\t-M)u;2A,^N[<.4,R=G;E?5:V!`3#h!jCYq^qtUMOc&b"u,EaW/*ca%V,Zlrq:^BmJNV?ZUnb/<CgDZZ*GuZFS+[1nr311gf'8k;6nQb3!$Q1[;OpM;&D`c)B#@>a%e`U?Yl:Z+tNfe'%=4$50*L13CE0j*UmPCLT#0C.hjg+Q7sd?S'F>(1&qK>hd3^66m6O-$T]n2i9#M;Wd]KidjPh+Dra+fcVncbQRb."TP.%Oc#u-RtgH.Y%D1[=T+=$S`!%?H+')EaAq>Vg^"j#2q6!PB/8eA&\i2dKA;PG]63o6#2T<]bktVGDTo)\)jQ-09OXu>gP4Jh2jG?S$&*%[>2)a$XSF1f)k14/b`/DR2otoPc"ck?M,$Em/b0R[TO*N$/+V4">oa=aPj+0(K]Y=;fde$Ldm\,;.r&*Dk*4C*b6jGk.9#"!3<Z;2k]/f3qq0P!2-.gYaGT8q(`Tj8l@t[%C/VR]>])D4+sT2^lm[*oQbK*KYq]0i\<1[101<@NTsO)Oo2mZo2Y6m4A9>7bh-a7l72%dtAC\ie=#ZAZZ'X5W)pYP\AqqBQKjg:5f%L$AAT]5i?Jl3\Kp[%E\5Z4WK*fejn9V11H[0^'29CQ:n3Q5l8N=k.B:1Vt_r03p7LZ$s)B,_T!Fd4I:9'L_8s=-2h-QM427fseG+qBW;<+63/%IrmGsGXu+u]scq0Ma`j@29Ze5nStL0l!@eKLYP],>go]t<m<%DN@_TmNe]6]86!.MporgsA3f+A&TP6;1P<+K`%Th.Y5F[0GB.K[kI#>TseQWh(f3hJ$&/(nuT#3Moj<#-2ub>r5`^h%4,\pfmDE*)KZp/.?+CPtV4kH-G'Qgos=QC8Ul37$ru9\H+aL.Q?!=lEKVE0/lF'NX!RL<Zf9E<nFR]4#tB+QDToVPPj`=CkQT8br`kY`e)P+m&488'34d4l?XYF2XXL!3H^'TH,&ph0#it<RlD5JWeZ!G'C&WLM9/R7$\_,U@YndFC3>/XeP/TDom\U:-ElYDA]ZW(^Qf7PFn*"Z;Q6(9-n0L^affN]VAfA(P1CG<d2\umQYkNtL>8^l"hG."bP*mCWj:m.5a/MnXD5*hJl-D&X/,V.)YFCoPoG:W54u%?P\'p$DSA,!)k(,`CaA6Q7Uq9c+r94rK-TH@@;=_6+q_,N%ct="R<+*cZ=g7knUWU2T$@`Ke?oF306*='6[Q<r8Cn][.nl<+2)FH4=8WJ$M?:`2P0$f_ac\tXPtXPpA&iUH)J"1NU>9)UeZG!;P!c%e+.1YLpt:Y6;B*?F=m`GfnOC*2RaV%;KO0Ab1*!_>le+T*rHg(b0#okEZ&M)]7$Kn5qR:G6dmO'"7_t2"mj^9GK1OD0=%Xn_6rKD6iW6%Tp3Ut+,Acf6,]E$aG[cVLU/3al1X#!+?'0L[&IM>N%g4+L"L910p5Bh8&(I@O!OQb2A3r,H$WnabYFjW)\1YO(5,rurP.pfraUK:JK"TLROg!nfKC.OD4>lGl@#2g'iE'+ee\@9)f!el>+h20/^9up$Xf<PqnOH3t]Z"?B!8Fs5g?OF&4r5Q.Q^sfUYt_7J5=;LSL\`3?UYKP:@I9)ZF[p$#.bPi"-uD^r8B,lEOLmk[E$/D0%Z?^LNs>KE)k(]B$M&+e1Km7a2Zt!ZIf5@$//epBeu]?lfp0b^]P5UF^YH%c>)`30g].<o3.sVQ-WFo3[):cf!cEM+NND^LF]ER:&/d#8XQI1s!-O+iaqX,V3Gs<Sg]>D="R2!ufdpK7k3'!XkZ38i!!'A7h7jt2^U45r(UQnb-8D6t3(SW,`r]WZlDk_`kY0jP\a'?Y3<\T?hd"2$Y5'GXJ:/P!z!!!!/!P&42z!,r4b%0-A.!!!"L6U5Mhz!!!u?EWZ:Azi"1thz!!!"SJD:,)z!&t,B"onW'!!!#7+Wr]D!4OUJ2B#_sXQ,r-"TSN&g]DKu3/:I(L4]ham]N^3cLanPb2o%1Jg>qG-'r-A3-@(l%0XP)>c[lcWjnWN3;>/,WqG-^W=TN`[II%/b<e*&Sh'C?LkWBQ3"cOQ@gi1HUg0;q715:K`J$inTrM(:,976@RmcoK*,TgA'M;HWhh4Z_PcDgl[SDmN:BUcn=JdS1A)YqW``tK8XK#1U<%+3EqTGIlB,6HU?&i#3(sWKU[=XbiOqDl5ogH=c7HBG=0Tp;*;ohF[1Z_goFtB9S?D"4ZAg3pVOHsR[@.@%Q$COFEZYN@:VB`@Y81mo`D:#mRl$?5fQ`li^XjgP2fXCq;Z\HV$g.tD8]hU:XA0sgI^\b>qe*?ffn9XO@C?0CjPZVk:U&H1'IpaVM*=.jh:;R<O=u=L]0(%6_N-DObaXc+jdd9q,#J7PLap8]=/[/h;JY5kGp)AhrJNX+J%NCPKjoaEm,W:Beq'pfMZl[59Tc1X/[PjhJ%Y^/[6-Md/\s/RR,OZ\9^eP>CMr(=Y5fN/9Z,7Il,blao_kFN`:7biI`@F8Fc9NYgCJV;3Gbe%ImS9fm9abQT!6>Vr$%uP7&5&4W3d*Y;8bm$J[?&.m`r>pamZu9r.a.BJ,0BsL=@ha'<mj5U<u8a=@*n0bN<?ppaX4oV5^,c0*f[!ih2(l?0W>@VcH?ZB4V>%Y(3i_plucfaWs/05j8j"SGmi;\ggCY=SUX&K7>$G>e&V3K)sSBK&S?qJ?*Dpph`86pH;#HH$:Ybk&ISo)pN-P-ab`k#W"3@(%qn$+#qZ/s:\aXF)^.)id;1NW?o#:AEarHVhZlm:`h!d,\jnSQh1P"=6nH84:uYMma0#;0Dq!lcNu'n'a:5,=NWc+/:]*6A!3M5<XdIK:+?+i2aQ7Ll&EE'kE[@1\LEk2;3''Rm<r&C8jHIE_mVq``s3Fr[].4_hbDTgQ'kQil,Vla=PL1M9+N,I4U<R84%Eq3ad27-2q7BTt8%Q;6dF<mrD(NX#%:X,tJpoCI0/JspYAc2<0+gcj<_p[,<$FegO?,f/hc%\U=Bu2U7q`I2o)K.555:9qMgRQ(NN1O4A.k[eZoP+.Okcuj'T8*g#",JT4,-e?k[da!.Kp05W`Y(2R,$WY<gdLH%H!.PQ(La9+aIU]glU)Be>F8\`H#C^>0TN9q''\"7:p5M8Hu3QS.3$&CE9Ne-q]h5e?N4%!FD0FTctp1a9'ac]_sWH6"\B&7)Ruq+$+F<?WUTF-MtRCnQ:dp;OKbbBIjo+cBP.t.Ms9ma6HHb4>6C:,,#QRpb>jFiHNjnUG!<mc(K3RIqVa%BY$C;LkWB1.*S8EbLC4&6(a@gfe`o7L]'h+7,);7$2cEjIo57JAtQ?uHk"W!1LB#Wr<RDlZqfYF-PQh51[>d<2GKKKraIoX)b3*+:mOYk!YK&4@#2Cmq._13Mr\UlUoSZo'*!1TVb5PS2H!CU.FK#'/ZRK+J378g9+5+_+?,5[5uZ<>3jPoCe7B8M7molRi3$&64XTAe>5+-nM,Xk:ZG;F=bbI;dVY.<@?M+2nSo/X+m0.UgV<%H3p(GR6T.bPD6o(D`C&cpVrZFa50`%/Z7j'QC&BTfu<(QsZWF;#CG3\N?&C2NUSp<UM2E*RY9Z4fA"RU6\c^0>TerQTR@";h%HO$]9^HW1H)L5kN.b-*9!2RpgZW3DV[?0CAOh#VZ_pQU9Wj?.8l?W8k)r`pG-M4Gtehb?#7$?@JBQI6&&WK83BIj`'ZMNkD.2=ChUoK.')gX.8S3"(k9/Z<+Bg'9FF1O&l.^.1Fk>%H^$dFh']@U!1%E+7q'd[aiXX__fehJ!gO%-9aP&.4ZP&WZ>BC8gsHluWn>p'li*\UW;U<u3YY\6CA"G4e0=l@^2G%%QkX28K02V-@95W#OUDX9@F#\b83XG.S81dK.,.ChuV=*J+ZX=JE>>[!(\H]L&W8Fg`^d3`J\+aki6N4RtUCgGo0ND4`bY!?k)LCs-75\Nna`b<spn`bB=6e<Ve:#hMl%$@`2OMIbf1Wn6)*F`\uk@4u.-KH0m0b;9E<Jg,haHn2q-Bel[R4>lbSXc,.8MZ?n[&_KV^<9"uI5OS=,f;*gjWr'ubn+ts1.5c)amY@6<N.>d^X=&H<tidQFcoI3+sGh5KmYp[(<F16`tPa86Pk`afV8pu5ZHeK8J#@RbVT'nVDh_=g*Y#48S^$sm5*(;M[d3_14gA!AJ+4nMs,b/;n8T=*?@`\Zc@*S</J>cOq*]U-P]J?d\Vp@q?K&(.cF;d9ju1iBPZ9'PY(3ME4HQk/gKtt.TNbl5.'g*=]D/&RjN0.583%-6"7?0.bV=,8GU>Q66eE7PI!,16XQLO;Cl;JkFMHT,eYS[npK9b2>KAb']CUHD_,Rh=I+[6bY0Q-kjIjH-So=j-#7lg?EWG=fkQLGN*i2>J1qpU$s-qZ6Str`O<,$nABH_H>0h,Cp!jL]QPXdb_\<Zh:TJb2f%7-p>N"8Ef](/13`bYe'=9+:jo-4P\O7^qf1i&`>0/89ZefFpcQ0(LV906a:H,ge;t"JB%GkF_o;.aJbsfK*8jD5E_X(d$>7g$8%#'<*Z%ld;[`-JCogfQ3Rb?UV>Zb)EoQMJ)/&7<iH8-H\8Ag8D1jQg:Wb&n-2V^uD(`Za;/?)3+)tNVuKjC*bM^!YD#,;c\eVMK!CEf?VDU?.]-BQu'CN'@2?$>95c*sEPUp*A"+e'[t*Y5WWX-<:uq"m!^R+sC0;m7=+/DT+/F*4N&9g)>+<Cc&g9UL(-`'Ue$]!&fFV@-b<f>lN+R9\%5o/.H"R2[jWWTt9eU4ab5WF4&"TPj`Uj$hcU2:U^l8N^+iTcl>1mDD<Z?85KeEgS"R^+U<5#F'Q&=NV(YKTqE*?o>mhRKf!TOmj?[3&8[:J8(j!YHar:3LcJ"?%TJFr7#@22tWkqe?$.I#35u-'"6[Pg6bK9O*,Z%U5VX1"BhFTg`ZDF8V<9eL;J"CZ+b8'f!%_"&IRbJh1Zn^=b2`>M"q<JUX[W;m7<3_n&AP;d)`^3KR=sX<AJGQFd-4Y`F@MJP)QgE":=JgXT_T_3u=Xs;WuDD3o_%*lo1$5Pml(\`R"s;[lWkhj[LKMg0!1X=_=]H^dtic9l:MP"epBr^J)Wpbp'550U1IZ6/1$Qa_IN>WeG8s4;T?A-fH`**K9L]LI5U"WKH?7KjTbJ[m5G;_+`O/8g7N-h'K/hl(D6dBI(g"&p-kpOba-lEtul5.&PF15$#T,<KiEUA9?M)GpQIK2237EA#(_9"I$0+5=C^E1**`9#%7"7jp?noFIp.CkF8'HaliIoq&mZ=$?M&3+:ng5;e;Z8?;YH/DEC?d!Ko*(Fh<&@(#pnr)m7acDGZb+0Z+Aa7-F,m.Q:%,^8@/7OsqO'c*r$if%,r.3tm[2&s%hQq@Z9.Z.l+>@%t)8WiVQ;EDtX`Zg<Z7ldAt#HCCJ-W6,QT:H,mgIHA]:>n+?\.qsIHj^__"OEaGCYE^&=+00U=]'bkB;W49h0[A&<C/f@kZ3FH](Rcs32dl3@]gV`nVIodS`CAi_\)TD=>kO-5QrYBMe"stYW7$bA8pXR"!1H>bj`A#`NC"Sb)qmE=FoXRCToUI!o/j>j[(37#,&6J0nkn-$9^f>.Ot>DFfQ4H@_]4[/ZQkT+IP/hW81HgcE[bbi]n[QE5YUXJ)+\;oUJZECS;r87fHSi%q*=mF9u`+&>O!;qZFUXL#;/2MYLmLVm%RpU9Xp.DOjXF?QAS);W.Q8Ml5cO03Q*aI"5(8adR?$6K4p(:p(?U/]_bg[BO*DMef(lalo^A)DHO>EXu>aNc%4XMc69=9"@I7amGV$gVcd%rk@Sa7H'd%j-%-HY1E!Vs8J_rVNJ4_pl_\3Tm-f%n83&[VPqren@E4,XOOiU3iOQs?(ts<]4SMR'_B]Y)1C(RVj\gJq!^DiJ,AF]o\rfW2Ec2m0Em`Ns>p[gW7W('.DQl,hmJI3]\_:JcXNr*idllmlPB>Me2n:*^kK-kJFSSK`TJVU^5<biO95`*pJdNm"1m;J!JBE6gd;o[5\ktt7IQd*J1Ge]XK.:4=Ar@PLl@t`_YZP,_81J[017L;Y7;f@-,,2/ib@S7W_Ig4YgcWg!ld@DNXBVG`>=FmC)ljo)B@B)gA2o^/L"Z&Sq/aFe,eYSWp@Namo/6>kA(,I.OAK+YTaF0?DSi;U.s/CVZFWn9Ls6XB$nc;/>!m1\<OkE-?6teEB<1:&<%)&&XD[75]OY:'cj']5c#%XbMUk-]I>N*Kgt3hu(pXNIRm9;gN^A.,S$-^3f$jP-,tkdG27ZjgmkW#poCM)./*Ub62Nb('#d]S+DUDSK,8KO>O4DbQkSuUdTid\=.GIAYGH&3*6#Hs&ShFsLS2+Hoj2^#-/#LOW8qhq,^/Q%O)XA`0eI<I<K:Ugh'_ZlsK?_^)%'(?D8@$8<D<gC*1\Cp&qW`goSJFSUCuP*-SnhTeYkC=oWJ*kkU<].QG=IfXmJ58UiJW2I.,.k(ZtYU@E]"dD`p3Gap<3d,k&3"]=<5aBS__Z6%3BQaMQo4QTc=dp",O6/]QkNBKTqE*YfdSf9EW4\;PO@691%0&.%ht\MmFP<O#<)Sgb:RYrd0'9@uiOjdOr5@.?GLa0nb6W='&b5%c-Y..6Di#&\bGF>rA9H<.I`YW^k%](Gdp,Fd`A`\im@5@lPLsU[rYF,J(H\Z7>;p2b<]-lfnjH3:(FR8A+5"6&&,c##]im=2J?7\N8WI.bC.WG?#RqEnT(Pqf5'[)AuD]`7?*rIk4"&:+DQc#-Fblpa=bWrp[(2UOEa8k_\_5lfi)EIA]^\W;Oo3gn98(4.nuX157&!b-?IRgKeW[)l*h_E0/WoOl/8fq6hic.68$1@s86@[O.3CBTcOc,iUKlNj9\.,Qt</okMjM@tR@,r*2X(7OYN<<qbp9U?$WW=H%_c;tEUrXHAD2IHV9\faYX$l(HL^?,:VO\O9@l0R3/[So9(lL2&Q3)g'TU-5DFAM.`+L$:"EtdO!.09,"j%e"f/g9rW6J\&j8$C6@SP13nDt9NBSdH,J;E@mF`""kt&c9p[=N&Z-eF\fZ4dQse,jAE#;#hZn:nWT9rL[!H$oEl6sM9te^u2pBTL4iC'k!(hal#9at5XPo#i?%jPH+bCq;20D'iL?'(qj@4Wc=u3]tI"M$t)qAa[X;is(HgkhSY$<_%@^EkD^.;QPO*"6Q?^^=VcW9+th;j=QS#KA2D^ICe?![+VZ(b"2-=\kC>'Wg.lpa:JMBoeud,qLV,6451%PS&pI](/HAE!6JEhbh,8khI1R3BqROee[g`C,&:29YL.`mP`67)S<0>M3ss=-3GB&tLJ-HfY?P:"EjffU(Bt&S"fthb;#OB:)S8=pHoO)TRcu6]=2<+F!;B$E3)YAr5i8@@17`&kY'I)nV.g(37=JpXPI.0bXJ!'D?8&DS<FqO;e0"miZLYZXqCl:q,`m!9aP2-d2#J/Zt_*Fqp1ImIr-P>=0fLpfmu.XblH6>PJ23"1aT>o(bbd&nC+jr:\ZF+ZBB$*eI.Un8C4A/N!LiA,sF4Kqp>^7A;S`pZED>60sQi;4#M[QT;VTAa\Jt$2o<-mXiH,%aEX%DhZsHz!!"t]j9>Saz^`agZz!!!!/!P&42z!,r4b%0-A.!!!"L6U5Mhz!!!u?EWZ:Azi"1thz!!!"SJD:,)z!&t,B#3[%)-'tt7=&XfH,b,J5]Ft8F!!!!=-m1H6a,hgN:c'hns'V!/:#?6Wz%MY!D^cCJu67`b+7\er+>X9(qa^A1o316nk6>e+_N^V"hAo`Jsj@2*?M8dR)_,)m7lnmS`Fpe9M!!!!a><m'+kGY7FU%F'fmtg*'\fe%h(1Jm79WljP$Ya)t'[;J6DC!jBQ#qhbF's+mzi:[.k"#u*9cHaDG_-erPPH1^(6S?[g\q>+PK<BQS+q'Z>-5'WmS#M&lq5F_3!<<*"!-"D-\H/4qRS.5EJT%8,Jhpu;Z+:O9fjJ8Ua=h)H;WI*Jj9>Sa!!'fO"lol,%_7aZL"R?'E.[?bZ&f4q_Psh?bpDW-%J#9VRck6Fgo.td/B!.FFaQUmz^]=UZ!rr<$!!!#W&<Ih2z!!%e)g].<Sz3!A:Hz!!'eX+?'9#z!"K%?!<<*"!!!"<#fmGTz!.[F%D?'Y:z*!1-_z!!(pgO;e0"z!/H*[z!!!!Y"QTaez!5Ka#2ZNgXz%KX*@z!!$sDa:/+LzJ3uS>z!!!!=_N*FHb?t8>`Z&jop:%eB2*kPrrUnda)`go%z!!'e8_N*CoK&ZFee([S>Ij/gp9Pje1z!!`ckEoY+T?bEp"j:+gI>!"b2oCYkDAG44+W/ol/h5%g.S$RR9Dt*OfHtus)mmM%T]WXt$>:]</nJ.bn)qH?-,K?'=o,X;Z7OfE#-a!(7Nm;Q(csGlHQcJDfbWVaGZ2*T]mJh+nmU=mAml\lkk0W(?'0:6N@#rDA=IARY1gi!lcN,a)GjqFO"pW3VSM79n3.MJJ0Nfa^LtuV\?+fSo=[:Rq)V(!IF'@%D\:R^9>&;;/>[&L?%2sY.@.&:h^,AQ&e1+(T^7Sf!>q\u:<MUE1+.q_ij\nnnmQ9Wkrq$q/F78]>hu0t$+7rgO5AAb&:AuDq%BREuXU,=4VHGI^i?k]2!!"^Y:>FLTfm1#h3+0k-\uHEt^N^d?b&pU:WL>AJ-;nTlIGE0ic8WLRg^&>/fsLZ'[9Vd\C!iWSmIu478fJjCg_^M`gNJ2tm(9^d&)M^3)_I'hDgqH4C:]ka+7uO.p\U!j.^Gn.%WMRN!,U.GET>WP>>J94#:qqqFH!^h+39$a;_5pgT)(6CEX'4G.*ciBogQ)'$rL_,'h@LdV&U!QPZrQ5P=</c3M00F>WQ)j3P+\g]gb#S<Z?+V\iY`.7`MClZc/'sGIgZ/WYDf)ctoE(;K3tDYpX<(U4r4mrm*5r0j.uOA5Setd,$mr&NJ<M<qiju[=bD:.R/&i)>_Uf]:"&WW=m?q+%k,a3:bJ\0Ca1I=;(R6Kn$O91"<b%6H)toZ$I[0FdJA.rd$C<\@%L6@sL*-'Gj!gl!*L3bIP"F^KJjBgRPmZnbZlu8ib^[W]M"#U;3e-X(2QL[?T6d1;*;`#$,_cQ(DeI<O>1^q@d@fm3hB0M9"2kWd^I@UZ%")=c_J="nru3VYp3i.VcS/X)U:1L2L/$R'0KM#Y3!s+,GdnWIe95T8%ghVW('QlN]<=hCa2%ibn$NDY,*\oQqs@0(et6=7S^+:Y.`aA7tqOs5U#PH]+LA!!'f(,TSi'MTTl?R6*1$lcLudA-_DsISmIB/)l:33u_K;\<Ul8W8"Vp1ot$1G8oY,Tk_AoD9.il9$;4VMQHV(?DNI.OZ+2=kLAU\MYb1NFCh_E0%DN-WZ1N*+f[h.lAMcebI7ABf90]N[N]$I,+Z*@Q0MU/rhd3QDou0i>-@>&9[WAsZQJro=`!6dDD)jJ:8Eej`tM`/VWBbpiG9UQE-^4MpXBh"Dj=n9>jXs@b)#1rcY^g80HW6*QBBLMZJ5-@C+fM"IGqN'S>*ch=)C"CEb<h`p%o*gq^%k85Njt_WG;S<rMI62I+@f[H_^!S>jqkqhN3dO:hPS*M<!ZLQ91<*K]oohm\f/mlH+j8'8G!)rhB;?E?gaP\c'=EkOi!LT6L)NMH19jdgnjeNDuTdNuj!kD]C^1?G2TH)%G3l/2Is#bUn3giZ.brN2ASaQMFEB26fmL]A0XW<ir<<6%#\SglOI4gWoiZ2:OjD]!H5UC]FHC]-SLWi^2F:LltQ0N_k0"Rl228\85Cf2q42LU22UW1_<NKWF@]Lc'QT'VPClN<]*mnda`g]9jL[NP8FN*d7ekL'B7CS4&i'U\DVhja].<$$q=18`WI.=VB\l[;O42"_)`kqDKiN"1NC=#M&Z!%KlNN\B;EKQ6^?rg-9akLDn#"3Z_Y=TQRse:[aV]@eVkOs&q;IF0D0e=5NbU2UCf'-\1Y9amU4ue:fVhEm`A_"c"Fs@>o=8c4A+ZJ'#2bmdE-`!p$OJ^+'%4]c^OePW"<G2#D9b5)tDD)PGnt7qGB62oOOu+n(Gs3[9Uqp!H6rGdiiNs_>:2iFl_W$'T[-j!Y:Ko!!'h3OF5i>^IM&`idOilVrO4<`f3gr)1ShR<D;Zb9'6=_-q/]&2+109-d7hA6!R+K8bc0?pNf+bZZ\\NJ4npWUZ7(K.@BDf%H9hgVZKlK7>"Do3u'\:p#WTaSYIm/WY!4!R%D2Q(mUNZ.LNj-?nbaj0XCak6/3#I<5sW$V9uTu\(`2f>5E&F_/.n_s&aMQ](hnEcBFOudq/%4:'M)uJ3GkAC[GTS&KcX!EHGiMHpX^^DWjRQil:!P;,='X4)<tuB2`m"A_F2)6$AWQ)keJqcBbI>bGrNWI,WP4j$k#[`8cd<T5tu2bYd.4NP@m"%0-Ct4sV4/ilUPN)G(`8HG[mF[":DIGC3Ifh-"&X"t_'hc5J9A:/<XnUI?;[Sk*>F/Q;WYQJmK)j+\uBAOeLrb*(:OPGu]"4IKqh-L67<;f4XF-mqsDWjRPEWNp-b)NfrFV^>?An$hmGgNOTO?B+1/,]8Q%;/Wq9AWG>1bk47:jPg`sZYShfp8)aR?5HM<>)lT9N@-oL`SYc!K4s2C,:B6*9B1aJ9h63tYMZZ:isAnImct=%,<dJf[N)oQVL%KYH,1/M7r2)'J.Fe+!#"1+&tb7sEF\S-074jC`squ=QZj4OeDla*`fmC?a2W*u-W3D'Y@/,(6M36KX'QVH[_0S<3I]t/:G;_1PH.fWVs[AFN'L+g;g2p":SsT!%6^Q3EdK&A!!'5`lbnd+]=g7CgqJ2`ebT'2fh#`js$Tl7*j+J)($!iY[;'U@GLpl7G@C-M5EfZa?6`c;40qn65oC[9>39@p\2CZnHsA"R^Ac7.m-:G,F447r;cAN@`Ah15>`>!dHW,W*kVqMOb]?Fra*eLRV]7A(Y1-u7=rK?LZ>P*^fi$@j9Pk\4H`*lF&8)?)N$IoP^*.Bm(%l1OaPJbo6QHR&lV2@d[A9.tl\4\O1>%1+0H<eod_ScQCAbtE$%,&Ta,QL2J'n/'12c:uOIoj9XZu*]H;DM>Cq1<Gf2><pWh2t^$7o+u:gD-kNX"GX5J?$kXm<Cj;g14j)Wc4CG]n80pipr'^o=9Po(=8WHPuka@'Ok6`h/N-=[VOr*+q(@`LNma1l\eDZTR,hRrZ2]d<ZVD'Dmdm<^lY`g2_W!CJE'I_E)pf!!(q%YYNt54ZsO2U>9^:Fj84WNnF$sl-moL(A$$@`+ZhLVI7^LVX8^gOM<*2NdI*G0DO@*/B?3A!!(blS[e4\ji_;_St.KRG'52BfM$2a!!!"8O`fXfz]ER:!!!!"LKFg'B!!!!EKX_$_!!",b`!l\H!!!<KD?'Y:!([B8!rr<$5XL8Gz&jk@R!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!sfdz8-j2;!!!!a6AQQ\!!!!36JMP@!!&)liWbRP"5mebp\3S>^LI6DDM5NNjG7:0>6$U$n(tbPrU1R'J/]YL+?@@Li.d%,!.\oVgd#n9)o)mp2ZNj4NjsZ$&3#+Y,&RA\[N0>iaWYO%2alF$!,OaV#*Q;ngpfD[he>l.%ZVX%?`lHK1443DYhRir8+5m%3I/O$$+YG4[+h2(IIQ7]4nJn"1#`B;@+u8POIUIR`a7j'H!I3W_[#"@\+aXjd?ihjmV_donbH"PE-_HXG]22ZFRa6@]=7=1fA4,]p-'*"4pAk6!5Q#fDBLt"\FJS;iB^Q"CU`&FrqU(9i*+nqkSuc(/ucN:*]^iR6O9%AO*ZlKQE+(_mb^m.k]HOd4Eu<(gHO<F4$5Xhm-Ymd>n53Y_pNqrri*KKeVcr<#NG3cY&f!Gm2X6S0#NH7#CD>Lo(Yr>("70_l9]Y[S_6/Rn6B5Wo'EU04Z_rtmWS(!j6>Xtq;q;+IXCngJaT2Dn<8ca>@`dj*8S5ZUPJ;LA-X&Ag].=j45pI-F)?$ZlG^Y&SV%/'2=fO5Wcn9T&!thnU3PSO]77OK!*h]P3B2EY9('<;oru'oLs.(&7]5)0M8X@UF`m]!E?==b0-9$(m65nDpA6%Cke^X9X6b_REHu`7kOeCd_pdYZY.m#:9]F(BMr);,nYm!%k<0QL7$$*i4-)$_&&+T[]qDhNO2NIs"^RZ`4?e&gC;H4:n:%k4X)K8om!&2aT+a1JC;^P]^pYJ*+?=L_j5TT+8!N%T,8[\])j`4r6+_?,$u]CBh:WeZN=;H7)6KLoS:kq;jf@Q?*^+o/T,\m<[LXEbkg>A]4Lr$/:EMadM>^1>Xg8R9@<-'bgE/R#5!Rn@mrnD6S_Y#j/]o>VL^$7Kp*Q\\rUZ]g8-]Z4`P%nV?J&Ho`cg*`cI)RqO3_.r!&M+Gl@lu3F,c4OE9Y:sHjkfM!.\oVgd#nWj2UTTUt`GT^X&N,)`P^mc]:/Yj)FOE_Q/FsHF./\r:'"2a\esWkPiB>Ve>2UO.G*(g_e;L\pSt4[sN)BHh?AM4?l!oM!^N^*_aV6a#\*o9Jf<hQc%c$7LuBU`kqm98eLf5GVN/B)P)M*C!$#57D2]6?(@NMmbL+omWOWMl!DhC?D%+A]1:l^N@WC<eu!rPL`6>ED+EAHElN+Zo)-<iB5Wls.*#m^4r6/\?9L=:[%55R;b'NnI"&iB]6Eo:m$1c@E:Mr`UQ]S"j9,3N;=Pca803PMd>^,'>ff>2n5T'G7%]KC5VbKjlF_<`-W=:[:Ch[2[OX5Fi5DB>Mu'/B:Ss;ug`NK,'UKAt;j40r`Jpoe]m\FP7Y<q"':jd4X6WtXB^4qF&(N82aMMJfNuW-A!3kjH)bA76DTGsMmG6(/SuBQ16;]Z`MHY:CmDeSNSboG<QSYPnSHTBY0$bWsQ`Im]hp"<ss!Wh-2]V7.p::J6?0CGH:1m@%o@'HR=0EYeG<6hMs5;i)jCk`<-o8a%q4j^flr)Fq]G$@+%%m8(]=OmFa,b=E&b07QC'\FobYmt4O&)9/F_:BnK<sOG91LoVoi<^Sn#33`h4pR#/_@JQ*m;Oi*H@Lp-@Eaf)ZYD*8)-@M55>/G57nDIoZm+$Vi/TNSJAo<qs)T!K>hWUJHQQD!!(c6\:N^gn8Uf*18s*Cm<868.t@3biq\dWjbe%#&]>+Y^pYJ*+?:Nmg]0NW`!l^^[NfZ43Q)BbL56cKJ8Ig35]VZ"^^Ul7!!(c6\:N`-n*f-9E&6t[h_>*22aZ:"!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!sfdz8-j2;!!!!a6AQQ\!!!!36JMP@!!&)liW]A_!.]a('/s74IXUtYh>R;#q\la0jQ&]KYaO>L!!!#O,4!/V&Ld)']D'Vt`%H&FApOgb!!$DbX:mP(h<t)2id`>Qp?T7g.UD`log^7!&i(2/rYbNs9Ic=0oqHYW8,>j;ZFP26[-hk+(!LJ'mGd12hn_0DEK+5:5I5K?'inTbl8;1:q-^P+)nqMRCe3cS7'B7%g$-R.Vo@o>d2OiSM5QT?IY[Y[EXd;BBD21Qr0/PtZ&Ce$Xl%mPf6ut.eRp5sE9(*N7j6J\+/.%=`&7/2i;.0Q6^9Ch5#geh:,;hr!<Bn_C7Vl>Za97>-#p_`;g"'P$@hS,OS,9HKiC(7_T0'1kM>pCi^VG,S'@6\=E70?-7[55g%,&KX4##"M&YKjnYsM;nJGhYqLbd,I7jGu(kn$ipHmX8!!&Ln:>E@%ldh8b_u\',*S!K/iBS1@R:7nRg!u^hjr1153W:p;<D0@G%UDqhVG!1p5ocLhkKBuV,YRH(3M01A<'"6b3P#8&]gb#c9$_U^<0q1,WgY\4<M(k'<$gqk2MVCD<m'^M2)EspTZq^<`iL(nHe)m*@2q4("]Mmu.9(+hqd+1seG!n&"7qMd:)9iZS9X)X7d)ekDM_tpU'!\;T,K04@FVb9W[FOqL?eKfFaL.P/QdYqe`?$B:F6G.ehRE8>"W.[#,0p.Er%E-jj`mXgT4A3=oI^:f'-E*>@q3V/#J^Ra,SHHa%^+Q'h_k=a+n\(5OS'*SMW0\)faf'MAoF-A]>f*p#`;f4E,$]I>,%WFE-!+Y>j'Gd9Wf_OY3'lgK]V3?dPY[-AFW:?*aHBnM?^#mqgc]Ghm@TK43\;eM@o3oMS]FHfW=2c5UeFY3M'P=.bP<iP_@CCoNNIBh&%M,=Q"\T8LaCe/t]"<PMCOX1V0d"onXJf92.5EEQe]J]o,Pdrf6L?EsZ=p9k1QMRXf:abCT7DC)@,mEh.6SRM2C^=t'&$rqujCcPoL=(s[t<KY6u`J[^G,k=FBnXR1l`RK9uKl%<PQBBLMki2J_2&Cc$];SFE2alM9\Xki[QM5CS8/8/5V[lK:`2+6W)'>9M>.1Pj<P)S>2J7s<2oL^&'t_r6]&SY%.]-dhK0dg5b8=3`rP";0H-mGcD&V\"&*C#6/WUk&SkNK[)0+["f&ku3^bPGkK%TJ&l64=X=1=U?fA(i5ear<0Ra;`57%:@61<45AXHItCR]\:bD*5>$ie,n9'(<9C`S$@]*B+<_e[&.(#f^j/oW#m#.,nP&'P'bW[t8j<9m"s/R^02G]cZLE?['MQh:A2'e\cK#4CqS7RPs5*>h%p"8F^6hE:G`SmdFuI=F+9'>/)NT`jE\W>%UfbWc[$X+%t@3JnY"Sk0tBi^:_Qmc*Il4VAmU+/g?#YHM(02`'Np8e`G;bT?\kL@SM5heK(WN6/2G?!:O+NE?hVob_@P(7HtFa=]rIP<9%Ak12[fV=0B+s.lq+gX6]6FZh[M0g2thpLT814r@Ir*VQQo5!1m.d$epoL"5e"HX(FqOT.S4CKl-+bO]NQ_?],On:Somh)'6dB2W96Gj.3NqpUo$r,LiRfPl1:Wjr;.d<18qc`K+W7]..^B4dj.IDT9.D5OiI7F'=Q,`K8uTX-Rjso1s)c<b+#Vj3e[GBN*6WRO4J$EC2kABXi<[MN/W%BAhD&qOh<2QCgR.YjYbi?Y/o\]m-.F?K1:2hbeg"f'MQcQ2U7L,!A,Oel.UkgPj0=7_N"!l'h6g2Jt(Ym\mP0B]A!,r.r=e)qS/#`)@GPoqLlb]%a<c_NKAK_nKbBld^#Q`Gg*DUTX]1+"qU9!!'ZIaiBBc<'Yko/SeZu>Gao%O/S@7&L3l_4r$"uXW+5CYG5bRC-GKQl$4j,HOr[L4b#]]qd(o]B@^tma)gbe[OJ@.^D\_*)D/"`bMQuAS'u.3F@XAkA$.-p(%ClSf37;+L:H3A]fMQM@2RVAPIR;-jeu&e#@TIWeG-V;2jqQ@8Q?.jN/e,4XUVGRNMnN!/R:'r/PD)"9]F(i;juLaFP/lr;h$(PGUIBF;K9a8$O.!1h'd0^GG[EY=Xn:lQMe0T=0=E_<[BgB2b%^ach#[K3jj]Onehh4f+c3QOo/lYS+6-Kd?r+_:[FmlMq2di?$Fe%&8*TF5SUtsqYaS3=S7hr'h_NHoiR4m$5&nrcr#_C9@\c.eah1/j4`N>D?'ZeG:iX#0aul_P'pS2l7uC7pQ1)m/rfFEa4GB6<lBujARs7mUZM4P^La32Ma6@(Cq4!/C3iY/E5M&T2rZKUSO#)OeZ\hJaZU$c>ST3Y=36JtB*T0R_88+nj+a't<EhGN.V":GE5_!rPK?daI$0n<bOmDH_e,.b7WCe>.pZu$^*Dr9g$SV$p=+#7Q($]o7VO\+Z+*ca';';WbHW!t[>\K?DWh_IBE_8sX&15^@bqYT7/\aqm:+o=pJ_r!PGr(k\VfKol@"p>JbA'CE"Y-@\K27_2#:)!DjB>5oVX6Q2Jp&LUJXKUO'>raX/SjSSp)L;aDc-g1Q0E5:#$Sn(/HulftQ3;O1?",L`;P-;hi"ur$-/qKJ2Vi"liT9Mum5?OGluR%0-C4+m[(+G.YFKDVVsSHe%qEGkJkNmYlXi9$]S]X+Y9-G]dl*RThe`TiOKmp%PtaGY,/Def?D"SlmPW?JHA-S>ombRjf2Nn^t_O2HRhVCq40C7Hs?Zi^I_0Q2N5!MU0@$qD1d`)t@,-GcCJ^k_<86D_>3C5#nTnlq4qcg8q8R!DDI-?Il6=/QSnIn_BUrd&RuC^6FS$>ie\"6cL[j"BsT2=WB(Z+1Uug+a7OEWVDp%@iRJXkWmX5)VOnf1Ie?Zku.&*AUgj\/$!gJ3MYQtVgQ2&,iclu)EfJDUBo=A`>;=jMaPqVhio0<P_i^)(KdQGF4$.J9ZOp'5hl>>!#r1<h"\4]/8L&INoOrQ\(ILlWYf<Rg2_W!CJE(6!WW3#f!J3-3'BD>JYLt<Is'#]cApQMo]aiLoG/B'OMAaQ0+,e]bO`J_$NL/,]YQXKj5nINc^m9]?/k5;9H::)h?!ZW!8&L]`!l\H!!%6O`!l\H!!!<KD?'Y:!([B8!rr<$5XL8Gz&jk@R!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!sfdz8-j2;!!!!a6AQQ\!!!!36JMP@!!&)liW]A_!.]_62ZNgX!$m6-!<<*"+<eZ4,\I@tc0Xof^[HZm!!(d[E<F;p`R;3qDW'BbHggjh0`V246JOhHL`=,=&N9[igQ&dpj:F8#)^9/"!4Enf"3D^(!&m=$!!$gsiWbQ5g]25J\,cT^G/Oh8B+d-U*Z_WB#7k0HI66,dl^V9.>H(o"5<<u]G2'n%Soaf`eCT'?kkOAh`EFi%T0G=%G,4QR<:A^a2p^pY3ff'FS$('*mraY_:G-nbr2?rGs#ctri58"=!!$gsiWbQ%(H:(8mXnBQ]RdS4'qTM.LQBa277?]+m-Gda%V=aNgc9WSC7Q,>d=3LhH-tr$Nh.Usm1VF_*,u&\YjI5c8BsoafQDKNSDCmUHAGuB2_N#)d6Y7rh<T/D#KMm4?)c8`H[L5(i';*@3.CYdro"m\5eOaZVJ>\FnDVd2T&Q8&?974fH$6R,GOg,$Bnjs+S=X(o5!S;Sd>mYBUDN)@H[CO'#G'\aj0QqfR=El>rRc2Zb?XW*jln/u>Wfa,GPEFY"BR5tSN-KB#=f<NB/5[l3.'Hd\khA<Y9"bOh)R[1j+t>"4#hM[7TM.er&aIQHO#<rHf#ua>jpk+M[/(`EN$&i?LOG@f2o-s+$8bt^$]<)54mft3upicU:Vdk?Q:oo"Q$:$7^@gh!.\oVgd#mlj2RXriN#Im6irI(m5T!rH?eZ/f9nnb"'&6WdX&BNkHQS\LQA#"kbY6V%j##tU\:4LrgnUaHG%l&QN`DMM^KkW]BrAfcI'ad8#PMdqRH(ZL+'Jlm;>^ch,d\@%icr<HP+q?[jr!!I,aKR,%SdMYij%o$Wl<cDV'qr*;\L)j6'?pqNAA9D9"[&;I!J`j7(0!Vu&_K'p/k6GM<ASi^Th/Y9T[aJpo>0)ffU>m`4h`rm:gfn_k.ZXiGWRoDY=$XI4M=2_0cJ']K;s@+u8POIZ-V+_-6TZTC[T(K6NsY(l+PO!")nqo<pSg9PO\hrMhaSRaS@p@QO)7#TnPZ":DXgY%L-G!"_]LW(l!AFof*dqS7kcV136hsF2d-s^,3ViO51:6*8dW`1(Z%2EY>cM],r/q;jKM9:<dgjtJA4Y^a*kf.ioeuRXn7g'MdJCBG&P;2Ab9W#DPc\8,5_m>Q?p29WMZ2a;bW.NT>F>raU4/\Ed:B2IZiW]BjgCZB+S-<n"IbB2*ftI!mf5]j9r5$3epZTGg-YLcOcX`"U`so_JHVrRc=i>8>*%mW^FEQG%eoRQTI<b+WiK9P<0o?1%cVO7X%o.GF+6!%[;.he)a9,a253_JVo`!aphqL:4%qo4)lVCUJ.Up?V/ZSE;\1u,9qXs@EE-E9\j=RJQ2\u(-->o@N3c:l[^O#lI"g-S_EEF28e=NYL0mWor0G-5D!8EODJ`JA@)nNDCPCmE$&Cl"%5Y[PB1R$P)U;gLW2ng<(*q"33T#`SOY?j>5G4dDaX5V%:E40SKF,`59&"gV"QbBs9+5Z7(jAHK8OA5gT`O;:B[!R$9kFn)7>ICKk`iJUV"1d>p<qX([B,Ali3kLFORAu/m8"IrlA1DlO*>MFN4%nRfSkS7Hq,O/O7?a\d`f8/qrKL)Z%gT(HfF`,`o'CViTVq6QV@aE%h@qn$0.nkZ^[],`D?'[F*H;2'=V<[cGORY2M"GZdT[VT[*ZQ0T3Blm!3fbpp`soTA],1K.D<KjPOY3W*+78J;ci8%8Ab^6:6b)O>]fRU&?g'QLoN9&&^&.hsT(qsCnZcb+G2qNMjCk`<.!chnD@H34DY[ePl>#naF[_oaHZDb4S1Du?:@C:8ke2VDqo@NF-#mGm)nTjapqb[Z)[lNl!o/F<LPPV"%Rs+1:ZR/Y$gM:aHUHSM59;^(E5;d3\,cT^G/Oh8B9W?OJ$0n65@>')5!$Uk!5Q#fDBLqYN#NSZT7e^rN!!:@\,cT^G/Oh8B9T)0^dj6k!<Cbq`!muI\,k@rE<?3Fm>)]P%WMT\+lW\+@+u8POIZ:JrHeN^k'd7k"p!RNL`6<o!!!Wug].<S!0@cO"onW'J:nImz,_WZ.!!!!A+iFfi!!!!*+`78[!!#OqE<?1@!'il,)ZTj<!"qWRzOH=VE`p;6[n(tai^V=\o,;u-`S;78*doueP!!$56S[]gE`P$Wmrjd^7,nAR$DZKh<!,Rd?i^UE34hp-KDnc&/07PGM.pe,9QCclMjAT"*q/XppQQ-scA$a]loVPq*gd\hRp"t#L[&@'NVGd4Z0Xo`=A5_)a0<be_<7)bgf3#eZ9;Q\%^?CG:04":c;dTM)!.[k^3cSYBBBRsL^]!P<5QCQ*J+TKXrUd!PrQARI+q@_$ZAon"C<LA")V%_Tr/ms0#n$"<NOLD-Qc+klfQ1l<(IisggKq*rPEWKgp$H@tjfTJ"!!!"L:WYY;j4:>::M(K!naFWhJ,alcV`8)KaXV1eUVX_qb4*dm21K"8$5l"fOXX7GR0)BXiJ2ta(:u>595G'N\rfY/_m4uReW4gOY8+.TU36_m&P'.gMNL\1[Z9?:5O:=e@XG9;Lm)'=EVr[HWRj1)R$EiGDRNZtBgVHfPa*IM3Q%)lBmt.KlF"c[I7C%O[i9U)>5(r*UmRSFothb&DW+m6b5_MB^jE>8g^o8>ju:$es8D>'J#foqYC?-pSNbmM2[hbb%"c4J.&H$4DA`'3V-M;Z\@uUt,!8rm765<sb&oKf%r-r7+fb@$fOQhXEOIF6ZaF*V\2>-`MG:Q==P/W`k/CK*?I2ci7?3c!\<3iA%Cs=)e#$0aNE!>qpOcdnP`J/?S5rp84Jsh'b$<`KmAGkbgN/kGD!K8b@rW%B>BkpA2?3^WYZYb]%<9TFIdmdX0n/i&TBWHIjd0>3NGHOnBj$uOL;U7ag!+iN>g/07lX4aLVW,]4*hcN$4^1qPZ]hAk\"eh+&Sb:$R#M2OXr^Bk=qN^!H>Q3fOjbJo=)"MYQ`$ed+*2Ehh<67/"O/en2s,Is\:km7\GuU0_#(P=kXMCHq=g#Dr8]54J,T%bDUk6:7\O8&K'2mgA`BC.9CH\rg9@Y^IPu'Xb&Zto0-c%.)nK2p7U\9FOu87=$es(F_,PDb?l*J87_2]f!t3)6R_9F!,NE0oT:&AQl]&Br\=j-tl>bSrs"P<*oL3EPL5Zs$'fXY;a<YZIpMb*[DuJ5g!!!#fgNQi50hr^<r8SlsQZB1BG%3qlrn4:f7Y.\mBpb[*+\*7O[NQ%MAe6WhaAje;CWUG)`4+8*Vjc`@rC-+TL`?.Z573ioBL,CkdW$U8Z$jruN(6AR`Jl9f<Nn20^[JYmKWKlkWD\GMj]M2tP5(Vb.pZo$^8#;'Xb[oh=o\O&!4LE=EMM?-O->8g*-uo*[+i'.00OT#g_^M'b>\kSe(LH=#;bE@^sk#9kt"V`O^R+uooa1&U>"&eYQCl,7k.]YU39SW%CKqU0)iqZDCAgL$oQ'T>H66]X5\lT-@W9PYEdCu9QS#\iJ,%C?IUU]1<7kK#'M;!%rTtBm&IS#X9AS(!+8I%'0#ol4BY#;EZA^J^&=$]rMF:nc'mbi^>"kS)+El'rB0Mm>6"X'!'Vgs`/W6p;\:G3mIjW5m-O(p>u.(Vh+V`OBMmYB$_u89R=Z<[Lu2kR!!!#7LLcscnabebB@!0?/oc&X-4\[%DZKh<!,Rd?iW]A_!!'Y8iW]A_!.]_62ZNgX!$m6-!<<*"+<eZ4z#pF0d!!!!i#]TqH!!#8NL`6<o!!!Wug].<S!0@cO"onW'J:nImz,_WZ.!!!!A+iFfi!!!!*+`78[!!#OqE<?1@!'il,)ZTj<!"qWRzO:^CU!!!"LKFg'B!!!!EKX_$_!!",b`!l\H!!!<KD?'Y:!(b0lET?`Xf6?]?h;@,!Y7V^L:/8_.S*;L)!!%O$Z;00dJ`>P"HiI>;lk0P>VRP213rj/1It.KHs#UDbi'u:S)r5E+HmNdJ)_MfsWnEV5BEdF5"07MUV9<0j?Fl,:WTlu4^RlrRm4[4`1$A:[kFR?E.@&%7qu&u:Pr;lqikVPSe)GQ"`Ff.Pqu76>`R;3qDW'BbHggjh0`V24Z;00d7H:_>_uZoC#i2ef^4fh*2_*o:EF<oCG["&&DDk_e@.E*mET8Ws1@T,7%AL)qg5`?i(-3`ZXm3(H>B9C4"E=OR+lW\+@,%ds2f@H_ojf@g^rcic<`,+=`G.E6.f=7m<L<EmH7fp_=G(&G2p5rL+I1'8S%_!EB]N*kXC6q0l&t^@[oU`<oHK</WV@,&%3qd[V/o*n?",9E7"JVqB([SVe*9Gu]u=_TD9inGp0cOFmRbd+M*3jt+-;N[&ujfR2rqt`ou'qP1t3(k3a9NOD\T<AT53>3D5QuSM0")$'>GTq`7;3UMP9H;?<rQe7(no#pM@*4(&+5t]]0Tr%3o`j2alF$!,T8A`/VK)$gFrY:bP]m97Q%fM?@;Femt1UCq@;Gk_bNc?*$,ZkL>E(SPE/>&4rX7g%NOEWpjeA5ObdIWFRnTh?]RU2E1#PcuWqkWEaYbWONQ5AGbA.gN=D\;9]n]J_ho[<3n`s.5tjS]pYH[.W2&fVWIQ#X.7RI+ZaM:Eg;r-4$hN2*]Nq(i2Q\kRpI`R^#a5YPqcIUTWd(p<dTt#E@,R0G,_Q@&9.gIZk54s!8B.%\.SP:Lb=VFI*bf7G[?a"M^DBeML8UAhUcaW1rX0:)ehHm;)BbF9?gfN]o!`?87r;VZe"]!BY&V7qRCR,lZ^$D0=FtBX\6\D&KfLol49:Ro]SbC00tF1`=:38];Y:cCh6&jR(mrs\t;#LI?\a3?ga9<s6R)9J,Wr,a$9Rhb9-ZOGQ%&Os8@_i&&7mEpq`#@G;i.$V?9"Y`!l^^[S&`#9U9NhACXlMKlP"o'mX'!7q&@Z?0TI1e]FhPT$sd/7NnfOe'k;mDQ@(uMJ>a`VX0'/E?eee1$En3Ih9l+h&,@#YUFCFKHZE'!tXG%;7(JdoXKa<,W\sXL`8*YZrGgWk>($Vr71\nrVUp#7eET#J,Y'ek49\m\j+mCYJ:+hmsb31B:jVGK2LD8U#_-X$X_"LnrH!M56'V,rqg%AWU>:ra^d0!9bDk]5DHZK!8)Hd`so^u,?M9Xc"S%5q7XKU:<*fHE2W7ab7+Z9/BK^0QKq[c2D2L^gsCb)kZ.6=FM?o0K"d]M,c=l>)T>B2BA-gaf9"IG9%31n:lm/+>IGh*BW4\0,]6;%U*iR4kuOrmQd`&lQ-j-B;;;umC/S$FmeCZucAB+J2hl'Y9"NMoI6E^.7GN]K^8k)<*33DgI&)t*rr.\&qu4A/U$mI+q<%p*1h73sf9\`$O8j>%<;9oZ](%G_nG-Uj,Plcen"^D?CrH?DS;nQJcg/U_2ZNj4DOn;bDRW]fNSCp\00*%9egO^#5L?4X@i&=be4;o6Q$$fu$KS5UE^$g;WH^!9h&*ZpWFb%2p!ZiSICYr(Q-L/GC>njX84DF=/6XNP/T+8TUp&cI`\:'=dA$:';Xnb^&F$)nbikna[H`@c<3l$d]H5k0aT/_2DMSsQ9mpg1;Us!NL4QebosjOqri^h@4ZSSg?[)P1MsnnbW;>-%0?8(mmsk,kpG9S`[@0h_`=E?kB/12c9&fr4KgQg:&iTdjgM`XmnRlE9ee#G5a4X.)2ecl0`b)C+Djj/KXBD.`lfIFg3Gf.0M]3j:I/^f$Wu4h8qX7d@0pt'[g,k-1^]38*TDe92mQ]c#X$;%.`V4lY-NXN:52u[(KgQg:&iTdjgM`XmEI)p\!_'`WrotD!:PrFRT0D()D`;D%EC8drbL?ntoOpdr^XZg5fAf?mVk8G,Zd6A[rKsOg56''%9Tkj))pt95huD[(s$#-+7@D+6paB^<AUB7Q!.\pq:>C*io&[2jcVBfd4$+)\Co4\o/ou$m+92.ThtuCtmZ(5`5JI!apV*!iC-82)3c<$0TE"D).Uke`q$3N.reo/5I$F9/[UjfB)ZYD*[nb]YhTfB]ptZIppMYQVqp^@MrHEO56IecbO=B465Q8L^nIOTiKFN<lL`6>ED+EAHEql:&")`q)!<Cbq`!muI\,k@rE<?3Fm>)]P%WMT\+lW\+@+u8PO<!6aE'qPQ!5Q#fDBLt:qtp*fgs#ZpG74JeN=\#K!!!!EKX_$_!!",b`!l\H!!!<KD?'Y:!([B8!rr<$5XL8Gz&jk@R!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!sfdz8-j2;!!!!a6AQQ\!!!!36JMP@!!&)liW]A_!.]a('/s74IXUtYh>R;#q\la0jQ&]KYaO>L!!!#O,4!/V&Ld)']D'Vt`%H&FApOgb!!$DbX:mP(h<t)2iddjQpD`qXN(gt@m"J)mNWQ+j(l_kop36/""L<7)g)AQ^=G9^(?1oI^8%CM'!<<*"5&KW(NLcW2B.Jf@QCb2<7_[T^/?@<9er5R_1Y:hD3P)rX;L\SS&bYO'ZfM[O`!l\H!+8Oe`/S!1DEV,o*3f'G'fXQq1Pg^'i&?QLDU`7QM#(/K+O`h1SMTR!+S%%Nd27\u7V\lsPY7'l7!pj;'!t&RR>NYUrB[KW?UqeE<jZ$_M'.m/45kS1i`a&Fr[q/"`N7csC8g8ogdmc*,;1^6/_/pe_dVafbPBg!0-&dR]t0n!Qn;:=^'Yu[YGKRi(+[pT?`tP3hrf4SFohXD!$@BK`/PX;UZ$p4gob5MY_VWADGuR@PjJG7gG0IRat9e=7Xe&Gii,8PA_W3MHs(7h/)u@DZ"_rfDfEDOJW:\KI*M$`?<q`RBSUT_&:(&=G]'jXOho*[KW[9m>nl$UVd<&p18a:(K"*P>9&c:/e+Gl9)NU'FSqrSIfq@VpkhkqU7su_$!!!#W,IF/S;/A9ge'+e*<R*kuORo>]@Ygu+-^1P%:kp(r)%K$CS/19GK2lo$1r3m'bFse4Gr:FO2_>utE?f@<(c:>NL\\>jAnKB8MdBYL)Zuup(ShDhTRX(0n]/KkBDW);!!%D"2DggoQKb^QQ8>N4.)iD<#;8Q#GrQ'W8RZo"BZ[b-,DN0m)qXepFB8KP8^$X7.Wsjo+!7WFL?VF/"7tShH"ak',RQn%n?=H]Lu8gd(QE?W[_YhrQof>scN!qF^di(5EC9ZS/?$Z`U@Ql(J%F9OIA`soGD,M6V2"BZPoOhZRS9O_7T<%f<U$*UfY1uuEiDKI@o:FMieAFnYoH80VCFZ9kf@S(.CWR.1:(t@=ZDgAX[B'iT%>aG3ZH%:U^Eh^X'Wr--W;TYP.1Mm!.^-_3cUqNDQf'>[r:/1HLbn-(e/glQ)NsQE`'5)]:`Breht%_*`:gp?<\m3c>"2!2+=NEXVDVjNT#JT=2g/(V,inK&]^nO-$#u0UR]ZCH)^SSXcGM&?7I#iRX.i@katO?frDgV8E'gR!!#3/lbncI/'G5Qf]>*<ApX@5Mu$/s.%<*;o6n)N&cnc+k>20Z!!&X_FlLF*l)=q&m<8B-CNalE`3-"6T5LO8>9N38Ag&+s#gX4/<hH5H!!!#o<36fm?G:g_m+J_o--jf]_uZ@l/H>bNJ1\'%g].<S!._ODg].<S!0@cO"onW'J:nImz,_WZ.!!!!A+iFfi!!!!*+`78[!!#OqE<?1@!'il,)ZTj<!"qWRzO:^CU!!!"LKFg'B!!!!EKX_$_!!",b`!l\H!!!<KD?'Y:!([B8!rr<$5XL8Gz&jk@R!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!udUDS1GsqX31Oqtp9a2.GUfab_ub1VEql!!'5leqk=i:u&[,n"37/?/gCZoG.E,!5K@Q-Z4%<h=HoM!D?0.=G>6^L">1QhoArW!iKWINF)6P>O=@iWDp=7UfFf][qm\t!!)M.=XS+Rm-Hi=8K=tqe0o8fTiEbB;lOlDerkNnr=>XVmakMDK=;Tl<jQN9iK@sh2ZNgXn-N5FDVVgGlcDcYJCQ5>]im=Zb#EaoAd==...drnT2)4U<mYcQq2?Bia;/Qo*;WK/+D4_I\[:'o<Ef]GXdDh`"#Kan9,?p+AT;6Xr1?qL?Z,.$?OgB*PNAM.`i8;'0E:o&rn#P2Mp_O=Eg,>`c+NtlMaVT!QLhFWbkCt<fD@?e\e4U=Ag%iF=4IdMHS\.!XL?<a<?2I\\tM3T/QAgc3k$U-X'Ch.Q^tn"o&Cc$>(ubEihn&^E,)/g;([\B"m^dX:'(Cq^aJ=D`=5\Jf.GbN"0YnPM.5<6h52.oagZj]DPXQQ]-$[67I`.j%,tepF8LN,<D"Q9c@aOa;d%T?qn?&G7=<,IU<'O[o*a*7D)]W.APolsIGLZ:Cf;B\DL)2"ck=r$QY#Qf96_$b6<EML([I+E3V?ib[N!N!E,r7W5EiShGnnkYdrFbY6%t%imhL,CiJ9r2qS%[dX!G/3?/Muhq=nb@2rs53mI\8'H/+d68jhF)GTn`k;\pcu!!!#WI<g<^,@1"4;i8H+CGfjlZMI0W=7;1s3`Z-HnUc=/W"FQ%Y%Uf"Q9Q4qXNh^^Ofa&,.fFVP0QbKP?&?m6GBu#EkfBVoG2UOn^EAPrHo!Rjj<QD4RqZ;.J&]/2p$bB)LLGS2HLL3K%@klEiYH=&j2Q>Df8@'ms-+^/p*rfSO]P9k2ZNgXn@lQUa])8G8dCY%e&[ei9rh:9:</?=NC1IC*uEddT$sd/7NnfZ*`_;M5]'DbO)"<@EMF8m??^S[7c_a.(X/%7*<THCbIE[MkSt7jiUrcqlHak5W:e[9Ja`F55r>ok@ru'=DN+-P)!_+!e(&,c\upo-VE[7_C,4>p;i9U)9:Zs2`!l\H!5(Pb0lFoA6&1"\5Do:h'g.f$NIb0UVpkI1dgQ#TS1LM6:$Kc!l!hn\D7(Kl0"]Kh+g!(i29jgr<9"PmeS_tJYeA/_6n5#\9b$37L[8-?gi>R$*;+clKlBn=jsO*,Gup<%,,MlT-uMET92:/_<@lI3)=\B-M]8@I,e8g"HWES[a''B?ilP/fEl5=ilJ@@:!!!"D:Y(@Am<3i!gphe0p?EDo`!ruTBk6n,Ulll'J0EN(/2!aSd>D[YYYg_pUZ7XLZ]lI^f[`^7qc7j];XmW>M#**/7]iJ*e6ZGR:]46mkVpY1%K"pYn^/KfqQnIFn`ur.U7kFsB9nF9j+d?@Tq>5k<36m9`XTIX]W/-(.@AY[BXVRf2ZNgXn33oe2u]m0b8OiVj#EOmm<.sQNCNqrFl:.^_M2K`X%gX$9@'MbEshsJ!8+Muil:6IW<a4*G5J=UG'8&IY,>'fDPjnp&N?k^r2d%>19.mDD#aP9i;Hb*DS1Amo%C?^Vb<PNSV[G,doueP!!$56S[\\#!!!";J[b^\!!",b`!l\H!!!<KD?'Y:!([B8!rr<$5XL8Gz&jk@R!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!sfdz8-j2;!!!!a6AQQ\!!!!36JMP@!!&)liW]A_!.]_62ZNgX!$m6-!<<*"+<eZ4z#pF0d!!!!i#]TqH!!#8NL`6<o!!!Y;:>C*mqXr[VGPCk+m;'Y[PEQZ"^h.m#!!!",Ml[RN7%h&6n(p9q&A,j]S*;L)!!%O$Z;03=G.ZofM$$eK*]Q#%T1MW=CpDFR7ITjYei.Oej\jWY?^Cut!!#2?lbndRSXjCDM$''8*&J$IBB75.AueobkJZ[[`Hs6Qs1f718XJ>\`;or=J5=NQET>WP>>J94#:qqqlIE0a@2LSG+NjU1YT'urb7!@t3O;W-b#+4I\`nn?ps?&\\[3=_aVH@,?_5`Ias5(U&QLStkHBlXfOl&sF=LS%#,0X&A;3\;N2e=5jQ_.*EE[XUC=G5_TN+glHZaIu<3QSqoGI]1!!$+Ll*qo%IG5_VqUn37dVr`OLuUrSCKc2E\&oR##tuuj=='A0R]c,4<>d<%]h$0QOYiN8mI\7\`XS%elBZ;aJZI'QRZ?Pf8i!4oN>l<aemq"&9t*XHz2Bhn++bb?rC=^Ul?G]QU#,BQT)%K-h,?qeWJ!X'>$J%J_%2h9-;^u\';kbJN3oA$,\.LH`$31&+fW_13`k\aAMP^/_IC:X$Fbltj6Gt9LkdV5NFc+%4SYUJl77:!PgrNNC;fQ<YOZ77"Lgd<Ap)A;:"onW'n6Tp=m=ndc?E?&RX_,gS1T7=&'MkSu(MgHpfB#+C\Uo3:($1+IMWK+8,H\l$_RL2=FbFWmX_1Zp<je#-9r88gP%r#14fb;YVouSYbJs-2b7-u^!!!#7#-8Isg?nV!\8hE>mH%tNJR'efoFKoXd^`75?3%-pOIIQ(0I'qBp!cn0JQjelV;do2V;dEnL0@beMAMa`%<7MX6dDcjH4:U*;V=sU2O[;s%'6ap33D*Z4?3BA!!$rA:>GWNZ7KdI?&mrmfB^F,/Q=]SH]_Yg)s']0p3bbsbILN*)r@M^zn'!h4j7MtC"H%B7rREbe4$-p'e#-!VlZM)Zg_bdZAiW'o3QW&;2WGPQ!!'e>A"C."o&\&-c^p[[EHZLP%bOHn!<<*"Clrl""onW'!5&Kp"onW'J:nImz,_WZ.!!!!A+iFfi!!!!*+`78[!!#OqE<?1@!'il,)ZTj<!"qWRzO:^CU!!!"LKFg'B!!!!EKX_$_!!",b`!l\H!!!<KD?'Y:!([B8!rr<$5XL8Gz&jk@R!!!"\&E3lo!!%P&&2sRh!!"9t\,cR0!$EH'%0-A.!!sfdz8B<i3j7V`iGOODEhqtoH&K=M@:;d1&kq)l8!.ZZ,:>?D3inh@qs'.nW&dN6M[f?C.!4Ks0EMM:USmV*62rFQ(QbO77'sGRWDn&KjX(G9sTbT-6+$(^Q\)`9^G8E1Lq3=W'>O)Gn+dFP2"5P!$<lg(,V=R\Og3Aqa!!%P1`&_mJB4pD\XM=`$Da49tc[YS^+8ti05Q/c4rZVhSh*U=kdjZSEmk(Qshd>.UL-<S#HXRV5[d=6uF-1*mmcLOXh[;so!!!#7gKGtBgq%XoaXk=`ra#?umsd"i'F1^U?sj^<Qmc"Yfi0G2HD=.GodqsQ#8+71e'.'dTnbpSjc]C#;g(KI9LTCIUs_8um`NA$JQjX:FaD0jb:OH96GHsioJU\o6X:mLk!da1ZQsb9Zb=1gQt>(P?X)NW9LTD!$sEi1qS^tf0rhAHf7$F8hrr5npZjgWR/4_A2as>GPtEd3Y#oH6lDC9umVSh/<_M]O'VGF+!.YTuqJekBp7't;7f<"i^\t:[)Sc.!YB9Vc6eplao!3:[#O4aXA.9lT;u*HT\h01*-?2BuJYm9G]g5F0qt[8Zq/4XmFaV:@e>?Kqm0C@*.@&,3a;ZU3A5'TWoUM@I.bA6sY;W9+7ap\tltT;0Zj3r)LV`YniJ3!AP49r-GC)X.>95_$H.`S//h^/1`>/9ppl7JgWf6B0h7QM`!!'eM=u1&P@t*s+?\jO.Z_.1iB8nRZr).?9,AonaZliXtJoK)c#t#HrHH="Np%UeTS=%6SCe[^9;YC!qCrHp$,HXHjMFOF[q(fR8?:BiEUpGc<=_m7^;*'?n-o"]3,$joZRJ)Doi^Pb`4?<./-&?5'gsGeh(4W.Nc!WN8jW0U+F[r/)K=Cp^!.[ktqP,!p9'+r#Ie&\pI/W`ij1/0jil5N^``-W5$a=bn5)L;Si`sM5=hID@>&KK?_Ef"lU_r`oB$E.>=l#I::=XPmonlUG;lVTadB&3E,%9]FU&Hb+\1q`*`!mS=9Q^@ng9Mi=`"?JnS>IW3WHIZUX,7kI<88<%2ZNgXnB(Q&CH'7ij,\]fj7H60'lcU-i&Nf-8o\$T:/oqdA/p[U)TB;Bml@e'C/NcB7n/@Ff2m``o)c+a:T*eAV\eu2Pt#;=BG<8eS8!mu?DA(`r-C+u.UTGcV^[slaK*Up+"pL;<G^RAe">d_L(5K.I,4>KAiZ&Y'fY.:@6([UfSsp;a]&6?!;P'G'0"Y4p,H32`1`NQ:V2&Pp6&?s!FC^dCZnK-Js7b8"1tSa>%dD;Z^>&12rs0hbIk8_]KW_S>]1#KAm)5sQP6BV<El&t#;h=8&MFl#$coN\h_=[F8Z>lt0UYQ3-uMo^-uQRrc)lpDHL\Tc?7ApT.NZ.uZ5!?>!'X]S`/Qu3:R2R(*66`+DnhL([2YUGU/`qjB!pas^=SO!,[U'C!!!"HRb!<7Vl-F::pf!EYHHR3fb(if5(1#1hL6iANuPuf;]Yg+Y8jj)Ii]C+!!)d^XV3X"^3obCfsB-RcHa_R!Lr=*!!!"L/[A.,zJ@@f!zO:^CU!!!"LKFg'B!!!!EKX_$_!!",bruV4@!!";)rs,S^nui~>endstream
|
302 |
+
endobj
|
303 |
+
91 0 obj
|
304 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 541.3543 0 ] /Rect [ 382.2629 165.3043 466.7429 177.3043 ] /Subtype /Link /Type /Annot >>
|
305 |
+
endobj
|
306 |
+
92 0 obj
|
307 |
+
<< /Annots [ 88 0 R 89 0 R 91 0 R ] /Contents 156 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R /FormXob.ce51f15940bb1ad7229790365dc5027c 90 0 R >> >> /Rotate 0
|
308 |
+
/Trans << >> /Type /Page >>
|
309 |
+
endobj
|
310 |
+
93 0 obj
|
311 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 205 /Length 22740 /Subtype /Image
|
312 |
+
/Type /XObject /Width 511 >>
|
313 |
+
stream
|
314 |
+
Gb"07H!HP9T'nnmpV-(oFjGB7X/C<EVrgb#9\o->/`eUC\:>^]L8*\APZCrT/+/">MLZnl.KYJ5-n$RDL`d&IVX0eRZ>\D=+a]gAG>8c;#Yu*,!;X?9h`jl]F-c:jT(@?$o:/3/E7sCS(`4),(`4),(`4),(`4),(`4),(`4),(`4),(`4),(`:oD[g-bJWO2K(hf\b8K@c_s&5m5s)eY5:oAN5R%S\FLB1<p_]f*&^^Lg.9d@D'@5NKh`n*V7EPrXM@<%QD^>mgnJafDslD=liVHS-Z4n\_TK6Q-"C(t\u!o.Sjp;K;N-i.J=r-Y$oq;JG17>DKT:3p8bj5)b3jHee7AnLbt:o6EX681G@^(-bU<9R-0Of@P3P,9dlEK@_:K+$U:K)0g,9mHCKhjk^sK^g^idGn-LH+jYsW6ipZ:.=#lK84*@Z".Ps,-m5o`.MYoH3IsC!qNW5kmt_D]E.2%geVV^PDL5MsYTG??oQEDs.W*>L/EnKBORB[:%*5C5^dY%]7U>#eS+q9f*dB!-Wg/W$\K0eZ2uT!V)rDpUC?"7/G%6QAp[nXV6!eKpRHQ4i5lHdIcHn-A%Zqi1[JFMZ#?<&JjA=Sn)ID&BQ$2<H4%_7P''Bd1p2bPI=4nlhR6mc[R(_MJ&UNaf:J/"5L\WGV:MB;N:#T=MlOPR<e8q@ECT6<O27\M):iG6tpTfZjZ>^14b;80!4k0Fs2q!riqH^]E'l*XXn+!o`"k=/^hqS_hT,lGu,2-81>KV_i`pV?sFkKR>;X%7\s/R.K%'8(9_sSZoidLIlni:YHjrHrAD11diRaI(3qYGF8GFlN7)VX`LU*ijOpG=GnoXoCODh[(.*`:WC-0jA6Gi*rG]R_`/k'CA(3?%SlQ/P]<>`[!EO@U[W0@.3'<9,k`-Tm7,lU8jljP.^AF/Vtcd@,D4qIsC@'!&j*s7)ekW@Im^,<A<Vr8AT/p#sr)ou$0aUt6V"WMo6nmra?0BAE)PD&#^SH&k9kT*XMlL#G]3[4"'gq/qV4\)UYlUdR3!IT_J[]!EM)r6FOGWO:s+5qfbbq`$?t/jTM0\a?'P^\f=g0&c?D[n(nC&nYEEGX<I??7@bf`IhuM4T*MqB=FSFY"eQq\Z,5A+]*6(C?)n)H)^EfWW/e)"pWZ!Xudu=U)Wdm*WMnDo8mQ@,i-3($Ji=G]]_V&e`fL-g(_O1q9$[9?h*p$XJ/s`40*Cr@dfl^lM8T<ldhoZ]?]#U%sUQ+72o</*dT$O.rpLh3*\pVRZ=b2;\F<=-#-I['SF!d3>PK/`aTeP)OI"$;#IJhnG0sujggQZnK2/.g;UhQLrc+\Faf1=-fWPZ6+Cf?m#?d]gq=H^hqcq@FH,fS7UB@hr(2=Sm?BcHJO\T0<R+GXs8H">*4pM]]c5(-R^7e<Gs!p;)[EN/.2GLOm;FW4lJoXrX.n6VQi/P5UR;f2`rmFP\FlL84WqmqY*.,V6/S#O;T5n:cOcg'B^SW4>aI<$'t*#aH_#e?JZ7BIs--=SB_fC*>9mftpB(IZEn%fCj^m6WOPeHmN1PZ>O0I!dQC`,K\t$fRgjK\.`M_:npr[pL!i>\8:WVWq_^g*#Q%Aek^:T#Y<Y"$2m(d(Th`J;O?B:KfV%dbui]hrOFc4"T6tFU?a[3hgM!4HDYe6\MU+'+Ajg^cS&&bs;g8[8WkS8TX)u'Gn*Op,S*I[4qoa:0J^Ik$D_ZDu:]$p3$ftlXlp^(rrMgT]h`';sKF*DBZo$P*Le:samFUeT[VJbgqO\HH;^$#n<N0[O?m_6sqkh[&?5)m9u1I>^4kH9trbNXKST]ZcN4&;L"+@T_W#7#S:,G"8J\:=+3kM8P'(@dH,9CCUB+-3S_C-M>OG.1.g();:cCsP5r2Z&D^c\VM@S<o!tdH7^'cXKgZ"o9`m[]I?df@'0>47>K)5ontBa1#Q@A_htPJ&T]??N#CuHn!d,\#$ZjopLsAih+dlr(.-lD<J+!46<t)lWPb\ra9-ofWLing.]T]D=r`oL[`kO"+LhXq_m[+UY(`i[`2RECMHc3HTn]3+D#+IO7TsS0X@&tHY!Jo?Ab<Ug^a^rIP33c@]<=+*u,]9N(aRRh9)QeV36jj]+85^DO$cDB17r?s.Q*mB)FD\*"hcd7J6nZ#4Wd3S!q;\JDBtY[nZY!^**!_MpsYA<8;HEs15Mqd;*`)*8K>7X4kN7q3K&dmEg`bj'JVBDd`ksr]Z)=;es_g0hUn!Lqd#IKU\o8]QGcI:uY87^r+b;CTo`$iK<)sHfY-mY3qNLT%(/I5lAI6`j6]X9<+-t$##=lQ_3.3\ND=@A`F#IR+:io@;,Z_JKONAMCIq#j'#>8]Ck"/4)!r)1uq@;$Y>/Ub$SM*<(=pk5tT?I43!$cmPh:]2WI^WIRe!b?5lf:pX/%doi.7<[_>>WCm5qIOfRRDg=.\QjNaB=8"h>qLI0YHO;-1,]3QtoM+qHYjO;<,%bd3'rJ#6ODcq!Ol%9\"oX$c.5J*.4qtU\n;4J\O`^AR3?/i%rJ=`In+7[a<YiW"aD3\K*B^MtS8R4sm`#fBrbeWW8[1GiHr6G_1L)4t**+\<i.kiY20X/s2_a/##SV:b#]bUM,;&*Ffm7OqNVg#>[^qdb$7bR\m4YLU/i+"MKV`d-3Y(Q^Z!WrN,!s8W-!s8W-!s8W-!s8W-!s8W-!s8WEmoBVm!!!i]63$uc^lSQd#64`X5X>5J!!!E=&:XZ[!!<AB*rl;V!!2Tp!!"]<5l:W_!"9DMIfKHK!sHOa!!'e7!V$Bp!&-Z'quHct$kNu"!!!!$"N2A^!5JR8nHT$o0L1@:rghFFLVN5<gPOh9!dCrNRcRTR[<lSRp@C6gjW.^tl!!9CJ#An69ui+j9te3$<DYj>[KL^X8(>!k_6<#ir("fth_U2FqHk3Y*Wc=L(^s:>:Og8s6R!ffG*R)GmAQr^X/hrs?fKK/9_sQ*a*H.uqHIS.#6>oh`T63"U7O+(mbeSW1&X`q)FjH/VXpE_NGS1OHM7sN!/"^)i\-)3:\pCBjh^,Zmeg5cpHLAbI6hrM"82N:S9C=UZ*W(kJ"\n$Nop*s/`Zu",p4k<KQ3K$Ah':m;g]95"Dse#K7L$=<_iB0XN/L$hHs3P^['+G`Du]XS9P_$REqiRF#orI;.[HJWcq@sNppT*&7o$dF]7#)c`*6IFJ\E"?2U+k*&OjPjnTe#TLJ8d^X.^YjT;&Ek1HR62"tjgd/TbFrNRm2$hV"uFnrVTp_3,P7_6e3BJ.&t?!5FTUBsr>T=j%^Nu@uu5SkXgr^(%O$gl/C%TC_)riMONB>7s,:kcb=I]>-Ic]?Bgn8mdAHipX"oBSAU.p3TdZ=5:(nLE1Bs$49'Ng9R-8+5fh-`\Pl5=Ra67;#1"QK!:-Won[*0LEYB[()UFQ(>D^Tu0m:plee:96IW0VK.B\4EeM)F^.c!Q?Vqa^7g6D&tgV>TUcbiH[8;`5a,\*s,EFJLF]VCREj^Mco!i3*KA`H?+?GLo;S'P-ltYE`tN1%!uppkQN.!cL<.Gl5Q)qh1u=u$Ld+[s0qITVM_C/t72pJA1Ccbp.'ohB?c4G<iH+&raG]`UMt<)&C)?Kq+/rqklt4rD^.9Bnco@1SkI')_S0t6s9Y7NmbMi#!;lB^onreTcCM=TmMEa]*n#:m4jS]@AQV]@-4d0T'U:[MgYgA[uJa#L0[B_VMG&B%499uOgIhk7s$Ipe7;3Dg=3(m\hF*kit[,6FpH>ldh!.^au,2t7h4@;2CL%MK;r4DbXra1GuDlA\gam:+KB4eAPOmLM@muK3,IF3'4\+GKW4;Njf(b(t9?I!HbWIO<:BI0d7AamPHq6<UhRa$3Y'fG?W6:F-+V.hs`+g(b1.p@1lU3ck.Z?_-Tc[Y8^A-bB%Vg>oDH/ta?Xgr=NS/3WmT:tP;OSt.&o\Z_SG)uE^p8bao^2=I!.KKN'<(94P4*_/47J.$$n<HVb(M(fjDRi>H^1I-?QM)MpYH=0Wd#l6q.MaG9$<fE<IntQ":0NQL]t+'jms93WV(:Y3G<sL"e4U&.1+r?8:V3Dor&O[VhbnAT:l')41A.3QYa_!S%5%96-i3kk?^9[/-L#PE\apWMSZ9!eO'nLVJ_d$Tq31NQ]5\C3!!!5KE5fT(P4NE+mF9ah)MV(2Hedm]5<jqZe;;LpW\6&9_tcD1051IIfdk`OG?QtMs,E=H+<W,agQ/$,"RYhg](/L)<Or;TcS<^nfi?9BCReA;dDl/ug#4q]aK+S9qcnU405PX%4"]GG"[YL*kPcPb/nu#KTqHEVmJKQdK.l:"Y]"p?Te??.Q00^Sc'!'T3a3X7?&nTLq7!l^*KA^2SbR!UF>N1s7ikIfbb)9"JW4tHWrN,"K4DF+o69seeTWg]W`=MEn#q._dTo)83IOA<ZXf=ZiQLkK>ljtlHM3u1Nk_@F4ND%(aG]`.jqg!24[59UoKT=Ac+C7hA1n!0[7JhPaKOdH9rFTZ#MLK!c554M5F^V]i^A8d]C69cDb4$YG1pO*(-l2s=3J/S*VIY>e16G[Y;VO@%[3C&Er4UOX.DK3;sSD(=8W5-r2d#BQf$ecf/@h30nlXBp*&mK5bfCU<!!&-W5-1;eU^!U.O(hF8p*AC)ra(;QoP$G!+6WP62Wfj\,B^pd7.iL!!"^@J=XG5"B8^M;VJ[rURqI3Wo!h0IB</"qW\js!.t<j*rl;V!!2Tp!!"]<5l:W_!"9DMIfKHK!sHOa!!'e7!V$Bp!&-Zm+TCa*$g*\fb]D"PpKgOefN^)u-Ek@':;%C*eA0Vcc>;h6(S4Tis.L*#NJt0t3p836eJELrp;uF)Uu-,n^MoL?%hkEQY-Ffs:&iDaaM=^fJ,$[RcPZHLJr!>E/a!tqS3D)lS>AGq^1\AL^CnGd%C;O@+&Ss,5BcN7U,EkAL"24*DcbVGQYdMM's`0"K8(YUK1=3/^KG-qc.MQVg?1N+3Vi5HMj[LUQs+F?r3D0[3E)bKG#b'm](o8RPc=75\3(`%W<FUN6Pf\>p?2AU(#4U=Y:nJ,U7BBAAX#3QZFVm#'B&2%_B-n^MSMhY/"*K$@Ck8_rV66BZe#pc^?u1r+;')(m@DFp)2jO2af)%YF1YUJSpRQ.2.us\QD*t*0UV)p(@Ot/WoUBJS@:3,*EgP#Im'L+-K13bm*58CGT'd'(&3d_2B&b+WDQ8(YP.Z.j,NdO[DbJ*n\5/G/0c;:r<#-+G]ht\/K?N-afk8>&pDT*m[;bEj&*.cg<SFnO&cU%V@)-j^+2l9KbVu2]T.3&XA*n'D]b:'J3br$nMe3bTR&E9AIsbaT2BRnn-TiAaYC1bH,#MrmQELeSpeqBRn>,+DhhO9@S<Cgfo\ru[tN$r]'Gqogh(D^$`lPjTM"s<XjugU>jpbgb1r2aWI0/Ao$KH3MHrIb.S/+uT:R"3b7\['N9qUt:0I9*IpPM'qH;!h93"%31E5Z6]<S*8CS.-SA8Q4%^;+caF8RE`S.mXb6h`7+D`63`NnMjo_0HH?/F1+B\Y`t[9]iNB'j$<O+o,<IoW5gnhT^4Eo9UMTIf$olcaG]sAkS3*2mR5fm[T1t1pbjUfs@LjZp!)!HYo!FAbhmV[7s>dOHo-BC#`>Io1k_)ei6IG<RO2+%_X0;Vo`uZ$H;%q;g$"/FD#t/X+(j@]h=Z^p"HmrCgBRXFhf_7k'5@'hpup#(+r^3k,HQFIX@OHjon4dQHQb/]lr%+:&J.j_4)4Ao.01gGEq&I\]0$b!qZ6MX,bsf`33e<F4!j[&m-KKcX[N-AY3.6IO:t:LXKIOI>,qB!Y'XjPFD91fuBCk^-#X22Oa#\hSCS_<-]a055Hlj5PA.J9]E>1][;/4"=>K`(B8ZXOt&XEW,H*fonYiGjJk)K?Oko<9_G`a6CG.@@5EtpnBMhalg.t&ZTbg@$V9$O.8B?@7uD'A;q<O2lY;)U&S+D*bh=,.SsstE$&,\ML;rtAJ[sUm<T(8!l1jB42]%RIYE[-fVimjBmS[sBoX8W*q<[JVhebiI^>dI`[G0?R]9M[\LKbe)`d$&,>dPA]=5;LdDbG0S:XK+58$bqaZ"icsP:dofP/Z@.$=@SU-DZeVjAXOQRa4"hL4PjJ\[(E(9BWc@^4;ZXD`20`B.d+*TI0%\>D4,Or5M9SZe^$fW8(0G58qdOl/3AE<nbDgDB$^:?Ye]UYEB>e`=2i*H(S584M&^aQ^R56DQ+hZJpO\n[d`LeAtEs<0ekn^g;-9Z&pKhehAO^.`6)ojj!L@ZfCHde!G.s^pij0CS@,Ucq#]rX3?S3:9fLn2?jhXXg?9VQQWu'.-L$lK'3N[kOue+U/:RQ/R+f/NBB;0-1g.4tebg:`VU&If1:#4D+H"9]Mc8;d7n$MQBoD*)b8FiY4\LZ6+1oj>$G$g#X;<Ou=m)56]_<&SE#G'"s4)=/HB*DUbkdBsje!AP,b4tZ-ko<uFSG<0i\jWSO*suq\p.RQ55nJeHl\49C;X)HSbH!oq;F8%X[R!,EfS@\I,XDNKQ-TYDW2,Lm;AVj1XFN>nRcdSQmEH0pVO(o=H+@-qbls6@GUV5EF'aW(UQB[3.(>S#0!2$af]nFAXI=mWia$SDm\bK.plWNa_'"=nSJ?i>DIKFIgL@&gqm)a!h[a(jN9[6?>MF+^YcuM3b)YP%j/F9;jg%JArU,.8AlTm_5_nuij*d1`=*)bVTmGRT2]t?1lB&6`jK.?Ca'g_WZ-n=LBZ7qnZJ?eN#H_-Vik)sibu+aKoRqo&X3%2hT:dVfL6i>Q;4tA?JTH[j)*,AZBCdINm4n.MSE(pd#XLI6HeoCnf.#"1"rAk<7(/OS$?7D*Nst-4b;^1o!t@p,kjrUAX(A@mt<GW\%Cb(pZbn>/uuVg@+Q1)k-:1eF:igkdE"(ChAdB9G+%(?r\VWMGedj"aPq.9F3p-6$Bd10BVc%Nm:o49hem#$'Nb`%mG]d;-dHAbF:)TYGDU^(o5lg@DDfVO3c:hcU<P=#W/u9tO!=;5grB4@DXB#;feYp6?]k%K/b;7ck+A!rkF;nZV1!Rebh)_c(O7KVjg1p<Lt_%hk1bSiQK#2+:$9SPSmeuYXG2Y)F/=r$*4.Ys5/h?G6[0d.>'>CAm^^quq6K*4CmUVeq8*'%>j.J)Ell4IZ:hls=ujd;a'rk5+eN$;Q1.r$q2\c^bqqYS`RH14=rQ"=Pu1+6-rmj!S/,9hJ*:A'?X..+PgdSpXb)7KiOS]'nJlLACb-SkaK"m.]?>SfR-d[Zp8eA^Smrkc+/Vg1!PM.K^O,2t]A?aca@nf@IlloHDbjauqlK49Y+(34ZJ0K3b1Bh&':b7LpI/07.J)YM+.6Z-Yk&)hR#sT(0?cIA+'iu9h9&*/Qq^rD5"QstMK[Vupb6:UG1g(Y.p#4c]MH"<U#j&P@:=k[b*j*3NcRu:?WEc]T-#n`9Nu0bQ"%E+):f)A?FY.:kQrtRG;A#\U:m:8?h*;<5MS0Ol>iK]5WdjD27EsoWK12#Z<a^am16ZN04_-:$NK[O8)&uhH0%kJpidngRuN.HrW771`m\J2eaLWDGe.J[WnX/5\^$M!0?\R%SJ_q/(CsIB]:-,;8fmaoO2VLQ]h(G,C#acBOgGIpGj:5Z5OIR_hHFL?Zh%h,*AXs#M#S[*4cdb7>o(]BT7F[QD2_`S]CTr:fOhcWU7Tu?h[4PQc<mKq>/[&h>kGa0E==+c-N.J\;WTEJ!VPP,ZZV-YBD;q7]3iq-,0Nr"O]*.-@bu[fN1Mr7"<RV#1=G0ST7.d%iV__sF5BA+[DjR(5Mn,hESD/8TT/P@\+m%>jUZ/'[_m$1Z/:p8R<pEC-Kr\'eO[a$+Jd3#^YF4%r?gOBg>uO%ZP^RmIo]eEYrS%_gS1\u_`(>abW1j9`lD`krHgi9B18Lf=`s7Cnj>A5g%`ekC.W?%K$J`sgR72NDl2,AG\HDMod9%hip#UG;`_L*_X-H&^&8O+V>/ON_8i,,)n>7?^`D1BZ`u@V4&Sj*>jbZk&[oi,>9$ZlH>_YaP:88dclrD51$ae-W1LK&9<Kk;[G:G#'ok2Eh=T!2PHgs"DATc3aO]^EkO$oU1e3HGXG/2'CbEi&e0C#t[k#_TD(o>]q[r:A8ZSeGk9+6^?[Gqdc5*:hiu5Hp:ApsdApqu&f`HJSbG':Zig]b6ar>MF2MRJA+5#+f\'8(?s,kdFhiI,q_!:Jn-/J%6T:3FMbhOB#'3i7hbP#4W]Z^V1"i>'"M1:]A_W/*Om[Lu@m9KsXf9Um5B#12%%Q$kb9\"r""PT8\]Res7R(;(sc#u6ee\:eZTKa\#CEIlumC`nT>NsA.8+'tQ5D=3"p<H/[SAlq3(F#E?\c/JsPukX>[%_D7Ola<RCprb$fX:6%S'7e)O4+n_pNYAio9\Lkh"H$no&Mn?AQ8^ora?Oe00rC-'<fal8(J'?Rd%N)%0$<@X^d1aEXESL5!AEthVUN1fa9q[.+?G,mViT\C6?'IY'KB@hSRL\ClXq.ce`AQI/*fp2CfGN',/j*97HESkhu'$StB:s@_BM1G+3PX`nd7]V_<&3l-QHG_X>R.D8qeXbMD`R>L2`KUoV+/QqbUr9JKhYo0V5&r$&plH?NoN!_Zbpc$M)JSm/c/^BG$9r(.-i%fX:/L!okiIZc1\69=V'OD$;II*peeL=(D7NK4#$Q7To@pAWc9-NA/]4DNr_.j(:d2oe+LY<@#8*h.WWWW\Wfh<3X:^L-l2G$eV2Bf-QRWAT1]\HeD*G?!,u8+ZP^=(,FY/!$gp1T!i)?+eYPNVn,,nk@Ta>SZF85B"Q+.FZMlS:+?u]RPb<(ae`*HiZJSE%459qNLn0$in9M&:X],"+49YHqHR"b?R;^JG93H!#Qh$rVuou"pg#L!!%NM!oa^j!+:>-p]CKr(a't#!!!!'#`(\F!.Y(OiXZ"h@"<e&!rr<<+<^X`!!!3/Ld(k>J,o`2%fcT;J:RCs!!!iY@k@WOS\G4^A:p.$q$cD-oKkU=N4o!ZmOn]!9Y4m82m<oARDGDRC.Li04c"U[!\hMKFeR0k5@DAfR+"nAl):<]n\7.%bV2as..lm;f^K@4FAtUgWf4Xd'B,frL1tBhTm)"%L2ScDUDhQXAaIBC*,7lNnM*pAGSQCCD;m7TP/uY"E1-V5jB)5GWAr"h8?j1#8QE)>ndBFRr&!C^=^Tl'(kd5\DS!igoM$E&WX/iS0j"b9kH8dQE*F1,8Y:NS3c]9r3k*FG(B<;1,kgFC%OUk"jLmd?+"Q<C%h)%H4S$?"6?1sHHh+5;(:'CmPY*HUdToc$_R<hW\q5c8%=Mr7@,UIPg<H$1:fun*Q+d^Pal/Z!:llHFQ(Vi3jfK9!+&Lo.oOj?3l%n!Z[7&//,"BH]7P:L3b1MWe-t!C=4c%*6?G'/*n^1k"a%`;D3T>69,m)bSJX/Ph)r[jlDG$^&abSE@+=hGSVj&SVm\B\_ihRt/X'<$V*YVDW7)9gum[hZ-j-o`I=]:BRU/-qObMHh=NtY4K*[OV[R&hs;"8t;][Su<U[)j5$%2FXm,;0p](\aNe0B%e"XXO?-JAQjQiX]rR6CF=6Di"T)p$i6#p'k$R5(qPogfLotdE99#/]$GnC#fpd(fM(T=:)Q?6D0`+4$uV2V1M<2?9Bj([oU1]J'Uu[J=3.ME!]`,aKB`3Gmlf?K3837APPfuHZ'bC3[,I%FOA9ZW="e&$Z.\XDo8.Q&loR3@45&XY\jS23i_C0r3(T?@eV*e5RQ*l52H[f+%nMKU-`f]X.@1)r$<cAE^o-eSLF%5NdT,5n_4,EPUUml!*>$H`[.+e`%d&:4\NC6p7ELc$c&2'0&jM77+#O>4d=c!.C'`Mc/u/Fh`E@IUK]'3I"/+DMQAIb"1Da2.]uAI,t,lVEPY/5EidYb1)OZpX!KbB`:lrPUG7kIYn*X.OX0+?pq]7jR3e\bM?E^8pT@!CYie'%+R=rT9-im?(Y@[YV-0!XggEf]-t"@b>RBs:g;CjKLPTQTA!VMH;_Qq`F&XLaZE.MkprOt:7S#sd`?CHHLMIG/@(a]4kpVc+OEX)N`fTlQpq>[?1B\_01_]UrC7/3emnpA[kg@>TF$tB$"H?YW8!U=qJ"bJ$8Lt35(8YU>7%op@gRI^H?cnSNRgAsD7!FrRr4a!CfSIoWP8,FUr`A'L5Zqp0A=K(uZ51.h]r@5gfgP1KS5(M%DhI&rmt<Vpif[lBE#I*$@\2L\8=GGEaI8CTX:S]FM`2C#9-S<&^3WC`fogP/Y>W(LQOMLk&Yl5Y7Hp76<pf5m%1QfE.kLG--;aVR[E.f@7:u"5[5B/M=uN#sPfhu$jt:Fj1\nru`mfYC<eBb)n>[H;T88tn5Mj:*kL_<5Q-dQm4&IJRed*O^B*l8c(5?W>5M71epi[5-)XmeF+*4HUJC4HM*Kc<N>@Bjm/C\HXh++oZ3"%&&7^upo,?_-K,8ej+AaIBCi:.P=7GO"rq]Mjt.D5MB+CLPGTrBu;I7resPp";c[r@P+n-Wph>N,IF^'ucQaR9<3%_-&kHJA[<;phoH8i4?fDY_I&FK+2eSa;ZWJ6OAb99C[FYU/a;ERb8[]XF+kgO[XH;4cp5R5TJgTj]KeKs/]8jlZ:3`g4:;;<[h@b':<PJp\O4&EI\oD^(g`_3gZf^e2t]'#"ri2P?$SEVFhX1%^pO/%*5>T%hBbTdqTBD;a@kn,aFKF/kpadK.T5Oc2$a(a5,940INt3o[JtCk>]I?q<d&4c'-75EXU#gGg+Zm\75IU5(sj6>"C2^D>t\d(:fJDhc&UOVkbsYsO-cIhLQ/`F1=M-@AaChT:VAWIdeC/PJWp?k/='9GhT&mDaOIkC3hdNoFZ/m56d:+ko_fcH"bsI>H@?MZo]\pm1Af&RHgOX!dM@%=+kWX4$!M\>7^d!q#a9>stkQQB]%il5L0AA*I@QmCrhm;hX,ELhjTK40:L+/!]YiC1I<3;"Q&PZYVf#`!s`9K`Y;,cB[n)$uOpZfI?T*e7426C5#5A?RkY;83B-Ps&3lH[lF2jaR?/qKPS@2@!p1tL&q\e[!&6'`liElo`?S)-bf-6!SiWlKeLVrinQ=%MVsOh84SrM(Os0BQR!=Z-@9$(dPq1Z_W!3G@"#C[R.pg!22g=IK"g=Oq;B,((4;0c@^MV6"pj"uj9N3:NqG"3Df6=)'hdfoK^Slc^TrV[RIh'LD/3Pd=]<%0\/$;U'Ql[r5f7[;cAM)!9[#ta`CY%-9Cff]RA?CrY"AkCi^_`ln*ruQ,]06@P.2O?B]q)H-UGU2ZnW36gC$C#M@*O`dX72'T2`fl<tM=<OT>kVd?iH.gh+Z3'bA%m<jSV"'VYDjr/6m#%_f=+;fM8"rme]8J<6"4+J3,00@b^W<eBb)&1fooD@[K<4"P93*@\a-UgBG<F8q.XZQiE`I6cR;QAXRW]`2IQiR4t2`nR$/jcck@!HusS`q=r%%lf+$kCrYS?jiI(,<iq0paS.+'QZ[t`)["jj?bo-kX#-;^*']=:`Pni`Tm9ukD1`F4s;I;-+n^LLU:[.+:s$p,'gMFn+?(#-^dj]5s-s_48h_^H])9in7u'+L,aK?Y3nDX==SY$CN:-mOYu7u[4j0OVn'@tprfu;1+W>-)qch3-u_WcOS..n8_.U;loZunU::Z?,*l3?$/PT?]OYqBC&o2;iJS(473rTB)`$`3plV!@G[7[7U4!<II<cmL$anV^`P$2Cp^=,2iMA4&Y*S'BFGG/M>^B"CD'Y`_V_?PR!`jouQ#Q^AKibo2EDhn"2/Dm%kK,j,]n@h\@D3=Dr6Vnh?/a5:!(M$)",8Y1UoSp:*@]%=;-;'-F'qr@UQ5--$-H.>:hh9$9XbkTOH(f#0E/U?rrQf"VC!"'pBPO0B(0m<H_0Qtr!S"mklBC4J6pG@_2s[,H4^)iT7IlWW=+Eor;dkO)>]kLSAKXJAfkIN3`-bn.]jN_r9FWCFAs-)n`Ltj-SWFp25/C/5@DAf6_@;45O`,+Li3+nOL"JsYsquROUUKQ1A9_R3W+)/L1tBhTm)"%L2ScDUDhQX71\C-i7D@kC$J$YDh#QWD_S)a)U_JO&)t@uIt8K7W=+Eor;dkO_46O#84Sq"(4S.n0LIa#$'W\C:.Ht5UWOF356(Z`0HL5a#64`X5X>5J!!!E=&:XZ[!!<AB*rl;V!!2Tp!!"]<5l:W_!"9DMIfKHK!sHOa!!'e7!V$Bp!&-Zm+TChf9>J?Y^qdsZNIgj4!!!"Ln\gfO5D-c`M+%%0ooL#M6t(O.$F8OE(s`M6M"L*>,Xs%&T2!#20qf7j-N8<5l/YTiZ@Q6t<!%5)_bZ5ZpnPReFLkR*L;[aNjS+8_h&+HEV-JrmIipJ9KR>]Nm`'oTN1'IiBJe4Q6ULr$7O'(k(\I.8GYZ=IUj"a?0d6qcDJ,L71D(:1-N9sI`l:JnViVbcKW;>;#Cja%67E`2`#hMY-R#*V]t6"m'4WBg9he>&*?D(W8;p#)WGLV5T5g6[LIglO5[m+oo%DO))\Y7eB&YK4[(3^b-+_qRS4QR3`H:>SQfop-#[OH+5&<hG4.9-D>'Q-cmWZ-gU@OaM:3GP>'8l&-&+':L[9RHaY0DgmHW%a%;X\p)aR9;_S29acC05iDcuMl";bS3<25g^oOR\a;$!"P"ZOUi#X*?Ve;uD\T.J=oRNI#d`&ip]Kh2^28:9fQXRaW-=-.><R**2Ns+.PqsqSZJWqm<`;[(!O)J3X!D-=uJ^i0:.#mt\JlT1>Rlr>\tog+MC3$M+Y+S(^gL%k^`Xm',`5?*?=e:>JRrUZ?!'s2&W4<D<os(%ofsm<j5"dVS(>7o_q@?%31V]qCfmS!Ws;g#H9Ak>E^dceM5c9M?pL?oQVa/1E'BF%**[lJJ8#cqW;K;D.gK6cA>`U.\\EgH/d2RS'is<SFHs=!=7n+eR#.QT/n'bph-(cD8\>&bE8%G,aVX6Jb:66CSZ_p;E>TIqrh8>8pUcPc0#=HPU2D02H@o3UGA\dBhORY_lMOUmS%1k-FbT>8J6P)q3I5BQuC)>l/o`&]NaGJE'7d3R.CgHrD8--nY),Ea4K2]]*mTHJ,@J4kndm2iBb/:]+_EF^ec@C<^KOau6LfEr/3k)lr.bW2o.Y/fRq$-;4%8]Icp%2-7/h2S,kjK,_iamP(3:5,t>W4ri[ooU&H)>Mi)5'u!<hPa0)(/b5E-10$R4r.SmYKUUqrpMl1#66;kMld0_k$AJ</>aDnrnTH2W0eL9-LKf5#/FrVXD/HD3h_C+"FldIgl_h]"`Y>HuQhK0-Vbe0,ErAl)?H];^MT)`[gnqM<<ou-D0TKJn^O-6>1@I`ja#B&]UT4cGL#hc#?P@&q9pC<Y2UsJ2A*l3:*clTUA]Ba4RRh#7-eHqHH.Yi^C$uXWF<7DR0N*:I=X$q2V0dVt<sutmZ83QA5#R6B'Ru69KR-%CcF<"[HR9ATGtr595nhDJ*V$O.r+4@LWA<lX,DrmE8p,QuSR&S"XU?Y^`g8)cHgbJ[^@5B$Tiek=CM9D*h`ca'l^(W-q<<UV^8'</C07;res*.<+-^gM+uJOt>0jkMWd;%!2T<i1"/DPD@f*6@Rpm:OH7i4;CdK`/WaOE?`B*HL&mEdfp[0eO@:rJb;bO/<2b^Z)`MM_Dpkn#Ya/-h0nm:O,M3I%=NPn&];/rQcqkOO)lEr*m&o*F;9CLmZ_1Y_aql[hJ*oY/ek$s\FLC,U3p0f7!1@\`<QAP;O26V4"UKG#MnX"riZJ\8iAWF5/"fIqnjE`FGnpeBP>JA`<(8kO#,eKc38Qg:!-MnOlC?;&D0Td.!6qJg,eV<@cqUDk6']XU;5A#4D;eGq?;phUMo7s*Y*TmB0ET0Q8Esns>e0Z6-6^bYKpjHS"iapjd.-<.]F`"PbA7n#`IA@Kcq1W`U77DKI3D("(m$pA0Yq*OdSl><(he^I-Xc[m/M$K"h-3rPeVk!1#2Tmf-*E.nMc2K"9^T"4/nNg*2d@TN$9uYH)>#Hb5bZhW'hq>&SP:IT@8lI?E;5S/f__(%9gl&'&i8`Vf@rqOS[c]rRi_iY4dkcnY$ZfBchL!9B@:hfN7<,U`=r<a(o#o2a27PC$a/D,NiJ`PFr*JT2W?g`@'b^Q4n&j`PKlMI!-mhGk<3$/%=A+&65->Jk.)59=]+/\j1\3rAcD8\`0f4",<4&!:='?KRq$2eRdu0rtVTS,);^i+"]W%0ODYDq?Wf!N@qb8KFFsduse=el:UV3pdo#54J/%2[p+RY%7A`h=DH0'`O%VCsY]41=YdR'BN$2JE2]i:AHC*$s+f'oc(W`1?eb4JD:fo:kH:RNr$6CD:)PYm;FPGuKUKG/$Zeq\\K=C,=&(UT>lZ+cT1>h)Vn`l$G!.PYPp?WgNg.\][8,59q([.E/m>:@[o8iVZ6]U/K-Y:k4/:F8eIc]051=qaceW3"NjWOfC@q!eqPMUDF5,'9f[.ORF,mDQ08$`6atXp`<!Gj0gUHV8G]W[3.Zm#T>8FTtS+Rc(8FH1*5Ld%!!.]nuEskceuX"_tm12n^QUI1^&5k.;_(RVK7Ad6!lgOAIE2hb/[lgsErUKm.j"4=BU6*k^!p'GpEHW^(?I`le@;T9+i,h`>$-R9!Yhnfle`Rk-pB^c&!mU#>?n.23/VZs"0J>O,/7q*dknkfO5R+]12Os!YX`+Sk(\b,enCF&aE=hO<T"h<0FUVO@Y[<1W\\6KLU=8/!9mT?TQdWa?h7Z\tMNgD9J]UO;&L(-`gE3J1d\-E45DZA:mpZ;]'n's\@l7X%/s]BdWhPf6_1lMJcMGSp<K-,rXV;6@jX`i?$gPc0Dq23Te,NI0`mpt-_PD0,2aoA9A%.cpVo'=$#B11R(tE^isBI_0_4p[UKr/sRQaH?jN`H3D:N($FF:]jnNu>\69E60pd6MYW\''q(ZEkX"4"=B8@-r"r5bOVa;Yd6GmQbh*o"T(D6eDVI#rj%9[oQTf#7S_1[BdYm+RP3g7QVNce[D[Kj`Tb^](V!"(neETNlE5k73IP:?*<1Dm!G5f[;o'5<sQ-U0`or0lHFdh>hV>"th?pZ:YIFmEjpXJ3BL5LbAc/cp\!SM-F\DNPAK<<2coVYd"bbe4\cTNfB%:*IddLhn[=#F#CQ-"B#7:WSX@O2?ED8>6%o9-*d//PYe4=I5"5RV;#,a?(8=6>acUM9O4Q04p?c^m:FnfVJ00kK(YOK9)6`')>d]X!,U=lPlPn;0gbMB3fmThJhVrA+!3"%O:;A`<I';PbT1b0G5Kqa`$Q9`.ape^`3HV55S;r8=Ijb/a)^MiFWQ^F?9OQ[5MXYHb7ohRRe#Vr1okf^/9(bU_qke6)[n!R8J7cRKkaZL0^)c(->&A]'qGU:TWQkDh&hgG@FU]Zl;P'6bk=[']Va_t+gXXj(%T5Nl*]<Gp-ZU9q-\p@G0&>$/;Rjo5/"dbH2d=5aq]Y.gpbk!nfY`^<(A0D)kUT'0]VTrdn2Wg)\24AfdVC7pG@a%,UY)Sq))0)D_<)t0:XPZ+(nY[oj!+-EB92qDO7r&F]]$H7,Cfh4D#..^61eu48)o]\Z0]U)Zc5*F%b_rBt<Lulh:$P#;@/'Z+T0l,CS&#EI]o6?,<`(J*`;`3_=R[%Sk_EKB6H7==!R^sf>\@?22Wf!DgSO]*Z4t*1f<$cRJ]RO(CJ+iAal,ppCaX&75MUWk4j'h:!Po)=IYGnL`G7'2S819a?SG4lM'Cl_!h$lo684%I.1EQI^Ll!i"s,rP.L5(H:g0.%+7RDPWkhV6gS</LsmqtC"6k[ZBb\E[C1D(:1q7h6)qXb):$Am/$.$\Y>pbNBnb5^"5SG32Ci?[KjWHU9JFCNJ4?gf51g^-e8O:-\5^i!f[M(o\Dio8t/\iS=o,Xs#P'`W14cT"V>6_nob+>G&Hq/#?PN<u/+^Yq77OP^Fr(*H#/$(/ur1H+5G"\+p&:NcMW@Cu[cRS:M5%Nc8^aT:0)3e7i:-=A`e%uC8H!:C#]5_pa#0Uorb`.)e-pOZ-_7$@qEc/Aca5<47@5pm5<aTTiMn,`'O*5K7\'*uur!bQNKkX#,.PI;q?=1>/@bBH!;jtjru9=%[UC(U%P'fCZJR^MfWVkj>='i:m[Ze%W'M0lSI/b_1BXUZ^152u')4dOa1Qh&1k028D&$P;BJoTKZS3:CL7oDe/rp_EJeH>X*ps-XM.-u1?NjjtL_s+BUEM:^H5bN+K:s2[2"^H7JUL47TCa<;7cfio:G^SRM$SE@/;f>c4nOcUtSbe3H2N`5t5*dF(0.3)m?@:g"Z,OuEUGW%Q:bgYHiBL9+9P%o?4Ig!T9f'."rk@nj4V,m2-qSf([lA\LroHX>BKoq2&l8$5;>0U=3p7<Rm%TSjk6u2-9A%Pt<b)>86Lpb6l@Ts-j,F8t)@E,I*E@Ur!jM%RJM!E8Fqe^OgX-B7`?[PB:EYjZ,S;B,DEA"/O+XO)(B7HU]o>2g.>T)^:EZ1<Cd3jD(+)0+o&rE^$iuB\:O4?,DLjI<5@n3W!cLYCef2-JLZYsP$OT[D+P/GK`PY:sF2"92J+T>8)K:(MPSuP3!-cpnj,)H9_Mn^5t:%519C[^2?+mK]O=.]A$Z6H5:0jDLj+Y-9:H:I!R4E]>ifYZEkJ^l+!B8lsAee%SPb8n8,=IZG-<SLZ&qr!A-Aol5ZQn@&7>/WndnB%\T/7!]gbk&WYosU.om*6oci`/Q(19PLt?t<lW@[j.=;(I>Q%B0+/:SA3Ai\(Og9G/OU@D5tX,V:D./t7Or4_IA(cZs)%Ef#r9*hZlm+VYJUp.VK9UuEQOk!XFHJ4ip]TXg[,M<*2_d@Jm'BN%53=]0Zd'(RDl=")P>K&8-tE(OM`R02nK69ZU<$qU:Bh4h!q%%#l!>^fJ\\sD+#KerNH\@;K1F8?p%nT0#DRuiDqj,.p)$eIUA:]E6LQA:8d@.D"9Re(%jrVYPsSGeaRfHb5B]uB>I])@cRnctWP075feMissTFH<%RnLKtjhp@n.B,*7:F*a?2%`BI2aNYI+[jNmV6e3Q_Ubh[ofokY9ZLoE?nm?9X+I2ffellQF^Hsh%jk&;@4E#"/Mce.%kd>Z(V8J47[*N2,mP*Dn!3;'g4iQfEf*AagNkC8B%i12i9EJ4>\];oP\5nFYD3<MCKJp)79MI^UJ7=@X8Mm[:UG7h@`#jT4jcijiIP[O<1U?IRMI&*L-2`,i8W.me8-gDP(=iGfi[Vj4EI%hm;iEZ]0%2e>>uCu%PVRk,(9O9)^*r6L[!QMEMh3e:Kthf?ncrF*CNu6Lmte/_7-Y1Or7d_ZN[EO>0((l<!S..580f>c(=;u2nY:kQi]jm;Y3D0o>\#funn<EM\:tgl)*P6d5iR:k%p^8l,SC]O1QQkD6I1S?pYGM5pgK:s6Lt^%'=)h8j*tTfUuJl=U;bV4Y1fBeB8d)c-`E(bcEb4B9&N?,:aje*.`$U@@j&?.Q*N2A/6M7iGD?$9Y9i<Y1-=53X>AS#5a*:Pd[k>2h>W?c_7F0_k7%f3G%[A52g>"U=63DqI%:k<W[sQf4Blt5aY193`6,WP-Z4fDD7i$2;c\sCI=0lqUe:fl5%9_RJkkik+DVO<&Q-!+IW7B//f5[u*8uN'3ZS.-_fM1(0YH5,EGc["Bo],hnDp&KLEF$J&QZ74[PWbH;:#0?_o\A%cIL8g:DEidoXHH+NXE,GQi;p!a;o4k`pb_gh@WiTLe&A5pl!*/;gY.+h=m:LETe[5lY5Oa3@/s(:jt](A58m(gf"n#16LF'8O'sZ+FA9'RZ>`Jr[\b@M<l*Z^H7<^lj0KK>WuAD9D6#o8=GR5P1n_5=,[CS(KC5_1&`K,96P%31;AEAWe/egs5c$AVFsg)T!P8YCB9c'lt1+rSAuAq"tcTHAt%#-@m%YBI<`F2X+[<J^AP#RU:VVclgQt,ku5gWS@DeGk%h&-FhU+AV'djnoNc3T0LPPfS<RC?[MYW-B^W-Dob!c^)*5_YJkRNj4RmcFqPBIiG0[V>PTctA^9OKE+2Y$%iJ;Q`1L*/>?(BdEndNF`'PgI="9"rWT8j-"(Dgq_?/FI[8>=\45kOV_>4h-PD>"p7lX.9Yp]E.j)IDRA45t#s&NKq)J%k-cs.eG"U$.<)eE-=&G7.b-kn<(un+-IPj7mO1Okq9':]0c:e?J,9mhr-<r]OtH3;Ll@%_n\uIO;CNUn4!rV$d*deE6B_@iU:hYOpP3fioQX0+Nbb,(\^>?EpbWHC*l*[H%\KS.b3"2jjNAfJiL>;Gd`H,%f6)D.^4B<DC')oVBG8GO1972Po4I8'J((VGq2hq@e>aEe!Tq&VV1f*^B4`_XWa;Q8IFXII&sNk/DP9qj'V:F,hDX4@FBX-5$X'.Gmt>Sge-a9C-csRaWl3CJuE+=[_if:`Q\qr"r2[Hk'lZUa:ea3Ui%cNCY8rg%jY[IIGHGMKs@PQ_C^n]<aHt^SN:o&R!S0\+JGo0nVnArj).)_#%l%;'>j*(4UqbP]c;Bq+P#],0hlkLn[.:*O*\6rC2]F!S)EM7.oO)k&$$Tk"2@:B0k`Qf4QZZ<L)KD#4L>r4gu)sr\;kt=fr%/k3/blS)tHs/i;DUUfAZT2THmr;]J:<XSPK6+\%Cb6]fDW`!l%G?mbbraZ.D,&>chbo6*5G#Oh@NXJ@kY(2tQt\f]CL"cnDT;8<Y?4X6q.K(QBc"nf_B5r\cmKrEWmF'9_PF%b4!41<W6cg5BrH;FtjImq!@#g:i89+Eb!TH._`O_+f>k2108iFpGPjl!V/N4IH=c6=u=P[_p39Tu+Q.A7*C^8*-A8D5`TY6IfXE@ij9?g*=M"GunHV:7#So4D8*)cX)<cE6Ek?,[>]5l:j5rlUk+;eB3N3YRY58LQ6+d3XZ"`^dAHeH^_VMb]u<rplRdTA[@jTp_>%*4$s'Y%Q+<^0=!F8#kbG74-#$-DkjNmLI<H&j!)cVT%%a[rl:=N92eMF?[c[WO6Lb:Nqk0.fKuiXW\lPbf30=8inbs`t[er;_04u"c80$BDr/8<P4f4pIEnTQ6Zmt92!tf<9?!VrD9b(hM>d[dtRGcZ<tS_=`fufUFbsodGDM5.+@;XlT"]ikVl6Df]'`3PR]?f0HH:7BJ9f8M8*dq%fb0]ac]9+iqM1FY.penI7Ehbb%m1mk,ubk_#L(!rF`.jn)toi6M.dME(!hJ),@s23;F)u^\6nFrpkQFE8blng1@>QMKUH8r!+bO^aK3_i)(j5U<*P^k3rEAT,bY[TG+^Ep">IZND#b6ZT0MYG8(&IT,`CVlNBO2R=Ns14s9ig"1T.h![4"+^haK&&HBiQg^?/o&5=KZ2MVg!s5X1J"e@o7-5/)&_[",0EWGic:*;rg$(/ur1H+6RAdSqT$k-tMf[u"0E6J]o;72`.\U+!YS/[,p1)\<un83![^R<(C)c]8OEP;6'c4*)sR1*\Kp]f_B3=P<Z#a%Cjbi\C(`.)eEg^=Z;K//h=i>[UQj=mugiP%SZ+e"4GaF^>Yr"[jL9JpKn0E1fSCQf"jb,4XbOc;5$=]p@lIsnp;kao25Mne?P687eMbPZ;N0)k]RET7jt:cK#eY,kU7CI$Q<r$N[5.K7^&^pG&:s*/.+b(&r5.u:qY+T<%:OVIi-F2>4&M#V]h0(5mE:+_3b+2koY+T<%:&JT^=gm$;VGNTPU(F9N);B?hr8t_5);a^@PCu\:g]2JBjWaXqVcf:@;fras#kA+0V,EB"jVZ"C1aUJ!;Ng"R]*Eb(GIgT-EOnn:8e[giGTsb^J6taoR=,jd`B`Z/%aFO%]6q1#N`M#aHp1USh;f_ne;'rkB?:Ac%0t:KAG/_Mk*>5MSb.1$t2A4&aiCitcZrP^p(.<TpDMOiR6l:cQ,ta#!,%<:S/s]Q94M6t;g3=<]MbT=nrVg]9Lst&!&Wc^%;dT[M5KM&!n[,\aRj7s>L"q9<[cS@Kc@=cn5&t\7QIpMLn2)trCl4EtDU%^qIXh04i.1S5)%ch)a@M2<n-h0AgNui[Q\-oa!rZm`m*Rt$W+:hGA(W[jrnUF>fF7<;[7&//,"?Y0JQUP?#niT-?m8SDna8$hbs??*M>2c4&T9P.Q8RDb&c^^Y5JbS6hn@gf`cg0eT4lRDG+QZTKE[>g4Edi5Z$b61Ps9W0CrX)(_+,UEop>,R5I"ka7b_LD0.+0OSfK(&q;nR9V8*afMg%YApMA?kZd7@,oI@cI)M5!)9j=fGD;0%.UHmE"FZZ)!g"kAOg?.h2`s05d/7*ZSY"@C*5h?'ns,[9OT88H!pko3NW#:_;OebW92c1D>:ZCu<I^Km`+<$RphPg2d]SSmWh0i?E4@OA\-JC1H5-,O=7\CrgCaYsBJIApiMaOD!?KS<^-:tHR4ar8%WKt%7H/6?t"B/GKO%AV=+E+A1cqKt#+XNp^@0Mc2LA.VMlU1c[`(<f=Q>D%BI8!&R_Gs._+</g`'7Z6KAUQD?>qFsb7.7N=?&:@+%?]Br2r?1N-D^Q8pNA.ArMW^I'ib%abuo$8Z]gJCR'2Q'hKZY-W3PFKH+&_^*NF#nZEp)2iM_dH-"c=DceJSoofknha$boLS#m0r0SR*,,22%*>^U@`G5acn6%@?"PQTpK#n[,na@M3gp$^B=TC_eGdS1B[R4V$Q;1*1NlX*:npEOYa`_3$S$<tVF$.@`!#][Y(U<"9UT6"g;Ohk.`\[b,VDK0YZDD9=='XD$b^K6qEL7k<#B&`e`dDL3V.:iNt<aI_/^%gGe$/0$87>UCc'ufhrnA.j6-#9"l9ftL-[,Vf*S/L:F1Rl%q0o,8YK6BuUruJWhA:ke]iidOdDi=A`4lS,4^:2'rs6D:?=a%f).kLZfa-.MOGJ0X_Z5KIQpgqjEQOF2KiO)<!F1F8/:uT$0V0apmA'*8%a54)uXph&ld8%lWj#b2<jF\sYA[&dfcIqS\U5S7hp/p^@CD5uLC1P:j:&j=t&)sc!&H@U.#`?CDl`Y&X^Yr1H&.?D,n5"KcH?;iC_kZt0V6Hm(&pN$fU?d:Dh?h-sS@)%^OHse$jhokn\nn^SqR==p6n*RMXMl8kT&=_=>b%,3bul4&^6V#N6+nQ7-7rUQ9)XQ(rK;CMS/M2p.aNK@M4>\tVkYk4.A]pVV)\*/c#0K7GSGXE4+C\`%JqI75&cdTCN*lkfK)r0o0q5N/E\\A);Q]-3c)S%ZKtCYg6:)mdakNkr=!%8GC+u8Z1QTea&RJX;$hiG["$WZm'a"E9/bS*'C'IM`5Q)_s%;AXn^do"s$UB#`F%QnQ's/?T@YBH5=JPLM=^.Djc;JS'ak`3oB?-g.4jJ=Cl?#*naW%genXn1U"<@t0RnI!_koAD$MZ\jeLf[3dt,OFTiB`c%2VJUULhlEBS+^BA6#q$.N5*h&7-M3YY(;9J9LY)h=#>qkVZM?Sa_&#htSp_aR;!tdEa/.prgrf%]-LBRGF8YXB3Merp`(Pp:]aUoVk/(rjkbrl*T5mor8B1]f'[7Y=B(r^:1<;M"=`T)LiKp];a0hJ%>QrRD2K^r$N[5.K5\5Uh91-+/0rJE:I^PJ@31@Wp&\Me_X/Srj<G`laH0TA\$fqV_-J7<iFC*:P,(MpsNBIh?5=dF&]U0?8&fN=&^i7&p`IUIob'Y^crg%Us@$F]+8mBF0VIU%N")8dK3'q0?_adP^"mY[fr"aN*Z`K7)C]fYU-^so7`e98aZf9TI--&iud,/ZT7uQ:.TW;Ym7BGBE!n<4-o6D?d"X(M6>hDB@!AS&ZPQk0%gJIY4M4\Roc]%=t9E/.K26WG2)TL::^/D9kRD1a2@<jL881g!sQF.*ASc:'9Nk@J%j*mC8UpG=2J\gGaSj8/:7-h1/NQ$[1jAh-9HZZUA3r\9[#uc+!S5e,sTHU?V7Zg9qVPoL[]S.aTb&j#M`hbH/\]BfYXNVI@[Sd0Hrn^#K.'.I.a%qU;;"#_1aPa$Np^n9PV'ck(pO(XiLoi_jT$kKss!uMM`_Q!CHO1-Z`cLl(H%kpoFG?hfN-p%9rXD+&RBBgLb4/RoPr="[ooDNd[_/hse/E['d0DZ*po%Hm>+HORN*iQgB@#/+)PJ;iB+-MVWW'p)-NPq1i<-[emY)'%TM>Yqhlb_5C90Y<k)Ji]gs=r$N[5.K3(LW0upH4d#_:R#S+ObCAg1^Qu`g6a<@t033J5?m??b@"IV[I"2'rX5qNWh?5=dGlXm_nJ5OfX3V(;IcR.$>*tU-s%ZT7Ip$q_A#3kCh,3,."aP[jh[%]:E$hbZS/R5?dk1>iIhK]V,1s3'E`[uTH91J_`!nfV6&dtr*sdPZfD*"qMmhr(CPMA_W5^h?r^-n.Ij-Y"im0^X0E"WB5Op##12cIQ4P0&t(]K6>!OA<t]pLt,2CG$iMd%7jZIp*u_ikYU/2u=[NnM<0;]kIYp^\5Rs,"ffMZ8OZ857Q_n"?ZXGVP7XGRr]u,7Im+.Uu)Iocg#X*G1cS:AgrOm]snIp/Vrb't\nBWMBHrIe<tEr`:PjEd?8S+T?,+peO:I;#IlErb58u_]O+X&Oa+pQf[R]ENBc(@CU/L4Rk?U#,qGBrqulfT88H!pi?rF*LM$!]D-">,6TEa.Tmnn'+g_@2@/h;n7s`FVK_P8)\#`X(\IZ2dLQn`M9(K(GV&i@rth&G"7`"J#(Or;6=`oi2Od7g^]n8J5m-YL*!XOi+YkHufc7_WpeMBPHN?HD:^46dHlF$p7l(;Q"pP8iIV]G2*rl9@R-9(q!rr<<+<^X`!!!3/Ld(k>J,o`2%fcT;J:RCs!!!iY+T;?@!!W^b56(\6!<V6k!!$DWJG93H!#Qh$rVuou"pg#L!!%NM!oa^j!+:>-p]CKr(a't#!!!!'#`(\F!.Y(OiXZ"h@"<e&!rr<<+<^X`!!!3/Ld(k>J,o`2%fcT;J<U'7!!!5Frt#.hZ#f~>endstream
|
315 |
+
endobj
|
316 |
+
94 0 obj
|
317 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 541.3543 0 ] /Rect [ 132.1729 308.3543 219.4329 320.3543 ] /Subtype /Link /Type /Annot >>
|
318 |
+
endobj
|
319 |
+
95 0 obj
|
320 |
+
<< /Annots [ 94 0 R ] /Contents 157 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R /FormXob.7980eb6a875671f0d5a1bf140a86c5a9 93 0 R >> >> /Rotate 0
|
321 |
+
/Trans << >> /Type /Page >>
|
322 |
+
endobj
|
323 |
+
96 0 obj
|
324 |
+
<< /A << /S /URI /Type /Action /URI (https://github.com/AOEpeople/Aoe_Scheduler) >> /Border [ 0 0 0 ] /Rect [ 284.4529 736.1043 352.8229 748.1043 ] /Subtype /Link /Type /Annot >>
|
325 |
+
endobj
|
326 |
+
97 0 obj
|
327 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 541.3543 0 ] /Rect [ 159.9529 610.1043 247.2129 622.1043 ] /Subtype /Link /Type /Annot >>
|
328 |
+
endobj
|
329 |
+
98 0 obj
|
330 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 158 /Length 9455 /Subtype /Image
|
331 |
+
/Type /XObject /Width 437 >>
|
332 |
+
stream
|
333 |
+
Gb"0WpKnU.*s_:".FKCq,7oYt5c0,K#IS<i='Sb4<#dk)MA)__TV@$q+tc7e5sPuY<)eU2J;f9jOH=aSNdU:.14W.#6X&+-q0;oN0"1oEjlc&Pn#T5H\e]udThm-O$ACg?:ad"bKgMJ0-km#B6D75Sca=,Vom2$nXt\],j1=mB[t!`:r>!HOs1<^SolT#??9e3EDkl@T7%mG;Wf?0[L@nUH<->l(90G,6FW0/\dd#Up5@VosD-&3*>W]:N^O"j#90VS4Il1Rt[Ee:%Dc]B7?Je\%G5[(eXkW$[I@+V/3d,.4.+FV>`Zs;<J*h^\Q'1Ef?!8R"5?(pm4/SD>m*t'8h;Ja02i9Dt1=r@.\36cl^F@h-?bPt%a32)_(Z'IZ$i=G2Y_bqAajnVqaZ!P7adL1qc%i1/;aU1ZPk.5=fD!iYI\ZaD_Rugq=iY<h,j[(.m82Ejb?8YUm`R`^T^=n]:=Mh'04c.[0A'3#>1T`_VQ5%.NZ:Vt]C3\3MK^gfUe4:P4`2;rL)t&KigdcCfpPgup`3[6hF#^Zio2@#b#$*&Ph08#%SJ]jeM%6!]%60Rm#T)oT$86/^LoJELH7)hX8370d/,BSBKC-M,=219\5I#Z^(*9Z]q6u+3GPG_g@q/K/7t'>-%d'b+1tLRf'D3XgjQc2O%H*je]5rO<A8\DWSX,am,ZUr2H'gP=$Jfomc<L<N@Onan#C:JaXo"1VJ'[lg4?"<cTG_";87O@IcX/q5PfkU9"++C/ZA(f]m]LhF#iir[kqaHkrPeMs7cEeZ^6R;G3edTd+^lnS1s-gd6"ZhMm1*g8:*mt\:M$^-iZ,^6@C1lN(<!1S&rP6UgrRC.c:9&s1@=ZRJ!Q?pWc/e@!^.:15)6jr_QI>485_=)?(%-\[\'72UaYWo'T.HQrp4Sj[ZY`'$,,,U1S_T4am4`pWONtSNjP;k;ea>h=l!aPVF,NT3o`OT&"B^_M!'jM%&E>;K$Ji2Ct5Wf>7Zt]WLV]e]U#bR8.$/3r?t^guQ?jCXXmM%I3VDk=kXf(KA.%@/d@_E3b?-A+c>.5>%<nrqYgdZO%tahC&i,[u%>6`_OsPRn)j>`\,[L'DISFOhCH:s#5d$I3piFg`mJQh2`'e::KoQR32aY!Fkt(ds-k/Klon'2uU]`>ZH*\c/`:C_`)1lFQnbifAu=^U8D=eYC6AS#G#[QkGLIPo!Ud_q!n<*at^Yig>(`.9b5a@c5#\1F1P[oRZHm:]<QM9dIk@\jmNnJGratZo<6,XP$sp?"_sNE*3*GUV5ZZ)Nk./[4dHpO07g@;0SM@Hk#"2b,jm@+%nRFO/H2XK9qkIV8K$PcgJN+ilHPLr7HYc*mU=T2ah@l<pW`n%?k/8qk8k.?WDTulml=0\-I:n#,]B"`2:n`&o(S^#lhs=<po8p+L_Z9DfU%`uJD#a]Z09UX=VhKhDVIJ*WRQ@\ldAPr3aYk9_>GX7DOnp4oR[sLWG;"1eu.WdPt_gNKdikB`r9_aG&gmRdES$7C=pnVcQFd1O\D-`,T]ZA6f)8"*bLK\*j`C:$ABCBmW!)Yk"-/+1d#aE"S'0HCsj;*CPkV/ldul<7rC1>H2F<+B\>eq@m,..1nu$+O/_BuMYd<17.<:eq#pD=V!-3_h!8&!8G[\uNufA6l8!P>m@j31g>]t:kHF!\<Z6^`-dis%^sP9VI8sCt3l&Db5Moa/I:<k(T+fQ%1P>+F,VO3H8fk]*S5HB$RRp[FJM?9+dIBc_@H&=88J<n9YP47\Rm`r6P8\T*qL6DCg31A:`+IsOi`kmHUcG[1'T[S:rI`k6o'-JZ0g(^T@Ie5.^Y?T=s'MA@4-u<t8Ob]m*fmH;hJZot:]LFB1#qLXiNAZR6qT?ms&/KT>s#`.gujpQ*P-Kl;5.Tfdf6.k?X7c&'D$"`Y'?^L-N,B-I[GStBokK*]q9\,Yg3XQ:8U8D;_\YYP/l\1qt59gdn@H<(>lQm0^"b,6Wq89'DISJOgt06s#5d$I3pi>guG#IEQbc]-OcUO,eS=JblN!YB:f\hUQ_V+[3''op`o7/0q?IX0R<Aa51dXm;sVA_p81QI;%AOT'FKO\Thm/e8!X'Hp;qf2-km#B6D74('FKO\Thm-O$ACg?:afg2!<@WZ3WK-s%Ij](5_O@b!$FTj!WWcT*WZ7s&<?ek7#4>5!$]?+!!!Vj&HI=enH]+[KQmV"+@80l!"^:p!<@oeNrT/JG/Y[`q!pa\%,]7Q`VDT.YMb[[pU\m9Sat#+!Isu&L&F*.I'I=%5Y?ZLZMC<8b;`Om\7+\u5*8`$=$,)q.2u.gJQ(2R!.7H+M+>OkSUTA(]Z)*AOJq,ugPJ&E-'u6Op;A1MdFO@915SDrSTH;-*bU1<M_rGmeG]'n5J$_;f#V[ONd([,44k.+FT9V)Y#-!^9VXI;hBV;s6B+R1+TDn=.E_g+]702i[]R'c&9LOlc(0apGW_QN5:62,Vi%%pO:jB'ktq:_m_\>1HE5(^c(deG;AQ%eOklf,2e$AfT'Kjo7h7OcrbV[S[P,s^(\)99K8eC7fJ2YYA_Ic(2_I=*=jl7<r4jat(BD/qp5C%MSJRX)\V)=9$S*18$M,u(P<o:F^?Z+f<OB3t9!!AQAuf+5C!U,D*g'dTN&6f<cS"otHE#X1U]KBMDnO!-e>UEbK59IE(8Kne/Zq5Pj$"jP"Z&8?[i>eI>b(Cd8aFm#9?TJN%QCE/42s\\*,aPk?EHsQ^6dd$nXm[A!T70khk_2o+Y([l[5uHK-AUV*=I"3=FdQc>-uem77tsB9A])5Irf2:.eXIZJ[eRjh6\a%XD_CR=^"#obH0#Y4@*gU*p#D0Z,VN`^r0VPd*1nP!=.A<q$rhH=!k5!No?rd`Z0ptGP-e`QY+/&WfOCgg:3lLZml=>!/c^8lVKq9l;Y7Z4^,s2cQW,KA5/h/\XDU0:bTs-bQ]_/=[tSHU2!hRJgRaks1d<%<8+KQDX]g]*[GCY`?=C]?j*=!l;gK"!:$'Gf86OJHY2DjGMR6lnVPBG;PqVk9"AWC;!:VSF,9E-+2+=A.E,c"4.9c!TOjba,U_)(#AWb#o,D.hr)@1C&*h,W[`2,"S*F(*5dKCW7YOi[W-hcUi=[nGoDTB?7^[Oukg722c2T!]qHB_F4kOPOT>laYcfFs<a%L:;efj3A[A$9,fH`MjYh>+\KLP__&kr9@D]e$'M60fr`ZW!?WDfohBNCWP;(8K2=;Z6@@E.,2XA5c4YH8<o!k"IS;TX$^>egpZ#Mjh:=7=DJ6B3\l+7]1]ZI1:D]guH?-"b:NJ>mJu]Y58Ia6FkBr%ios#Xk6S)@QaBU$9_t@N?*rT\6Q0Q=0Us\ANr'Jk`NNB`Rl]mlIN'40#<<M0alFPeq1$O4Ea"s<+8&'?T'g?'pn?Jk0A)?$&I8`Cg59AjE_bl$NT'2gbf065_O@b!$FTj!WWcT*WZ7s&<?ek7#4>5!$]?+!!!Vj&HI=enH]+[A7n$)hVJ'=Jb+g(H028j3_`sql7tR?VjX+WZ)K%_ei2X:"'%q,SA6@DWei&8enIkXGdEa15EGL918@_+ie4l"48Gs.Bte))nDHOAIsP'!Tp`P^>;%oQmade0QX)H."o(45eaN$6I[jg!Y!!B";<B:%`4+d>6dd#KZs%22_(b>f>@LOPdB^?J&8rZ"H.MLFFs:Xk"@K"M]%W07H1`NAH0NN[bmu.5h5boaXDW'S'O<"HpbS\jF_VML!+.X2i__4?HnAA04]prWN\XdaG9o318tY&i8mDqF>u<.-Ari\FaSa,Dr'*M7Xl=?U7)CuV/Fb^&Xgbn?ge-E3%`ak3*J`[l%-(T<Tj,[Y*>A,rDj<5N?5)>9S^$ie#-U5`I#'-D)fJ7VR^YFq?i73`U&Mb<>DmesFibYP&%K8!_41JF9;O*3L>#CUH2Vd0q!4TL-3*"[T5%:;H^+]KB>jdjO/&FCeXR62QhY+Dpseeshu,miRgiNMS@L%an!!`07m\ft8=VYWS]$MJ`$;gp\*VKHhafZ&9FiK9<DJ#l>0^EDc\A"!n,D2:#AT#n2YrEZS\[rKQVbmMGN62fIcD3pUW6fjXj-c(gM<1L2%9rDXdNVSCWZipp5D>k)P>*PFr@8\3<4G-*#+HM'$T21I,lm)G2<N^2@.K_%8!R];Q<2Z&eZQ)ek+Yq0clV@[bbNSOZ]+UIra5;"Rk$Y*%uRh<Z9#i2Z&IAHo>!J%57/"IKA2AghO%4F>*BJ^[R\/p1?L'<js+\j)&8[Pn-l2i'h7%-qV+pmJ.t,^q[oUnYg?I#iY__CDo@e-LsKV/]6CGIL\pt@@MjOP#+f?86dN^UW.Nu-F`Xh)is(5XS\4I-s>Si"7)\,c;*0j$0N4]PZ.!/DREQs#M53AZYY*oGKG,m`c=sSrDjd#s*LkQ<k[196$A$<fW3f!56:i_HQ3`\['\n,m_Y*)0;Q2NU:J%'9#NYt?"Z./(jsX>X1mc!05i43XH8RqBgU"3DP+Pt_WHuS1&:_Tn'pF,hIGSC2/0771QCI@p+gOLYpRjtqi+f34Jr.SVX7p8XC]@KX(s?3Iii)"],j,j3[a2L1EWl'\NPEF!;Q:J-m!M1s4qpli07u5<nguh=5^^)<+6kgis1I[M<*'Z]QP7?4Z93X8G;c:8l,ImcYYK^-_,ORUfY+4.J'Ii,>Y+OgN,s^(4Tr;/":RoE=;)WUfHEC,EXSZBs3cPQ_[X+)%hI#Z2EglL=qBrb&pm-mB'SghW)ck!Bpm7`$<fRq1nF?::3)NkItH0D2?C/0B:<!EqToHEN%mqk_P]Z*c8"-[)N$e_a!^^R*!"5N`I*?QdjT5>Wbd8X'@/-h%r/n_qi5JF*>n`_A`.%bEVm`RuKW+36UcGD>?nHHLrS.R,_l]LD-(#1;5;KYO^X"M8$X)Fi,<ok5^$^$1=5_!$FTj!WWcT*WZ7s&<?ek7#4>5!$]?+!!!Vj&HI=enH]+[KQmV"+L3L=WPOo;&nC]CDD'5l3I:q59Y8oY[P9;e]I1L6k6NA^HEF\eZ4=8epUU&YEB#be+qeo8jbEYqM64iHkYDZg0O=CjUZ0s%5Aj_4it-R<no2Y:7%W_-bM>)E'\:>N&fLS:XQnEQe`ARW>aF'r%ZOn2O2Pe8o]abBf?!<%%Cm5L"T?FC!2e)&Gbk4T/p<5cBPneUaa6Fh9EH^/GOPcMY77rXRid]M*bD)$'sfn?%Ta4.-^'I+oPI%G>?,q2c&cAiWl@ClCmQtf.rrdUIrYMh#I*O+Ai_RtGB4'd&/J;)MA>7sgI1S1e58ASdG-]noLNll9qZCMNqW::)&!WeOiqS6-O0Wj#l?7!cjEWQp9)qCIPWu((W!-$S#sU#']Y<"2u4Rg.t4]QPTPC_95UF=q#Iri3<4S^9_6CaV<E8GI<U>P0<%u1[<PZ7)h!dACbOEX3-Xbd<eV\UM64j1UkopO!eA2@&Wb*&R\E]'\2_@P_E/s>;c]O7%nnj@i8ca%5(VeB,Iu42KspGF6K#MPiZ</QP$3u@M%`,E`<-+mAktP'3?1.3A9W#4qfPi%ZF=#IfU]dhITY'B,)lClnHZKYGNF"_)089fA)EQ*md.CsO;iV;BR:(eq(Fh]5&)'.CdgNZIrYO>l*9R4>1Icq?sG,3g!J@*1MFb!6:4OcD==$t&\e1IkU!;(Ao7td@RlTIcTS:3ZX_fO1IG'39*pTl7o83^+0<6LO7V0<Qe;B`Ynd(frQ,'?V?_=i!!!QR*WZ7s&<?ek7#4>5!$]?+!!!Vj&HI=enH]+[KQmV"+@80l!"dfsO0kXh+=Z%!H,^8Z3Bq0+8r^<\&:8Vb>(>#l`_2094;SLJM&X"e;R>o]D.8]J.pDJ<;[JB[>hE7p>l8)\5?BMGH(,5sil<5@HYdNjj'//Y^mE*%GZ;H&%/3kkq-oF`]dl_5nU@MWUrg<^M64OXY7CoO@^BDOBXO#WKC`\,a:W.-F'?qC[<i"HrR[[D((I:.dak^6/%I9jZ<M0nKnK?o85kgVSm\<8f`E/o^-m._@p_FS>N3OkY;'Gk0;1j1D!4TW>(>k&miL>1+>QEQo&Us7r3ea/-8l1>Cm""n*9.ZNTL!"S1@V"\^Z(fI-?i<C`oBnMM(l,?mMUA-e'aEZEPkS[Bp@Y)Pq*eOK'"@"MP&'tR,+X2I%t1UT^r9aB=c-CCe-Ke^394_N0!h#!l/HiSp7oRaO#6gI8"eHc?G,jmo<'4]A)-;gG2>^fQ&c&JA7q.oMIAPcCsegpGr+XO[as:`M6>eRMk8$VJLe9<I1<SNDF(c]7SP5>l!MI_"[gIn+9bl/Y?FGj1;U3g9W!6,P`aghTQ?>^AWjp-ieX\loDRnbm\fW&j@D3<4uilTh_-!S5/m5]t:CNIiBi.mGtPNGX?T1+8$(qj6+ps4iOVFb_jL+,^njmK^m.MlL?RbVFSkHmngt-?=\57P1Zh*NCT&>#D9T:DKPe86tf"L;;Q<eR=%srgG(Yb\?3Yt!;LTeGA64,Q*&Fr0.oIM+lc,#kE;>5.bhYKa0biST]A8DfdhK&;P&q#Aog^Mq.b-R4YK!FoZ3UO'o)Sb?7TZCFT)ZR4#H#)j\.cDr3ngh9Qd,jj&)_&Qb1W-J+k7HL=G/&9V`oK=(%I=lqo[:#_LK2.;ebG*oHg`OuD++<c7bZkeYRd@Ahc$0]V?'TR*doFl=Xuat+RULRr'(T<'!)'Z:dKQ:j%!QAi%u?&p%ESJ--LUsY<OQ*^#%hu6;(eVt4$OZc^TR()q;j29hQ-en-UgAkR]45s,dRC>:,^-JKiA<#bRqLf70PDmH:h5&WZ['Xq7QhU?nFp1Sjg'cNXk&)RhUkqg_XVR'_h&lP8pZKck2Q9;3fNsm6'A%<ejXuOQgnNThb-e60,=8UaQ61NU`.f&4=#huV-eRYX(?j!/<*qpB04JX'FB1KO&`@G4cfgK0W"Z?+T?6%OH-QB&TP`cZF+!Fo)m-l_ieesF#J./^EHDXlH+7+\[Flh\MRL8H.q'T>-Msl[^e]<\[hq=J8Sh7ArP9OTdnp.$':C'`3K'gUhlE7eO1$u>C4WNq?GuNhml9:ZA%u+S!5;.:CW:@)O1*88FH1T##6;J#Ldq]Djf_IunDitnnWc$5?O=ZG,7Hfm'g0YkF?B$0&cd<I&<?ek7#4>5!$]?+!!!Vj&HI=enH]+[KQmV"+L345cU>?6?g+fln?]S#iX]phB1*jATbbi=-QiBTPWO"dK.el'`pg[s>b&QMp'P,oG->-K&W>DK70**$fFa0-QXeeqXDXTXMK0KBa,I\<E&?l5gt'\d\*\E`MOh<ncZ]/)j74,A?G"^+a6c9dl]THI>'h09UGk0J\&=;OUr9`CG_@&`44:K/h0(QtF2]`9@^7WAUc.&+nY*632/(k?XF9W^(5D\_7Vj[Ad>n&qQOd($QL`hAI_e7FSCoc<DK>];WDg8K/l*`3^Lf:5s5meBW/Kg-VW9n7?CB5fEG<>T[3;k>\R$=@o+ML#L;dl[fSQ%g[Q+749_2$^!2#Q_r>qf3nQ`nm7RN37RPX)Gj%I@.PB>d7&DM;rj71BF\MJJ%jUt0UJ%-H<%:r`j>+U/QQgYZ5]gk^GRa/j_F82N!M%S?UU$95"gs%--6!.7B-ru^j\<]muS`ca&(1am(fq(E"4KilB6TXeVM75JD,rjrr"9>'OI@"Q#WY0[]$saY%0@o,/<(SJ'_G-/*Y_kr%c_bG;qlKA=IK=pg]ttbMg<Q3ZpRgkG%@\Ci>O=-p*m&3+hHO/,.a-\V3m)@fLZ9R\Q$TcZQlaeX;(7]E$qh#aMfk*+n"n)=-f3kXQXJ.s!rtM(G$_^#Y1qp]:OY4'Gd2HFIn/>aUg:KIb[;HPVNt]Ra/3KL9h0fJIski5*m5?WR)4`nB&[,qMS9nYG=T14P%nQoGZ8f$VlbshR26JS(;b-]&Ug(,8(,>4[lF@5f_[T.JBrh\+7)i_ljraG<`-8g0A(40$Ti>EDAtB*.3:@@lu8#NV#uH@L<APi7ZSUICGqlOh).WtXi$Hjhia_1Xq<[b.b!D:l`omL%b4.="*47Um3QXd&eZQeZ:2\V^fSPDcTS:41;\;EJ)H#n['8.q-LJZESmb7]W0>hNjiq+]pH:qq>0a>@)EIP*lI8O5Z^LC/iS[i^]8PESm$2?tDmaPh4+DJQY\A*bkY-YVCn[4f^VTcj+$H.HI^U0C`(@CnGQdfaf`/3q-:/n:*6ZAC-gecFRUKt$W71CofcK,6b2nE!*B]lPnh#Z`:>O@gCUTu&\plCdPj?Q%r-%W>>-Y!0KcNjU(>j2B0IbMhh)?H-2S$%=GEo(Id&ssrhW"&=jV)MDnHeWLq-rc\Tgh4+3F'&DJ)8R"Ho;oDrafG)4DMM!@^lfPRh[dQiSes0T1tS<T6ch(i2cT@`1r>6HBB3ij>"i#Q7Hlf8uWY7k5kY`\h>9L!<E+?LdqFF,/b]+!"n3&!.Y@F#QR,CGQ\!hZ6LF^(NIH`n\^X+Z/'Aa%B4qEgV(=D_[XIO&US9t.)js=`!&7UG;e&+qY0os$H'p!21;=#bPYV8ApO["VO$imn&uY.OW(1T'<t+'CA9#\2#tFfllSA?So+5nA,D;>0QB4TRY;+N[oNsbReH+D?;#@o<Ql)X3ADTH%<jahDo[-YUck#W[F3c]@GZ"5f\<#i'Bt(jhZFZ7DoQ'>!8q5pMFUPlE-",O5=tM/D6:,_imH2[%D9c`G%OQ!Y=\3m2RV+Q4=p!T<$S<;G?8fp7L#ZQ\0-O<U0'aE-8Hf?:"uX<hQQ#CjGlA'!-WBR4Hd<hS)]Wo^4,kH[FFL*Hg'Eln$&!mlle/@-="fR'#'T-PjDC^1iIN!Qr5eSK_QiW)9L@d-boP4Uc6If'A6@8[%.Ksh,&g/J,oY*E^W%DkalYgi0sTG#$sWUZ+mD9h,U]!Rkqt4FU!WubCrunESrj$p[aM97iL:qO<tlp@KrL<&>A@#DZBbW_@c<OUO0H:GT<kZnddp#4J5`f9FKft][a!WFfOlh/UYCkqI+M>7L8Il>15aA2N^SG()^h\l'OTc5H,.EB)o`0*&;gcGL)j/*k1tN)<4TMRMkC%rc1t@76ENiGcOG?nhYLKaL;OTh0IE'?V7.OBqf#b`$59[$QO6UOk;hOp:3[nF#nA]rKoaXVPOg_\UN;U5Hqi6-'^Rfgit.PWW'O"5/A\u'!8UWC9PEsIAqnJ&LXmFO)]+J!"S1j/(]IBfb7W$*\(OW*FZHsXj_"'%h>ZPbi[4Ek0=HAESuDQ>FAMs[XT05VN\?!i/0l:`m^C;M)nB.WGnL&Q+/XQ!"S[9m[@S(N,*]9k3l`G(/7<m!oAYeI'<hU*:$PZ<2aV,NtgrZ)4GHAd6lI="d'[^2K-kA!3jcs]B>WK^HB(U1?J&afUEI;"uZ08-#uk/K,d6K!,sd%U]:B;69G;L&0W(q!/M2I!!#EC7fWN5`$56^&`OB&J-bZN!'l3^"99Q249>Ko+W^XaL_,UI!(;W5!!"4],6.]UiXl0@#k80#5_O@b!$FTj!WWch!<@WZrs.f7+uf~>endstream
|
334 |
+
endobj
|
335 |
+
99 0 obj
|
336 |
+
<< /Annots [ 96 0 R 97 0 R ] /Contents 158 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.2bf0e0d7ea35d044152bba43012dbcf6 98 0 R /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0
|
337 |
+
/Trans << >> /Type /Page >>
|
338 |
+
endobj
|
339 |
+
100 0 obj
|
340 |
+
<< /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 513 /Length 27387 /Subtype /Image
|
341 |
+
/Type /XObject /Width 499 >>
|
342 |
+
stream
|
343 |
+
Gb"-V$^;lISN$OeNI[17GGWl5g"PKPD#V&ifr3lcR+G!AMe,osL^#]P97e">`(QS"/8n[Fa9I"A["u/W/C@cMA5nFj#Xa,-KLpn9dL:fNO9&en/3uUq_b`-PbgcZ<WfhK#2KX099P7tOT+_^"\p'dl[sn-9Q-AkW!!!#7b,kmKA$XeS>/-'uAg)Yi.KC;^/sk2dFUTr3JfVWL"?R#2"?V-"#^.%C#^-3#&F;)e&F9B$/N;>DE\cY5m$(ES`h[p9cL"Sp@56YCdN4kQ=A[q$T&Y6ne6L-3;nJXH5'![mbgX`r;`Ib$$[+NHYhJ*EhU?Wkm]nSNbDf'`i/3M6cGGT8.^M%!]Ssg6(nB21M)K.J1i'Kb9$V"Qc5^cjdTV649I>\XdVO,:d8a811)V:Vl=4YeEUDqbkNYU[0=,dQDIip.s1iU+=^J>AnmROpZ[/(`Q)*<Z7k5T@hs^2MQP/Ye@Y>Cakr,))PilQ,cHC(0o;XUTXZLCSam1!3mF:N1g9PK3V[J9U_-g=_\[[PE>!H]T3A4k_.CHR:FYI(#d9F"(3Z,2;<j6?_CbZA%]3ImOX_*`T.h;8B_IdfLg&hun!ss.:l2MU]dUY5i&e+t*/8TUJ/k^YkB5AoRS&K3KhN>,VJQ2-O8'ElL@8;U]"jSR8.]m;@lLtR9^iQ"W*%TLrDe=B%\4C\ST(E?:Eqa%iWfT.@4=0cth7!E5:HoXUrLm.cfm_?90<RWX^p"a`p3&(H$De)mQgIf>9#8\aM5Dk"Eu%8L9/TiZfNa8TJ@3Z*Hb2,oi5E!9lR/E))K>up\_N"+>uImWNV!KhALX*!?BFCXfdnJ6R6BpXDuBoX_WFQMk,h+u-cIeM2of)QNl:mU<5;ogaC9A+Ug4<G'%qlLl!P@/9?bN3:Zc8jhLNf.E*-8DX1M^<SE:$fNH*@<>S$Nt.E(q`BPkl135unJPB!dcAQ[O+\N'l1IRI=N/#H7i6j0EYo)p;CYtVmcbN3'LhC42MG(6A\VFY\Jo`[-t8Cs%HZ@Yc%IDWlj8?gRsh_W[HD'%Ya8c<rYk=&\o*A$9L[QJiOQ_*#Qq\'blStB2Gi.0cEY8*gs!rZMn;[s0_FYf)U]N)&\*fS8XOCXf/rEts<YK]d.\!EBfp9'joZs^)VD/;K+p*c,ELE<:OhZ!?b$`unDPIsbc1DP64<`(q/3B,q48Rg.Xh\"IPd>YMI3F$N-bhY3#NH(GA9+NBHS5tTjA.o>f[9p0hPN54@BKr>`k3*[2P9X,JX^1VRKb:AB6*MG&<]#'TC0'n'1)BD":/?fah1NO-PLm/m05!)_YuijLES>i/JRBk%H^NuKU\SM7\l4W.FseqbOnq74Y5rTq>%Y"Zmk9M-`s@[,R:)pU(gB8kP;H;[lm,n3-AJqn=N4gFqjnVj$a)C4StsSCbncd!0TntnA;+X!@j&7g<RYegZ1m+5B[c"$_/l&NZ.Dlk`^2=$rDnl#2WP*\N&t//s5^`&\%[%M6*MFsQ5/bgib2l04O?^(NsX*>^,8")[/_T8Cma8\Z)!U9<iV>?l(`r[5M55g.MEDc$VEKOYk,+lY=S-'o$W8$iUF53@%Z&.iI65SJ2Nb=RdS7kqta$]e_H^nca7WnNT^Ou>qVpN=qNk1lj9/L9D:>Cg2`[#1-aD->"qZUgrpqq[6cnt"usUrIZh7XDX.OS2p>V]fX9UhKg)-nZ.%ir.p_F/GV*g@\9fSg:(b<k6s3j8:-0r<R&S.`KKIH<R*Vb>9j7@cdjN8DJt:KOqTp^KF"-I_CR)ORm*0![N"3[Ib#+b3e'*Q;>XZ1mVGj,V4(l$3i!?[H?mk'>S$@tfjq"&`K,+96V,lqdHXsddW9lp-[CAc8:&>lAS#A3VgGq<9_,ed3Wso2Y46L/qnX=V3$X&bGdIUNrM2&U3?rn7\04Um2We&"8[cD%&)q43NBSUVB^E$l@DX4]>'Y,A/V"%bn6d*4"YrL=Hh9jLS_9m't:[Uo<ZTETWl9N>FWD8*MNYaf!O"W$gGqJ.N@&LoB5+^dohA=Gb4E$LK@1RX`h#s.F,M%odq[[l(W"qCZ@2KC4#c/KH<\tHU,gaY^[HcTa82[cN8hD'(Yd;>/([/+W[+\p,Y0b!`3f;%bf%qk)_,IoKRH;k8g3hR]+7-7:kcLFuq;>O5[#-g8hp.=il5nO!H/5Q.Z'3Wl07LeL*&d9e,oAQ8J.dAu#^.%C#^-3#&F;)e&F9B$+kU5U+P6]'6EnA36*LG.KOBRDPKd^_!+=#S^Q&<pzzzzz!!(ToH2oWGS'A,/lPO#qp%V,[!+YN?;]%CuFo[.+lnE5eli755fO<DTfDuCIYf!\2YQG_q@#&/H)!pWVghgQFg:uN]j[,s#gjamdYP1gc[gOGK:gqc%Ap"'TB?KKP$ei?#XYeJ^Guf,uZE:;YkHo__>$nCKn-'&90Hf"VfZXJF46O&VJTO8;Bt4r@/8V8l=D##]%@Jb_N8#3D&q[e4[kY%M[d/)h`%pac]/Pcl//M^eA'$0[E?s`OV-O_UXsHIt$pOkV%%EYm-_Y:``[CX4h8lF6,\!$:J@17lD3d(#YOsC=q\(U%A2:J$>-sLiH\A`2Pg'rpC[s["+Q[qBIlknX*%@<D_O]0=.?bu[ZI;6I]"@4b$33F%_%+@pTG=6O`k>EZRBa<8Tm/'=D3!s1fTh#FS^cP55gijfPApif9$7UT!dY#s>#n6=eiM6kN0+!?>WJVr[q`PBY,P\,%b-CK@'q-0@G&dC4Dd#L;CXliF]ckrO[=DO_+l=N-AJqn=N4ehR@I>p/%(Vnb&HlKS*gX"%Yk>n3t.U-YdY"7GLg^Z8Qdhs[ImqZ'3H].R72]j@5IYI.&t^]gN-k1c@p(n/_'1HG<7C1IOiF\P*FR&1%"ce!":Rb3t.UHMS0e7R9=I.6jH.\V3)E3(+mmKU=Gts<odM91!L&KH/(\8D-DHcMH7&XUp[_`D6_<&`O$!r/)qP?<Q$OSGWL\t;`L!afO<D@[US<&s)pnr`TeA(\p)4d+mlF#f&e"C>&Ao.:>>"KPD)ZOW_uK*X0LBLMRckAPZkq=)J$9&)L?&9``O&c3L86fTc3dD//FP@ZP.j4Kj][EK+B@2(kc:P@=qqm0F5K)_Zmpe?k@o1L(/_T^`WbA$l]=2J3aHa(cL&`[L</UXS(lrzzzzzzzzzzzzz@#_8n!+W=flrq/a!G5JqJ'8hH)#Tl$0Ph<e!!XV!@Fu^T!=V<!_luG2!uQ]!LLGgC#;Bi%_(M(<&J&NPS3enVeN7kjVj\$Pq:<`-hPingcWH`32)A\ee"!gbC=gqf7nsejH$WV+"G`K"_(Op1?3b7#RnP.:bD"A%AW]2g-0MQn;R5iE`55#\,]&FKTW%7pLc\R<lm)Rc_X`;lPn.rKR+9YjXsEs@5$I3tq0o5+]:<9tPU!hR@PHGY??O8rFf0(<H/6B9S\"bm>BVSK$fE]o&F?^`ALn<gd^)q+`&Wap/M.t!WtXiX+0jX8aCJmmgr?i9lnI4\([SHgGC%9/S_isM0jC`'jD74,'g1psZZ;t3NVYei+Rg?u"NSYgfXK#FYe]kCi!Dl#*!u=>1$TodE1V$G5-t!]T8T6=d&EpZ^ZbA-=">NR&C_56V'`M1fi]mC;Q0_c;2\Z35Y7$gmW:D?gQJ&2,oZXFNH#3`P1jGBWITWOfY!&=>MI<?Ec)+lAmFU"&b^96]je`@iF5J-1[><`.$(TC7U')r?1>.[hE_1ngbN(gSSBJq3(Y;!,I+LI^=k0eq\;1aCgSlk=7l0]LWkuSXG]1_/^dY\]ZAc[Ke)l]W@^nPn>0cAh#>5\M<Cd;-R.JFe.;7rg0qG0CCC*s/fsAZ;@'L-;;6t]0h\fR.>=kS&Ntd$Kb:UKWOU&N-8n8)%TM?_3F]0,1K1R-3V9=;bBt*fE-VFcCF^;cD)Ehh.2aA\\'l"c7JU=AVGf-\1Wcn(2!f59I2TRoM=GtpU0%0OM6KN$#!b*Ym+_r">u`4CG)o<HV#7[,+gPKrKJf/8euE.]$fae-kZ1k`ca'/fc4>(u::h>q,qJ&)!UJ"<=7&E_@+;K6]i?&3N0X]Pl1HdI)9fR%JmHZV3R/^>9%d[M.f#XL9Tup8ohPEAXnWLpn1nU%lm-uA2Fc,$/jqI:+I9DT*t3>+bnA)46<5$7Bc??(RC9ULbAF)f:2+ULI.8F6&F<R*`YQn>D:[(H4TVXXj]1ZS]>BJoMG.Nkdk$OTSAJsI6\7JboLUftCT\K59e#G9e*PXh0k+I\VH8KhheU2e]J]dEa/m*U2e1h+\H\$fV)so5HQMaf_e^91OLac,Lt0Gf%X+t`DRD50D%53h+aZdoj.UMIbqOGoAt`U>r.r$o-V(VTHK@0#W*!/[D;cZ\@')!WG/rTEmrh2_-NlrG9g-HO6-eoj-*,RQYe]d\a5c]D`F-/SDcJ,.*hMj(,Q@,uNcI%pg[.>27g%*olZPdpQ6($K[<iEYAsNh$C;"(ZjB..F=K?coA=HN&CL%RZRHq>qQ-"$LNNUM[<qjhrklS]8kRi0XY"ZhU(6aI<*bg([&$Ycs!@8R@LX69jPhJ+;]$Xi>@=qsC@<75-4)Mm&c)`k[=R.aDQj^_?_r_L:G(AP*@#&0C?jA@k_%+?e_%'iaJfTS?2Oc9#J2(j<3X,Qazzzzzzz!._uEH2oWGS'A,/lPO#qp%W]#!+YLE?ncC.li755fO<DTfDuCIYf!\2YQG`L]O7oj4\gL@Ab;8BWC2$X=FG/>e<G"J"gtgF[F=?RiK,uGfZ,"ECV2PbVie2d\?rpH^NQn+j"2Ye/Q*oc=E\4q_.@An0]EQo]\V@#-cZ<!encPSX<TE*C?l+"H+g2sE_]W#6LOUmVZZF/L*P?CI`?Ho[aWejFR&*$Y?TVgIELaSi(u<Zf\;S41)RPIJup;igFN)@D`8U*,%7I4AaMpP29'KlHO7NkPX;Ij2*S"1)p*=`@rY0&M,Ngu[R=UC-VAm07B\LdAE,Yp1k7]Z^Wn;3H`NZqp]Q3330,IF8T5IjA4d:,I6N2uK#pWc]3\UtH!]tC,<g!_`Emu`N)R3VZL4uu+#fVrE/:"<MGX]]L'a*/r\M6pDO1uB)lmr];Dgnh<S$QG0kT"+CFce,.@rCTDaGtF]+qqUE&1O5^u]MpXK9qeVor[%G%G]am$D-`X2F82P!HcHiF9.qS/1Ka,<`nHot@rrL"UA`PapLFL1[SKEZm#/[bHLdQ.5:=X*_LQauRj\ZWaI^@j*pu[-cV%\6GHC15q2np<'2pY`M4U3E!4;E5Zpg@iPM&kA](p&)\J3i<!sD.23,A_+pTI?cRDqf-c0aBMjh.''O_Eg*+<#F9ZHt:JWnsa<k&X`4F%]qKd0gjQsab@,FttWd3"B;d0mZbAVmX?nT5<DI/B0WJMm.F*\jsF)/a546L/qh-PddH!.1=,-Vbj9X_GHF(F!>*RQ[O>p/6IJ>Da0YZo>AhARQV\:mSbqn]GK+)n.BZ?AgHREW$9T;gIYE>okDj&h_.3uHS>N_gr@Z<>Be/*@D!j&2lRp7PctPJlUnhH?a9M`.mrmW*EQ#3;[k[*-Wd`P0\2gM)Gbihc)I[.C^WjkU%Z:AREVK&sST9!&r@R[5@aUToWI[rZ#TUK-Xo>-=(S4j<^Wbt]S)o<CnXT3$jUF"2?`Sco<o)ri3kBTS?5e=qpjV1fW2XB!0D(-5Ntf_,4Ibr_,W)-H;te-7Gs?=uZq*cL\'S`K!.)dZ9"Qs%7#-;:;n?>7r,>Gti%1a[;.KG`Y2>6gV=K<5ue;3Fh6pdiJ!MK5br%j&fU\^Yk/%!akaUqJeQ#Q'*C,f+BW,lN_=i%uE&qF1:5jgr#1_;;/OH8m''QHA:4Q"!GF`Ng9G^4*;%e$Q7&7si'Y7Bj\((:l#n/\)]rA(M>'Xn:1rSIP6Z<KZCOhMUPejd\Z'/luYm@VD-E9BHDiFaq6!YaK-YD3_OlX"-sqC2^Sndbio_mCX8%m6Z?23!/VL3`hc7]F6r-;T7BA<j+KSc4q[IjScs^?si,R#^2k0qdSZu\dH8K>:i$1VN\.)W*jg=((>B"'dMl*MQL?HT@8YukZdP"8(q.UK`Y</EhUfja^s_F9U+6jBBcj6HGQaAjt0h)CWje52oEjW`@Mqo"0EEoq9W>#o!lTsb%[Dkd;$+H>/S(FUEcVA=tu!N8)?9P$4ZAsK3V$1F/6iV8ca\'fqVhj>Z/&s&n"E*Lbu[`.D=D@'!3Jg]ro`M'<<MY!_5Y_""i4C/(`;d"M9'nXhj+HeAlW^LBrb]$%>HP.+i8%:II<-i<`!OF)Q7*kZR[EG+*@sPG=VfW]oKWAJg_E=PM'XBeS,NK:iWUJRPYJH%W#Q"hVL>Q#:5W\2d#/heC#59GWZ,Y>S#K*3?kUQ^F7hcQsUZmG@8EZERR^2)>SI19mP$p(TY;X,V'%guM05\Qm3RaO-R!"h[loQLaE0aD*W\ObEt!LgZ")JIa0FYZ]Ec-n2Qg)"6UpS9?Uh<t^$N#(dkMc.[X;<571M%a1#u?%44%E2Z(,_m$sY$31or@#&0C?jA@k_%+@0S'@6"^mMNY*<Q9Azzzzzzz!5RQ34TH=_c">T(FUTtIH@3=LJ2-g30Gl\RFo[.+lnE5eli755fO<DTfDuCa?Ei%F*r?AD&5JNq.t%#uMF#N8a\+hgR)"WFcAE*3+7o!L=kiA5R[Uhco^-"cmTS!JiIG)[f]?AnlX2;VPK@?D\PRV"Iu74I\L`c*X=BDY/3>UY<bn$iLP9R,9$,8*GpihT@nSYE]cFoB>'@,3rV:>s\#L*j-QcQ$g9+kg:Yji3GO"nN:3l'qdqbigIsQE04,!cK?EhV9Qa&M<8PaE<&EbS[\$U*JpOZ[Ng5SR+;>#SQPudZu;CaNUbK;^H3&!=P1CYI&kHAALfK%hWF*bDrM=SMc?(4Kb4`n9'o^P4%m.^B>!q2%ZRrkX"*t8Q>cO7I+6u_G-hPk*T+.^OF^;r^=V9PHbGQ`WB&i94+9X&`0fr1Mqi]0a>NmTcoSSCh0,329YT82V.UIFQb61u5ed!^6<&O/4`@c)1UU[([#kgVEf=Ih4;6a4_q"M7PF=gMU=\LeUqW</X<0#ZR(X4>@u$tJn+)Y5HPm4#Np9WNP2+P1Lt&mcO#OHmr:'WpNJ>27,<D?jZ`>j6SK2V&U^Et3tbASm!?A$BF/F.u;h&ju@->3)[bE"E]jKu%.E:ZnokU_RCKo?k2dbmOcga%koFRa\C5aRcZO8'V<!cPW5'BhC[hSHaG=&edC&H:Ol5Nfj)hG?T8ic"FC65uWYua_I^im&aaH(Y"V^H^2^q1t[)c-`PA?N^0a)Sa*/hKsch1X#qla\_4g5o@c`V]K12c7?:gQ\D\EZ<Al5WgM)Gr)Qtab(Z$!Q3C3nOU2K/,$uN]%CW4X,/"L>ia;SA:P*JMjc*2bN6A"$.@^TJiC*Q$A8$puV>F4c[)sk_CaDp`Ar>e7_Z_0G`CT:aK03GBXL+;ml1EY_L^5;]\_9PKlS_eN8YZo(#7fp3420hN?SKon-[rXkPWPe[FLJ95Aff<D!3gRlh[/t`Q("9.KZ^KlV//n5D91)2".s>sdd#Ur!8#mYN5V?=.oZqhY`=Be%?EeL/"Zml'k#15Z1$%Fu',)cG*pcKJe8;cq8h$DZ2[OZI>L7"@'"5@""$Lh(;3Fh6pdiKlYaDNO@cmi4&G1nS"j;&=:pADla!gBbk$)#nO*7;+*8u4[cM)orT:R(ijTs`QFtQ\ZmBRt[X_n3`eY89JNVK$h+=Z0Z_(KB<,l2"B.9ilQ-,5YpoieToNa?!6fUEO<"T'?QDNC?An(^r;g<51jD,NmY/68r6T$A&tF!K6N"hTa'P[69#gP#WCE<P:#FKRGLGo6`HX>NbZfMWs1/f/#L>mkWb]3I$_95?O@EctmM@+Sjjd+^0n2T"^\R'Odn8X3%PCspr_Q+\^Pq4OOk@TqkA:BtS+?uM1.7PCN.<U[<\D3t(7Y.%lI?$%Q+T"1s?(hO-aT"5dI(XFsPkUPE)e$Mft\!QmWP%Z^UBGBpM'bes+j0TOgK"J-;/_K;O/2!pVo*I+JR4AEUg*gVM>AEAFa54lac1@<`-eAmc'8_R_+r,H[?44dF_,F,hip5G9e#H0!A7M2n4Q5AFi$iq(#eU_u7ROd&4'<+1aF'&hisUc2Su2EP_+m'M'%ncuPWofC;6_30(:`0tWMN*i<pacpPF:N!WU:3N;TQ[.<ZAjY]N1KbM[)=<s-^]%n+\0Qkp9BsC*ViJFcYSj\64_OLO3T?LuAG.0Pp4Z,liQ/lnE5eli755fO<DTfDuCIYf!\2YQG_q@#&0Sc">-!@*DfhNWB+[zzzzzz!!!!7YT<e'a_%kprAk.MANda1%)<^-<t#KV"?V-"#^.%C#^-3#&F;)e&F9B$+kU5U+P6]'>#qkOas(JjNJgh@`<bXpB^U(#T3,uCI"NA!L%&2A?M^pr))7:WllbsUJJTi-3HO<Q7+<l/:3nbR-Y=j1,oig]M=R7CqTH"LCMIVLo$b'tWOcjOqh/Mu#kiEjm^=kdL:,ajnUfPe=bs\k%)Hs/P!2[eM>AcXFTbT"7Gg#^[]u(I-0FjmPZfQp@'p`kbh`g1%Q>oAfULP"n+9E*44>4\g"]A8P,S#0`Km%a3IOdYaue,[^QXQiQ]ec1qW/!tpsil*?uM<?K$tCX<ja0Z.[_t\c?;F=T:*$6q-]i+]=I@ZmAHNGd-7I[:)3d#oTFY+=JC8K[rYl1nYR6NVj0`o`O\sQ51;PjC=ADB3#F9u+LBj6<e8I=o>WeK/RDA@;M\ns>4*o;&MdK3H`=u$N%7?k8%'Sah7<4t^@hO:Qk]h;(7RWabN2L.@dd9+!ZqgUrP>/akDN#U$fk&/k+_r@44m+f/btp.A=\JC7)ZuY86K5pnP!CViXlH5<kZs37QpD2JL?te:WrR]+C3'0*:JsMkoT!m4*c>6'P?HJX!2,49sTda*"2)Q'E#+OZ_RO_afn%nG_-MLV[%RHR>q"GD+2d`G8Il7>kR<l;]\!mN'C@@<q6WO`V"ks(:WR[9Z\`=KhJn?JsW_g)Z%*iR^5!%Z;Sk;^$8gi*+@McM/K-][ZghE)k&%ujFWVs.0J>%:p\&JBdLUPWD<Yf>Zg9W^B;<tgHA+[R;)-u0fn!eNr$V<P4>l2?*5GE`?$UpbSE3FeDe$fPTh)CkN.>d:[bnPV5Qq/frs$ieM4gg9Fl,GnrmiVF+I`f'Z4JMo9qIWRr"0"@V+qa7,Be?_H=4p.Z6D2eZMej?KCJ,'qmhR&bPZ=.jf[L3'.uE40OW#a/`-??1dp"O"^AH#l?Kk@WuUYQ$+UmR8)7W:!7a[>A2KM[u.S]5A+0(1H'6Y)r>>A&?ml9PJrgPj`tcq<j8KalYq)PI^#%"j.3ohC-ON[.sA#tf4L2Ie=KX[I!R'\Z[1uFktPr>gA0Z:]q'9q,#>BI9e"<>3F=a,QH<5$C`R3.FIJJ2An#R58rDq@#gWtREb+-:-]-/`f)cDlJiGn,4";t*%c*Dl)[q9um*,k-*eE>T*I2keM(Nh?JCQTZa.@8)(lO*U\])(:QKn'o4l-S?Fs5-cepoS9Xd*)4`NZ&!1@s::A[lskI2FqK/Ml$nmHWc-q8)'5iF&Q>ach&!(Y$Y#\ZM7eHLla%pIq_*V;u=.kB$o"n_OfM<\Z(C^1]9c/QSn)#d(TQC;nOhO3fs+%G<E`8imdsG&e)+X+9nBkeZ]ZpP\Z=95Yp(&!E>g=6*P[QbJH4c/R$nDoH[!fr[r.]33-2'@oc-QgPBE[O'48)qR!2F!2K4$YbTIJA]pCJmB]haosTofb$0D'dJZPX`[ff$_sNiT($rFI?@p0VYAS^>;:4^QK.0gWtaWIHDdZ@Nb[*$I0W#qF*\Cqf%QhBngJG>a\`fp4H8o,:Fo`%=05/L3N$ei:(i&R'iUao46]m_XVh!V>"/9TBEoFjS=VJ&V]jXphAONiiuT6qTHEOCUhF>Pg&PbI(LZpXR?>qsi2PEI-`),;2d!(1K`K$#otf,2\BA>%R8c^O+0mZ)nO\Bp*9NP#lrnUB%VIIK%g4uW$gQc35#EO":NG:K]16k'@.+PrEr&i5OK19ab0rfc0*FeQED(=LiU(e3<nSXQ*jW`EnbBt1K]d$k07:BA1HuZKFRRQBmogeq'f\r-4H2u0<N896lNp&Yh7I,WFXcUR,IBSb3sdk`B&E#IDe!<\f&7XAlrN.e:?:UjM\a;u.W6p(c)*cBD8]Fmj63s;L=3HL?;"C5X_7'grW%_?<W%@[D.:lgGI@,L7jraM$,@Yd3t*&24+KWl8c]be#^-3#&F;)e&F9B$+kU5U+P6]'6EnA3a_%kj!&/#e?cN-Hzzzzzzz$Wmo>`alF/[=0+ubd&9s!X<$@^+0DB%>#V9+9Xb7)[&6Q5mVWN2@+I+K+RB'C_5q5"t_4TA]\k_a-UMc?*?F=n7#skJ(.ZI7m0VZSW=IhbC.3&9dt9n:j^qs4.!Q&*)^ARHb0jK6A;kJ.^`6k`_``]P\qo*V/_i%S&^LZZ8P?iU]V*mcEk(qPAP0=>ei3pC*3(L(Vgql8]BPc7!VNY09Y,f&,&aY_?j`FAKPu>qWVWTVf"S5h*\*3rp[LANSC@3YR<E9$jM'j&?r^o1pQ/,_r;N2H*5ZV2@E#f[W>cpW[5)O9/mb@ePK8OOE&YS<R(bM2H8,-!-64n)pp#6%Y'4c]i3135(TVZObjDs_u%:,W[&f1D3<b;9(brWSdYt%b3&nWXO<5hA)Z:m=LQnVqhb\H6k&s@5-hsg>*NY?GH1N#)5h@6A_git5JA'3!CLTEfGb,%)sB_s_d\O"dU4_b<lQ`!<MeVbCl*n\C-0[C*,2sGYVGR9T&@cP83beL21Xddo"fd'!NZT[_;;00"OCaal`.>70bW\\FuS&Xq$?F^<jhjlo-,iHP3G^r_YGOIA55&(#r-;?:3FELb4o_,"?UPr,jTOc]%f(rf]Lje]rHA*ePfZbc-($TE>A$HL=Ao$2oZks/(\X3OJ87$RnRGbT>`Zo;tR0SUu#RDnlG;[;M_`@9IdaCD&-23jkCEGQh^W:5@_OdWK-PV!:So-c9G1p#(*BjiTs<g?s,06pOg.X%!/"N0=P0]TTc1]<jB^;9*)_:BU8c[de&/t.0]Ps9r`+^lV>hi=!ksn%%TUIf].kp]0_gfr?VH!2<2Nubm]5JA@^6Y*XHpQeo.tFAb:I*)slB7+.S'1b3WLPodm8&<lSA-`j1bK>AT/9]N,HmD8d4cXVbh<b7X)[">SVf.>s^[<9\M9R144JG,s5POgAID(QiBUGNoijkF>S31t.?H/Ocn]oO'1=SnZ0N8X;/`SCU;p,qm.=8:$JfUi\7@@IR63`@tuE^_+HQi+]5Q+o6GD-P'!43G7igS.'a(D4+2DB^+CbFqX2]Z*6K[G)'+2LH0tbLc%/:3ppAXL&RX&DC]4jpG(C7j8+1_,eQR+hV)XOkUhnM/>\['g;j\\`Ti?Tmr?;(.3(qK!@8R@K=<olKi%Me7q:VEbCMhc*&/#k0Pom#5\\05F^#8fk<^d5GHo&J"2PJb#%&eZ?k@o1L(/_T^`WbA$l]=2J3aHa(cL&`[L</UXS(lrzzzzzzz!+5in!Pk(=2S7PD@t7_5j%I/fN59_W^p$,/!uQ]!LLGgC#;?G"%`8Le%U]j"*JP#T*Pe?0"a_cg\'O3+BHFAo3#n=tli75A44p*qAGnd,U&h,'li;dB7^.**fr3dQ#Qi=l6?'$]R\"Ch6&q!Aa],;\'=a]g\fR.E_%'k7TiR*nnuZBN(X1AjFG5%hj7Htq1*pQX*%so^K]g=eHp@`5%Sm@R!/"=M("9.KZ^KlV//n4AmCnONj!=+S]3Q8UFB7St%S$d-4+KVt&F=Eqb]3Va;T]b*<QX_%A[K0EV`s'`3h;djU-=&s!/j1J!uPQ2fK81#a%,g.]IAQ*Fq;8`VGeN,E;iPET(-lnYptWS=>C"@J3g54Z$32]@=dGBO2p8gMa<r1]K@lWg<9[[+\"t$!L<f'%U]i3TEN.:_%'iaJfTRTJfVWL"?R#2"?V-"#^.%C#^-3#&F;)e&F9B$+kU5UA@'rE!#W&nY@@P4zzzzzz!!!"L"fqq/A$XeS>/-'uAm(0J!<Y"[h\?72#/LdW&:tpW%>#V9+9Xb7)[&6Q5mVWN2@+I+K9d2;c&BstN7A/GeWV%,.*6#"<>IU,h60OgoBl,Po<$Pjr=b`2R.F$/=*_!R[Lhd*"tclbDe6g]I^Ihn4mu??"YN]KE@kgUS1!=Zjodn??DfK]`@=6Z+-$p!!!Y$Y("4Ui4<H/!AtF-DRhkV09U/TES6-c0b81W]:,O@(&M`YHq)ge.+"`XJ?^?)b?<'du\KKR(V\nC6H9o+\k7K'sZ*<-S&U7Y>0C-75JmlF0o=WupV0YYhG=M5P=Zl/29N52;DgotJp@D%W03MXjgq^aX?jAB!R6C7=Ff\Z>:Ufn'?8%Z0>USpUF=K$%fk\WAlgH4RH+PH'-*^M<P8u4flqY0"C21*QG'g^e6alJqRbI2sShZ\iSbe#3,<M^a+F$B!qC._?!\]j$A8cX(7(X/70Po\*6*LG.[-YV-;O_aDXB&^*H#8.4mSV9_SZIhYp47D2r[[]0^48[-?"pR$h36?W/Y-oM95\SSOk2q4)!:\HO]L'%oL[<m-uZS965RsfreW\lZTl(U*I]t%&F9B$/cVsj3?.,ZR:^la7quJ$Q)&GEg?j&2VkK<Ef^IDX2qY_MHIIM_hOO*-K>$#.?S'j9]jT1`ah%]pm(N--FA5nUF_8<'J744@#;Bfp[l\cUU>Ulc*`'PaDWbMpIWgq5GBW<HAHmK3+7-/cWD<6Tp*BmSdi$_teWf^O&32o!8ZHn"gp1@K>\.(Ep-T.<*Pe>5grHSj>O:1UXcEe6ff,dAMgGcCS7&7?*Yq;scO7R&bf>L*'^U3$*:sL75$r7cY?t"-eHsXDF$+_m_F]1F'Z#7^5d1>-KF]KIYX,Jq(kc:P@=qqm0F5K)_Zmpe?k@o1L(/_T^`WbA$l]=2J3aHa(cL&`[L</UXS(lrzzzzzzz!!!#MT"=T;lK$'3*(l9oY?U>-)?:UhC?6^`M[>G3ktsHTXoE,9@&VH[E6XRRO(CI$:L<A%)?:Uh#kgXSJRA_5rBd_1H4L-?!:1MRrQom6fE#Bp<\`6loJ+nV?G5Wb-f0'q1DcOYD`i=p-dZhFl=G01enL`GauS4>3D80$V)sb'Dq2S_pndloA?2]u*f",.J:h@>Jt9j9_gcG^&A^OIO8D.s8,i&>-1:&PT,]q*gEgb4e0e$o_1di<fW(c/JfOhtcDh$E&dqe$%s%%S/=9LX%eHk6,bJkUrj.sIOK:6_BN!eBnXN[e<_'@r^_.Ipp*Bq'C-A0!fKB0RVJeSC"lZOtD`!b^k78@(9>?S1+$">+;]W[a!&)B#YV/-V=6m,!6Y;2<0Y_iZ_7Pp@kB(*tIN_q^r<7cn!"L!$_7miq4J9O)`,h;Q4Hl:Bb(bNhnmu+J8H,fAW[$-si8kdaG#HJcD6PZJSB59dR4kgl6QUk=j?2tHPEpZtm7WI0YQM\W2cTOV5BF+*A^b\(a1h1b2Y'td7>*echbf5<#CqG:G_1>mG7Qn.O!bH]Xd=(k\\UeNJ[;G9aF<R66*LI,J[Xj[^;L#AF)1L_He0P@qjSRY0$rNJ/o-Djn2q<L!-"%%DQkcKD!0TZ\AT.Q^UZY5!XGD$e*iA/9*Y[;%KK/.MS];/:QA^iqAo(h41lX@Fo^0u<W#I?-!&Cul6a:kkCI"GJGh7UYNYnWqiRKQ3f_nneE7IZk,YM1FkE3H>iM(Mbdj9b.6$Onm%GM7Ac#j#^D[(hC'N.$qIY&7pAl;T*/s*XJ'ZdFiQENb38"7<H?3d(&,@Ftm^_Fmnj'D]_!5*gmts,Ekr7f)`YF0uZ3p':U!Ei;I?fQ$mh)Z=!8+Ii8!@ud0aBc<<rD(B/%bGt\bZ0=2.:7'rj1kUd7_5Lc$uhf?OZuD[?YB_eq@3&\(<8,1$>TC<qbXdl:Sh+nUQW<kVlDBX9jMe#Cr.PU_Rs$C0FLqchSL!'o0-,jDT5[r;O\<qU<\2eO:tm!*7\Y/&pAlX8?bIUc]tMqL\_o`JVFmC['`[]:V/==81S`d>)huQQ"]C>6!+Q^ebuAmu"qkW=Mtp!3ff9p-\;"?jD5\6EhPX%g4rolkb9Pd!Hnf!FW[lMW($]n2SLMb"6CI<s&Fi:#5YL[IQpP%].4sf<4dR%0-gE[BDgb=T2g4s(VN6zzzzzzzzzzzJ6EH``alF/[=0+ubX2:[<<+_G>V<5QlPO"F"?V-"#^.%C#^-3#&F;)e&F9B$+kU5U+P6]'>&LRfj^c<IfdWg1N(N[PS_L+j_d^?fUcgR+Z(So(4NI=eWO_qn4WNl*#^/5i0KW2',(IPuP3B-;9GZ4jDX'tJ]':bC$?!2Lcce@8l%Yq)X+e_G0=Q)LAQepY!\e53_;<=i3F9qpBeEJMIO?5>FQe+ee"9o<Yd]K%:)Kh^F=L.ZO&\7lHh##4CUq9a9TH>nW2.X2*#'[N/aUPhpLnS"`1"6DN*qELYe4A1-,7nb2A=*T@^]D-aOuA7.X9epAt-an-U`Ofk7hBj<\k]fHNZXm3DKj?Q"f_H1HmErUq'f-qLiOmHSK26a;Y/O')^/FgAj3"m5N[_=t8H<2)]BIe5dM;\!9q<(A<`+Ffs1?*._@a<:L9u9jc3Y8C^8Vf&ATRF#t3pj%;6W'5j;iC=W#5:7$-JbV1Tcg>$ejjIJQ)@iPM&kA](TXL5ZHhu$kp!sPMCm,WYT(A(R#Zt^!1g^$C[5gIL=B(tm<"MgC9[UM;J9LNjR3DV=A)p@<C]j0u*m%%V<C%l8/A;V)a;-u#PLNG]D+Y1VZfI&ddKEOB=rB1h=hW>F,Qdi2TEaIg\;&&RkYl+^:;@6R/,6aOIC:c0oV^3qEXYaJ`'5BVlAK>bRFCiS;>/a(0(:Tab&D^B$PB,>7hOmL\WIQo^WK9iVN(^b_BGo()-$!ur4%pEn7#sf]D/g?rPC7U)`agiGM93S79NuNl%dbCPo9.QT`[9,X'M9V317JjAE1j:Gn?g`IjJ?B<io?Q#(bN<(K7,)MBj"cfAs-Z/B\;@Pq_A8i:.k77cNcu3c-CF/*9$6Z?K`U+I?7b;i!?`8Yg\7^R2OSU@9Euu8CSC\G,=-)R*=p4HEOVKJt;FTUR@ABUiNrT!og^H8^irho?9mGP6.5V8qPm9Bt7!>pR,aOm#%@H6f9M+U\7A3VHr\s[R>bL(gq4NR^N7q^V4j9bokZt5Zq-l[u-rCdIKOQ]fmc&KDF*b@+PIMOL&AUo>d"l[TKM$I]&5Bo)2so];nUnGV1E3+Ml@D._R%>,Ki_!L5!ND5M5)QGcFtjdpPtpF6[@+QJ7;.8?fFoahdZB<_Qno!T1$pdYSR>c!oX0%@[-JJt8tdEFtNL1RRF3PP5mS]g>#*ZQ+sDP3!Hp5M-?M"?RSWbH'907tha8'q'eqVcb#23OQ:e.j&m0,^EFpdlL_U=s\/@Kq3ChP1P?"=\Ok'+kTOMb*-t:fs$ZuBXc')l4\Uo=trOSI^#$+B&)*bUuZ,))TnlNALq(Qn!Kp8b_97UZK/<Q9cGSLSW@h-]bT!,FueYn>q*?a/#UKHTM:J)d#,)i&mnp>YUbpt/rR]>CX3n]Xbese7WtkO86[h"&ZpI7Voa8m4kSM06U"'$]l:nlp?dmZZ/4l.G"r='At+*eB7cZ0kt>%^.eZV[+tR]Gi:2&>@55i=.B`t<*EMk'*67T`BU7e+X.0TFaA_IQa:&8KO(^>O(g.2+(tu`:*$InWDFoA)D%%HFA?=TAc38fjp-I\U.p7jlL!C*up*t6>%\D+F/8O@cgru^u2Tt6C(\GPmQO3B%*kTDVdW[P6Y*_\qB!QZ&^$XMWdA<D!bsd'g/_J1W"8ZWj5eb=uaFb!O_6C`\PQ2+YYf!\2YQG_q@#&0C?jA@k_%+?e_%'iaJfTRTJfVWL"?R$]Cc5K%!+XUVFUS6Mzzzzzz!!!#'JFrnM9K&AGldml,/F2gP?i\4)]4,1#+P6]'6EnA36*LG.KOBRDK4"p<#f."g#/LdWd.2e%Q1[4%'?up_bmBH[T5C_,CE&:Ao7C8n"g#.WXnT2.LqB_s_/^c`4Lej1S?oFEPKKtd,qicu('`s09;9ZL.a;-+i,F9ULLDtUlq/K=G;1G.ak@-rG0\957nRX(XHmfZ>cQ1U[3RdMZY<IEP>sT^@N#Mq\WH;abpF*V@#)YPWWdaMS;d4GK',+S.$8XU`Lt\HOnB0A6-^k"FLABH7pA^W8$ca.:,O@(&M`YHq)ge.+"bnMl=0lK<]\s3oe?t!X`QVC#Y3GRdacD>-8Mj1hsV/%?SkQef`+iifLdncG#+4;8p.H&:*n$jiNS)YnmW24VI;4km-S&n'hT2d0AEP[Q%G@-,oYUYC!P^/CIPid"`1>03l"p3K"YG.EH#AjZn]7%=%X_*5U)O6Z*FXY3/fFNf^89D_-W`>qP&:$[ReL1Z"dpF@$`Z5/srQ;FfH*aPiP%8G2DXYd]B"*ZU%?uDCcdo::m-)0W&E<S4/NG-HHLUrFVMIqd8("7sJCHWpNU-MnC`Im>t`=HH1`519VFfPQLekQW"A%-agPo8BP/U)XYANC]R+.-:9T*/k]N?44PHBqb45<eO0O%*7e/q'dHfOdR8+4(@h!>Nl:KT_;;.epmk1:+,Q"hMKM)?8];b"6aou;dj0#OX4TR,mEhCZSZM-]Lch6`mnu3emc9'Sns1JeQ*lL_HX%C;b7++>r?]kM(nirQ'C<(2@ghA]H4:!=*-#".fK7V\%jscb1>.&c;N-`?/pFZVcfcmgnp[LfMBP%A$BRj!_Ldu0jBGflO*6/hg(/?;h1In0<9OLtDdn44^?AHULQ>G]);^M;<jrf"<aT;/^]Ch"@%Z&.iI65SJ2Nb=)O#nq?b]1>R_/1`R2.D41X:kcLVqms"Zu[42n3(W;8M[ZPWL-k3DSmIGFDF^BrB/?8Y6RY[_9"U)Sc^bHSa]'l8dZMPJ(tUJpghJL<2kPCXd$9)7lpe"T*/lDm6;0S=?dD']optWe2&`!*&<(jB8TcN1>t*GY[`>5uAm`[D%PEH?bJ1H(Po]oD[V)WBfSO!q-FC/$8%>K>"l8g!g[q76Q7=@+U-V_]F+N*''?ZJ++/g5)f1Wm.B^9O^f8`YqV27\hRth"?QU;%k,8u_$?2)$pq29YX,Jq(kc:P@=qqm0F5K)_Zmpe?k@o1L(/_T^`WbA%%D&k>6Y(;f(sLtzzzzzzz!3h"H!+8JYRpG@30u,@+nKhQC`o+I<@+ZUS!=V<!_lt$X?oOKICOHNiqh&:3@=qqm0F5K)_Zmpe@*hMt]i>h.]A5-^$SC^EU:b-?DY1nr!&QK@,h$#aZ[eB")!pWVghgQF,Y:]G.i1h.Pf<Wb)[RJD/LY.f&U11Xk\;o<=t8H<)9V4W$aM[oOm^N$\eC9EI76.T_Qgf)[!;q#(ih,4Fu^N&4:se*//[83)sj,9K_J._fSA?XYd\[k$QDVq[$[.PER)FU8rI8(]?u_^ZGsD6EA&KfCN1<R8nknTk<^`[cF&#jkeV9?<^2n?iYY1;?;T?%OmH7d,M6Gg/O.mW)5#BEWKO9P'8s!\bZ6_A(3lDe4Mci7dt59)o^K]$O*>V18a\FA0gArpk<7e/,-CP"4IJQuNImo5cKS:tr>n8Fg[01A7'fl%P(W(=(!&5pUMh)TjftJe*\[;`=Y75Hr2;N3k;_<?bKFGXW/'_ko7SoRM/[sJ::m&=X`d_qP$g/k"?QoiZSar":[(>$SKe`IPQIpdXD,#Jl$0=3Z/;0m0d`*PFjQkReDDL@Q)/<"\6bBnaTX-FX8gpgcJhC:F;OA85#7Rdd?:%QimQXWHRg5k@E:#ZfK7V<_+D6mSP"ibG2"aRZH2W7/`l*,aOp_[fEF>Y/!HBll2$c;&G*3AK;=P9BBAuW^l.<7[e3aUB(,XX4g"9'\O]ED44=Q@]:AD2_0eo1pOjBKRe.m(riq?Hf<XI]HBQMV.X&,+TD+=F>150)#$N`RD;8naRi.^=)iCP6h<)e-JmB7mfLc%d"sgn$1)Y9iY-bjW/"ftJVe)\=@]^lgb6Zd^`KaA:EN?P&m[Di5!5T/_DOJ>t.7ZC20M@V;;]QVF#cAQda7L@J:P<&nc:,+1So.;bC74+/AMV;O@[0u*eDkWXr^\RhQ(&e2bIM]d*S)V9S7f41jmPOP:02BqH%.)#Q7:Cs1#6PEZC-QSd3s8Bd65\+_;:D#4>5h5*%-7o2/hukh'bjopk[O11##/)m3MruR4t$GeuE3tMf!!F?AD"LV7]i`MjN.><sWt/9IqjL>PYMPDRV\f%@uQNND80mI'a^VeX9h.`C_f9Sc3FY6TZm1eQoXea_/Vf6/L;,0$Kg6b`_m`oXEAf]K62Kb57aDmKd]#Y3%O^=BKN_OaO30N!c(.R`o<#Q"i4o$"MN=_60mObgb$m)+OR4D\kf[GIUO@;V'&`D*?PE"BGk9As$IsfZa:@MQ4&Fp=rc:F!2K4$[$gkh+gV:hhn\E,j"]"9RHI?#^.&*b6mrT`b4b,k0nDh2=..3]@MkeX5?r4`qNXkrEuPB^!i`84\2I@A=I0Wk4-C^17WOTrR1U(1>/)2q'QAmi13KD[GP[jj<?sD]q4j&&\[gSA](#c=fo\gB38rp9ZuL9H5jOb:9sa$A'EPS$NS(WVIHaJD._@g.a^OZ<GCM^LIDUCRV9+mN>4Gi?qdnY>on3O8t-USPG6TD'59&$F^$E'>;>M3aND$4B,0rp&"ZO*n.Z?Yb6dn=R,IV]]!"M;a*<d?kuM@>imEKMK+U=4[pl96'Ii=F,FLYQ3)n%a)$2Jd`!d+D\T?u[Ba]^Jh]Qk>I<SMS7$"c$T,7t-rncS45dqDO:H1p!+&0$R`sWrL`toL94K#$g9T">3?2/HW4+"0i/G_(gAZumokPDYLROhLkLt'+*7LEjR-*fGtLt?A\%!L?"\!S^O8lh3\>$I!:mSqETlEJkQ<mr1t/^_p,1H*7i=NIbSp'fKu%q`)N>^%P$Fr58pJ.`80HpA"R+9Xb7)[&6Q5mVWN2@+I+K+RB'Ckb1,!JVSG*JP#T*P`d#3t.Tp2Hp@cA(LL!$ig8-zzzzzzzzzz!!%!5Gj`-*2Jq1?UEBF_*5:X3+8tDY54kOic8k'hZd1hiICAT,h^:VXM2NtnD:l($X\TT1!;:("mbPWr2E-oEl)V#%j;VI@0_fXkfB[UlcTLgCZd(VTF3Zdp^]3=1?51!7Zfdt\d0i0YiT0(\>+[PM!%_O@cCGJ.nA$]+nVaT#rTfTlII9b&pr/.Erp48]o<F@Ims4s1cTV$Xc[=k2QX"jiV3cW)94,4dHL^g+?iLB<q(&VX@]`EG!!$X,UFbU"H'6LGrq*,FV]crGoD(TJU%:JC_%3,cp=X!%2_Kr`rce>@r9TjoI.*Q>q!OQb9tfN=_XX*@_=sW2`l?$LqBl7C!*YmWp!cpjCA%GhY5>EG0)JU-r*e;ApQ-5Ac[4O?mWZF89RPb#+#s;uJ1-;i84sn>^Ad9e=%^5L4F,CIHV5].X%@`lFRK[UGmJQnJ2Pkl4]Ao[^)M"#@K$&qfDapdl`[pLio`Q+cF:Q:nJAoYINWUt\`\4os8J(-lslB3lW_e[fA0FXDVh[qZuO9;[sn8d\"#4%O%Gnl,(9#a3`.\M\fSZt!3cYA7G5+dRj:Rl?$=mK58af8oZ=:borEr<IeTa)q+9kOX00,+b"KJ=NR*TCI.jn=rUQ;iFN'M0r0<MYp!u3B\ad8#IWb;m=9!+8<BpM3hQB%M;X`4h]lLJ`d=Qcc$2-.eli7"je'=LGe*1X3(Q#ff^$gC4^]*O:ms<SgB:\k4pURsZr#hub5B5Y9TDA,W^@:suprZ[PI-IJoII#WhIfBXSrA'YJl^EkuGf,s8J,2Osk<I+$IWj2DIe1Kr3L]4Jm;\aih/_krqon=mQ;,u'MdQbi31-:ameQ'*0)P+UO!_$DmT8#s2"Ab)rqee7NC4s4ombKSo:CG\i5,jhTDHdp,@C6"2o#@fbkKGoJ,MU@ngC@T9tRmKq2UrN[p6QEk$MJbrQS&4(-,QmD]t0Op2,6nH)R!0WS<HfFT$Ouli7"je*c&(mk8PQe[OC[m>ip1B1$G"QFlRtX#P+l[A2XT?MIH-hg$:NIdFu0qTA[or8dK7A5?5bCX!Ws1>fM4/U,ut9/6H2oh+<(dRTb8^Jh6SVf"LtSU@h+H'3L2Z*\Cu#X*>2J2OS.:NsHnQ`6N5r@VT++D(Q>pg;qRrHDTEQ&tI0TeD,WqS[5hfQ[@2e_1>p"%TC&p:KOcSQk!cq9H$ahY9%Yh`q,1CTWZRFf)bC(#:Unb#,Od?I=,d#^-2uK5Jr@)t\\V3r2Fr\89l?YPH=6hKFqRdm(A7FS51==6jd(+1CQ`n8Hg3:@=.(dU7RFjR#02IX'(XC!5R3^>Igj7^p3/+%Pe3:CD>DZ!W8e$in)Z[\pfIqYF8erRYCOhf-Hhi\<9OGPq-[^N[-dJr>-NX`ph,s/Z!pTKXRdX#\^c:KJWaQ+HW*ofhu*&%m,0m6@XhGi'Op.rVuW2YlbsoL`F/4=.g=*[^QrA'<<t&aTJt#MG[bIlI$PMu9/hIsg-<rmCZt];4&Z^OJcM-_Ip4dpK_%ls02o?M/LC[Gg#Tr=!iGg\*d@;]gChHN3NIWc,TJp,d3)q:</qak^rXrf?ft<:"rj+#UarKU9,LeESPB?%4ba*<>"?gU$3AUtFOJs2cp23doTh*_!Y*h(`s+0>IDgnZlM\?_GOXOAo:'p$Srq97?/ZlAg?o+*rom^M2;PcLP7b'fXogf7lBT](O@H8?d"emG!$\T$=I+^A$]T2P6pc3Ek6Rg*E@,!s!;EmFh/sqV[4qNjl"&5@8j8/*\qJ<hK?\/Q1RIZ,HM"7I$'Y<Ia`L[JB'8O.<++5-"$iWO;an&pniQ\`pT"b2'gq+8TMhnsmbhFK(bSHT,1&D)&*c*kf%)e@lR_`c&F(K;S\L#90et+0q&u>^bV4lI.suVs[OY4Au%C%AVh[JM_AOqUC"V<%$A5GK77/j!3iLIogE(:`hA?<N`pt2g`%6L"\B*Q%+1opca!Obe9m%A^eAQ8+""eke6`;[L@a.!8ueiZg/KO]2NQOW61lMlP`d&WTpY.qsI4<rV3s2Hr6.nWW)=5os#%BoWXuPqL5jOG'2OgUgdCHr3qG?s+5\O9\o?jIA]5*I#kjA9D*X*H](D-FQ_%umkU#q0E6b2q\9B[!.]]8c`X1r#@FYup+]SHDmbj2V[BH0Z$>"V8&,!iC#X4!'-C6s4^3?Qp!U:XW&pMam;M`94^Phj'h[#iA'6Ms9s/;XjTDuA>i']PM/cFiP<=?ZNhc=/O.OW=UR"Y+??=Ehc3[fs`Keb6s836X4?'s#f383a!!%eh4j$_#2O`-tldWs=WQGP?R9uu]M%*ABdVjU'f?']^]6C=1s0#U1[s'@/YPO]9pRf*:nh8ONH1s\pgqMnHg'2KSqXNm$Z_=cu:cFj:hJ%<#2Uh(uN`BsTn)!PkIDo^brQY5Z^3RPCf:Fk-l0Zf84RMsVroK2"T=&2-V]JH;qT+XtaERZsrP8*nLPsJAHJ]*+e>Cs%[Jj_;!#uLB-r9<Da/!T:>(+2`53u8kqi(C4=0DSbf=q%ADuK7LpT$AXFmFm2/$ITHn#Q/!IC2+MVY;ob2XRKXD<mLi\(u/LD)Ydf]Da,qm!"kp2]T6kQK*2HqPrA\s7MtCDq_o#4aSO%<Zc^E3dKEeGJ<&+C];'=hmUtbhE:W,IqX6,Faq!njCc5?Icb\BT4002*IlW-oUk#imH@aR1&q:a#CCVWZgVec*`k9BVqunQNV>s#IEbPO*rbLP=,jp_XccZ`Zb?+(]]WVg_k^MD#7^C95;`2Oh7$ta^@fMDbo<8-k]uE9oBs6IYiia,pH85-l"q54589]<i4Klo&`anVf`"+jk&5<F^>l.>f0,DubNFA'6773*F8p;tqo:'KRsJ@erMf0's'kHa-g#o,q-*eR!!!K:m>ZJ]1%!_o%=N,g,G+0fJ+g4e]?_":H2O03=+09XqFT,[VWj9;ICu&Wa1\A7#N&R_DS,YPGMHE8mEXGnc^$f"kI..0hY$0u/T99?q>7k[^!dLA[<^d[*_Lj*o#g]F^P_pK%=c.!B\@fpq8N9:SK#dOfDa=MNGk9>nGf)pohEcoriU\*X7tCo_JR'`c<C6#!!!K:J(d-m4nT&:GC';b8O'c`S_fG*a-C$3#PuDHoTMeBl&FLif,o>\Hs;#'II$$TpYU>D`o>!]l)^4h28,)5B%QE?mCq&VkMEu-o>p$Sh\Osdh<27QrJ;?ZF/_7X]Q`+7p=A*tde<9=h"8G.>p&:c.88iocfP/"IJr'119]F1l]^au^;&76$NP^p_D</)hJJ_'p3Vft[iRL-c$t$=#=%gnYPgW_f!!>qIJ91RlbU;h:;9ah>1rbT8*c4">b.rsmbN-^VWTkJ8[(u^a!s"gVee>1f57BJPr&+sHKe)qnFX/Mm+j;\gWo25pc\KqqmcL`IjpSRlP.Y0gr;LliQ]^)oS.".FilN?qb#rd-f$ERBWZb#!!%e.B/],*>;>kcGG14.Y8h]H-2+[j\L?uZqH5*?Z(lY?]C)APRb\pDT.[flDu&&M.bAq+G7R_4Dr19DD%AhcflHfYD+?g[5&'2`NnJ^6YtF`B?+1jSdXrY!=9!l`_nWDS^4"bn]s$k\pK2+dPM]9HKViYa\#EThnpKktg=MtN])'t'>]nK?X'U)KFih&j>lXjE(.b\(;I,cb_1'ATh^#ifoH!K%kcL48A^b^E*]mXknYJr-W1/fE2k'G&q"DaO1ocaD*ij3p4PG%[jM1;aDlNd+[4hO=W#)Tsm_p-*<H=tmKg1(O_$g!Ts4"dZLM3^>ce\>/B]%kMq-r%Sr._[CQi#rYV:Yb+H[k_PBE-u5b>*NV-a,)`Y$()J"TZ?s?r(P?*B#MBMtWpqqi863qPO"u5Ofcap%u1dP`<`Nh"]#.mQ$<OVq(YkP?K_95PU7NoC:t<%lYSUq!gl?5J?%q+7t"mF8U0mIqF#cQcHJ932-;G=1iLSC%n1%h7NWLl=48qG9>N4aG9IPHD0'j_TocIkAPXpeF!8mFVFZEO"=(3CAH[Es74:T?^prG[ruTF-NE&HB3QtL`LUfCMZEf;<:+s#$hjRp6n3B/(""tSf6uW>?Wad]neEfp5$m&coZhfj)]c>p$jlVj&&.`2^O(P8]DOXffcM%Kq2^"ioDPLYR-.uA-SKpKokgmXd!<bY^;$V=Hh(Y_rp<YA5GrqS8+tLeh"tc0cblC/>rcQlQ?Q)BIacf;l[F'&)t*ao5AdslT=01>n)Ws:q,?2HZY'-=lgb#Dl2Q0Qq9J<WqKE#AE(K7plna]tp23&Dn^TS5a*lpU`Ac.EN#(P;n*UBAI8ilnD%iN=r?#56it'phmsffZb@dAk-40Bm^@jK=>^kI,?U+&k(SC?\(LHpU`@!SsI.\!<acD0OH0493I-K$3mFhL7h-3+PZi'eeh=@_(YMq$gs0qZYIr>8PFm\iLG1&lDs0EB1^Zm[Tku2f_FNV>P:Ft<!ZaKeg!!""%jp(]0e(u[sNIB'S"oIVtK;Y3G@)($`DDf+,1)6rqp\RJKP99i':Oi#SZd(W'*H-H)#<m+p`F&UJq3!]*r799AN?(7VP@H]SHcul`O+$QpA!L8YS%@^7h&B.]0"l:4mGBu9>dj%b:K>F5NV.\^mWI!JRH`.8G2@O;kN79^gr`@Qht#PSf(ScdWCSE9p/\QU!<?/0I^#$Yr-Me!,7X?"^:o*/iu[Ri9)&8PhgFCH*;=Aa?MqdG>]`j,?Q>*tc9(JZs"eu?f\#t[PGN1W4-q#em,dC'f^[;fkd[Ua+8<YKj-8nMce\5N(N2K\=5Gc^cX6%A7A%9fX&%Odg@`6al6C6'=+@F-#Z'&9h^Nk5GJ*8;%<$"=^pZ"a(U$$emb<2sf"W.(J4%caK)O]\dsnt*5!%khl^8iDo=a=839^'`aR+.lmsM%Vp$Z8ciYReCrFma(<@X:1fu2D[0DW*&Iid(Mbl$gONdpI%a%`CjI3D>ROD/'K_@++*'?;O^drbDFlD%]e+1jeoiSM'B?2NpMW5&ATT)(B,\%AO.cKB9Kd(]4W=qe)e+na!;GMKFR^Dd0'6dhS"D<e!D_>Z;1lj<4Ne>c*Soel&bGja1to$pNcp<0':IIb&BI/e[XG9>SXH,fr5.u=Ae]i?TQ=#Xtos-TZaE[Tg?g9#j0J_h6d$#S8pVC`hj2j>;hGVC,1-6Z(gGU[Rugs?rH0aTReGRPR*E!hs4V@WuaPE7aWR(Sq\Ee1k3P!+#%';kt"n@$"%qb`%5H[5%i8,.GGHd52L!kWL7q`D7TfXl@rrdA-bAaRgcaZah!iD+Zn,C.LM;dAhP\E7Y5D7djD[6<!,pVYb=@p;LsSe^"O2b*f&V:W?&<cj\Qlh::[]8Z'T?Ia0UWV-%i>)p:D486_Z%5654S(tSjUANHfTcP-QJ._$X7DAC1^m%(Q,q$><m(Z7sPaqO?PC$WjA4eb_qfr(N%BD\f@*q(),V;g7aN2HFb0%iO[bL1p7ufPKNap+iSbTeSi;,[(kb"hY)foZ`R'*![Rac%o>Gp$?IU:YcTm:9ElgEF%NT9>'`jP59[@`t/^GN4-@R556JtB":\ur\7;S=OF-fp36b27WMG5^LaN61Kda+ntW!!#J05nK>./mG+N[3O_.Rn(KmS<`-Jp]mE:^RQuZRuf=JopV*U2f)/BIJEfaQ$a4ZA]pD<qtB+m4F#rViI;k2RdY>6'R]jR@H#lqB?m,&E]WeVs(p<E;V,ehZZ,e6g8t87BCfFipnsb?fJ2L]8#faA;X(:G8q-@ul0N%Uk[uE4:N+J,G#p<^WERmKmI-Mb59a0[g9et]QLTsh-NsH1j_Vc<TcP6TJ.\Zh\TrgIea,:&F8tb'r.U!r^UN:Qe@FIanVc2)5@)(PgmdoubaJ(c<NB0i.u:Q,Bj^6++t"an6oq<n:DFS6+^n\VjLKO*gImkc?bTcM>[1H9>#A-o=]n1Bb0"XI9<Pk^kOS69F$EmdR\m[0=VWcoDXUO.[uV8IN,.&cf=9k]D("!hmpA,Z]GWgg<QLWUZmWRrkCi[`PFBps']qLFhRu##K*20.Op$ES='t>h9&^X<=L_o+].6*JZc9L(AQ-U]"cH`[n](M&o4H::[<1Y2PA0(FbflUDlpHO<OXe&;TYQ!Llm7^j`9S^@mdp7sAEDq6Vu4Po)h*9:9himWRlB[!l^O?3>"-hciH0$E/1K;B5Da7%N+k?be,I[\Y/8h<(WP7B4LX!'^#S*f6$o,0)qUH;^4+gii7:IOBi@eKr<I%FW!<V/@,u$9BdkJ[aiQQ1P*29(]Ir6.D>M2hR58Kg[;b*!7>l2lV%VUHQZl];dYj!?89%s^m2DtJrI06=F`i\<>,!PkC27U'f$sp*JQoU$#stl+W3C!D._%3n'^[Ka@`:JbGB0NE!nh]WmbYG5mX&Ht:WEW[j+[I%9pt%r/JBY`?MH9=M;/J<<E0M$n,NHI@)67?il-g6Rr/-#%>u#U:0P@o2)Y'Lji\Gm>Ti]bEH1OAldmX;.r/p886e)32Nhf[&-VPWH/2;(:DO/OaD8(LfnN`kMU.p/ZUWKM.B[NGWca)soh/;sI8%\dR*NRYH^Ea\Qc-A*NXn`hM2ZB-1Vo[\lL%G(Y$SeB='+#)ei)$Q!WXnmLna+:nt/!fY.VE[TqOcoB+k*dc-<AmXX%`Ogptld].5+Ea[389[]kdPNZ7(kR7jD!?2FJa[ArN!8]@`;WqbeSY.U_sQXY<ENU++rs)3+/p[S%,^JE[smd1Z8:6OoEBlg5.!<?MLlA3g?g"GgPSHJ,>0,>;a(%*lUO6##r43]iGY5UP;bM2]ikMV7-B-t'W)Ll/\m(C6Hj;-\RH[YqpnDDaDdR)C]m$Y`-;od"n^ef4[zzzzzzzzzzzzzzz!!!#WHgLe57*"8*%/&d#TF^VNZ3LB(i-)_fqK!(l#D*s=8dKSWD@l.7;*qM)E._O'L_>:[L)U7W5a2HhliA''<c]%K(pQ?$FU8#":\W<L>WRbK#6qMmHq(e+N8EoInco"-QK$`[!#sT"]Zi[f>1%+p(mB/o[_<Ohli9n/MI9Md=`ZQQ7ROCqH?Tt7<iq,9>u,c5:D3#gS#9ETUOp1'XVgR)"lstGJfPtKK+<&6B1_8CN6*Z)(WaG\1GcDSUZ@TabgJtA.(XY\i=.i.@qgfX=D]Cu<m*6TB69:ZIJd7]dN/eBdLo#bZqL-!U;oe\H9Fo8BL?>&#+Xp=7bWmOo1UR/7BatO1%O`PDtQY*q^a;#drVmNdR@\rhd@i#m@8p=plnf^L1+bQU9u>E:SQ0Qe:q-afLVXO_+lTg3gu1W:1!J=DG4^W_.@0!V3#0Z2W)Dh7]c8HW7[rAE&8j]L#jmahkdSe%0iAh,Nm#/jCP)'JfPt+K+E-r;t/O`Tl;"pfJREG?)g?rG-+rMjJh&[<OL*/p%YqHPG^F!EaKAs)JCJR/!=;<e83&cOO>G\#A]XccYqELe5Ans*YZGg/!h<nD'D+fiTmg(C0J=mM;L=ghI$k=/>Q`6\jb"^enWIPq2k$,XS9o)#"iZpO&&5qd5qDMYWLYV*R-$g':_\pV+p;GK6.;.C@Zi.N**+`]BDt%.%PCCJBLJ^H=oJ].uhiW1i$[EL_&dRA>DMq"%;CQJmF744[nldf`nD-jm\GnMj!C6WU;[kd`]\6Q'S@+1_W2*>b*)^=7"h8Kbdtjn@m$aP0tTpBi5.*m&d\ljB-kUg8+0W]7uR'ekeL\qE5=XeXUO<3D.P`I<%%qT6r:)lsqL7UN_Heeo0/=C5UIZbr2IY&3@E.;_\fjq/ER]h/n@_8VWLP>*-`Rgk9d0O.NX!%1qk+;0pAm=6aHkB23*W_9U2GEL.A:ktF(h3U>^WrK1ll-+(c-N]/[(&40;MAmaF:oaQ)-P+c9EQme<p(6tj9K;Y>LfCUjN0=ZrL`>L6cLWe_#n.]C+7\79BW6Z7k8[)u4ZcbXhJp0Cl,iEgu/a5AfWbgqN,TPY=[JAn"c92I,hUeM:JfPt+:EAfM,_qMJb$6sZV:&Yk)o8)jW2]!4?+M9-:qSpd+Sr0C9kZ$=iF&#@*>i?/,XBdUR>Pu'-k30(j[g-MhSMP/%joq#b0m'm=0>p`EgegF^3&n>85tAA@\hk9kL]qSM0?QW5cT,N*L\dHL.Ag7Oj;&(m_@$9g5)^F'1;"/VIH?J'a-Su$pkZE0#]NdE$a..NgY"u78YnB2]5aFb$^RiZfkQ?*)2,.<;'\(9:^*kQ%u9=T'&GtM@mL%KDY^IlAt&C_p^!9fXq')"&"b'=dIMUG\O$Z#X?n!GbEggXVa(PFjf)tQ"S39)<iS_])9fEEkNV45fVk6l`\S&g2iU,+.h0piJ4=WM`]9EbRs1A0G+/6&e$])G(:tafO;9UYQI9"_%+?lJfPt+#^.&&&F9Bo6En@HK4"q?&qV-Y)i)>i#(YnGp#d.lzzzzzz7]l[jBCsSq~>endstream
|
344 |
+
endobj
|
345 |
+
101 0 obj
|
346 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 478.3543 0 ] /Rect [ 62.69291 514.6443 207.2029 526.6443 ] /Subtype /Link /Type /Annot >>
|
347 |
+
endobj
|
348 |
+
102 0 obj
|
349 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 644.3543 0 ] /Rect [ 466.1929 484.6443 512.3229 496.6443 ] /Subtype /Link /Type /Annot >>
|
350 |
+
endobj
|
351 |
+
103 0 obj
|
352 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 95 0 R /XYZ 62.69291 644.3543 0 ] /Rect [ 62.69291 472.6443 165.5229 484.6443 ] /Subtype /Link /Type /Annot >>
|
353 |
+
endobj
|
354 |
+
104 0 obj
|
355 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 87 0 R /XYZ 62.69291 478.3543 0 ] /Rect [ 106.6029 448.6443 251.1129 460.6443 ] /Subtype /Link /Type /Annot >>
|
356 |
+
endobj
|
357 |
+
105 0 obj
|
358 |
+
<< /Annots [ 101 0 R 102 0 R 103 0 R 104 0 R ] /Contents 159 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R /FormXob.e9f70d609af1b5cdcc78abc6babd0c6a 100 0 R >> >> /Rotate 0
|
359 |
+
/Trans << >> /Type /Page >>
|
360 |
+
endobj
|
361 |
+
106 0 obj
|
362 |
+
<< /Border [ 0 0 0 ] /Contents () /Dest [ 78 0 R /XYZ 62.69291 699.3543 0 ] /Rect [ 222.4229 682.1043 273.0029 694.1043 ] /Subtype /Link /Type /Annot >>
|
363 |
+
endobj
|
364 |
+
107 0 obj
|
365 |
+
<< /Annots [ 106 0 R ] /Contents 160 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0
|
366 |
+
/Trans << >> /Type /Page >>
|
367 |
+
endobj
|
368 |
+
108 0 obj
|
369 |
+
<< /A << /S /URI /Type /Action /URI (http://dhl.support.netresearch.de/) >> /Border [ 0 0 0 ] /Rect [ 162.7229 709.1043 309.4729 721.1043 ] /Subtype /Link /Type /Annot >>
|
370 |
+
endobj
|
371 |
+
109 0 obj
|
372 |
+
<< /A << /S /URI /Type /Action /URI (mailto:dhl.support@netresearch.de) >> /Border [ 0 0 0 ] /Rect [ 149.3929 679.1043 278.4929 691.1043 ] /Subtype /Link /Type /Annot >>
|
373 |
+
endobj
|
374 |
+
110 0 obj
|
375 |
+
<< /Annots [ 108 0 R 109 0 R ] /Contents 161 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 146 0 R /Resources << /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /FormXob.429409b2a0f82e3a88790dc2dcaf4999 5 0 R >> >> /Rotate 0
|
376 |
+
/Trans << >> /Type /Page >>
|
377 |
+
endobj
|
378 |
+
111 0 obj
|
379 |
+
<< /Outlines 113 0 R /PageLabels 162 0 R /PageMode /UseNone /Pages 146 0 R /Type /Catalog >>
|
380 |
+
endobj
|
381 |
+
112 0 obj
|
382 |
+
<< /Author () /CreationDate (D:20161202175321-01'00') /Creator (\(unspecified\)) /Keywords () /Producer (ReportLab PDF Library - www.reportlab.com) /Subject (\(unspecified\))
|
383 |
+
/Title (DHL Versenden: Paketversand f\374r DHL Gesch\344ftskunden) >>
|
384 |
+
endobj
|
385 |
+
113 0 obj
|
386 |
+
<< /Count 39 /First 114 0 R /Last 145 0 R /Type /Outlines >>
|
387 |
+
endobj
|
388 |
+
114 0 obj
|
389 |
+
<< /Count 2 /Dest [ 72 0 R /XYZ 62.69291 759.3543 0 ] /First 115 0 R /Last 116 0 R /Next 117 0 R /Parent 113 0 R
|
390 |
+
/Title (\376\377\0001\000\240\000\240\000\240\000V\000o\000r\000a\000u\000s\000s\000e\000t\000z\000u\000n\000g\000e\000n) >>
|
391 |
+
endobj
|
392 |
+
115 0 obj
|
393 |
+
<< /Dest [ 72 0 R /XYZ 62.69291 708.3543 0 ] /Next 116 0 R /Parent 114 0 R /Title (\376\377\0001\000.\0001\000\240\000\240\000\240\000M\000a\000g\000e\000n\000t\000o\000\256) >>
|
394 |
+
endobj
|
395 |
+
116 0 obj
|
396 |
+
<< /Dest [ 72 0 R /XYZ 62.69291 602.3543 0 ] /Parent 114 0 R /Prev 115 0 R /Title (\376\377\0001\000.\0002\000\240\000\240\000\240\000P\000H\000P) >>
|
397 |
+
endobj
|
398 |
+
117 0 obj
|
399 |
+
<< /Count 2 /Dest [ 75 0 R /XYZ 62.69291 759.3543 0 ] /First 118 0 R /Last 119 0 R /Next 120 0 R /Parent 113 0 R
|
400 |
+
/Prev 114 0 R /Title (\376\377\0002\000\240\000\240\000\240\000H\000i\000n\000w\000e\000i\000s\000e\000 \000z\000u\000r\000 \000V\000e\000r\000w\000e\000n\000d\000u\000n\000g\000 \000d\000e\000s\000 \000M\000o\000d\000u\000l\000s) >>
|
401 |
+
endobj
|
402 |
+
118 0 obj
|
403 |
+
<< /Dest [ 75 0 R /XYZ 62.69291 726.3543 0 ] /Next 119 0 R /Parent 117 0 R /Title (\376\377\0002\000.\0001\000\240\000\240\000\240\000V\000e\000r\000s\000a\000n\000d\000u\000r\000s\000p\000r\000u\000n\000g\000 \000u\000n\000d\000 \000W\000\344\000h\000r\000u\000n\000g) >>
|
404 |
+
endobj
|
405 |
+
119 0 obj
|
406 |
+
<< /Dest [ 75 0 R /XYZ 62.69291 624.3543 0 ] /Parent 117 0 R /Prev 118 0 R /Title (\376\377\0002\000.\0002\000\240\000\240\000\240\000S\000p\000r\000a\000c\000h\000u\000n\000t\000e\000r\000s\000t\000\374\000t\000z\000u\000n\000g) >>
|
407 |
+
endobj
|
408 |
+
120 0 obj
|
409 |
+
<< /Count 10 /Dest [ 78 0 R /XYZ 62.69291 759.3543 0 ] /First 121 0 R /Last 122 0 R /Next 131 0 R /Parent 113 0 R
|
410 |
+
/Prev 117 0 R /Title (\376\377\0003\000\240\000\240\000\240\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n\000 \000u\000n\000d\000 \000K\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n) >>
|
411 |
+
endobj
|
412 |
+
121 0 obj
|
413 |
+
<< /Dest [ 78 0 R /XYZ 62.69291 696.3543 0 ] /Next 122 0 R /Parent 120 0 R /Title (\376\377\0003\000.\0001\000\240\000\240\000\240\000I\000n\000s\000t\000a\000l\000l\000a\000t\000i\000o\000n) >>
|
414 |
+
endobj
|
415 |
+
122 0 obj
|
416 |
+
<< /Count 8 /Dest [ 78 0 R /XYZ 62.69291 538.3543 0 ] /First 123 0 R /Last 130 0 R /Parent 120 0 R /Prev 121 0 R
|
417 |
+
/Title (\376\377\0003\000.\0002\000\240\000\240\000\240\000M\000o\000d\000u\000l\000k\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n) >>
|
418 |
+
endobj
|
419 |
+
123 0 obj
|
420 |
+
<< /Dest [ 79 0 R /XYZ 62.69291 759.3543 0 ] /Next 124 0 R /Parent 122 0 R /Title (\376\377\0003\000.\0002\000.\0001\000\240\000\240\000\240\000A\000l\000l\000g\000e\000m\000e\000i\000n\000e\000 \000E\000i\000n\000s\000t\000e\000l\000l\000u\000n\000g\000e\000n) >>
|
421 |
+
endobj
|
422 |
+
124 0 obj
|
423 |
+
<< /Dest [ 79 0 R /XYZ 62.69291 477.3543 0 ] /Next 125 0 R /Parent 122 0 R /Prev 123 0 R /Title (\376\377\0003\000.\0002\000.\0002\000\240\000\240\000\240\000S\000t\000a\000m\000m\000d\000a\000t\000e\000n) >>
|
424 |
+
endobj
|
425 |
+
125 0 obj
|
426 |
+
<< /Dest [ 79 0 R /XYZ 62.69291 408.3543 0 ] /Next 126 0 R /Parent 122 0 R /Prev 124 0 R /Title (\376\377\0003\000.\0002\000.\0003\000\240\000\240\000\240\000V\000e\000r\000s\000a\000n\000d\000a\000u\000f\000t\000r\000\344\000g\000e) >>
|
427 |
+
endobj
|
428 |
+
126 0 obj
|
429 |
+
<< /Dest [ 79 0 R /XYZ 62.69291 155.3543 0 ] /Next 127 0 R /Parent 122 0 R /Prev 125 0 R /Title (\376\377\0003\000.\0002\000.\0004\000\240\000\240\000\240\000D\000H\000L\000 \000Z\000u\000s\000a\000t\000z\000l\000e\000i\000s\000t\000u\000n\000g\000e\000n\000 \000i\000m\000 \000C\000h\000e\000c\000k\000o\000u\000t) >>
|
430 |
+
endobj
|
431 |
+
127 0 obj
|
432 |
+
<< /Dest [ 80 0 R /XYZ 62.69291 404.3543 0 ] /Next 128 0 R /Parent 122 0 R /Prev 126 0 R /Title (\376\377\0003\000.\0002\000.\0005\000\240\000\240\000\240\000A\000u\000t\000o\000m\000a\000t\000i\000s\000c\000h\000e\000 \000S\000e\000n\000d\000u\000n\000g\000s\000e\000r\000s\000t\000e\000l\000l\000u\000n\000g) >>
|
433 |
+
endobj
|
434 |
+
128 0 obj
|
435 |
+
<< /Dest [ 80 0 R /XYZ 62.69291 305.3543 0 ] /Next 129 0 R /Parent 122 0 R /Prev 127 0 R /Title (\376\377\0003\000.\0002\000.\0006\000\240\000\240\000\240\000K\000o\000n\000t\000a\000k\000t\000i\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000e\000n) >>
|
436 |
+
endobj
|
437 |
+
129 0 obj
|
438 |
+
<< /Dest [ 80 0 R /XYZ 62.69291 248.3543 0 ] /Next 130 0 R /Parent 122 0 R /Prev 128 0 R /Title (\376\377\0003\000.\0002\000.\0007\000\240\000\240\000\240\000B\000a\000n\000k\000v\000e\000r\000b\000i\000n\000d\000u\000n\000g) >>
|
439 |
+
endobj
|
440 |
+
130 0 obj
|
441 |
+
<< /Dest [ 80 0 R /XYZ 62.69291 179.3543 0 ] /Parent 122 0 R /Prev 129 0 R /Title (\376\377\0003\000.\0002\000.\0008\000\240\000\240\000\240\000R\000e\000t\000o\000u\000r\000e\000n\000b\000e\000i\000l\000e\000g\000e\000r) >>
|
442 |
+
endobj
|
443 |
+
131 0 obj
|
444 |
+
<< /Count 12 /Dest [ 83 0 R /XYZ 62.69291 759.3543 0 ] /First 132 0 R /Last 143 0 R /Next 144 0 R /Parent 113 0 R
|
445 |
+
/Prev 120 0 R /Title (\376\377\0004\000\240\000\240\000\240\000A\000b\000l\000a\000u\000f\000b\000e\000s\000c\000h\000r\000e\000i\000b\000u\000n\000g\000 \000u\000n\000d\000 \000F\000e\000a\000t\000u\000r\000e\000s) >>
|
446 |
+
endobj
|
447 |
+
132 0 obj
|
448 |
+
<< /Count 3 /Dest [ 83 0 R /XYZ 62.69291 726.3543 0 ] /First 133 0 R /Last 135 0 R /Next 136 0 R /Parent 131 0 R
|
449 |
+
/Title (\376\377\0004\000.\0001\000\240\000\240\000\240\000A\000n\000n\000a\000h\000m\000e\000 \000e\000i\000n\000e\000r\000 \000B\000e\000s\000t\000e\000l\000l\000u\000n\000g) >>
|
450 |
+
endobj
|
451 |
+
133 0 obj
|
452 |
+
<< /Dest [ 83 0 R /XYZ 62.69291 678.3543 0 ] /Next 134 0 R /Parent 132 0 R /Title (\376\377\0004\000.\0001\000.\0001\000\240\000\240\000\240\000C\000h\000e\000c\000k\000o\000u\000t) >>
|
453 |
+
endobj
|
454 |
+
134 0 obj
|
455 |
+
<< /Dest [ 87 0 R /XYZ 62.69291 759.3543 0 ] /Next 135 0 R /Parent 132 0 R /Prev 133 0 R /Title (\376\377\0004\000.\0001\000.\0002\000\240\000\240\000\240\000A\000d\000m\000i\000n\000 \000O\000r\000d\000e\000r) >>
|
456 |
+
endobj
|
457 |
+
135 0 obj
|
458 |
+
<< /Dest [ 87 0 R /XYZ 62.69291 690.3543 0 ] /Parent 132 0 R /Prev 134 0 R /Title (\376\377\0004\000.\0001\000.\0003\000\240\000\240\000\240\000D\000H\000L\000 \000L\000i\000e\000f\000e\000r\000a\000d\000r\000e\000s\000s\000e\000n\000 \000\(\000P\000a\000c\000k\000s\000t\000a\000t\000i\000o\000n\000e\000n\000,\000 \000P\000o\000s\000t\000f\000i\000l\000i\000a\000l\000e\000n\000,\000 \000P\000a\000k\000e\000t\000-\000S\000h\000o\000p\000s\000\)) >>
|
459 |
+
endobj
|
460 |
+
136 0 obj
|
461 |
+
<< /Count 3 /Dest [ 87 0 R /XYZ 62.69291 475.3543 0 ] /First 137 0 R /Last 139 0 R /Next 140 0 R /Parent 131 0 R
|
462 |
+
/Prev 132 0 R /Title (\376\377\0004\000.\0002\000\240\000\240\000\240\000E\000r\000s\000t\000e\000l\000l\000e\000n\000 \000e\000i\000n\000e\000s\000 \000V\000e\000r\000s\000a\000n\000d\000a\000u\000f\000t\000r\000a\000g\000s) >>
|
463 |
+
endobj
|
464 |
+
137 0 obj
|
465 |
+
<< /Dest [ 87 0 R /XYZ 62.69291 415.3543 0 ] /Next 138 0 R /Parent 136 0 R /Title (\376\377\0004\000.\0002\000.\0001\000\240\000\240\000\240\000N\000a\000t\000i\000o\000n\000a\000l\000e\000 \000S\000e\000n\000d\000u\000n\000g\000e\000n) >>
|
466 |
+
endobj
|
467 |
+
138 0 obj
|
468 |
+
<< /Dest [ 92 0 R /XYZ 62.69291 604.3543 0 ] /Next 139 0 R /Parent 136 0 R /Prev 137 0 R /Title (\376\377\0004\000.\0002\000.\0002\000\240\000\240\000\240\000I\000n\000t\000e\000r\000n\000a\000t\000i\000o\000n\000a\000l\000e\000 \000S\000e\000n\000d\000u\000n\000g\000e\000n) >>
|
469 |
+
endobj
|
470 |
+
139 0 obj
|
471 |
+
<< /Dest [ 92 0 R /XYZ 62.69291 517.3543 0 ] /Parent 136 0 R /Prev 138 0 R /Title (\376\377\0004\000.\0002\000.\0003\000\240\000\240\000\240\000S\000e\000r\000v\000i\000c\000e\000-\000A\000u\000s\000w\000a\000h\000l) >>
|
472 |
+
endobj
|
473 |
+
140 0 obj
|
474 |
+
<< /Dest [ 95 0 R /XYZ 62.69291 759.3543 0 ] /Next 141 0 R /Parent 131 0 R /Prev 136 0 R /Title (\376\377\0004\000.\0003\000\240\000\240\000\240\000D\000r\000u\000c\000k\000e\000n\000 \000e\000i\000n\000e\000s\000 \000P\000a\000k\000e\000t\000a\000u\000f\000k\000l\000e\000b\000e\000r\000s) >>
|
475 |
+
endobj
|
476 |
+
141 0 obj
|
477 |
+
<< /Dest [ 95 0 R /XYZ 62.69291 641.3543 0 ] /Next 142 0 R /Parent 131 0 R /Prev 140 0 R /Title (\376\377\0004\000.\0004\000\240\000\240\000\240\000S\000t\000o\000r\000n\000i\000e\000r\000e\000n\000 \000e\000i\000n\000e\000s\000 \000V\000e\000r\000s\000a\000n\000d\000a\000u\000f\000t\000r\000a\000g\000s) >>
|
478 |
+
endobj
|
479 |
+
142 0 obj
|
480 |
+
<< /Dest [ 95 0 R /XYZ 62.69291 379.6043 0 ] /Next 143 0 R /Parent 131 0 R /Prev 141 0 R /Title (\376\377\0004\000.\0005\000\240\000\240\000\240\000A\000u\000t\000o\000m\000a\000t\000i\000s\000c\000h\000e\000 \000S\000e\000n\000d\000u\000n\000g\000s\000e\000r\000s\000t\000e\000l\000l\000u\000n\000g) >>
|
481 |
+
endobj
|
482 |
+
143 0 obj
|
483 |
+
<< /Dest [ 99 0 R /XYZ 62.69291 723.3543 0 ] /Parent 131 0 R /Prev 142 0 R /Title (\376\377\0004\000.\0006\000\240\000\240\000\240\000F\000e\000h\000l\000e\000r\000b\000e\000h\000a\000n\000d\000l\000u\000n\000g) >>
|
484 |
+
endobj
|
485 |
+
144 0 obj
|
486 |
+
<< /Dest [ 107 0 R /XYZ 62.69291 759.3543 0 ] /Next 145 0 R /Parent 113 0 R /Prev 131 0 R /Title (\376\377\0005\000\240\000\240\000\240\000M\000o\000d\000u\000l\000 \000d\000e\000i\000n\000s\000t\000a\000l\000l\000i\000e\000r\000e\000n\000 \000o\000d\000e\000r\000 \000d\000e\000a\000k\000t\000i\000v\000i\000e\000r\000e\000n) >>
|
487 |
+
endobj
|
488 |
+
145 0 obj
|
489 |
+
<< /Dest [ 110 0 R /XYZ 62.69291 759.3543 0 ] /Parent 113 0 R /Prev 144 0 R /Title (\376\377\0006\000\240\000\240\000\240\000T\000e\000c\000h\000n\000i\000s\000c\000h\000e\000r\000 \000S\000u\000p\000p\000o\000r\000t) >>
|
490 |
+
endobj
|
491 |
+
146 0 obj
|
492 |
+
<< /Count 15 /Kids [ 6 0 R 71 0 R 72 0 R 75 0 R 78 0 R 79 0 R 80 0 R 83 0 R 87 0 R 92 0 R
|
493 |
+
95 0 R 99 0 R 105 0 R 107 0 R 110 0 R ] /Type /Pages >>
|
494 |
+
endobj
|
495 |
+
147 0 obj
|
496 |
+
<< /Length 1234 >>
|
497 |
+
stream
|
498 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
499 |
+
q
|
500 |
+
1 0 0 1 62.69291 711.3543 cm
|
501 |
+
q
|
502 |
+
0 0 0 rg
|
503 |
+
BT 1 0 0 1 0 28 Tm /F2 20 Tf 24 TL 49.90488 0 Td (DHL Versenden: Paketversand f\374r DHL) Tj T* 101.13 0 Td (Gesch\344ftskunden) Tj T* -151.0349 0 Td ET
|
504 |
+
Q
|
505 |
+
Q
|
506 |
+
q
|
507 |
+
1 0 0 1 62.69291 653.3543 cm
|
508 |
+
q
|
509 |
+
BT 1 0 0 1 0 38 Tm 12 TL /F1 10 Tf 0 0 0 rg (Das Modul ) Tj /F3 10 Tf (DHL Versenden ) Tj /F1 10 Tf (f\374r Magento\256 erm\366glicht es H\344ndlern mit einem DHL Gesch\344ftskundenkonto,) Tj T* (Sendungen \374ber die DHL Gesch\344ftskundenversand API anzulegen und Versandscheine \(Paketaufkleber\)) Tj T* (abzurufen. Die Extension erm\366glicht dabei auch das Hinzubuchen von Zusatzleistungen sowie den Abruf) Tj T* (von Exportdokumenten f\374r den internationalen Versand.) Tj T* ET
|
510 |
+
Q
|
511 |
+
Q
|
512 |
+
q
|
513 |
+
1 0 0 1 62.69291 653.3543 cm
|
514 |
+
Q
|
515 |
+
q
|
516 |
+
1 0 0 1 411.0236 779.5276 cm
|
517 |
+
q
|
518 |
+
127.5591 0 0 34.01575 0 0 cm
|
519 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
520 |
+
Q
|
521 |
+
Q
|
522 |
+
q
|
523 |
+
1 0 0 1 56.69291 56.69291 cm
|
524 |
+
0 0 0 rg
|
525 |
+
BT /F1 10 Tf 12 TL ET
|
526 |
+
q
|
527 |
+
1 0 0 1 6 3 cm
|
528 |
+
q
|
529 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
530 |
+
Q
|
531 |
+
Q
|
532 |
+
q
|
533 |
+
1 0 0 1 246.9449 3 cm
|
534 |
+
q
|
535 |
+
0 0 0 rg
|
536 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (1/15) Tj T* -209.4849 0 Td ET
|
537 |
+
Q
|
538 |
+
Q
|
539 |
+
q
|
540 |
+
Q
|
541 |
+
Q
|
542 |
+
|
543 |
+
endstream
|
544 |
+
endobj
|
545 |
+
148 0 obj
|
546 |
+
<< /Length 9084 >>
|
547 |
+
stream
|
548 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
549 |
+
q
|
550 |
+
1 0 0 1 62.69291 738.3543 cm
|
551 |
+
q
|
552 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Endbenutzer-Dokumentation) Tj T* ET
|
553 |
+
Q
|
554 |
+
Q
|
555 |
+
q
|
556 |
+
1 0 0 1 62.69291 156.3543 cm
|
557 |
+
0 0 0 rg
|
558 |
+
BT /F1 10 Tf 12 TL ET
|
559 |
+
q
|
560 |
+
1 0 0 1 0 561 cm
|
561 |
+
q
|
562 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (1 Voraussetzungen) Tj T* ET
|
563 |
+
Q
|
564 |
+
Q
|
565 |
+
q
|
566 |
+
1 0 0 1 397.8898 561 cm
|
567 |
+
q
|
568 |
+
0 0 .501961 rg
|
569 |
+
0 0 .501961 RG
|
570 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (3) Tj T* -66.44 0 Td ET
|
571 |
+
Q
|
572 |
+
Q
|
573 |
+
q
|
574 |
+
1 0 0 1 0 543 cm
|
575 |
+
q
|
576 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (1.1 Magento\256) Tj T* ET
|
577 |
+
Q
|
578 |
+
Q
|
579 |
+
q
|
580 |
+
1 0 0 1 397.8898 543 cm
|
581 |
+
q
|
582 |
+
0 0 .501961 rg
|
583 |
+
0 0 .501961 RG
|
584 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (3) Tj T* -66.44 0 Td ET
|
585 |
+
Q
|
586 |
+
Q
|
587 |
+
q
|
588 |
+
1 0 0 1 0 525 cm
|
589 |
+
q
|
590 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (1.2 PHP) Tj T* ET
|
591 |
+
Q
|
592 |
+
Q
|
593 |
+
q
|
594 |
+
1 0 0 1 397.8898 525 cm
|
595 |
+
q
|
596 |
+
0 0 .501961 rg
|
597 |
+
0 0 .501961 RG
|
598 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (3) Tj T* -66.44 0 Td ET
|
599 |
+
Q
|
600 |
+
Q
|
601 |
+
q
|
602 |
+
1 0 0 1 0 507 cm
|
603 |
+
q
|
604 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (2 Hinweise zur Verwendung des Moduls) Tj T* ET
|
605 |
+
Q
|
606 |
+
Q
|
607 |
+
q
|
608 |
+
1 0 0 1 397.8898 507 cm
|
609 |
+
q
|
610 |
+
0 0 .501961 rg
|
611 |
+
0 0 .501961 RG
|
612 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (4) Tj T* -66.44 0 Td ET
|
613 |
+
Q
|
614 |
+
Q
|
615 |
+
q
|
616 |
+
1 0 0 1 0 489 cm
|
617 |
+
q
|
618 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (2.1 Versandursprung und W\344hrung) Tj T* ET
|
619 |
+
Q
|
620 |
+
Q
|
621 |
+
q
|
622 |
+
1 0 0 1 397.8898 489 cm
|
623 |
+
q
|
624 |
+
0 0 .501961 rg
|
625 |
+
0 0 .501961 RG
|
626 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (4) Tj T* -66.44 0 Td ET
|
627 |
+
Q
|
628 |
+
Q
|
629 |
+
q
|
630 |
+
1 0 0 1 0 471 cm
|
631 |
+
q
|
632 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (2.2 Sprachunterst\374tzung) Tj T* ET
|
633 |
+
Q
|
634 |
+
Q
|
635 |
+
q
|
636 |
+
1 0 0 1 397.8898 471 cm
|
637 |
+
q
|
638 |
+
0 0 .501961 rg
|
639 |
+
0 0 .501961 RG
|
640 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (4) Tj T* -66.44 0 Td ET
|
641 |
+
Q
|
642 |
+
Q
|
643 |
+
q
|
644 |
+
1 0 0 1 0 453 cm
|
645 |
+
q
|
646 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (3 Installation und Konfiguration) Tj T* ET
|
647 |
+
Q
|
648 |
+
Q
|
649 |
+
q
|
650 |
+
1 0 0 1 397.8898 453 cm
|
651 |
+
q
|
652 |
+
0 0 .501961 rg
|
653 |
+
0 0 .501961 RG
|
654 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (5) Tj T* -66.44 0 Td ET
|
655 |
+
Q
|
656 |
+
Q
|
657 |
+
q
|
658 |
+
1 0 0 1 0 435 cm
|
659 |
+
q
|
660 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.1 Installation) Tj T* ET
|
661 |
+
Q
|
662 |
+
Q
|
663 |
+
q
|
664 |
+
1 0 0 1 397.8898 435 cm
|
665 |
+
q
|
666 |
+
0 0 .501961 rg
|
667 |
+
0 0 .501961 RG
|
668 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (5) Tj T* -66.44 0 Td ET
|
669 |
+
Q
|
670 |
+
Q
|
671 |
+
q
|
672 |
+
1 0 0 1 0 417 cm
|
673 |
+
q
|
674 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2 Modulkonfiguration) Tj T* ET
|
675 |
+
Q
|
676 |
+
Q
|
677 |
+
q
|
678 |
+
1 0 0 1 397.8898 417 cm
|
679 |
+
q
|
680 |
+
0 0 .501961 rg
|
681 |
+
0 0 .501961 RG
|
682 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (5) Tj T* -66.44 0 Td ET
|
683 |
+
Q
|
684 |
+
Q
|
685 |
+
q
|
686 |
+
1 0 0 1 0 399 cm
|
687 |
+
q
|
688 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.1 Allgemeine Einstellungen) Tj T* ET
|
689 |
+
Q
|
690 |
+
Q
|
691 |
+
q
|
692 |
+
1 0 0 1 397.8898 399 cm
|
693 |
+
q
|
694 |
+
0 0 .501961 rg
|
695 |
+
0 0 .501961 RG
|
696 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET
|
697 |
+
Q
|
698 |
+
Q
|
699 |
+
q
|
700 |
+
1 0 0 1 0 381 cm
|
701 |
+
q
|
702 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.2 Stammdaten) Tj T* ET
|
703 |
+
Q
|
704 |
+
Q
|
705 |
+
q
|
706 |
+
1 0 0 1 397.8898 381 cm
|
707 |
+
q
|
708 |
+
0 0 .501961 rg
|
709 |
+
0 0 .501961 RG
|
710 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET
|
711 |
+
Q
|
712 |
+
Q
|
713 |
+
q
|
714 |
+
1 0 0 1 0 363 cm
|
715 |
+
q
|
716 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.3 Versandauftr\344ge) Tj T* ET
|
717 |
+
Q
|
718 |
+
Q
|
719 |
+
q
|
720 |
+
1 0 0 1 397.8898 363 cm
|
721 |
+
q
|
722 |
+
0 0 .501961 rg
|
723 |
+
0 0 .501961 RG
|
724 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET
|
725 |
+
Q
|
726 |
+
Q
|
727 |
+
q
|
728 |
+
1 0 0 1 0 345 cm
|
729 |
+
q
|
730 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.4 DHL Zusatzleistungen im Checkout) Tj T* ET
|
731 |
+
Q
|
732 |
+
Q
|
733 |
+
q
|
734 |
+
1 0 0 1 397.8898 345 cm
|
735 |
+
q
|
736 |
+
0 0 .501961 rg
|
737 |
+
0 0 .501961 RG
|
738 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (6) Tj T* -66.44 0 Td ET
|
739 |
+
Q
|
740 |
+
Q
|
741 |
+
q
|
742 |
+
1 0 0 1 0 327 cm
|
743 |
+
q
|
744 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.5 Automatische Sendungserstellung) Tj T* ET
|
745 |
+
Q
|
746 |
+
Q
|
747 |
+
q
|
748 |
+
1 0 0 1 397.8898 327 cm
|
749 |
+
q
|
750 |
+
0 0 .501961 rg
|
751 |
+
0 0 .501961 RG
|
752 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET
|
753 |
+
Q
|
754 |
+
Q
|
755 |
+
q
|
756 |
+
1 0 0 1 0 309 cm
|
757 |
+
q
|
758 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.6 Kontaktinformationen) Tj T* ET
|
759 |
+
Q
|
760 |
+
Q
|
761 |
+
q
|
762 |
+
1 0 0 1 397.8898 309 cm
|
763 |
+
q
|
764 |
+
0 0 .501961 rg
|
765 |
+
0 0 .501961 RG
|
766 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET
|
767 |
+
Q
|
768 |
+
Q
|
769 |
+
q
|
770 |
+
1 0 0 1 0 291 cm
|
771 |
+
q
|
772 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.7 Bankverbindung) Tj T* ET
|
773 |
+
Q
|
774 |
+
Q
|
775 |
+
q
|
776 |
+
1 0 0 1 397.8898 291 cm
|
777 |
+
q
|
778 |
+
0 0 .501961 rg
|
779 |
+
0 0 .501961 RG
|
780 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET
|
781 |
+
Q
|
782 |
+
Q
|
783 |
+
q
|
784 |
+
1 0 0 1 0 273 cm
|
785 |
+
q
|
786 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (3.2.8 Retourenbeileger) Tj T* ET
|
787 |
+
Q
|
788 |
+
Q
|
789 |
+
q
|
790 |
+
1 0 0 1 397.8898 273 cm
|
791 |
+
q
|
792 |
+
0 0 .501961 rg
|
793 |
+
0 0 .501961 RG
|
794 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (7) Tj T* -66.44 0 Td ET
|
795 |
+
Q
|
796 |
+
Q
|
797 |
+
q
|
798 |
+
1 0 0 1 0 255 cm
|
799 |
+
q
|
800 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (4 Ablaufbeschreibung und Features) Tj T* ET
|
801 |
+
Q
|
802 |
+
Q
|
803 |
+
q
|
804 |
+
1 0 0 1 397.8898 255 cm
|
805 |
+
q
|
806 |
+
0 0 .501961 rg
|
807 |
+
0 0 .501961 RG
|
808 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET
|
809 |
+
Q
|
810 |
+
Q
|
811 |
+
q
|
812 |
+
1 0 0 1 0 237 cm
|
813 |
+
q
|
814 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.1 Annahme einer Bestellung) Tj T* ET
|
815 |
+
Q
|
816 |
+
Q
|
817 |
+
q
|
818 |
+
1 0 0 1 397.8898 237 cm
|
819 |
+
q
|
820 |
+
0 0 .501961 rg
|
821 |
+
0 0 .501961 RG
|
822 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET
|
823 |
+
Q
|
824 |
+
Q
|
825 |
+
q
|
826 |
+
1 0 0 1 0 219 cm
|
827 |
+
q
|
828 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.1.1 Checkout) Tj T* ET
|
829 |
+
Q
|
830 |
+
Q
|
831 |
+
q
|
832 |
+
1 0 0 1 397.8898 219 cm
|
833 |
+
q
|
834 |
+
0 0 .501961 rg
|
835 |
+
0 0 .501961 RG
|
836 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (8) Tj T* -66.44 0 Td ET
|
837 |
+
Q
|
838 |
+
Q
|
839 |
+
q
|
840 |
+
1 0 0 1 0 201 cm
|
841 |
+
q
|
842 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.1.2 Admin Order) Tj T* ET
|
843 |
+
Q
|
844 |
+
Q
|
845 |
+
q
|
846 |
+
1 0 0 1 397.8898 201 cm
|
847 |
+
q
|
848 |
+
0 0 .501961 rg
|
849 |
+
0 0 .501961 RG
|
850 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET
|
851 |
+
Q
|
852 |
+
Q
|
853 |
+
q
|
854 |
+
1 0 0 1 0 183 cm
|
855 |
+
q
|
856 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.1.3 DHL Lieferadressen \(Packstationen, Postfilialen, Paket-Shops\)) Tj T* ET
|
857 |
+
Q
|
858 |
+
Q
|
859 |
+
q
|
860 |
+
1 0 0 1 397.8898 183 cm
|
861 |
+
q
|
862 |
+
0 0 .501961 rg
|
863 |
+
0 0 .501961 RG
|
864 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET
|
865 |
+
Q
|
866 |
+
Q
|
867 |
+
q
|
868 |
+
1 0 0 1 0 165 cm
|
869 |
+
q
|
870 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.2 Erstellen eines Versandauftrags) Tj T* ET
|
871 |
+
Q
|
872 |
+
Q
|
873 |
+
q
|
874 |
+
1 0 0 1 397.8898 165 cm
|
875 |
+
q
|
876 |
+
0 0 .501961 rg
|
877 |
+
0 0 .501961 RG
|
878 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET
|
879 |
+
Q
|
880 |
+
Q
|
881 |
+
q
|
882 |
+
1 0 0 1 0 147 cm
|
883 |
+
q
|
884 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.2.1 Nationale Sendungen) Tj T* ET
|
885 |
+
Q
|
886 |
+
Q
|
887 |
+
q
|
888 |
+
1 0 0 1 397.8898 147 cm
|
889 |
+
q
|
890 |
+
0 0 .501961 rg
|
891 |
+
0 0 .501961 RG
|
892 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 66.44 0 Td (9) Tj T* -66.44 0 Td ET
|
893 |
+
Q
|
894 |
+
Q
|
895 |
+
q
|
896 |
+
1 0 0 1 0 129 cm
|
897 |
+
q
|
898 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.2.2 Internationale Sendungen) Tj T* ET
|
899 |
+
Q
|
900 |
+
Q
|
901 |
+
q
|
902 |
+
1 0 0 1 397.8898 129 cm
|
903 |
+
q
|
904 |
+
0 0 .501961 rg
|
905 |
+
0 0 .501961 RG
|
906 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (10) Tj T* -60.88 0 Td ET
|
907 |
+
Q
|
908 |
+
Q
|
909 |
+
q
|
910 |
+
1 0 0 1 0 111 cm
|
911 |
+
q
|
912 |
+
BT 1 0 0 1 40 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.2.3 Service-Auswahl) Tj T* ET
|
913 |
+
Q
|
914 |
+
Q
|
915 |
+
q
|
916 |
+
1 0 0 1 397.8898 111 cm
|
917 |
+
q
|
918 |
+
0 0 .501961 rg
|
919 |
+
0 0 .501961 RG
|
920 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (10) Tj T* -60.88 0 Td ET
|
921 |
+
Q
|
922 |
+
Q
|
923 |
+
q
|
924 |
+
1 0 0 1 0 93 cm
|
925 |
+
q
|
926 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.3 Drucken eines Paketaufklebers) Tj T* ET
|
927 |
+
Q
|
928 |
+
Q
|
929 |
+
q
|
930 |
+
1 0 0 1 397.8898 93 cm
|
931 |
+
q
|
932 |
+
0 0 .501961 rg
|
933 |
+
0 0 .501961 RG
|
934 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (11) Tj T* -60.88 0 Td ET
|
935 |
+
Q
|
936 |
+
Q
|
937 |
+
q
|
938 |
+
1 0 0 1 0 75 cm
|
939 |
+
q
|
940 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.4 Stornieren eines Versandauftrags) Tj T* ET
|
941 |
+
Q
|
942 |
+
Q
|
943 |
+
q
|
944 |
+
1 0 0 1 397.8898 75 cm
|
945 |
+
q
|
946 |
+
0 0 .501961 rg
|
947 |
+
0 0 .501961 RG
|
948 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (11) Tj T* -60.88 0 Td ET
|
949 |
+
Q
|
950 |
+
Q
|
951 |
+
q
|
952 |
+
1 0 0 1 0 57 cm
|
953 |
+
q
|
954 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.5 Automatische Sendungserstellung) Tj T* ET
|
955 |
+
Q
|
956 |
+
Q
|
957 |
+
q
|
958 |
+
1 0 0 1 397.8898 57 cm
|
959 |
+
q
|
960 |
+
0 0 .501961 rg
|
961 |
+
0 0 .501961 RG
|
962 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (11) Tj T* -60.88 0 Td ET
|
963 |
+
Q
|
964 |
+
Q
|
965 |
+
q
|
966 |
+
1 0 0 1 0 39 cm
|
967 |
+
q
|
968 |
+
BT 1 0 0 1 20 2 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (4.6 Fehlerbehandlung) Tj T* ET
|
969 |
+
Q
|
970 |
+
Q
|
971 |
+
q
|
972 |
+
1 0 0 1 397.8898 39 cm
|
973 |
+
q
|
974 |
+
0 0 .501961 rg
|
975 |
+
0 0 .501961 RG
|
976 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 60.88 0 Td (12) Tj T* -60.88 0 Td ET
|
977 |
+
Q
|
978 |
+
Q
|
979 |
+
q
|
980 |
+
1 0 0 1 0 21 cm
|
981 |
+
q
|
982 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (5 Modul deinstallieren oder deaktivieren) Tj T* ET
|
983 |
+
Q
|
984 |
+
Q
|
985 |
+
q
|
986 |
+
1 0 0 1 397.8898 21 cm
|
987 |
+
q
|
988 |
+
0 0 .501961 rg
|
989 |
+
0 0 .501961 RG
|
990 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 60.88 0 Td (14) Tj T* -60.88 0 Td ET
|
991 |
+
Q
|
992 |
+
Q
|
993 |
+
q
|
994 |
+
1 0 0 1 0 3 cm
|
995 |
+
q
|
996 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (6 Technischer Support) Tj T* ET
|
997 |
+
Q
|
998 |
+
Q
|
999 |
+
q
|
1000 |
+
1 0 0 1 397.8898 3 cm
|
1001 |
+
q
|
1002 |
+
0 0 .501961 rg
|
1003 |
+
0 0 .501961 RG
|
1004 |
+
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 60.88 0 Td (15) Tj T* -60.88 0 Td ET
|
1005 |
+
Q
|
1006 |
+
Q
|
1007 |
+
q
|
1008 |
+
Q
|
1009 |
+
Q
|
1010 |
+
q
|
1011 |
+
1 0 0 1 62.69291 156.3543 cm
|
1012 |
+
Q
|
1013 |
+
q
|
1014 |
+
1 0 0 1 411.0236 779.5276 cm
|
1015 |
+
q
|
1016 |
+
127.5591 0 0 34.01575 0 0 cm
|
1017 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
1018 |
+
Q
|
1019 |
+
Q
|
1020 |
+
q
|
1021 |
+
1 0 0 1 56.69291 56.69291 cm
|
1022 |
+
0 0 0 rg
|
1023 |
+
BT /F1 10 Tf 12 TL ET
|
1024 |
+
q
|
1025 |
+
1 0 0 1 6 3 cm
|
1026 |
+
q
|
1027 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
1028 |
+
Q
|
1029 |
+
Q
|
1030 |
+
q
|
1031 |
+
1 0 0 1 246.9449 3 cm
|
1032 |
+
q
|
1033 |
+
0 0 0 rg
|
1034 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (2/15) Tj T* -209.4849 0 Td ET
|
1035 |
+
Q
|
1036 |
+
Q
|
1037 |
+
q
|
1038 |
+
Q
|
1039 |
+
Q
|
1040 |
+
|
1041 |
+
endstream
|
1042 |
+
endobj
|
1043 |
+
149 0 obj
|
1044 |
+
<< /Length 3670 >>
|
1045 |
+
stream
|
1046 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
1047 |
+
q
|
1048 |
+
1 0 0 1 62.69291 738.3543 cm
|
1049 |
+
q
|
1050 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (1 Voraussetzungen) Tj T* ET
|
1051 |
+
Q
|
1052 |
+
Q
|
1053 |
+
q
|
1054 |
+
1 0 0 1 62.69291 720.3543 cm
|
1055 |
+
q
|
1056 |
+
0 0 0 rg
|
1057 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Die nachfolgenden Voraussetzungen m\374ssen f\374r den reibungslosen Betrieb des Moduls erf\374llt sein:) Tj T* ET
|
1058 |
+
Q
|
1059 |
+
Q
|
1060 |
+
q
|
1061 |
+
1 0 0 1 62.69291 690.3543 cm
|
1062 |
+
q
|
1063 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (1.1 Magento\256) Tj T* ET
|
1064 |
+
Q
|
1065 |
+
Q
|
1066 |
+
q
|
1067 |
+
1 0 0 1 62.69291 672.3543 cm
|
1068 |
+
q
|
1069 |
+
0 0 0 rg
|
1070 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Folgende Magento\256-Versionen werden vom Modul unterst\374tzt:) Tj T* ET
|
1071 |
+
Q
|
1072 |
+
Q
|
1073 |
+
q
|
1074 |
+
1 0 0 1 62.69291 666.3543 cm
|
1075 |
+
Q
|
1076 |
+
q
|
1077 |
+
1 0 0 1 62.69291 666.3543 cm
|
1078 |
+
Q
|
1079 |
+
q
|
1080 |
+
1 0 0 1 62.69291 654.3543 cm
|
1081 |
+
0 0 0 rg
|
1082 |
+
BT /F1 10 Tf 12 TL ET
|
1083 |
+
q
|
1084 |
+
1 0 0 1 6 -3 cm
|
1085 |
+
q
|
1086 |
+
0 0 0 rg
|
1087 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1088 |
+
Q
|
1089 |
+
Q
|
1090 |
+
q
|
1091 |
+
1 0 0 1 23 -3 cm
|
1092 |
+
q
|
1093 |
+
0 0 0 rg
|
1094 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Community Edition 1.9) Tj T* ET
|
1095 |
+
Q
|
1096 |
+
Q
|
1097 |
+
q
|
1098 |
+
Q
|
1099 |
+
Q
|
1100 |
+
q
|
1101 |
+
1 0 0 1 62.69291 648.3543 cm
|
1102 |
+
Q
|
1103 |
+
q
|
1104 |
+
1 0 0 1 62.69291 636.3543 cm
|
1105 |
+
0 0 0 rg
|
1106 |
+
BT /F1 10 Tf 12 TL ET
|
1107 |
+
q
|
1108 |
+
1 0 0 1 6 -3 cm
|
1109 |
+
q
|
1110 |
+
0 0 0 rg
|
1111 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1112 |
+
Q
|
1113 |
+
Q
|
1114 |
+
q
|
1115 |
+
1 0 0 1 23 -3 cm
|
1116 |
+
q
|
1117 |
+
0 0 0 rg
|
1118 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Community Edition 1.8) Tj T* ET
|
1119 |
+
Q
|
1120 |
+
Q
|
1121 |
+
q
|
1122 |
+
Q
|
1123 |
+
Q
|
1124 |
+
q
|
1125 |
+
1 0 0 1 62.69291 630.3543 cm
|
1126 |
+
Q
|
1127 |
+
q
|
1128 |
+
1 0 0 1 62.69291 618.3543 cm
|
1129 |
+
0 0 0 rg
|
1130 |
+
BT /F1 10 Tf 12 TL ET
|
1131 |
+
q
|
1132 |
+
1 0 0 1 6 -3 cm
|
1133 |
+
q
|
1134 |
+
0 0 0 rg
|
1135 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1136 |
+
Q
|
1137 |
+
Q
|
1138 |
+
q
|
1139 |
+
1 0 0 1 23 -3 cm
|
1140 |
+
q
|
1141 |
+
0 0 0 rg
|
1142 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Community Edition 1.7) Tj T* ET
|
1143 |
+
Q
|
1144 |
+
Q
|
1145 |
+
q
|
1146 |
+
Q
|
1147 |
+
Q
|
1148 |
+
q
|
1149 |
+
1 0 0 1 62.69291 614.3543 cm
|
1150 |
+
Q
|
1151 |
+
q
|
1152 |
+
1 0 0 1 62.69291 584.3543 cm
|
1153 |
+
q
|
1154 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (1.2 PHP) Tj T* ET
|
1155 |
+
Q
|
1156 |
+
Q
|
1157 |
+
q
|
1158 |
+
1 0 0 1 62.69291 566.3543 cm
|
1159 |
+
q
|
1160 |
+
0 0 0 rg
|
1161 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Folgende PHP-Versionen werden vom Modul unterst\374tzt:) Tj T* ET
|
1162 |
+
Q
|
1163 |
+
Q
|
1164 |
+
q
|
1165 |
+
1 0 0 1 62.69291 560.3543 cm
|
1166 |
+
Q
|
1167 |
+
q
|
1168 |
+
1 0 0 1 62.69291 560.3543 cm
|
1169 |
+
Q
|
1170 |
+
q
|
1171 |
+
1 0 0 1 62.69291 548.3543 cm
|
1172 |
+
0 0 0 rg
|
1173 |
+
BT /F1 10 Tf 12 TL ET
|
1174 |
+
q
|
1175 |
+
1 0 0 1 6 -3 cm
|
1176 |
+
q
|
1177 |
+
0 0 0 rg
|
1178 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1179 |
+
Q
|
1180 |
+
Q
|
1181 |
+
q
|
1182 |
+
1 0 0 1 23 -3 cm
|
1183 |
+
q
|
1184 |
+
0 0 0 rg
|
1185 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (PHP 7.0) Tj T* ET
|
1186 |
+
Q
|
1187 |
+
Q
|
1188 |
+
q
|
1189 |
+
Q
|
1190 |
+
Q
|
1191 |
+
q
|
1192 |
+
1 0 0 1 62.69291 542.3543 cm
|
1193 |
+
Q
|
1194 |
+
q
|
1195 |
+
1 0 0 1 62.69291 530.3543 cm
|
1196 |
+
0 0 0 rg
|
1197 |
+
BT /F1 10 Tf 12 TL ET
|
1198 |
+
q
|
1199 |
+
1 0 0 1 6 -3 cm
|
1200 |
+
q
|
1201 |
+
0 0 0 rg
|
1202 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1203 |
+
Q
|
1204 |
+
Q
|
1205 |
+
q
|
1206 |
+
1 0 0 1 23 -3 cm
|
1207 |
+
q
|
1208 |
+
0 0 0 rg
|
1209 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (PHP 5.6) Tj T* ET
|
1210 |
+
Q
|
1211 |
+
Q
|
1212 |
+
q
|
1213 |
+
Q
|
1214 |
+
Q
|
1215 |
+
q
|
1216 |
+
1 0 0 1 62.69291 524.3543 cm
|
1217 |
+
Q
|
1218 |
+
q
|
1219 |
+
1 0 0 1 62.69291 512.3543 cm
|
1220 |
+
0 0 0 rg
|
1221 |
+
BT /F1 10 Tf 12 TL ET
|
1222 |
+
q
|
1223 |
+
1 0 0 1 6 -3 cm
|
1224 |
+
q
|
1225 |
+
0 0 0 rg
|
1226 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1227 |
+
Q
|
1228 |
+
Q
|
1229 |
+
q
|
1230 |
+
1 0 0 1 23 -3 cm
|
1231 |
+
q
|
1232 |
+
0 0 0 rg
|
1233 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (PHP 5.5) Tj T* ET
|
1234 |
+
Q
|
1235 |
+
Q
|
1236 |
+
q
|
1237 |
+
Q
|
1238 |
+
Q
|
1239 |
+
q
|
1240 |
+
1 0 0 1 62.69291 508.3543 cm
|
1241 |
+
Q
|
1242 |
+
q
|
1243 |
+
1 0 0 1 62.69291 478.3543 cm
|
1244 |
+
q
|
1245 |
+
0 0 0 rg
|
1246 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (F\374r die Anbindung des DHL Webservice muss die PHP SOAP Erweiterung auf dem Webserver installiert) Tj T* (und aktiviert sein.) Tj T* ET
|
1247 |
+
Q
|
1248 |
+
Q
|
1249 |
+
q
|
1250 |
+
1 0 0 1 62.69291 478.3543 cm
|
1251 |
+
Q
|
1252 |
+
q
|
1253 |
+
1 0 0 1 411.0236 779.5276 cm
|
1254 |
+
q
|
1255 |
+
127.5591 0 0 34.01575 0 0 cm
|
1256 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
1257 |
+
Q
|
1258 |
+
Q
|
1259 |
+
q
|
1260 |
+
1 0 0 1 56.69291 56.69291 cm
|
1261 |
+
0 0 0 rg
|
1262 |
+
BT /F1 10 Tf 12 TL ET
|
1263 |
+
q
|
1264 |
+
1 0 0 1 6 3 cm
|
1265 |
+
q
|
1266 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
1267 |
+
Q
|
1268 |
+
Q
|
1269 |
+
q
|
1270 |
+
1 0 0 1 246.9449 3 cm
|
1271 |
+
q
|
1272 |
+
0 0 0 rg
|
1273 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (3/15) Tj T* -209.4849 0 Td ET
|
1274 |
+
Q
|
1275 |
+
Q
|
1276 |
+
q
|
1277 |
+
Q
|
1278 |
+
Q
|
1279 |
+
|
1280 |
+
endstream
|
1281 |
+
endobj
|
1282 |
+
150 0 obj
|
1283 |
+
<< /Length 1929 >>
|
1284 |
+
stream
|
1285 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
1286 |
+
q
|
1287 |
+
1 0 0 1 62.69291 738.3543 cm
|
1288 |
+
q
|
1289 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (2 Hinweise zur Verwendung des Moduls) Tj T* ET
|
1290 |
+
Q
|
1291 |
+
Q
|
1292 |
+
q
|
1293 |
+
1 0 0 1 62.69291 708.3543 cm
|
1294 |
+
q
|
1295 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (2.1 Versandursprung und W\344hrung) Tj T* ET
|
1296 |
+
Q
|
1297 |
+
Q
|
1298 |
+
q
|
1299 |
+
1 0 0 1 62.69291 666.3543 cm
|
1300 |
+
q
|
1301 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Die Extension ) Tj /F3 10 Tf (DHL Versenden ) Tj /F1 10 Tf (f\374r Magento\256 wendet sich an H\344ndler mit Sitz in Deutschland oder) Tj T* (\326sterreich. Stellen Sie sicher, dass die Absenderadressen in den drei im Abschnitt ) Tj 0 0 .501961 rg (Modulkonfiguration) Tj T* 0 0 0 rg (genannten Bereichen korrekt ist.) Tj T* ET
|
1302 |
+
Q
|
1303 |
+
Q
|
1304 |
+
q
|
1305 |
+
1 0 0 1 62.69291 636.3543 cm
|
1306 |
+
q
|
1307 |
+
0 0 0 rg
|
1308 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Die Basisw\344hrung der Installation wird als Euro angenommen. Es findet keine Konvertierung aus anderen) Tj T* (W\344hrungen statt.) Tj T* ET
|
1309 |
+
Q
|
1310 |
+
Q
|
1311 |
+
q
|
1312 |
+
1 0 0 1 62.69291 606.3543 cm
|
1313 |
+
q
|
1314 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (2.2 Sprachunterst\374tzung) Tj T* ET
|
1315 |
+
Q
|
1316 |
+
Q
|
1317 |
+
q
|
1318 |
+
1 0 0 1 62.69291 576.3543 cm
|
1319 |
+
q
|
1320 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Das Modul unterst\374tzt die Lokalisierungen ) Tj /F4 10 Tf 0 0 0 rg (en_US ) Tj /F1 10 Tf 0 0 0 rg (und ) Tj /F4 10 Tf 0 0 0 rg (de_DE) Tj /F1 10 Tf 0 0 0 rg (. Die \334bersetzungen sind in den) Tj T* (CSV-\334bersetzungsdateien gepflegt und somit auch durch Dritt-Module anpassbar.) Tj T* ET
|
1321 |
+
Q
|
1322 |
+
Q
|
1323 |
+
q
|
1324 |
+
1 0 0 1 62.69291 576.3543 cm
|
1325 |
+
Q
|
1326 |
+
q
|
1327 |
+
1 0 0 1 411.0236 779.5276 cm
|
1328 |
+
q
|
1329 |
+
127.5591 0 0 34.01575 0 0 cm
|
1330 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
1331 |
+
Q
|
1332 |
+
Q
|
1333 |
+
q
|
1334 |
+
1 0 0 1 56.69291 56.69291 cm
|
1335 |
+
0 0 0 rg
|
1336 |
+
BT /F1 10 Tf 12 TL ET
|
1337 |
+
q
|
1338 |
+
1 0 0 1 6 3 cm
|
1339 |
+
q
|
1340 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
1341 |
+
Q
|
1342 |
+
Q
|
1343 |
+
q
|
1344 |
+
1 0 0 1 246.9449 3 cm
|
1345 |
+
q
|
1346 |
+
0 0 0 rg
|
1347 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (4/15) Tj T* -209.4849 0 Td ET
|
1348 |
+
Q
|
1349 |
+
Q
|
1350 |
+
q
|
1351 |
+
Q
|
1352 |
+
Q
|
1353 |
+
|
1354 |
+
endstream
|
1355 |
+
endobj
|
1356 |
+
151 0 obj
|
1357 |
+
<< /Length 8319 >>
|
1358 |
+
stream
|
1359 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
1360 |
+
q
|
1361 |
+
1 0 0 1 62.69291 738.3543 cm
|
1362 |
+
q
|
1363 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (3 Installation und Konfiguration) Tj T* ET
|
1364 |
+
Q
|
1365 |
+
Q
|
1366 |
+
q
|
1367 |
+
1 0 0 1 62.69291 708.3543 cm
|
1368 |
+
q
|
1369 |
+
0 0 0 rg
|
1370 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Im Folgenden wird beschrieben, wie das Modul installiert wird und welche Konfigurationseinstellungen) Tj T* (vorgenommen werden m\374ssen.) Tj T* ET
|
1371 |
+
Q
|
1372 |
+
Q
|
1373 |
+
q
|
1374 |
+
1 0 0 1 62.69291 678.3543 cm
|
1375 |
+
q
|
1376 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (3.1 Installation) Tj T* ET
|
1377 |
+
Q
|
1378 |
+
Q
|
1379 |
+
q
|
1380 |
+
1 0 0 1 62.69291 648.3543 cm
|
1381 |
+
q
|
1382 |
+
0 0 0 rg
|
1383 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Installieren Sie die Dateien gem\344\337 Ihrer bevorzugten Installations- und Deployment-Strategie.) Tj T* (Aktualisieren Sie den Konfigurations-Cache, damit die \304nderungen wirksam werden.) Tj T* ET
|
1384 |
+
Q
|
1385 |
+
Q
|
1386 |
+
q
|
1387 |
+
1 0 0 1 62.69291 630.3543 cm
|
1388 |
+
q
|
1389 |
+
0 0 0 rg
|
1390 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Beim ersten Aufruf des Moduls werden diese neuen Adress-Attribute im System angelegt:) Tj T* ET
|
1391 |
+
Q
|
1392 |
+
Q
|
1393 |
+
q
|
1394 |
+
1 0 0 1 62.69291 624.3543 cm
|
1395 |
+
Q
|
1396 |
+
q
|
1397 |
+
1 0 0 1 62.69291 624.3543 cm
|
1398 |
+
Q
|
1399 |
+
q
|
1400 |
+
1 0 0 1 62.69291 612.3543 cm
|
1401 |
+
0 0 0 rg
|
1402 |
+
BT /F1 10 Tf 12 TL ET
|
1403 |
+
q
|
1404 |
+
1 0 0 1 6 -3 cm
|
1405 |
+
q
|
1406 |
+
0 0 0 rg
|
1407 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1408 |
+
Q
|
1409 |
+
Q
|
1410 |
+
q
|
1411 |
+
1 0 0 1 23 -3 cm
|
1412 |
+
q
|
1413 |
+
0 0 0 rg
|
1414 |
+
BT 1 0 0 1 0 2 Tm /F4 10 Tf 12 TL (dhl_versenden_info) Tj T* ET
|
1415 |
+
Q
|
1416 |
+
Q
|
1417 |
+
q
|
1418 |
+
Q
|
1419 |
+
Q
|
1420 |
+
q
|
1421 |
+
1 0 0 1 62.69291 608.3543 cm
|
1422 |
+
Q
|
1423 |
+
q
|
1424 |
+
1 0 0 1 62.69291 590.3543 cm
|
1425 |
+
q
|
1426 |
+
0 0 0 rg
|
1427 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Die Attribute werden in folgenden Tabellen hinzugef\374gt:) Tj T* ET
|
1428 |
+
Q
|
1429 |
+
Q
|
1430 |
+
q
|
1431 |
+
1 0 0 1 62.69291 584.3543 cm
|
1432 |
+
Q
|
1433 |
+
q
|
1434 |
+
1 0 0 1 62.69291 584.3543 cm
|
1435 |
+
Q
|
1436 |
+
q
|
1437 |
+
1 0 0 1 62.69291 572.3543 cm
|
1438 |
+
0 0 0 rg
|
1439 |
+
BT /F1 10 Tf 12 TL ET
|
1440 |
+
q
|
1441 |
+
1 0 0 1 6 -3 cm
|
1442 |
+
q
|
1443 |
+
0 0 0 rg
|
1444 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1445 |
+
Q
|
1446 |
+
Q
|
1447 |
+
q
|
1448 |
+
1 0 0 1 23 -3 cm
|
1449 |
+
q
|
1450 |
+
0 0 0 rg
|
1451 |
+
BT 1 0 0 1 0 2 Tm /F4 10 Tf 12 TL (sales_flat_quote_address) Tj T* ET
|
1452 |
+
Q
|
1453 |
+
Q
|
1454 |
+
q
|
1455 |
+
Q
|
1456 |
+
Q
|
1457 |
+
q
|
1458 |
+
1 0 0 1 62.69291 566.3543 cm
|
1459 |
+
Q
|
1460 |
+
q
|
1461 |
+
1 0 0 1 62.69291 554.3543 cm
|
1462 |
+
0 0 0 rg
|
1463 |
+
BT /F1 10 Tf 12 TL ET
|
1464 |
+
q
|
1465 |
+
1 0 0 1 6 -3 cm
|
1466 |
+
q
|
1467 |
+
0 0 0 rg
|
1468 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1469 |
+
Q
|
1470 |
+
Q
|
1471 |
+
q
|
1472 |
+
1 0 0 1 23 -3 cm
|
1473 |
+
q
|
1474 |
+
0 0 0 rg
|
1475 |
+
BT 1 0 0 1 0 2 Tm /F4 10 Tf 12 TL (sales_flat_order_address) Tj T* ET
|
1476 |
+
Q
|
1477 |
+
Q
|
1478 |
+
q
|
1479 |
+
Q
|
1480 |
+
Q
|
1481 |
+
q
|
1482 |
+
1 0 0 1 62.69291 550.3543 cm
|
1483 |
+
Q
|
1484 |
+
q
|
1485 |
+
1 0 0 1 62.69291 520.3543 cm
|
1486 |
+
q
|
1487 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (3.2 Modulkonfiguration) Tj T* ET
|
1488 |
+
Q
|
1489 |
+
Q
|
1490 |
+
q
|
1491 |
+
1 0 0 1 62.69291 502.3543 cm
|
1492 |
+
q
|
1493 |
+
0 0 0 rg
|
1494 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (F\374r die Abwicklung von Versandauftr\344gen relevant sind drei Konfigurationsbereiche:) Tj T* ET
|
1495 |
+
Q
|
1496 |
+
Q
|
1497 |
+
q
|
1498 |
+
1 0 0 1 62.69291 454.1543 cm
|
1499 |
+
q
|
1500 |
+
q
|
1501 |
+
1 0 0 1 0 0 cm
|
1502 |
+
q
|
1503 |
+
1 0 0 1 6.6 6.6 cm
|
1504 |
+
q
|
1505 |
+
.662745 .662745 .662745 RG
|
1506 |
+
.5 w
|
1507 |
+
.960784 .960784 .862745 rg
|
1508 |
+
n -6 -6 468.6898 39 re B*
|
1509 |
+
Q
|
1510 |
+
q
|
1511 |
+
0 0 0 rg
|
1512 |
+
BT 1 0 0 1 0 19.5 Tm /F4 7.5 Tf 9 TL (System ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Konfiguration ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Allgemein ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Allgemein ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Store-Information) Tj T* (System ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Konfiguration ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Verk\344ufe ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Versandeinstellungen ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Herkunft) Tj T* (System ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Konfiguration ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Verk\344ufe ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( Versandarten ) Tj /F5 7.5 Tf 9 TL (\256) Tj /F4 7.5 Tf 9 TL ( DHL Versenden) Tj T* ET
|
1513 |
+
Q
|
1514 |
+
Q
|
1515 |
+
Q
|
1516 |
+
Q
|
1517 |
+
Q
|
1518 |
+
q
|
1519 |
+
1 0 0 1 62.69291 422.1543 cm
|
1520 |
+
q
|
1521 |
+
0 0 0 rg
|
1522 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Stellen Sie sicher, dass die erforderlichen Felder aus den Bereichen Store-Information und Herkunft) Tj T* (ausgef\374llt sind:) Tj T* ET
|
1523 |
+
Q
|
1524 |
+
Q
|
1525 |
+
q
|
1526 |
+
1 0 0 1 62.69291 416.1543 cm
|
1527 |
+
Q
|
1528 |
+
q
|
1529 |
+
1 0 0 1 62.69291 416.1543 cm
|
1530 |
+
Q
|
1531 |
+
q
|
1532 |
+
1 0 0 1 62.69291 364.1543 cm
|
1533 |
+
0 0 0 rg
|
1534 |
+
BT /F1 10 Tf 12 TL ET
|
1535 |
+
q
|
1536 |
+
1 0 0 1 6 37 cm
|
1537 |
+
q
|
1538 |
+
0 0 0 rg
|
1539 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1540 |
+
Q
|
1541 |
+
Q
|
1542 |
+
q
|
1543 |
+
1 0 0 1 23 37 cm
|
1544 |
+
q
|
1545 |
+
0 0 0 rg
|
1546 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Store-Information) Tj T* ET
|
1547 |
+
Q
|
1548 |
+
Q
|
1549 |
+
q
|
1550 |
+
1 0 0 1 23 31 cm
|
1551 |
+
Q
|
1552 |
+
q
|
1553 |
+
1 0 0 1 23 31 cm
|
1554 |
+
Q
|
1555 |
+
q
|
1556 |
+
1 0 0 1 23 19 cm
|
1557 |
+
0 0 0 rg
|
1558 |
+
BT /F1 10 Tf 12 TL ET
|
1559 |
+
q
|
1560 |
+
1 0 0 1 6 -3 cm
|
1561 |
+
q
|
1562 |
+
0 0 0 rg
|
1563 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1564 |
+
Q
|
1565 |
+
Q
|
1566 |
+
q
|
1567 |
+
1 0 0 1 23 -3 cm
|
1568 |
+
q
|
1569 |
+
0 0 0 rg
|
1570 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Store-Name) Tj T* ET
|
1571 |
+
Q
|
1572 |
+
Q
|
1573 |
+
q
|
1574 |
+
Q
|
1575 |
+
Q
|
1576 |
+
q
|
1577 |
+
1 0 0 1 23 13 cm
|
1578 |
+
Q
|
1579 |
+
q
|
1580 |
+
1 0 0 1 23 1 cm
|
1581 |
+
0 0 0 rg
|
1582 |
+
BT /F1 10 Tf 12 TL ET
|
1583 |
+
q
|
1584 |
+
1 0 0 1 6 -3 cm
|
1585 |
+
q
|
1586 |
+
0 0 0 rg
|
1587 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1588 |
+
Q
|
1589 |
+
Q
|
1590 |
+
q
|
1591 |
+
1 0 0 1 23 -3 cm
|
1592 |
+
q
|
1593 |
+
0 0 0 rg
|
1594 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Store-Kontakttelefon) Tj T* ET
|
1595 |
+
Q
|
1596 |
+
Q
|
1597 |
+
q
|
1598 |
+
Q
|
1599 |
+
Q
|
1600 |
+
q
|
1601 |
+
1 0 0 1 23 -3 cm
|
1602 |
+
Q
|
1603 |
+
q
|
1604 |
+
Q
|
1605 |
+
Q
|
1606 |
+
q
|
1607 |
+
1 0 0 1 62.69291 358.1543 cm
|
1608 |
+
Q
|
1609 |
+
q
|
1610 |
+
1 0 0 1 62.69291 252.1543 cm
|
1611 |
+
0 0 0 rg
|
1612 |
+
BT /F1 10 Tf 12 TL ET
|
1613 |
+
q
|
1614 |
+
1 0 0 1 6 91 cm
|
1615 |
+
q
|
1616 |
+
0 0 0 rg
|
1617 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1618 |
+
Q
|
1619 |
+
Q
|
1620 |
+
q
|
1621 |
+
1 0 0 1 23 91 cm
|
1622 |
+
q
|
1623 |
+
0 0 0 rg
|
1624 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Herkunft) Tj T* ET
|
1625 |
+
Q
|
1626 |
+
Q
|
1627 |
+
q
|
1628 |
+
1 0 0 1 23 85 cm
|
1629 |
+
Q
|
1630 |
+
q
|
1631 |
+
1 0 0 1 23 85 cm
|
1632 |
+
Q
|
1633 |
+
q
|
1634 |
+
1 0 0 1 23 73 cm
|
1635 |
+
0 0 0 rg
|
1636 |
+
BT /F1 10 Tf 12 TL ET
|
1637 |
+
q
|
1638 |
+
1 0 0 1 6 -3 cm
|
1639 |
+
q
|
1640 |
+
0 0 0 rg
|
1641 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1642 |
+
Q
|
1643 |
+
Q
|
1644 |
+
q
|
1645 |
+
1 0 0 1 23 -3 cm
|
1646 |
+
q
|
1647 |
+
0 0 0 rg
|
1648 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Land) Tj T* ET
|
1649 |
+
Q
|
1650 |
+
Q
|
1651 |
+
q
|
1652 |
+
Q
|
1653 |
+
Q
|
1654 |
+
q
|
1655 |
+
1 0 0 1 23 67 cm
|
1656 |
+
Q
|
1657 |
+
q
|
1658 |
+
1 0 0 1 23 55 cm
|
1659 |
+
0 0 0 rg
|
1660 |
+
BT /F1 10 Tf 12 TL ET
|
1661 |
+
q
|
1662 |
+
1 0 0 1 6 -3 cm
|
1663 |
+
q
|
1664 |
+
0 0 0 rg
|
1665 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1666 |
+
Q
|
1667 |
+
Q
|
1668 |
+
q
|
1669 |
+
1 0 0 1 23 -3 cm
|
1670 |
+
q
|
1671 |
+
0 0 0 rg
|
1672 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Region/Bundesland) Tj T* ET
|
1673 |
+
Q
|
1674 |
+
Q
|
1675 |
+
q
|
1676 |
+
Q
|
1677 |
+
Q
|
1678 |
+
q
|
1679 |
+
1 0 0 1 23 49 cm
|
1680 |
+
Q
|
1681 |
+
q
|
1682 |
+
1 0 0 1 23 37 cm
|
1683 |
+
0 0 0 rg
|
1684 |
+
BT /F1 10 Tf 12 TL ET
|
1685 |
+
q
|
1686 |
+
1 0 0 1 6 -3 cm
|
1687 |
+
q
|
1688 |
+
0 0 0 rg
|
1689 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1690 |
+
Q
|
1691 |
+
Q
|
1692 |
+
q
|
1693 |
+
1 0 0 1 23 -3 cm
|
1694 |
+
q
|
1695 |
+
0 0 0 rg
|
1696 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Postleitzahl) Tj T* ET
|
1697 |
+
Q
|
1698 |
+
Q
|
1699 |
+
q
|
1700 |
+
Q
|
1701 |
+
Q
|
1702 |
+
q
|
1703 |
+
1 0 0 1 23 31 cm
|
1704 |
+
Q
|
1705 |
+
q
|
1706 |
+
1 0 0 1 23 19 cm
|
1707 |
+
0 0 0 rg
|
1708 |
+
BT /F1 10 Tf 12 TL ET
|
1709 |
+
q
|
1710 |
+
1 0 0 1 6 -3 cm
|
1711 |
+
q
|
1712 |
+
0 0 0 rg
|
1713 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1714 |
+
Q
|
1715 |
+
Q
|
1716 |
+
q
|
1717 |
+
1 0 0 1 23 -3 cm
|
1718 |
+
q
|
1719 |
+
0 0 0 rg
|
1720 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Stadt) Tj T* ET
|
1721 |
+
Q
|
1722 |
+
Q
|
1723 |
+
q
|
1724 |
+
Q
|
1725 |
+
Q
|
1726 |
+
q
|
1727 |
+
1 0 0 1 23 13 cm
|
1728 |
+
Q
|
1729 |
+
q
|
1730 |
+
1 0 0 1 23 1 cm
|
1731 |
+
0 0 0 rg
|
1732 |
+
BT /F1 10 Tf 12 TL ET
|
1733 |
+
q
|
1734 |
+
1 0 0 1 6 -3 cm
|
1735 |
+
q
|
1736 |
+
0 0 0 rg
|
1737 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1738 |
+
Q
|
1739 |
+
Q
|
1740 |
+
q
|
1741 |
+
1 0 0 1 23 -3 cm
|
1742 |
+
q
|
1743 |
+
0 0 0 rg
|
1744 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Stra\337e) Tj T* ET
|
1745 |
+
Q
|
1746 |
+
Q
|
1747 |
+
q
|
1748 |
+
Q
|
1749 |
+
Q
|
1750 |
+
q
|
1751 |
+
1 0 0 1 23 -3 cm
|
1752 |
+
Q
|
1753 |
+
q
|
1754 |
+
Q
|
1755 |
+
Q
|
1756 |
+
q
|
1757 |
+
1 0 0 1 62.69291 248.1543 cm
|
1758 |
+
Q
|
1759 |
+
q
|
1760 |
+
1 0 0 1 62.69291 230.1543 cm
|
1761 |
+
q
|
1762 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Folgenden werden die Konfigurationsabschnitte f\374r ) Tj /F3 10 Tf (DHL Versenden ) Tj /F1 10 Tf (beschrieben.) Tj T* ET
|
1763 |
+
Q
|
1764 |
+
Q
|
1765 |
+
q
|
1766 |
+
1 0 0 1 62.69291 218.1543 cm
|
1767 |
+
Q
|
1768 |
+
q
|
1769 |
+
1 0 0 1 62.69291 123.1543 cm
|
1770 |
+
.960784 .960784 .862745 rg
|
1771 |
+
n 0 95 469.8898 -95 re f*
|
1772 |
+
0 0 0 rg
|
1773 |
+
BT /F1 10 Tf 12 TL ET
|
1774 |
+
BT 1 0 0 1 6 69 Tm T* ET
|
1775 |
+
q
|
1776 |
+
1 0 0 1 16 64 cm
|
1777 |
+
q
|
1778 |
+
0 0 0 rg
|
1779 |
+
BT 1 0 0 1 0 2.5 Tm /F6 12.5 Tf 15 TL (Hinweis) Tj T* ET
|
1780 |
+
Q
|
1781 |
+
Q
|
1782 |
+
q
|
1783 |
+
1 0 0 1 16 16 cm
|
1784 |
+
q
|
1785 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Die Abschnitte ) Tj /F3 10 Tf (Versandarten ) Tj /F5 10 Tf 12 TL (\256) Tj /F3 10 Tf 12 TL ( DHL ) Tj /F1 10 Tf (und ) Tj /F3 10 Tf (Versandarten ) Tj /F5 10 Tf 12 TL (\256) Tj /F3 10 Tf 12 TL ( DHL \(veraltet\) ) Tj /F1 10 Tf (sind Kernbestandteile) Tj T* (von Magento\256 und binden die Schnittstelle von DHL USA an, nicht jedoch den DHL) Tj T* (Gesch\344ftskundenversand.) Tj T* ET
|
1786 |
+
Q
|
1787 |
+
Q
|
1788 |
+
q
|
1789 |
+
1 J
|
1790 |
+
1 j
|
1791 |
+
.662745 .662745 .662745 RG
|
1792 |
+
.5 w
|
1793 |
+
n 0 95 m 469.8898 95 l S
|
1794 |
+
n 0 0 m 469.8898 0 l S
|
1795 |
+
n 0 0 m 0 95 l S
|
1796 |
+
n 469.8898 0 m 469.8898 95 l S
|
1797 |
+
Q
|
1798 |
+
Q
|
1799 |
+
q
|
1800 |
+
1 0 0 1 62.69291 117.1543 cm
|
1801 |
+
Q
|
1802 |
+
q
|
1803 |
+
1 0 0 1 411.0236 779.5276 cm
|
1804 |
+
q
|
1805 |
+
127.5591 0 0 34.01575 0 0 cm
|
1806 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
1807 |
+
Q
|
1808 |
+
Q
|
1809 |
+
q
|
1810 |
+
1 0 0 1 56.69291 56.69291 cm
|
1811 |
+
0 0 0 rg
|
1812 |
+
BT /F1 10 Tf 12 TL ET
|
1813 |
+
q
|
1814 |
+
1 0 0 1 6 3 cm
|
1815 |
+
q
|
1816 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
1817 |
+
Q
|
1818 |
+
Q
|
1819 |
+
q
|
1820 |
+
1 0 0 1 246.9449 3 cm
|
1821 |
+
q
|
1822 |
+
0 0 0 rg
|
1823 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (5/15) Tj T* -209.4849 0 Td ET
|
1824 |
+
Q
|
1825 |
+
Q
|
1826 |
+
q
|
1827 |
+
Q
|
1828 |
+
Q
|
1829 |
+
|
1830 |
+
endstream
|
1831 |
+
endobj
|
1832 |
+
152 0 obj
|
1833 |
+
<< /Length 7713 >>
|
1834 |
+
stream
|
1835 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
1836 |
+
q
|
1837 |
+
1 0 0 1 62.69291 744.3543 cm
|
1838 |
+
q
|
1839 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.1 Allgemeine Einstellungen) Tj T* ET
|
1840 |
+
Q
|
1841 |
+
Q
|
1842 |
+
q
|
1843 |
+
1 0 0 1 62.69291 714.3543 cm
|
1844 |
+
q
|
1845 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Allgemeine Einstellungen ) Tj /F1 10 Tf (wird festgelegt, ob der ) Tj /F3 10 Tf (Sandbox-Modus ) Tj /F1 10 Tf (zum Testen) Tj T* (der Integration verwendet oder die Extension produktiv betrieben werden soll.) Tj T* ET
|
1846 |
+
Q
|
1847 |
+
Q
|
1848 |
+
q
|
1849 |
+
1 0 0 1 62.69291 648.3543 cm
|
1850 |
+
q
|
1851 |
+
BT 1 0 0 1 0 50 Tm 12 TL /F1 10 Tf 0 0 0 rg (Dar\374ber hinaus wird die Protokollierung konfiguriert. Wenn die Protokollierung der ) Tj /F3 10 Tf (DHL Versenden) Tj T* /F1 10 Tf (Extension sowie das allgemeine Logging \() Tj /F3 10 Tf (System ) Tj /F5 10 Tf 12 TL (\256) Tj /F3 10 Tf 12 TL ( Konfiguration ) Tj /F5 10 Tf 12 TL (\256) Tj /F3 10 Tf 12 TL ( Erweitert ) Tj /F5 10 Tf 12 TL (\256) Tj /F3 10 Tf 12 TL ( Entwickleroptionen ) Tj /F5 10 Tf 12 TL (\256) Tj /F3 10 Tf 12 TL T* (Log Einstellungen) Tj /F1 10 Tf (\) aktiviert sind, werden Webservice-Nachrichten in der Datei) Tj T* /F4 10 Tf 0 0 0 rg (var/log/dhl_versenden.log ) Tj /F1 10 Tf 0 0 0 rg (aufgezeichnet. Dabei haben Sie die Auswahl zwischen drei) Tj T* (Protokollstufen:) Tj T* ET
|
1852 |
+
Q
|
1853 |
+
Q
|
1854 |
+
q
|
1855 |
+
1 0 0 1 62.69291 642.3543 cm
|
1856 |
+
Q
|
1857 |
+
q
|
1858 |
+
1 0 0 1 62.69291 642.3543 cm
|
1859 |
+
Q
|
1860 |
+
q
|
1861 |
+
1 0 0 1 62.69291 630.3543 cm
|
1862 |
+
0 0 0 rg
|
1863 |
+
BT /F1 10 Tf 12 TL ET
|
1864 |
+
q
|
1865 |
+
1 0 0 1 6 -3 cm
|
1866 |
+
q
|
1867 |
+
0 0 0 rg
|
1868 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1869 |
+
Q
|
1870 |
+
Q
|
1871 |
+
q
|
1872 |
+
1 0 0 1 23 -3 cm
|
1873 |
+
q
|
1874 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (Error ) Tj /F1 10 Tf 0 0 0 rg (zeichnet Fehler in der Kommunikation zwischen Shop und DHL Webservice auf,) Tj T* ET
|
1875 |
+
Q
|
1876 |
+
Q
|
1877 |
+
q
|
1878 |
+
Q
|
1879 |
+
Q
|
1880 |
+
q
|
1881 |
+
1 0 0 1 62.69291 624.3543 cm
|
1882 |
+
Q
|
1883 |
+
q
|
1884 |
+
1 0 0 1 62.69291 600.3543 cm
|
1885 |
+
0 0 0 rg
|
1886 |
+
BT /F1 10 Tf 12 TL ET
|
1887 |
+
q
|
1888 |
+
1 0 0 1 6 9 cm
|
1889 |
+
q
|
1890 |
+
0 0 0 rg
|
1891 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1892 |
+
Q
|
1893 |
+
Q
|
1894 |
+
q
|
1895 |
+
1 0 0 1 23 -3 cm
|
1896 |
+
q
|
1897 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F4 10 Tf 0 0 0 rg (Warning ) Tj /F1 10 Tf 0 0 0 rg (zeichnet Kommunikationsfehler sowie Fehler, die auf den Inhalt der Nachrichten) Tj T* (zur\374ckgehen \(bspw. Adressvalidierung, ung\374ltige Service-Auswahl\), auf und) Tj T* ET
|
1898 |
+
Q
|
1899 |
+
Q
|
1900 |
+
q
|
1901 |
+
Q
|
1902 |
+
Q
|
1903 |
+
q
|
1904 |
+
1 0 0 1 62.69291 594.3543 cm
|
1905 |
+
Q
|
1906 |
+
q
|
1907 |
+
1 0 0 1 62.69291 582.3543 cm
|
1908 |
+
0 0 0 rg
|
1909 |
+
BT /F1 10 Tf 12 TL ET
|
1910 |
+
q
|
1911 |
+
1 0 0 1 6 -3 cm
|
1912 |
+
q
|
1913 |
+
0 0 0 rg
|
1914 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
1915 |
+
Q
|
1916 |
+
Q
|
1917 |
+
q
|
1918 |
+
1 0 0 1 23 -3 cm
|
1919 |
+
q
|
1920 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (Debug ) Tj /F1 10 Tf 0 0 0 rg (zeichnet s\344mtliche Nachrichten auf.) Tj T* ET
|
1921 |
+
Q
|
1922 |
+
Q
|
1923 |
+
q
|
1924 |
+
Q
|
1925 |
+
Q
|
1926 |
+
q
|
1927 |
+
1 0 0 1 62.69291 578.3543 cm
|
1928 |
+
Q
|
1929 |
+
q
|
1930 |
+
1 0 0 1 62.69291 566.3543 cm
|
1931 |
+
Q
|
1932 |
+
q
|
1933 |
+
1 0 0 1 62.69291 495.3543 cm
|
1934 |
+
.960784 .960784 .862745 rg
|
1935 |
+
n 0 71 469.8898 -71 re f*
|
1936 |
+
0 0 0 rg
|
1937 |
+
BT /F1 10 Tf 12 TL ET
|
1938 |
+
BT 1 0 0 1 6 45 Tm T* ET
|
1939 |
+
q
|
1940 |
+
1 0 0 1 16 40 cm
|
1941 |
+
q
|
1942 |
+
0 0 0 rg
|
1943 |
+
BT 1 0 0 1 0 2.5 Tm /F6 12.5 Tf 15 TL (Hinweis) Tj T* ET
|
1944 |
+
Q
|
1945 |
+
Q
|
1946 |
+
q
|
1947 |
+
1 0 0 1 16 16 cm
|
1948 |
+
q
|
1949 |
+
0 0 0 rg
|
1950 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Stellen Sie sicher, dass die Log-Dateien regelm\344\337ig bereinigt bzw. rotiert werden.) Tj T* ET
|
1951 |
+
Q
|
1952 |
+
Q
|
1953 |
+
q
|
1954 |
+
1 J
|
1955 |
+
1 j
|
1956 |
+
.662745 .662745 .662745 RG
|
1957 |
+
.5 w
|
1958 |
+
n 0 71 m 469.8898 71 l S
|
1959 |
+
n 0 0 m 469.8898 0 l S
|
1960 |
+
n 0 0 m 0 71 l S
|
1961 |
+
n 469.8898 0 m 469.8898 71 l S
|
1962 |
+
Q
|
1963 |
+
Q
|
1964 |
+
q
|
1965 |
+
1 0 0 1 62.69291 489.3543 cm
|
1966 |
+
Q
|
1967 |
+
q
|
1968 |
+
1 0 0 1 62.69291 462.3543 cm
|
1969 |
+
q
|
1970 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.2 Stammdaten) Tj T* ET
|
1971 |
+
Q
|
1972 |
+
Q
|
1973 |
+
q
|
1974 |
+
1 0 0 1 62.69291 420.3543 cm
|
1975 |
+
q
|
1976 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Stammdaten ) Tj /F1 10 Tf (werden Ihre Zugangsdaten f\374r den DHL Webservice hinterlegt, die) Tj T* (f\374r den Produktivmodus erforderlich sind. Die Zugangsdaten erhalten DHL Vertragskunden \374ber den) Tj T* (Vertrieb DHL Paket.) Tj T* ET
|
1977 |
+
Q
|
1978 |
+
Q
|
1979 |
+
q
|
1980 |
+
1 0 0 1 62.69291 393.3543 cm
|
1981 |
+
q
|
1982 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.3 Versandauftr\344ge) Tj T* ET
|
1983 |
+
Q
|
1984 |
+
Q
|
1985 |
+
q
|
1986 |
+
1 0 0 1 62.69291 363.3543 cm
|
1987 |
+
q
|
1988 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Versandauftr\344ge ) Tj /F1 10 Tf (werden Einstellungen vorgenommen, die f\374r die Erteilung von) Tj T* (Versandauftr\344gen \374ber den DHL Webservice erforderlich sind.) Tj T* ET
|
1989 |
+
Q
|
1990 |
+
Q
|
1991 |
+
q
|
1992 |
+
1 0 0 1 62.69291 357.3543 cm
|
1993 |
+
Q
|
1994 |
+
q
|
1995 |
+
1 0 0 1 62.69291 357.3543 cm
|
1996 |
+
Q
|
1997 |
+
q
|
1998 |
+
1 0 0 1 62.69291 309.3543 cm
|
1999 |
+
0 0 0 rg
|
2000 |
+
BT /F1 10 Tf 12 TL ET
|
2001 |
+
q
|
2002 |
+
1 0 0 1 6 33 cm
|
2003 |
+
q
|
2004 |
+
0 0 0 rg
|
2005 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2006 |
+
Q
|
2007 |
+
Q
|
2008 |
+
q
|
2009 |
+
1 0 0 1 23 -3 cm
|
2010 |
+
q
|
2011 |
+
BT 1 0 0 1 0 38 Tm 12 TL /F3 10 Tf 0 0 0 rg (Nur leitkodierbare Versandauftr\344ge erteilen) Tj /F1 10 Tf (: Ist diese Einstellung aktiviert, so werden nur Labels f\374r) Tj T* (seitens DHL erfolgreich validierte Lieferadressen erzeugt. Andernfalls wird DHL im Rahmen der) Tj T* (Zustellung versuchen, fehlerhafte Lieferadressen korrekt zuzuordnen, wobei ein) Tj T* (Nachkodierungsentgelt erhoben wird.) Tj T* ET
|
2012 |
+
Q
|
2013 |
+
Q
|
2014 |
+
q
|
2015 |
+
Q
|
2016 |
+
Q
|
2017 |
+
q
|
2018 |
+
1 0 0 1 62.69291 303.3543 cm
|
2019 |
+
Q
|
2020 |
+
q
|
2021 |
+
1 0 0 1 62.69291 267.3543 cm
|
2022 |
+
0 0 0 rg
|
2023 |
+
BT /F1 10 Tf 12 TL ET
|
2024 |
+
q
|
2025 |
+
1 0 0 1 6 21 cm
|
2026 |
+
q
|
2027 |
+
0 0 0 rg
|
2028 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2029 |
+
Q
|
2030 |
+
Q
|
2031 |
+
q
|
2032 |
+
1 0 0 1 23 -3 cm
|
2033 |
+
q
|
2034 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F3 10 Tf 0 0 0 rg (Gewichtseinheit) Tj /F1 10 Tf (: Legen Sie fest, ob die Gewichtsangaben in Ihrem Katalog in Gramm oder) Tj T* (Kilogramm gepflegt sind. Bei Bedarf wird das Gewicht w\344hrend der \334bertragung an den DHL) Tj T* (Webservice auf Kilogramm umgerechnet.) Tj T* ET
|
2035 |
+
Q
|
2036 |
+
Q
|
2037 |
+
q
|
2038 |
+
Q
|
2039 |
+
Q
|
2040 |
+
q
|
2041 |
+
1 0 0 1 62.69291 261.3543 cm
|
2042 |
+
Q
|
2043 |
+
q
|
2044 |
+
1 0 0 1 62.69291 213.3543 cm
|
2045 |
+
0 0 0 rg
|
2046 |
+
BT /F1 10 Tf 12 TL ET
|
2047 |
+
q
|
2048 |
+
1 0 0 1 6 33 cm
|
2049 |
+
q
|
2050 |
+
0 0 0 rg
|
2051 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2052 |
+
Q
|
2053 |
+
Q
|
2054 |
+
q
|
2055 |
+
1 0 0 1 23 -3 cm
|
2056 |
+
q
|
2057 |
+
BT 1 0 0 1 0 38 Tm 12 TL /F3 10 Tf 0 0 0 rg (Versandarten f\374r DHL Versenden) Tj /F1 10 Tf (: Legen Sie fest, welche Versandarten f\374r die) Tj T* (Versandkostenberechnung im Checkout verwendet werden sollen. Die hier ausgew\344hlten) Tj T* (Versandarten werden in der nachgelagerten Lieferscheinerstellung \374ber den DHL) Tj T* (Gesch\344ftskundenversand abgewickelt.) Tj T* ET
|
2058 |
+
Q
|
2059 |
+
Q
|
2060 |
+
q
|
2061 |
+
Q
|
2062 |
+
Q
|
2063 |
+
q
|
2064 |
+
1 0 0 1 62.69291 207.3543 cm
|
2065 |
+
Q
|
2066 |
+
q
|
2067 |
+
1 0 0 1 62.69291 171.3543 cm
|
2068 |
+
0 0 0 rg
|
2069 |
+
BT /F1 10 Tf 12 TL ET
|
2070 |
+
q
|
2071 |
+
1 0 0 1 6 21 cm
|
2072 |
+
q
|
2073 |
+
0 0 0 rg
|
2074 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2075 |
+
Q
|
2076 |
+
Q
|
2077 |
+
q
|
2078 |
+
1 0 0 1 23 -3 cm
|
2079 |
+
q
|
2080 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F3 10 Tf 0 0 0 rg (Nachnahme-Zahlarten f\374r DHL Versenden) Tj /F1 10 Tf (: Legen Sie fest, bei welchen Zahlarten es sich um) Tj T* (Nachnahme-Zahlarten handelt. Diese Information wird ben\366tigt, um bei Bedarf den) Tj T* (Nachnahmebetrag an den DHL Webservice zu \374bertragen.) Tj T* ET
|
2081 |
+
Q
|
2082 |
+
Q
|
2083 |
+
q
|
2084 |
+
Q
|
2085 |
+
Q
|
2086 |
+
q
|
2087 |
+
1 0 0 1 62.69291 167.3543 cm
|
2088 |
+
Q
|
2089 |
+
q
|
2090 |
+
1 0 0 1 62.69291 140.3543 cm
|
2091 |
+
q
|
2092 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.4 DHL Zusatzleistungen im Checkout) Tj T* ET
|
2093 |
+
Q
|
2094 |
+
Q
|
2095 |
+
q
|
2096 |
+
1 0 0 1 62.69291 110.3543 cm
|
2097 |
+
q
|
2098 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (DHL Zusatzleistungen im Checkout ) Tj /F1 10 Tf (legen Sie fest, welche im Rahmen des DHL) Tj T* (Gesch\344ftskundenversand zubuchbaren Services dem Kunden angeboten werden.) Tj T* ET
|
2099 |
+
Q
|
2100 |
+
Q
|
2101 |
+
q
|
2102 |
+
1 0 0 1 62.69291 104.3543 cm
|
2103 |
+
Q
|
2104 |
+
q
|
2105 |
+
1 0 0 1 62.69291 104.3543 cm
|
2106 |
+
Q
|
2107 |
+
q
|
2108 |
+
1 0 0 1 411.0236 779.5276 cm
|
2109 |
+
q
|
2110 |
+
127.5591 0 0 34.01575 0 0 cm
|
2111 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
2112 |
+
Q
|
2113 |
+
Q
|
2114 |
+
q
|
2115 |
+
1 0 0 1 56.69291 56.69291 cm
|
2116 |
+
0 0 0 rg
|
2117 |
+
BT /F1 10 Tf 12 TL ET
|
2118 |
+
q
|
2119 |
+
1 0 0 1 6 3 cm
|
2120 |
+
q
|
2121 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
2122 |
+
Q
|
2123 |
+
Q
|
2124 |
+
q
|
2125 |
+
1 0 0 1 246.9449 3 cm
|
2126 |
+
q
|
2127 |
+
0 0 0 rg
|
2128 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (6/15) Tj T* -209.4849 0 Td ET
|
2129 |
+
Q
|
2130 |
+
Q
|
2131 |
+
q
|
2132 |
+
Q
|
2133 |
+
Q
|
2134 |
+
|
2135 |
+
endstream
|
2136 |
+
endobj
|
2137 |
+
153 0 obj
|
2138 |
+
<< /Length 7105 >>
|
2139 |
+
stream
|
2140 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
2141 |
+
q
|
2142 |
+
1 0 0 1 62.69291 735.3543 cm
|
2143 |
+
0 0 0 rg
|
2144 |
+
BT /F1 10 Tf 12 TL ET
|
2145 |
+
q
|
2146 |
+
1 0 0 1 6 9 cm
|
2147 |
+
q
|
2148 |
+
0 0 0 rg
|
2149 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2150 |
+
Q
|
2151 |
+
Q
|
2152 |
+
q
|
2153 |
+
1 0 0 1 23 -3 cm
|
2154 |
+
q
|
2155 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F3 10 Tf 0 0 0 rg (Wunschtag) Tj /F1 10 Tf (: Der Kunde w\344hlt einen festgelegten Tag f\374r seine Sendung, an welchem die Lieferung) Tj T* (ankommen soll.) Tj T* ET
|
2156 |
+
Q
|
2157 |
+
Q
|
2158 |
+
q
|
2159 |
+
Q
|
2160 |
+
Q
|
2161 |
+
q
|
2162 |
+
1 0 0 1 62.69291 729.3543 cm
|
2163 |
+
Q
|
2164 |
+
q
|
2165 |
+
1 0 0 1 62.69291 705.3543 cm
|
2166 |
+
0 0 0 rg
|
2167 |
+
BT /F1 10 Tf 12 TL ET
|
2168 |
+
q
|
2169 |
+
1 0 0 1 6 9 cm
|
2170 |
+
q
|
2171 |
+
0 0 0 rg
|
2172 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2173 |
+
Q
|
2174 |
+
Q
|
2175 |
+
q
|
2176 |
+
1 0 0 1 23 -3 cm
|
2177 |
+
q
|
2178 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F3 10 Tf 0 0 0 rg (Wunschzeit) Tj /F1 10 Tf (: Der Kunde w\344hlt ein Zeitfenster f\374r seine Sendung, in welchem die Lieferung) Tj T* (ankommen soll.) Tj T* ET
|
2179 |
+
Q
|
2180 |
+
Q
|
2181 |
+
q
|
2182 |
+
Q
|
2183 |
+
Q
|
2184 |
+
q
|
2185 |
+
1 0 0 1 62.69291 699.3543 cm
|
2186 |
+
Q
|
2187 |
+
q
|
2188 |
+
1 0 0 1 62.69291 675.3543 cm
|
2189 |
+
0 0 0 rg
|
2190 |
+
BT /F1 10 Tf 12 TL ET
|
2191 |
+
q
|
2192 |
+
1 0 0 1 6 9 cm
|
2193 |
+
q
|
2194 |
+
0 0 0 rg
|
2195 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2196 |
+
Q
|
2197 |
+
Q
|
2198 |
+
q
|
2199 |
+
1 0 0 1 23 -3 cm
|
2200 |
+
q
|
2201 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F3 10 Tf 0 0 0 rg (Wunschort) Tj /F1 10 Tf (: Der Kunde w\344hlt einen alternativen Ablageort f\374r seine Sendung, falls er nicht) Tj T* (angetroffen wird.) Tj T* ET
|
2202 |
+
Q
|
2203 |
+
Q
|
2204 |
+
q
|
2205 |
+
Q
|
2206 |
+
Q
|
2207 |
+
q
|
2208 |
+
1 0 0 1 62.69291 669.3543 cm
|
2209 |
+
Q
|
2210 |
+
q
|
2211 |
+
1 0 0 1 62.69291 645.3543 cm
|
2212 |
+
0 0 0 rg
|
2213 |
+
BT /F1 10 Tf 12 TL ET
|
2214 |
+
q
|
2215 |
+
1 0 0 1 6 9 cm
|
2216 |
+
q
|
2217 |
+
0 0 0 rg
|
2218 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2219 |
+
Q
|
2220 |
+
Q
|
2221 |
+
q
|
2222 |
+
1 0 0 1 23 -3 cm
|
2223 |
+
q
|
2224 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F3 10 Tf 0 0 0 rg (Wunschnachbar) Tj /F1 10 Tf (: Der Kunde w\344hlt eine alternative Adresse in der Nachbarschaft f\374r die Abgabe der) Tj T* (Sendung, falls er nicht angetroffen wird.) Tj T* ET
|
2225 |
+
Q
|
2226 |
+
Q
|
2227 |
+
q
|
2228 |
+
Q
|
2229 |
+
Q
|
2230 |
+
q
|
2231 |
+
1 0 0 1 62.69291 639.3543 cm
|
2232 |
+
Q
|
2233 |
+
q
|
2234 |
+
1 0 0 1 62.69291 557.3543 cm
|
2235 |
+
0 0 0 rg
|
2236 |
+
BT /F1 10 Tf 12 TL ET
|
2237 |
+
q
|
2238 |
+
1 0 0 1 6 67 cm
|
2239 |
+
q
|
2240 |
+
0 0 0 rg
|
2241 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2242 |
+
Q
|
2243 |
+
Q
|
2244 |
+
q
|
2245 |
+
1 0 0 1 23 55 cm
|
2246 |
+
q
|
2247 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F3 10 Tf 0 0 0 rg (Paketank\374ndigung) Tj /F1 10 Tf (: Der Kunde wird per E-Mail von DHL \374ber den jeweiligen Status seiner Sendung) Tj T* (informiert. W\344hlen Sie hier aus folgenden Optionen:) Tj T* ET
|
2248 |
+
Q
|
2249 |
+
Q
|
2250 |
+
q
|
2251 |
+
1 0 0 1 23 49 cm
|
2252 |
+
Q
|
2253 |
+
q
|
2254 |
+
1 0 0 1 23 49 cm
|
2255 |
+
Q
|
2256 |
+
q
|
2257 |
+
1 0 0 1 23 37 cm
|
2258 |
+
0 0 0 rg
|
2259 |
+
BT /F1 10 Tf 12 TL ET
|
2260 |
+
q
|
2261 |
+
1 0 0 1 6 -3 cm
|
2262 |
+
q
|
2263 |
+
0 0 0 rg
|
2264 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2265 |
+
Q
|
2266 |
+
Q
|
2267 |
+
q
|
2268 |
+
1 0 0 1 23 -3 cm
|
2269 |
+
q
|
2270 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 0 rg (Ja) Tj /F1 10 Tf (: Der Service wird hinzugebucht.) Tj T* ET
|
2271 |
+
Q
|
2272 |
+
Q
|
2273 |
+
q
|
2274 |
+
Q
|
2275 |
+
Q
|
2276 |
+
q
|
2277 |
+
1 0 0 1 23 31 cm
|
2278 |
+
Q
|
2279 |
+
q
|
2280 |
+
1 0 0 1 23 19 cm
|
2281 |
+
0 0 0 rg
|
2282 |
+
BT /F1 10 Tf 12 TL ET
|
2283 |
+
q
|
2284 |
+
1 0 0 1 6 -3 cm
|
2285 |
+
q
|
2286 |
+
0 0 0 rg
|
2287 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2288 |
+
Q
|
2289 |
+
Q
|
2290 |
+
q
|
2291 |
+
1 0 0 1 23 -3 cm
|
2292 |
+
q
|
2293 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 0 rg (Optional) Tj /F1 10 Tf (: Der Kunde bestimmt im Checkout, ob er den Service in Anspruch nehmen m\366chte.) Tj T* ET
|
2294 |
+
Q
|
2295 |
+
Q
|
2296 |
+
q
|
2297 |
+
Q
|
2298 |
+
Q
|
2299 |
+
q
|
2300 |
+
1 0 0 1 23 13 cm
|
2301 |
+
Q
|
2302 |
+
q
|
2303 |
+
1 0 0 1 23 1 cm
|
2304 |
+
0 0 0 rg
|
2305 |
+
BT /F1 10 Tf 12 TL ET
|
2306 |
+
q
|
2307 |
+
1 0 0 1 6 -3 cm
|
2308 |
+
q
|
2309 |
+
0 0 0 rg
|
2310 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2311 |
+
Q
|
2312 |
+
Q
|
2313 |
+
q
|
2314 |
+
1 0 0 1 23 -3 cm
|
2315 |
+
q
|
2316 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F3 10 Tf 0 0 0 rg (Nein) Tj /F1 10 Tf (: Der Service wird nicht hinzugebucht.) Tj T* ET
|
2317 |
+
Q
|
2318 |
+
Q
|
2319 |
+
q
|
2320 |
+
Q
|
2321 |
+
Q
|
2322 |
+
q
|
2323 |
+
1 0 0 1 23 -3 cm
|
2324 |
+
Q
|
2325 |
+
q
|
2326 |
+
Q
|
2327 |
+
Q
|
2328 |
+
q
|
2329 |
+
1 0 0 1 62.69291 553.3543 cm
|
2330 |
+
Q
|
2331 |
+
q
|
2332 |
+
1 0 0 1 62.69291 541.3543 cm
|
2333 |
+
Q
|
2334 |
+
q
|
2335 |
+
1 0 0 1 62.69291 422.3543 cm
|
2336 |
+
.960784 .960784 .862745 rg
|
2337 |
+
n 0 119 469.8898 -119 re f*
|
2338 |
+
0 0 0 rg
|
2339 |
+
BT /F1 10 Tf 12 TL ET
|
2340 |
+
BT 1 0 0 1 6 93 Tm T* ET
|
2341 |
+
q
|
2342 |
+
1 0 0 1 16 88 cm
|
2343 |
+
q
|
2344 |
+
0 0 0 rg
|
2345 |
+
BT 1 0 0 1 0 2.5 Tm /F6 12.5 Tf 15 TL (Hinweis) Tj T* ET
|
2346 |
+
Q
|
2347 |
+
Q
|
2348 |
+
q
|
2349 |
+
1 0 0 1 16 16 cm
|
2350 |
+
q
|
2351 |
+
BT 1 0 0 1 0 50 Tm 12 TL /F1 10 Tf 0 0 0 rg (Bitte beachten Sie, dass die DHL Services Wunschtag und Wunschzeit f\374r Sie als H\344ndler mit) Tj T* (Aufpreisen in der Abrechnung Ihrer Sendungen gegen\374ber der DHL Paket GmbH verbunden sind.) Tj T* (Sollten Sie diese Kosten teilweise oder ganz an Ihre Kunden weiterreichen wollen, m\374ssen Sie) Tj T* (diese bitte in die von Ihnen individuell genutzten Versandkostendefinition unter System >) Tj T* (Konfiguration > Versandarten einkalkulieren.) Tj T* ET
|
2352 |
+
Q
|
2353 |
+
Q
|
2354 |
+
q
|
2355 |
+
1 J
|
2356 |
+
1 j
|
2357 |
+
.662745 .662745 .662745 RG
|
2358 |
+
.5 w
|
2359 |
+
n 0 119 m 469.8898 119 l S
|
2360 |
+
n 0 0 m 469.8898 0 l S
|
2361 |
+
n 0 0 m 0 119 l S
|
2362 |
+
n 469.8898 0 m 469.8898 119 l S
|
2363 |
+
Q
|
2364 |
+
Q
|
2365 |
+
q
|
2366 |
+
1 0 0 1 62.69291 416.3543 cm
|
2367 |
+
Q
|
2368 |
+
q
|
2369 |
+
1 0 0 1 62.69291 389.3543 cm
|
2370 |
+
q
|
2371 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.5 Automatische Sendungserstellung) Tj T* ET
|
2372 |
+
Q
|
2373 |
+
Q
|
2374 |
+
q
|
2375 |
+
1 0 0 1 62.69291 359.3543 cm
|
2376 |
+
q
|
2377 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Automatische Sendungserstellung ) Tj /F1 10 Tf (legen Sie fest, ob automatisch Lieferscheine) Tj T* (erzeugt und Paketaufkleber abgerufen werden sollen.) Tj T* ET
|
2378 |
+
Q
|
2379 |
+
Q
|
2380 |
+
q
|
2381 |
+
1 0 0 1 62.69291 317.3543 cm
|
2382 |
+
q
|
2383 |
+
0 0 0 rg
|
2384 |
+
BT 1 0 0 1 0 26 Tm /F1 10 Tf 12 TL (Dar\374ber hinaus k\366nnen Sie bestimmen, welchen Bestell-Status eine Bestellung haben muss, um w\344hrend) Tj T* (der automatischen Sendungserstellung ber\374cksichtigt zu werden. Au\337erdem legen Sie hier diejenigen) Tj T* (Services fest, die standardm\344\337ig hinzugebucht werden sollen.) Tj T* ET
|
2385 |
+
Q
|
2386 |
+
Q
|
2387 |
+
q
|
2388 |
+
1 0 0 1 62.69291 290.3543 cm
|
2389 |
+
q
|
2390 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.6 Kontaktinformationen) Tj T* ET
|
2391 |
+
Q
|
2392 |
+
Q
|
2393 |
+
q
|
2394 |
+
1 0 0 1 62.69291 260.3543 cm
|
2395 |
+
q
|
2396 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Kontaktinformationen ) Tj /F1 10 Tf (legen Sie fest, welche Absenderdaten w\344hrend der) Tj T* (Erstellung von Versandauftr\344gen an DHL \374bermittelt werden sollen.) Tj T* ET
|
2397 |
+
Q
|
2398 |
+
Q
|
2399 |
+
q
|
2400 |
+
1 0 0 1 62.69291 233.3543 cm
|
2401 |
+
q
|
2402 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.7 Bankverbindung) Tj T* ET
|
2403 |
+
Q
|
2404 |
+
Q
|
2405 |
+
q
|
2406 |
+
1 0 0 1 62.69291 191.3543 cm
|
2407 |
+
q
|
2408 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Bankverbindung ) Tj /F1 10 Tf (legen Sie fest, welche Bankdaten im Rahmen von) Tj T* (Nachnahme-Versandauftr\344gen an DHL \374bermittelt werden. Der vom Kunden erhobene Nachnahmebetrag) Tj T* (wird auf dieses Konto transferiert.) Tj T* ET
|
2409 |
+
Q
|
2410 |
+
Q
|
2411 |
+
q
|
2412 |
+
1 0 0 1 62.69291 164.3543 cm
|
2413 |
+
q
|
2414 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (3.2.8 Retourenbeileger) Tj T* ET
|
2415 |
+
Q
|
2416 |
+
Q
|
2417 |
+
q
|
2418 |
+
1 0 0 1 62.69291 134.3543 cm
|
2419 |
+
q
|
2420 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Konfigurationsbereich ) Tj /F3 10 Tf (Retourenbeileger ) Tj /F1 10 Tf (legen Sie fest, welche Empf\344ngeradresse auf das) Tj T* (Retoure-Label gedruckt werden soll, wenn dieser Service gebucht wird.) Tj T* ET
|
2421 |
+
Q
|
2422 |
+
Q
|
2423 |
+
q
|
2424 |
+
1 0 0 1 62.69291 134.3543 cm
|
2425 |
+
Q
|
2426 |
+
q
|
2427 |
+
1 0 0 1 411.0236 779.5276 cm
|
2428 |
+
q
|
2429 |
+
127.5591 0 0 34.01575 0 0 cm
|
2430 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
2431 |
+
Q
|
2432 |
+
Q
|
2433 |
+
q
|
2434 |
+
1 0 0 1 56.69291 56.69291 cm
|
2435 |
+
0 0 0 rg
|
2436 |
+
BT /F1 10 Tf 12 TL ET
|
2437 |
+
q
|
2438 |
+
1 0 0 1 6 3 cm
|
2439 |
+
q
|
2440 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
2441 |
+
Q
|
2442 |
+
Q
|
2443 |
+
q
|
2444 |
+
1 0 0 1 246.9449 3 cm
|
2445 |
+
q
|
2446 |
+
0 0 0 rg
|
2447 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (7/15) Tj T* -209.4849 0 Td ET
|
2448 |
+
Q
|
2449 |
+
Q
|
2450 |
+
q
|
2451 |
+
Q
|
2452 |
+
Q
|
2453 |
+
|
2454 |
+
endstream
|
2455 |
+
endobj
|
2456 |
+
154 0 obj
|
2457 |
+
<< /Length 2700 >>
|
2458 |
+
stream
|
2459 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
2460 |
+
q
|
2461 |
+
1 0 0 1 62.69291 738.3543 cm
|
2462 |
+
q
|
2463 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (4 Ablaufbeschreibung und Features) Tj T* ET
|
2464 |
+
Q
|
2465 |
+
Q
|
2466 |
+
q
|
2467 |
+
1 0 0 1 62.69291 708.3543 cm
|
2468 |
+
q
|
2469 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (4.1 Annahme einer Bestellung) Tj T* ET
|
2470 |
+
Q
|
2471 |
+
Q
|
2472 |
+
q
|
2473 |
+
1 0 0 1 62.69291 690.3543 cm
|
2474 |
+
q
|
2475 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Folgenden wird beschrieben, wie sich die Extension ) Tj /F3 10 Tf (DHL Versenden ) Tj /F1 10 Tf (in den Bestellprozess integriert.) Tj T* ET
|
2476 |
+
Q
|
2477 |
+
Q
|
2478 |
+
q
|
2479 |
+
1 0 0 1 62.69291 663.3543 cm
|
2480 |
+
q
|
2481 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (4.1.1 Checkout) Tj T* ET
|
2482 |
+
Q
|
2483 |
+
Q
|
2484 |
+
q
|
2485 |
+
1 0 0 1 62.69291 621.3543 cm
|
2486 |
+
q
|
2487 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (In der ) Tj 0 0 .501961 rg (Modulkonfiguration ) Tj 0 0 0 rg (wurden Versandarten f\374r die r\374ckw\344rtige Abwicklung der Versandauftr\344ge /) Tj T* (Erstellung der Paketaufkleber eingestellt. W\344hlt der Kunde im Checkout-Schritt ) Tj /F3 10 Tf (Versandart ) Tj /F1 10 Tf (eine dieser) Tj T* (DHL-Versandarten, so werden ihm die in der Konfiguration aktivierten Zusatzleistungen zur Wahl gestellt.) Tj T* ET
|
2488 |
+
Q
|
2489 |
+
Q
|
2490 |
+
q
|
2491 |
+
1 0 0 1 133.4778 242.5383 cm
|
2492 |
+
q
|
2493 |
+
328.32 0 0 372.816 0 0 cm
|
2494 |
+
/FormXob.575524246c7c586090f6eb3cf78c0855 Do
|
2495 |
+
Q
|
2496 |
+
Q
|
2497 |
+
q
|
2498 |
+
1 0 0 1 62.69291 212.5383 cm
|
2499 |
+
q
|
2500 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Checkout-Schritt ) Tj /F3 10 Tf (Zahlungsinformation ) Tj /F1 10 Tf (werden Nachnahme-Zahlungen deaktiviert, falls der) Tj T* (Nachnahme-Service f\374r die gew\344hlte Lieferadresse nicht zur Verf\374gung steht.) Tj T* ET
|
2501 |
+
Q
|
2502 |
+
Q
|
2503 |
+
q
|
2504 |
+
1 0 0 1 62.69291 146.5383 cm
|
2505 |
+
q
|
2506 |
+
0 0 0 rg
|
2507 |
+
BT 1 0 0 1 0 50 Tm /F1 10 Tf 12 TL (Zus\344tzlich gibt es die M\366glichkeit auf den unteren Link "Oder w\344hlen Sie die Lieferung an einen) Tj T* (Paketshop oder eine Postfiliale" zu klicken. Dadurch wird der Kunde zum zweiten Step, der Lieferadresse,) Tj T* (zur\374ck geleitet und kann nun einen DHL Abholort w\344hlen, f\374r F\344lle in denen der Kunde nicht wusste, dass) Tj T* (so eine M\366glichkeit besteht oder vergessen hat. Au\337erdem, falls das Modul "Dhl Locationfinder" installiert) Tj T* (ist, wird bereits vorausgew\344hlt, dass der Parcelshop Finder verwendet werden soll.) Tj T* ET
|
2508 |
+
Q
|
2509 |
+
Q
|
2510 |
+
q
|
2511 |
+
1 0 0 1 62.69291 146.5383 cm
|
2512 |
+
Q
|
2513 |
+
q
|
2514 |
+
1 0 0 1 411.0236 779.5276 cm
|
2515 |
+
q
|
2516 |
+
127.5591 0 0 34.01575 0 0 cm
|
2517 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
2518 |
+
Q
|
2519 |
+
Q
|
2520 |
+
q
|
2521 |
+
1 0 0 1 56.69291 56.69291 cm
|
2522 |
+
0 0 0 rg
|
2523 |
+
BT /F1 10 Tf 12 TL ET
|
2524 |
+
q
|
2525 |
+
1 0 0 1 6 3 cm
|
2526 |
+
q
|
2527 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
2528 |
+
Q
|
2529 |
+
Q
|
2530 |
+
q
|
2531 |
+
1 0 0 1 246.9449 3 cm
|
2532 |
+
q
|
2533 |
+
0 0 0 rg
|
2534 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (8/15) Tj T* -209.4849 0 Td ET
|
2535 |
+
Q
|
2536 |
+
Q
|
2537 |
+
q
|
2538 |
+
Q
|
2539 |
+
Q
|
2540 |
+
|
2541 |
+
endstream
|
2542 |
+
endobj
|
2543 |
+
155 0 obj
|
2544 |
+
<< /Length 6131 >>
|
2545 |
+
stream
|
2546 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
2547 |
+
q
|
2548 |
+
1 0 0 1 62.69291 744.3543 cm
|
2549 |
+
q
|
2550 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (4.1.2 Admin Order) Tj T* ET
|
2551 |
+
Q
|
2552 |
+
Q
|
2553 |
+
q
|
2554 |
+
1 0 0 1 62.69291 702.3543 cm
|
2555 |
+
q
|
2556 |
+
0 0 0 rg
|
2557 |
+
BT 1 0 0 1 0 26 Tm /F1 10 Tf 12 TL (Bei der Erzeugung von Bestellungen im Admin Panel stehen keine Zusatzleistungen zur Verf\374gung.) Tj T* (Nachnahme-Zahlarten werden ebenso wie im Checkout deaktiviert, falls der Nachnahme-Service f\374r die) Tj T* (gew\344hlte Lieferadresse nicht zur Verf\374gung steht.) Tj T* ET
|
2558 |
+
Q
|
2559 |
+
Q
|
2560 |
+
q
|
2561 |
+
1 0 0 1 62.69291 675.3543 cm
|
2562 |
+
q
|
2563 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (4.1.3 DHL Lieferadressen \(Packstationen, Postfilialen, Paket-Shops\)) Tj T* ET
|
2564 |
+
Q
|
2565 |
+
Q
|
2566 |
+
q
|
2567 |
+
1 0 0 1 62.69291 645.3543 cm
|
2568 |
+
q
|
2569 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Die Extension ) Tj /F3 10 Tf (DHL Versenden ) Tj /F1 10 Tf (selbst bietet nur eine eingeschr\344nkte Unterst\374tzung von DHL) Tj T* (Lieferadressen im Checkout:) Tj T* ET
|
2570 |
+
Q
|
2571 |
+
Q
|
2572 |
+
q
|
2573 |
+
1 0 0 1 62.69291 639.3543 cm
|
2574 |
+
Q
|
2575 |
+
q
|
2576 |
+
1 0 0 1 62.69291 639.3543 cm
|
2577 |
+
Q
|
2578 |
+
q
|
2579 |
+
1 0 0 1 62.69291 627.3543 cm
|
2580 |
+
0 0 0 rg
|
2581 |
+
BT /F1 10 Tf 12 TL ET
|
2582 |
+
q
|
2583 |
+
1 0 0 1 6 -3 cm
|
2584 |
+
q
|
2585 |
+
0 0 0 rg
|
2586 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2587 |
+
Q
|
2588 |
+
Q
|
2589 |
+
q
|
2590 |
+
1 0 0 1 23 -3 cm
|
2591 |
+
q
|
2592 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Das Format ) Tj /F3 10 Tf (Packstation 123 ) Tj /F1 10 Tf (im Feld ) Tj /F3 10 Tf (Stra\337e ) Tj /F1 10 Tf (wird erkannt.) Tj T* ET
|
2593 |
+
Q
|
2594 |
+
Q
|
2595 |
+
q
|
2596 |
+
Q
|
2597 |
+
Q
|
2598 |
+
q
|
2599 |
+
1 0 0 1 62.69291 621.3543 cm
|
2600 |
+
Q
|
2601 |
+
q
|
2602 |
+
1 0 0 1 62.69291 609.3543 cm
|
2603 |
+
0 0 0 rg
|
2604 |
+
BT /F1 10 Tf 12 TL ET
|
2605 |
+
q
|
2606 |
+
1 0 0 1 6 -3 cm
|
2607 |
+
q
|
2608 |
+
0 0 0 rg
|
2609 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2610 |
+
Q
|
2611 |
+
Q
|
2612 |
+
q
|
2613 |
+
1 0 0 1 23 -3 cm
|
2614 |
+
q
|
2615 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Das Format ) Tj /F3 10 Tf (Postfiliale 123 ) Tj /F1 10 Tf (im Feld ) Tj /F3 10 Tf (Stra\337e ) Tj /F1 10 Tf (wird erkannt.) Tj T* ET
|
2616 |
+
Q
|
2617 |
+
Q
|
2618 |
+
q
|
2619 |
+
Q
|
2620 |
+
Q
|
2621 |
+
q
|
2622 |
+
1 0 0 1 62.69291 603.3543 cm
|
2623 |
+
Q
|
2624 |
+
q
|
2625 |
+
1 0 0 1 62.69291 591.3543 cm
|
2626 |
+
0 0 0 rg
|
2627 |
+
BT /F1 10 Tf 12 TL ET
|
2628 |
+
q
|
2629 |
+
1 0 0 1 6 -3 cm
|
2630 |
+
q
|
2631 |
+
0 0 0 rg
|
2632 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2633 |
+
Q
|
2634 |
+
Q
|
2635 |
+
q
|
2636 |
+
1 0 0 1 23 -3 cm
|
2637 |
+
q
|
2638 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Ein numerischer Wert im Feld ) Tj /F3 10 Tf (Firma ) Tj /F1 10 Tf (wird als Postnummer erkannt.) Tj T* ET
|
2639 |
+
Q
|
2640 |
+
Q
|
2641 |
+
q
|
2642 |
+
Q
|
2643 |
+
Q
|
2644 |
+
q
|
2645 |
+
1 0 0 1 62.69291 587.3543 cm
|
2646 |
+
Q
|
2647 |
+
q
|
2648 |
+
1 0 0 1 62.69291 545.3543 cm
|
2649 |
+
q
|
2650 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Eine umfassendere Unterst\374tzung von DHL Lieferadressen im Zusammenspiel mit der Erteilung von) Tj T* (Versandauftr\344gen \374ber den DHL Webservice bietet die separate Extension ) Tj 0 0 .501961 rg (DHL Location Finder ) Tj 0 0 0 rg (ab der) Tj T* (Version 1.0.2:) Tj T* ET
|
2651 |
+
Q
|
2652 |
+
Q
|
2653 |
+
q
|
2654 |
+
1 0 0 1 62.69291 539.3543 cm
|
2655 |
+
Q
|
2656 |
+
q
|
2657 |
+
1 0 0 1 62.69291 539.3543 cm
|
2658 |
+
Q
|
2659 |
+
q
|
2660 |
+
1 0 0 1 62.69291 527.3543 cm
|
2661 |
+
0 0 0 rg
|
2662 |
+
BT /F1 10 Tf 12 TL ET
|
2663 |
+
q
|
2664 |
+
1 0 0 1 6 -3 cm
|
2665 |
+
q
|
2666 |
+
0 0 0 rg
|
2667 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2668 |
+
Q
|
2669 |
+
Q
|
2670 |
+
q
|
2671 |
+
1 0 0 1 23 -3 cm
|
2672 |
+
q
|
2673 |
+
0 0 0 rg
|
2674 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Interaktive Karte zur Auswahl der DHL Lieferadresse) Tj T* ET
|
2675 |
+
Q
|
2676 |
+
Q
|
2677 |
+
q
|
2678 |
+
Q
|
2679 |
+
Q
|
2680 |
+
q
|
2681 |
+
1 0 0 1 62.69291 521.3543 cm
|
2682 |
+
Q
|
2683 |
+
q
|
2684 |
+
1 0 0 1 62.69291 509.3543 cm
|
2685 |
+
0 0 0 rg
|
2686 |
+
BT /F1 10 Tf 12 TL ET
|
2687 |
+
q
|
2688 |
+
1 0 0 1 6 -3 cm
|
2689 |
+
q
|
2690 |
+
0 0 0 rg
|
2691 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2692 |
+
Q
|
2693 |
+
Q
|
2694 |
+
q
|
2695 |
+
1 0 0 1 23 -3 cm
|
2696 |
+
q
|
2697 |
+
0 0 0 rg
|
2698 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Validierung der Kundeneingaben) Tj T* ET
|
2699 |
+
Q
|
2700 |
+
Q
|
2701 |
+
q
|
2702 |
+
Q
|
2703 |
+
Q
|
2704 |
+
q
|
2705 |
+
1 0 0 1 62.69291 503.3543 cm
|
2706 |
+
Q
|
2707 |
+
q
|
2708 |
+
1 0 0 1 62.69291 491.3543 cm
|
2709 |
+
0 0 0 rg
|
2710 |
+
BT /F1 10 Tf 12 TL ET
|
2711 |
+
q
|
2712 |
+
1 0 0 1 6 -3 cm
|
2713 |
+
q
|
2714 |
+
0 0 0 rg
|
2715 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2716 |
+
Q
|
2717 |
+
Q
|
2718 |
+
q
|
2719 |
+
1 0 0 1 23 -3 cm
|
2720 |
+
q
|
2721 |
+
0 0 0 rg
|
2722 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Unterst\374tzung von Paket-Shops) Tj T* ET
|
2723 |
+
Q
|
2724 |
+
Q
|
2725 |
+
q
|
2726 |
+
Q
|
2727 |
+
Q
|
2728 |
+
q
|
2729 |
+
1 0 0 1 62.69291 487.3543 cm
|
2730 |
+
Q
|
2731 |
+
q
|
2732 |
+
1 0 0 1 62.69291 457.3543 cm
|
2733 |
+
q
|
2734 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (4.2 Erstellen eines Versandauftrags) Tj T* ET
|
2735 |
+
Q
|
2736 |
+
Q
|
2737 |
+
q
|
2738 |
+
1 0 0 1 62.69291 427.3543 cm
|
2739 |
+
q
|
2740 |
+
0 0 0 rg
|
2741 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Im Folgenden Abschnitt wird beschrieben, wie zu einer Bestellung ein Versandauftrag erstellt und ein) Tj T* (Paketaufkleber abgerufen wird.) Tj T* ET
|
2742 |
+
Q
|
2743 |
+
Q
|
2744 |
+
q
|
2745 |
+
1 0 0 1 62.69291 400.3543 cm
|
2746 |
+
q
|
2747 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (4.2.1 Nationale Sendungen) Tj T* ET
|
2748 |
+
Q
|
2749 |
+
Q
|
2750 |
+
q
|
2751 |
+
1 0 0 1 62.69291 370.3543 cm
|
2752 |
+
q
|
2753 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (\326ffnen Sie im Admin Panel eine Bestellung, deren Versandart mit dem DHL Gesch\344ftskundenversand) Tj T* (verkn\374pft ist. Bet\344tigen Sie dann den Button ) Tj /F3 10 Tf (Versand ) Tj /F1 10 Tf (im oberen Bereich der Seite.) Tj T* ET
|
2754 |
+
Q
|
2755 |
+
Q
|
2756 |
+
q
|
2757 |
+
1 0 0 1 197.6378 264.3543 cm
|
2758 |
+
q
|
2759 |
+
200 0 0 100 0 0 cm
|
2760 |
+
/FormXob.951dab6e6d9000cdbeb6f1e39f570c2f Do
|
2761 |
+
Q
|
2762 |
+
Q
|
2763 |
+
q
|
2764 |
+
1 0 0 1 62.69291 234.3543 cm
|
2765 |
+
q
|
2766 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Es \366ffnet sich die Seite ) Tj /F3 10 Tf (Neuer Versand f\374r Bestellung) Tj /F1 10 Tf (. W\344hlen Sie die Checkbox ) Tj /F3 10 Tf (Paketaufkleber erstellen) Tj T* /F1 10 Tf (an und bet\344tigen Sie den Button ) Tj /F3 10 Tf (Lieferschein erstellen\205) Tj /F1 10 Tf (.) Tj T* ET
|
2767 |
+
Q
|
2768 |
+
Q
|
2769 |
+
q
|
2770 |
+
1 0 0 1 185.1378 137.6043 cm
|
2771 |
+
q
|
2772 |
+
225 0 0 90.75 0 0 cm
|
2773 |
+
/FormXob.c37f45addc2f33c7ad1bb648907f364c Do
|
2774 |
+
Q
|
2775 |
+
Q
|
2776 |
+
q
|
2777 |
+
1 0 0 1 62.69291 95.60433 cm
|
2778 |
+
q
|
2779 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Es \366ffnet sich nun ein Popup zur Definition der im Paket enthaltenen Artikel. Bet\344tigen Sie den Button) Tj T* /F3 10 Tf (Artikel hinzuf\374gen) Tj /F1 10 Tf (, markieren Sie die bestellten Produkte und best\344tigen Sie Ihre Auswahl durch Klick auf) Tj T* /F3 10 Tf (Gew\344hlte Artikel zum Paket hinzuf\374gen) Tj /F1 10 Tf (. Die Angabe der Paketma\337e ist optional.) Tj T* ET
|
2780 |
+
Q
|
2781 |
+
Q
|
2782 |
+
q
|
2783 |
+
1 0 0 1 62.69291 94.86614 cm
|
2784 |
+
Q
|
2785 |
+
q
|
2786 |
+
1 0 0 1 411.0236 779.5276 cm
|
2787 |
+
q
|
2788 |
+
127.5591 0 0 34.01575 0 0 cm
|
2789 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
2790 |
+
Q
|
2791 |
+
Q
|
2792 |
+
q
|
2793 |
+
1 0 0 1 56.69291 56.69291 cm
|
2794 |
+
0 0 0 rg
|
2795 |
+
BT /F1 10 Tf 12 TL ET
|
2796 |
+
q
|
2797 |
+
1 0 0 1 6 3 cm
|
2798 |
+
q
|
2799 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
2800 |
+
Q
|
2801 |
+
Q
|
2802 |
+
q
|
2803 |
+
1 0 0 1 246.9449 3 cm
|
2804 |
+
q
|
2805 |
+
0 0 0 rg
|
2806 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 209.4849 0 Td (9/15) Tj T* -209.4849 0 Td ET
|
2807 |
+
Q
|
2808 |
+
Q
|
2809 |
+
q
|
2810 |
+
Q
|
2811 |
+
Q
|
2812 |
+
|
2813 |
+
endstream
|
2814 |
+
endobj
|
2815 |
+
156 0 obj
|
2816 |
+
<< /Length 3560 >>
|
2817 |
+
stream
|
2818 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
2819 |
+
q
|
2820 |
+
1 0 0 1 62.69291 676.3543 cm
|
2821 |
+
.960784 .960784 .862745 rg
|
2822 |
+
n 0 83 469.8898 -83 re f*
|
2823 |
+
0 0 0 rg
|
2824 |
+
BT /F1 10 Tf 12 TL ET
|
2825 |
+
BT 1 0 0 1 6 57 Tm T* ET
|
2826 |
+
q
|
2827 |
+
1 0 0 1 16 52 cm
|
2828 |
+
q
|
2829 |
+
0 0 0 rg
|
2830 |
+
BT 1 0 0 1 0 2.5 Tm /F6 12.5 Tf 15 TL (Hinweis) Tj T* ET
|
2831 |
+
Q
|
2832 |
+
Q
|
2833 |
+
q
|
2834 |
+
1 0 0 1 16 16 cm
|
2835 |
+
q
|
2836 |
+
0 0 0 rg
|
2837 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Die Aufteilung der Produkte in mehrere Pakete wird vom DHL Webservice derzeit nicht unterst\374tzt.) Tj T* (Erstellen Sie alternativ mehrere Lieferscheine \(Partial Shipments\) zu einer Bestellung.) Tj T* ET
|
2838 |
+
Q
|
2839 |
+
Q
|
2840 |
+
q
|
2841 |
+
1 J
|
2842 |
+
1 j
|
2843 |
+
.662745 .662745 .662745 RG
|
2844 |
+
.5 w
|
2845 |
+
n 0 83 m 469.8898 83 l S
|
2846 |
+
n 0 0 m 469.8898 0 l S
|
2847 |
+
n 0 0 m 0 83 l S
|
2848 |
+
n 469.8898 0 m 469.8898 83 l S
|
2849 |
+
Q
|
2850 |
+
Q
|
2851 |
+
q
|
2852 |
+
1 0 0 1 62.69291 670.3543 cm
|
2853 |
+
Q
|
2854 |
+
q
|
2855 |
+
1 0 0 1 62.69291 616.3543 cm
|
2856 |
+
q
|
2857 |
+
BT 1 0 0 1 0 38 Tm 12 TL /F1 10 Tf 0 0 0 rg (Der Button ) Tj /F3 10 Tf (OK ) Tj /F1 10 Tf (im Popup ist nun aktiviert. Bei Bet\344tigung wird ein Versandauftrag an DHL \374bermittelt und) Tj T* (im Erfolgsfall der resultierende Paketaufkleber abgerufen. Im Fehlerfall wird die vom Webservice) Tj T* (erhaltene Fehlermeldung eingeblendet und die Bestellung kann entsprechend korrigiert werden, siehe) Tj T* (auch ) Tj 0 0 .501961 rg (Fehlerbehandlung) Tj 0 0 0 rg (.) Tj T* ET
|
2858 |
+
Q
|
2859 |
+
Q
|
2860 |
+
q
|
2861 |
+
1 0 0 1 62.69291 589.3543 cm
|
2862 |
+
q
|
2863 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (4.2.2 Internationale Sendungen) Tj T* ET
|
2864 |
+
Q
|
2865 |
+
Q
|
2866 |
+
q
|
2867 |
+
1 0 0 1 62.69291 547.3543 cm
|
2868 |
+
q
|
2869 |
+
0 0 0 rg
|
2870 |
+
BT 1 0 0 1 0 26 Tm /F1 10 Tf 12 TL (Bei Sendungen mit einer Lieferadresse au\337erhalb der EU werden zus\344tzliche Felder im Popup zur) Tj T* (Definition der im Paket enthaltenen Artikel eingeblendet. Geben Sie f\374r den Abruf der notwendigen) Tj T* (Exportdokumente mindestens die Zolltarifnummern sowie den Inhaltstyp der Sendung an.) Tj T* ET
|
2871 |
+
Q
|
2872 |
+
Q
|
2873 |
+
q
|
2874 |
+
1 0 0 1 62.69291 529.3543 cm
|
2875 |
+
q
|
2876 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Gehen Sie ansonsten wie im Abschnitt ) Tj 0 0 .501961 rg (Nationale Sendungen ) Tj 0 0 0 rg (beschrieben vor.) Tj T* ET
|
2877 |
+
Q
|
2878 |
+
Q
|
2879 |
+
q
|
2880 |
+
1 0 0 1 62.69291 502.3543 cm
|
2881 |
+
q
|
2882 |
+
BT 1 0 0 1 0 2.5 Tm 15 TL /F6 12.5 Tf 0 0 0 rg (4.2.3 Service-Auswahl) Tj T* ET
|
2883 |
+
Q
|
2884 |
+
Q
|
2885 |
+
q
|
2886 |
+
1 0 0 1 62.69291 448.3543 cm
|
2887 |
+
q
|
2888 |
+
0 0 0 rg
|
2889 |
+
BT 1 0 0 1 0 38 Tm /F1 10 Tf 12 TL (Neben den im Checkout verf\374gbaren Zusatzleistungen, die sich an den Endverbraucher wenden, stehen) Tj T* (f\374r den DHL Gesch\344ftskundenversand weitere, an den H\344ndler gerichtete, Services zur Verf\374gung. Die) Tj T* (f\374r die aktuelle Lieferadresse m\366glichen Zusatzleistungen werden im Popup zur Definition der im Paket) Tj T* (enthaltenen Artikel eingeblendet.) Tj T* ET
|
2890 |
+
Q
|
2891 |
+
Q
|
2892 |
+
q
|
2893 |
+
1 0 0 1 74.8278 194.5543 cm
|
2894 |
+
q
|
2895 |
+
445.62 0 0 247.8 0 0 cm
|
2896 |
+
/FormXob.ce51f15940bb1ad7229790365dc5027c Do
|
2897 |
+
Q
|
2898 |
+
Q
|
2899 |
+
q
|
2900 |
+
1 0 0 1 62.69291 164.5543 cm
|
2901 |
+
q
|
2902 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Die vom Kunden im Checkout gew\344hlten Services sind entsprechend vorbelegt, ebenso wie die) Tj T* /F3 10 Tf (Adresspr\374fung ) Tj /F1 10 Tf (\(Nur leitkodierbare Versandauftr\344ge erteilen\) gem\344\337 der ) Tj 0 0 .501961 rg (Modulkonfiguration) Tj 0 0 0 rg (.) Tj T* ET
|
2903 |
+
Q
|
2904 |
+
Q
|
2905 |
+
q
|
2906 |
+
1 0 0 1 62.69291 164.5543 cm
|
2907 |
+
Q
|
2908 |
+
q
|
2909 |
+
1 0 0 1 411.0236 779.5276 cm
|
2910 |
+
q
|
2911 |
+
127.5591 0 0 34.01575 0 0 cm
|
2912 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
2913 |
+
Q
|
2914 |
+
Q
|
2915 |
+
q
|
2916 |
+
1 0 0 1 56.69291 56.69291 cm
|
2917 |
+
0 0 0 rg
|
2918 |
+
BT /F1 10 Tf 12 TL ET
|
2919 |
+
q
|
2920 |
+
1 0 0 1 6 3 cm
|
2921 |
+
q
|
2922 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
2923 |
+
Q
|
2924 |
+
Q
|
2925 |
+
q
|
2926 |
+
1 0 0 1 246.9449 3 cm
|
2927 |
+
q
|
2928 |
+
0 0 0 rg
|
2929 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 203.9249 0 Td (10/15) Tj T* -203.9249 0 Td ET
|
2930 |
+
Q
|
2931 |
+
Q
|
2932 |
+
q
|
2933 |
+
Q
|
2934 |
+
Q
|
2935 |
+
|
2936 |
+
endstream
|
2937 |
+
endobj
|
2938 |
+
157 0 obj
|
2939 |
+
<< /Length 5610 >>
|
2940 |
+
stream
|
2941 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
2942 |
+
q
|
2943 |
+
1 0 0 1 62.69291 741.3543 cm
|
2944 |
+
q
|
2945 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (4.3 Drucken eines Paketaufklebers) Tj T* ET
|
2946 |
+
Q
|
2947 |
+
Q
|
2948 |
+
q
|
2949 |
+
1 0 0 1 62.69291 711.3543 cm
|
2950 |
+
q
|
2951 |
+
0 0 0 rg
|
2952 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Erfolgreich abgerufene Paketaufkleber k\366nnen standardm\344\337ig an verschiedenen Stellen im Admin Panel) Tj T* (eingesehen werden:) Tj T* ET
|
2953 |
+
Q
|
2954 |
+
Q
|
2955 |
+
q
|
2956 |
+
1 0 0 1 62.69291 705.3543 cm
|
2957 |
+
Q
|
2958 |
+
q
|
2959 |
+
1 0 0 1 62.69291 705.3543 cm
|
2960 |
+
Q
|
2961 |
+
q
|
2962 |
+
1 0 0 1 62.69291 693.3543 cm
|
2963 |
+
0 0 0 rg
|
2964 |
+
BT /F1 10 Tf 12 TL ET
|
2965 |
+
q
|
2966 |
+
1 0 0 1 6 -3 cm
|
2967 |
+
q
|
2968 |
+
0 0 0 rg
|
2969 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2970 |
+
Q
|
2971 |
+
Q
|
2972 |
+
q
|
2973 |
+
1 0 0 1 23 -3 cm
|
2974 |
+
q
|
2975 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Verk\344ufe ) Tj /F5 10 Tf 12 TL (\256) Tj /F1 10 Tf 12 TL ( Bestellungen ) Tj /F5 10 Tf 12 TL (\256) Tj /F1 10 Tf 12 TL ( Massenaktion ) Tj /F3 10 Tf (Paketaufkleber drucken) Tj T* ET
|
2976 |
+
Q
|
2977 |
+
Q
|
2978 |
+
q
|
2979 |
+
Q
|
2980 |
+
Q
|
2981 |
+
q
|
2982 |
+
1 0 0 1 62.69291 687.3543 cm
|
2983 |
+
Q
|
2984 |
+
q
|
2985 |
+
1 0 0 1 62.69291 675.3543 cm
|
2986 |
+
0 0 0 rg
|
2987 |
+
BT /F1 10 Tf 12 TL ET
|
2988 |
+
q
|
2989 |
+
1 0 0 1 6 -3 cm
|
2990 |
+
q
|
2991 |
+
0 0 0 rg
|
2992 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
2993 |
+
Q
|
2994 |
+
Q
|
2995 |
+
q
|
2996 |
+
1 0 0 1 23 -3 cm
|
2997 |
+
q
|
2998 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Verk\344ufe ) Tj /F5 10 Tf 12 TL (\256) Tj /F1 10 Tf 12 TL ( Lieferscheine ) Tj /F5 10 Tf 12 TL (\256) Tj /F1 10 Tf 12 TL ( Massenaktion ) Tj /F3 10 Tf (Paketaufkleber drucken) Tj T* ET
|
2999 |
+
Q
|
3000 |
+
Q
|
3001 |
+
q
|
3002 |
+
Q
|
3003 |
+
Q
|
3004 |
+
q
|
3005 |
+
1 0 0 1 62.69291 669.3543 cm
|
3006 |
+
Q
|
3007 |
+
q
|
3008 |
+
1 0 0 1 62.69291 657.3543 cm
|
3009 |
+
0 0 0 rg
|
3010 |
+
BT /F1 10 Tf 12 TL ET
|
3011 |
+
q
|
3012 |
+
1 0 0 1 6 -3 cm
|
3013 |
+
q
|
3014 |
+
0 0 0 rg
|
3015 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3016 |
+
Q
|
3017 |
+
Q
|
3018 |
+
q
|
3019 |
+
1 0 0 1 23 -3 cm
|
3020 |
+
q
|
3021 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Detail-Ansicht eines Lieferscheins ) Tj /F5 10 Tf 12 TL (\256) Tj /F1 10 Tf 12 TL ( Button ) Tj /F3 10 Tf (Paketaufkleber drucken) Tj T* ET
|
3022 |
+
Q
|
3023 |
+
Q
|
3024 |
+
q
|
3025 |
+
Q
|
3026 |
+
Q
|
3027 |
+
q
|
3028 |
+
1 0 0 1 62.69291 653.3543 cm
|
3029 |
+
Q
|
3030 |
+
q
|
3031 |
+
1 0 0 1 62.69291 623.3543 cm
|
3032 |
+
q
|
3033 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (4.4 Stornieren eines Versandauftrags) Tj T* ET
|
3034 |
+
Q
|
3035 |
+
Q
|
3036 |
+
q
|
3037 |
+
1 0 0 1 62.69291 581.3543 cm
|
3038 |
+
q
|
3039 |
+
BT 1 0 0 1 0 26 Tm 12 TL /F1 10 Tf 0 0 0 rg (Solange ein Versandauftrag nicht manifestiert ist, kann dieser \374ber den DHL Webservice storniert werden.) Tj T* (\326ffnen Sie dazu im Admin-Panel die Detail-Ansicht eines Lieferscheins und bet\344tigen Sie den Link) Tj T* /F3 10 Tf (L\366schen ) Tj /F1 10 Tf (in der Box ) Tj /F3 10 Tf (Versand- und Trackinginformationen ) Tj /F1 10 Tf (neben der Sendungsnummer.) Tj T* ET
|
3040 |
+
Q
|
3041 |
+
Q
|
3042 |
+
q
|
3043 |
+
1 0 0 1 106.0128 421.6043 cm
|
3044 |
+
q
|
3045 |
+
383.25 0 0 153.75 0 0 cm
|
3046 |
+
/FormXob.7980eb6a875671f0d5a1bf140a86c5a9 Do
|
3047 |
+
Q
|
3048 |
+
Q
|
3049 |
+
q
|
3050 |
+
1 0 0 1 62.69291 391.6043 cm
|
3051 |
+
q
|
3052 |
+
0 0 0 rg
|
3053 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Wenn der Versandauftrag erfolgreich \374ber den DHL Webservice storniert wurde, werden) Tj T* (Sendungsnummer und Paketaufkleber aus dem System entfernt.) Tj T* ET
|
3054 |
+
Q
|
3055 |
+
Q
|
3056 |
+
q
|
3057 |
+
1 0 0 1 62.69291 361.6043 cm
|
3058 |
+
q
|
3059 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (4.5 Automatische Sendungserstellung) Tj T* ET
|
3060 |
+
Q
|
3061 |
+
Q
|
3062 |
+
q
|
3063 |
+
1 0 0 1 62.69291 283.6043 cm
|
3064 |
+
q
|
3065 |
+
BT 1 0 0 1 0 62 Tm 12 TL /F1 10 Tf 0 0 0 rg (Der manuelle Prozess zur Erstellung von Versandauftr\344gen ist insbesondere f\374r H\344ndler mit hohem) Tj T* (Versandvolumen sehr zeitaufwendig und unkomfortabel. Um den Abruf von Paketaufklebern zu) Tj T* (erleichtern, k\366nnen Sie das Erstellen von Lieferscheinen und Versandauftr\344gen automatisieren. Aktivieren) Tj T* (Sie dazu in der ) Tj 0 0 .501961 rg (Modulkonfiguration ) Tj 0 0 0 rg (die automatische Sendungserstellung und legen Sie fest, welche) Tj T* (Zusatzleistungen \(neben den im Checkout gew\344hlten Services\) f\374r alle automatisch erzeugten) Tj T* (Versandauftr\344ge hinzugebucht werden sollen.) Tj T* ET
|
3066 |
+
Q
|
3067 |
+
Q
|
3068 |
+
q
|
3069 |
+
1 0 0 1 62.69291 271.6043 cm
|
3070 |
+
Q
|
3071 |
+
q
|
3072 |
+
1 0 0 1 53.29291 161.4043 cm
|
3073 |
+
.960784 .960784 .862745 rg
|
3074 |
+
n 0 110.2 488.6898 -110.2 re f*
|
3075 |
+
0 0 0 rg
|
3076 |
+
BT /F1 10 Tf 12 TL ET
|
3077 |
+
BT 1 0 0 1 6 84.2 Tm T* ET
|
3078 |
+
q
|
3079 |
+
1 0 0 1 16 79.2 cm
|
3080 |
+
q
|
3081 |
+
0 0 0 rg
|
3082 |
+
BT 1 0 0 1 0 2.5 Tm /F6 12.5 Tf 15 TL (Hinweis) Tj T* ET
|
3083 |
+
Q
|
3084 |
+
Q
|
3085 |
+
q
|
3086 |
+
1 0 0 1 16 55.2 cm
|
3087 |
+
q
|
3088 |
+
0 0 0 rg
|
3089 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Die automatische Sendungserstellung erfordert die Einrichtung der Cron Jobs.) Tj T* ET
|
3090 |
+
Q
|
3091 |
+
Q
|
3092 |
+
q
|
3093 |
+
1 0 0 1 16 16 cm
|
3094 |
+
q
|
3095 |
+
q
|
3096 |
+
1 0 0 1 0 0 cm
|
3097 |
+
q
|
3098 |
+
1 0 0 1 6.6 6.6 cm
|
3099 |
+
q
|
3100 |
+
.662745 .662745 .662745 RG
|
3101 |
+
.5 w
|
3102 |
+
.960784 .960784 .862745 rg
|
3103 |
+
n -6 -6 436.6898 30 re B*
|
3104 |
+
Q
|
3105 |
+
q
|
3106 |
+
0 0 0 rg
|
3107 |
+
BT 1 0 0 1 0 10.5 Tm /F4 7.5 Tf 9 TL (# m h dom mon dow user command) Tj T* (*/15 * * * * /bin/sh /absolute/path/to/magento/cron.sh) Tj T* ET
|
3108 |
+
Q
|
3109 |
+
Q
|
3110 |
+
Q
|
3111 |
+
Q
|
3112 |
+
Q
|
3113 |
+
q
|
3114 |
+
1 J
|
3115 |
+
1 j
|
3116 |
+
.662745 .662745 .662745 RG
|
3117 |
+
.5 w
|
3118 |
+
n 0 110.2 m 488.6898 110.2 l S
|
3119 |
+
n 0 0 m 488.6898 0 l S
|
3120 |
+
n 0 0 m 0 110.2 l S
|
3121 |
+
n 488.6898 0 m 488.6898 110.2 l S
|
3122 |
+
Q
|
3123 |
+
Q
|
3124 |
+
q
|
3125 |
+
1 0 0 1 62.69291 155.4043 cm
|
3126 |
+
Q
|
3127 |
+
q
|
3128 |
+
1 0 0 1 62.69291 101.4043 cm
|
3129 |
+
q
|
3130 |
+
BT 1 0 0 1 0 38 Tm 12 TL /F1 10 Tf 0 0 0 rg (Im Abstand von 15 Minuten wird die Extension ) Tj /F3 10 Tf (DHL Versenden ) Tj /F1 10 Tf (alle gem\344\337 der getroffenen Einstellungen) Tj T* (versandbereiten Bestellungen sammeln, Lieferscheine erstellen und Versandauftr\344ge an DHL \374bermitteln.) Tj T* (Grunds\344tzlich ausgenommen von der automatischen Sendungserstellung sind Bestellungen, die) Tj T* (Exportdokumente erfordern.) Tj T* ET
|
3131 |
+
Q
|
3132 |
+
Q
|
3133 |
+
q
|
3134 |
+
1 0 0 1 411.0236 779.5276 cm
|
3135 |
+
q
|
3136 |
+
127.5591 0 0 34.01575 0 0 cm
|
3137 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
3138 |
+
Q
|
3139 |
+
Q
|
3140 |
+
q
|
3141 |
+
1 0 0 1 56.69291 56.69291 cm
|
3142 |
+
0 0 0 rg
|
3143 |
+
BT /F1 10 Tf 12 TL ET
|
3144 |
+
q
|
3145 |
+
1 0 0 1 6 3 cm
|
3146 |
+
q
|
3147 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
3148 |
+
Q
|
3149 |
+
Q
|
3150 |
+
q
|
3151 |
+
1 0 0 1 246.9449 3 cm
|
3152 |
+
q
|
3153 |
+
0 0 0 rg
|
3154 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 203.9249 0 Td (11/15) Tj T* -203.9249 0 Td ET
|
3155 |
+
Q
|
3156 |
+
Q
|
3157 |
+
q
|
3158 |
+
Q
|
3159 |
+
Q
|
3160 |
+
|
3161 |
+
endstream
|
3162 |
+
endobj
|
3163 |
+
158 0 obj
|
3164 |
+
<< /Length 6152 >>
|
3165 |
+
stream
|
3166 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
3167 |
+
q
|
3168 |
+
1 0 0 1 62.69291 735.3543 cm
|
3169 |
+
q
|
3170 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Sollten Sie den Zeitplan f\374r die automatische Sendungserstellung anpassen oder die Ausf\374hrung besser) Tj T* (\374berwachen wollen, installieren Sie die Extension ) Tj 0 0 .501961 rg (Aoe_Scheduler) Tj 0 0 0 rg (.) Tj T* ET
|
3171 |
+
Q
|
3172 |
+
Q
|
3173 |
+
q
|
3174 |
+
1 0 0 1 62.69291 705.3543 cm
|
3175 |
+
q
|
3176 |
+
BT 1 0 0 1 0 3 Tm 18 TL /F2 15 Tf 0 0 0 rg (4.6 Fehlerbehandlung) Tj T* ET
|
3177 |
+
Q
|
3178 |
+
Q
|
3179 |
+
q
|
3180 |
+
1 0 0 1 62.69291 663.3543 cm
|
3181 |
+
q
|
3182 |
+
0 0 0 rg
|
3183 |
+
BT 1 0 0 1 0 26 Tm /F1 10 Tf 12 TL (W\344hrend der \334bertragung von Versandauftr\344gen an den DHL Webservice kann es zu Fehlern bei der) Tj T* (Erstellung eines Paketaufklebers kommen. Die Ursache daf\374r ist in der Regel eine invalide Lieferadresse) Tj T* (oder eine f\374r die Lieferadresse nicht unterst\374tzte Kombination von Zusatzleistungen.) Tj T* ET
|
3184 |
+
Q
|
3185 |
+
Q
|
3186 |
+
q
|
3187 |
+
1 0 0 1 62.69291 597.3543 cm
|
3188 |
+
q
|
3189 |
+
BT 1 0 0 1 0 50 Tm 12 TL /F1 10 Tf 0 0 0 rg (Bei der manuellen Erstellung von Versandauftr\344gen bekommen Sie die vom Webservice) Tj T* (zur\374ckgemeldete Fehlermeldung direkt angezeigt. Bei der automatischen Sendungserstellung werden) Tj T* (Fehlermeldungen als Bestellkommentare an der betroffenen Bestellung gespeichert. Wenn die) Tj T* (Protokollierung in der ) Tj 0 0 .501961 rg (Modulkonfiguration ) Tj 0 0 0 rg (eingerichtet ist, k\366nnen Sie fehlerhafte Versandauftr\344ge auch in) Tj T* (der Log-Datei detailliert nachvollziehen.) Tj T* ET
|
3190 |
+
Q
|
3191 |
+
Q
|
3192 |
+
q
|
3193 |
+
1 0 0 1 62.69291 585.3543 cm
|
3194 |
+
Q
|
3195 |
+
q
|
3196 |
+
1 0 0 1 62.69291 502.3543 cm
|
3197 |
+
.960784 .960784 .862745 rg
|
3198 |
+
n 0 83 469.8898 -83 re f*
|
3199 |
+
0 0 0 rg
|
3200 |
+
BT /F1 10 Tf 12 TL ET
|
3201 |
+
BT 1 0 0 1 6 57 Tm T* ET
|
3202 |
+
q
|
3203 |
+
1 0 0 1 16 52 cm
|
3204 |
+
q
|
3205 |
+
0 0 0 rg
|
3206 |
+
BT 1 0 0 1 0 2.5 Tm /F6 12.5 Tf 15 TL (Hinweis) Tj T* ET
|
3207 |
+
Q
|
3208 |
+
Q
|
3209 |
+
q
|
3210 |
+
1 0 0 1 16 16 cm
|
3211 |
+
q
|
3212 |
+
0 0 0 rg
|
3213 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Wenn Sie die automatische Sendungserstellung verwenden, pr\374fen Sie regelm\344\337ig den Status) Tj T* (Ihrer Bestellungen, um die wiederholte \334bertragung invalider Versandauftr\344ge zu vermeiden.) Tj T* ET
|
3214 |
+
Q
|
3215 |
+
Q
|
3216 |
+
q
|
3217 |
+
1 J
|
3218 |
+
1 j
|
3219 |
+
.662745 .662745 .662745 RG
|
3220 |
+
.5 w
|
3221 |
+
n 0 83 m 469.8898 83 l S
|
3222 |
+
n 0 0 m 469.8898 0 l S
|
3223 |
+
n 0 0 m 0 83 l S
|
3224 |
+
n 469.8898 0 m 469.8898 83 l S
|
3225 |
+
Q
|
3226 |
+
Q
|
3227 |
+
q
|
3228 |
+
1 0 0 1 62.69291 496.3543 cm
|
3229 |
+
Q
|
3230 |
+
q
|
3231 |
+
1 0 0 1 62.69291 478.3543 cm
|
3232 |
+
q
|
3233 |
+
0 0 0 rg
|
3234 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Fehlerhafte Versandauftr\344ge k\366nnen wie folgt manuell korrigiert werden:) Tj T* ET
|
3235 |
+
Q
|
3236 |
+
Q
|
3237 |
+
q
|
3238 |
+
1 0 0 1 62.69291 472.3543 cm
|
3239 |
+
Q
|
3240 |
+
q
|
3241 |
+
1 0 0 1 62.69291 472.3543 cm
|
3242 |
+
Q
|
3243 |
+
q
|
3244 |
+
1 0 0 1 62.69291 448.3543 cm
|
3245 |
+
0 0 0 rg
|
3246 |
+
BT /F1 10 Tf 12 TL ET
|
3247 |
+
q
|
3248 |
+
1 0 0 1 6 9 cm
|
3249 |
+
q
|
3250 |
+
0 0 0 rg
|
3251 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3252 |
+
Q
|
3253 |
+
Q
|
3254 |
+
q
|
3255 |
+
1 0 0 1 23 -3 cm
|
3256 |
+
q
|
3257 |
+
0 0 0 rg
|
3258 |
+
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL (Im Popup zur Definition der im Paket enthaltenen Artikel k\366nnen ung\374ltige Zusatzleistungen) Tj T* (abgew\344hlt werden.) Tj T* ET
|
3259 |
+
Q
|
3260 |
+
Q
|
3261 |
+
q
|
3262 |
+
Q
|
3263 |
+
Q
|
3264 |
+
q
|
3265 |
+
1 0 0 1 62.69291 442.3543 cm
|
3266 |
+
Q
|
3267 |
+
q
|
3268 |
+
1 0 0 1 62.69291 406.3543 cm
|
3269 |
+
0 0 0 rg
|
3270 |
+
BT /F1 10 Tf 12 TL ET
|
3271 |
+
q
|
3272 |
+
1 0 0 1 6 21 cm
|
3273 |
+
q
|
3274 |
+
0 0 0 rg
|
3275 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3276 |
+
Q
|
3277 |
+
Q
|
3278 |
+
q
|
3279 |
+
1 0 0 1 23 -3 cm
|
3280 |
+
q
|
3281 |
+
0 0 0 rg
|
3282 |
+
BT 1 0 0 1 0 26 Tm /F1 10 Tf 12 TL (Im Popup zur Definition der im Paket enthaltenen Artikel kann die Adressvalidierung f\374r einen) Tj T* (betroffenen Versandauftrag abgew\344hlt werden, so dass DHL die kostenpflichtige Nachkodierung) Tj T* (\(Korrektur der Lieferadresse\) \374bernimmt.) Tj T* ET
|
3283 |
+
Q
|
3284 |
+
Q
|
3285 |
+
q
|
3286 |
+
Q
|
3287 |
+
Q
|
3288 |
+
q
|
3289 |
+
1 0 0 1 62.69291 400.3543 cm
|
3290 |
+
Q
|
3291 |
+
q
|
3292 |
+
1 0 0 1 62.69291 133.8543 cm
|
3293 |
+
0 0 0 rg
|
3294 |
+
BT /F1 10 Tf 12 TL ET
|
3295 |
+
q
|
3296 |
+
1 0 0 1 6 251.5 cm
|
3297 |
+
q
|
3298 |
+
0 0 0 rg
|
3299 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3300 |
+
Q
|
3301 |
+
Q
|
3302 |
+
q
|
3303 |
+
1 0 0 1 23 239.5 cm
|
3304 |
+
q
|
3305 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (In der Detail-Ansicht der Bestellung oder des Lieferscheins kann die Lieferadresse korrigiert werden.) Tj T* (Bet\344tigen Sie dazu den Link ) Tj /F3 10 Tf (Bearbeiten ) Tj /F1 10 Tf (in der Box ) Tj /F3 10 Tf (Versandadresse) Tj /F1 10 Tf (.) Tj T* ET
|
3306 |
+
Q
|
3307 |
+
Q
|
3308 |
+
q
|
3309 |
+
1 0 0 1 23 115 cm
|
3310 |
+
q
|
3311 |
+
327.75 0 0 118.5 0 0 cm
|
3312 |
+
/FormXob.2bf0e0d7ea35d044152bba43012dbcf6 Do
|
3313 |
+
Q
|
3314 |
+
Q
|
3315 |
+
q
|
3316 |
+
1 0 0 1 23 73 cm
|
3317 |
+
q
|
3318 |
+
0 0 0 rg
|
3319 |
+
BT 1 0 0 1 0 26 Tm /F1 10 Tf 12 TL (Im nun angezeigten Formular k\366nnen Sie im oberen Bereich die Standard-Felder der Lieferadresse) Tj T* (bearbeiten und im unteren Bereich die zus\344tzlichen, f\374r den DHL Gesch\344ftskundenversand) Tj T* (spezifischen Felder:) Tj T* ET
|
3320 |
+
Q
|
3321 |
+
Q
|
3322 |
+
q
|
3323 |
+
1 0 0 1 23 67 cm
|
3324 |
+
Q
|
3325 |
+
q
|
3326 |
+
1 0 0 1 23 67 cm
|
3327 |
+
Q
|
3328 |
+
q
|
3329 |
+
1 0 0 1 23 55 cm
|
3330 |
+
0 0 0 rg
|
3331 |
+
BT /F1 10 Tf 12 TL ET
|
3332 |
+
q
|
3333 |
+
1 0 0 1 6 -3 cm
|
3334 |
+
q
|
3335 |
+
0 0 0 rg
|
3336 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3337 |
+
Q
|
3338 |
+
Q
|
3339 |
+
q
|
3340 |
+
1 0 0 1 23 -3 cm
|
3341 |
+
q
|
3342 |
+
0 0 0 rg
|
3343 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Stra\337e, Hausnummer und Adresszusatz) Tj T* ET
|
3344 |
+
Q
|
3345 |
+
Q
|
3346 |
+
q
|
3347 |
+
Q
|
3348 |
+
Q
|
3349 |
+
q
|
3350 |
+
1 0 0 1 23 49 cm
|
3351 |
+
Q
|
3352 |
+
q
|
3353 |
+
1 0 0 1 23 37 cm
|
3354 |
+
0 0 0 rg
|
3355 |
+
BT /F1 10 Tf 12 TL ET
|
3356 |
+
q
|
3357 |
+
1 0 0 1 6 -3 cm
|
3358 |
+
q
|
3359 |
+
0 0 0 rg
|
3360 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3361 |
+
Q
|
3362 |
+
Q
|
3363 |
+
q
|
3364 |
+
1 0 0 1 23 -3 cm
|
3365 |
+
q
|
3366 |
+
0 0 0 rg
|
3367 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Packstation) Tj T* ET
|
3368 |
+
Q
|
3369 |
+
Q
|
3370 |
+
q
|
3371 |
+
Q
|
3372 |
+
Q
|
3373 |
+
q
|
3374 |
+
1 0 0 1 23 31 cm
|
3375 |
+
Q
|
3376 |
+
q
|
3377 |
+
1 0 0 1 23 19 cm
|
3378 |
+
0 0 0 rg
|
3379 |
+
BT /F1 10 Tf 12 TL ET
|
3380 |
+
q
|
3381 |
+
1 0 0 1 6 -3 cm
|
3382 |
+
q
|
3383 |
+
0 0 0 rg
|
3384 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3385 |
+
Q
|
3386 |
+
Q
|
3387 |
+
q
|
3388 |
+
1 0 0 1 23 -3 cm
|
3389 |
+
q
|
3390 |
+
0 0 0 rg
|
3391 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Postfiliale) Tj T* ET
|
3392 |
+
Q
|
3393 |
+
Q
|
3394 |
+
q
|
3395 |
+
Q
|
3396 |
+
Q
|
3397 |
+
q
|
3398 |
+
1 0 0 1 23 13 cm
|
3399 |
+
Q
|
3400 |
+
q
|
3401 |
+
1 0 0 1 23 1 cm
|
3402 |
+
0 0 0 rg
|
3403 |
+
BT /F1 10 Tf 12 TL ET
|
3404 |
+
q
|
3405 |
+
1 0 0 1 6 -3 cm
|
3406 |
+
q
|
3407 |
+
0 0 0 rg
|
3408 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
|
3409 |
+
Q
|
3410 |
+
Q
|
3411 |
+
q
|
3412 |
+
1 0 0 1 23 -3 cm
|
3413 |
+
q
|
3414 |
+
0 0 0 rg
|
3415 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Paket-Shop) Tj T* ET
|
3416 |
+
Q
|
3417 |
+
Q
|
3418 |
+
q
|
3419 |
+
Q
|
3420 |
+
Q
|
3421 |
+
q
|
3422 |
+
1 0 0 1 23 -3 cm
|
3423 |
+
Q
|
3424 |
+
q
|
3425 |
+
Q
|
3426 |
+
Q
|
3427 |
+
q
|
3428 |
+
1 0 0 1 62.69291 129.8543 cm
|
3429 |
+
Q
|
3430 |
+
q
|
3431 |
+
1 0 0 1 411.0236 779.5276 cm
|
3432 |
+
q
|
3433 |
+
127.5591 0 0 34.01575 0 0 cm
|
3434 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
3435 |
+
Q
|
3436 |
+
Q
|
3437 |
+
q
|
3438 |
+
1 0 0 1 56.69291 56.69291 cm
|
3439 |
+
0 0 0 rg
|
3440 |
+
BT /F1 10 Tf 12 TL ET
|
3441 |
+
q
|
3442 |
+
1 0 0 1 6 3 cm
|
3443 |
+
q
|
3444 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
3445 |
+
Q
|
3446 |
+
Q
|
3447 |
+
q
|
3448 |
+
1 0 0 1 246.9449 3 cm
|
3449 |
+
q
|
3450 |
+
0 0 0 rg
|
3451 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 203.9249 0 Td (12/15) Tj T* -203.9249 0 Td ET
|
3452 |
+
Q
|
3453 |
+
Q
|
3454 |
+
q
|
3455 |
+
Q
|
3456 |
+
Q
|
3457 |
+
|
3458 |
+
endstream
|
3459 |
+
endobj
|
3460 |
+
159 0 obj
|
3461 |
+
<< /Length 1630 >>
|
3462 |
+
stream
|
3463 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
3464 |
+
q
|
3465 |
+
1 0 0 1 192.8478 543.8943 cm
|
3466 |
+
q
|
3467 |
+
209.58 0 0 215.46 0 0 cm
|
3468 |
+
/FormXob.e9f70d609af1b5cdcc78abc6babd0c6a Do
|
3469 |
+
Q
|
3470 |
+
Q
|
3471 |
+
q
|
3472 |
+
1 0 0 1 62.69291 513.8943 cm
|
3473 |
+
q
|
3474 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Speichern Sie anschlie\337end die Adresse. Wurde die Fehlerursache behoben, so kann das manuelle) Tj T* 0 0 .501961 rg (Erstellen eines Versandauftrags ) Tj 0 0 0 rg (erneut durchgef\374hrt werden.) Tj T* ET
|
3475 |
+
Q
|
3476 |
+
Q
|
3477 |
+
q
|
3478 |
+
1 0 0 1 62.69291 447.8943 cm
|
3479 |
+
q
|
3480 |
+
BT 1 0 0 1 0 50 Tm 12 TL /F1 10 Tf 0 0 0 rg (Wurde ein Versandauftrag \374ber den Webservice erfolgreich erstellt und sollen dennoch nachtr\344gliche) Tj T* (Korrekturen vorgenommen werden, so stornieren Sie den Versandauftrag wie im Abschnitt ) Tj 0 0 .501961 rg (Stornieren) Tj T* (eines Versandauftrags ) Tj 0 0 0 rg (beschrieben und bet\344tigen Sie anschlie\337end den Button ) Tj /F3 10 Tf (Paketaufkleber) Tj T* (erstellen\205 ) Tj /F1 10 Tf (in derselben Box ) Tj /F3 10 Tf (Versand- und Trackinginformationen) Tj /F1 10 Tf (. Es gilt dasselbe Vorgehen wie im) Tj T* (Abschnitt ) Tj 0 0 .501961 rg (Erstellen eines Versandauftrags ) Tj 0 0 0 rg (beschrieben.) Tj T* ET
|
3481 |
+
Q
|
3482 |
+
Q
|
3483 |
+
q
|
3484 |
+
1 0 0 1 62.69291 447.8943 cm
|
3485 |
+
Q
|
3486 |
+
q
|
3487 |
+
1 0 0 1 411.0236 779.5276 cm
|
3488 |
+
q
|
3489 |
+
127.5591 0 0 34.01575 0 0 cm
|
3490 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
3491 |
+
Q
|
3492 |
+
Q
|
3493 |
+
q
|
3494 |
+
1 0 0 1 56.69291 56.69291 cm
|
3495 |
+
0 0 0 rg
|
3496 |
+
BT /F1 10 Tf 12 TL ET
|
3497 |
+
q
|
3498 |
+
1 0 0 1 6 3 cm
|
3499 |
+
q
|
3500 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
3501 |
+
Q
|
3502 |
+
Q
|
3503 |
+
q
|
3504 |
+
1 0 0 1 246.9449 3 cm
|
3505 |
+
q
|
3506 |
+
0 0 0 rg
|
3507 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 203.9249 0 Td (13/15) Tj T* -203.9249 0 Td ET
|
3508 |
+
Q
|
3509 |
+
Q
|
3510 |
+
q
|
3511 |
+
Q
|
3512 |
+
Q
|
3513 |
+
|
3514 |
+
endstream
|
3515 |
+
endobj
|
3516 |
+
160 0 obj
|
3517 |
+
<< /Length 3476 >>
|
3518 |
+
stream
|
3519 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
3520 |
+
q
|
3521 |
+
1 0 0 1 62.69291 738.3543 cm
|
3522 |
+
q
|
3523 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (5 Modul deinstallieren oder deaktivieren) Tj T* ET
|
3524 |
+
Q
|
3525 |
+
Q
|
3526 |
+
q
|
3527 |
+
1 0 0 1 62.69291 720.3543 cm
|
3528 |
+
q
|
3529 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Gehen Sie wie folgt vor, um das Modul zu ) Tj /F3 10 Tf (deinstallieren) Tj /F1 10 Tf (:) Tj T* ET
|
3530 |
+
Q
|
3531 |
+
Q
|
3532 |
+
q
|
3533 |
+
1 0 0 1 62.69291 714.3543 cm
|
3534 |
+
Q
|
3535 |
+
q
|
3536 |
+
1 0 0 1 62.69291 714.3543 cm
|
3537 |
+
Q
|
3538 |
+
q
|
3539 |
+
1 0 0 1 62.69291 702.3543 cm
|
3540 |
+
0 0 0 rg
|
3541 |
+
BT /F1 10 Tf 12 TL ET
|
3542 |
+
q
|
3543 |
+
1 0 0 1 6 -3 cm
|
3544 |
+
q
|
3545 |
+
0 0 0 rg
|
3546 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (1.) Tj T* -5.66 0 Td ET
|
3547 |
+
Q
|
3548 |
+
Q
|
3549 |
+
q
|
3550 |
+
1 0 0 1 23 -3 cm
|
3551 |
+
q
|
3552 |
+
0 0 0 rg
|
3553 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (L\366schen Sie alle Moduldateien aus dem Dateisystem.) Tj T* ET
|
3554 |
+
Q
|
3555 |
+
Q
|
3556 |
+
q
|
3557 |
+
Q
|
3558 |
+
Q
|
3559 |
+
q
|
3560 |
+
1 0 0 1 62.69291 696.3543 cm
|
3561 |
+
Q
|
3562 |
+
q
|
3563 |
+
1 0 0 1 62.69291 684.3543 cm
|
3564 |
+
0 0 0 rg
|
3565 |
+
BT /F1 10 Tf 12 TL ET
|
3566 |
+
q
|
3567 |
+
1 0 0 1 6 -3 cm
|
3568 |
+
q
|
3569 |
+
0 0 0 rg
|
3570 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (2.) Tj T* -5.66 0 Td ET
|
3571 |
+
Q
|
3572 |
+
Q
|
3573 |
+
q
|
3574 |
+
1 0 0 1 23 -3 cm
|
3575 |
+
q
|
3576 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Entfernen Sie die im Abschnitt ) Tj 0 0 .501961 rg (Installation ) Tj 0 0 0 rg (genannten Adressattribute.) Tj T* ET
|
3577 |
+
Q
|
3578 |
+
Q
|
3579 |
+
q
|
3580 |
+
Q
|
3581 |
+
Q
|
3582 |
+
q
|
3583 |
+
1 0 0 1 62.69291 678.3543 cm
|
3584 |
+
Q
|
3585 |
+
q
|
3586 |
+
1 0 0 1 62.69291 654.3543 cm
|
3587 |
+
0 0 0 rg
|
3588 |
+
BT /F1 10 Tf 12 TL ET
|
3589 |
+
q
|
3590 |
+
1 0 0 1 6 9 cm
|
3591 |
+
q
|
3592 |
+
0 0 0 rg
|
3593 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (3.) Tj T* -5.66 0 Td ET
|
3594 |
+
Q
|
3595 |
+
Q
|
3596 |
+
q
|
3597 |
+
1 0 0 1 23 -3 cm
|
3598 |
+
q
|
3599 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Entfernen Sie den zum Modul geh\366rigen Eintrag ) Tj /F4 10 Tf 0 0 0 rg (dhl_versenden_setup ) Tj /F1 10 Tf 0 0 0 rg (aus der Tabelle) Tj T* /F4 10 Tf 0 0 0 rg (core_resource) Tj /F1 10 Tf 0 0 0 rg (.) Tj T* ET
|
3600 |
+
Q
|
3601 |
+
Q
|
3602 |
+
q
|
3603 |
+
Q
|
3604 |
+
Q
|
3605 |
+
q
|
3606 |
+
1 0 0 1 62.69291 648.3543 cm
|
3607 |
+
Q
|
3608 |
+
q
|
3609 |
+
1 0 0 1 62.69291 624.3543 cm
|
3610 |
+
0 0 0 rg
|
3611 |
+
BT /F1 10 Tf 12 TL ET
|
3612 |
+
q
|
3613 |
+
1 0 0 1 6 9 cm
|
3614 |
+
q
|
3615 |
+
0 0 0 rg
|
3616 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (4.) Tj T* -5.66 0 Td ET
|
3617 |
+
Q
|
3618 |
+
Q
|
3619 |
+
q
|
3620 |
+
1 0 0 1 23 -3 cm
|
3621 |
+
q
|
3622 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Entfernen Sie die zum Modul geh\366rigen Eintr\344ge ) Tj /F4 10 Tf 0 0 0 rg (carriers/dhlversenden/* ) Tj /F1 10 Tf 0 0 0 rg (aus der Tabelle) Tj T* /F4 10 Tf 0 0 0 rg (core_config_data) Tj /F1 10 Tf 0 0 0 rg (.) Tj T* ET
|
3623 |
+
Q
|
3624 |
+
Q
|
3625 |
+
q
|
3626 |
+
Q
|
3627 |
+
Q
|
3628 |
+
q
|
3629 |
+
1 0 0 1 62.69291 618.3543 cm
|
3630 |
+
Q
|
3631 |
+
q
|
3632 |
+
1 0 0 1 62.69291 606.3543 cm
|
3633 |
+
0 0 0 rg
|
3634 |
+
BT /F1 10 Tf 12 TL ET
|
3635 |
+
q
|
3636 |
+
1 0 0 1 6 -3 cm
|
3637 |
+
q
|
3638 |
+
0 0 0 rg
|
3639 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (5.) Tj T* -5.66 0 Td ET
|
3640 |
+
Q
|
3641 |
+
Q
|
3642 |
+
q
|
3643 |
+
1 0 0 1 23 -3 cm
|
3644 |
+
q
|
3645 |
+
0 0 0 rg
|
3646 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Leeren Sie abschlie\337end den Cache.) Tj T* ET
|
3647 |
+
Q
|
3648 |
+
Q
|
3649 |
+
q
|
3650 |
+
Q
|
3651 |
+
Q
|
3652 |
+
q
|
3653 |
+
1 0 0 1 62.69291 606.3543 cm
|
3654 |
+
Q
|
3655 |
+
q
|
3656 |
+
1 0 0 1 62.69291 576.3543 cm
|
3657 |
+
q
|
3658 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Das Modul wird ) Tj /F3 10 Tf (deaktiviert) Tj /F1 10 Tf (, wenn der Knoten ) Tj /F4 10 Tf 0 0 0 rg (active ) Tj /F1 10 Tf 0 0 0 rg (in der Datei) Tj T* /F4 10 Tf 0 0 0 rg (app/etc/modules/Dhl_Versenden.xml ) Tj /F1 10 Tf 0 0 0 rg (von ) Tj /F2 10 Tf (true ) Tj /F1 10 Tf (auf ) Tj /F2 10 Tf (false ) Tj /F1 10 Tf (abge\344ndert wird.) Tj T* ET
|
3659 |
+
Q
|
3660 |
+
Q
|
3661 |
+
q
|
3662 |
+
1 0 0 1 62.69291 576.3543 cm
|
3663 |
+
Q
|
3664 |
+
q
|
3665 |
+
1 0 0 1 411.0236 779.5276 cm
|
3666 |
+
q
|
3667 |
+
127.5591 0 0 34.01575 0 0 cm
|
3668 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
3669 |
+
Q
|
3670 |
+
Q
|
3671 |
+
q
|
3672 |
+
1 0 0 1 56.69291 56.69291 cm
|
3673 |
+
0 0 0 rg
|
3674 |
+
BT /F1 10 Tf 12 TL ET
|
3675 |
+
q
|
3676 |
+
1 0 0 1 6 3 cm
|
3677 |
+
q
|
3678 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
3679 |
+
Q
|
3680 |
+
Q
|
3681 |
+
q
|
3682 |
+
1 0 0 1 246.9449 3 cm
|
3683 |
+
q
|
3684 |
+
0 0 0 rg
|
3685 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 203.9249 0 Td (14/15) Tj T* -203.9249 0 Td ET
|
3686 |
+
Q
|
3687 |
+
Q
|
3688 |
+
q
|
3689 |
+
Q
|
3690 |
+
Q
|
3691 |
+
|
3692 |
+
endstream
|
3693 |
+
endobj
|
3694 |
+
161 0 obj
|
3695 |
+
<< /Length 1214 >>
|
3696 |
+
stream
|
3697 |
+
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
|
3698 |
+
q
|
3699 |
+
1 0 0 1 62.69291 738.3543 cm
|
3700 |
+
q
|
3701 |
+
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (6 Technischer Support) Tj T* ET
|
3702 |
+
Q
|
3703 |
+
Q
|
3704 |
+
q
|
3705 |
+
1 0 0 1 62.69291 708.3543 cm
|
3706 |
+
q
|
3707 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Wenn Sie Fragen haben oder auf Probleme sto\337en, werfen Sie bitte zuerst einen Blick in das) Tj T* (Support-Portal \(FAQ\): ) Tj 0 0 .501961 rg (http://dhl.support.netresearch.de/) Tj T* ET
|
3708 |
+
Q
|
3709 |
+
Q
|
3710 |
+
q
|
3711 |
+
1 0 0 1 62.69291 678.3543 cm
|
3712 |
+
q
|
3713 |
+
BT 1 0 0 1 0 14 Tm 12 TL /F1 10 Tf 0 0 0 rg (Sollte sich das Problem damit nicht beheben lassen, k\366nnen Sie das Supportteam \374ber das o.g. Portal) Tj T* (oder per Mail unter ) Tj 0 0 .501961 rg (dhl.support@netresearch.de ) Tj 0 0 0 rg (kontaktieren.) Tj T* ET
|
3714 |
+
Q
|
3715 |
+
Q
|
3716 |
+
q
|
3717 |
+
1 0 0 1 62.69291 678.3543 cm
|
3718 |
+
Q
|
3719 |
+
q
|
3720 |
+
1 0 0 1 411.0236 779.5276 cm
|
3721 |
+
q
|
3722 |
+
127.5591 0 0 34.01575 0 0 cm
|
3723 |
+
/FormXob.429409b2a0f82e3a88790dc2dcaf4999 Do
|
3724 |
+
Q
|
3725 |
+
Q
|
3726 |
+
q
|
3727 |
+
1 0 0 1 56.69291 56.69291 cm
|
3728 |
+
0 0 0 rg
|
3729 |
+
BT /F1 10 Tf 12 TL ET
|
3730 |
+
q
|
3731 |
+
1 0 0 1 6 3 cm
|
3732 |
+
q
|
3733 |
+
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Stand: 02/12/2016) Tj T* ET
|
3734 |
+
Q
|
3735 |
+
Q
|
3736 |
+
q
|
3737 |
+
1 0 0 1 246.9449 3 cm
|
3738 |
+
q
|
3739 |
+
0 0 0 rg
|
3740 |
+
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 203.9249 0 Td (15/15) Tj T* -203.9249 0 Td ET
|
3741 |
+
Q
|
3742 |
+
Q
|
3743 |
+
q
|
3744 |
+
Q
|
3745 |
+
Q
|
3746 |
+
|
3747 |
+
endstream
|
3748 |
+
endobj
|
3749 |
+
162 0 obj
|
3750 |
+
<< /Nums [ 0 163 0 R 1 164 0 R 2 165 0 R 3 166 0 R 4 167 0 R
|
3751 |
+
5 168 0 R 6 169 0 R 7 170 0 R 8 171 0 R 9 172 0 R
|
3752 |
+
10 173 0 R 11 174 0 R 12 175 0 R 13 176 0 R 14 177 0 R ] >>
|
3753 |
+
endobj
|
3754 |
+
163 0 obj
|
3755 |
+
<< /S /D /St 1 >>
|
3756 |
+
endobj
|
3757 |
+
164 0 obj
|
3758 |
+
<< /S /D /St 2 >>
|
3759 |
+
endobj
|
3760 |
+
165 0 obj
|
3761 |
+
<< /S /D /St 3 >>
|
3762 |
+
endobj
|
3763 |
+
166 0 obj
|
3764 |
+
<< /S /D /St 4 >>
|
3765 |
+
endobj
|
3766 |
+
167 0 obj
|
3767 |
+
<< /S /D /St 5 >>
|
3768 |
+
endobj
|
3769 |
+
168 0 obj
|
3770 |
+
<< /S /D /St 6 >>
|
3771 |
+
endobj
|
3772 |
+
169 0 obj
|
3773 |
+
<< /S /D /St 7 >>
|
3774 |
+
endobj
|
3775 |
+
170 0 obj
|
3776 |
+
<< /S /D /St 8 >>
|
3777 |
+
endobj
|
3778 |
+
171 0 obj
|
3779 |
+
<< /S /D /St 9 >>
|
3780 |
+
endobj
|
3781 |
+
172 0 obj
|
3782 |
+
<< /S /D /St 10 >>
|
3783 |
+
endobj
|
3784 |
+
173 0 obj
|
3785 |
+
<< /S /D /St 11 >>
|
3786 |
+
endobj
|
3787 |
+
174 0 obj
|
3788 |
+
<< /S /D /St 12 >>
|
3789 |
+
endobj
|
3790 |
+
175 0 obj
|
3791 |
+
<< /S /D /St 13 >>
|
3792 |
+
endobj
|
3793 |
+
176 0 obj
|
3794 |
+
<< /S /D /St 14 >>
|
3795 |
+
endobj
|
3796 |
+
177 0 obj
|
3797 |
+
<< /S /D /St 15 >>
|
3798 |
+
endobj
|
3799 |
+
xref
|
3800 |
+
0 178
|
3801 |
+
0000000000 65535 f
|
3802 |
+
0000000075 00000 n
|
3803 |
+
0000000162 00000 n
|
3804 |
+
0000000272 00000 n
|
3805 |
+
0000000387 00000 n
|
3806 |
+
0000000505 00000 n
|
3807 |
+
0000109293 00000 n
|
3808 |
+
0000109567 00000 n
|
3809 |
+
0000109738 00000 n
|
3810 |
+
0000109909 00000 n
|
3811 |
+
0000110080 00000 n
|
3812 |
+
0000110252 00000 n
|
3813 |
+
0000110424 00000 n
|
3814 |
+
0000110596 00000 n
|
3815 |
+
0000110768 00000 n
|
3816 |
+
0000110940 00000 n
|
3817 |
+
0000111112 00000 n
|
3818 |
+
0000111284 00000 n
|
3819 |
+
0000111456 00000 n
|
3820 |
+
0000111628 00000 n
|
3821 |
+
0000111800 00000 n
|
3822 |
+
0000111972 00000 n
|
3823 |
+
0000112144 00000 n
|
3824 |
+
0000112316 00000 n
|
3825 |
+
0000112488 00000 n
|
3826 |
+
0000112660 00000 n
|
3827 |
+
0000112832 00000 n
|
3828 |
+
0000113004 00000 n
|
3829 |
+
0000113176 00000 n
|
3830 |
+
0000113348 00000 n
|
3831 |
+
0000113520 00000 n
|
3832 |
+
0000113692 00000 n
|
3833 |
+
0000113864 00000 n
|
3834 |
+
0000114036 00000 n
|
3835 |
+
0000114208 00000 n
|
3836 |
+
0000114380 00000 n
|
3837 |
+
0000114552 00000 n
|
3838 |
+
0000114724 00000 n
|
3839 |
+
0000114896 00000 n
|
3840 |
+
0000115068 00000 n
|
3841 |
+
0000115240 00000 n
|
3842 |
+
0000115412 00000 n
|
3843 |
+
0000115584 00000 n
|
3844 |
+
0000115756 00000 n
|
3845 |
+
0000115928 00000 n
|
3846 |
+
0000116100 00000 n
|
3847 |
+
0000116272 00000 n
|
3848 |
+
0000116444 00000 n
|
3849 |
+
0000116616 00000 n
|
3850 |
+
0000116788 00000 n
|
3851 |
+
0000116960 00000 n
|
3852 |
+
0000117132 00000 n
|
3853 |
+
0000117304 00000 n
|
3854 |
+
0000117476 00000 n
|
3855 |
+
0000117648 00000 n
|
3856 |
+
0000117820 00000 n
|
3857 |
+
0000117992 00000 n
|
3858 |
+
0000118164 00000 n
|
3859 |
+
0000118336 00000 n
|
3860 |
+
0000118508 00000 n
|
3861 |
+
0000118680 00000 n
|
3862 |
+
0000118852 00000 n
|
3863 |
+
0000119024 00000 n
|
3864 |
+
0000119196 00000 n
|
3865 |
+
0000119368 00000 n
|
3866 |
+
0000119540 00000 n
|
3867 |
+
0000119712 00000 n
|
3868 |
+
0000119884 00000 n
|
3869 |
+
0000120057 00000 n
|
3870 |
+
0000120230 00000 n
|
3871 |
+
0000120403 00000 n
|
3872 |
+
0000120576 00000 n
|
3873 |
+
0000121332 00000 n
|
3874 |
+
0000121607 00000 n
|
3875 |
+
0000121779 00000 n
|
3876 |
+
0000121888 00000 n
|
3877 |
+
0000122182 00000 n
|
3878 |
+
0000122289 00000 n
|
3879 |
+
0000122412 00000 n
|
3880 |
+
0000122687 00000 n
|
3881 |
+
0000122962 00000 n
|
3882 |
+
0000123237 00000 n
|
3883 |
+
0000123409 00000 n
|
3884 |
+
0000177405 00000 n
|
3885 |
+
0000177748 00000 n
|
3886 |
+
0000177990 00000 n
|
3887 |
+
0000182927 00000 n
|
3888 |
+
0000191546 00000 n
|
3889 |
+
0000191938 00000 n
|
3890 |
+
0000192110 00000 n
|
3891 |
+
0000192282 00000 n
|
3892 |
+
0000242323 00000 n
|
3893 |
+
0000242495 00000 n
|
3894 |
+
0000242852 00000 n
|
3895 |
+
0000265791 00000 n
|
3896 |
+
0000265963 00000 n
|
3897 |
+
0000266306 00000 n
|
3898 |
+
0000266504 00000 n
|
3899 |
+
0000266676 00000 n
|
3900 |
+
0000276329 00000 n
|
3901 |
+
0000276679 00000 n
|
3902 |
+
0000304266 00000 n
|
3903 |
+
0000304439 00000 n
|
3904 |
+
0000304612 00000 n
|
3905 |
+
0000304785 00000 n
|
3906 |
+
0000304958 00000 n
|
3907 |
+
0000305328 00000 n
|
3908 |
+
0000305501 00000 n
|
3909 |
+
0000305797 00000 n
|
3910 |
+
0000305988 00000 n
|
3911 |
+
0000306178 00000 n
|
3912 |
+
0000306482 00000 n
|
3913 |
+
0000306595 00000 n
|
3914 |
+
0000306864 00000 n
|
3915 |
+
0000306945 00000 n
|
3916 |
+
0000307207 00000 n
|
3917 |
+
0000307405 00000 n
|
3918 |
+
0000307575 00000 n
|
3919 |
+
0000307946 00000 n
|
3920 |
+
0000308239 00000 n
|
3921 |
+
0000308492 00000 n
|
3922 |
+
0000308844 00000 n
|
3923 |
+
0000309059 00000 n
|
3924 |
+
0000309346 00000 n
|
3925 |
+
0000309631 00000 n
|
3926 |
+
0000309860 00000 n
|
3927 |
+
0000310117 00000 n
|
3928 |
+
0000310456 00000 n
|
3929 |
+
0000310790 00000 n
|
3930 |
+
0000311069 00000 n
|
3931 |
+
0000311318 00000 n
|
3932 |
+
0000311563 00000 n
|
3933 |
+
0000311920 00000 n
|
3934 |
+
0000312237 00000 n
|
3935 |
+
0000312442 00000 n
|
3936 |
+
0000312676 00000 n
|
3937 |
+
0000313148 00000 n
|
3938 |
+
0000313514 00000 n
|
3939 |
+
0000313774 00000 n
|
3940 |
+
0000314073 00000 n
|
3941 |
+
0000314313 00000 n
|
3942 |
+
0000314627 00000 n
|
3943 |
+
0000314956 00000 n
|
3944 |
+
0000315280 00000 n
|
3945 |
+
0000315515 00000 n
|
3946 |
+
0000315865 00000 n
|
3947 |
+
0000316106 00000 n
|
3948 |
+
0000316276 00000 n
|
3949 |
+
0000317568 00000 n
|
3950 |
+
0000326710 00000 n
|
3951 |
+
0000330438 00000 n
|
3952 |
+
0000332425 00000 n
|
3953 |
+
0000340802 00000 n
|
3954 |
+
0000348573 00000 n
|
3955 |
+
0000355736 00000 n
|
3956 |
+
0000358494 00000 n
|
3957 |
+
0000364683 00000 n
|
3958 |
+
0000368301 00000 n
|
3959 |
+
0000373969 00000 n
|
3960 |
+
0000380179 00000 n
|
3961 |
+
0000381867 00000 n
|
3962 |
+
0000385401 00000 n
|
3963 |
+
0000386673 00000 n
|
3964 |
+
0000386872 00000 n
|
3965 |
+
0000386910 00000 n
|
3966 |
+
0000386948 00000 n
|
3967 |
+
0000386986 00000 n
|
3968 |
+
0000387024 00000 n
|
3969 |
+
0000387062 00000 n
|
3970 |
+
0000387100 00000 n
|
3971 |
+
0000387138 00000 n
|
3972 |
+
0000387176 00000 n
|
3973 |
+
0000387214 00000 n
|
3974 |
+
0000387253 00000 n
|
3975 |
+
0000387292 00000 n
|
3976 |
+
0000387331 00000 n
|
3977 |
+
0000387370 00000 n
|
3978 |
+
0000387409 00000 n
|
3979 |
+
trailer
|
3980 |
+
<< /ID
|
3981 |
+
% ReportLab generated PDF document -- digest (http://www.reportlab.com)
|
3982 |
+
[(\325\347yO\231\234\366.\375\205\356\\4exX) (\325\347yO\231\234\366.\375\205\356\\4exX)]
|
3983 |
+
/Info 112 0 R /Root 111 0 R /Size 178 >>
|
3984 |
+
startxref
|
3985 |
+
387448
|
3986 |
+
%%EOF
|
lib/Dhl/Versenden/Bcs/Api/Info.php
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Info
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Info extends Info\AbstractInfo
|
38 |
+
{
|
39 |
+
const SCHEMA_VERSION = '1.0';
|
40 |
+
|
41 |
+
/** @var string */
|
42 |
+
public $schemaVersion;
|
43 |
+
/** @var Info\Receiver */
|
44 |
+
public $receiver;
|
45 |
+
/** @var Info\Services */
|
46 |
+
public $services;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Info constructor.
|
50 |
+
*/
|
51 |
+
public function __construct()
|
52 |
+
{
|
53 |
+
$this->schemaVersion = self::SCHEMA_VERSION;
|
54 |
+
$this->receiver = new Info\Receiver();
|
55 |
+
$this->services = new Info\Services();
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return Info\Receiver
|
60 |
+
*/
|
61 |
+
public function getReceiver()
|
62 |
+
{
|
63 |
+
return $this->receiver;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @return Info\Services
|
68 |
+
*/
|
69 |
+
public function getServices()
|
70 |
+
{
|
71 |
+
return $this->services;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @param \stdClass $object
|
76 |
+
* @return Info|null
|
77 |
+
*/
|
78 |
+
public static function fromObject(\stdClass $object)
|
79 |
+
{
|
80 |
+
if (!isset($object->schemaVersion) || ($object->schemaVersion !== self::SCHEMA_VERSION)) {
|
81 |
+
return null;
|
82 |
+
}
|
83 |
+
|
84 |
+
$info = new self();
|
85 |
+
if (isset($object->receiver)) {
|
86 |
+
$info->receiver = Info\Receiver::fromObject($object->receiver);
|
87 |
+
}
|
88 |
+
|
89 |
+
if (isset($object->services)) {
|
90 |
+
$info->services = Info\Services::fromObject($object->services);
|
91 |
+
}
|
92 |
+
|
93 |
+
return $info;
|
94 |
+
}
|
95 |
+
|
96 |
+
public function __toString()
|
97 |
+
{
|
98 |
+
return Info\Serializer::serialize($this);
|
99 |
+
}
|
100 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/AbstractInfo.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Info
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
abstract class AbstractInfo implements \JsonSerializable, UnserializableInterface
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* Specify data which should be serialized to JSON
|
41 |
+
* @link http://php.net/manual/en/jsonserializable.jsonserialize.php
|
42 |
+
* @return mixed data which can be serialized by <b>json_encode</b>,
|
43 |
+
* which is a value of any type other than a resource.
|
44 |
+
* @since 5.4.0
|
45 |
+
*/
|
46 |
+
public function jsonSerialize()
|
47 |
+
{
|
48 |
+
return get_object_vars($this);
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @param $json
|
53 |
+
* @return AbstractInfo|null
|
54 |
+
*/
|
55 |
+
public static function fromJson($json)
|
56 |
+
{
|
57 |
+
$object = json_decode($json);
|
58 |
+
return static::fromObject($object);
|
59 |
+
}
|
60 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/ArrayableInfo.php
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* ArrayableInfo
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
abstract class ArrayableInfo extends AbstractInfo implements ArrayableInterface
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @param string $arrayKey
|
41 |
+
* @return string
|
42 |
+
*/
|
43 |
+
protected static function camelize($arrayKey)
|
44 |
+
{
|
45 |
+
// separeate
|
46 |
+
$arrayKey = str_replace('_', ' ', $arrayKey);
|
47 |
+
// camelize separated words
|
48 |
+
$arrayKey = ucwords($arrayKey);
|
49 |
+
// remove whitespace
|
50 |
+
$arrayKey = str_replace(' ', '', $arrayKey);
|
51 |
+
// convert first character to lower case
|
52 |
+
$arrayKey = lcfirst($arrayKey);
|
53 |
+
|
54 |
+
return $arrayKey;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param string $propertyName
|
59 |
+
* @return string
|
60 |
+
*/
|
61 |
+
protected static function underscore($propertyName)
|
62 |
+
{
|
63 |
+
// separate
|
64 |
+
$propertyName = preg_replace('/(.)([A-Z])/', "$1_$2", $propertyName);
|
65 |
+
// convert to lower case
|
66 |
+
$propertyName = strtolower($propertyName);
|
67 |
+
|
68 |
+
return $propertyName;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param bool $underscoreKeys
|
73 |
+
* @return mixed[]
|
74 |
+
*/
|
75 |
+
public function toArray($underscoreKeys = true)
|
76 |
+
{
|
77 |
+
$getter = function ($value) use ($underscoreKeys) {
|
78 |
+
if ($value instanceof ArrayableInterface) {
|
79 |
+
return $value->toArray($underscoreKeys);
|
80 |
+
} else {
|
81 |
+
return $value;
|
82 |
+
}
|
83 |
+
};
|
84 |
+
|
85 |
+
$keysMapper = function ($key) {
|
86 |
+
return static::underscore($key);
|
87 |
+
};
|
88 |
+
|
89 |
+
$properties = get_object_vars($this);
|
90 |
+
|
91 |
+
$result = array_map($getter, $properties);
|
92 |
+
if ($underscoreKeys) {
|
93 |
+
$keys = array_map($keysMapper, array_keys($properties));
|
94 |
+
$result = array_combine($keys, array_values($result));
|
95 |
+
}
|
96 |
+
|
97 |
+
return $result;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* @param mixed[] $values
|
102 |
+
* @param bool $camelizeKeys
|
103 |
+
*/
|
104 |
+
public function fromArray(array $values, $camelizeKeys = true)
|
105 |
+
{
|
106 |
+
$setter = function ($value, $key) use ($camelizeKeys) {
|
107 |
+
$key = $camelizeKeys ? static::camelize($key) : $key;
|
108 |
+
|
109 |
+
if (property_exists($this, $key)) {
|
110 |
+
if ($this->{$key} instanceof ArrayableInterface && is_array($value)) {
|
111 |
+
$method = 'fromArray';
|
112 |
+
$params = [$value, $camelizeKeys];
|
113 |
+
call_user_func_array([$this->{$key}, $method], $params);
|
114 |
+
} elseif ($this->{$key} instanceof UnserializableInterface && is_object($value)) {
|
115 |
+
$className = get_class($this->{$key});
|
116 |
+
$method = 'fromObject';
|
117 |
+
$params = [$value];
|
118 |
+
$this->{$key} = call_user_func_array([$className, $method], $params);
|
119 |
+
} else {
|
120 |
+
$this->{$key} = $value;
|
121 |
+
}
|
122 |
+
}
|
123 |
+
};
|
124 |
+
|
125 |
+
array_walk($values, $setter);
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* @param \stdClass $object
|
130 |
+
* @return Receiver|null
|
131 |
+
*/
|
132 |
+
public static function fromObject(\stdClass $object)
|
133 |
+
{
|
134 |
+
$instance = new static();
|
135 |
+
$properties = get_object_vars($object);
|
136 |
+
$instance->fromArray($properties);
|
137 |
+
|
138 |
+
return $instance;
|
139 |
+
}
|
140 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/ArrayableInterface.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* ArrayableInterface
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
interface ArrayableInterface
|
39 |
+
{
|
40 |
+
/**
|
41 |
+
* @param bool $underscoreKeys
|
42 |
+
* @return mixed[]
|
43 |
+
*/
|
44 |
+
public function toArray($underscoreKeys = true);
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param mixed[] $values
|
48 |
+
* @param bool $camelizeKeys
|
49 |
+
*/
|
50 |
+
public function fromArray(array $values, $camelizeKeys = true);
|
51 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Receiver.php
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Receiver
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Receiver extends ArrayableInfo
|
38 |
+
{
|
39 |
+
/** @var Receiver\Packstation */
|
40 |
+
public $packstation;
|
41 |
+
/** @var Receiver\Postfiliale */
|
42 |
+
public $postfiliale;
|
43 |
+
/** @var Receiver\ParcelShop */
|
44 |
+
public $parcelShop;
|
45 |
+
|
46 |
+
/** @var string */
|
47 |
+
public $name1;
|
48 |
+
/** @var string */
|
49 |
+
public $name2;
|
50 |
+
/** @var string */
|
51 |
+
public $name3;
|
52 |
+
/** @var string */
|
53 |
+
public $streetName;
|
54 |
+
/** @var string */
|
55 |
+
public $streetNumber;
|
56 |
+
/** @var string */
|
57 |
+
public $addressAddition;
|
58 |
+
/** @var string */
|
59 |
+
public $dispatchingInformation;
|
60 |
+
/** @var string */
|
61 |
+
public $zip;
|
62 |
+
/** @var string */
|
63 |
+
public $city;
|
64 |
+
/** @var string */
|
65 |
+
public $country;
|
66 |
+
/** @var string */
|
67 |
+
public $countryISOCode;
|
68 |
+
/** @var string */
|
69 |
+
public $state;
|
70 |
+
|
71 |
+
/** @var string */
|
72 |
+
public $phone;
|
73 |
+
/** @var string */
|
74 |
+
public $email;
|
75 |
+
/** @var string */
|
76 |
+
public $contactPerson;
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Receiver constructor.
|
80 |
+
*/
|
81 |
+
public function __construct()
|
82 |
+
{
|
83 |
+
$this->packstation = new Receiver\Packstation();
|
84 |
+
$this->postfiliale = new Receiver\Postfiliale();
|
85 |
+
$this->parcelShop = new Receiver\ParcelShop();
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @return Receiver\Packstation
|
90 |
+
*/
|
91 |
+
public function getPackstation()
|
92 |
+
{
|
93 |
+
return $this->packstation;
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* @return Receiver\Postfiliale
|
98 |
+
*/
|
99 |
+
public function getPostfiliale()
|
100 |
+
{
|
101 |
+
return $this->postfiliale;
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* @return Receiver\ParcelShop
|
106 |
+
*/
|
107 |
+
public function getParcelShop()
|
108 |
+
{
|
109 |
+
return $this->parcelShop;
|
110 |
+
}
|
111 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Receiver/Packstation.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info\Receiver;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Packstation
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Packstation extends PostalFacility
|
39 |
+
{
|
40 |
+
/** @var string */
|
41 |
+
public $packstationNumber;
|
42 |
+
/** @var string */
|
43 |
+
public $postNumber;
|
44 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Receiver/ParcelShop.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info\Receiver;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* ParcelShop
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class ParcelShop extends PostalFacility
|
39 |
+
{
|
40 |
+
/** @var string */
|
41 |
+
public $parcelShopNumber;
|
42 |
+
/** @var string */
|
43 |
+
public $streetName;
|
44 |
+
/** @var string */
|
45 |
+
public $streetNumber;
|
46 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Receiver/PostalFacility.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info\Receiver;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* PostalFacility
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
abstract class PostalFacility extends Info\ArrayableInfo
|
39 |
+
{
|
40 |
+
const TYPE_PACKSTATION = 'packStation';
|
41 |
+
const TYPE_PAKETSHOP = 'parcelShop';
|
42 |
+
const TYPE_POSTFILIALE = 'postOffice';
|
43 |
+
|
44 |
+
/** @var string */
|
45 |
+
public $zip;
|
46 |
+
/** @var string */
|
47 |
+
public $city;
|
48 |
+
/** @var string */
|
49 |
+
public $country;
|
50 |
+
/** @var string */
|
51 |
+
public $countryISOCode;
|
52 |
+
/** @var string */
|
53 |
+
public $state;
|
54 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Receiver/Postfiliale.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info\Receiver;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Postfiliale
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Postfiliale extends PostalFacility
|
39 |
+
{
|
40 |
+
/** @var string */
|
41 |
+
public $postfilialNumber;
|
42 |
+
/** @var string */
|
43 |
+
public $postNumber;
|
44 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Serializer.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Serializer
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
class Serializer
|
39 |
+
{
|
40 |
+
/**
|
41 |
+
* @param Info $info
|
42 |
+
* @return string
|
43 |
+
*/
|
44 |
+
public static function serialize(Info $info)
|
45 |
+
{
|
46 |
+
return json_encode($info, JSON_FORCE_OBJECT);
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param $serialized
|
51 |
+
* @return Info|null
|
52 |
+
*/
|
53 |
+
public static function unserialize($serialized)
|
54 |
+
{
|
55 |
+
return Info::fromJson($serialized);
|
56 |
+
}
|
57 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/Services.php
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Services
|
30 |
+
*
|
31 |
+
* @category Dhl
|
32 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
33 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
34 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
35 |
+
* @link http://www.netresearch.de/
|
36 |
+
*/
|
37 |
+
class Services extends ArrayableInfo
|
38 |
+
{
|
39 |
+
/** @var bool|string false or date */
|
40 |
+
public $preferredDay;
|
41 |
+
/** @var bool|string false or time */
|
42 |
+
public $preferredTime;
|
43 |
+
/** @var bool|string false or location */
|
44 |
+
public $preferredLocation;
|
45 |
+
/** @var bool|string false or neighbour address */
|
46 |
+
public $preferredNeighbour;
|
47 |
+
/** @var bool false or true */
|
48 |
+
public $parcelAnnouncement;
|
49 |
+
/** @var bool|string false or A16 or A18 */
|
50 |
+
public $visualCheckOfAge;
|
51 |
+
/** @var bool false or true */
|
52 |
+
public $returnShipment;
|
53 |
+
/** @var bool|float false or amount */
|
54 |
+
public $insurance;
|
55 |
+
/** @var bool false or true */
|
56 |
+
public $bulkyGoods;
|
57 |
+
/** @var bool|float false or amount */
|
58 |
+
public $cod;
|
59 |
+
/** @var bool false or true */
|
60 |
+
public $printOnlyIfCodeable;
|
61 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Info/UnserializableInterface.php
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl\Versenden\Bcs\Api\Info;
|
27 |
+
use Dhl\Versenden\Bcs\Api\Info;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* UnserializableInterface
|
31 |
+
*
|
32 |
+
* @category Dhl
|
33 |
+
* @package Dhl\Versenden\Bcs\Api\Info
|
34 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
35 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
36 |
+
* @link http://www.netresearch.de/
|
37 |
+
*/
|
38 |
+
interface UnserializableInterface
|
39 |
+
{
|
40 |
+
/**
|
41 |
+
* @param $json
|
42 |
+
* @return AbstractInfo|null
|
43 |
+
*/
|
44 |
+
public static function fromJson($json);
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param \stdClass $object
|
48 |
+
* @return AbstractInfo|null
|
49 |
+
*/
|
50 |
+
public static function fromObject(\stdClass $object);
|
51 |
+
}
|
lib/Dhl/Versenden/Bcs/Api/Pdf/Adapter.php
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Dhl Versenden
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
*
|
12 |
+
* DISCLAIMER
|
13 |
+
*
|
14 |
+
* Do not edit or add to this file if you wish to upgrade this extension to
|
15 |
+
* newer versions in the future.
|
16 |
+
*
|
17 |
+
* PHP version 5
|
18 |
+
*
|
19 |
+
* @category Dhl
|
20 |
+
* @package Dhl\Versenden\Bcs\Api
|
21 |
+
* @author Christoph Aßmann <christoph.assmann@netresearch.de>
|
22 |
+
* @copyright 2016 Netresearch GmbH & Co. KG
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
* @link http://www.netresearch.de/
|
25 |
+
*/
|
26 |
+
namespace Dhl
|