web/lib/Zend/Locale.php
author Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
Mon, 01 Jun 2015 17:28:45 +0200
changeset 1260 dc6deae8ed29
parent 1230 68c69c656a2c
permissions -rw-r--r--
correct iframe code

<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category  Zend
 * @package   Zend_Locale
 * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd     New BSD License
 * @version   $Id$
 */

/**
 * Base class for localization
 *
 * @category  Zend
 * @package   Zend_Locale
 * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Locale
{
    /**
     * List of locales that are no longer part of CLDR along with a
     * mapping to an appropriate alternative.
     *
     * @var array
     */
    private static $_localeAliases = array(
        'az_AZ'  => 'az_Latn_AZ',
        'bs_BA'  => 'bs_Latn_BA',
        'ha_GH'  => 'ha_Latn_GH',
        'ha_NE'  => 'ha_Latn_NE',
        'ha_NG'  => 'ha_Latn_NG',
        'kk_KZ'  => 'kk_Cyrl_KZ',
        'ks_IN'  => 'ks_Arab_IN',
        'mn_MN'  => 'mn_Cyrl_MN',
        'ms_BN'  => 'ms_Latn_BN',
        'ms_MY'  => 'ms_Latn_MY',
        'ms_SG'  => 'ms_Latn_SG',
        'pa_IN'  => 'pa_Guru_IN',
        'pa_PK'  => 'pa_Arab_PK',
        'shi_MA' => 'shi_Latn_MA',
        'sr_BA'  => 'sr_Latn_BA',
        'sr_ME'  => 'sr_Latn_ME',
        'sr_RS'  => 'sr_Latn_RS',
        'sr_XK'  => 'sr_Latn_XK',
        'tg_TJ'  => 'tg_Cyrl_TJ',
        'tzm_MA' => 'tzm_Latn_MA',
        'uz_AF'  => 'uz_Arab_AF',
        'uz_UZ'  => 'uz_Latn_UZ',
        'vai_LR' => 'vai_Latn_LR',
        'zh_CN' => 'zh_Hans_CN',
        'zh_HK' => 'zh_Hant_HK',
        'zh_MO' => 'zh_Hans_MO',
        'zh_SG' => 'zh_Hans_SG',
        'zh_TW' => 'zh_Hant_TW',
    );

    /**
     * Class wide Locale Constants
     *
     * @var array $_localeData
     */
    private static $_localeData = array(
        'root'        => true,
        'aa'          => true,
        'aa_DJ'       => true,
        'aa_ER'       => true,
        'aa_ET'       => true,
        'af'          => true,
        'af_NA'       => true,
        'af_ZA'       => true,
        'agq'         => true,
        'agq_CM'      => true,
        'ak'          => true,
        'ak_GH'       => true,
        'am'          => true,
        'am_ET'       => true,
        'ar'          => true,
        'ar_001'      => true,
        'ar_AE'       => true,
        'ar_BH'       => true,
        'ar_DJ'       => true,
        'ar_DZ'       => true,
        'ar_EG'       => true,
        'ar_EH'       => true,
        'ar_ER'       => true,
        'ar_IL'       => true,
        'ar_IQ'       => true,
        'ar_JO'       => true,
        'ar_KM'       => true,
        'ar_KW'       => true,
        'ar_LB'       => true,
        'ar_LY'       => true,
        'ar_MA'       => true,
        'ar_MR'       => true,
        'ar_OM'       => true,
        'ar_PS'       => true,
        'ar_QA'       => true,
        'ar_SA'       => true,
        'ar_SD'       => true,
        'ar_SO'       => true,
        'ar_SS'       => true,
        'ar_SY'       => true,
        'ar_TD'       => true,
        'ar_TN'       => true,
        'ar_YE'       => true,
        'as'          => true,
        'as_IN'       => true,
        'asa'         => true,
        'asa_TZ'      => true,
        'ast'         => true,
        'ast_ES'      => true,
        'az'          => true,
        'az_Cyrl'     => true,
        'az_Cyrl_AZ'  => true,
        'az_Latn'     => true,
        'az_Latn_AZ'  => true,
        'bas'         => true,
        'bas_CM'      => true,
        'be'          => true,
        'be_BY'       => true,
        'bem'         => true,
        'bem_ZM'      => true,
        'bez'         => true,
        'bez_TZ'      => true,
        'bg'          => true,
        'bg_BG'       => true,
        'bm'          => true,
        'bm_ML'       => true,
        'bn'          => true,
        'bn_BD'       => true,
        'bn_IN'       => true,
        'bo'          => true,
        'bo_CN'       => true,
        'bo_IN'       => true,
        'br'          => true,
        'br_FR'       => true,
        'brx'         => true,
        'brx_IN'      => true,
        'bs'          => true,
        'bs_Cyrl'     => true,
        'bs_Cyrl_BA'  => true,
        'bs_Latn'     => true,
        'bs_Latn_BA'  => true,
        'byn'         => true,
        'byn_ER'      => true,
        'ca'          => true,
        'ca_AD'       => true,
        'ca_ES'       => true,
        'ca_ES_VALENCIA' => true,
        'ca_FR'       => true,
        'ca_IT'       => true,
        'cgg'         => true,
        'cgg_UG'      => true,
        'chr'         => true,
        'chr_US'      => true,
        'cs'          => true,
        'cs_CZ'       => true,
        'cy'          => true,
        'cy_GB'       => true,
        'da'          => true,
        'da_DK'       => true,
        'da_GL'       => true,
        'dav'         => true,
        'dav_KE'      => true,
        'de'          => true,
        'de_AT'       => true,
        'de_BE'       => true,
        'de_CH'       => true,
        'de_DE'       => true,
        'de_LI'       => true,
        'de_LU'       => true,
        'dje'         => true,
        'dje_NE'      => true,
        'dua'         => true,
        'dua_CM'      => true,
        'dyo'         => true,
        'dyo_SN'      => true,
        'dz'          => true,
        'dz_BT'       => true,
        'ebu'         => true,
        'ebu_KE'      => true,
        'ee'          => true,
        'ee_GH'       => true,
        'ee_TG'       => true,
        'el'          => true,
        'el_CY'       => true,
        'el_GR'       => true,
        'en'          => true,
        'en_001'      => true,
        'en_150'      => true,
        'en_AG'       => true,
        'en_AI'       => true,
        'en_AS'       => true,
        'en_AU'       => true,
        'en_BB'       => true,
        'en_BE'       => true,
        'en_BM'       => true,
        'en_BS'       => true,
        'en_BW'       => true,
        'en_BZ'       => true,
        'en_CA'       => true,
        'en_CC'       => true,
        'en_CK'       => true,
        'en_CM'       => true,
        'en_CX'       => true,
        'en_DG'       => true,
        'en_DM'       => true,
        'en_Dsrt'     => true,
        'en_Dsrt_US'  => true,
        'en_ER'       => true,
        'en_FJ'       => true,
        'en_FK'       => true,
        'en_FM'       => true,
        'en_GB'       => true,
        'en_GD'       => true,
        'en_GG'       => true,
        'en_GH'       => true,
        'en_GI'       => true,
        'en_GM'       => true,
        'en_GU'       => true,
        'en_GY'       => true,
        'en_HK'       => true,
        'en_IE'       => true,
        'en_IM'       => true,
        'en_IN'       => true,
        'en_IO'       => true,
        'en_JE'       => true,
        'en_JM'       => true,
        'en_KE'       => true,
        'en_KI'       => true,
        'en_KN'       => true,
        'en_KY'       => true,
        'en_LC'       => true,
        'en_LR'       => true,
        'en_LS'       => true,
        'en_MG'       => true,
        'en_MH'       => true,
        'en_MO'       => true,
        'en_MP'       => true,
        'en_MS'       => true,
        'en_MT'       => true,
        'en_MU'       => true,
        'en_MW'       => true,
        'en_NA'       => true,
        'en_NF'       => true,
        'en_NG'       => true,
        'en_NR'       => true,
        'en_NU'       => true,
        'en_NZ'       => true,
        'en_PG'       => true,
        'en_PH'       => true,
        'en_PK'       => true,
        'en_PN'       => true,
        'en_PR'       => true,
        'en_PW'       => true,
        'en_RW'       => true,
        'en_SB'       => true,
        'en_SC'       => true,
        'en_SD'       => true,
        'en_SG'       => true,
        'en_SH'       => true,
        'en_SL'       => true,
        'en_SS'       => true,
        'en_SX'       => true,
        'en_SZ'       => true,
        'en_TC'       => true,
        'en_TK'       => true,
        'en_TO'       => true,
        'en_TT'       => true,
        'en_TV'       => true,
        'en_TZ'       => true,
        'en_UG'       => true,
        'en_UM'       => true,
        'en_US'       => true,
        'en_US_POSIX' => true,
        'en_VC'       => true,
        'en_VG'       => true,
        'en_VI'       => true,
        'en_VU'       => true,
        'en_WS'       => true,
        'en_ZA'       => true,
        'en_ZM'       => true,
        'en_ZW'       => true,
        'eo'          => true,
        'eo_001'      => true,
        'es'          => true,
        'es_419'      => true,
        'es_AR'       => true,
        'es_BO'       => true,
        'es_CL'       => true,
        'es_CO'       => true,
        'es_CR'       => true,
        'es_CU'       => true,
        'es_DO'       => true,
        'es_EA'       => true,
        'es_EC'       => true,
        'es_ES'       => true,
        'es_GQ'       => true,
        'es_GT'       => true,
        'es_HN'       => true,
        'es_IC'       => true,
        'es_MX'       => true,
        'es_NI'       => true,
        'es_PA'       => true,
        'es_PE'       => true,
        'es_PH'       => true,
        'es_PR'       => true,
        'es_PY'       => true,
        'es_SV'       => true,
        'es_US'       => true,
        'es_UY'       => true,
        'es_VE'       => true,
        'et'          => true,
        'et_EE'       => true,
        'eu'          => true,
        'eu_ES'       => true,
        'ewo'         => true,
        'ewo_CM'      => true,
        'fa'          => true,
        'fa_AF'       => true,
        'fa_IR'       => true,
        'ff'          => true,
        'ff_CM'       => true,
        'ff_GN'       => true,
        'ff_MR'       => true,
        'fr_PM'       => true,
        'ff_SN'       => true,
        'fr_WF'       => true,
        'fi'          => true,
        'fi_FI'       => true,
        'fil'         => true,
        'fil_PH'      => true,
        'fo'          => true,
        'fo_FO'       => true,
        'fr'          => true,
        'fr_BE'       => true,
        'fr_BF'       => true,
        'fr_BI'       => true,
        'fr_BJ'       => true,
        'fr_BL'       => true,
        'fr_CA'       => true,
        'fr_CD'       => true,
        'fr_CF'       => true,
        'fr_CG'       => true,
        'fr_CH'       => true,
        'fr_CI'       => true,
        'fr_CM'       => true,
        'fr_DJ'       => true,
        'fr_DZ'       => true,
        'fr_FR'       => true,
        'fr_GA'       => true,
        'fr_GF'       => true,
        'fr_GN'       => true,
        'fr_GP'       => true,
        'fr_GQ'       => true,
        'fr_HT'       => true,
        'fr_KM'       => true,
        'fr_LU'       => true,
        'fr_MA'       => true,
        'fr_MC'       => true,
        'fr_MF'       => true,
        'fr_MG'       => true,
        'fr_ML'       => true,
        'fr_MQ'       => true,
        'fr_MR'       => true,
        'fr_MU'       => true,
        'fr_NC'       => true,
        'fr_NE'       => true,
        'fr_PF'       => true,
        'fr_RE'       => true,
        'fr_RW'       => true,
        'fr_SC'       => true,
        'fr_SN'       => true,
        'fr_SY'       => true,
        'fr_TD'       => true,
        'fr_TG'       => true,
        'fr_TN'       => true,
        'fr_VU'       => true,
        'fr_YT'       => true,
        'fur'         => true,
        'fur_IT'      => true,
        'fy'          => true,
        'fy_NL'       => true,
        'ga'          => true,
        'ga_IE'       => true,
        'gd'          => true,
        'gd_GB'       => true,
        'gl'          => true,
        'gl_ES'       => true,
        'gsw'         => true,
        'gsw_CH'      => true,
        'gsw_LI'      => true,
        'gu'          => true,
        'gu_IN'       => true,
        'guz'         => true,
        'guz_KE'      => true,
        'gv'          => true,
        'gv_IM'       => true,
        'ha'          => true,
        'ha_Latn'     => true,
        'ha_Latn_GH'  => true,
        'ha_Latn_NE'  => true,
        'ha_Latn_NG'  => true,
        'haw'         => true,
        'haw_US'      => true,
        'he'          => true,
        'he_IL'       => true,
        'hi'          => true,
        'hi_IN'       => true,
        'hr'          => true,
        'hr_BA'       => true,
        'hr_HR'       => true,
        'hu'          => true,
        'hu_HU'       => true,
        'hy'          => true,
        'hy_AM'       => true,
        'ia'          => true,
        'ia_FR'       => true,
        'id'          => true,
        'id_ID'       => true,
        'ig'          => true,
        'ig_NG'       => true,
        'ii'          => true,
        'ii_CN'       => true,
        'is'          => true,
        'is_IS'       => true,
        'it'          => true,
        'it_CH'       => true,
        'it_IT'       => true,
        'it_SM'       => true,
        'ja'          => true,
        'ja_JP'       => true,
        'jgo'         => true,
        'jgo_CM'      => true,
        'jmc'         => true,
        'jmc_TZ'      => true,
        'ka'          => true,
        'ka_GE'       => true,
        'kab'         => true,
        'kab_DZ'      => true,
        'kam'         => true,
        'kam_KE'      => true,
        'kde'         => true,
        'kde_TZ'      => true,
        'kea'         => true,
        'kea_CV'      => true,
        'khq'         => true,
        'khq_ML'      => true,
        'ki'          => true,
        'ki_KE'       => true,
        'kk'          => true,
        'kk_Cyrl'     => true,
        'kk_Cyrl_KZ'  => true,
        'kkj'         => true,
        'kkj_CM'      => true,
        'kl'          => true,
        'kl_GL'       => true,
        'kln'         => true,
        'kln_KE'      => true,
        'km'          => true,
        'km_KH'       => true,
        'kn'          => true,
        'kn_IN'       => true,
        'ko'          => true,
        'ko_KP'       => true,
        'ko_KR'       => true,
        'kok'         => true,
        'kok_IN'      => true,
        'ks'          => true,
        'ks_Arab'     => true,
        'ks_Arab_IN'  => true,
        'ksb'         => true,
        'ksb_TZ'      => true,
        'ksf'         => true,
        'ksf_CM'      => true,
        'ksh'         => true,
        'ksh_DE'      => true,
        'kw'          => true,
        'kw_GB'       => true,
        'ky'          => true,
        'ky_Cyrl'     => true,
        'ky_Cyrl_KG'  => true,
        'lag'         => true,
        'lag_TZ'      => true,
        'lg'          => true,
        'lg_UG'       => true,
        'lkt'         => true,
        'lkt_US'      => true,
        'ln'          => true,
        'ln_AO'       => true,
        'ln_CD'       => true,
        'ln_CF'       => true,
        'ln_CG'       => true,
        'lo'          => true,
        'lo_LA'       => true,
        'lt'          => true,
        'lt_LT'       => true,
        'lu'          => true,
        'lu_CD'       => true,
        'luo'         => true,
        'luo_KE'      => true,
        'luy'         => true,
        'luy_KE'      => true,
        'lv'          => true,
        'lv_LV'       => true,
        'mas'         => true,
        'mas_KE'      => true,
        'mas_TZ'      => true,
        'mer'         => true,
        'mer_KE'      => true,
        'mfe'         => true,
        'mfe_MU'      => true,
        'mg'          => true,
        'mg_MG'       => true,
        'mgh'         => true,
        'mgh_MZ'      => true,
        'mgo'         => true,
        'mgo_CM'      => true,
        'mk'          => true,
        'mk_MK'       => true,
        'ml'          => true,
        'ml_IN'       => true,
        'mn'          => true,
        'mn_Cyrl'     => true,
        'mn_Cyrl_MN'  => true,
        'mr'          => true,
        'mr_IN'       => true,
        'ms'          => true,
        'ms_Latn'     => true,
        'ms_Latn_BN'  => true,
        'ms_Latn_MY'  => true,
        'ms_Latn_SG'  => true,
        'mt'          => true,
        'mt_MT'       => true,
        'mua'         => true,
        'mua_CM'      => true,
        'my'          => true,
        'my_MM'       => true,
        'naq'         => true,
        'naq_NA'      => true,
        'nb'          => true,
        'nb_NO'       => true,
        'nb_SJ'       => true,
        'nd'          => true,
        'nd_ZW'       => true,
        'ne'          => true,
        'ne_IN'       => true,
        'ne_NP'       => true,
        'nl'          => true,
        'nl_AW'       => true,
        'nl_BE'       => true,
        'nl_BQ'       => true,
        'nl_CW'       => true,
        'nl_NL'       => true,
        'nl_SR'       => true,
        'nl_SX'       => true,
        'nmg'         => true,
        'nmg_CM'      => true,
        'nn'          => true,
        'nn_NO'       => true,
        'nnh'         => true,
        'nnh_CM'      => true,
        'nr'          => true,
        'nr_ZA'       => true,
        'nso'         => true,
        'nso_ZA'      => true,
        'nus'         => true,
        'nus_SD'      => true,
        'nyn'         => true,
        'nyn_UG'      => true,
        'om'          => true,
        'om_ET'       => true,
        'om_KE'       => true,
        'or'          => true,
        'or_IN'       => true,
        'ordinals'    => true,
        'os'          => true,
        'os_GE'       => true,
        'os_RU'       => true,
        'pa'          => true,
        'pa_Arab'     => true,
        'pa_Arab_PK'  => true,
        'pa_Guru'     => true,
        'pa_Guru_IN'  => true,
        'pl'          => true,
        'pl_PL'       => true,
        'plurals'     => true,
        'ps'          => true,
        'ps_AF'       => true,
        'pt'          => true,
        'pt_AO'       => true,
        'pt_BR'       => true,
        'pt_CV'       => true,
        'pt_GW'       => true,
        'pt_MO'       => true,
        'pt_MZ'       => true,
        'pt_PT'       => true,
        'pt_ST'       => true,
        'pt_TL'       => true,
        'rm'          => true,
        'rm_CH'       => true,
        'rn'          => true,
        'rn_BI'       => true,
        'ro'          => true,
        'ro_MD'       => true,
        'ro_RO'       => true,
        'rof'         => true,
        'rof_TZ'      => true,
        'ru'          => true,
        'ru_BY'       => true,
        'ru_KG'       => true,
        'ru_KZ'       => true,
        'ru_MD'       => true,
        'ru_RU'       => true,
        'ru_UA'       => true,
        'rw'          => true,
        'rw_RW'       => true,
        'rwk'         => true,
        'rwk_TZ'      => true,
        'sah'         => true,
        'sah_RU'      => true,
        'saq'         => true,
        'saq_KE'      => true,
        'sbp'         => true,
        'sbp_TZ'      => true,
        'se'          => true,
        'se_FI'       => true,
        'se_NO'       => true,
        'seh'         => true,
        'seh_MZ'      => true,
        'ses'         => true,
        'ses_ML'      => true,
        'sg'          => true,
        'sg_CF'       => true,
        'shi'         => true,
        'shi_Latn'    => true,
        'shi_Latn_MA' => true,
        'shi_Tfng'    => true,
        'shi_Tfng_MA' => true,
        'si'          => true,
        'si_LK'       => true,
        'sk'          => true,
        'sk_SK'       => true,
        'sl'          => true,
        'sl_SI'       => true,
        'sn'          => true,
        'sn_ZW'       => true,
        'so'          => true,
        'so_DJ'       => true,
        'so_ET'       => true,
        'so_KE'       => true,
        'so_SO'       => true,
        'sq'          => true,
        'sq_AL'       => true,
        'sq_MK'       => true,
        'sq_XK'       => true,
        'sr'          => true,
        'sr_Cyrl'     => true,
        'sr_Cyrl_BA'  => true,
        'sr_Cyrl_ME'  => true,
        'sr_Cyrl_RS'  => true,
        'sr_Cyrl_XK'  => true,
        'sr_Latn'     => true,
        'sr_Latn_BA'  => true,
        'sr_Latn_ME'  => true,
        'sr_Latn_RS'  => true,
        'sr_Latn_XK'  => true,
        'ss'          => true,
        'ss_SZ'       => true,
        'ss_ZA'       => true,
        'ssy'         => true,
        'ssy_ER'      => true,
        'st'          => true,
        'st_LS'       => true,
        'st_ZA'       => true,
        'sv'          => true,
        'sv_AX'       => true,
        'sv_FI'       => true,
        'sv_SE'       => true,
        'sw'          => true,
        'sw_KE'       => true,
        'sw_TZ'       => true,
        'sw_UG'       => true,
        'swc'         => true,
        'swc_CD'      => true,
        'ta'          => true,
        'ta_IN'       => true,
        'ta_LK'       => true,
        'ta_MY'       => true,
        'ta_SG'       => true,
        'te'          => true,
        'te_IN'       => true,
        'teo'         => true,
        'teo_KE'      => true,
        'teo_UG'      => true,
        'tg'          => true,
        'tg_Cyrl'     => true,
        'tg_Cyrl_TJ'  => true,
        'th'          => true,
        'th_TH'       => true,
        'ti'          => true,
        'ti_ER'       => true,
        'ti_ET'       => true,
        'tig'         => true,
        'tig_ER'      => true,
        'tn'          => true,
        'tn_BW'       => true,
        'tn_ZA'       => true,
        'to'          => true,
        'to_TO'       => true,
        'tr'          => true,
        'tr_CY'       => true,
        'tr_TR'       => true,
        'ts'          => true,
        'ts_ZA'       => true,
        'twq'         => true,
        'twq_NE'      => true,
        'tzm'         => true,
        'tzm_Latn'    => true,
        'tzm_Latn_MA' => true,
        'ug'          => true,
        'ug_Arab'     => true,
        'ug_Arab_CN'  => true,
        'uk'          => true,
        'uk_UA'       => true,
        'ur'          => true,
        'ur_IN'       => true,
        'ur_PK'       => true,
        'uz'          => true,
        'uz_Arab'     => true,
        'uz_Arab_AF'  => true,
        'uz_Cyrl'     => true,
        'uz_Cyrl_UZ'  => true,
        'uz_Latn'     => true,
        'uz_Latn_UZ'  => true,
        'vai'         => true,
        'vai_Latn'    => true,
        'vai_Latn_LR' => true,
        'vai_Vaii'    => true,
        'vai_Vaii_LR' => true,
        've'          => true,
        've_ZA'       => true,
        'vi'          => true,
        'vi_VN'       => true,
        'vo'          => true,
        'vo_001'      => true,
        'vun'         => true,
        'vun_TZ'      => true,
        'wae'         => true,
        'wae_CH'      => true,
        'wal'         => true,
        'wal_ET'      => true,
        'xh'          => true,
        'xh_ZA'       => true,
        'xog'         => true,
        'xog_UG'      => true,
        'yav'         => true,
        'yav_CM'      => true,
        'yo'          => true,
        'yo_BJ'       => true,
        'yo_NG'       => true,
        'zgh'         => true,
        'zgh_MA'      => true,
        'zh'          => true,
        'zh_Hans'     => true,
        'zh_Hans_CN'  => true,
        'zh_Hans_HK'  => true,
        'zh_Hans_MO'  => true,
        'zh_Hans_SG'  => true,
        'zh_Hant'     => true,
        'zh_Hant_HK'  => true,
        'zh_Hant_MO'  => true,
        'zh_Hant_TW'  => true,
        'zu'          => true,
        'zu_ZA'       => true,
    );

    /**
     * Class wide Locale Constants
     *
     * @var array $_territoryData
     */
    private static $_territoryData = array(
        'AD' => 'ca_AD',
        'AE' => 'ar_AE',
        'AF' => 'fa_AF',
        'AG' => 'en_AG',
        'AI' => 'en_AI',
        'AL' => 'sq_AL',
        'AM' => 'hy_AM',
        'AN' => 'pap_AN',
        'AO' => 'pt_AO',
        'AQ' => 'und_AQ',
        'AR' => 'es_AR',
        'AS' => 'sm_AS',
        'AT' => 'de_AT',
        'AU' => 'en_AU',
        'AW' => 'nl_AW',
        'AX' => 'sv_AX',
        'AZ' => 'az_Latn_AZ',
        'BA' => 'bs_BA',
        'BB' => 'en_BB',
        'BD' => 'bn_BD',
        'BE' => 'nl_BE',
        'BF' => 'mos_BF',
        'BG' => 'bg_BG',
        'BH' => 'ar_BH',
        'BI' => 'rn_BI',
        'BJ' => 'fr_BJ',
        'BL' => 'fr_BL',
        'BM' => 'en_BM',
        'BN' => 'ms_BN',
        'BO' => 'es_BO',
        'BR' => 'pt_BR',
        'BS' => 'en_BS',
        'BT' => 'dz_BT',
        'BV' => 'und_BV',
        'BW' => 'en_BW',
        'BY' => 'be_BY',
        'BZ' => 'en_BZ',
        'CA' => 'en_CA',
        'CC' => 'ms_CC',
        'CD' => 'sw_CD',
        'CF' => 'fr_CF',
        'CG' => 'fr_CG',
        'CH' => 'de_CH',
        'CI' => 'fr_CI',
        'CK' => 'en_CK',
        'CL' => 'es_CL',
        'CM' => 'fr_CM',
        'CN' => 'zh_Hans_CN',
        'CO' => 'es_CO',
        'CR' => 'es_CR',
        'CU' => 'es_CU',
        'CV' => 'kea_CV',
        'CX' => 'en_CX',
        'CY' => 'el_CY',
        'CZ' => 'cs_CZ',
        'DE' => 'de_DE',
        'DJ' => 'aa_DJ',
        'DK' => 'da_DK',
        'DM' => 'en_DM',
        'DO' => 'es_DO',
        'DZ' => 'ar_DZ',
        'EC' => 'es_EC',
        'EE' => 'et_EE',
        'EG' => 'ar_EG',
        'EH' => 'ar_EH',
        'ER' => 'ti_ER',
        'ES' => 'es_ES',
        'ET' => 'en_ET',
        'FI' => 'fi_FI',
        'FJ' => 'hi_FJ',
        'FK' => 'en_FK',
        'FM' => 'chk_FM',
        'FO' => 'fo_FO',
        'FR' => 'fr_FR',
        'GA' => 'fr_GA',
        'GB' => 'en_GB',
        'GD' => 'en_GD',
        'GE' => 'ka_GE',
        'GF' => 'fr_GF',
        'GG' => 'en_GG',
        'GH' => 'ak_GH',
        'GI' => 'en_GI',
        'GL' => 'iu_GL',
        'GM' => 'en_GM',
        'GN' => 'fr_GN',
        'GP' => 'fr_GP',
        'GQ' => 'fan_GQ',
        'GR' => 'el_GR',
        'GS' => 'und_GS',
        'GT' => 'es_GT',
        'GU' => 'en_GU',
        'GW' => 'pt_GW',
        'GY' => 'en_GY',
        'HK' => 'zh_Hant_HK',
        'HM' => 'und_HM',
        'HN' => 'es_HN',
        'HR' => 'hr_HR',
        'HT' => 'ht_HT',
        'HU' => 'hu_HU',
        'ID' => 'id_ID',
        'IE' => 'en_IE',
        'IL' => 'he_IL',
        'IM' => 'en_IM',
        'IN' => 'hi_IN',
        'IO' => 'und_IO',
        'IQ' => 'ar_IQ',
        'IR' => 'fa_IR',
        'IS' => 'is_IS',
        'IT' => 'it_IT',
        'JE' => 'en_JE',
        'JM' => 'en_JM',
        'JO' => 'ar_JO',
        'JP' => 'ja_JP',
        'KE' => 'en_KE',
        'KG' => 'ky_Cyrl_KG',
        'KH' => 'km_KH',
        'KI' => 'en_KI',
        'KM' => 'ar_KM',
        'KN' => 'en_KN',
        'KP' => 'ko_KP',
        'KR' => 'ko_KR',
        'KW' => 'ar_KW',
        'KY' => 'en_KY',
        'KZ' => 'ru_KZ',
        'LA' => 'lo_LA',
        'LB' => 'ar_LB',
        'LC' => 'en_LC',
        'LI' => 'de_LI',
        'LK' => 'si_LK',
        'LR' => 'en_LR',
        'LS' => 'st_LS',
        'LT' => 'lt_LT',
        'LU' => 'fr_LU',
        'LV' => 'lv_LV',
        'LY' => 'ar_LY',
        'MA' => 'ar_MA',
        'MC' => 'fr_MC',
        'MD' => 'ro_MD',
        'ME' => 'sr_Latn_ME',
        'MF' => 'fr_MF',
        'MG' => 'mg_MG',
        'MH' => 'mh_MH',
        'MK' => 'mk_MK',
        'ML' => 'bm_ML',
        'MM' => 'my_MM',
        'MN' => 'mn_Cyrl_MN',
        'MO' => 'zh_Hant_MO',
        'MP' => 'en_MP',
        'MQ' => 'fr_MQ',
        'MR' => 'ar_MR',
        'MS' => 'en_MS',
        'MT' => 'mt_MT',
        'MU' => 'mfe_MU',
        'MV' => 'dv_MV',
        'MW' => 'ny_MW',
        'MX' => 'es_MX',
        'MY' => 'ms_MY',
        'MZ' => 'pt_MZ',
        'NA' => 'kj_NA',
        'NC' => 'fr_NC',
        'NE' => 'ha_Latn_NE',
        'NF' => 'en_NF',
        'NG' => 'en_NG',
        'NI' => 'es_NI',
        'NL' => 'nl_NL',
        'NO' => 'nb_NO',
        'NP' => 'ne_NP',
        'NR' => 'en_NR',
        'NU' => 'niu_NU',
        'NZ' => 'en_NZ',
        'OM' => 'ar_OM',
        'PA' => 'es_PA',
        'PE' => 'es_PE',
        'PF' => 'fr_PF',
        'PG' => 'tpi_PG',
        'PH' => 'fil_PH',
        'PK' => 'ur_PK',
        'PL' => 'pl_PL',
        'PM' => 'fr_PM',
        'PN' => 'en_PN',
        'PR' => 'es_PR',
        'PS' => 'ar_PS',
        'PT' => 'pt_PT',
        'PW' => 'pau_PW',
        'PY' => 'gn_PY',
        'QA' => 'ar_QA',
        'RE' => 'fr_RE',
        'RO' => 'ro_RO',
        'RS' => 'sr_Cyrl_RS',
        'RU' => 'ru_RU',
        'RW' => 'rw_RW',
        'SA' => 'ar_SA',
        'SB' => 'en_SB',
        'SC' => 'crs_SC',
        'SD' => 'ar_SD',
        'SE' => 'sv_SE',
        'SG' => 'en_SG',
        'SH' => 'en_SH',
        'SI' => 'sl_SI',
        'SJ' => 'nb_SJ',
        'SK' => 'sk_SK',
        'SL' => 'kri_SL',
        'SM' => 'it_SM',
        'SN' => 'fr_SN',
        'SO' => 'sw_SO',
        'SR' => 'srn_SR',
        'ST' => 'pt_ST',
        'SV' => 'es_SV',
        'SY' => 'ar_SY',
        'SZ' => 'en_SZ',
        'TC' => 'en_TC',
        'TD' => 'fr_TD',
        'TF' => 'und_TF',
        'TG' => 'fr_TG',
        'TH' => 'th_TH',
        'TJ' => 'tg_Cyrl_TJ',
        'TK' => 'tkl_TK',
        'TL' => 'pt_TL',
        'TM' => 'tk_TM',
        'TN' => 'ar_TN',
        'TO' => 'to_TO',
        'TR' => 'tr_TR',
        'TT' => 'en_TT',
        'TV' => 'tvl_TV',
        'TW' => 'zh_Hant_TW',
        'TZ' => 'sw_TZ',
        'UA' => 'uk_UA',
        'UG' => 'sw_UG',
        'UM' => 'en_UM',
        'US' => 'en_US',
        'UY' => 'es_UY',
        'UZ' => 'uz_Cyrl_UZ',
        'VA' => 'it_VA',
        'VC' => 'en_VC',
        'VE' => 'es_VE',
        'VG' => 'en_VG',
        'VI' => 'en_VI',
        'VN' => 'vi_VN',
        'VU' => 'bi_VU',
        'WF' => 'wls_WF',
        'WS' => 'sm_WS',
        'YE' => 'ar_YE',
        'YT' => 'swb_YT',
        'ZA' => 'en_ZA',
        'ZM' => 'en_ZM',
        'ZW' => 'sn_ZW'
    );

    /**
     * Autosearch constants
     */
    const BROWSER     = 'browser';
    const ENVIRONMENT = 'environment';
    const ZFDEFAULT   = 'default';

    /**
     * Defines if old behaviour should be supported
     * Old behaviour throws notices and will be deleted in future releases
     *
     * @var boolean
     */
    public static $compatibilityMode = false;

    /**
     * Internal variable
     *
     * @var boolean
     */
    private static $_breakChain = false;

    /**
     * Actual set locale
     *
     * @var string Locale
     */
    protected $_locale;

    /**
     * Automatic detected locale
     *
     * @var string Locales
     */
    protected static $_auto;

    /**
     * Browser detected locale
     *
     * @var string Locales
     */
    protected static $_browser;

    /**
     * Environment detected locale
     *
     * @var string Locales
     */
    protected static $_environment;

    /**
     * Default locale
     *
     * @var string Locales
     */
    protected static $_default = array('en' => true);

    /**
     * Generates a locale object
     * If no locale is given a automatic search is done
     * Then the most probable locale will be automatically set
     * Search order is
     *  1. Given Locale
     *  2. HTTP Client
     *  3. Server Environment
     *  4. Framework Standard
     *
     * @param  string|Zend_Locale $locale (Optional) Locale for parsing input
     * @throws Zend_Locale_Exception When autodetection has been failed
     */
    public function __construct($locale = null)
    {
        $this->setLocale($locale);
    }

    /**
     * Serialization Interface
     *
     * @return string
     */
    public function serialize()
    {
        return serialize($this);
    }

    /**
     * Returns a string representation of the object
     *
     * @return string
     */
    public function toString()
    {
        return (string) $this->_locale;
    }

    /**
     * Returns a string representation of the object
     * Alias for toString
     *
     * @return string
     */
    public function __toString()
    {
        return $this->toString();
    }

    /**
     * Return the default locale
     *
     * @return array Returns an array of all locale string
     */
    public static function getDefault()
    {
        if ((self::$compatibilityMode === true) or (func_num_args() > 0)) {
            if (!self::$_breakChain) {
                self::$_breakChain = true;
                trigger_error('You are running Zend_Locale in compatibility mode... please migrate your scripts', E_USER_NOTICE);
                $params = func_get_args();
                $param = null;
                if (isset($params[0])) {
                    $param = $params[0];
                }
                return self::getOrder($param);
            }

            self::$_breakChain = false;
        }

        return self::$_default;
    }

    /**
     * Sets a new default locale which will be used when no locale can be detected
     * If provided you can set a quality between 0 and 1 (or 2 and 100)
     * which represents the percent of quality the browser
     * requested within HTTP
     *
     * @param  string|Zend_Locale $locale  Locale to set
     * @param  float              $quality The quality to set from 0 to 1
     * @throws Zend_Locale_Exception When a autolocale was given
     * @throws Zend_Locale_Exception When a unknown locale was given
     * @return void
     */
    public static function setDefault($locale, $quality = 1)
    {
        if (($locale === 'auto') or ($locale === 'root') or ($locale === 'default') or
            ($locale === 'environment') or ($locale === 'browser')) {
            require_once 'Zend/Locale/Exception.php';
            throw new Zend_Locale_Exception('Only full qualified locales can be used as default!');
        }

        if (($quality < 0.1) or ($quality > 100)) {
            require_once 'Zend/Locale/Exception.php';
            throw new Zend_Locale_Exception("Quality must be between 0.1 and 100");
        }

        if ($quality > 1) {
            $quality /= 100;
        }

        $locale = self::_prepareLocale($locale);
        if (isset(self::$_localeData[(string) $locale]) === true) {
            self::$_default = array((string) $locale => $quality);
        } else {
            $elocale = explode('_', (string) $locale);
            if (isset(self::$_localeData[$elocale[0]]) === true) {
                self::$_default = array($elocale[0] => $quality);
            } else {
                require_once 'Zend/Locale/Exception.php';
                throw new Zend_Locale_Exception("Unknown locale '" . (string) $locale . "' can not be set as default!");
            }
        }

        self::$_auto = self::getBrowser() + self::getEnvironment() + self::getDefault();
    }

    /**
     * Expects the Systems standard locale
     *
     * For Windows:
     * f.e.: LC_COLLATE=C;LC_CTYPE=German_Austria.1252;LC_MONETARY=C
     * would be recognised as de_AT
     *
     * @return array
     */
    public static function getEnvironment()
    {
        if (self::$_environment !== null) {
            return self::$_environment;
        }

        require_once 'Zend/Locale/Data/Translation.php';

        $language      = setlocale(LC_ALL, 0);
        $languages     = explode(';', $language);
        $languagearray = array();

        foreach ($languages as $locale) {
            if (strpos($locale, '=') !== false) {
                $language = substr($locale, strpos($locale, '='));
                $language = substr($language, 1);
            }

            if ($language !== 'C') {
                if (strpos($language, '.') !== false) {
                    $language = substr($language, 0, strpos($language, '.'));
                } else if (strpos($language, '@') !== false) {
                    $language = substr($language, 0, strpos($language, '@'));
                }

                $language = str_ireplace(
                    array_keys(Zend_Locale_Data_Translation::$languageTranslation),
                    array_values(Zend_Locale_Data_Translation::$languageTranslation),
                    (string) $language
                );

                $language = str_ireplace(
                    array_keys(Zend_Locale_Data_Translation::$regionTranslation),
                    array_values(Zend_Locale_Data_Translation::$regionTranslation),
                    $language
                );

                if (isset(self::$_localeData[$language]) === true) {
                    $languagearray[$language] = 1;
                    if (strpos($language, '_') !== false) {
                        $languagearray[substr($language, 0, strpos($language, '_'))] = 1;
                    }
                }
            }
        }

        self::$_environment = $languagearray;
        return $languagearray;
    }

    /**
     * Return an array of all accepted languages of the client
     * Expects RFC compilant Header !!
     *
     * The notation can be :
     * de,en-UK-US;q=0.5,fr-FR;q=0.2
     *
     * @return array - list of accepted languages including quality
     */
    public static function getBrowser()
    {
        if (self::$_browser !== null) {
            return self::$_browser;
        }

        $httplanguages = getenv('HTTP_ACCEPT_LANGUAGE');
        if (empty($httplanguages) && array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER)) {
            $httplanguages = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
        }

        $languages     = array();
        if (empty($httplanguages)) {
            return $languages;
        }

        $accepted = preg_split('/,\s*/', $httplanguages);

        foreach ($accepted as $accept) {
            $match  = null;
            $result = preg_match('/^([a-z]{1,8}(?:[-_][a-z]{1,8})*)(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i',
                                 $accept, $match);

            if ($result < 1) {
                continue;
            }

            if (isset($match[2]) === true) {
                $quality = (float) $match[2];
            } else {
                $quality = 1.0;
            }

            $countrys = explode('-', $match[1]);
            $region   = array_shift($countrys);

            $country2 = explode('_', $region);
            $region   = array_shift($country2);

            foreach ($countrys as $country) {
                $languages[$region . '_' . strtoupper($country)] = $quality;
            }

            foreach ($country2 as $country) {
                $languages[$region . '_' . strtoupper($country)] = $quality;
            }

            if ((isset($languages[$region]) === false) || ($languages[$region] < $quality)) {
                $languages[$region] = $quality;
            }
        }

        self::$_browser = $languages;
        return $languages;
    }

    /**
     * Sets a new locale
     *
     * @param  string|Zend_Locale $locale (Optional) New locale to set
     * @return void
     */
    public function setLocale($locale = null)
    {
        $locale = self::_prepareLocale($locale);

        if (isset(self::$_localeData[(string) $locale]) === false) {
            // Is it an alias? If so, we can use this locale
            if (isset(self::$_localeAliases[$locale]) === true) {
                $this->_locale = $locale;
                return;
            }

            $region = substr((string) $locale, 0, 3);
            if (isset($region[2]) === true) {
                if (($region[2] === '_') or ($region[2] === '-')) {
                    $region = substr($region, 0, 2);
                }
            }

            if (isset(self::$_localeData[(string) $region]) === true) {
                $this->_locale = $region;
            } else {
                $this->_locale = 'root';
            }
        } else {
            $this->_locale = $locale;
        }
    }

    /**
     * Returns the language part of the locale
     *
     * @return string
     */
    public function getLanguage()
    {
        $locale = explode('_', $this->_locale);
        return $locale[0];
    }

    /**
     * Returns the region part of the locale if available
     *
     * @return string|false - Regionstring
     */
    public function getRegion()
    {
        $locale = explode('_', $this->_locale);
        if (isset($locale[1]) === true) {
            return $locale[1];
        }

        return false;
    }

    /**
     * Return the accepted charset of the client
     *
     * @return string
     */
    public static function getHttpCharset()
    {
        $httpcharsets = getenv('HTTP_ACCEPT_CHARSET');

        $charsets = array();
        if ($httpcharsets === false) {
            return $charsets;
        }

        $accepted = preg_split('/,\s*/', $httpcharsets);
        foreach ($accepted as $accept) {
            if (empty($accept) === true) {
                continue;
            }

            if (strpos($accept, ';') !== false) {
                $quality        = (float) substr($accept, (strpos($accept, '=') + 1));
                $pos            = substr($accept, 0, strpos($accept, ';'));
                $charsets[$pos] = $quality;
            } else {
                $quality           = 1.0;
                $charsets[$accept] = $quality;
            }
        }

        return $charsets;
    }

    /**
     * Returns true if both locales are equal
     *
     * @param  Zend_Locale $object Locale to check for equality
     * @return boolean
     */
    public function equals(Zend_Locale $object)
    {
        if ($object->toString() === $this->toString()) {
            return true;
        }

        return false;
    }

    /**
     * Returns localized informations as array, supported are several
     * types of informations.
     * For detailed information about the types look into the documentation
     *
     * @param  string             $path   (Optional) Type of information to return
     * @param  string|Zend_Locale $locale (Optional) Locale|Language for which this informations should be returned
     * @param  string             $value  (Optional) Value for detail list
     * @return array Array with the wished information in the given language
     */
    public static function getTranslationList($path = null, $locale = null, $value = null)
    {
        require_once 'Zend/Locale/Data.php';
        $locale = self::findLocale($locale);
        $result = Zend_Locale_Data::getList($locale, $path, $value);
        if (empty($result) === true) {
            return false;
        }

        return $result;
    }

    /**
     * Returns an array with the name of all languages translated to the given language
     *
     * @param  string|Zend_Locale $locale (Optional) Locale for language translation
     * @return array
     * @deprecated
     */
    public static function getLanguageTranslationList($locale = null)
    {
        trigger_error("The method getLanguageTranslationList is deprecated. Use getTranslationList('language', $locale) instead", E_USER_NOTICE);
        return self::getTranslationList('language', $locale);
    }

    /**
     * Returns an array with the name of all scripts translated to the given language
     *
     * @param  string|Zend_Locale $locale (Optional) Locale for script translation
     * @return array
     * @deprecated
     */
    public static function getScriptTranslationList($locale = null)
    {
        trigger_error("The method getScriptTranslationList is deprecated. Use getTranslationList('script', $locale) instead", E_USER_NOTICE);
        return self::getTranslationList('script', $locale);
    }

    /**
     * Returns an array with the name of all countries translated to the given language
     *
     * @param  string|Zend_Locale $locale (Optional) Locale for country translation
     * @return array
     * @deprecated
     */
    public static function getCountryTranslationList($locale = null)
    {
        trigger_error("The method getCountryTranslationList is deprecated. Use getTranslationList('territory', $locale, 2) instead", E_USER_NOTICE);
        return self::getTranslationList('territory', $locale, 2);
    }

    /**
     * Returns an array with the name of all territories translated to the given language
     * All territories contains other countries.
     *
     * @param  string|Zend_Locale $locale (Optional) Locale for territory translation
     * @return array
     * @deprecated
     */
    public static function getTerritoryTranslationList($locale = null)
    {
        trigger_error("The method getTerritoryTranslationList is deprecated. Use getTranslationList('territory', $locale, 1) instead", E_USER_NOTICE);
        return self::getTranslationList('territory', $locale, 1);
    }

    /**
     * Returns a localized information string, supported are several types of informations.
     * For detailed information about the types look into the documentation
     *
     * @param  string             $value  Name to get detailed information about
     * @param  string             $path   (Optional) Type of information to return
     * @param  string|Zend_Locale $locale (Optional) Locale|Language for which this informations should be returned
     * @return string|false The wished information in the given language
     */
    public static function getTranslation($value = null, $path = null, $locale = null)
    {
        require_once 'Zend/Locale/Data.php';
        $locale = self::findLocale($locale);
        $result = Zend_Locale_Data::getContent($locale, $path, $value);
        if (empty($result) === true && '0' !== $result) {
            return false;
        }

        return $result;
    }

    /**
     * Returns the localized language name
     *
     * @param  string $value  Name to get detailed information about
     * @param  string $locale (Optional) Locale for language translation
     * @return array
     * @deprecated
     */
    public static function getLanguageTranslation($value, $locale = null)
    {
        trigger_error("The method getLanguageTranslation is deprecated. Use getTranslation($value, 'language', $locale) instead", E_USER_NOTICE);
        return self::getTranslation($value, 'language', $locale);
    }

    /**
     * Returns the localized script name
     *
     * @param  string $value  Name to get detailed information about
     * @param  string $locale (Optional) locale for script translation
     * @return array
     * @deprecated
     */
    public static function getScriptTranslation($value, $locale = null)
    {
        trigger_error("The method getScriptTranslation is deprecated. Use getTranslation($value, 'script', $locale) instead", E_USER_NOTICE);
        return self::getTranslation($value, 'script', $locale);
    }

    /**
     * Returns the localized country name
     *
     * @param  string             $value  Name to get detailed information about
     * @param  string|Zend_Locale $locale (Optional) Locale for country translation
     * @return array
     * @deprecated
     */
    public static function getCountryTranslation($value, $locale = null)
    {
        trigger_error("The method getCountryTranslation is deprecated. Use getTranslation($value, 'country', $locale) instead", E_USER_NOTICE);
        return self::getTranslation($value, 'country', $locale);
    }

    /**
     * Returns the localized territory name
     * All territories contains other countries.
     *
     * @param  string             $value  Name to get detailed information about
     * @param  string|Zend_Locale $locale (Optional) Locale for territory translation
     * @return array
     * @deprecated
     */
    public static function getTerritoryTranslation($value, $locale = null)
    {
        trigger_error("The method getTerritoryTranslation is deprecated. Use getTranslation($value, 'territory', $locale) instead", E_USER_NOTICE);
        return self::getTranslation($value, 'territory', $locale);
    }

    /**
     * Returns an array with translated yes strings
     *
     * @param  string|Zend_Locale $locale (Optional) Locale for language translation (defaults to $this locale)
     * @return array
     */
    public static function getQuestion($locale = null)
    {
        require_once 'Zend/Locale/Data.php';
        $locale            = self::findLocale($locale);
        $quest             = Zend_Locale_Data::getList($locale, 'question');
        $yes               = explode(':', $quest['yes']);
        $no                = explode(':', $quest['no']);
        $quest['yes']      = $yes[0];
        $quest['yesarray'] = $yes;
        $quest['no']       = $no[0];
        $quest['noarray']  = $no;
        $quest['yesexpr']  = self::_prepareQuestionString($yes);
        $quest['noexpr']   = self::_prepareQuestionString($no);

        return $quest;
    }

    /**
     * Internal function for preparing the returned question regex string
     *
     * @param  string $input Regex to parse
     * @return string
     */
    private static function _prepareQuestionString($input)
    {
        $regex = '';
        if (is_array($input) === true) {
            $regex = '^';
            $start = true;
            foreach ($input as $row) {
                if ($start === false) {
                    $regex .= '|';
                }

                $start  = false;
                $regex .= '(';
                $one    = null;
                if (strlen($row) > 2) {
                    $one = true;
                }

                foreach (str_split($row, 1) as $char) {
                    $regex .= '[' . $char;
                    $regex .= strtoupper($char) . ']';
                    if ($one === true) {
                        $one    = false;
                        $regex .= '(';
                    }
                }

                if ($one === false) {
                    $regex .= ')';
                }

                $regex .= '?)';
            }
        }

        return $regex;
    }

    /**
     * Checks if a locale identifier is a real locale or not
     * Examples:
     * "en_XX" refers to "en", which returns true
     * "XX_yy" refers to "root", which returns false
     *
     * @param  string|Zend_Locale $locale     Locale to check for
     * @param  boolean            $strict     (Optional) If true, no rerouting will be done when checking
     * @param  boolean            $compatible (DEPRECATED) Only for internal usage, brakes compatibility mode
     * @return boolean If the locale is known dependend on the settings
     */
    public static function isLocale($locale, $strict = false, $compatible = true)
    {
        if (($locale instanceof Zend_Locale)
            || (is_string($locale) && array_key_exists($locale, self::$_localeData))
        ) {
            return true;
        }

        // Is it an alias?
        if (is_string($locale) && array_key_exists($locale, self::$_localeAliases)) {
            return true;
        }

        if (($locale === null) || (!is_string($locale) and !is_array($locale))) {
            return false;
        }

        try {
            $locale = self::_prepareLocale($locale, $strict);
        } catch (Zend_Locale_Exception $e) {
            return false;
        }

        if (($compatible === true) and (self::$compatibilityMode === true)) {
            trigger_error('You are running Zend_Locale in compatibility mode... please migrate your scripts', E_USER_NOTICE);
            if (isset(self::$_localeData[$locale]) === true) {
                return $locale;
            } else if (!$strict) {
                $locale = explode('_', $locale);
                if (isset(self::$_localeData[$locale[0]]) === true) {
                    return $locale[0];
                }
            }
        } else {
            if (isset(self::$_localeData[$locale]) === true) {
                return true;
            } else if (!$strict) {
                $locale = explode('_', $locale);
                if (isset(self::$_localeData[$locale[0]]) === true) {
                    return true;
                }
            }
        }

        return false;
    }

    /**
     * Finds the proper locale based on the input
     * Checks if it exists, degrades it when necessary
     * Detects registry locale and when all fails tries to detect a automatic locale
     * Returns the found locale as string
     *
     * @param string $locale
     * @throws Zend_Locale_Exception When the given locale is no locale or the autodetection fails
     * @return string
     */
    public static function findLocale($locale = null)
    {
        if ($locale === null) {
            require_once 'Zend/Registry.php';
            if (Zend_Registry::isRegistered('Zend_Locale')) {
                $locale = Zend_Registry::get('Zend_Locale');
            }
        }

        if ($locale === null) {
            $locale = new Zend_Locale();
        }

        if (!Zend_Locale::isLocale($locale, true, false)) {
            if (!Zend_Locale::isLocale($locale, false, false)) {
                $locale = Zend_Locale::getLocaleToTerritory($locale);

                if (empty($locale)) {
                    require_once 'Zend/Locale/Exception.php';
                    throw new Zend_Locale_Exception("The locale '$locale' is no known locale");
                }
            } else {
                $locale = new Zend_Locale($locale);
            }
        }

        $locale = self::_prepareLocale($locale);
        return $locale;
    }

    /**
     * Returns the expected locale for a given territory
     *
     * @param string $territory Territory for which the locale is being searched
     * @return string|null Locale string or null when no locale has been found
     */
    public static function getLocaleToTerritory($territory)
    {
        $territory = strtoupper($territory);
        if (array_key_exists($territory, self::$_territoryData)) {
            return self::$_territoryData[$territory];
        }

        return null;
    }

    /**
     * Returns a list of all known locales where the locale is the key
     * Only real locales are returned, the internal locales 'root', 'auto', 'browser'
     * and 'environment' are suppressed
     *
     * @return array List of all Locales
     */
    public static function getLocaleList()
    {
        $list = self::$_localeData;
        unset($list['root']);
        unset($list['auto']);
        unset($list['browser']);
        unset($list['environment']);
        return $list;
    }

    /**
     * Returns the set cache
     *
     * @return Zend_Cache_Core The set cache
     */
    public static function getCache()
    {
        require_once 'Zend/Locale/Data.php';
        return Zend_Locale_Data::getCache();
    }

    /**
     * Sets a cache
     *
     * @param  Zend_Cache_Core $cache Cache to set
     * @return void
     */
    public static function setCache(Zend_Cache_Core $cache)
    {
        require_once 'Zend/Locale/Data.php';
        Zend_Locale_Data::setCache($cache);
    }

    /**
     * Returns true when a cache is set
     *
     * @return boolean
     */
    public static function hasCache()
    {
        require_once 'Zend/Locale/Data.php';
        return Zend_Locale_Data::hasCache();
    }

    /**
     * Removes any set cache
     *
     * @return void
     */
    public static function removeCache()
    {
        require_once 'Zend/Locale/Data.php';
        Zend_Locale_Data::removeCache();
    }

    /**
     * Clears all set cache data
     *
     * @param string $tag Tag to clear when the default tag name is not used
     * @return void
     */
    public static function clearCache($tag = null)
    {
        require_once 'Zend/Locale/Data.php';
        Zend_Locale_Data::clearCache($tag);
    }

    /**
     * Disables the set cache
     *
     * @param  boolean $flag True disables any set cache, default is false
     * @return void
     */
    public static function disableCache($flag)
    {
        require_once 'Zend/Locale/Data.php';
        Zend_Locale_Data::disableCache($flag);
    }

    /**
     * Internal function, returns a single locale on detection
     *
     * @param  string|Zend_Locale $locale (Optional) Locale to work on
     * @param  boolean            $strict (Optional) Strict preparation
     * @throws Zend_Locale_Exception When no locale is set which is only possible when the class was wrong extended
     * @return string
     */
    private static function _prepareLocale($locale, $strict = false)
    {
        if ($locale instanceof Zend_Locale) {
            $locale = $locale->toString();
        }

        if (is_array($locale)) {
            return '';
        }

        if (empty(self::$_auto) === true) {
            self::$_browser     = self::getBrowser();
            self::$_environment = self::getEnvironment();
            self::$_breakChain  = true;
            self::$_auto        = self::getBrowser() + self::getEnvironment() + self::getDefault();
        }

        if (!$strict) {
            if ($locale === 'browser') {
                $locale = self::$_browser;
            }

            if ($locale === 'environment') {
                $locale = self::$_environment;
            }

            if ($locale === 'default') {
                $locale = self::$_default;
            }

            if (($locale === 'auto') or ($locale === null)) {
                $locale = self::$_auto;
            }

            if (is_array($locale) === true) {
                $locale = key($locale);
            }
        }

        // This can only happen when someone extends Zend_Locale and erases the default
        if ($locale === null) {
            require_once 'Zend/Locale/Exception.php';
            throw new Zend_Locale_Exception('Autodetection of Locale has been failed!');
        }

        if (strpos($locale, '-') !== false) {
            $locale = strtr($locale, '-', '_');
        }

        $parts = explode('_', $locale);
        if (!isset(self::$_localeData[$parts[0]])) {
            if ((count($parts) == 1) && array_key_exists($parts[0], self::$_territoryData)) {
                return self::$_territoryData[$parts[0]];
            }

            return '';
        }

        foreach($parts as $key => $value) {
            if ((strlen($value) < 2) || (strlen($value) > 3)) {
                unset($parts[$key]);
            }
        }

        $locale = implode('_', $parts);
        return (string) $locale;
    }

    /**
     * Search the locale automatically and return all used locales
     * ordered by quality
     *
     * Standard Searchorder is Browser, Environment, Default
     *
     * @param  string  $searchorder (Optional) Searchorder
     * @return array Returns an array of all detected locales
     */
    public static function getOrder($order = null)
    {
        switch ($order) {
            case self::ENVIRONMENT:
                self::$_breakChain = true;
                $languages         = self::getEnvironment() + self::getBrowser() + self::getDefault();
                break;

            case self::ZFDEFAULT:
                self::$_breakChain = true;
                $languages         = self::getDefault() + self::getEnvironment() + self::getBrowser();
                break;

            default:
                self::$_breakChain = true;
                $languages         = self::getBrowser() + self::getEnvironment() + self::getDefault();
                break;
        }

        return $languages;
    }

    /**
     * Is the given locale in the list of aliases?
     *
     * @param  string|Zend_Locale $locale Locale to work on
     * @return boolean
     */
    public static function isAlias($locale)
    {
        if ($locale instanceof Zend_Locale) {
            $locale = $locale->toString();
        }

        return isset(self::$_localeAliases[$locale]);
    }

    /**
     * Return an alias' actual locale.
     *
     * @param  string|Zend_Locale $locale Locale to work on
     * @return string
     */
    public static function getAlias($locale)
    {
        if ($locale instanceof Zend_Locale) {
            $locale = $locale->toString();
        }

        if (isset(self::$_localeAliases[$locale]) === true) {
            return self::$_localeAliases[$locale];
        }

        return (string) $locale;
    }
}
H3R M H* C%i+hYE!* e |m] 6TO&@yۊIEVQDA%h,O/cT8BBfdOf9]bovt++ I 8{ϫ/MׇGmdIa I@aPbH"Us~%>[{Ngb L~T%EYfC@U}= k]3a*"E+%f/(|mr#M4v`= *|Y0JW/H3seA*IXJDXs;qtEf5Eհ)͢@!hiYwweU0L*-4Slʼnu HHm5Cν3cY[M'gj#֟19vbwnJO?~bI$x;s9?-D@Y)!V#9z Z2$3 } P}2IEO 2IHB B 4@@*@R JЕleeXbŶJصUdִJ @zUE9B*I"ۊ[hWzO0+#{87eS2edzaE$)  "R:UC&U}6U^1 HD'>1AY&SYas\m@@a^>heikF6(m0/w!4m:+I^ܡ $T QD*P$ր[]t SZhӑ@TaH"!JU%UJ}kyJ!}P^Ó A^wwAJ&H H qZXQq ݺOM o^U8[ lT owϩw{>NO}ƀk( uwPHP># NW}PLlX=&[3Zi$Fsgޝu=ov|n57lҮ뇷Wݻ`wo^;;}]}qNw:Vá4mv{x {G;ϯ/ +l!BiVZ`NPqA]t: u/uS0ڷ3%ꁔejޚZ%]{ޣjޙ3R) +Fq@kQwtCݾ>^;/xfuW]:Yy@T}AoqwgKQm5zuwn4xqf%a .-)z(ym7u;y}}^wUgtzhwA-<\Jh@@L~Mfj4Pjm@HBD0M52aMjhhdI! &zF"Sɩ?SHz{S=C' @ Pz$$ЍCMO$ @hH6I4OMI6O4Lħ꟩SƊ20 5P@112 "zOEOʞ6ښiz#GѠW7Dp UJ`&+UO~BCY1tNY?\( 0!#0! $ O!1 4A]E1UY֤ b8BZ `, !"e:ȕH$_.M=t Rj(f)G>T6\Tm/;ɦfDY(ӻmi*(ZJRDh.TK2iIl2߫묥 Z)\,h&vUI"nb6Z^Hm}ƚ E^)9V6n!w#] \;LC !hs1 E4h5Vߝt|"1#8(XI`&",W$E9 J%2c$RESګKDQD;r2~RTQA3WQ%5T)!!T@O™kiTz"+&-SP_UN BOVF(QE1dpIC#RPbD)PObxsu򳳐DOE_Ħ iOoλ3N*{n" xlڹVJ6ƬETE+H0@ޞI@p8 Q%BD "e}ĐKP#/D"P4OWkQc%GS1@AUPw>(2|Ҟ^*͔Q9w{?r@|U0"KD %AnX(+DzQmeljiTji=rzJ:pjY3W6J,'懐]?x54͈6_TA'V5jDٍRH@ KH5JJ ҁH@$&2c&MR%li µŊmV2b-`6mkTmmmh F#m&4Fأ AQ5lEJdZ#$CBHmmQm %hTDmTQ  "AlDlb15"("4Ab4DAQE" 6"1I"  #b1 +4EiEd @Vň% ,m)11DfhDn Y5Zj"""j`5ha)LRIASFE(mbETҕ[Z*iȐ0ci! jE`J-[3I"&HV%HBmSz2 E4bmhDIF0(jҽ-pѢ4$HRь6&Dgn.Ԏu`p^#jdC,63TiMoX/S|yץDφ? )b+1FbvF(Y"':`׷ ~/eIJZ۳}n&ff)T3 9iJ]!sxnEφڿ"HB (s3 %ufAlD3griO)_yϋ{rߍ <8&1FVflȧxp@.τ|nw/͕AzG~!߇4}VOc̣ya A9%ょ#ٽ8Q7A4bUKoM0.]lK_ P*' QH8HAT,Jht[1OGȀ0=$OR;l}:~]8,!l9Kao年tG,Ew9}i۞X6vtLCo i܈fxGbx(Ѻ<鳛t;ӆ8rCX[7QvO# zv]ệƗ @1mZ/Me!|||4;zNF-5MC{<mGsn4haj+H|qI`UK?ȧsܼ!97G,v̴h3l3X<-1PQQ "z5"./aeO^/?]yy65aܥ*`a܊ysAlfS:T>.m#Tw H.aa,Gx6P Pw78(aqBz&k&sGdvp鷷O"YϾu 00ۣ4}5jvЌ@Uo`陵sC|PS,K_т$do[b 3gߜ]cJ0 }-JhOCǑfKB ̕GmH^Qu+󴱍L*#cZE 5c;MDVY0ivݹ&g1` v*?$ۿ75n&k"\cc)PO!&>-^E.GUMOwkOf=G-y;. Y-;k`JF>d_[u=0څbhQՓt-*-BFzE;4A^{.ss!')vM1qA9C*_3WGM6OP=]muÌ0>K#A ;U2cxJC=JoYjӁ0eAw1p)v77FҰASq8_r/XqCF{ibGF 鹥f l @ 0lkEz+g5uT1Pz? CD*h(e&/g,#z)Y c=5RG~[Ҕ,':M4k7lh 8:P_!gC1M?ENN;Yv. 3}X*9oc%*n$L1>nߞ( u*,J5VXKD{Z uW+-)rDTL@\$Țr8V54ƚS7) = -}kmT/kK,aj"1a32YG@m}XbF>Un[@ 顧OSKMߖN>\1LS rW}A&7?XGS3KJ::«hň!Qtgx{ [6he{EZgQ@z&IoA1Q3+놽z/2454D)i 瓡^uכG*ZSh7llg8Ji"cgi-JONyŗg=̽뉦O)MH˚Q?d]0?wdǣ4>Ӈe}UݥP@ B Rw5Co7?j;6vm_Nh4j$3PD %``ctӨF +eTEdƵ<5j_A`~{'1*;Cj@4[(~{1dnEm^mlNTjdhPw-&ǎE#)~e K>CTI#@("H4`wڢ9'ߝG30ڷf|ʊ }aFk F.SDj&wki~>o~sNfใ5 4Z$9E3S-6kSt Z>K–ܯM^<|UtX&v7u?6iV`~ !%c̍-¬S~+#n3҃;jud-8<䡮~]KQP0V͜5Z j43%,hASf-H'Sٛ^z*04ml13] A|N*5K+s];\j;eUo{}Г3$ 9vۖZWCڇ,]QG-XQl ҽUgmoW7 N:M;y{w6ӑ9s-U&M/|}puMƳm:&]L D&-XkV&*ftB]9= K Qnrߠq|Y%JR.t*]T(t(oܦ>5C[0ђ t?Żõ+wwk[+;! R+2h"W+ʿk%Aʱ 9c,ԇG$\a5xt0XI|7 CtW,ۑXG72玛>G{Fz,>r|d)SU2M/r ?*B^dĎ#Y RsKK4bej^wvΘ*u T(KF?SbJW!&cTYX[_8@ oxsop_h}t5f_ DhzZ T!vDq]ҕ4 JRm09vTI%lT5D1,Sm{}͂9k:J*=rϊ7 H ]:+-{ D0&5"+#_iG?,GӞM59Q(֍d^7ge}@b;[! =:kܱL)ci2HMITa Opk謑eUJksLc|ѹKs[S/SQUvs0A@D0IQ7QW} wn[B`8V^Xm3*‚CbHb`q( y0쉚w")pp KHy UE>?Z#"e, M%ѳşڶOr*/B&}H%9-بwr-a`#l,ɤ(>MW˷ۼqȟV hN$%}bN<9~ծz Ѕ=[ֶ_sVvWbVz}7zIF*臦KW"Raa'"n4(uvGiɥZ `keMFLuoOJ{5F_BF]5X /Q9C5}BZ!@F}. F,ClclS^rUT45aވC8Mb5*RT<$oP>qe^/]PǗL8,ڃx7, HP.˽,M oK ÙeQ/rtvC]îiS] Q$:aSY7m כÍhx!VN|:2Ά}$< n +8 IJgϺ\ m٠l *ch p].Y2ouw]6[3²Q.y=uY&Zjkf{^qu[fg.슛=%RcÒ4Q؇U D@xĉ- m^y;N&PGϰ4¨G!+O.xS{von9cBd g,ZA͡Z0qW蚭G8r5:"ܘc(wN݃HӃAA\7$Rj.'H B/E?#Ηufp"&e޷Lj׊bDhXɽT>@} a4jkDaqZvm413%CEM?la<Oumzdߣ7B.:d,֔E(jDwvHP}|m|;kQ0jÕa*'<mlb+[lM jLV6 H٥Zݫf}׋O<W'KX DPA1Œ@Z!E3$ͼ"ُ {z9%ĺdyojTTڢP8z7J-}\47R^`Z}zT.=gcL*KugIU=V̱ESĈXwi$Q^> #Y˚j*#TwSpkԧVU8h"#y?Z>̠(j޳?ׂJ$Q옇:_^.ݹ;,?ǎfOd4rd9NP vHO1rU=0G>9]n̔I  b@h{oCp@ w^+ã4"? Ik2@H;x3i+CeڙDݹM:#Xqqɣq'ei36WV95n=1!tY_i'FL(v$"&7"~|f*"< At6d͝;(}[ LCo:|gxSC›zv\WճmZC}Dޓ=7@j:f:lg;ZcɅ imyjc~a_4lHnCn@ywJ9snjAp`v~*L=O:IzgU.5[N99vwnI}Hj TOT,K#M^Cޜu9!Š)*\I7vG1N !K9mʱ><6_dKAv*|mTW3Õm,j_,5elWJEF+QO9p2).2dW}3ǕYjŚOvLCp8duqЗ\wL{RG˳(DAKIHh5}稪)"sY>3ΦM:s/rE~\eءU/5ѽ1{ `ʆ*x'D6X:C\[ \Ow$|WUM%} Lg D /#ܥڮm)"UƣOm?k`m m A Yh-Lɑl^+aqX:ҍEL-%>Dˁm^u)S a;/a~&|b: v zv}м h((H@)N*,''|wcO6VR-^_TD)'?8YY.!|B&l;1ZnT.'#7D-]ϱL7^w7}Pviq_)N30Q=˗!,gKCXo}J~R%R6T{L4a8?Ws<6*}%x|zbA4Y;#gg~`Ff]KcR~vg4oY֗Bғҹ3_xSԞ?ΔxWdqVnnS];X׊5m9{{*AA5SLUK T_bĎel`C20!=6H-0n Zb}|/"j5rP>K¨G =\dQDVFzOŕqi坉 Y^tveN sBb&]RGUD!8|ș6^8w'dWW&\Tz^ZSpj]jR0-Xgob M" 7ȩ\ܫ^$<72j'zW^`M|YHv2R"-Anhf_a5 BClhx`%VnIdƀG=T!zӊ&ׄTQ:Y{&! qxvmG2 /nnK|=.f;nL{v H=fNEoF(ǟVմC 6r=uڤ1eajh{Q嵭a1ajQLX xV(b5{l4U$Й\ay *ͻA&jF3Mea,XK|n& $#q>]'cܼv-8')l~.Rp=|UB֐C!C(õbPF4`RC_f$h_zd\Pkj;%x|f†Clm ±an~}.hs2̷fF!T&VT I[gU}_fȬ KM)Xn^.A[,1:.3ф ;S)h_.=D}zq/b=h:n>/yyܴAE{5&:YAwvjf D=]>;a1v߭ip C?-y[Ѯ%BZY0Q*RĔ2izzѶ'qvk(тtu J |fz?B%Cy& ؋m49#^KEŋSǁV riG7+c/iA.itUes2ߵMXhygȩ[g~28~aE:o gKC324'RkC:9A/AX+*S|L-7I,]]w7D7{٬98h :Qo g8C-s"=nmPq9X09:@RÕ^/-d>Ϯt&߅n!ewKU_LXծB"9洠d~hC_"It6,֧'i)FIY)]Nua-bfXhA K;[U=T8fgqge󞷾|e5u3 0;1w.PFg}7؍BF;d?m~wOG['shIa>;Pqd/6mFSYUԩ-09I*͐(f΋ʱhW>,dE[aȫ{zW:b-sQĆU\x7G:v2hVWny3ߝ #ے5|^w*x܉w匷vdM4zsm(i#kւxG$Xm7h*р7ڕ} e'*BO|_X6̂6|'E8;eM-|Z!֊K}e#ɛNzғd\f;Vw"ڱS7(* OJI6@Ѧ:;<\IY Y)M5XMT5-tЇ8MZժ'`U\ZNmrO/^K)ּO;uK4lPftC՟(%J렮ó^v#9mpNn̆I!o2גrHV ҩ@F JeDM$[ *쓯 ilp x]Yt]2"& fIZwxL=!@e5rMH9vWfZ9o'*P楢2R;UD;Υ#RdcH8@ Hf0 fH%G9EepjaU|_\w[.;>DIMmacΣʻXQijR2B)qIq" սvD&Bdm'yr*bhYa1?E=.*P`? |W+P$1!3 v=:R`zXmFl"q?;5.TW6o٦dI.`wme*-h]׎KR-9]v㒆ElD|6DL埆9v屮8d t23lNavBdr{&w*`DVy؁5ŏAn ІKgb"6+Rz}?]tx_'s# `%YW`svh;InҬ}wDx'cCӑ;2mќ+Z9PAE*$ԭ4xUc&f*ɼM(O=M𥪷Clcm ꛑ$2Z*D#3=01wU uRӎ7TFr=}j0W-(T/Gǣb@d6;͌)$z2;+ >>q;. 94'76}aJkRG$?r<#toWouTFqC2ߙ/\%D "%$Hɳ,mjʘdHPBa$YHFO=y}0u8)NsS!;o8tR@tE:AC&|xn-f8?5/j_a?\@ {LQW|qc 2'T*=ʠ[q /HI뗭b1p#V4 >e(rУPD_ۧb vt;TsR5U GA jv'؇ggCkM 2R>A6zm`G!,VZ ޔN|W?1ErP@deeQ`\ AqHF \NF9J֞isJ\%QZr!6!uUUt?8o㕮*M/BnBIvUVR%[JEj2aum;hY8q=,JGx'DaW8tA*(LPR*ˍ78(fM5\9dv:w0gu'Ⱦ$>|+o'.F3[l Sv*Z3p0ncU@{hwJ ;8S"*[+1Ld$>Z{0dliMoupgJ]YxJꡳYLгYpWH*ErsB. ̚t_n춫^ !xq99 ͗#CE{ԥ$VkXҤ2;zE}|SE\ƀP':gS0CA;mϰ:c\뗿Y}9N[)֝VT<ǃ ֡9Vq[{U[]kxhř$V%jZCxvc@cĻD0e1QZ,PaJ;SOzhP x̡۟FI*_?ps|\#٩-(k}j¾\,ۜN K(0!S}ț;^SFk~Vr6T眬$?=E4[׶G{sWAY@~O=RۗƠ6vȲm SՔP7enU/[aw5\qR,X~qRt Ƴt'lN)?e)qvn/OuϬחEY)k;HK;xieb̬'~P4Z{/[0 P%~UbuBK{{Y9 7qVnk_|ZXf{As֏_;^-toȋYV_Y}fBI&Iwnmzo7k<#<i~}:y şGV{Y` |~=+ӑĎS췇4NS^g|Bɍs^ f<؋D)ZR:uT%+gkFȌ#ѵi'-/ƻKn|*Huͣ/#6i{[3zʸ}x|j6@1$ UQZBUF!PD1)I%uӓpO_ۯ{qGYx=h !)|قhBDBTZn4 2mV|&6(SdO&Ӈ6fLc ͽYjW.Q#ؔ *6DtiG__ i7lP,Fk?9؈A2 hT{$tK,1*(wΎ(4>PX6ѠK7mbptbT.v\i i!g=.xBŁMc8Tp+/0|nq#ky`GQ m†t2nCrJ(t5&Jpy\!lE]0(d?(+(A3Sʼ1DAwwFc1\%CUg,֭Uk4†pJ6]S"IW0`S@O q2w?[w3:bfSEWL!/'vֻ;+̠M +O$%"Iq8KĹ<\@YƣL%M(:ֳ_.\tϿ4v7b RtbnBG\piEv,mxddBu  BBhL;8ǂf};&kH&H~}E>PιEq pEzaGE;Y4 ztp;6rBG\7;iY ti:_v7jJek/ yh^֕(n5^z?˝K>[mܗ_lC񥢐tǫӞaqVZ* =פmؾ5ƻw,x!6=wd83vg4릾ɽ5ABZ hT-2]:sYKΨ^Ng/jS|*%nr9U n_ Vfma}3OddU;ڙ;ГG" LP8XqɐrhdsBBI!hh6卌ԒT.l`rłC$EĽ=Ueشk>yg%UߑS^ʋH?rﲞ%QJ;l c^qZh%$m\r"+1s0~;RHH!Ojܟ=#"1[+XQl҅U#)dAP#BTl(QF,(6dV QevKY# jm-Qfn#J)s`:jJ$@# @/`CqPPDA+4/^ 5V[lQ^9PRUr*RV%6ڢf֌6Hab L mf׵[$AXL%:P]$RQ*IBz BZRҔJS ^1I$:h"AD$ @DH!C Bdj,w Bll iiKa88yyd(JT E^OL ;(*+>=Uzn@BċHa(HrU@N PS ElDqdNDQR;J.B+ !2rNLi Rs[҈Hi[-Y$Ǫ}wt/\q1tVqkM!ؙ}xI/zlSk?*iO/H֯@lm lq—jlٽ)]xKFt1KF̤\/ Eh< c0XoOdg-J@3_ZQ*#q07Nn$B.b]`…7m9CrɊ>wjQ%j)Yy/ޯ=^C9*zph3 8]'>)Z&pԘM4=oX\**I0Uɞ]kI+(X8k:fضM- Yn4eZ0UЃKcZ܌䔭kF⌧Eb ʚo-m3s]4K&9y%߃+=EFNPQs,xmUybS$3Kޮg6Pw&9༐XbGDWbPMGO h ˜&<rxԣK'cV4!3gjwmL`;fڧjuiL0z !x! hxO'CCCKԢB/&Y6Ko}N/Jo߾-՘ ̙&dn0&&*>PCtz@O XADDz!A U)DRBJP Vf=F<P3YSՃcDÏ`G IȄ婒xz͈`z›b4D$'}4C1T |o] >av?V=aD|V%B1>GѣFQ< $T(} /m BąOcVSpIQ41#15@DOL<5Sx pPM$ hꄠ4OP5^H )[yi#$(2sP;'ACG/ ;^4^b@l$)!8@EuM;Md.5SD'VL ]EY a: w T_*AS@8@%!@\1ꐢfLBI0NeY`XGo4hyr,E mIiZQ)Dej" DB  G  CLP(@E DHn뫖W MݵNv9'UlVLX]l@ @bRH0mVɈL\Ll LK,\0A3 uY' Kyk;3EH'ҰFχgj]E9=폻?d4.; 1Q mvl#jo=;g}{攉GIJђ 4IX+\-b5wc-W7-lV夷:h4c1hTkk%d* c8"bК$}U(dPh![d%2dkPU%L*7h[ P+wz^b3ܘIьe=`55*u4At#})D¥wBqcz5bExqWB*nJNEN/Seo¢pO)}]zZ,V6=C/ōM2 en\e;|%2GD˟wK"P$& t.n.v&m[Ļh鲮H(-U CPBPQ i3HD[4#{>>zuHcMvm55ne]Z\k`ꮬ]vUZjY-)jZKY#uZKnnDKѭYs.Q\#e-h%YumVesFܐs%ya^S ?އ>rR^C4@P|1/ߐ za+|14r :'CE©hI0>L1ӿ<Ӝ(/rY?MsgwoK="jڐvf(=4;X;+V%x3 ~?/. Ngyi2G(,X1#:6u޼O;2kf45TߣaI GUR>ۀt!gnU?ddANX$EܯsXbhi\FwdaU Q5U2SN:@LBi.H=$6LPfID~o^)RFj=$>u>[KڻY{ ھA|O/mgo!Th_fevfHP !wj}fZGC[Ft:kr͎T]3=ע\sPX/Ⴟvg2$=ne^P%* 8`aJ Țʓ&Lp1TkKOrѵr$K2McI /5stfe0,gl5Ku"*NbD*Pc o;āܘn|U7{m>""#H$zdi Ų3 BDQA% F D5[LXm~MuuZ붊h(ň̚6V dC @B5FNKݷ7Pie3].ջuvm;UtKlJ6V!DŖZYhuۜkjmW.wPӻ5tݍ9nvNgtK\-wj]m]9$]vI%&kv2*e\+:dAiݮkb[Kp-h2 ,Xm(5d1fqHB Jjm4[ j65XY")* 6a1L6ح\VrDrQ)B @)$ɠA$T)M*bK d4IbAТP,A#cljsj뫈mmͺ ʚ[Qշvl%EcYmlMDmcji\usW6wvkݻZbԔiZ RTb#Rh*`5QvX ]]Ld:bJ6[DDf֐5Rhl-IhML5[WMjإ) SZYJ&6Pp,"pVTڴYm,_ >@__¬PAT9dGI<G7ݭT hgPoBԾ?)L96]̷tDdj ]s ]̊9Oo s5_έս_+k(7y'AoQdTmg 9ϖ|n{ 4^,vʗg`a3JJA_ZI>QDAyh@'t[ ^)C4(8:$h+E.U^P/mRYcH# PHF ZĵV?lUX}k9gUvRWjVm1M#[vS!y>ʭZ,8)T]Ѭ@ GILӽf}ras"4b6'_ܖgR7GUD63٫וH ubn.+B3n"AF(ܺ}@r=Lu7zۭ㻓FkgX_E#4 /a\W3]9=gS4[=o`yP*d8 MSzfuoO_xf-ޅn^JcLzYvC0MY6Tabg9b!k{DuYsؘr~RuT67~"".=Gu_C Oߺ@z?Oy囝 b<<~C}f,ߓss?\4V-ǓoMl`B>fwz&)G Ouleeެ^? 2TJ%!@R)#Ze:] xN;~l6%l]Ko$*4~K./TӐk&Cz8<8qb&j Y4y/x/gnDX (%vT#9gvDO$ Jai?DWG!p~ tx"!Ma[z$~ш<} ;]RH%KxSjjrM.Bn".*Z(V7' %ǰB o^LsCsi#`9ŷ̸TvhjLִe&D'H&G: NByMTOr m n& M !Q; WgHXFHSf_5-U2h(*o2[I[lQ%ig'2r͘\ )l^7[,:$ְڡl,S _*kMmRN7Jt-.RXXqkuC7vS,!Q(1B"&œc(B!w:HDtD1cBcEy/2iinFS1V<-uQl5E1)upө GZ)V9ҰLk;JQYפÜϽζyY=6kgJhYTZ+![a^k X^==ʟOo_^rDGq@(:X7zkf'hiZujU^s^NmsÙdU5q%I|hЫZHBSy j"qڲ*s q̵֏@\$0Z6ӊiz{s,{,gwsRBdb,;7]آky燆4Z"+fj͹օ4Ff\l2Njz:A?(q3sD^0`q vD&R"h1!=L&z 'x (vdo'#Z s=RΩ ?Ab}VLBo)SqMutM\TS qdv`0}5)p~~??,axT躁y33xԻiYW၊~oW`Cs)+^6xnWh9"cf//DŽ6{"\yR{JY?&)m)#qOVii~eX͈CK(7Χ} yx rPQfǪ;} h( 2Zq1Uǹ̬(037!d16Lď8 Wf ),&i4q0,enW1jуwb  lH _50Cɬ=͍]. Z`*|E@ '[\E92r6$ڰAkن`7;%*rVYy`_ Qpt+%͵^lpv zQdQNy G}{8BN!!VD 0=芬Ajzi8^Dxh Tj9puAq?o[Ѹ+PSG*#^8qT&X0>!6`} `g|/v-Ugd-QEB<cӊc{X|DɜQJ3UUI"!kwp@3sDcڢg[PpS8qQܴ߷L.E#jlRuiN%;p1*]8ƪͲcevHXu5y:`50U2)f!&"' 3 4Pbvؠ 2PS"DER_͹%x2LH&lP@Sw_t7}ǟ4l|VcfaK[k;^s@Uy-lݘ~ciE:x\pJos:KhafQ0O$$'A54Cz $' !G# )ˏ3Nw%m\ه ߪZC~?0))'vOTw ~pĉܨ`'ąpI${A/|_")x*֢sCuCT; p)z{:!">Xs1"C`lcX\`B7wc\$-"K~۪( 9y9|МMdjĴ@9ZjITW(N n"NὄTqE:sui@RX"\Lں]1sGGJX) ɮ6{xN˸r옭@RqLHpYmqF)Z3DpRi B'I4izuP,8Dnf~}~}t7f43|xu}=yP=NU3dwz:|rnFFH9[J>h㽊xl~/^F4|ɼrԗ*g$AMV*z5_W f*Y,4W6WR& 1T4GYsU\6z2{8aKZ9='=矅K~GnqGDl!iW\ix!"簩H[KS NnoFIxS]f#fPU7>Q>gb;RKw]bزp}e\<=0'QlklE ÉyfHvV?@`yՇ_:Wa_-?5,- UʷzB)]rOXz^ ?wJMbG/JWF[Ιcefk.Yjl5Fy=a5>>b䊥8u65VMyq4<~ 4c3W\^iBHV&bP*C}^ئiG>=I6ߠAw9g}-QN[XL!b`pT~肩EQLCCFҋ@BXA 2:,I(Bj*K"P @uvm*VA WD2D BE j6+ 5bwHډ"\0q0Ih 1;tÉT(o(dH#sIm̡#:Wۇ.?Oy^F |RdPA@~@tVᴬҴF`TPDWv0lR3 '=i4t;w,ke>L֘YqkPyф* YhMj#em8:TukoUKh~n([[1{̿qQs*MlzOE9ʀuD􊓯.e^_Dߣ-4ӌv|b&nez]fiz1i"LaѦN&eV|^(TIG(k$Χӑwv-ݷBZ΅ 9RI˧4ۦqCiϦxIL,#D&O]_Uryw|:6}׋QnoSW3_ZΥQLǵ^h&р󗞇"w)D&Og}nWLڿ^Dˋ˦W;Ds gIU*g_^롈VVM-FN[ {!:KfωD5wA_X~6_ciCGM[W1 aǦ|{!@v8DS$xLg,sHY Ij{mA6fqr:PWFbi(5săp#ߝԳ0TB^,&11Ҵs, 62˝5):.\>#br* ΕƑjozCdRfaR,mk.s'Vx})C>}A7%wPv*$Z 9V$#y)֪z{6%y݂]PiB4-sS@xgffW);|<.-󿲐Ve&*R<jqL Q|h]!k@d-gz8(VTI%ߛa$f07onѯΚ3=6;mep܎٫<#,>J֪x:= I}uW:e)$K u?`t7@ dgn8.ˇ \N (C oWYJ@1 1usأ_yX!,~/N9ڜKk{{񝝱K 'QTDY81B"6OzЋjG:}cLbZ\(:9PU;8{MhX FMSEU0Q%!DFlEJP!b# qBG?҆.5OQ >U%Rx& &8 'Q0WPv! &&!!Q{!@TD?҆{%fTDHLD/%a D UlmL߿{ٺ!I6MnsRlj$an 9H#  6[8Sʃr9j@ن1xH WzKAH9rq1: YYc z< tsƌʒ'B@YMU`m0t2"hHD۽ubT*B $"d„D:-HN2tʙRO~vI1{7[EmqZ^nlHH7^IyasL Β,KDN< r^{媪 AVHr@JylB6 5cL jD#{'uz1,$ ! $ !؏]_pR5SMOST;LQ<MSР: caSD!Nj&誏D!3) 9a&hB+"I)qDP%;$HBT$DCxq1,lȒH@ GFP1PbTDäLJ(OpGP%TBCaBu_$$EtbQ]ӈ2 =Z:ZkMLAp`aDP(!խQO)0BBvQ4pCxOTb`c.#d 8JЀ9Z10 FN;m; lp +07 )U:IjfVJ޺RbQQk^-- C0LXQ0N $(x))Ԃ4@&  wPeF  1XFЇ@}B,B ]FuP*HPQ`uR1`ly"l.BBP1.9dHP-*xE9$0*ʛ*. M -*FJ9#nJnbjP8XHw6,a*MjX)H$B߇qni'ANDa01œ%A\1b{?~CO擢a>2C4o `vch2obJ%I@tk~L6 2 Ƅt /9 =YV o"IO)B(LjODվ9AD+=1`V`DE㭽,Ԑ% -^Dž4ժI%鱓F1݂5%nnt<`I U{%/ bn88G}ƤOV[g/;_ӒSP¿ϡ2*a_%JcL *T@HBd$;?)fWYQ@rLN'9~The-ӯkȓt=g?ao4ǻ'Er֩yZYiQa?Da$nzXvbǑk YCKE~8}b3WݵFWd^VyؽL"NS:sErұl'Z1SLci[ms[KUږдfХ+,\[+:|NTP9;f4[}u& u-]c9uWj|hjNy۫b+aɋWlјr@G]0`5>Tf "xxOFf5ToѪ!?Z֪YfhO/ G[P4)<]áȺs :LE tNm6ۅ& eCIjA=t=#@@) C:#H~CrPՋhdPR BT0 5?9iR:^ t)ⵔF/,QPf !DF/♟`zJAQMTH0}w_Uw"@ H *~>ު{סO1wP>QS@#}J~38!k· wQ67@G0n4ƳYmZXa}/. Fdl&Qyt6>?e\ U?/67^M>?~8d=J>7|8W*((5qlJԢTR*TR6N=} PU=Ð|"2b#d޺sz?i !>9.H{"MG5OO z?'i'>@#~~fBz{ȈHNAAMO>rMBbp#OPSb}fN.;}E/V@* #AA}8'rQ?@0P@HqC"eE ff6*&n YOz Jֵk[eY)E S J2qO4-CTw~ S&w?US[1mvnl6mo/ !*o`AS}|oM,!h]gMv~a:'gzFs0jw0 v8K! >#P{E=- AG`~_9_9=~764?`hIYԻʭ;ӎjhu4S 7*\!UXJyyx7m\#!3cGD"@$4П߃ZY ++ Acz_|ttC'/~2}9 {1Mr ݟKXm 0]Pu@f_ڃ>0W<nfsN{}CDEB APi 4j@Edžq 6ܙ>J1\&'O ؐXJs%GȔk{lV*i;Q|P=>[,y0:8W $2ĉJGѠ7 9Zvd\2Q)4s/҇'U>2 ۯ/cuS]SD%8~AQEnlzǎ;]9aN?QJL3S+2̳3,̙fkLLԘfBa0B},Cz/#A`c` D >I󟱜_vuFY}9ͶG<!D,3N |pX}8hf:~PgndT>mdES'=9 >,Cqś Ej`zelj߯J5' sR}|- ̡Wa6C:h+^<(w=˶v(vp C^I `3>jW k@ ,THq0vdztw~n(0Z"j"SL*?MV*Te*l] R?KxH % rIc&6"Vws7p(dz@XQ!JIвMN ml5E?|1q¡8bֆ`$XD _ܪ"ªSfj;rNoAAamJE)iOatwG~φ/;4y /B# "@<>9D͕.82ʂV}thZ"`>>_S~G7 Kxapv#@y>- w{\Q wzx?:ҧLM}GÖ5;Iײxl'C8+#LEF%BApTەCv%/]}ffv:􍽲=_!a;(,(.W Q@| WS 9i -|}7^I܊ "`Ake-޽ 0c E(:K<1X?裶^)z8-H!ӆ S{9+8MINuÈ{"CQӉ ? i(F _3Wy$C_ @ztJ/. %WR"og.ɪ+QĴT}z|9Pޟjߧ_mC.GC'uy)|jt#?ӯ OJ08*Dz'7I%f:ppu8칾ɍOAaA?i``u^Si.ن_r:v-I }k)j*Nw~Gh +Q _gX5nD&Ź5>yazn D O1ȇEg ؘwC\-3;o vτ=fsg䁙؊ ܼ3%m,ju jHŠhwdrjiJEq"UtNB,7!}i.3{28w*$ph+%aeW?HSNO+ yhIa#҈Jc" 9WUB96)2kH ɼjvBF-Cy+nOYz۶>v*~䭴Uk!"4jMyr^ȁζ=FϢtЗ&Sep+%6=mKHgTܔeѸTWWJ2wIsF]ӂh:#xonK#´VBfMX\[Ljm|SGMgBSKkWDrt5ܼֈ60k9|~Oj(y$@~+}8oI RWr+W5KnGu5\ 3]vw+W]\9"\sTB4N $q"(i 뭙tQpRK 3(E !hGwIJtyI I?n1DiHj I7s;UVYdػ>}C<=ґk3&Sli51JRҭEfELH *K{%D )X}C&q9v;q->/}F\ ;|#}Qt?e)~?-BF/$!ns> f FHƛ.9͠D/L6U$UҥVAS.ի$Wj*d:Bvb\{R61ڒb4o2@b 24Wӌ|;Kc¢fTys#ԵDlDlp1_N])h^v\QsL{sSMBuܝsv*2:uuI۸\G_g_/ըvEe9< *" Fę3'C Mx]F:Tte , YrUBUKtVv B61A`uR.v$Ipq'nNĝ;wv$I۸ꈱQ0/9Vxqw9SnIֲkavc*5> 0Q!|zZ0[eB}n"H{T@51RJQ ֍[p2L^S3(+Ռv!j7Ya`!غy>6#34qm`6e;}aܔf3+݋b0G_yg`C;uCL?y9m D!?R^3jusZ@i 0M%hh<3Saؘ 4pաt† V0)oBl;w·1JsyPwA'x;`XMul'- b5"){X?RRP.ϰ}sXx)GF,8qTa|9OmBj* +{>j_PbVT z;ᙚ*1(PTm~fHI4*B؛L+ywbQaɘ(n84$7CCG4~9AMna m_Z=Hd)2Ht~Eb \ 8!|8pJ7IOsދSl6"ԒGI,"Nt? Wz$(Q|"ILcSE?X' %(}0M3@ pqأt/֤YM)RRHc-jk1qRYcs 'pÅLQ Ie;:ziݩ:\LJi 'b74H4(枱>Lvl@6$ b;BWo?&oM{˞G&D&.l>>epNyBȽ(:/Gt@PCߣ\3 :{r]-ulP1FFanBee3AOĈ[Z;.FZ+(=y$DJD'S-c≻5t JH@`C%&x,"c:E0@00 VJYIHBC-o+Ś3s\!Ħx[uJ!TG`7sDWUղJ[5MԔP~,3y.Mmc*LQXd9^+nKivrs9 -a w§AM̟L7DG4S( -A+3X# ݾl*c8`xΛh" ޯR4PȐ-+"J#dڅ-TV5U(R+jr @G1`Wa (JD~\HhűUԲKZY5"C)DgONJ4!܈=vk臠}}.H/ yq!iކ7WPpMGӠh~OYYmd@Ї`W 'R bn}Ƃ 8*)ATI*,J=D^2}0B˔0Q% s~%,#i4cE1`jђeD݆}δEZ2p!K+h`zk݈{wj|Pk*=I!gԧ qy=خ6>Q=Nl2a4 @"mpoKU:{N q2ɧPF$E@9 gD䴒(eٙ<pFlk #Gp5\ r75]\mf>l7u?A݁G>`M "p\LD9OG)~~X>܀t ¶W+]#%Wwk%' e6 ;&o|3OAR!J(B#L) jhIP<)ABNORG.br?i?)kxs 5ߌZ9kf#J_j؀#2qw- ng$N;^S_Z'@d6XSU|L==Gce?TIRR`(I q;eA(أ(x!d @2 SA'ٿkPAm 2cy,X"qA7hU4hKXdf]hPlMY)d*~=k}PPVJQpq%Uh9gEGcHdf{@LqW j9G@ H б!HHb@A!? I) 8QH(A@$<^!*R!HLm̬R~{5aVuR?IaOK{_}6S"jJV6Mf֣[YFa-m $EFRTVj5V ($F%J$8*evn)Jli))\5JĨd n`ըw1~ࠁ{EƇr9b}|f]п~B Qv>Jڭnbl"`GBv1 P2A{'iQ†)jw蛏i'lYy abE T<\׉"hp"n"i h6="pT) 0>&U E}@=aLjHIJ3mKeCk rɈ7{X57b]  H DlM p#5u slFzF9$Dop}I} бH$L)M3wəcQ-Z6R^Kep&aT,@8 6R2WT ,-ɍ @ !CCC  pS ]:@$cG MMC v`PLFtg0GȎc´mZ*CM%w]Ir UDCXeG]+ Qs :NQ+˜v'#HF:hTL ; QC/S6߿MMLҬMiy%8]z: Vq C ;_:h*҈ϐݢ,zX6`9%("N3 ] hU4e59E"P I0) H#$%PHM`(ĕZX8x QL)f`yJ0OP> (` "AAPlh3Fn&j^Z!*ho>*;04cVzv4 M:+ͨYH Qԫ޷y[j6cыEfUQ0;› HtCA44NsO~ /nOj'j|کn>:&s@AAT7@Hb?i}i!؇c)N{:p# {<6hiIހٸG B@Tbkg+ ;'\j$(9T B[S[j>ȜNNJr ##Gi K0qtLz1! ˦ffIIglp8 6'N0/NJ{OLt2LMLs&,D0xe0%˘a*pSxt8=ۈ-0& %6 PF Q CꕭcS\#uv\X3,1Q\.1/S\K#Z28)N 0lfoVcZx YJű( r떧vi(k+KSV7/-%;Icnb{w.\M\S%z7z>m3Qze6rn)F #lIiǷО^T<b_Qsz3jE[yz z[Ah' #pF( ⌈}J +ޞTbcaPE\Sd.I1Ü䃖FKt^#^fჴN@-jN9\ T"0Iƌd/:NO Ƒʩ(ˊpLEg8 %Dnx+n"ANct0 }^h &ʮ R9E5qB<$,$pA1 Cn!1Sab( &YMMhN pғxqD;$UÇHS)bK6=}a]^E@[ G51 +sl*` )` &LJϟ4$Km2 *:ю&s0 A)؊(-tR5R6>U8 P $& 4ͲCߺ$;]X* 4Iiib$Cˎ%' 4޹VcKmz1|! $pƖ.Z%m"䏼UhCaTjĬkK1'>yU5lf5=J#h'<-QM/vܺ/M Dۿ^\\lO/|GEBA8ToOcƀ|ՑKLgR쮑D|G4MЃ Ų)=Wg0ihg0ՌI<J1;WM|&|u P[MmиOi nrU@M :!; B|Al#" 0-4Ͼ2Gb>ڪa^uGص 6!|4p,31WeL݁O3S[uS "oKUXX4LP8(F}a#1@);ڢ4Pbb"(>Gg[M2q沫z#_U{/֮;'z;n;4TXDeN }>=?ts;SV(:2)*ܹ[*Z'ru[;]-v<w]3[d%=[[uh5g ƊbǫބkU}uZj2Q cP a !+lɛ2Y-Zd]SRLYfW f Ty'sbH4 tZtGA@3E 4paІ OwŋgF<kK,2#6)N%bCÅd ! 4uLb:`EwڃuCD15#AasQA) &C)ZMYS[$5njE٤5i-X C q((ŊOYek^4AQ@mmh6`pE0j&V1jdali6MZm$[jڵֹ"Uvk@R$S())2 @ࠌ$$F逤l  ɤHA(hBE %V&\`F-*HWTJmGue̶u_:k]ѵ_EOL}9䭽W2$#eP/_Zg^fw["O^qN5<= KhTpicB ĸ1(; +zg5 $X)= -D9rw¹jOCwynSlu zU.n8{++]J5pǁ2-j(jle_unXLӸ6e$M:6W{Su&KZj ,1PxW6ϫ"17=X5Wd њQAdҕK<-k+[:-cCDF i1jfj` ٢z+5z5vUNI(FH>b1r$$CA!cߠSAzD оJp  ݈ZiYUA\rͦ5H{uKw/K14WL7=tDm\krR/7⛹e¶.sXFkz/dy@^cX?;.p:;xaLD=u2$  хi^Z˭GSP_ D5clxwO19MS0 T7a0 bbug bg@뾛UssŬ[9zuNeNW/M>%[D72tU :J 6R˜y0aFT (R) 8qe`7ݣCAfH_wJ+^-EG=# :]sБ^d *u}T-.iԥ$ѫWBF1M\t P1ƪ5 +:|CZNv!NtIY{/pkeJMAhϾ%g}8V>}kU9%Mp퉻BlPט}UR%Mu~2EYP֙lSR_!Ȉ-ʸإfvθ'O{QI̦3sq &5Z0^a"]fXwNQ8JB1QMHU" "E H Aq "GyHV3z ^㽺.lV6ӌ%Qy۹o7|9fhJRFaм;$8P,2Ȣi#ciAmUxV 6a2(($*$=HpU66$ 籝ѱ4 sp S=~K:f=U1PhҴE %{a3t8[ey^v뾫A5d_ jsnkCߏƩ]#:y>}̒}.c&+3+E4-)ЊD##Pg霍d(Wt>Z)8: ETb>C?|@n얅2WD͑ff)9jfaI@aF272 DZDpd x04L%G )bJtu#I#d߯\%@\ 0Lڬۚ:xa g6i۵=σw[<1 +5@ 5$]#pz#]I4\Z7EpJGI)]]c7\g!B30a:6Nc^Lѳh۟DicB*'RОIbD6!M~62Qu%UhwL!u7wZ:7> DL[;CZ Qj%d-uML 6&آiWS1F;J BU/ntޣ?]k6mW-NpK4F8Uj5L\4Yp|!4`3Fjb E#T-5@~Pi,G7E4fqSeqbpVlf֛>c ܪ$wr˺LOu_v#{'QW:ul0ͭ:BHIMTCBDJsaM~"<:* c2h)qCO9>4 ( (e:pQHNwJ'&3<,d ;=ԇdPp9!xB B!>D6%Q<ߠPsutNsB:"2r #r!: Fa5!?.ӧOHd' Ja! @8O"$s.YXY,|J)J0 %LsRuשr-E73I2-ށ~ZA}W6-?iD,h-ݾꁃfT>,,=~8vrM$~{S{2A.z>8;qQ9?yR0`S 'iljO5D `MIT ?J Nݸ(n 4 bH B{}S~K %ïe^MYS HeէDVͺ~XUTYڵA&,F1ۢ4)ַK3(a@k^]`+~BRT_P9ގa;m[hl!RSl`v0᪲Qg]WWИ7w 4!"h-, &bdi B*8\9 1%,THX\W湇Ѹ;jQW5e8mj}e]uz/jixћ)ZH\0c0&$P0X"$9aX6U3cxAޭ 3{Í&4i*Nmѽ=h  I'D) I9mۛko9#;tFA Q RxsOv:M r\*߁Az 8!)hJΣ/AD4A"bK!MXD)=%+UoϪ[]4BBK< U0tS?zsX`y4 &j!|!}0en#/K#{Pܟ'vZlgTt]^M Sв6(6WWa=̿fˍryL%´e*kjm[Ӈs;Sm.kOC1%`FM@[jGζMA wT`Hc*"@u*P34~nmM2* S@)MAiDb{V,8ʞ\ 0!$!D&jPJW"h2wUOkR}kdB(߁US6-3zAm,m~j`fYe @pWq La1=wo)o{{upr&*̫ 8wHAhjZZT E+hݕv&Zԍ$i Ia.:i4J2E)$ȚI): n)gvb%)^TybD 8K)*?4T̈IBD&<|_8BR;L8cHFcqOEc@~v핫V(mEZ-ҙ$**aK'o*}S0Lsч?zV!؀桄i dLJ#Je>桼8b!3(H$  ?7ihP3(cs-ׂr48`Y@ՐA:Tmo,gH`bv@GN>SS~  `I}0""~= &M2K%+"FX4(F]@m(!"(QV[ Dы l%AH 4,P(k62fKbc)mr$hmj+ \ i d6  "qRY)i2cnguW5Ԕ%wWj%6EH ϶"Z#}\T ʧ;-Љ#遄)4]v w2#~ h/d {u1`S;?bzQhbkҐv]C{b8//d7;ABP Lӊ0祉Tq{B91:8%pdF'qQ3#c`s1gfG8S1TiX,ȇd:'!bQrkdC0JE)) WðU B:hO{CBay[{RjDU Q;{bS PAEUR/iX|a|:*)*lB_.b28 -y&Ekx6 ZC j BàEi4bU  ٪PCDR sz 'P"Q܋z:ƺT$" TTآJ֦&41"1`J`)+Q^DxMHa)o?$Dr4I-G kc2& v0[@:EEPq@B (TD ZHb(A $rщ.bE;O>u%^v KZ9ЬfZf(EAC%Ai5ʛQYUݷ[ZHfkvÔb`.B Q\`y" Bw^xࠟAᦌ @ @d>}+iB*S<% VQKJde|DmJ wª!$Sb$=홻n\z ç˓44f X&e[0A5,NS e{I{@)K*1֌rtvvϢѢi"ۺa3Ɩ$ % @JAGE !@;t (!u6"A }r7C:uD᪞H}.owIUݳ!>%\5#9ISf)Ě B(&ۊ!ޜa@thdoqE>krM\;v6P~[MT- 0K]be*D)vR֕dj$XDam)m hҊ)@JѲZ ,lmKhLGEASyTS$rs9 q",+3x4O \  A)eJa*!A,.o һO:aI $΁@3C*Ķh|j3g HA3@EͫbPh&S,E4-&E(@)5bB"0 H@HVLlemrܤJڪf6KM+IjjB%2c[)c-cldJ1%)Rҥ+&%T%LmJRZeэKRmSJL6-gn)h$lf%5*@Qfڳ+m-)Tk mJ5̘ R3%]5q TFѭ%TEѭ6cZ-&5jjP)6̱Zѵ]U"ZE’ iJ DA(hyDJ T=UCBՈ1AӢ;"rXA2# bHBANlCrXH LuBZ)S=%Q9ftiA iKJM$zҭ|J(+MURa$(SL`QTK6IiZ&":v;B:C0D!M{eO=GH2MeYP$e$)?C>P{0ȉ}mw ĀJX Eڃ ƥFŋepnL(h+V@#?|*) }4A P)@&C&I7  rI9-$:FfYOа;7EC71Xz,}>Ms1`\2Nra( c<a>'0K $QA H%bi RZ#qؔNHn3UC%_w:tDP9#Oʍp (F$%Oֆ+ '{Âs4=̅P0YiM*o[’(={R 9rèdwG!Fqn Mߩ%;9+FKݺQyHNlB5xY" dCɑ0A94(hAt\Enp D=sU|PhB4)')4 41F1Nx5-g(RhD0]ٮ侱ǹxH9䜏B/)" L70C]6=@{!OQO`QT>MT{G#r1кbU($(|8dS%4UZeEk3{ uTu7bྖ#lWtQMT |fRyQژcdΫWa>:p%VnoD3q^qf]_P;D4 J{$bS c[)~@u`0VG^I6أ{лth Np5ǨCaCAw&ଊ5#@ "vaF8!A`BہHOaq3 ?N"ڂ퀯4 #@G2x pOA$Sf) *d\6ەvZh֙4˧555tͱV۫IHL5 ,d "  KH0(+mmnIMUj"c*rXT? _~l0S>F1P&q9}@`q̱* C- FGʔ8_}uܽ XXmV&SNxfvRͬۚRbigј6LlZf6Ebk#J0ʋ]2gC v%~>K}amnz2I64?>*1m9+X""#;;HuJJJP,ҵQm;u@x҅PE*!CIQ;ߣ"@pBNp,!Ri jZPH$%N[>1HA74?l  ]I"H/IG @:pND`을T%P4BZa8n:B7f`Y@H 8<l!{0r SM iP R!`@K!"T8!$!2=r ;"qvyQ'!۵C_F$Od* 0J*_`Dy!GBQID_%PGMqHz23c)Hvˤ&@PIvP@9U@լwƘl9S'SFp'`+,(X )Hķcj":NOT}D<yhmg>7v NCE .Agq7θ@D(\:TpN(LU(1"R(lnunEU.l !d8HRCK8`` Y)zec2ޣ<"G~ihy!xTܸSR 23H) JHE4JCI,"SJXҦR@!>RÙADCp`8ۗs]ϒ8yp|.{20)'3)u+nfSu4M1 4lwn@>rd$ Z`L460L5D9d΀ ` u~CiH!NFQv9jNQx28'ӲUu:\3Vq-ڮd:$R 86n *_jgAYAC,VC8+qwCpwTrcTǭ]D (h ZWMDi*KREY#m6;d$CYQ1W*RvIުr2eJ 1]hAn$w`hdĄFj.-}!) ҃a  h*U;ű#aƒ* 4u$d+H0D""BD@ 9|;ALQg0zKEws {vCe<YṗOɥJ ds XRf%J) $$!2a;NJyPw J],H#:,Kݚ# 5M' 1TkB uZS34"'almFuíT|3q렀a%>IP@UI?NKN<:$#!)ꡱ?,)n}vjy}k`{a8 a0N&ǨhܔchTMd"/ )ڷή60P[& 8&͓$0c%BU+,3-{R.50Da.ɧ9B[zl]J s5p8WBS$/ BQP0aP:R@T"1*/ t#$ J@(K$zgIt&p"${f1v*aω>@<91C`1z{L?:]K E҄FG |TpwCpQ;49{kBg//&QI8 HLKUC(mx Ya9FUtwX^J!J?tE$% , i2URmk+AOzS|G?/:'a~?{ZfjŐRj atAܶ*%;auTBʠQrՉ4BCY&,w%NHrB 0:c$v7! `t`֤ 'lrVs pye1ʎcŒ jΔ"jn(̔TNFA\Om dFpd! lcP5,Q=욒AEH ,H>thF5$ L*JDCh&)T3Ѕ8):f5~O?!!J4߷C56 ay"8w b7j"E5?WS_v -,?{a8'.5BPvq11* 0<*wnsCX)j#(M rݩs^˪(:mҺHa ! mJ H4(STID6pC f߈@6uT 8bv!;`䔆AH"s`d~‚,,jǪ̏) 3YRKk˷6OSFȥSedqunfIJ˱\4#6IĭL FBk hnf 8mH@zu~eWaC >b}lE Baˌt#/e:͗%(f 3$f]"X`X󪜌eTL99|*([c1زY1c1cEFh(i\S#@b9'Dz#DSXM|uw8~!킇$$ 1 |O18} (EY3zz|W?b{3/vHf-PHshIW(JIG7j$)3|;@XhhRXI*"9"0Cg@P"G'X@(n~nv N$b`Dzg ia@CB뀜]I+: '@@َ͈(bF$ϩ(j4Vr.sFѮ:)û-Cl+-eEVҲ48*4( R6l & @"i@D , (c ILQ2DM#llTI"Sh$C4LbHImbjM&3$ "#`bړVlT4٘XC))LI)36Zb3QQIFe! (cb %KQmQ&DiM#LRk26hFh+d6"DC$ 3$c%i Z hPMKlbFfK@>eE#Pd>XQ8g}]O(_|tp>Z^"hh&J-P 5BLGD=@D/m%9&#1aM6i0ad^N k BMN7P[TdG) @rGe D:%*:E%pg X̃5>C1B[\]9eHT0lK9 d08)jw2 - )#Wu-fF)D';$([PG9ИYӶhF8'1I2|4cE34Hjvr;((w1 <,2iLP(7Cy<=$2Rx#h4&&bhӞ G)(ZC A bС^.uC` bG@}9H }B-K@ɕha|$1y"tڙW% I-,Gl2M#mRgv5TJ8CI~2*epgP.3(DvnB$ 1h٥,Ƚ* JR]QG$ N$LAli-FZ6)2F$"Qm%b#!q̩ 2)y4(#H(A( #@խZ+cj- UFm^KvcY\JP$ 4@"0 `HqQ Cp {f2 bpa0 Y* ٕ;XWmB!(i(x!m4P482%{AJjM"4i*RKuܣWrɒTIe!胹EC"gxyPgXbhqz>y) G@nh@;?,c 11$t>2R/ 3%R'Phj%ydd\% &*'c!t$.«Q=%Ӵ|TrBeK.4*}҉P%t`F-:.`(=^yoo]@)*L*$B Թ:'xb bm i4`JqO pNȪ(܌KSӈdyet90r4g,A^W5e#h|[<_ ^TN$'F*dW{5EPU_gбADJv?&@ 9B(DPG2S!"h4&KUZ,mJT?rhF*c$=}E8F-@QF&ե+J]ܱ@#`TRZAAz,F aJū^nb[z襐AL@6 g=wmwp[j%"m3cbkf(JKe2AKAsKl r1-0EhR  NzO\ZZή QM(}^~Y'/L<`6-@y*?hw4* ?>lz%4Dmclv󉥤`yc)ISeZe$+!bP0J%LL(cD0LRRTA#1 A 5+CpyBASf\.TtN *M)A2Ihs4ݩP<%qL%2\!(()ؓ!DE-.M'~b<0QL)E(8J'Gg7=CP~{@'! @P@R!0H8JYbNi|xoӂtp70Ȱ'BD{t@(y?rp!O+*m'ږ.%۹C1;2 jŤE-*JmgpYwCC|^C K{EM|hP ԢmL*ҵJѴY 2( (@)@-+T ,N_ E@xB?}ӽ@& o0!bB*&M$К3Q"Bھ^1H~lsXK]vd/6f$4 Sevӝߝջ#I[0s )BQ1IHQEIDfIjuZM GcNXDg((q!ADwiRmZE>P;=lsv'DDgK&Ja(1:J#%(XgVdI2T4M'5F*(v5d,cFe'|; !"!6!ؠ=؝ EhLp (QbMfJ^b7I u+C ,"`雫Xh0:(C&t2aGlLByTp]c;~:Ga/*h8;&Pc'E P锋" Z&D)0j[D4wH ? Ђi ;x+|iJUa&4 *H >x^!hdBDTBA)$)]ǁK04 A%" RL?_dR $VWC1U#*Nlq]0e>ez |:ɥEK5$d٨!)Pdb"T9n1` "@{v6* B,2a'D Jʄ$0Ђh ?18RG&aPC HEO ώdc-Ƽ Ғ1S "5Mq$M |]t <;GK ',F Is2X8?GxgK3ִȂ`K-=VjNQU޾<]ju,Z!S/OV4ݵ:rLu #5C8r _R ERPuw' u"A$CxoէY99<"4Ht0ky#~CdtQ$@+lE7}WTe%MbB5u}~껜?,4vY;mNR/|@Sd(eC r $;ń7؟,C# }觴DT_y?A/!q@HlZkoW_7ފ)# !b*"B,xgI @.m",!:=nu(;!Kg0i lȘ!)iFCv 8I  - :-N̥ܻˢLvtSe%]aa)Iײ" |D4HxcڇU8 J3#hبJ4@I$cvh6Κ@ě@ >'j69ݧٌHx2Y-IlfnnnсT@!V!<"}.x 吽e)ρy| `{_It;H :ܩL^ƯER[Zw5T4w&QcQ9 棃0OPjr=J@(H(#pA,^PR4 %N $4荥H<1Oz`R B\t :\AKO`VSZ&Q\C* ,nY4;wy߮Dj=&(6 v=Cdcz5d$M04POBbrJp*օ BP# QaF 0$LQ J&H}JB4$4iPEve6{b a2-7H$V*)K*ZFY]k  T9A-42@蒔v6RuDR&xFNA 9"0< 4UN P0X% T8Ls1b prs ۹KJR뻮bhUVWdiD5fIp4Y\\!D9 (E /!DQR4R^bcČO/#/r"u{C(1b)1Fѳb+E-16d )"@Hhdd1D'Lԏg@i6Yxf=6fB>t+ 𐷢ۓWilݘij{w|M0PW,E)zd$ljȖD#(4cecF 0Q!Z9r4ҹ=)f++j[=l" |bJ:?khʴ@t@b-HIp}YCp!eBeC`|.{ηGc*]jY&Z':o0kH#'f?E ٰ,k(k; sgl{&ڄq ] iA}61Ye&%-80! 2__uصQsz61QYwCPBGmFV.O_=J3G9X5M3WLZ'S R_z꽙&:uF:%)M`poEA3>v3M>(t1X\ҤćݕC$wVܤ.qPAXP ߑ+m}tuf`FwIʻvrr"2jl2; 2xt]`^?+|6V( Zu[zkWދ]QzJ^©6"e 9jA΅ӑ֋xh}a-bS~@}@Twβd|\tWplaURޗgH43rEJ]7˔:dt Z T59^ TeUwjTGzLy[!gIY L Ev0;/d2rFӪQaNS#u\]͞"[S M|t jU1"ϽGE2E?L,ѹ+x9* N!qiizCL _zh*V J&`ݴ@I q\yϵfHٱ)^BK7p10ڶa$ |!An-gYѭG/_M`y~ SSשO*ubomY&թ4W6Pms: tv akVڵ ^{٦59̼,ԓA8Y|x>oUUӔŒ ""ߟ zt᭬T,E*T*RUYKZPGm) `9uS=t'Q JUg(ܑr̼fW~fg5L\Eps1䧞ovK,TgxyK. A! g'UibBE6#BYMM Y-/Y܋)ܹPrtT@eWת7z",F V:lωGNߝJQQ5 DC5ōliRf]D#R`Wk\-Z ]24YFTfKR+rCֹw20GFmydo553);s9ԞFm7kGأi=yd!]dKNTwC@ oҎ\ DBp~>/8{qemzA9В%#{bXY+iT[<25_| 9[ d HӍOlhVX4CdBm kC,"}bϗo1c"("wUJ0Ä %r@.7>ڪvZyk]M̖WwNe764TiO8)UX/AH.iRFI,a3C=ƍOGTTpkur8owiJ)yӓũ&2`N\*wxO(*aeH31pcFCeLk :_#kML6BD\$UR؍-%q%_a t_ 1q$$: -(;1l-voYoB~Ņt9Ħۓ.ip†;KXa{ؚnX,LQ46ݕ|PȢc[: I `X0,L 5z`Kĩzl$+ci]9QՉ0fd`pkuN=D@mM]vjz!q{9@uUb0aԽ3c| G}É7$N҅dɸb1.KRQGnuRŸj~Xрw TC  C `{eU@='Y9ِDJ^d9['D^t (IPjd*g\gюc/(üx)˾U^vi<-,A1(@ADDu4 &@v MNQj1b^ &쀻Y}!DzKOs,&ZbhR36mc / gypS|| _Lj( NȒa[¹ß) cac4Ci_AHhk10}D$nMNSil \j-"0,! nyN=ZRir :4 paAL)>b<@S{L4#HD("畂f#EhbisNt'B;8q9l\`0bG%kb3Ct5x %%ZT Q@.~{g΢]!| ?0*#I*h0JdAD!nX1/Y31b%)2B̨b@ f AE ިəJ &bPO- 5M4IFQԐFAE(d H,nZ-K%.7;viX@`hd a (cHb+9igĜl`& @Tҡa %e V(!S%ΧU-kK$8sy>_E^$yVJiBiTf(GF/ED89ҢpvKU1%`ڀj\CQ-Kb50 @EvHSgMe(C؉G*9s!=0|~n3"GĚ '#~چN.$%`N.틴wZXxwZ(?$FXh0 ̖jۣX1;FJ]Ñ57كK5A:x x>oѥ^yi7KLlh~H>_8uM=ma'xuAL֮K7qj=Hӄ *3}h #EQ-ZmG7kW,Ce1MCm+( JN (ƎSrFK1} vv_ɔ{x' kdZ=ALbT;MG{;Hdx)Tm򵩗[h^2=__ öÔl:`4r|꠼/fw2r ThCDMٶ+M| 0A3Ot C=ꎒ!yFh*7 ^mclIEZ \LǶ8(NEX٤=4QDۺ0hP#CiIR]FHkwaЍK:b*ҥ Y N:CDISJ浤^.֛6|rõjJ0 nV"D<ֺ׽jr봽+6 hmκW]Cot:E$[g ;V4R3ѫ14o 0գ4Ӻ#}&k 9٣'EL+yMmȘB@oj ܿLU5II ВLpz4o,LqgRJc)̓Wf-B-UKR&1E{dv]tXm@V taeLU\eiO'E!0Z JXT/Z!@:QǗGjPn R(QE4m篯z45Su(F0嵢4e*f9]R//CZGkyvBpЂrlL"ZIeu״ZR((qB dLeefX 7d7pak\wC ( Yf5S-PXqf,UYFT{VuΆYGECG 0өZsoXYA@rep:37WGO]/*MT5ko}Y)dnsnb>RZHVPyG44GpoLTtXaeWjydm ˵6iĥ]I4Fu^-֗VJ"QLITBfZ !z{ B[Mob\]Uי/YmBfOe# Bz J 49uo;{pi~zM)I\@Vy!qUx1֪Ȟ/ȳd7Mhpm>U 5$e 6'#T988kN8' C`g7"!;1dW}fXK%N¥oNhf3[Wxb6ЂJ*D<=:?Ȓ"-J*շu٦$BXԱJZAf-c\xp,C  ֊({ nꕧ)sYn8W1e:ho6iLGbղ0l*}Ѣ6Uu5-.ceۅ 6MSN]J)D MF,דI[(yqp1?!S }HbCO40CS%:H0L7#tlgLLi|#Io^8Vt0H)1IyhKmLl!A.)y$R"$P2ADQ_!nh @avctLɥ :m *A(L}q G$`,'xr !n `ZJAK)B6eyּ(ߏ",,jO`A Va$$(V)]އ{|S+{BEVH@f/6H (=`*w=yb"P:HPR/RqO5 z;IE Jz=bC-DH)S4АdZWګ[뛬1GaCr@8ŽFnٔVK6eKszkIt]a,gWbBo9-V6)l" 7NR 30$-!UurB";M4#YuG1ʏwyKKKKD4Ш)mbeLcI"<%;R`$ m BBa+ v62ҠQ!H$ X]M0PDHAd&آs7&64S@WɃ֪`(HF99jv61S)kUDZSfEA*.+ns3hb P)VmI(@4u@rJp/jݲM)h[scZ"!mSAQ;܁ТDuDX1M 9;kYU2 (Zh(P63I (pdV[MǴ#u)n.E[}on̚"DkM|R* l LAE*JTNqAP&l@R&bE߂Gi/fY5+!CNb )(Z"Z/ﶼ0 "7 1`NIw^da&m& Gћ!8PQzH9,̇\0M )d  D0!`%d5d6[rE1Q)Q""ʥ)V@9(%+ ~%bpSID4%G%]Rh#ʌZr@ rwwB2QrSW$f.Jdf BA? H/|#LHJ}@ 6H/$$2 :F'i8bw›fΐ%L֊`h`R)}QZLxUUL1'\BPoyB"}{m_e3S-jZ#K#J+`G z P@ M @ K!pUOi(F#bW<>*=Gi!_bu¯+GMm ?kzJStǺ !C6SB$KrCd]5BffiZ>#$Ix-9box(@H[h*)ˊf_&V$C"#LaU5-zx -+1 -A20IقH`XP@ Y$ 0 (9BDkA@+*[j m47c!!&(%P6F0,&I!b \iIDdwKnvU@TniYr%`Zhc"C'B>CCC'߷p`Q1hc BMcHq&۾K/#~? ]6T ɫFR(P "(R[bЍ%ġE U-BQi*(H4lU9}+Pxt4=&Pؠ:!չq M/.j(=$=ϷA`&2=EKF”D,H an ^p))~x5F̊0X(?a$+Bu!C@pA H#L6 cX[cEh5Q$**$M 1"Ŕ665iB1 Bo`(DDsøv}R}O}3K(妱7T1qrC+m$Uf<t#50f3Kh,3$r镥UrJFFag 8;Ca;(,)HPK{q2 \'qL5F-e0{a5 # Mo)QpQi$=ʟ)$%!N A2e3DE,s@n+"`3G%lytv_O*Ckb]1Zsy+%6 Y )DkЁU}j$@$E Ą}9+"b_B|'Q49t@AjlV*n}P?;s܊XMSvkbB48J<|:W+PbUN]:Y 'vwgu@)HRޯt<<ac 16Й*k FHuՐZp#"Y=>L=QUTYb2đbcG81(Fi`C‘#} O0n) H{aT0j "Bhh_3m"4\_nd\O.ZG{{zev1@7f\u lrxFb;_V) Qc}&]YYuo[6Xi\h69SE&q8&v5"^{i tEQ~oFNܱSԿsiikAٸ2c4 " yc* Zޛv=s>eÇ,(?ff4cB$\$.>=ᦜ3kyÅyD"!me[+Ff:֏,>gŪHzVkRŦ'oYYVzz8Q/Ye@;m S6GD)ۢ%viuWjdf1nWd`D4k2|[} |5ϖXDt~ Q[L0jo\4OR[QK 2Fǹo(E39^ADIuG^U4G: YA=idR3&35d,E;[TG)}uJGV.';j66C1RlȩU dIm͑3)԰4mzڈR)@DH^(yL2:!ޥdDbV=u R%"@Z HiCS%" &|^\iPWTXXj5QRZJX$$ ?*RIIU&!5hUB3$%6l"Y #T,eH65ؕfٌD6XjH֍3Ie%`A-ɲkT-F(i%$"!tQJQZ d+$LDBRA#A 4za0k:Y#Huc~091; 4кƆ;TA4j, 6[ePPX5`'vYwPg+`}zRC%%XDmW.mu6*I*jLƊf4ڱUڤjD4|%J( ^6-MWF"RTdI)Kx_}!0{߂u%p@E*N w'(+$k:.`3 PA%(0  `&`s0 R`has0 )=ORzi M*;B3$JBL'Y?::zA}BOD?ۓߏ0Ǒ\#f̙vKNyb`0D %쳰ΈܹvacvN$NK(wJȭb(k49:.Ҥ8j\/,Dn3-3Zcc HsN>OPjSX®UV!eU+~ꁸbLDJo. & 4׿u m']y T E) P" H8ϸöiZc;L6ϸ ?8YF%S Uf0Q@iwP7;ڵ)RI#.0. at;A;F,(H]ђ ~XfC y0| 8J1DmU314#Cy"#@c?“@ >ƧQc?7A.0R+Fpc/uбxft!#8GAU 3cbf[#?FFF`U 0P9 %*Bԩe fJ.,K 7c:hwldLCaHxnbS]9E(C$iBq$0LM [ZkrNH"aG*#-q`͝sveh=h*s%0r# *,ܘ& k'Y`v`8\K,NimX (1lzs;s>;QX#=Ul:1}F1R4QM8a64Wn}ŻʖLX6 7}afTG[CcHM19.fV^`Z,yv6y](z32 sB;5{ 6! Z ^hPXD4Ԝ543B$9vd' 4$Th]R {І X(S렭`x,F/4i4F&0j7AWj9:^~S{'n`PRgAڬ׏PaCt1d,W2E + RHpC#QމfnX2١8~JSI(P]`K%"]A2k1{CM9hr!N "1/}XҜL!he$.\[;!05: |"C, ,/i-H]]`Y6a*[k رsa sb+;b&+jM2?Hccvhؿ%,_ #tQ1s0.y<΂Tm11އ"wps RIכ{~QAd(@ "(HB