web/lib/Zend/Tool/Project/Context/Filesystem/Abstract.php
author Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
Thu, 08 Sep 2011 21:24:21 +0200
changeset 271 4e4e2fda4e66
parent 68 ecaf28ffe26e
child 207 621fa6caec0c
permissions -rw-r--r--
Added tag V00.79 for changeset 16d678e6a433
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     1
<?php
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     2
/**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     3
 * Zend Framework
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     4
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     5
 * LICENSE
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     6
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     7
 * This source file is subject to the new BSD license that is bundled
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     8
 * with this package in the file LICENSE.txt.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     9
 * It is also available through the world-wide-web at this URL:
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    10
 * http://framework.zend.com/license/new-bsd
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    11
 * If you did not receive a copy of the license and are unable to
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    12
 * obtain it through the world-wide-web, please send an email
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    13
 * to license@zend.com so we can send you a copy immediately.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    14
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    15
 * @category   Zend
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    16
 * @package    Zend_Tool
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    17
 * @subpackage Framework
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    18
 * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    19
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    20
 * @version    $Id: Abstract.php 20096 2010-01-06 02:05:09Z bkarwin $
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    21
 */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    22
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    23
/**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    24
 * @see Zend_Tool_Project_Context_Interface
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    25
 */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    26
require_once 'Zend/Tool/Project/Context/Interface.php';
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    27
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    28
/**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    29
 * This class is the front most class for utilizing Zend_Tool_Project
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    30
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    31
 * A profile is a hierarchical set of resources that keep track of
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    32
 * items within a specific project.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    33
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    34
 * @category   Zend
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    35
 * @package    Zend_Tool
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    36
 * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    37
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    38
 */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    39
abstract class Zend_Tool_Project_Context_Filesystem_Abstract implements Zend_Tool_Project_Context_Interface
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    40
{
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    41
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    42
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    43
     * @var Zend_Tool_Project_Profile_Resource
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    44
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    45
    protected $_resource = null;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    46
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    47
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    48
     * @var string
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    49
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    50
    protected $_baseDirectory = null;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    51
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    52
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    53
     * @var string
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    54
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    55
    protected $_filesystemName = null;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    56
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    57
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    58
     * init()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    59
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    60
     * @return Zend_Tool_Project_Context_Filesystem_Abstract
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    61
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    62
    public function init()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    63
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    64
        $parentBaseDirectory = $this->_resource->getParentResource()->getContext()->getPath();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    65
        $this->_baseDirectory = $parentBaseDirectory;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    66
        return $this;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    67
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    68
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    69
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    70
     * setResource()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    71
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    72
     * @param Zend_Tool_Project_Profile_Resource $resource
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    73
     * @return Zend_Tool_Project_Context_Filesystem_Abstract
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    74
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    75
    public function setResource(Zend_Tool_Project_Profile_Resource $resource)
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    76
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    77
        $this->_resource = $resource;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    78
        return $this;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    79
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    80
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    81
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    82
     * setBaseDirectory()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    83
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    84
     * @param string $baseDirectory
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    85
     * @return Zend_Tool_Project_Context_Filesystem_Abstract
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    86
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    87
    public function setBaseDirectory($baseDirectory)
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    88
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    89
        $this->_baseDirectory = rtrim(str_replace('\\', '/', $baseDirectory), '/');
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    90
        return $this;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    91
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    92
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    93
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    94
     * getBaseDirectory()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    95
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    96
     * @return string
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    97
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    98
    public function getBaseDirectory()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    99
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   100
        return $this->_baseDirectory;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   101
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   102
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   103
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   104
     * setFilesystemName()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   105
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   106
     * @param string $filesystemName
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   107
     * @return Zend_Tool_Project_Context_Filesystem_Abstract
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   108
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   109
    public function setFilesystemName($filesystemName)
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   110
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   111
        $this->_filesystemName = $filesystemName;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   112
        return $this;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   113
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   114
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   115
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   116
     * getFilesystemName()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   117
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   118
     * @return string
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   119
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   120
    public function getFilesystemName()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   121
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   122
        return $this->_filesystemName;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   123
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   124
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   125
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   126
     * getPath()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   127
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   128
     * @return string
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   129
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   130
    public function getPath()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   131
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   132
        $path = $this->_baseDirectory;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   133
        if ($this->_filesystemName) {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   134
            $path .= '/' . $this->_filesystemName;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   135
        }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   136
        return $path;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   137
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   138
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   139
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   140
     * exists()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   141
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   142
     * @return bool
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   143
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   144
    public function exists()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   145
    {
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   146
        return file_exists($this->getPath());
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   147
    }
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   148
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   149
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   150
     * create()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   151
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   152
     * Create this resource/context
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   153
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   154
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   155
    abstract public function create();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   156
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   157
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   158
     * delete()
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   159
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   160
     * Delete this resouce/context
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   161
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   162
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   163
    abstract public function delete();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   164
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   165
}
˻H3A_ $N.`l]aLo9TO@)CKHmʒ箙 S" O*SLb76}LcƕUCd1sł<ͩbK[L!Q/֝X,jfd&j҇KK$uj8w nyj|`{ km5- eeىŽmG/=bٖh8_/PW%$p A~|WOn3AD[ `ù75K᐀.34t,GwvLE2/eɬkܦPh-+t}cڑz>L^td7a'(j8܃?vF8 ,(n[-cAu"Wcy[ 5[NBƭˀ^Wr{ t`,Jod#TȠ+O'oo aKPK u(K5lǴ'aNm+†1o?aKZ?[:,FS炵y(Z>t}%yp%iE:9;"|ˆD9V/z"7hhE=DC QYɇ gC˝0)$ z{ϧ *$td۴H$(k >ҰLWvL#gw"6eC4I<Ƿ1Z9"dY-CWnUIevM\ W]zLm\uPnXg3pi: W|yYOkfd_PL,Tf2VIi7ov8Ǒ_eNe?z#i/~ҳFE({AQi!/F:-+ m?b1XbybML?H\䗘14j&W /Q~x>R܃v~}Q P!`uHts `RR(~ oލiew=+/q]볱4X>#psA5UF?n9<Zweb){^`.)G}x=2-0B P:bD#ՃvQ7/ 诸 FX#>YI^{ZSYB{Ȓz힏%M#TɠH4%5`d ,]A9MUtJCDq>pRlzT5wpI22U:yyD 0vbO $eH!(PL3AײeS}%ˡ p?Wcbb"q.N]lf>%3\a`qDߺP\ J~_xV 4S> 6qCTl (ϗMw}|mNpa4=M|{Tt$79)b\Y Ǒ{1ռ˿@ԕ>Y1i{5%i#^ov2:Ez1~3+?=0|AI ;?40~Օ0#`g ;W7Њ1a`{B ^e$[ԝ*6{aܼNa;:lXcwW!j۞ϵuA(AdMSHIJcA++R^tCAqCx[}Wȡyom?$5 oa~Ր^7:d_"*ttUEg%Dpt3SY¸⦽"<+nO t[5+,{ٲnfݓJ'J$M&``To җׂCHA*|+no +1S]py-ƒ:^@WFn<wN)clX!-zXsT0?j{^8?<_cmѸ!w4g,E}:)[T-3~"}/ZWXCԴ ~ Yu YH/@L޴6_LR/KKIЉFuܸDsEࣜtnH9a~u-:L6a"[G,G׆R1sްrgGt؍uZV<> 㡌\Z<gy.e]s;/|5v"$6޷tPu,y*-jƠ/;Z6jJXZHݙa0 8~ebH,LAGt%l@k&=}dyB5"ӨO-lq#⩟)(|U&+QVN%7V<[1N.IoJ'u}>:4'6Qq:9)7L0 iZܭ>h3>q7]=iFZYh,W"K}j^=A}r (L{UK(Š;F ;}_=q<0?zR}XUc0z66XgUuzPnQ)'u|?=F*1xH&w-L`bKU?K[J6 P鎖F Qʴ&V/O@+dRwzCWbFj#A+6oag$ I˦Mx.9KNPLeg]8?~4>o@ Phy`m PƭBMj3MXu&Y}ʂBk/e9{:ƄF^fw?C2RxziRq>X֔ $_ Al91ϭW0 ?"guc.נ"\)/uJ~Azm$b_h϶L$i~Dq(԰E%bK],d 8%שX1k>6LzYa%j@ T`|rP5;=YYs4ׂIHeW|.[adP[@tmǍ ZŌp룽BmoT{_燁 ! z~hf9<EhmKP6iGA]f='K,-;ҤM^>wvFUMaˆ>ʥ 6n*lЋ w bSV2 5]=`R`Tk[sJp9ÕHٯx_YJ%[SdJnPNoS4-.yЗeMA^7Rֶ6SP6ݸ\NNǁNZ~MBEzY(]:+BW Ļ-&`D+B{#tpc\fF}t=>h~BKϿ*p!IIW9߳xr@yPZ͝ G 蘣Vi}oLHMb [鮅~֫}܄hAS`oe7=t"L.&L a@؞Sچ\> jJ@_ef>z(*&Oj84X5DfHjn-"=Uws?"k -&{7<+@k9eE2\40Sg'OߠFĦh9 2ޛ/z b=aPk6sVWd5[&E[y꓃Nzt u Y;3" OEwhZmp}=E$?CI~ &o\q/Z,wZD2kaC깂yPiKp?uqC0tz(TdW \?뛺2Z>sn%4EYpvM6el`Qn@; g! Ara_=Qv.b= b 'w;a2W?vZa/>ooz rn~8Z: O rWzl q?ëL4_10lׇ؈*:Yokh1]ub5@;bGjNX"}n˪ܕ{ @plW{|je'MR/ d& %r'*\KMG?պ/ouY4T^/롯\ÙֆqG2#U[s[Eu4B|XW{:D<Ԧ)ln`ܓU:gt0\P$[N 姭MlWWnfxCIf7MJ ȰHWu2 5` r坁 "5nhaݽ˖?T7t3(p6@ѡ:9=_;:j%;ۿ0YoT2%z lw ){B`Na48GH:J9@w}#VpwC [ER+Du1^iYMx^,˾Psߩ+饯{6:TQvbS7p NpZ)(}eejFS\J@Ӟ^!f>4:&{{*h4{_qkhJy|K Lb˧FʯՐGoQkZ^<[ua_ffF:\hdS1+&t?өqqQ[ ?>*߸)oӷүpXP #maQg#;q*(;S9i0&j|$<~ץePqz HO$ - T_/B _; #–rIϢꯉF+d. CHgU ɪAŔ'^tyk/y4j#p? |ڗ`^ݳ%+$؂FiU 6 XM[29 2V@25nr.g_ ?xqZiq&yZ 0Th?M^ê.NDx}d 08%`5[SyUlN$Qw Q(EE]"X΁] Jpݓ(>5Ao{23f3S_ ,BU+œ1WcšNMB&ߨ0m > z@7л&H!EQ,e|&WVc|pjN[N@>迒U1"T}A@L 0@V+[!mzDhiU @RhO|-"wn].GCVgtB/b3 =u>++[2 ,.K2)5OOR7Ӑ'm,a6 #k ĺ 4$r8 U8Gsmj+:7 AHvL{;=Hu!gi2Rr7"S.f|$/2֖H۝]>[ j~0<]w&9ai~TWY =*K=oǗ{@Z4$M3%`xVǷ>A`)&b(|`dkf9 /h_u`e pYiYjq0~[:YbS>4R?Rko(aΡWGvwڜ4m^?N#Մ$q[*qr#eyHIsɪ+]_il;_BDHSq:ubD0%'x  5&$+[T8MSU 19hnjޜ'6,>~-zc] hi7q`sM4 X܃o(XhgNThO `P`eQ7jC6^b#wD0_]x j8wq[#6d>̝Hc"xcz>XB =U]x?FB^Ül (F'K3'P M@aO0's}Uf)Ì|J|u;Jݑ0C"ezC6sxɁOLpSjZűPM=l{|Z) j ٟk֑lY~ ץ}:ھf!l'NdKmTw!Iv2ܦ/oe#=OYU=:8N"oԽ}j'CIMbʭ~h;:+k%lY3q1a&|x,we 5'ۢxD) }/V9uo@C0(h߫KW/%lHPU>n{S%.,3kʩDx9z0Ģ"o.Ec-2ЉZwW<8% jDDxQϖq <@BY<cNuR%`1 0ͱ%JP_gI]F]UcnSW BhWrUp}w#Ppped?p7,#E\6<}zfy K*9l"t 8iJA*zkvLP%BrCe|vv5hʁ:W/j >/Q6WF`ڲ0?ah,.͹xH H.Be}vx:XyIZZ o}WXp43A}d*?Ib8wt9J۔+FoK+O/ZF|L䱈;hQ-ɿDRȒ*w)g*i+vcP>Aofƻb}o,=!Er6tMF\1Cxp:n*Yf[=6IuC'.F)j M8[ƶK[΁Ⳕ\k<W p{2andyHF'-2y^PJ!/H~RT8" Q; ^x(ekxh.+`],]JPmd.))_h%Etr^$>0J& |X(eځbQi4()H3@EW뼧+$&)^ZnÝ&)/>iMeΊJ8S/j<RՆAXhagk;#;_ 4!.ESXC(R|#LX`(3gINY㔦sE92|41Sxu z0) spRY1?_TX- _=ӧ;v,Jȿn! WTOJULKxޥ yCΛ~^ R<Z_Ǻ?bBPRPsdpit{L%s:1_KK#0Gu*y.TTU(©37XHڼ2'H ĭ-}R_ۿ~6a3YӔa~!,81*+{7y2d 0l!mUIH;I^ݲ WVü a &D-&̨; Y]0aT\oj&c(Ͼܪ}yi']=1|ʫyle#+$!VNlOWN|q\?2d`+Uwlپ ;zIL%; ފ0"ˈeqQ\_9-6WCU~mSJ=,*pn4ŷ Pph->_DuxƌN$Lyh쵀 QA'{h N辿Barи":] zڔ:wj=g# @x{'} VC`DŁ<,/E 4A/eH=~qdo`#dȆXQ=;!K(qlHV6Y{}d * zQVͼN"A!PGRC*WqlK$^`4kOZQ|3JӞJ>PSm"fRqcYێp9`Rm|s'(83pliVGKvߓe仩~R`kDGvΨ`~D$xp]%6N|FwMżTp_[+p.E$"Wa'|8񚵰jh/Hm)((yXqC|%֟Y|ER+WA74WL) ߥQOG?v }H3]"w79Cߧ$”v6okHЛ )ka链{w:rߩ`~ O9YMN4&at-) n =%-:p+=R4n7n^SI]>Ol}UwgsikϝhP1d ŗn Jt+>;{G%d\+MY_/,i2ŸζF<^`w$)NmJ쥣)Im(S ݏo2{n!~\m(Q>{y@^Dai s. |Øy%W˂76XLXɞ~_#|/8t ѡ1/ӘqC0[7l=ė(0:ByuZKDsPu0lJ!NT Q(͸^4|Pk=xk~[ow@6 Ǜ):+~7>- ³pS&@}ԣ'.0GTCg.HV"2u$<\#E?CG~B=_@BMI̓UY'8'qA"$zAH+@6Xn )TB\r'zˀ|`S"qT~PaQiӫ@- $fpZt`ˆ}U/z:NaԹ04\_jc=0PͯnsÆ D,=TOdk%UxP0~Hegdh|Pk#-I7r3G"H6P' #J89b ?ٚi`x2?B' D]wê*O'C=1Y*Oz}KyRX?ush:1R3cS99L E!꼶.v` +?clAv!lz|B g㶦Q: GBR*=Q+Y7"6duqpB\_{)OG%T d=" ?4GLAJ,AvoώNOv;]ͧ^=L-0E+fTpfyKH?{'=\1Wf{/ ̞Q1D*N:SӍ(pr>toܩ@idWW0%s ZN8;Z2lW>5WBfE !w #&PlckJn-f۩6?DP`Ɖ/_8ԛUq(l9.91Bf7 ϰz7rTz@4P|Rc;|fDUJQ6G=edʃ?+b{|y$ڠ~IbcNw,ʙ\ZC}w`Yٛ4aڻω?|pl38OY%f|=뮺[N;#A5|WL-a;;2{OmQk״[jgay!ұXɖz~$~E8FnӶ+o~&=[gt9?Aw- ^["_W$N}MYĚE/ 4ж_Y1b'qؾ]{L4ckX nHJ?R:N1&p7֚L:7ѓE^5[lU_v/eK$K+$7)}ꮘev6GAd !Q_I^/8bAAj)u(sL髦0xE74b6H782$rC( :ol5$ɰD.>M m?qFxBtWHyTo \AZ Sn49a:ٟ{¬-fqUD\9~FTj# 5\σ Tu@ jD窡0P#\֤G,: !J$jF(amQ$\tke!+3X̌F@xkG$ : +5{ XɁfN, rb~GKA\aTuʃV$y-` RxHJv _":nsy7?"~?;`wSS??)Y^y<1V0(z [3xN.6>\;IGwt|Ʋ1UE?V/Fuq9k Lk~I=li Hׄ>΃w$c 1*rw'c/! HHѐȆ*WC5dyL\7:Vat95{@f"7eW|\fzԍ&n$" #_ūXiVb[&?]i؛E [: BT{!wT򦷮ϐe~8H4xזWDBfۉ ]͉B%9(-AI(ߣ˱IZF 3x*j},^oʝXZn_ *O16 xUp;:yE$$bM 7Ox-t q%K _mfruz+T$mw ꐥA'5iVy FKu27j3k_f`C( E`^TzSjk7檸s=$ӑ}rIHiw͏:Dmƍ2GOfh4!o8^`n*NHtզ0bwI;ɻB/=vlhAgP:OLE6MLoA٠e#=[R:έ̬-Bߑ-<\eS3ެ-ĸ AEܐܺ8_ںS!Ow]쿝-žȧC^B/[']@yf8C.Z]-T-1Z:u\S?x&aEJFҨ?31$5W.~Xu+@S7S7ipo:D;W:f (ݼnÑ չG8;p`t!<@>W[ԋ93`ߑBbdM, )LX1kNPfCMUӞ Ӛu{F wGA~$p(37}`t-zJ|r;1=CDtă4,tۥF~©M@KC[ ꁶPߊz*3WvW<[:pJ`Nک)>MtN.A&dfWi[=t7r9V4Vfb'{zGqn)*` CmM ^1OŎBtyfwX)C{ʿut+Z)q}.fYs!Cks/+[8ђNeY}~+{tIu<3UmMLz(ߠW4 @>dWT*m6z]\;._~tu sNcWzh㩙w4@N{bǢ Kr},șߓYpW4NTN42 (_uG9S5ER(%,]_6ـ}*4Y-cwp@fb;(x!Aťĝ4׿=u*yPQ:b$Y'Y>俋;XٟpQ*"L#v 틞#BHaHc 8V8fY9kZVg_Ԅ*W=Mћ)\Hw(T2"%#ζt~tgL \F/x JG B BW8=|>~w&KuAY>.aKw,տf55ŕj0ϵ\3!BbK c{Hu~jͮjA=2Ӳɤ O>O·+-r_umlu;x߿o/b5Mo!k&F%NQ(Ɣ ε༴͑(7qc F! HLjp|,2DP4a:[??˭wMΊ9ǻb/+̈́3(UHoi<%ރG)-pa%:_FW.^r"WQ0cPDLolI tB7' &ƅDŽvTov+]{Z-8`.m"/Gw.X \t`xSrQ,w 9A(l4@03{Pr ΍|T~j樃L>/eޙkG ZZ5,LdE:5،+:PU-Gcej=ռe:G=$u{VlX؉+_N+.,=;)&?QlfWBkbO dU q^3]Y[%>70+15aSZɉlxK~(yDL$ 9 D6؇Ġ}=rV!pZ[Ρ{9=џx'%2}6]'nЕv.ʂ &%57y+84 ʁߔ" R#t Ԙa_}ݤ?S5eXt-`f2B518 o9b9@˱-rTuvAѲY#ztܟ{ܗIZOY> ?ķuҘު_փŕNEzhBwYXD3ٯȊC Vk8b0k,A %a4RU"Cot.:^yR-{zwINn<[wȑwt J\5u8,uq_Gco?üSapz3VAlE/fZPKuaMݒfGpר_:75ߖʒνk1*FIE?ʽsѰ[u6ö9uj,jom(]ߴu5*k 5$>} K2ѳ윀p8泘QF-H.Z/X~L}} lTJUWHethSv't22 /w|c'1啽xtg/-TiTc*r jlֶSԝƂM@YB$O}xuV1"Lt8F7y"TM BcniTmH~'Q| k=iCuAo;wg=cd蹝jC%΍ga;~},1*!<:A9vnApOOdVߟ[@[yx9NGuCeqېvh&"J #߬%?@:XDm2rn7sQcYueJ5I%Yֶdydm?7WW+SWZsbeIӎcW1-HxTB%V?y]=iL|O'6qw<8(\|qv4 iMA ^Gc*_E;J.e#|-FS VWoLV%laH{c gۢS%_67Z%r,ie:-pћȕ/h~O=|@H ]iulI׵FJ۾rkbǔ;;G Wt?.-KYLנph"cX?8H^-.5j#;/QoE1|=cӻ(2eVIEO]гF{~e= X =~6cVw w(=^<%QFqfh`c4w1@*nbѧ;[?UfP)Vۺ:u>Hv౿CBjM#0/.>l+w8_:VK.BFmH ɢ _~ GuƝ eӃ?٥}DYhulKN9%LsJ;oxi%t9 -GPT1Oqklj{|zAiP8WY'Kbw - j;?Ͽĩ~Y'+@>q=QZKlkB!JKRav8wovyO qA٤6߅ /ߛ,\JNSNT*o)^ 0}ɨuUu!Jk"#xxi$&m.9zҬۓڈaCj Qor w\* 7"[(2?yrlkٜ[#!w7V&zȈ 3y 0{WҠ ^ϼWpZ-CQXzvkBoDDN${T -QB0 Duq·*׆1[V;N|Sx jǕiFS8}fUx[Q?'@34A{tDq~=Ӕ4p*U%Ed? g+uYGjJ':KP*IoNBWKwJ MwܴٗH.'/ezr0[7FMaq/C" 2ROї^3hzHv zRV?9S3e >%+MC1 1|:@k8C[B* Z!\;RP蕭(zM)AiFl߇xiiK0WUGFC8S}5A4kUP{'z 3+o|nbv~4ڟ$c V},4aʬ!($O(MYٷ?|0~tq0n=qZXѥ=,i~Хt]sPg]Œj.튏LPL[y %ݠf? eCEQ O8Bob}p,{!wS:'F$3`|%km|A fTnUW8iʖ\kI?#x+9J>GO hrWȚY۩Jo` 6~yk4}&A`K5 (&ý;̺ݳa);qWN\BzeLV0v@~j76 qCN!רG* -%)&'aSb]QUMTdIgsm^v\*i!$ |v:1'rQYT|k#3H@;*(J}kj#{Һ\g7t^׍IC EʠEl493'5/oLf p?Jn_ƥ798]f<پqˊ1jm j';gEڂא&3DΏEn 0{/ԡ}9YO DCf߬ExD&%Q1 u<3 r#ezxiL*qkdx DZ)/r`q@ +E \"{1bZ @̨GI):ZP b@Wojʑ 9 F]spL9l毬˵NhNS&bb+LQ&Ɨזw'nқy5 `]/2X\c :>b"Gl>tcj#A זMo]`f1=˲qgne|a ^ `t$F*2Edt`k˖qs.EsܻAZ^< =*E3Dӊp- D1%$n1Ȭ(>N ]NaJMΓѓäModg_OgɁM{eD/UccU@38Dl> Yإ^# QѿF̘k#CXo@&Dϐ|))6Gs;jdXDo5Ό8.#"zw`x3q2b(V-ՖB{Vʗ\Y*$]= XA(O"\!rNh$<1b7{<\MNE*t"Ofp#4vheP`Whd=t)}lG,KCrVo+|~MTnܗrgoJH(%|M<_ #<S v>(`xw? ȑտꂹSÖs z(ftnH}9o^-1dtNLf|fyNUR<~O`ޏW/b:Fq@H[\q@\ܑH_GFe!3ߖޏߩhuQsNܱ $w,{Wƽf&$S_at.eM>bLTp}c'WPs׵7:>20Fth[D+U/uFF>+$`~eTIvm,. &L4.-CP2=Tн:F0M"g'Q}}ސ`4]̊Ob4z厘6/XkD0Ca C\zx5'W5n"%=s5M>:||fIkR;a-B0=Q9WF҅ [@ùHi'%u&[cDyC{*+G2\:hٯm($$EP) h&H*Oz 2[^x:[ZĪ^ɴ\.ѢbS%op |2rm!NW8"§ ʏ1PzY^~zXF549 !~H5{`s;lt\L6~D@ı->J"Y9W7O 'o.MMP%>fXl٢-^9QTo(%Α`2:GEOn76 U'CK-'A~s@np$9{gás養ݷO>VJ?`;XXC9K*>hrhD9x!H7iq))z]\ ֓Nk- A8xS4TQ5 Z4u{Ef,lXcsj9 8PqGW'n|6R^V;4p *s'@ 6v_Z;g=qS'σk< y /٦hMȯ8伛Mu.g:2r]pML, %YD*erS 0.i%`4yvZ!HS3#sGW,mG7-Dg=%zDKKf]$?\?m˃um̍+)ȣeb8(]3ŕ*V3n*=s2uYM<^ ;\"jۡ".CǑᱭ՛+(@U3/kdk6~鋫a,񨫙UO5 lS%|=M?{_IHie!7 UG7GxueeQ|ܢO'g{]͈˂&羬79v=h ;b_-[5`]Ь?$٨3mQ]Y9jۍx} \zo>b&x-kj#ͻ&`f;(|G. XbgŇxv|MdRt1NziH;x`njA6{k YVʒO(XE~=0Mz)\u>緌jqMu3`g/Q*8 + m`A J^#kįe r1/gXoU~SY- p/݋?tSu5lm:om_Zui_ zz9 E-oZP9EwlJ }@=D vMXp? >%lUЃV 1ٱF )!]u{@ Tƈ6OPi W4Rpj I٘|vh9Y"@I7%SL))ՔlpZ6GT:d0!܂d6L!ͯ5wքŷW"-B{ Pa<.J(El#ɑQh}.4FB_FUdHYڦ Wd>L<פϴAA7h؉ D€X1Z&JA&HZ1!zY6:`[ 1Cb } q@$>eR1C̆t|X"r˛avX001?ql eH-]ظXQGX|ɜ E1Etÿali&G :,:wۄXg=aƩt71SA吝&k*t\P7?;&bY;tn1ael:{$~ @fIT  QW]{< uYq0x6[xo~3Fv{9?բ\40OE>68s[*77ġt17X|a@ԛL~@9̄5>,4"'@5{j4S({6u3z7hg3>}XyHLЂծ_ȋE]́r$&n=9^&M0Y0t:K*& AveࡾV.r}p*H'9A\<@Q1<|5U.􏩩g,/tKYG T?^5*܏x= &$f,v/zks6DEoW4 泑= j3zW 3 pl m6p8g< e7}3XuW 1: \`B]q2\v 3y_Fxx_[7__!ő#IDn_:_u|7^6XSZ.Ѯ#xFoF;wOx9S_.B\q\'[Mcjho [cC I4{:t2[߻ʅܤ.^oF>V=j22L$2o#ГRG/ŰRqm3YiŹDTH"t 7{:oeWla + pQfblfߡɄ4?VX% L#J5Bxc3037Q^3/E:?0z&jnagɚ#gTx)Cn$&^~w|z;F)ȱ)kZC+ۋF>r]ߋ1ɍHy;6j (1ړT/)ZgE75'W`sA+`XW2k& A{]Q@8| -x;''}K?6=H`}Cl.:sЪ}J jS:n>\bJ<+o[uޔZ@0A-6zâ}MjRR $fH)<\'F䡻oĎ˸8oٖ^tӬ(:Csʑ\k:mx>Kb؊v[F| f$3mizG3FkڣF`'rw7L#VT&y"櫓 !/{ -p5=MtVoʄ_5RX~1@`_q~GjjMzߒ BWnӣ䓌R +b4$r,.%ZR6YҚgM(\ wS%PH;1 >~N5cb'{󽽚CBz-Ue펱χxVZ̽ N NneDв%@Wx~'evvaⷭ 1d$+QoF/Bڸ[c -J<;2d@ }0|JsU(•2갴 :mĤ1^&E6ứ؍ų̬Ү&*^PS=/U,>qD\6_f< ..̄9[H(5:dt=_ێ 'vf;̇2*/c5nUDzkUfh^qkCJGpȭ) k5aqĖ2ݪ6]_;?zZ?KMn}*(Ҏ Pw}"n@FWCn S\io]lvg:أc 8e7YmF/pmzzi$.``4hUoV׌zOͭ찰 VQ)ݜ};deO'G$ܨ{1LԷt[ Hgzx![̛_xs{ZYr@dž4=33LQM>=Z-r4߶"*F_އ2@ᡞA ;VNL<(ϸYu|9LHFqm;f :r hFy>"Q`һfh㫾&Av`<OB+I}qY[zN/E>R{'_p]t,J&PQ#+8>P3?#2m-&oBEf>L [#Ivoy5nZtA,l2{U7=OzKƼ(@=+z۹@ I\6~ W1="JvoԲ𹄚5+M0~.0|P:zDǴ%NX^^ Sֻt3`W l> /AJKC,5n Xmns]b2VݻDFL`+b0X@uqCvGUQ`Ꙡxgt6J:ɼ%۠I.sWgG@]'V 긯xbLd ]z_46";3'LL :gPD5OatbTkY OCPH""4 _!z|f+t|=hw0Pqu?3:8x0/*u=Oj}  ՏIT(XӘw/L7 `A@ qM q=(%.Tjdܭ*0ZBRF)MwyH\5BeWcFx =\ljȪ۹amz/f˥?tVTM`:&ё!ʖz@/LhhV?@t>",b]s׮P>aKuɫ҃bac] %TzN"ʮŌzB.sQDo;7i)qE"=8~!ng^4mq (fM-_f2/\<SV&2mvHn&P#ېr[`gwU?MnZJ-?8]SU4ɿ˶P35C/7b7uEeE h[Ѳ<.֏OA4%#ex c4fQ ۊܚ6* /%dv7=lCc(^mD.mQV8,x 럟/ @I0/5% (WqV/[E 0^™3Nmg~M\TBuU>3iTO4faY#,,a(@γ#W06ٹ,lH q:`p3C_(PQ_B‡z^CdKŅ籮D_Ҽ&vt~4v &S)ty ,HJ(r7Ad\HZI;`)vQVuPa] U8wJܰapN p=d; rSx@teC5Z*4'ۘq u:-ZAAr2;^Nc d x~ކ˔t=.Frx<"BwVO _4cdZTc M jM`C3Tvuw: CJ9>=V1t fB&$6:[agPw̴JkPo C2G?9F02f$N*zmYmekWmvu?iuTӰߊ(c`c"9M9iXN/PN{\O>qBz,>y891ghG8ZsJASsÅ+P?0~(K\:?)x YFy嶸փsYB ˫H{ ^HK1zdi:<=^w#znr^.B?Ά `.rm 2jjVms%\Kbus :p>KXo2Pa΍`<݉}.I+z+poRݍwYZ"~91yQ33JMiߎh3uu`5>&fq{@8%o3q }D# 4p}CHlQs!=J !%Nbh-%mK ƯɫB_+ꦯn5_?o  b m8敝~]B_%$~O7s >%Mu>>{2vd_` +Af yΘQHf\Q8dbt$ٹ 嚒.c>'xzIoyUԤ.uCKbuHJ?H r۰6t^QT>3'ahv9kaDlvg( qU!a3 !(w~H9Y7J,3H*[gX^OXzߍa}}}ްn\+ؾܥGnǺ42y/"U|l/ V~&'ֈC@J'ګ+htH:\X \[hS4SnԅRLO^ʵGtO.\a7y y`iQNȒ~@}bmaQcWJs;5P,αFs:/n찫NmeUC-6R3d5LyAWqy$(`f?lFx[@8Άjv"?$EKim8{F4!ނt A Jˋk⯟ו H_MGq_ݽlck:p]4Y9(V#?PexŖzu>uȔ%ϫCc XεBk|bRdDtzCS>},YxR8C&@DQH23πdmAtх 69`Fgx;J>G<1nF]ӡrЈ<.W88*t-p 2`s7MfUF.lPwr9@9oJBLsfa"wrW.$"E]Hjix/-?AjQA9w0X}7N)S`i {*haLo&k|C[((e sk%e,U~1S Zn Em.kbt9Nck؄,ӎ>? HKBv8ޞ\鏷rvð|#; -Em'G"[bяE$0GyClh59bP%FE׎o(h+q3 gdTS&![n]D%g})ĆK(6\Ne.^bY~=#);*<02('ꂯɃUb;Bovh)mOr<u3?0:r3G? 0G!:"4OlAy( r$9gKAcr{e>{rO;| : &'}bS[t_܉ 6Bxan+{*J^MUR.*/QOц!'2E]#Cu>36. 疒$钑OwAuwI"0c[tB?/y;VqR]d^U~[_ ~$͜Lӱ\ t}`|]=l{Y+_U|{uvZ |iD&ǎlR q5 ( eFn_SKh~8Oϗ٭>V)/^s23?0f) ބ QM3pL揞ьjLe0$NYfIk*{HaΌq\ o=t63(;VBwtd`ŎM8975ͣq XX;Zʡ׮Eum~MOj0p/i]^o6O?>j?T ˇkz2IhL҇Zhh KogDBiGw-\nYgX_.;8q?yicLC= CQj%ܮG(]05`-R^F3Jnn,e7h=nN]{@rO](Q.vwM{HFNUZ5DChX`vp>]5HI61F[Zf +`Ζ=Z;mo,0JtJU_8;WƸKLaY(=*}'7S z `R"} v"J^Uʩj"_n/#-/C'Rr~ߋKpPZCn*)gV""9?9K"`! =rIZ=\a?:ZN}L.z0m(T#O~~&M $X2ZpuHq=n:V*-j3KzCLǓ7˺Ua0OLHfљvfqB(?#`QپsLvBr.w`cD瀿 '7STm] zBu!>TEXW ˴Ř)[RBD꿔g8fӊZvG;| +t!I PTVXzj$wI+6J. xOK$z/x>7zW*ST_7p骷/ B\{3+M# 1e,=-[4by|߯]Ĥtvr^/\BBO6ѵ$9YƞB![z)GN$|R6Cz|r0 X_)WdW?>7OB܃.ᶍrƙ[7@ExQis׾ 955g8VjnGy [2[tzJNocSīm<88x_qn9 @[1=H/ 0O˼NOy`[GEi2 Y8r_ҏd|CQc;cn$3oKƲb!dw6(toeE&gaG [wk:~y?SAN䏙,( /pk}j_+}C-]Cd! vl}U8q^B_}$BtWօ5INۖ.[.shQUI#|9xC6/ W`~E|ds}h [dL yc/gcC; "{^*\NyJcl0N R!|c>cwC(O8S3٧Z0 0\xt!EFŎ꣙ # .Fr_ˉkNeH\ZXdz&pJ_f}ӳzf򷜙x(j]ǘ g*8Y? *bUߛhyXg x(n[YbR^fH _.ð5&8u+I{CH&A Be&"TU{mK^u,Kw啕[1Juj_~0932=#l)j! _y)h࠳^#S: @[se$z5p <A#+\/&>dB',݃f-0զ1VE=hĒ'؏E l]J5E̪m$K\PY%I%^hj^Fvng!a`pC]IF%Qޠ^=ChS{7f1xD`…*s?sݭQoܹ~A~avujtZk24 S'jg4۾qX+sWH7ZT[g0ާTpptVAXaJMBeM)IrJ,!:Gj5°0U}Ye$No)=b}'+VBniw"j3+;lJq1 ACaɨ# i2ô I[ qg,м "'\[ A:0d =4z'B&ikdW^uOA'Xu;gj̈j/IE^͸ i!muv7p|3>۳9؄<f[D5Mҍz4I18l9S N5AdB/Hгw) ;b|#)P DmjFqqҟVI/`½ܖ5Gx–yPF.v뷔Ȁ&X17k(gP0Q|% ָyWФ~7]>)POUy| eۆ[\0gPU 9q8dǬ:[؝\`>4SbNɃĚ) eݥ>mW~< ySd-53jq+Uv'a  eq I#(HBȻ{L 'xJ5Dmr Jsעf qKD8zD7TZ9ewB}@rHk̋8 ĒWlP;F߬aZYvxʏE"Zi5 eq_qĂYؐZS?))O ů>&QKB 6]%&w@(?2V( ƝXU#hBug3YNB.gLsB|wq'#KcA<Ѥp/-`< vfY()Lw7lvڽaNsE&hUAd=࿏(Ns+oFnOYfb\$V{۱a}_TtzO\S92 -uCOj|]<ƚxYlYxt6;͟ k7z<3Qݙ.67l)#ܤ$6xF*uwEGsLGσ+X8;Γ><ιcF_e^g24<ndugʎ?r/bV1JϥW )w/`|5u_{'uU qKbPIٹU%!ࡽ٪ |` L_<.;k*Fs兺–_:)BÑo;wlQtY>%BT\ o*Ta}8Zy ?b Ԟ[&a@EB hd> v# y@GZt 2}2eMN-O<u`ZQmtXc6ާ_ "t;5;RT,Bnb5S|,eײvO\Ar}3J7c[#56pYjIG ';Zt>wlM}xAn;3o J" ?br6@oRٚ]M۳5ڍ)0r_tM2(#\ʶb`T)K ވN1JtxoyV",oKch9-qbF֋KVD@H姚ӡ7<—Y|YU[A.*2S (Ѝr%^Sɪ@&|@^>n=*aS+{?6~e\np~?[&/3l[aF`&6p^voOۖ $nAk`)0[ qy8J)+A?(~9r"-xR났̰O B!A-k4ih.|@ O!˻ݵymZb+TqyDPX'ظ>@DpG Ж!*?:腅gJwv`В8%"I߳/X?|(MXUy!Ϩx#(_J1ʱgi\X0,,ڧ,M|MFj1A <=Ϯ?h{2u&뫎6/K~A)T ~DȢyjA%7M,:lOX]%ﭩz!GS `0qtRWJ%ֳQDA]!2dX\U:;!T+%ǖ˭3@9ZoBYnD)$+K%QI6!g2>dX3M/?d,aţ(U6bXw=6 =&ʴ`mSiœjG\*:?B=:(3J|&g\]_=ox %:WmӌB^<Ր=H(|1M{N=tCXv(t`qNv 5f1i2MGjґXNX*/ŒbQ콏qY *Y =$ Cz璵(Tյ=+ a0Ƹ<~\,tpf'|fc<}ӼH)cf ?gGy+P?>\td?wuYԆO 0/,-<)"NM!c'quAz̶;v>a^PևU4z姰:fI> )tsrØ\hZgP"E>8ԇgKn)G,vŅ$ (ż D=eoܮޱ/xK*9\V Bd3nc3MS'ݛ>Ag Xy]ô K"RPMy'?x&NOvAkaWop3wȥzvx1_ލWCSo8٥ˣ޴<"8.3YSطJN1O2kW)3JxḒD$4`oo_{?a\..,`A-8Xmm)t@?$l=җ%˕Ჲz5S]@S+pl&7Ei INA\sɳ =kehSLT'r2V_'Cz%S6ӫTh}GS y^>ƽmKxuuf5LL|'Oͻe=])ASPn\}NwveIPVg ﻏGwoGe~mǃ#/38E޴z`i[w!&ËT\#BBR\T^Q}a('x~٨B;6-U0^(HǷ̃XO% cR=&B]E۵,e#Fl`W|J$ il63qs%x ŧy_ćv.ja0:J0Jc_ED|l:~GC9si8OU}lj(/Ãe)|Ӌ4RD(a i;kˈ &,u Fg-zc6/#JL2jTYS&tqkI\D8.B (^QZr.-ws嬮r’BR4ksXS xK(OOU&NLr:\1nFbjҬwR,9K1ѧR6$1nN|?]YYWT[b\0o95L+qSYKd`BjONΏz[M >]+eRK„/ |?]Pv|Cbhrgw)F/ß? T|urS[`ȗqqσzW@v|W 9Ofǔg7 T9.ӜLj8U?<ٞSS`R[Τ?>DM1Kz^x_v_CbP 3x`ry=8ʜfhD196D@~y<:+/Rf uh@n=L7 ):Zյn6w;i.}\5)ǫV3B0(=' ~<3w?'i@N3E!۪ mx4b(k#Ҵ!a3 @^QEk2i8nlKR@{ 2KN6qā]ӟ&m~5Bbrr-_![ǽT1Is+mתOR#?5>BSwM~r%7=5u1ˌ-9N˔3@Q(:(haJ uו,?vlRttq[bBvݼO Ю b p$[t e)]HZ삠 3 6Iyζa=1'&a#Fin-h/ɌD~Af@Ѵ,:w!N!&*;,Z57@?v$SR&(Uzo ^79X+֦[N![ !TAczx T^5QГYv\Վ=-"y|N)*9V&}mϞƽ s\uKC8%Bx"-+#!ӫ: 7 J 8UuW\XaXZC+[N~bYn6V*'cԃ/v|^ 9:dt 7{dbT)SF.dUv 6#$-OD$/!\L wVTp&Sx{(-L˗Q=V:уmة.`=c߈Z-q)<1sɇJC5^QY('mJ\)CEq.qdL42n4_U x:S w&O'ݠ-k$6rT0n_g5;1kL@M a ɔ.5jqrM^ g4 lQn9_Jc2/xՔWu0 CـV,<MG͒`R$1P AaΏH7܅aj|[ T6mIG<ؚ#$;oރg@^HJ=H %)Q6j!C\(^)m#$W9Oןyc : EqE|0`BJp>H $bk3QEhYp|=2in?t:*N{`FK1煐c+ɧXa{q+G<ܺ?Nu*>PH=W=%FF'A>h @?G@ Y >k<>4H 0 #'с $\AL|J-HA(=8Bhq3mtǹSvXB;ku]S@7+Q!iAC e"Lwj5Yb픪ps$Tx-]GHƀ8G{@د?o韴È 4G禞BK? gx}8[.]|?aM.Nsvtx /͆  x/w LNL4Íg¸fTgz!Up*&YR<|tݓ9#\{,3('Cg`Wu.XB  =%/F?psoB<,.\ 6$f-ЎnQa/߻4jH GlzQa+(*XCHlM 2Z\9Y[K%q Cc(T&GJroQ'l,C0LM0}uG#NkNg!c}ȫr&3 ATp<VN&Bk3@YT-d!– IdPX`*$y_ur#R%߯{4Ɨ"ѬOsaL X\T!"6qSq{- i2"jh+y& =N!A'_Q'aI W\hJiQ[^ղE@Ա<іE?N2Ixˀsd2탾"dٝW;-no@n%xAQcXȇ0! ;p\ͅw'p # $Wk q}N]kWDD5/޳dRJhg6wǝ("p IJ%{S鳆 SC5W]U`utN wdk߬ me3:/pxb;IMOnO(Ǹ`0iJ9_1ݲ|&lNE )f{nOAex9Q5i:ćew,C{W'Im]M+x훬PoWl.]BנzÃ-CcJ 3hޟعܷ-yw-DN<ױl=LSΟN[qpW+va7rIF3gU{*AOЁD3Ũ֗2²)v-!^`IMO%aS(wbϚ^u<FuJo<zb~d lA!98 :ũnK@&.u%Q՝iH';=mb/m*kKVڒ:1 ,,4 ˆ{IP}4͐.s(`/\? Fx_JxG}hy;t)9*&=@wfU,bKkNYk6QR kP Jbuf>_)SʷhS?7g@9ClAuB+[O-Lݺ `jBkؿK>a @n2āDZ 6a6s1H8;wß{IODB7K {m(HyQ߭%JvWaJR>k 7 lVHI J- CSxJyaKO3 _[nMTVIpC_fy MLTmsփ*RnxDy;qK2)/}nB0:E/-vV)Jgz/+\{?V[Uf (HgF(2 "5#z-{jGcz ?6'o6*<^/V@ q_ef;z.ojDǀ3Bt$72K<zS2aN$<ʲ>hYDĎ-qC>E5ᇇ銉iгiu'KJ|C-_,W^όC U7$Nx\J#Υ6~<ӕSI \&~0Ht+"c0T3o,M:[\Ga'w, ")dvy<s~i-tF%gbhZlp 6iF -ւ2yE =L6a]! UQ=o[OL9rsU@Nh@d:^PW5|rHy8or?Ƴ=giIxף 'aߺVDv >LǴ] Azʬ42,1}=sqxI1^*2jiܐ:s. 3'Kӟy ֝\9m>gt~5mcCS1}'VcJÁD3z%#TQ̘(|{k_~Va\nQ3diYnޕ i-3u?.u--fH#}!S'n0#[*\rz+y{S_HWkybW:0|y!iJe /U"69F$4m@ZǪ=YUv#$r` m.v+5߈'Nl[0ݪ0VSͽ ]]T-{Aٖj{mKf?4&5yʗ28O@Q/2rIBc`g]TxIlp4h'Ѣָ w lW*V&"2]lpe= x3}dњ3(b; r{8n:2bF2M% & Qd3'd+Ç6-6=>/x34eٱՇ )"z #7WX+dSmo 9-+@yJLC]%~ʦ?C7Bf=؋`%Ĩ2(4y``(=&_FM'( Pn: +MB }8Қpz 4OI@)[r~ ["<0RIe,*αS-Վ z+С!B|Z^NB#LWm_t!⩠t[~?dY= @.5)ٹ=Pp7*C0Q~ |B]m7 J?*E Ւ?[LQ҉p21~VӦ'Ij#w*RF0/&$s=io+@&Vdږ={ =%@|!3X;-V?PO֧aaqalW͒tonc=u("ҙ1Q`%l t^1qh,{g"^p)wQB& N`o̝`hɋ2 n.ܫ3Ou]r^6h*ژ/=a 78xg^8+Q"ɠ{35!UFN3@J@ vFZc0{˜'twn,`!y`:AMYLɱDzׁg#̉FѶS!FZQ*ť/`F/\B(5yr|rL֔LA0#Նsm۶ 6024\!& F۟_N/}H AʼnX ā$wR3 D$( nma~~{Rq!,uyy6W0Efcjz]&|/  `>_uJʼnJ)1sdR]0Ǿ˯&94w*n@c~'[L+#mbz=۸Kq>j8K6ekOfv9:w'rvn8?- S|ˈҀC'eucaIBcךn4>j3[J*-Z:@v3qAF ڧS;7ۥQDR3鹑}h;D\3^GoEht< tӡDdj>9@׬020gҰW(eHPYdDwr9>ۯbbꎛnSFv?î{nILn"\nHXۖkʃXs?l@l1Wjlw W+TaO vF~@Q}ByVB@Rq=>[exkIx+9V**9;[)88Gc7x{Bߝ5w`Mk]?Tug@ż &pT7NMRƧq]NR2HWSsŬS*;ο\3!Y ƽ/_(*mG@XIQNr3o$}nb9@K.s򞬿)S۫654.z!k O ;WĖ}Jg0Q0O!JMMy;E(p'wO{$e8+]Y! >"jcgPp?M9Are/c;r6 _^).nF/YkڙtFR&P$7oOOQ5_:aϴ9lW_B⌛d tw  +$ꑃRd۴ɧ3h],xl1}/an }]P< &Wl-9d-W; 2$b$r]/ۧYYTSY\! W3"V}`$&;|¬9jTtJKUMegĜM ;ZD7TtPs:'OL.1PxTÿԨY*I=PL Ӷ#D gJ#!7UFl ||Y'dæ~.?:Uv FG'2|̌.<6)< U}e ٯR|!=Gv)j%Ls/a$*ÕǗIܢIzlJP#}I0/$؁$Z)5ghU553۸ 6.pkuPAm) "$#T^ \G 2ڰNw$>d%8<Ne2o/X\2vnh[n|cɓFI1|š+10aHV=K~4~(W\;QޢO'9{) ,=rFʫ>fP#< A ůq&ӧg'y{]`D#EvzLZ 2.><j!qޟTk}uH& x;?'?۷n%} n#-I?K\"<їG+xxR4bh?̰Z4pTz>\F[iV{jJqݝHvʝۓ}" -8.C/Rn 6+8E^X$d) YbbIaWӗ܊>LV:.o]od'K~'5w5D渲8P,QأcV3`3+QE̾Q%5u1Cr 1anTi5?A}t}eㄮRt*Z^7(?:kAWpy'1)\z̟~%LQ^^rl퇒ݶjڳ3|` ?H: <{ 0&v05vr$ dH'׽EX C}AA o,݊U@<"  0=+}gyp)D)XkzӤaWl*0)ICus\Hd^Q \J1}`~˅ }ڀvtd֠@HkYg^ t $2cDkJԈ PA hks_PG2'Cxb/>r%)Aj\u nӚ\~O:Y91 v>㙵qold Lh(DnXa4\fh:Ls f]FDiݫ e7 >MN|n)y@}>>=@3"47a6{X𶛊gGR=sv٘wiĆ/ȿ lk?ʑ ׅZz8*n}ŹVF6pui%l-8i"`&Dwifl]G* ddL#%Yӹ> ׳] ֽX97E٨vضە@(T IR!]W"PxJDTx^Yl9-`n}L$$G}6:bb5̳h+||²I8۲[DknX%E\Ť>moB!öjㄿCK*@a@!PJp = AhwLxAx{{<c{Y ( DQpEq?[q( Y7n+AP #=l2tE56=)nVb&xt6q}QIx@g"Sbpsflvxe` kW>1N׷v#̨r_Ը\".!t{:J&#G* me0Ev_Ba.d`q~]Ʒ׫|{AB$q{@ِnQϣ^(9W} NZ%<dܔer4߃\nRJ"Su~fÂLL5į$.T7c69[,?<1oo/~IT3x*kjHw-C(|1&xq Yƺ+2a=H2 f> B_­ӏMZapRϽ̕c~9C謖.e3y搯9DJ4e'+"x4/ 6s- O9O R7hb2N!f2gwGڇԏ~]A)q4vyc>7c&3*e^gvE {xRE.)= Kj Uw?zΒHJfX:yasOs[\ͅCdK,>U t=5Y3E 6Q\x>6tЏ]n tQI3"WOb7^{D+S?ӪvKnI? ?I[T ~p;}iF:9jլ^k3egޥ_a}óo\cp@_ `dQ@AVJ_²{{p08$A8e/:L {i1ZzQ<) 7ţB?I?Vo1˳4s29$3r_Ls.:M֪A`FfF}Pփآs%Un9 ǓAPFGU-/@[ Ou޷a2rF-on r'qSc?W/t"`ۓ F=kT=ЫӾ-wQ\àq|i䞐6Nx#c5¨`=*y߫Bѱ2 -ְa/5x$_zXI{@Bw1>rmm#ҾBw@1!E`*7(hRAFw8,ĉ ])|a?Cp^SM=ǼyPF>ij}f?4Aa؋x2NKЏ/GT.t64D 55Ϯ1&XKt18gF~Rk]G,9a0C'R7ZrؓB>x>b)(J7w ͸I?N7rr#m$u CTPu=,r`t6b>~ _Y)fuX%85 S|`2}ֲ__AOB 5ƂX?ߖ{wZ3'y2J('W#7q g2p6et8vG&ߙ#ԦH]Fw_i. Y/^\\hsN86ÎK@tS~0Ϊ&  ).G|,+?ݸZA2,:*:, ?;a]ÐU!px4_v :1 !pw nU<'Ns6yE-qA8.hf6TGc=!ٝ@5(/g^nFd1VNO v6[D$a4PX=JCs`C\-*v9+0Ljxt#HB 7K~ͅ/I&Bʗ^g~[jJ<̀wI]@e3(hW?%-T;h(1K#GĐ80 ?)88|(umo^GGX߫b¸0@3h "Y5Ur|3܅[7&A$k% VffJ >m _*"2%X^3=s#&&.aHLyqM9je4$$c  s D9J{C'ka*6 O"e5x5G@L&kl[aUu/c_닢AQ%V,37 w}XN8z\Fj$ͺ̃ bL]IcXEK]B<1,%kA86k7kLWeM_7~ ߀XQY kǖ)8ϴr(aJQ$(#Q!#)AaHOs-:oȪ {lCp )u Rvcow|;١ #cHȄ\Q-temfV 5݀b~Uf=B2CGo#hb]]!oLέxН~Y{ZMex5[^Dn$''uAGT[4g`$AJ}CWeīhzQ g`9oVHII0M[[y03GEr)MG#XqHO[.&mUd_=]+a.=J邬p-^=mԪ-W@OCv%O?T9YN?-49jAH(Uv +Z`u:3$Bt&GE*>B$#͑a\%\&,Av,WU]@e{ 0𦅰F?U*Z 4f@{oA Pclu09SB{Y9P7/UN 5tu1Xux$mH('dUu^`(<'ιܫgD`.G]E yb[h2->帚0˄GDB^Jcv`=8ۥTuP*Z2 Ъ4>nΣ~Co],rANqY=Qo.~e%Nbf Hʹy&;5A@3w?+!$žQۆ,'(W\AR{);u-e#}]qnz^Fyr$EI 8_QrC,Z4EwqqX<1D:p!ybj7nrxq ~`j=4g %WFYZs<pu>01r'm ~(`0n ]=ysO`e1%Z Spn.I3&SA4,JTT4kĎB^o#!wC>K;0]k.&ɔP\HzF! 8؉l^yWw7ojU1QLK9,֮?&yDNoτDG4;hK03|w#_%ASMfOS `'ͥL;Fm᭢JѲ9Sv\p7v-Yi#6 z|$Ń%ga Gv+K<s3·'k۱5 -z}^KAqqEfIp$/X z\nĄO>XAiMHeդUIbt2@EQ-R8;.(̙"A G&v^bP8?!,/ ;?$%9@`x8S*ǔ=`Ӄy8{ ]ƄÔH%vRLmt!'j>Rgy9ohbW-ORX'єg^ׯk_߅ӺZ_o]F Sekoa[3 \R߫B33c:pv|B//.mX.`G\— 0)5`/D?f@VQŰJsˎM}]B, ߒ -$ HPD"㏹?7;:[`ܚ*`7wU>׹*EtnEQDFJ!Xf[W.U WZg x*]B,PBЪ.ȋ(m)"mȩiSLvUHUE)V 7Q)PF *LhV ˣ8xMAFnF 񔿇*m7ITS-X-8mׄ)v:|߲gn;1p,SǁMe6('xGn䲗JR/:-XF,Y{Ol~ˣ|WJĊZ5]h9v̦i+&7@ؓrCggc~)$u6O++ s5p•7 UPe #Nloqh;Xlfq{:r LMM[gi$I<:ϝi&ᢲ=m5;;W*8ZƩeb5;M2hr ,Js54Iڒqw6Vuuvrstj=s7qNħWdZ%/ddGo62CG k1Uj>0jRRϿXWQ$a54 z8,&ClB?BHU׸Bb0D-_Pc(˾ ".6V1_3݃LZ4b=+=`|(]f }"ox;+ux3]bq  Φ!x^W"'WC{'" QB|_<= Q龉}ȐB0A+_B {I@I)͋9x0 =p (N?06Xf>=7‰&Hσkq{*n\H(: Ͱ<6.J` KCAK"^x^{S{bZ`x\P`8e)qRiH0AF0pmď_wPDP(bA(:B8d &)la1tO9 |\j Awޮ|q8)ohO4 - TXTO|#Y%&, *[Y=xyZq(@8HxF#a R8sxW1Axm-QS'3|)ȃYТY=&@SӁ8&$o"R ̄!M'3T-̡hplkg)i/.P(:4  hj 4&@dFh4"bi4){JxDE΍1aVdO׻ץO9QiJTh(la  BWY+#z: :bl-+[TMI/9K<%L=M7nQ*TG4)40L1r{9l$G)tYi-gYk8aOÃ0qkF>U~RʑUؖY"Š(E"\4I>ʉǃa8QLbRURZT|Sdjв ,12.h1WYIn즩*uucg)5B }1EeR!t4=MIPbZ +BrK)fOR5GE8V$ljO񝯜nHMR}$9›Qes[楃DL$x9,l5kFj-05m]lz4s~5)?.ɬٿAIREIvƇS.S#I.:< 2Ec?0I\J۸H}Rq.F\ZI0=X"r09XK W/0%? K#9ttܐऑMNT%